Skip to content

Instantly share code, notes, and snippets.

@psramkumar
Created September 7, 2013 09:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save psramkumar/6474102 to your computer and use it in GitHub Desktop.
Save psramkumar/6474102 to your computer and use it in GitHub Desktop.
This gist exceeds the recommended number of files (~10). To access all files, please clone this gist.
.DS_Store
.swp
application/cache
application/logs
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| AUTO-LOADER
| -------------------------------------------------------------------
| This file specifies which systems should be loaded by default.
|
| In order to keep the framework as light-weight as possible only the
| absolute minimal resources are loaded by default. For example,
| the database is not connected to automatically since no assumption
| is made regarding whether you intend to use it. This file lets
| you globally define which systems you would like loaded with every
| request.
|
| -------------------------------------------------------------------
| Instructions
| -------------------------------------------------------------------
|
| These are the things you can load automatically:
|
| 1. Packages
| 2. Libraries
| 3. Helper files
| 4. Custom config files
| 5. Language files
| 6. Models
|
*/
/*
| -------------------------------------------------------------------
| Auto-load Packges
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
|
*/
$autoload['packages'] = array();
/*
| -------------------------------------------------------------------
| Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
$autoload['libraries'] = array('');
/*
| -------------------------------------------------------------------
| Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('url');
/*
| -------------------------------------------------------------------
| Auto-load Config files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['config'] = array('config1', 'config2');
|
| NOTE: This item is intended for use ONLY if you have created custom
| config files. Otherwise, leave it blank.
|
*/
$autoload['config'] = array();
/*
| -------------------------------------------------------------------
| Auto-load Language files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['language'] = array('lang1', 'lang2');
|
| NOTE: Do not include the "_lang" part of your file. For example
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
*/
$autoload['language'] = array();
/*
| -------------------------------------------------------------------
| Auto-load Models
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['model'] = array('model1', 'model2');
|
*/
$autoload['model'] = array();
/* End of file autoload.php */
/* Location: ./application/config/autoload.php */
<?php
/**
* The Amazon Web Services Key
*/
$config['aws_key'] = '';
/**
* The Amazon Secret Key
*/
$config['aws_secret'] = '';
?>
<?php
/*
* The Cloudfile username.
*/
$config['cf_user'] = '';
/*
* The API Key associated to the account.
*/
$config['cf_api_key'] = '';
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
| http://example.com/
|
| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
|
*/
$config['base_url'] = '';
/*
|--------------------------------------------------------------------------
| Content Delivery Network URL
|--------------------------------------------------------------------------
|
| Loading content like .js, .png, .css files on a CDN is much better.
| This allows you to support CDNs.
|
| http://example.com/
|
| Use the normal base_url() function and upload your /assets and /content
| to the CDN.
|
*/
$config['cdn_url'] = '';
/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = 'index.php';
/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string. The default setting of 'AUTO' works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'AUTO' Default - auto detects
| 'PATH_INFO' Uses the PATH_INFO
| 'QUERY_STRING' Uses the QUERY_STRING
| 'REQUEST_URI' Uses the REQUEST_URI
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'AUTO';
/*
|--------------------------------------------------------------------------
| URL suffix
|--------------------------------------------------------------------------
|
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
| For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/urls.html
*/
$config['url_suffix'] = '';
/*
|--------------------------------------------------------------------------
| Default Language
|--------------------------------------------------------------------------
|
| This determines which set of language files should be used. Make sure
| there is an available translation if you intend to use something other
| than english.
|
*/
$config['language'] = 'english';
/*
|--------------------------------------------------------------------------
| Default Character Set
|--------------------------------------------------------------------------
|
| This determines which character set is used by default in various methods
| that require a character set to be provided.
|
*/
$config['charset'] = 'UTF-8';
/*
|--------------------------------------------------------------------------
| Enable/Disable System Hooks
|--------------------------------------------------------------------------
|
| If you would like to use the 'hooks' feature you must enable it by
| setting this variable to TRUE (boolean). See the user guide for details.
|
*/
$config['enable_hooks'] = FALSE;
/*
|--------------------------------------------------------------------------
| Class Extension Prefix
|--------------------------------------------------------------------------
|
| This item allows you to set the filename/classname prefix when extending
| native libraries. For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/core_classes.html
| http://codeigniter.com/user_guide/general/creating_libraries.html
|
*/
$config['subclass_prefix'] = 'MY_';
/*
|--------------------------------------------------------------------------
| Allowed URL Characters
|--------------------------------------------------------------------------
|
| This lets you specify with a regular expression which characters are permitted
| within your URLs. When someone tries to submit a URL with disallowed
| characters they will get a warning message.
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_-
|
| Leave blank to allow all characters -- but only if you are insane.
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
/*
|--------------------------------------------------------------------------
| Enable Query Strings
|--------------------------------------------------------------------------
|
| By default CodeIgniter uses search-engine friendly segment based URLs:
| example.com/who/what/where/
|
| By default CodeIgniter enables access to the $_GET array. If for some
| reason you would like to disable it, set 'allow_get_array' to FALSE.
|
| You can optionally enable standard query string based URLs:
| example.com?who=me&what=something&where=here
|
| Options are: TRUE or FALSE (boolean)
|
| The other items let you set the query string 'words' that will
| invoke your controllers and its functions:
| example.com/index.php?c=controller&m=function
|
| Please note that some of the helpers won't work as expected when
| this feature is enabled, since CodeIgniter is designed primarily to
| use segment based URLs.
|
*/
$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd'; // experimental not currently in use
/*
|--------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------
|
| If you have enabled error logging, you can set an error threshold to
| determine what gets logged. Threshold options are:
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
| 0 = Disables logging, Error logging TURNED OFF
| 1 = Error Messages (including PHP errors)
| 2 = Debug Messages
| 3 = Informational Messages
| 4 = All Messages
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;
/*
|--------------------------------------------------------------------------
| Error Logging Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/logs/ folder. Use a full server path with trailing slash.
|
*/
$config['log_path'] = '';
/*
|--------------------------------------------------------------------------
| Date Format for Logs
|--------------------------------------------------------------------------
|
| Each item that is logged has an associated date. You can use PHP date
| codes to set your own date formatting
|
*/
$config['log_date_format'] = 'Y-m-d H:i:s';
/*
|--------------------------------------------------------------------------
| Cache Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| system/cache/ folder. Use a full server path with trailing slash.
|
*/
$config['cache_path'] = '';
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| If you use the Encryption class or the Session class you
| MUST set an encryption key. See the user guide for info.
|
*/
$config['encryption_key'] = '';
/*
|--------------------------------------------------------------------------
| Session Variables
|--------------------------------------------------------------------------
|
| 'sess_cookie_name' = the name you want for the cookie
| 'sess_expiration' = the number of SECONDS you want the session to last.
| by default sessions last 7200 seconds (two hours). Set to zero for no expiration.
| 'sess_expire_on_close' = Whether to cause the session to expire automatically
| when the browser window is closed
| 'sess_encrypt_cookie' = Whether to encrypt the cookie
| 'sess_use_database' = Whether to save the session data to a database
| 'sess_table_name' = The name of the session database table
| 'sess_match_ip' = Whether to match the user's IP address when reading the session data
| 'sess_match_useragent' = Whether to match the User Agent when reading the session data
| 'sess_time_to_update' = how many seconds between CI refreshing Session Information
|
*/
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
/*
|--------------------------------------------------------------------------
| Cookie Related Variables
|--------------------------------------------------------------------------
|
| 'cookie_prefix' = Set a prefix if you need to avoid collisions
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
| 'cookie_path' = Typically will be a forward slash
| 'cookie_secure' = Cookies will only be set if a secure HTTPS connection exists.
|
*/
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;
/*
|--------------------------------------------------------------------------
| Global XSS Filtering
|--------------------------------------------------------------------------
|
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
*/
$config['global_xss_filtering'] = FALSE;
/*
|--------------------------------------------------------------------------
| Cross Site Request Forgery
|--------------------------------------------------------------------------
| Enables a CSRF cookie token to be set. When set to TRUE, token will be
| checked on a submitted form. If you are accepting user data, it is strongly
| recommended CSRF protection be enabled.
|
| 'csrf_token_name' = The token name
| 'csrf_cookie_name' = The cookie name
| 'csrf_expire' = The number in seconds the token should expire.
*/
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
/*
|--------------------------------------------------------------------------
| Output Compression
|--------------------------------------------------------------------------
|
| Enables Gzip output compression for faster page loads. When enabled,
| the output class will test whether your server supports Gzip.
| Even if it does, however, not all browsers support compression
| so enable only if you are reasonably sure your visitors can handle it.
|
| VERY IMPORTANT: If you are getting a blank page when compression is enabled it
| means you are prematurely outputting something to your browser. It could
| even be a line of whitespace at the end of one of your scripts. For
| compression to work, nothing can be sent before the output buffer is called
| by the output class. Do not 'echo' any values with compression enabled.
|
*/
$config['compress_output'] = FALSE;
/*
|--------------------------------------------------------------------------
| Master Time Reference
|--------------------------------------------------------------------------
|
| Options are 'local' or 'gmt'. This pref tells the system whether to use
| your server's local time as the master 'now' reference, or convert it to
| GMT. See the 'date helper' page of the user guide for information
| regarding date handling.
|
*/
$config['time_reference'] = 'local';
/*
|--------------------------------------------------------------------------
| Rewrite PHP Short Tags
|--------------------------------------------------------------------------
|
| If your PHP installation does not have short tag support enabled CI
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
| in your view files. Options are TRUE or FALSE (boolean)
|
*/
$config['rewrite_short_tags'] = FALSE;
/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
|--------------------------------------------------------------------------
|
| If your server is behind a reverse proxy, you must whitelist the proxy IP
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
| header in order to properly identify the visitor's IP address.
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
|
*/
$config['proxy_ips'] = '';
/*
| -------------------------------------------------------------------
| Native Auto-load
| -------------------------------------------------------------------
|
| Nothing to do with config/autoload.php, this allows PHP autoload to work
| for base controllers and some third-party libraries.
|
*/
function __autoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . EXT );
}
}
/* End of file config.php */
/* Location: ./application/config/config.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| File and Directory Modes
|--------------------------------------------------------------------------
|
| These prefs are used when checking and setting modes when working
| with the file system. The defaults are fine on servers with proper
| security, but you may wish (or even need) to change the values in
| certain environments (Apache running a separate process for each
| user, PHP under CGI with Apache suEXEC, etc.). Octal values should
| always be used to set the mode correctly.
|
*/
define('FILE_READ_MODE', 0644);
define('FILE_WRITE_MODE', 0666);
define('DIR_READ_MODE', 0755);
define('DIR_WRITE_MODE', 0777);
/*
|--------------------------------------------------------------------------
| File Stream Modes
|--------------------------------------------------------------------------
|
| These modes are used when working with fopen()/popen()
|
*/
define('FOPEN_READ', 'rb');
define('FOPEN_READ_WRITE', 'r+b');
define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
define('FOPEN_WRITE_CREATE', 'ab');
define('FOPEN_READ_WRITE_CREATE', 'a+b');
define('FOPEN_WRITE_CREATE_STRICT', 'xb');
define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
/* End of file constants.php */
/* Location: ./application/config/constants.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database type. ie: mysql. Currently supported:
mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Active Record class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['autoinit'] Whether or not to automatically initialize the database.
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $active_record variables lets you determine whether or not to load
| the active record class
*/
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'test';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = 'ci_';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
/* End of file database.php */
/* Location: ./application/config/database.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$_doctypes = array(
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
'html5' => '<!DOCTYPE html>',
'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'
);
/* End of file doctypes.php */
/* Location: ./application/config/doctypes.php */
<?php
/*
* What protocol to use?
* mail, sendmail, smtp
*/
$config['protocol'] = 'mail';
/*
* SMTP server address and port
*/
$config['smtp_host'] = '';
$config['smtp_port'] = '';
/*
* SMTP username and password.
*/
$config['smtp_user'] = '';
$config['smtp_pass'] = '';
/*
* Heroku Sendgrid information.
*/
/*
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.sendgrid.net';
$config['smtp_port'] = 587;
$config['smtp_user'] = $_SERVER['SENDGRID_USERNAME'];
$config['smtp_pass'] = $_SERVER['SENDGRID_PASSWORD'];
*/
<?php
/**
* The Facebook application ID that you used
*/
$config['fb_appid'] = '';
/**
* The secret key associated to that application ID
*/
$config['fb_secret'] = '';
?>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| Foreign Characters
| -------------------------------------------------------------------
| This file contains an array of foreign characters for transliteration
| conversion used by the Text helper
|
*/
$foreign_characters = array(
'/ä|æ|ǽ/' => 'ae',
'/ö|œ/' => 'oe',
'/ü/' => 'ue',
'/Ä/' => 'Ae',
'/Ü/' => 'Ue',
'/Ö/' => 'Oe',
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
'/ç|ć|ĉ|ċ|č/' => 'c',
'/Ð|Ď|Đ/' => 'D',
'/ð|ď|đ/' => 'd',
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
'/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
'/Ĝ|Ğ|Ġ|Ģ/' => 'G',
'/ĝ|ğ|ġ|ģ/' => 'g',
'/Ĥ|Ħ/' => 'H',
'/ĥ|ħ/' => 'h',
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I',
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i',
'/Ĵ/' => 'J',
'/ĵ/' => 'j',
'/Ķ/' => 'K',
'/ķ/' => 'k',
'/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
'/ĺ|ļ|ľ|ŀ|ł/' => 'l',
'/Ñ|Ń|Ņ|Ň/' => 'N',
'/ñ|ń|ņ|ň|ʼn/' => 'n',
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
'/Ŕ|Ŗ|Ř/' => 'R',
'/ŕ|ŗ|ř/' => 'r',
'/Ś|Ŝ|Ş|Š/' => 'S',
'/ś|ŝ|ş|š|ſ/' => 's',
'/Ţ|Ť|Ŧ/' => 'T',
'/ţ|ť|ŧ/' => 't',
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
'/Ý|Ÿ|Ŷ/' => 'Y',
'/ý|ÿ|ŷ/' => 'y',
'/Ŵ/' => 'W',
'/ŵ/' => 'w',
'/Ź|Ż|Ž/' => 'Z',
'/ź|ż|ž/' => 'z',
'/Æ|Ǽ/' => 'AE',
'/ß/'=> 'ss',
'/IJ/' => 'IJ',
'/ij/' => 'ij',
'/Œ/' => 'OE',
'/ƒ/' => 'f'
);
/* End of file foreign_chars.php */
/* Location: ./application/config/foreign_chars.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Hooks
| -------------------------------------------------------------------------
| This file lets you define "hooks" to extend CI without hacking the core
| files. Please see the user guide for info:
|
| http://codeigniter.com/user_guide/general/hooks.html
|
*/
/* End of file hooks.php */
/* Location: ./application/config/hooks.php */
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Enable/Disable Migrations
|--------------------------------------------------------------------------
|
| Migrations are disabled by default but should be enabled
| whenever you intend to do a schema migration.
|
*/
$config['migration_enabled'] = FALSE;
/*
|--------------------------------------------------------------------------
| Migrations version
|--------------------------------------------------------------------------
|
| This is used to set migration version that the file system should be on.
| If you run $this->migration->latest() this is the version that schema will
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 0;
/*
|--------------------------------------------------------------------------
| Migrations Path
|--------------------------------------------------------------------------
|
| Path to your migrations folder.
| Typically, it will be within your application path.
| Also, writing permission is required within the migrations path.
|
*/
$config['migration_path'] = APPPATH . 'migrations/';
/* End of file migration.php */
/* Location: ./application/config/migration.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| MIME TYPES
| -------------------------------------------------------------------
| This file contains an array of mime types. It is used by the
| Upload class to help identify allowed file types.
|
*/
$mimes = array( 'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
'bin' => 'application/macbinary',
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'exe' => array('application/octet-stream', 'application/x-msdownload'),
'class' => 'application/octet-stream',
'psd' => 'application/x-photoshop',
'so' => 'application/octet-stream',
'sea' => 'application/octet-stream',
'dll' => 'application/octet-stream',
'oda' => 'application/oda',
'pdf' => array('application/pdf', 'application/x-download'),
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'smi' => 'application/smil',
'smil' => 'application/smil',
'mif' => 'application/vnd.mif',
'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint'),
'wbxml' => 'application/wbxml',
'wmlc' => 'application/wmlc',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'dxr' => 'application/x-director',
'dvi' => 'application/x-dvi',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'php' => 'application/x-httpd-php',
'php4' => 'application/x-httpd-php',
'php3' => 'application/x-httpd-php',
'phtml' => 'application/x-httpd-php',
'phps' => 'application/x-httpd-php-source',
'js' => 'application/x-javascript',
'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit',
'tar' => 'application/x-tar',
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
'xhtml' => 'application/xhtml+xml',
'xht' => 'application/xhtml+xml',
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'rv' => 'video/vnd.rn-realvideo',
'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'),
'bmp' => array('image/bmp', 'image/x-windows-bmp'),
'gif' => 'image/gif',
'jpeg' => array('image/jpeg', 'image/pjpeg'),
'jpg' => array('image/jpeg', 'image/pjpeg'),
'jpe' => array('image/jpeg', 'image/pjpeg'),
'png' => array('image/png', 'image/x-png'),
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'css' => 'text/css',
'html' => 'text/html',
'htm' => 'text/html',
'shtml' => 'text/html',
'txt' => 'text/plain',
'text' => 'text/plain',
'log' => array('text/plain', 'text/x-log'),
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'xml' => 'text/xml',
'xsl' => 'text/xml',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'avi' => 'video/x-msvideo',
'movie' => 'video/x-sgi-movie',
'doc' => 'application/msword',
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
'word' => array('application/msword', 'application/octet-stream'),
'xl' => 'application/excel',
'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json')
);
/* End of file mimes.php */
/* Location: ./application/config/mimes.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/* -------------------------------------------------------------------
* EXPLANATION OF VARIABLES
* -------------------------------------------------------------------
*
* ['mongo_hostbase'] The hostname (and port number) of your mongod or mongos instances. Comma delimited list if connecting to a replica set.
* ['mongo_database'] The name of the database you want to connect to
* ['mongo_username'] The username used to connect to the database (if auth mode is enabled)
* ['mongo_password'] The password used to connect to the database (if auth mode is enabled)
* ['mongo_persist'] Persist the connection. Highly recommend you don't set to FALSE
* ['mongo_persist_key'] The persistant connection key
* ['mongo_replica_set'] If connecting to a replica set, the name of the set. FALSE if not.
* ['mongo_query_safety'] Safety level of write queries. "safe" = committed in memory, "fsync" = committed to harddisk
* ['mongo_suppress_connect_error'] If the driver can't connect by default it will throw an error which dislays the username and password used to connect. Set to TRUE to hide these details.
* ['mongo_host_db_flag'] If running in auth mode and the user does not have global read/write then set this to true
*/
$config['default']['mongo_hostbase'] = 'localhost:27017';
$config['default']['mongo_database'] = '';
$config['default']['mongo_username'] = '';
$config['default']['mongo_password'] = '';
$config['default']['mongo_persist'] = TRUE;
$config['default']['mongo_persist_key'] = 'ci_persist';
$config['default']['mongo_replica_set'] = FALSE;
$config['default']['mongo_query_safety'] = 'safe';
$config['default']['mongo_suppress_connect_error'] = TRUE;
$config['default']['mongo_host_db_flag'] = FALSE;
<?php
/*
* Enclosure markup.
* The tags which wrap the ENTIRE pagination.
*/
$config['full_tag_open'] = '<div class="pagination"><ul>';
$config['full_tag_close'] = '</ul></div>';
/*
* All other page number markup.
*/
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
/*
* The current "page" tag markup.
*/
$config['cur_tag_open'] = '<li class="active"><a>';
$config['cur_tag_close'] = '</a></li>';
/*
* The text for the next and last links.
*/
//$config['next_link'] = '&rarr;';
//$config['prev_link'] = '&larr;';
$config['next_link'] = false;
$config['prev_link'] = false;
/*
* The "First" and "Last" segments.
*/
$config['first_tag_open'] = $config['num_tag_open'];
$config['first_tag_close'] = $config['num_tag_close'];
$config['first_link'] = '&laquo;';
$config['last_tag_open'] = $config['num_tag_open'];
$config['last_tag_close'] = $config['num_tag_close'];
$config['last_link'] = '&raquo;';
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Profiler Sections
| -------------------------------------------------------------------------
| This file lets you determine whether or not various sections of Profiler
| data are displayed when the Profiler is enabled.
| Please see the user guide for info:
|
| http://codeigniter.com/user_guide/general/profiling.html
|
*/
/* End of file profiler.php */
/* Location: ./application/config/profiler.php */
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| REST Format
|--------------------------------------------------------------------------
|
| What format should the data be returned in by default?
|
| Default: xml
|
*/
$config['rest_default_format'] = 'xml';
/*
|--------------------------------------------------------------------------
| Enable emulate request
|--------------------------------------------------------------------------
|
| Should we enable emulation of the request (e.g. used in Mootools request)?
|
| Default: false
|
*/
$config['enable_emulate_request'] = TRUE;
/*
|--------------------------------------------------------------------------
| REST Realm
|--------------------------------------------------------------------------
|
| Name for the password protected REST API displayed on login dialogs
|
| E.g: My Secret REST API
|
*/
$config['rest_realm'] = 'REST API';
/*
|--------------------------------------------------------------------------
| REST Login
|--------------------------------------------------------------------------
|
| Is login required and if so, which type of login?
|
| '' = no login required, 'basic' = unsecure login, 'digest' = more secure login
|
*/
$config['rest_auth'] = false;
/*
|--------------------------------------------------------------------------
| Override auth types for specific class/method
|--------------------------------------------------------------------------
|
| Set specific authentication types for methods within a class (controller)
|
| Set as many config entries as needed. Any methods not set will use the default 'rest_auth' config value.
|
| example:
|
| $config['auth_override_class_method']['deals']['view'] = 'none';
| $config['auth_override_class_method']['deals']['insert'] = 'digest';
| $config['auth_override_class_method']['accounts']['user'] = 'basic';
|
| Here 'deals' and 'accounts' are controller names, 'view', 'insert' and 'user' are methods within. (NOTE: leave off the '_get' or '_post' from the end of the method name)
| Acceptable values are; 'none', 'digest' and 'basic'.
|
*/
// $config['auth_override_class_method']['deals']['view'] = 'none';
// $config['auth_override_class_method']['deals']['insert'] = 'digest';
// $config['auth_override_class_method']['accounts']['user'] = 'basic';
/*
|--------------------------------------------------------------------------
| REST Login usernames
|--------------------------------------------------------------------------
|
| Array of usernames and passwords for login
|
| array('admin' => '1234')
|
*/
$config['rest_valid_logins'] = array('admin' => '1234');
/*
|--------------------------------------------------------------------------
| Global IP Whitelisting
|--------------------------------------------------------------------------
|
| Limit connections to your REST server to whitelisted IP addresses.
|
| Usage:
| 1. Set to true *and* select an auth option for extreme security (client's IP
| address must be in whitelist and they must also log in)
| 2. Set to true with auth set to false to allow whitelisted IPs access with no login.
| 3. Set to false here but set 'auth_override_class_method' to 'whitelist' to
| restrict certain methods to IPs in your whitelist
|
*/
$config['rest_ip_whitelist_enabled'] = false;
/*
|--------------------------------------------------------------------------
| REST IP Whitelist
|--------------------------------------------------------------------------
|
| Limit connections to your REST server to a comma separated
| list of IP addresses
|
| Example: $config['rest_ip_whitelist'] = '123.456.789.0, 987.654.32.1';
|
| 127.0.0.1 and 0.0.0.0 are allowed by default.
|
*/
$config['rest_ip_whitelist'] = '';
/*
|--------------------------------------------------------------------------
| REST Database Group
|--------------------------------------------------------------------------
|
| Connect to a database group for keys, logging, etc. It will only connect
| if you have any of these features enabled.
|
| 'default'
|
*/
$config['rest_database_group'] = 'default';
/*
|--------------------------------------------------------------------------
| REST API Keys Table Name
|--------------------------------------------------------------------------
|
| The table name in your database that stores API Keys.
|
| 'keys'
|
*/
$config['rest_keys_table'] = 'keys';
/*
|--------------------------------------------------------------------------
| REST Enable Keys
|--------------------------------------------------------------------------
|
| When set to true REST_Controller will look for a key and match it to the DB.
| If no key is provided, the request will return an error.
|
| FALSE
CREATE TABLE `keys` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`key` varchar(40) NOT NULL,
`level` int(2) NOT NULL,
`ignore_limits` tinyint(1) NOT NULL DEFAULT '0',
`date_created` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
*/
$config['rest_enable_keys'] = FALSE;
/*
|--------------------------------------------------------------------------
| REST Key Length
|--------------------------------------------------------------------------
|
| How long should created keys be? Double check this in your db schema.
|
| Default: 32
| Max: 40
|
*/
$config['rest_key_length'] = 40;
/*
|--------------------------------------------------------------------------
| REST API Key Variable
|--------------------------------------------------------------------------
|
| Which variable will provide us the API Key
|
| Default: X-API-KEY
|
*/
$config['rest_key_name'] = 'X-API-KEY';
/*
|--------------------------------------------------------------------------
| REST API Logs Table Name
|--------------------------------------------------------------------------
|
| The table name in your database that stores logs.
|
| 'logs'
|
*/
$config['rest_logs_table'] = 'logs';
/*
|--------------------------------------------------------------------------
| REST Enable Logging
|--------------------------------------------------------------------------
|
| When set to true REST_Controller will log actions based on key, date,
| time and IP address. This is a general rule that can be overridden in the
| $this->method array in each controller.
|
| FALSE
|
CREATE TABLE `logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uri` varchar(255) NOT NULL,
`method` varchar(6) NOT NULL,
`params` text NOT NULL,
`api_key` varchar(40) NOT NULL,
`ip_address` varchar(15) NOT NULL,
`time` int(11) NOT NULL,
`authorized` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
*/
$config['rest_enable_logging'] = FALSE;
/*
|--------------------------------------------------------------------------
| REST API Limits Table Name
|--------------------------------------------------------------------------
|
| The table name in your database that stores limits.
|
| 'logs'
|
*/
$config['rest_limits_table'] = 'limits';
/*
|--------------------------------------------------------------------------
| REST Enable Limits
|--------------------------------------------------------------------------
|
| When set to true REST_Controller will count the number of uses of each method
| by an API key each hour. This is a general rule that can be overridden in the
| $this->method array in each controller.
|
| FALSE
|
CREATE TABLE `limits` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uri` varchar(255) NOT NULL,
`count` int(10) NOT NULL,
`hour_started` int(11) NOT NULL,
`api_key` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
*/
$config['rest_enable_limits'] = FALSE;
/*
|--------------------------------------------------------------------------
| REST Ignore HTTP Accept
|--------------------------------------------------------------------------
|
| Set to TRUE to ignore the HTTP Accept and speed up each request a little.
| Only do this if you are using the $this->rest_format or /format/xml in URLs
|
| FALSE
|
*/
$config['rest_ignore_http_accept'] = FALSE;
/*
|--------------------------------------------------------------------------
| REST AJAX Only
|--------------------------------------------------------------------------
|
| Set to TRUE to only allow AJAX requests. If TRUE and the request is not
| coming from AJAX, a 505 response with the error message "Only AJAX
| requests are accepted." will be returned. This is good for production
| environments. Set to FALSE to also accept HTTP requests.
|
| FALSE
|
*/
$config['rest_ajax_only'] = FALSE;
/* End of file config.php */
/* Location: ./system/application/config/rest.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| URI ROUTING
| -------------------------------------------------------------------------
| This file lets you re-map URI requests to specific controller functions.
|
| Typically there is a one-to-one relationship between a URL string
| and its corresponding controller class/method. The segments in a
| URL normally follow this pattern:
|
| example.com/class/method/id/
|
| In some instances, however, you may want to remap this relationship
| so that a different class/function is called than the one
| corresponding to the URL.
|
| Please see the user guide for complete details:
|
| http://codeigniter.com/user_guide/general/routing.html
|
| -------------------------------------------------------------------------
| RESERVED ROUTES
| -------------------------------------------------------------------------
|
| There area two reserved routes:
|
| $route['default_controller'] = 'welcome';
|
| This route indicates which controller class should be loaded if the
| URI contains no data. In the above example, the "welcome" class
| would be loaded.
|
| $route['404_override'] = 'errors/page_missing';
|
| This route will tell the Router what URI segments to use if those provided
| in the URL cannot be matched to a valid route.
|
*/
$route['default_controller'] = "frontpage";
$route['404_override'] = 'errors/error_404';
/* End of file routes.php */
/* Location: ./application/config/routes.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| SMILEYS
| -------------------------------------------------------------------
| This file contains an array of smileys for use with the emoticon helper.
| Individual images can be used to replace multiple simileys. For example:
| :-) and :) use the same image replacement.
|
| Please see user guide for more info:
| http://codeigniter.com/user_guide/helpers/smiley_helper.html
|
*/
$smileys = array(
// smiley image name width height alt
':-)' => array('grin.gif', '19', '19', 'grin'),
':lol:' => array('lol.gif', '19', '19', 'LOL'),
':cheese:' => array('cheese.gif', '19', '19', 'cheese'),
':)' => array('smile.gif', '19', '19', 'smile'),
';-)' => array('wink.gif', '19', '19', 'wink'),
';)' => array('wink.gif', '19', '19', 'wink'),
':smirk:' => array('smirk.gif', '19', '19', 'smirk'),
':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'),
':-S' => array('confused.gif', '19', '19', 'confused'),
':wow:' => array('surprise.gif', '19', '19', 'surprised'),
':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'),
':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'),
'%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'),
';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'),
':P' => array('raspberry.gif', '19', '19', 'raspberry'),
':blank:' => array('blank.gif', '19', '19', 'blank stare'),
':long:' => array('longface.gif', '19', '19', 'long face'),
':ohh:' => array('ohh.gif', '19', '19', 'ohh'),
':grrr:' => array('grrr.gif', '19', '19', 'grrr'),
':gulp:' => array('gulp.gif', '19', '19', 'gulp'),
'8-/' => array('ohoh.gif', '19', '19', 'oh oh'),
':down:' => array('downer.gif', '19', '19', 'downer'),
':red:' => array('embarrassed.gif', '19', '19', 'red face'),
':sick:' => array('sick.gif', '19', '19', 'sick'),
':shut:' => array('shuteye.gif', '19', '19', 'shut eye'),
':-/' => array('hmm.gif', '19', '19', 'hmmm'),
'>:(' => array('mad.gif', '19', '19', 'mad'),
':mad:' => array('mad.gif', '19', '19', 'mad'),
'>:-(' => array('angry.gif', '19', '19', 'angry'),
':angry:' => array('angry.gif', '19', '19', 'angry'),
':zip:' => array('zip.gif', '19', '19', 'zipper'),
':kiss:' => array('kiss.gif', '19', '19', 'kiss'),
':ahhh:' => array('shock.gif', '19', '19', 'shock'),
':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'),
':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'),
':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'),
':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'),
':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'),
':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
':snake:' => array('snake.gif', '19', '19', 'snake'),
':exclaim:' => array('exclaim.gif', '19', '19', 'excaim'),
':question:' => array('question.gif', '19', '19', 'question') // no comma after last item
);
/* End of file smileys.php */
/* Location: ./application/config/smileys.php */
<?php
/*
* Location of where the uploads should be.
* REQUIRED
*/
$config['upload_path'] = '/tmp';
/*
* The allowed file types to be uploaded.
* REQUIRED
*/
$config['allowed_types'] = '';
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| USER AGENT TYPES
| -------------------------------------------------------------------
| This file contains four arrays of user agent data. It is used by the
| User Agent Class to help identify browser, platform, robot, and
| mobile device data. The array keys are used to identify the device
| and the array values are used to set the actual name of the item.
|
*/
$platforms = array (
'windows nt 6.0' => 'Windows Longhorn',
'windows nt 5.2' => 'Windows 2003',
'windows nt 5.0' => 'Windows 2000',
'windows nt 5.1' => 'Windows XP',
'windows nt 4.0' => 'Windows NT 4.0',
'winnt4.0' => 'Windows NT 4.0',
'winnt 4.0' => 'Windows NT',
'winnt' => 'Windows NT',
'windows 98' => 'Windows 98',
'win98' => 'Windows 98',
'windows 95' => 'Windows 95',
'win95' => 'Windows 95',
'windows' => 'Unknown Windows OS',
'os x' => 'Mac OS X',
'ppc mac' => 'Power PC Mac',
'freebsd' => 'FreeBSD',
'ppc' => 'Macintosh',
'linux' => 'Linux',
'debian' => 'Debian',
'sunos' => 'Sun Solaris',
'beos' => 'BeOS',
'apachebench' => 'ApacheBench',
'aix' => 'AIX',
'irix' => 'Irix',
'osf' => 'DEC OSF',
'hp-ux' => 'HP-UX',
'netbsd' => 'NetBSD',
'bsdi' => 'BSDi',
'openbsd' => 'OpenBSD',
'gnu' => 'GNU/Linux',
'unix' => 'Unknown Unix OS'
);
// The order of this array should NOT be changed. Many browsers return
// multiple browser types so we want to identify the sub-type first.
$browsers = array(
'Flock' => 'Flock',
'Chrome' => 'Chrome',
'Opera' => 'Opera',
'MSIE' => 'Internet Explorer',
'Internet Explorer' => 'Internet Explorer',
'Shiira' => 'Shiira',
'Firefox' => 'Firefox',
'Chimera' => 'Chimera',
'Phoenix' => 'Phoenix',
'Firebird' => 'Firebird',
'Camino' => 'Camino',
'Netscape' => 'Netscape',
'OmniWeb' => 'OmniWeb',
'Safari' => 'Safari',
'Mozilla' => 'Mozilla',
'Konqueror' => 'Konqueror',
'icab' => 'iCab',
'Lynx' => 'Lynx',
'Links' => 'Links',
'hotjava' => 'HotJava',
'amaya' => 'Amaya',
'IBrowse' => 'IBrowse'
);
$mobiles = array(
// legacy array, old values commented out
'mobileexplorer' => 'Mobile Explorer',
// 'openwave' => 'Open Wave',
// 'opera mini' => 'Opera Mini',
// 'operamini' => 'Opera Mini',
// 'elaine' => 'Palm',
'palmsource' => 'Palm',
// 'digital paths' => 'Palm',
// 'avantgo' => 'Avantgo',
// 'xiino' => 'Xiino',
'palmscape' => 'Palmscape',
// 'nokia' => 'Nokia',
// 'ericsson' => 'Ericsson',
// 'blackberry' => 'BlackBerry',
// 'motorola' => 'Motorola'
// Phones and Manufacturers
'motorola' => "Motorola",
'nokia' => "Nokia",
'palm' => "Palm",
'iphone' => "Apple iPhone",
'ipad' => "iPad",
'ipod' => "Apple iPod Touch",
'sony' => "Sony Ericsson",
'ericsson' => "Sony Ericsson",
'blackberry' => "BlackBerry",
'cocoon' => "O2 Cocoon",
'blazer' => "Treo",
'lg' => "LG",
'amoi' => "Amoi",
'xda' => "XDA",
'mda' => "MDA",
'vario' => "Vario",
'htc' => "HTC",
'samsung' => "Samsung",
'sharp' => "Sharp",
'sie-' => "Siemens",
'alcatel' => "Alcatel",
'benq' => "BenQ",
'ipaq' => "HP iPaq",
'mot-' => "Motorola",
'playstation portable' => "PlayStation Portable",
'hiptop' => "Danger Hiptop",
'nec-' => "NEC",
'panasonic' => "Panasonic",
'philips' => "Philips",
'sagem' => "Sagem",
'sanyo' => "Sanyo",
'spv' => "SPV",
'zte' => "ZTE",
'sendo' => "Sendo",
// Operating Systems
'symbian' => "Symbian",
'SymbianOS' => "SymbianOS",
'elaine' => "Palm",
'palm' => "Palm",
'series60' => "Symbian S60",
'windows ce' => "Windows CE",
// Browsers
'obigo' => "Obigo",
'netfront' => "Netfront Browser",
'openwave' => "Openwave Browser",
'mobilexplorer' => "Mobile Explorer",
'operamini' => "Opera Mini",
'opera mini' => "Opera Mini",
// Other
'digital paths' => "Digital Paths",
'avantgo' => "AvantGo",
'xiino' => "Xiino",
'novarra' => "Novarra Transcoder",
'vodafone' => "Vodafone",
'docomo' => "NTT DoCoMo",
'o2' => "O2",
// Fallback
'mobile' => "Generic Mobile",
'wireless' => "Generic Mobile",
'j2me' => "Generic Mobile",
'midp' => "Generic Mobile",
'cldc' => "Generic Mobile",
'up.link' => "Generic Mobile",
'up.browser' => "Generic Mobile",
'smartphone' => "Generic Mobile",
'cellphone' => "Generic Mobile"
);
// There are hundreds of bots but these are the most common.
$robots = array(
'googlebot' => 'Googlebot',
'msnbot' => 'MSNBot',
'slurp' => 'Inktomi Slurp',
'yahoo' => 'Yahoo',
'askjeeves' => 'AskJeeves',
'fastcrawler' => 'FastCrawler',
'infoseek' => 'InfoSeek Robot 1.0',
'lycos' => 'Lycos'
);
/* End of file user_agents.php */
/* Location: ./application/config/user_agents.php */
<?php if (!defined('BASEPATH')) die();
class Frontpage extends Main_Controller {
public function index(){
$template['title'] = 'Sample Test';
$template['description'] = 'Description';
$template['keywords'] = 'keywords';
$template['author'] = 'author';
$this->load->view('include/header', $template);
$this->load->view('frontpage');
$this->load->view('include/footer');
}
}
/* End of file frontpage.php */
/* Location: ./application/controllers/frontpage.php */
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<?php
class Unit extends CI_Controller
{
public function index()
{
/*
* This breaks normal CodeIgniter convention.
* We need to load the views first before we can
* execute the unit testing.
*/
$this->load->library('unit_test');
$this->load->model('unit_model');
$tests = $this->unit_model->retrieve_tests();
foreach ($tests as $test)
$this->unit->run($test['rv'], $test['ev'], $test['t'], $test['n']);
$data['tests'] = $this->unit->result();
$data['count'] = count($data['tests']);
$data['failed'] = $this->unit_model->count_failed_tests($data['tests']);
$this->load->view('include/header');
$this->load->view('templates/unit', $data);
$this->load->view('include/footer');
}
}
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<?php
class Main_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
}
<?php
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>404 Page Not Found</title>
<style type="text/css">
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
#container {
margin: 10px;
border: 1px solid #D0D0D0;
-webkit-box-shadow: 0 0 8px #D0D0D0;
}
p {
margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
<div id="container">
<h1><?php echo $heading; ?></h1>
<?php echo $message; ?>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Database Error</title>
<style type="text/css">
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
#container {
margin: 10px;
border: 1px solid #D0D0D0;
-webkit-box-shadow: 0 0 8px #D0D0D0;
}
p {
margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
<div id="container">
<h1><?php echo $heading; ?></h1>
<?php echo $message; ?>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Error</title>
<style type="text/css">
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
#container {
margin: 10px;
border: 1px solid #D0D0D0;
-webkit-box-shadow: 0 0 8px #D0D0D0;
}
p {
margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
<div id="container">
<h1><?php echo $heading; ?></h1>
<?php echo $message; ?>
</div>
</body>
</html>
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: <?php echo $severity; ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $filepath; ?></p>
<p>Line Number: <?php echo $line; ?></p>
</div>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<?php
/*
* URL helpers, this file extends
* the current URL helper that
* CodeIgniter includes.
*/
/**
* base_url
*
* This function OVERRIDES the current
* CodeIgniter base_url function to support
* CDN'ized content.
*/
function base_url($uri = null)
{
$CI =& get_instance();
$cdn = $CI->config->item('cdn_url');
if (!empty($cdn))
return $cdn . $uri;
return $CI->config->base_url($uri);
}
/*
* is_active
* Allows a string input that is
* delimited with "/". If the current
* params contain what is currently
* being viewed, it will return true
*
* This function is order sensitive.
* If the page is /view/lab/1 and you put
* lab/view, this will return false.
*
* @author sjlu
*/
function is_active($input_params = "")
{
// uri_string is a CodeIgniter function
$uri_string = uri_string();
// direct matching, faster than looping.
if ($uri_string == $input_params)
return true;
$uri_params = preg_split("/\//", $uri_string);
$input_params = preg_split("/\//", $input_params);
$prev_key = -1;
foreach ($input_params as $param)
{
$curr_key = array_search($param, $uri_params);
// if it doesn't exist, return null
if ($curr_key === FALSE)
return false;
// this makes us order sensitive
if ($curr_key < $prev_key)
return false;
$prev_key = $curr_key;
}
return true;
}
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
<?php
class Aws {
private $aws_key = '';
private $aws_secret = '';
public function __construct()
{
$ci =& get_instance();
$ci->config->load('aws');
$this->aws_key = $ci->config->item('aws_key');
$this->aws_secret = $ci->config->item('aws_secret');
}
public function load($library)
{
include_once 'aws/sdk.class.php';
$credentials = array(
'key' => $this->aws_key,
'secret' => $this->aws_secret
);
switch ($library)
{
case 's3':
$this->s3 = new AmazonS3($credentials);
break;
case 'ec2':
$this->ec2 = new AmazonEC2($credentials);
break;
default:
}
}
}
<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*%******************************************************************************************%*/
// INTERFACE
/**
* The interface implemented by all signing classes.
*
* @version 2011.11.22
* @license See the included NOTICE.md file for more information.
* @copyright See the included NOTICE.md file for more information.
* @link http://aws.amazon.com/php/ PHP Developer Center
*/
interface Signable
{
/**
* Constructs a new instance of the implementing class.
*
* @param string $endpoint (Required) The endpoint to direct the request to.
* @param string $operation (Required) The operation to execute as a result of this request.
* @param array $payload (Required) The options to use as part of the payload in the request.
* @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
* @return void
*/
public function __construct($endpoint, $operation, $payload, CFCredential $credentials);
/**
* Generates a cURL handle with all of the required authentication bits set.
*
* @return resource A cURL handle ready for executing.
*/
public function authenticate();
}
<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*%******************************************************************************************%*/
// CLASS
/**
* Implements support for Signature v2 (AWS Query).
*
* @version 2011.11.22
* @license See the included NOTICE.md file for more information.
* @copyright See the included NOTICE.md file for more information.
* @link http://aws.amazon.com/php/ PHP Developer Center
*/
class AuthV2Query extends Signer implements Signable
{
/**
* Constructs a new instance of the <AuthV2Query> class.
*
* @param string $endpoint (Required) The endpoint to direct the request to.
* @param string $operation (Required) The operation to execute as a result of this request.
* @param array $payload (Required) The options to use as part of the payload in the request.
* @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
* @return void
*/
public function __construct($endpoint, $operation, $payload, CFCredential $credentials)
{
parent::__construct($endpoint, $operation, $payload, $credentials);
}
/**
* Generates a cURL handle with all of the required authentication bits set.
*
* @return resource A cURL handle ready for executing.
*/
public function authenticate()
{
// Determine signing values
$current_time = time();
$date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, $current_time);
$timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time);
$query = array();
// Do we have an authentication token?
if ($this->auth_token)
{
$headers['X-Amz-Security-Token'] = $this->auth_token;
$query['SecurityToken'] = $this->auth_token;
}
// Only add it if it exists.
if ($this->api_version)
{
$query['Version'] = $this->api_version;
}
$query['Action'] = $this->operation;
$query['AWSAccessKeyId'] = $this->key;
$query['SignatureMethod'] = 'HmacSHA256';
$query['SignatureVersion'] = 2;
$query['Timestamp'] = $timestamp;
// Merge in any options that were passed in
if (is_array($this->payload))
{
$query = array_merge($query, $this->payload);
}
// Do a case-sensitive, natural order sort on the array keys.
uksort($query, 'strcmp');
// Create the string that needs to be hashed.
$canonical_query_string = $this->util->to_signable_string($query);
// Remove the default scheme from the domain.
$domain = str_replace(array('http://', 'https://'), '', $this->endpoint);
// Parse our request.
$parsed_url = parse_url('http://' . $domain);
// Set the proper host header.
if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443)
{
$host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port'];
}
else
{
$host_header = strtolower($parsed_url['host']);
}
// Set the proper request URI.
$request_uri = isset($parsed_url['path']) ? $parsed_url['path'] : '/';
// Prepare the string to sign
$this->string_to_sign = "POST\n$host_header\n$request_uri\n$canonical_query_string";
// Hash the AWS secret key and generate a signature for the request.
$query['Signature'] = base64_encode(hash_hmac('sha256', $this->string_to_sign, $this->secret_key, true));
// Generate the querystring from $query
$this->querystring = $this->util->to_query_string($query);
// Gather information to pass along to other classes.
$helpers = array(
'utilities' => $this->utilities_class,
'request' => $this->request_class,
'response' => $this->response_class,
);
// Compose the request.
$request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain;
$request_url .= !isset($parsed_url['path']) ? '/' : '';
// Instantiate the request class
$request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials);
$request->set_method('POST');
$request->set_body($this->querystring);
$headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
// Pass along registered stream callbacks
if ($this->registered_streaming_read_callback)
{
$request->register_streaming_read_callback($this->registered_streaming_read_callback);
}
if ($this->registered_streaming_write_callback)
{
$request->register_streaming_write_callback($this->registered_streaming_write_callback);
}
// Sort headers
uksort($headers, 'strnatcasecmp');
// Add headers to request and compute the string to sign
foreach ($headers as $header_key => $header_value)
{
// Strip linebreaks from header values as they're illegal and can allow for security issues
$header_value = str_replace(array("\r", "\n"), '', $header_value);
// Add the header if it has a value
if ($header_value !== '')
{
$request->add_header($header_key, $header_value);
}
}
return $request;
}
}
<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*%******************************************************************************************%*/
// CLASS
/**
* Implements support for Signature v3 (AWS Query).
*
* @version 2011.11.22
* @license See the included NOTICE.md file for more information.
* @copyright See the included NOTICE.md file for more information.
* @link http://aws.amazon.com/php/ PHP Developer Center
*/
class AuthV3Query extends Signer implements Signable
{
/**
* Constructs a new instance of the <AuthV3Query> class.
*
* @param string $endpoint (Required) The endpoint to direct the request to.
* @param string $operation (Required) The operation to execute as a result of this request.
* @param array $payload (Required) The options to use as part of the payload in the request.
* @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
* @return void
*/
public function __construct($endpoint, $operation, $payload, CFCredential $credentials)
{
parent::__construct($endpoint, $operation, $payload, $credentials);
}
/**
* Generates a cURL handle with all of the required authentication bits set.
*
* @return resource A cURL handle ready for executing.
*/
public function authenticate()
{
// Determine signing values
$current_time = time();
$date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, $current_time);
$timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time);
$nonce = $this->util->generate_guid();
$curlopts = array();
$signed_headers = array();
// Do we have an authentication token?
if ($this->auth_token)
{
$headers['X-Amz-Security-Token'] = $this->auth_token;
$query['SecurityToken'] = $this->auth_token;
}
$query['Action'] = $this->operation;
$query['Version'] = $this->api_version;
// Set custom CURLOPT settings
if (is_array($this->payload) && isset($this->payload['curlopts']))
{
$curlopts = $this->payload['curlopts'];
unset($this->payload['curlopts']);
}
// Merge in any options that were passed in
if (is_array($this->payload))
{
$query = array_merge($query, $this->payload);
}
$return_curl_handle = isset($query['returnCurlHandle']) ? $query['returnCurlHandle'] : false;
unset($query['returnCurlHandle']);
// Do a case-sensitive, natural order sort on the array keys.
uksort($query, 'strcmp');
$canonical_query_string = $this->util->to_signable_string($query);
// Remove the default scheme from the domain.
$domain = str_replace(array('http://', 'https://'), '', $this->endpoint);
// Parse our request.
$parsed_url = parse_url('http://' . $domain);
// Set the proper host header.
if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443)
{
$host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port'];
}
else
{
$host_header = strtolower($parsed_url['host']);
}
// Set the proper request URI.
$request_uri = isset($parsed_url['path']) ? $parsed_url['path'] : '/';
// Generate the querystring from $query
$this->querystring = $this->util->to_query_string($query);
// Gather information to pass along to other classes.
$helpers = array(
'utilities' => $this->utilities_class,
'request' => $this->request_class,
'response' => $this->response_class,
);
// Compose the request.
$request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain;
$request_url .= !isset($parsed_url['path']) ? '/' : '';
// Instantiate the request class
$request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials);
$request->set_method('POST');
$request->set_body($this->querystring);
$headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
// Pass along registered stream callbacks
if ($this->registered_streaming_read_callback)
{
$request->register_streaming_read_callback($this->registered_streaming_read_callback);
}
if ($this->registered_streaming_write_callback)
{
$request->register_streaming_write_callback($this->registered_streaming_write_callback);
}
// Add authentication headers
$headers['X-Amz-Nonce'] = $nonce;
$headers['Date'] = $date;
$headers['Content-Length'] = strlen($this->querystring);
$headers['Content-MD5'] = $this->util->hex_to_base64(md5($this->querystring));
$headers['Host'] = $host_header;
// Sort headers
uksort($headers, 'strnatcasecmp');
// Prepare the string to sign (HTTPS)
$this->string_to_sign = $date . $nonce;
// Add headers to request and compute the string to sign
foreach ($headers as $header_key => $header_value)
{
// Strip linebreaks from header values as they're illegal and can allow for security issues
$header_value = str_replace(array("\r", "\n"), '', $header_value);
// Add the header if it has a value
if ($header_value !== '')
{
$request->add_header($header_key, $header_value);
}
// Generate the string to sign
if (
substr(strtolower($header_key), 0, 8) === 'content-' ||
strtolower($header_key) === 'date' ||
strtolower($header_key) === 'expires' ||
strtolower($header_key) === 'host' ||
substr(strtolower($header_key), 0, 6) === 'x-amz-'
)
{
$signed_headers[] = $header_key;
}
}
// Hash the AWS secret key and generate a signature for the request.
$signature = base64_encode(hash_hmac('sha256', $this->string_to_sign, $this->secret_key, true));
$headers['X-Amzn-Authorization'] = 'AWS3-HTTPS'
. ' AWSAccessKeyId=' . $this->key
. ',Algorithm=HmacSHA256'
. ',SignedHeaders=' . implode(';', $signed_headers)
. ',Signature=' . $signature;
$request->add_header('X-Amzn-Authorization', $headers['X-Amzn-Authorization']);
$request->request_headers = $headers;
return $request;
}
}
<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*%******************************************************************************************%*/
// CLASS
/**
* The abstract class that serves as the base class that signer classes extend.
*
* @version 2011.11.22
* @license See the included NOTICE.md file for more information.
* @copyright See the included NOTICE.md file for more information.
* @link http://aws.amazon.com/php/ PHP Developer Center
*/
abstract class Signer
{
/**
* The endpoint to direct the request to.
*/
public $endpoint;
/**
* The operation to execute as a result of this request.
*/
public $operation;
/**
* The options to use as part of the payload in the request.
*/
public $payload;
/**
* The credentials to use for signing and making requests.
*/
public $credentials;
/**
* Constructs a new instance of the implementing class.
*
* @param string $endpoint (Required) The endpoint to direct the request to.
* @param string $operation (Required) The operation to execute as a result of this request.
* @param array $payload (Required) The options to use as part of the payload in the request.
* @param CFCredential $credentials (Required) The credentials to use for signing and making requests.
* @return void
*/
public function __construct($endpoint, $operation, $payload, CFCredential $credentials)
{
$this->endpoint = $endpoint;
$this->operation = $operation;
$this->payload = $payload;
$this->credentials = $credentials;
}
}
<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
class S3BrowserUpload extends AmazonS3
{
/**
* The <code>POST</code> operation adds an object to a specified bucket using HTML forms. POST is an alternate
* form of <code>PUT</code> that enables browser-based uploads as a way of putting objects in buckets.
* Parameters that are passed to <code>PUT</code> via HTTP headers are instead passed as form fields to
* <code>POST</code> in the <code>multipart/form-data</code> encoded message body. You must have
* <code>WRITE</code> access on a bucket to add an object to it. Amazon S3 never stores partial objects: if
* you receive a successful response, you can be confident the entire object was stored.
*
* @param string $bucket (Required) The name of the bucket to use.
* @param string|integer $expires (Optional) The point in time when the upload form field should expire. The default value is <code>+1 hour</code>.
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>acl</code> - <code>string</code> - Optional - The access control setting to apply to the uploaded file. Accepts any of the following constants: [Allowed values: <code>AmazonS3::ACL_PRIVATE</code>, <code>AmazonS3::ACL_PUBLIC</code>, <code>AmazonS3::ACL_OPEN</code>, <code>AmazonS3::ACL_AUTH_READ</code>, <code>AmazonS3::ACL_OWNER_READ</code>, <code>AmazonS3::ACL_OWNER_FULL_CONTROL</code>].</li>
* <li><code>Cache-Control</code> - <code>string</code> - Optional - The Cache-Control HTTP header value to apply to the uploaded file. To use a <code>starts-with</code> comparison instead of an <code>equals</code> comparison, prefix the value with a <code>^</code> (carat) character.</li>
* <li><code>Content-Disposition</code> - <code>string</code> - Optional - The Content-Disposition HTTP header value to apply to the uploaded file. To use a <code>starts-with</code> comparison instead of an <code>equals</code> comparison, prefix the value with a <code>^</code> (carat) character.</li>
* <li><code>Content-Encoding</code> - <code>string</code> - Optional - The Content-Encoding HTTP header value to apply to the uploaded file. To use a <code>starts-with</code> comparison instead of an <code>equals</code> comparison, prefix the value with a <code>^</code> (carat) character.</li>
* <li><code>Content-Type</code> - <code>string</code> - Optional - The Content-Type HTTP header value to apply to the uploaded file. The default value is <code>application/octet-stream</code>. To use a <code>starts-with</code> comparison instead of an <code>equals</code> comparison, prefix the value with a <code>^</code> (carat) character.</li>
* <li><code>Expires</code> - <code>string</code> - Optional - The Expires HTTP header value to apply to the uploaded file. To use a <code>starts-with</code> comparison instead of an <code>equals</code> comparison, prefix the value with a <code>^</code> (carat) character.</li>
* <li><code>key</code> - <code>string</code> - Optional - The location where the file should be uploaded to. The default value is <code>${filename}</code>.</li>
* <li><code>success_action_redirect</code> - <code>string</code> - Optional - The URI for Amazon S3 to redirect to upon successful upload.</li>
* <li><code>success_action_status</code> - <code>integer</code> - Optional - The status code for Amazon S3 to return upon successful upload.</li>
* <li><code>x-amz-server-side-encryption</code> - <code>string</code> - Optional - The server-side encryption mechanism to use. [Allowed values: <code>AES256</code>].</li>
* <li><code>x-amz-storage-class</code> - <code>string</code> - Optional - The storage setting to apply to the object. [Allowed values: <code>AmazonS3::STORAGE_STANDARD</code>, <code>AmazonS3::STORAGE_REDUCED</code>]. The default value is <code>AmazonS3::STORAGE_STANDARD</code>.</li>
* <li><code>x-amz-meta-*</code> - <code>mixed</code> - Optional - Any custom meta tag that should be set to the object.</li>
* </ul>
* @return array An array of fields that can be converted into markup.
* @link http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPOST.html POST Object
*/
public function generate_upload_parameters($bucket, $expires = '+1 hour', $opt = null)
{
if (!$opt) $opt = array();
// Policy document
$policy = array(
'conditions' => array(
array('bucket' => $bucket),
)
);
// Basic form
$form = array();
$form['form'] = array(
'action' => $bucket . '.s3.amazonaws.com',
'method' => 'POST',
'enctype' => 'multipart/form-data'
);
// Inputs
$form['inputs'] = array(
'AWSAccessKeyId' => $this->key
);
// Expires
if ($expires)
{
if (is_numeric($expires))
{
$expires = gmdate('j M Y, g:i a Z', (integer) $expires);
}
$expires = $this->util->convert_date_to_iso8601($expires);
$policy['expiration'] = (string) $expires;
}
// Default values
if (!isset($opt['key']))
{
$opt['key'] = '${filename}';
}
// Success Action Status
if (isset($opt['success_action_status']) && !empty($opt['success_action_status']))
{
$form['inputs']['success_action_status'] = (string) $opt['success_action_status'];
$policy['conditions'][] = array(
'success_action_status' => (string) $opt['success_action_status']
);
unset($opt['success_action_status']);
}
// Other parameters
foreach ($opt as $param_key => $param_value)
{
if ($param_value[0] === '^')
{
$form['inputs'][$param_key] = substr((string) $param_value, 1);
$param_value = preg_replace('/\$\{(\w*)\}/', '', (string) $param_value);
$policy['conditions'][] = array('starts-with', '$' . $param_key, (substr((string) $param_value, 1) ? substr((string) $param_value, 1) : ''));
}
else
{
$form['inputs'][$param_key] = (string) $param_value;
$policy['conditions'][] = array(
$param_key => (string) $param_value
);
}
}
// Add policy
$json_policy = json_encode($policy);
$json_policy_b64 = base64_encode($json_policy);
$form['inputs']['policy'] = $json_policy_b64;
$form['metadata']['json_policy'] = $json_policy;
// Add signature
$form['inputs']['signature'] = base64_encode(hash_hmac('sha1', $json_policy_b64, $this->secret_key, true));
return $form;
}
/*%******************************************************************************************%*/
// HELPERS
/**
* Returns the protocol of the web page that this script is currently running on. This method only works
* correctly when run from a publicly-accessible web page.
*/
public static function protocol()
{
return (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) === 'on') ? 'https://' : 'http://';
}
/**
* Returns the domain (and port) of the web page that this script is currently running on. This method
* only works correctly when run from a publicly-accessible web page.
*/
public static function domain()
{
if (isset($_SERVER['SERVER_NAME']) && isset($_SERVER['SERVER_PORT']))
{
return $_SERVER['SERVER_NAME'] . ((integer) $_SERVER['SERVER_PORT'] === 80 ? '' : ':' . $_SERVER['SERVER_PORT']);
}
return null;
}
/**
* Returns the URI of the web page that this script is currently running on. This method only works
* correctly when run from a publicly-accessible web page.
*/
public static function current_uri()
{
if (isset($_SERVER['REQUEST_URI']))
{
$uri = self::protocol();
$uri .= self::domain();
$uri .= $_SERVER['REQUEST_URI'];
return $uri;
}
return null;
}
}
<?php
/*
* Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/**
* Provides an interface for accessing Amazon S3 using PHP's native file management functions. This class is not
* auto-loaded, and must be included manually.
*
* Amazon S3 file patterns take the following form: <code>s3://bucket/object</code>
*/
class S3StreamWrapper extends AmazonS3
{
/*%******************************************************************************************%*/
// CONSTANTS
const REGION_US_E1 = 1;
const REGION_US_W1 = 2;
const REGION_US_W2 = 3;
const REGION_EU_W1 = 4;
const REGION_APAC_NE1 = 5;
const REGION_APAC_SE1 = 6;
const REGION_SA_E1 = 7;
const REGION_US_GOV1 = 8;
const REGION_US_GOV1_FIPS = 9;
const REGION_US_STANDARD = self::REGION_US_W1;
const REGION_VIRGINIA = self::REGION_US_W1;
const REGION_CALIFORNIA = self::REGION_US_W1;
const REGION_OREGON = self::REGION_US_W2;
const REGION_IRELAND = self::REGION_EU_W1;
const REGION_SINGAPORE = self::REGION_APAC_SE1;
const REGION_TOKYO = self::REGION_APAC_NE1;
const REGION_SAO_PAULO = self::REGION_SA_E1;
/*%******************************************************************************************%*/
// PROPERTIES
public $context = null;
public $position = 0;
public $path = null;
public $file_list = null;
public $open_file = null;
public $seek_position = 0;
public $eof = false;
/*%******************************************************************************************%*/
// STREAM WRAPPER IMPLEMENTATION
/**
* Constructs a new instance of <S3StreamWrapper>.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Close directory handle. This method is called in response to <php:closedir()>.
*
* Since Amazon S3 doesn't have real directories, always return <code>true</code>.
*
* @return boolean
*/
public function dir_closedir()
{
$this->context = null;
$this->position = 0;
$this->path = null;
$this->file_list = null;
$this->open_file = null;
$this->seek_position = 0;
$this->eof = false;
return true;
}
/**
* Open directory handle. This method is called in response to <php:opendir()>.
*
* @param string $path (Required) Specifies the URL that was passed to <php:opendir()>.
* @param integer $options (Required) Not used. Passed in by <php:opendir()>.
* @return boolean Returns <code>true</code> on success or <code>false</code> on failure.
*/
public function dir_opendir($path, $options)
{
self::__construct();
$url = parse_url($path);
$this->path = $path;
$bucket_name = $url['host'];
$path_name = (isset($url['path']) ? $url['path'] : '');
$pattern = '/^' . self::regex_token(substr($path_name, 1)) . '(.*)[^\/$]/';
$this->file_list = $this->get_object_list($bucket_name, array(
'pcre' => $pattern
));
return (count($this->file_list)) ? true : false;
}
/**
* This method is called in response to <php:readdir()>.
*
* @return string Should return a string representing the next filename, or <code>false</code> if there is no next file.
*/
public function dir_readdir()
{
self::__construct();
if (isset($this->file_list[$this->position]))
{
$out = $this->file_list[$this->position];
$this->position++;
}
else
{
$out = false;
}
return $out;
}
/**
* This method is called in response to <php:rewinddir()>.
*
* Should reset the output generated by <php:streamWrapper::dir_readdir()>. i.e.: The next call to
* <php:streamWrapper::dir_readdir()> should return the first entry in the location returned by
* <php:streamWrapper::dir_opendir()>.
*
* @return boolean Returns <code>true</code> on success or <code>false</code> on failure.
*/
public function dir_rewinddir()
{
$this->position = 0;
return true;
}
/**
* Create a new bucket. This method is called in response to <php:mkdir()>.
*
* @param string $path (Required) The bucket name to create.
* @param integer $mode (Optional) Permissions. 700-range permissions map to ACL_PUBLIC. 600-range permissions map to ACL_AUTH_READ. All other permissions map to ACL_PRIVATE.
* @param integer $options (Optional) Regions. [Allowed values: `S3StreamWrapper::REGION_US_E1`, `S3StreamWrapper::REGION_US_W1`, `S3StreamWrapper::REGION_EU_W1`, `S3StreamWrapper::REGION_APAC_NE1`, `S3StreamWrapper::REGION_APAC_SE1`]
* @return boolean Whether the bucket was created successfully or not.
*/
public function mkdir($path, $mode, $options)
{
$mode = 0;
$options = 1;
self::__construct();
$url = parse_url($path);
$this->path = $path;
$bucket_name = $url['host'];
switch ($mode)
{
// 700-range permissions
case in_array((integer) $mode, range(700, 799)):
$acl = AmazonS3::ACL_PUBLIC;
break;
// 600-range permissions
case in_array((integer) $mode, range(600, 699)):
$acl = AmazonS3::ACL_AUTH_READ;
break;
// All other permissions
default:
$acl = AmazonS3::ACL_PRIVATE;
break;
}
switch ($options)
{
case self::REGION_US_W1:
case self::REGION_CALIFORNIA:
$region = AmazonS3::REGION_CALIFORNIA;
break;
case self::REGION_US_W2:
case self::REGION_OREGON:
$region = AmazonS3::REGION_OREGON;
break;
case self::REGION_EU_W1:
case self::REGION_IRELAND:
$region = AmazonS3::REGION_IRELAND;
break;
case self::REGION_APAC_NE1:
case self::REGION_TOKYO:
$region = AmazonS3::REGION_TOKYO;
break;
case self::REGION_APAC_SE1:
case self::REGION_SINGAPORE:
$region = AmazonS3::REGION_SINGAPORE;
break;
case self::REGION_SA_E1:
case self::REGION_SAO_PAULO:
$region = AmazonS3::REGION_SAO_PAULO;
break;
case self::REGION_US_GOV1:
$region = AmazonS3::REGION_US_GOV1;
break;
case self::REGION_US_GOV1_FIPS:
$region = AmazonS3::REGION_US_GOV1_FIPS;
break;
case self::REGION_US_E1:
case self::REGION_US_STANDARD:
case self::REGION_VIRGINIA:
default:
$region = AmazonS3::REGION_US_STANDARD;
break;
}
$response = $this->create_bucket($bucket_name, $region, $acl);
return $response->isOK();
}
/**
* Renames a file or directory. This method is called in response to <php:rename()>.
*
* @param string $path_from (Required) The URL to the current file.
* @param string $path_to (Required) The URL which the <code>$path_from</code> should be renamed to.
* @return boolean Returns <code>true</code> on success or <code>false</code> on failure.
*/
public function rename($path_from, $path_to)
{
self::__construct();
$from_url = parse_url($path_from);
$from_bucket_name = $from_url['host'];
$from_object_name = substr($from_url['path'], 1);
$to_url = parse_url($path_to);
$to_bucket_name = $to_url['host'];
$to_object_name = substr($to_url['path'], 1);
$copy_response = $this->copy_object(
array('bucket' => $from_bucket_name, 'filename' => $from_object_name),
array('bucket' => $to_bucket_name, 'filename' => $to_object_name )
);
if ($copy_response->isOK())
{
$delete_response = $this->delete_object($from_bucket_name, $from_object_name);
if ($delete_response->isOK())
{
return true;
}
}
return false;
}
/**
* This method is called in response to <php:rmdir()>.
*
* @param string $bucket (Required) The bucket name to create.
* @param boolean $force (Optional) Whether to force-delete the bucket or not. The default value is <code>false</code>.
* @return boolean Whether the bucket was deleted successfully or not.
*/
public function rmdir($path, $options)
{
self::__construct();
$url = parse_url($path);
$this->path = $path;
$bucket_name = $url['host'];
$response = $this->delete_bucket($bucket_name);
return $response->isOK();
}
/**
* NOT IMPLEMENTED!
*
* @param integer $cast_as
* @return resource
*/
// public function stream_cast($cast_as) {}
/**
* Close a resource. This method is called in response to <php:fclose()>.
*
* All resources that were locked, or allocated, by the wrapper should be released.
*
* @return void
*/
public function stream_close()
{
$this->context = null;
$this->position = 0;
$this->path = null;
$this->file_list = null;
$this->open_file = null;
$this->seek_position = 0;
$this->eof = false;
}
/**
* Tests for end-of-file on a file pointer. This method is called in response to <php:feof()>.
*
* @return boolean
*/
public function stream_eof()
{
return $this->eof;
}
/**
* Flushes the output. This method is called in response to <php:fflush()>. If you have cached data in
* your stream but not yet stored it into the underlying storage, you should do so now.
*
* Since this implementation doesn't buffer streams, simply return <code>true</code>.
*
* @return boolean <code>true</code>
*/
public function stream_flush()
{
return true;
}
/**
* This method is called in response to <php:flock()>, when <php:file_put_contents()> (when flags contains
* <code>LOCK_EX</code>), <php:stream_set_blocking()> and when closing the stream (<code>LOCK_UN</code>).
*
* Not implemented in S3, so it's not implemented here.
*
* @param mode $operation
* @return boolean
*/
// public function stream_lock($operation) {}
/**
* Opens file or URL. This method is called immediately after the wrapper is initialized
* (e.g., by <php:fopen()> and <php:file_get_contents()>).
*
* @param string $path (Required) Specifies the URL that was passed to the original function.
* @param string $mode (Required) Ignored.
* @param integer $options (Required) Ignored.
* @param string &$opened_path (Required) Returns the same value as was passed into <code>$path</code>.
* @return boolean Returns <code>true</code> on success or <code>false</code> on failure.
*/
public function stream_open($path, $mode, $options, &$opened_path)
{
$opened_path = $this->open_file = $path;
$url = parse_url($path);
$this->path = $path;
$bucket_name = $url['host'];
$path_name = $url['path'];
$this->seek_position = 0;
return true;
}
/**
* Read from stream. This method is called in response to <php:fread()> and <php:fgets()>.
*
* The documentation for <php:fread()> states: "depending on the previously buffered data, the size of
* the returned data may be larger than the chunk size." In this implementation, the <code>$count</code>
* parameter is ignored, as the entire stream will be returned at once.
*
* It is important to avoid reading files that are larger than the amount of memory allocated to PHP,
* otherwise "out of memory" errors will occur.
*
* @param integer $count (Required) Ignored.
* @return string The contents of the Amazon S3 object.
*/
public function stream_read($count)
{
self::__construct();
$url = parse_url($this->path);
$bucket_name = $url['host'];
$path_name = $url['path'];
if ($this->seek_position !== 0)
{
$response = $this->get_object($bucket_name, substr($path_name, 1), array(
'range' => $this->seek_position . '-'
));
}
else
{
$response = $this->get_object($bucket_name, substr($path_name, 1));
}
$this->seek_position = isset($response->header['content-length']) ? $response->header['content-length'] : 0;
$this->eof = true;
return $response->body;
}
/**
* Seeks to specific location in a stream. This method is called in response to <php:fseek()>. The read/write
* position of the stream should be updated according to the <code>$offset</code> and <code>$whence</code>
* parameters.
*
* @param integer $offset (Required) The number of bytes to offset from the start of the file.
* @param integer $whence (Optional) Ignored. Always uses <code>SEEK_SET</code>.
* @return boolean Whether or not the seek was successful.
*/
public function stream_seek($offset, $whence = SEEK_SET)
{
$this->seek_position = $offset;
return true;
}
/**
* @param integer $option
* @param integer $arg1
* @param integer $arg2
* @return boolean
*/
// public function stream_set_option($option, $arg1, $arg2) {}
/**
* Retrieve information about a file resource.
*
* @return array Returns the same data as a call to <php:stat()>.
*/
public function stream_stat()
{
return $this->url_stat($this->path, null);
}
/**
* Retrieve the current position of a stream. This method is called in response to <php:ftell()>.
*
* @return integer Returns the current position of the stream.
*/
public function stream_tell()
{
return $this->seek_position;
}
/**
* Write to stream. This method is called in response to <php:fwrite()>.
*
* It is important to avoid reading files that are larger than the amount of memory allocated to PHP,
* otherwise "out of memory" errors will occur.
*
* @param string $data (Required) The data to write to the stream.
* @return integer The number of bytes that were written to the stream.
*/
public function stream_write($data)
{
self::__construct();
$url = parse_url($this->path);
$bucket_name = $url['host'];
$path_name = $url['path'];
if ($this->seek_position !== 0)
{
trigger_error(__CLASS__ . ' is unable to append to a file, so the seek position for this resource must be rewound to position 0.');
}
else
{
$response = $this->create_object($bucket_name, substr($path_name, 1), array(
'body' => $data
));
}
$this->seek_position = $response->header['x-aws-requestheaders']['Content-Length'];
$this->eof = true;
return $this->seek_position;
}
/**
* Delete a file. This method is called in response to <php:unlink()>.
*
* @param string $path (Required) The file URL which should be deleted.
* @return boolean Returns <code>true</code> on success or <code>false</code> on failure.
*/
public function unlink($path)
{
self::__construct();
$url = parse_url($path);
$this->path = $path;
$bucket_name = $url['host'];
$path_name = $url['path'];
$response = $this->delete_object($bucket_name, substr($path_name, 1));
return $response->isOK();
}
/**
* This method is called in response to all <php:stat()> related functions.
*
* @param string $path (Required) The file path or URL to stat. Note that in the case of a URL, it must be a <code>://</code> delimited URL. Other URL forms are not supported.
* @param integer $flags (Required) Holds additional flags set by the streams API. This implementation ignores all defined flags.
* @return array Should return as many elements as <php:stat()> does. Unknown or unavailable values should be set to a rational value (usually <code>0</code>).
*/
public function url_stat($path, $flags)
{
self::__construct();
$url = parse_url($path);
$this->path = $path;
$bucket_name = (isset($url['host']) ? $url['host'] : '');
$path_name = ((isset($url['path']) && $url['path'] !== '/') ? $url['path'] : null);
$file = null;
$mode = 0;
if ($path_name)
{
$list = $this->list_objects($bucket_name, array(
'prefix' => substr($path_name, 1)
))->body;
$file = $list->Contents[0];
}
else
{
$list = $this->list_objects($bucket_name)->body;
}
/*
Type & Permission bitwise values (only those that pertain to S3).
Simulate the concept of a "directory". Nothing has an executable bit because there's no executing on S3.
Reference: http://docstore.mik.ua/orelly/webprog/pcook/ch19_13.htm
0100000 => type: regular file
0040000 => type: directory
0000400 => owner: read permission
0000200 => owner: write permission
0000040 => group: read permission
0000020 => group: write permission
0000004 => others: read permission
0000002 => others: write permission
*/
// File or directory?
// @todo: Add more detailed support for permissions. Currently only takes OWNER into account.
if (!$path_name) // Root of the bucket
{
$mode = octdec('0040777');
}
elseif ($file)
{
$mode = (str_replace('//', '/', substr($path_name, 1) . '/') === (string) $file->Key) ? octdec('0040777') : octdec('0100777'); // Directory, Owner R/W : Regular File, Owner R/W
}
else
{
$mode = octdec('0100777');
}
$out = array();
$out[0] = $out['dev'] = 0;
$out[1] = $out['ino'] = 0;
$out[2] = $out['mode'] = $mode;
$out[3] = $out['nlink'] = 0;
$out[4] = $out['uid'] = (isset($file) ? (string) $file->Owner->ID : 0);
$out[5] = $out['gid'] = 0;
$out[6] = $out['rdev'] = 0;
$out[7] = $out['size'] = (isset($file) ? (string) $file->Size : 0);
$out[8] = $out['atime'] = (isset($file) ? date('U', strtotime((string) $file->LastModified)) : 0);
$out[9] = $out['mtime'] = (isset($file) ? date('U', strtotime((string) $file->LastModified)) : 0);
$out[10] = $out['ctime'] = (isset($file) ? date('U', strtotime((string) $file->LastModified)) : 0);
$out[11] = $out['blksize'] = 0;
$out[12] = $out['blocks'] = 0;
return $out;
}
/*%******************************************************************************************%*/
// HELPERS
/**
* Makes the given token PCRE-compatible.
*/
public static function regex_token($token)
{
$token = str_replace('/', '\/', $token);
$token = quotemeta($token);
return str_replace('\\\\', '\\', $token);
}
}
/*%******************************************************************************************%*/
// REGISTER STREAM WRAPPER
stream_wrapper_register('s3', 'S3StreamWrapper');
CREATE TABLE `cache` (
`id` char(40) NOT NULL default '',
`expires` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`data` longtext,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE "cache" (
expires timestamp without time zone NOT NULL,
id character(40) NOT NULL,
data text NOT NULL
)
WITH (OIDS=TRUE);
The .sql files in this directory contain the code to create the tables for database caching.
If you're not using database caching, you can safely ignore these.
If you ARE using database caching, simply load the correct *.sql file into your database to set up the required tables.
CREATE TABLE cache (id TEXT, expires NUMERIC, data BLOB);
CREATE UNIQUE INDEX idx ON cache(id ASC);
<?php
/**
* Container for all APC-based cache methods. Inherits additional methods from <CacheCore>. Adheres
* to the ICacheCore interface.
*
* @version 2009.10.10
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
* @link http://php.net/apc APC
*/
class CacheAPC extends CacheCore implements ICacheCore
{
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of this class.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public function __construct($name, $location, $expires, $gzip = true)
{
parent::__construct($name, null, $expires, $gzip);
$this->id = $this->name;
}
/**
* Creates a new cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function create($data)
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
return apc_add($this->id, $data, $this->expires);
}
/**
* Reads a cache.
*
* @return mixed Either the content of the cache object, or boolean `false`.
*/
public function read()
{
if ($data = apc_fetch($this->id))
{
$data = $this->gzip ? gzuncompress($data) : $data;
return unserialize($data);
}
return false;
}
/**
* Updates an existing cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function update($data)
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
return apc_store($this->id, $data, $this->expires);
}
/**
* Deletes a cache.
*
* @return boolean Whether the operation was successful.
*/
public function delete()
{
return apc_delete($this->id);
}
/**
* Implemented here, but always returns `false`. APC manages its own expirations.
*
* @return boolean Whether the cache is expired or not.
*/
public function is_expired()
{
return false;
}
/**
* Implemented here, but always returns `false`. APC manages its own expirations.
*
* @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
*/
public function timestamp()
{
return false;
}
/**
* Implemented here, but always returns `false`. APC manages its own expirations.
*
* @return boolean Whether the operation was successful.
*/
public function reset()
{
return false;
}
}
<?php
/**
* Container for all shared caching methods. This is not intended to be instantiated directly, but is
* extended by the cache-specific classes.
*
* @version 2010.10.13
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
*/
class CacheCore
{
/**
* A name to uniquely identify the cache object by.
*/
var $name;
/**
* Where to store the cache.
*/
var $location;
/**
* The number of seconds before a cache object is considered stale.
*/
var $expires;
/**
* Used internally to uniquely identify the location + name of the cache object.
*/
var $id;
/**
* Stores the time when the cache object was created.
*/
var $timestamp;
/**
* Stores whether or not the content should be gzipped when stored
*/
var $gzip;
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of this class.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public function __construct($name, $location, $expires, $gzip = true)
{
if (!extension_loaded('zlib'))
{
$gzip = false;
}
$this->name = $name;
$this->location = $location;
$this->expires = $expires;
$this->gzip = $gzip;
return $this;
}
/**
* Allows for chaining from the constructor. Requires PHP 5.3 or newer.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public static function init($name, $location, $expires, $gzip = true)
{
if (version_compare(PHP_VERSION, '5.3.0', '<'))
{
throw new Exception('PHP 5.3 or newer is required to use CacheCore::init().');
}
$self = get_called_class();
return new $self($name, $location, $expires, $gzip);
}
/**
* Provides a simple, straightforward cache-logic mechanism. Useful for non-complex response caches.
*
* @param string|function $callback (Required) The name of the function to fire when we need to fetch new data to cache.
* @param array params (Optional) Parameters to pass into the callback function, as an array.
* @return array The cached data being requested.
*/
public function response_manager($callback, $params = null)
{
// Automatically handle $params values.
$params = is_array($params) ? $params : array($params);
if ($data = $this->read())
{
if ($this->is_expired())
{
if ($data = call_user_func_array($callback, $params))
{
$this->update($data);
}
else
{
$this->reset();
$data = $this->read();
}
}
}
else
{
if ($data = call_user_func_array($callback, $params))
{
$this->create($data);
}
}
return $data;
}
}
/*%******************************************************************************************%*/
// CORE DEPENDENCIES
// Include the ICacheCore interface.
if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'icachecore.interface.php'))
{
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'icachecore.interface.php';
}
<?php
/**
* Container for all file-based cache methods. Inherits additional methods from <CacheCore>. Adheres
* to the ICacheCore interface.
*
* @version 2009.10.10
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
*/
class CacheFile extends CacheCore implements ICacheCore
{
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of this class.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public function __construct($name, $location, $expires, $gzip = true)
{
parent::__construct($name, $location, $expires, $gzip);
$this->id = $this->location . '/' . $this->name . '.cache';
}
/**
* Creates a new cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function create($data)
{
if (file_exists($this->id))
{
return false;
}
elseif (file_exists($this->location) && is_writeable($this->location))
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
return (bool) file_put_contents($this->id, $data);
}
return false;
}
/**
* Reads a cache.
*
* @return mixed Either the content of the cache object, or boolean `false`.
*/
public function read()
{
if (file_exists($this->id) && is_readable($this->id))
{
$data = file_get_contents($this->id);
$data = $this->gzip ? gzuncompress($data) : $data;
$data = unserialize($data);
if ($data === false)
{
/*
This should only happen when someone changes the gzip settings and there is
existing data or someone has been mucking about in the cache folder manually.
Delete the bad entry since the file cache doesn't clean up after itself and
then return false so fresh data will be retrieved.
*/
$this->delete();
return false;
}
return $data;
}
return false;
}
/**
* Updates an existing cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function update($data)
{
if (file_exists($this->id) && is_writeable($this->id))
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
return (bool) file_put_contents($this->id, $data);
}
return false;
}
/**
* Deletes a cache.
*
* @return boolean Whether the operation was successful.
*/
public function delete()
{
if (file_exists($this->id))
{
return unlink($this->id);
}
return false;
}
/**
* Checks whether the cache object is expired or not.
*
* @return boolean Whether the cache is expired or not.
*/
public function is_expired()
{
if ($this->timestamp() + $this->expires < time())
{
return true;
}
return false;
}
/**
* Retrieves the timestamp of the cache.
*
* @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
*/
public function timestamp()
{
clearstatcache();
if (file_exists($this->id))
{
$this->timestamp = filemtime($this->id);
return $this->timestamp;
}
return false;
}
/**
* Resets the freshness of the cache.
*
* @return boolean Whether the operation was successful.
*/
public function reset()
{
if (file_exists($this->id))
{
return touch($this->id);
}
return false;
}
}
<?php
/**
* Container for all Memcache-based cache methods. Inherits additional methods from <CacheCore>. Adheres
* to the ICacheCore interface.
*
* @version 2010.05.17
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
* @link http://php.net/memcache Memcache
* @link http://php.net/memcached Memcached
*/
class CacheMC extends CacheCore implements ICacheCore
{
/**
* Holds the Memcache object.
*/
var $memcache = null;
/**
* Whether the Memcached extension is being used (as opposed to Memcache).
*/
var $is_memcached = false;
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of this class.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public function __construct($name, $location, $expires, $gzip = true)
{
parent::__construct($name, null, $expires, $gzip);
$this->id = $this->name;
// Prefer Memcached over Memcache.
if (class_exists('Memcached'))
{
$this->memcache = new Memcached();
$this->is_memcached = true;
}
elseif (class_exists('Memcache'))
{
$this->memcache = new Memcache();
}
else
{
return false;
}
// Enable compression, if available
if ($this->gzip)
{
if ($this->is_memcached)
{
$this->memcache->setOption(Memcached::OPT_COMPRESSION, true);
}
else
{
$this->gzip = MEMCACHE_COMPRESSED;
}
}
// Process Memcached servers.
if (isset($location) && sizeof($location) > 0)
{
foreach ($location as $loc)
{
if (isset($loc['port']) && !empty($loc['port']))
{
$this->memcache->addServer($loc['host'], $loc['port']);
}
else
{
$this->memcache->addServer($loc['host'], 11211);
}
}
}
return $this;
}
/**
* Creates a new cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function create($data)
{
if ($this->is_memcached)
{
return $this->memcache->set($this->id, $data, $this->expires);
}
return $this->memcache->set($this->id, $data, $this->gzip, $this->expires);
}
/**
* Reads a cache.
*
* @return mixed Either the content of the cache object, or boolean `false`.
*/
public function read()
{
if ($this->is_memcached)
{
return $this->memcache->get($this->id);
}
return $this->memcache->get($this->id, $this->gzip);
}
/**
* Updates an existing cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function update($data)
{
if ($this->is_memcached)
{
return $this->memcache->replace($this->id, $data, $this->expires);
}
return $this->memcache->replace($this->id, $data, $this->gzip, $this->expires);
}
/**
* Deletes a cache.
*
* @return boolean Whether the operation was successful.
*/
public function delete()
{
return $this->memcache->delete($this->id);
}
/**
* Implemented here, but always returns `false`. Memcache manages its own expirations.
*
* @return boolean Whether the cache is expired or not.
*/
public function is_expired()
{
return false;
}
/**
* Implemented here, but always returns `false`. Memcache manages its own expirations.
*
* @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
*/
public function timestamp()
{
return false;
}
/**
* Implemented here, but always returns `false`. Memcache manages its own expirations.
*
* @return boolean Whether the operation was successful.
*/
public function reset()
{
return false;
}
}
<?php
/**
* Container for all PDO-based cache methods. Inherits additional methods from <CacheCore>. Adheres
* to the ICacheCore interface.
*
* @version 2009.10.10
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
* @link http://php.net/pdo PDO
*/
class CachePDO extends CacheCore implements ICacheCore
{
/**
* Reference to the PDO connection object.
*/
var $pdo = null;
/**
* Holds the parsed URL components.
*/
var $dsn = null;
/**
* Holds the PDO-friendly version of the connection string.
*/
var $dsn_string = null;
/**
* Holds the prepared statement for creating an entry.
*/
var $create = null;
/**
* Holds the prepared statement for reading an entry.
*/
var $read = null;
/**
* Holds the prepared statement for updating an entry.
*/
var $update = null;
/**
* Holds the prepared statement for resetting the expiry of an entry.
*/
var $reset = null;
/**
* Holds the prepared statement for deleting an entry.
*/
var $delete = null;
/**
* Holds the response of the read so we only need to fetch it once instead of doing
* multiple queries.
*/
var $store_read = null;
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of this class.
*
* Tested with [MySQL 5.0.x](http://mysql.com), [PostgreSQL](http://postgresql.com), and
* [SQLite 3.x](http://sqlite.org). SQLite 2.x is assumed to work. No other PDO-supported databases have
* been tested (e.g. Oracle, Microsoft SQL Server, IBM DB2, ODBC, Sybase, Firebird). Feel free to send
* patches for additional database support.
*
* See <http://php.net/pdo> for more information.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public function __construct($name, $location, $expires, $gzip = true)
{
// Make sure the name is no longer than 40 characters.
$name = sha1($name);
// Call parent constructor and set id.
parent::__construct($name, $location, $expires, $gzip);
$this->id = $this->name;
$options = array();
// Check if the location contains :// (e.g. mysql://user:pass@hostname:port/table)
if (stripos($location, '://') === false)
{
// No? Just pass it through.
$this->dsn = parse_url($location);
$this->dsn_string = $location;
}
else
{
// Yes? Parse and set the DSN
$this->dsn = parse_url($location);
$this->dsn_string = $this->dsn['scheme'] . ':host=' . $this->dsn['host'] . ((isset($this->dsn['port'])) ? ';port=' . $this->dsn['port'] : '') . ';dbname=' . substr($this->dsn['path'], 1);
}
// Make sure that user/pass are defined.
$user = isset($this->dsn['user']) ? $this->dsn['user'] : null;
$pass = isset($this->dsn['pass']) ? $this->dsn['pass'] : null;
// Set persistence for databases that support it.
switch ($this->dsn['scheme'])
{
case 'mysql': // MySQL
case 'pgsql': // PostgreSQL
$options[PDO::ATTR_PERSISTENT] = true;
break;
}
// Instantiate a new PDO object with a persistent connection.
$this->pdo = new PDO($this->dsn_string, $user, $pass, $options);
// Define prepared statements for improved performance.
$this->create = $this->pdo->prepare("INSERT INTO cache (id, expires, data) VALUES (:id, :expires, :data)");
$this->read = $this->pdo->prepare("SELECT id, expires, data FROM cache WHERE id = :id");
$this->reset = $this->pdo->prepare("UPDATE cache SET expires = :expires WHERE id = :id");
$this->delete = $this->pdo->prepare("DELETE FROM cache WHERE id = :id");
}
/**
* Creates a new cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function create($data)
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
$this->create->bindParam(':id', $this->id);
$this->create->bindParam(':data', $data);
$this->create->bindParam(':expires', $this->generate_timestamp());
return (bool) $this->create->execute();
}
/**
* Reads a cache.
*
* @return mixed Either the content of the cache object, or boolean `false`.
*/
public function read()
{
if (!$this->store_read)
{
$this->read->bindParam(':id', $this->id);
$this->read->execute();
$this->store_read = $this->read->fetch(PDO::FETCH_ASSOC);
}
if ($this->store_read)
{
$data = $this->store_read['data'];
$data = $this->gzip ? gzuncompress($data) : $data;
return unserialize($data);
}
return false;
}
/**
* Updates an existing cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function update($data)
{
$this->delete();
return $this->create($data);
}
/**
* Deletes a cache.
*
* @return boolean Whether the operation was successful.
*/
public function delete()
{
$this->delete->bindParam(':id', $this->id);
return $this->delete->execute();
}
/**
* Checks whether the cache object is expired or not.
*
* @return boolean Whether the cache is expired or not.
*/
public function is_expired()
{
if ($this->timestamp() + $this->expires < time())
{
return true;
}
return false;
}
/**
* Retrieves the timestamp of the cache.
*
* @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
*/
public function timestamp()
{
if (!$this->store_read)
{
$this->read->bindParam(':id', $this->id);
$this->read->execute();
$this->store_read = $this->read->fetch(PDO::FETCH_ASSOC);
}
if ($this->store_read)
{
$value = $this->store_read['expires'];
// If 'expires' isn't yet an integer, convert it into one.
if (!is_numeric($value))
{
$value = strtotime($value);
}
$this->timestamp = date('U', $value);
return $this->timestamp;
}
return false;
}
/**
* Resets the freshness of the cache.
*
* @return boolean Whether the operation was successful.
*/
public function reset()
{
$this->reset->bindParam(':id', $this->id);
$this->reset->bindParam(':expires', $this->generate_timestamp());
return (bool) $this->reset->execute();
}
/**
* Returns a list of supported PDO database drivers. Identical to <PDO::getAvailableDrivers()>.
*
* @return array The list of supported database drivers.
* @link http://php.net/pdo.getavailabledrivers PHP Method
*/
public function get_drivers()
{
return PDO::getAvailableDrivers();
}
/**
* Returns a timestamp value apropriate to the current database type.
*
* @return mixed Timestamp for MySQL and PostgreSQL, integer value for SQLite.
*/
protected function generate_timestamp()
{
// Define 'expires' settings differently.
switch ($this->dsn['scheme'])
{
// These support timestamps.
case 'mysql': // MySQL
case 'pgsql': // PostgreSQL
$expires = date(DATE_FORMAT_MYSQL, time());
break;
// These support integers.
case 'sqlite': // SQLite 3
case 'sqlite2': // SQLite 2
$expires = time();
break;
}
return $expires;
}
}
<?php
/**
* Container for all XCache-based cache methods. Inherits additional methods from <CacheCore>. Adheres
* to the ICacheCore interface.
*
* @version 2009.10.10
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
* @link http://xcache.lighttpd.net XCache
*/
class CacheXCache extends CacheCore implements ICacheCore
{
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of this class.
*
* @param string $name (Required) A name to uniquely identify the cache object.
* @param string $location (Required) The location to store the cache object in. This may vary by cache method.
* @param integer $expires (Required) The number of seconds until a cache object is considered stale.
* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.
* @return object Reference to the cache object.
*/
public function __construct($name, $location, $expires, $gzip = true)
{
parent::__construct($name, null, $expires, $gzip);
$this->id = $this->name;
}
/**
* Creates a new cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function create($data)
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
return xcache_set($this->id, $data, $this->expires);
}
/**
* Reads a cache.
*
* @return mixed Either the content of the cache object, or boolean `false`.
*/
public function read()
{
if ($data = xcache_get($this->id))
{
$data = $this->gzip ? gzuncompress($data) : $data;
return unserialize($data);
}
return false;
}
/**
* Updates an existing cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function update($data)
{
$data = serialize($data);
$data = $this->gzip ? gzcompress($data) : $data;
return xcache_set($this->id, $data, $this->expires);
}
/**
* Deletes a cache.
*
* @return boolean Whether the operation was successful.
*/
public function delete()
{
return xcache_unset($this->id);
}
/**
* Defined here, but always returns false. XCache manages it's own expirations. It's worth
* mentioning that if the server is configured for a long xcache.var_gc_interval then it IS
* possible for expired data to remain in the var cache, though it is not possible to access
* it.
*
* @return boolean Whether the cache is expired or not.
*/
public function is_expired()
{
return false;
}
/**
* Implemented here, but always returns `false`. XCache manages its own expirations.
*
* @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
*/
public function timestamp()
{
return false;
}
/**
* Implemented here, but always returns `false`. XCache manages its own expirations.
*
* @return boolean Whether the operation was successful.
*/
public function reset()
{
return false;
}
}
<?php
/**
* Defines the methods that all implementing classes MUST have. Covers CRUD (create, read, update,
* delete) methods, as well as others that are used in the base <CacheCore> class.
*
* @version 2009.03.22
* @copyright 2006-2010 Ryan Parman
* @copyright 2006-2010 Foleeo, Inc.
* @copyright 2008-2010 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
* @link http://github.com/skyzyx/cachecore CacheCore
* @link http://getcloudfusion.com CloudFusion
*/
interface ICacheCore
{
/**
* Creates a new cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function create($data);
/**
* Reads a cache.
*
* @return mixed Either the content of the cache object, or boolean `false`.
*/
public function read();
/**
* Updates an existing cache.
*
* @param mixed $data (Required) The data to cache.
* @return boolean Whether the operation was successful.
*/
public function update($data);
/**
* Deletes a cache.
*
* @return boolean Whether the operation was successful.
*/
public function delete();
/**
* Checks whether the cache object is expired or not.
*
* @return boolean Whether the cache is expired or not.
*/
public function is_expired();
/**
* Retrieves the timestamp of the cache.
*
* @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.
*/
public function timestamp();
/**
* Resets the freshness of the cache.
*
* @return boolean Whether the operation was successful.
*/
public function reset();
}
Copyright (c) 2006-2010 Ryan Parman, Foleeo Inc., and contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.
* Neither the name of Ryan Parman, Foleeo Inc. nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
A simple caching system for PHP5 that provides a single interface for a variety of storage types.
##
## ca-bundle.crt -- Bundle of CA Root Certificates
##
## Certificate data from Mozilla as of: Fri Sep 2 23:34:57 2011
##
## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates
## file (certdata.txt). This file can be found in the mozilla source tree:
## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
##
## It contains the certificates in PEM format and therefore
## can be directly used with curl / libcurl / php_curl, or with
## an Apache+mod_ssl webserver for SSL client authentication.
## Just configure this file as the SSLCACertificateFile.
##
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.79 $ $Date: 2011/09/02 19:40:56 $
GTE CyberTrust Global Root
==========================
-----BEGIN CERTIFICATE-----
MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
-----END CERTIFICATE-----
Thawte Server CA
================
-----BEGIN CERTIFICATE-----
MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
-----END CERTIFICATE-----
Thawte Premium Server CA
========================
-----BEGIN CERTIFICATE-----
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
UCemDaYj+bvLpgcUQg==
-----END CERTIFICATE-----
Equifax Secure CA
=================
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
70+sB3c4
-----END CERTIFICATE-----
Digital Signature Trust Co. Global CA 1
=======================================
-----BEGIN CERTIFICATE-----
MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
RbyhkwS7hp86W0N6w4pl
-----END CERTIFICATE-----
Digital Signature Trust Co. Global CA 3
=======================================
-----BEGIN CERTIFICATE-----
MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
mPnHfxsb1gYgAlihw6ID
-----END CERTIFICATE-----
Verisign Class 1 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTla
MF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3Mg
MSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0NH8xlbgyw
0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR4k5FVmkfeAKA2txHkSm7
NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATANBgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf
7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZoEWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnx
giJduLHdgSOjeyUVRjB5FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0A
NACY89FxlA==
-----END CERTIFICATE-----
Verisign Class 2 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmltYXJ5
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAy
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyhYGt+eSz6
Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7FYCTXOvnzAhsPz6zSvz/
S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBAIobK/o5wXTX
XtgZZKJYSi034DNHD6zt96rbHuSLBlxgJ8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUY
YAS/QoD90KioHgE796Ncr6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2
lw0Xd8rY
-----END CERTIFICATE-----
Verisign Class 3 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
Tqj/ZA1k
-----END CERTIFICATE-----
Verisign Class 1 Public Primary Certification Authority - G2
============================================================
-----BEGIN CERTIFICATE-----
MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
-----END CERTIFICATE-----
Verisign Class 2 Public Primary Certification Authority - G2
============================================================
-----BEGIN CERTIFICATE-----
MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
-----END CERTIFICATE-----
Verisign Class 3 Public Primary Certification Authority - G2
============================================================
-----BEGIN CERTIFICATE-----
MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
-----END CERTIFICATE-----
Verisign Class 4 Public Primary Certification Authority - G2
============================================================
-----BEGIN CERTIFICATE-----
MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4
xBewRNzjMHPVKmIquNDMHO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDH
qGKB3FtKqsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwIDAQAB
MA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwjcSGIL4LcY/oCRaxF
WdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0ycyfYaT5DdPauxYma51N86Xv2S/PB
ZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRPT8qAkbYp
-----END CERTIFICATE-----
GlobalSign Root CA
==================
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----
GlobalSign Root CA - R2
=======================
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
ValiCert Class 1 VA
===================
-----BEGIN CERTIFICATE-----
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
Orf1LXLI
-----END CERTIFICATE-----
ValiCert Class 2 VA
===================
-----BEGIN CERTIFICATE-----
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
W9ViH0Pd
-----END CERTIFICATE-----
RSA Root Certificate 1
======================
-----BEGIN CERTIFICATE-----
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
on+jjBXu
-----END CERTIFICATE-----
Verisign Class 1 Public Primary Certification Authority - G3
============================================================
-----BEGIN CERTIFICATE-----
MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
-----END CERTIFICATE-----
Verisign Class 2 Public Primary Certification Authority - G3
============================================================
-----BEGIN CERTIFICATE-----
MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
-----END CERTIFICATE-----
Verisign Class 3 Public Primary Certification Authority - G3
============================================================
-----BEGIN CERTIFICATE-----
MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
-----END CERTIFICATE-----
Verisign Class 4 Public Primary Certification Authority - G3
============================================================
-----BEGIN CERTIFICATE-----
MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
-----END CERTIFICATE-----
Entrust.net Secure Server CA
============================
-----BEGIN CERTIFICATE-----
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
-----END CERTIFICATE-----
Entrust.net Premium 2048 Secure Server CA
=========================================
-----BEGIN CERTIFICATE-----
MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
-----END CERTIFICATE-----
Baltimore CyberTrust Root
=========================
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
-----END CERTIFICATE-----
Equifax Secure Global eBusiness CA
==================================
-----BEGIN CERTIFICATE-----
MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
-----END CERTIFICATE-----
Equifax Secure eBusiness CA 1
=============================
-----BEGIN CERTIFICATE-----
MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
KpYrtWKmpj29f5JZzVoqgrI3eQ==
-----END CERTIFICATE-----
Equifax Secure eBusiness CA 2
=============================
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
V+GRMOrN
-----END CERTIFICATE-----
AddTrust Low-Value Services Root
================================
-----BEGIN CERTIFICATE-----
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
-----END CERTIFICATE-----
AddTrust External Root
======================
-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----
AddTrust Public Services Root
=============================
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
+YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
-----END CERTIFICATE-----
AddTrust Qualified Certificates Root
====================================
-----BEGIN CERTIFICATE-----
MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
-----END CERTIFICATE-----
Entrust Root Certification Authority
====================================
-----BEGIN CERTIFICATE-----
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
-----END CERTIFICATE-----
RSA Security 2048 v3
====================
-----BEGIN CERTIFICATE-----
MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
pKnXwiJPZ9d37CAFYd4=
-----END CERTIFICATE-----
GeoTrust Global CA
==================
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
Mw==
-----END CERTIFICATE-----
GeoTrust Global CA 2
====================
-----BEGIN CERTIFICATE-----
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
H4z1Ir+rzoPz4iIprn2DQKi6bA==
-----END CERTIFICATE-----
GeoTrust Universal CA
=====================
-----BEGIN CERTIFICATE-----
MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
P/rmMuGNG2+k5o7Y+SlIis5z/iw=
-----END CERTIFICATE-----
GeoTrust Universal CA 2
=======================
-----BEGIN CERTIFICATE-----
MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
-----END CERTIFICATE-----
UTN-USER First-Network Applications
===================================
-----BEGIN CERTIFICATE-----
MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
-----END CERTIFICATE-----
America Online Root Certification Authority 1
=============================================
-----BEGIN CERTIFICATE-----
MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
-----END CERTIFICATE-----
America Online Root Certification Authority 2
=============================================
-----BEGIN CERTIFICATE-----
MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
-----END CERTIFICATE-----
Visa eCommerce Root
===================
-----BEGIN CERTIFICATE-----
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
398znM/jra6O1I7mT1GvFpLgXPYHDw==
-----END CERTIFICATE-----
TC TrustCenter, Germany, Class 2 CA
===================================
-----BEGIN CERTIFICATE-----
MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI
EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig
U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD
bGFzcyAyIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05
ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt
YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg
MiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI
hvcNAQEBBQADgY0AMIGJAoGBANo46O0yAClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLs
qh1R1z2zUbKDTl3LSbDwTFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5N
u6hLVxa8/vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy
LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBAIRS+yjf
/x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ2
9ELw+HkuCkhcq8xRT3h2oNmsGb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/Ac
ASZ4smZHcFFk
-----END CERTIFICATE-----
TC TrustCenter, Germany, Class 3 CA
===================================
-----BEGIN CERTIFICATE-----
MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI
EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig
U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD
bGFzcyAzIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05
ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt
YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg
MyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI
hvcNAQEBBQADgY0AMIGJAoGBALa0wTUFLg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN
2U4CdhHBC/KNecoAtvGwDtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+7
7uMMfTDWw1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy
LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBABY9xs3B
u4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIETb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm
5gZOngylerpuw3yCGdHHsbHD2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQS
CdS7kjXvD9s0
-----END CERTIFICATE-----
Certum Root CA
==============
-----BEGIN CERTIFICATE-----
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
-----END CERTIFICATE-----
Comodo AAA Services root
========================
-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----
Comodo Secure Services root
===========================
-----BEGIN CERTIFICATE-----
MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
RR3B7Hzs/Sk=
-----END CERTIFICATE-----
Comodo Trusted Services root
============================
-----BEGIN CERTIFICATE-----
MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
9y5Xt5hwXsjEeLBi
-----END CERTIFICATE-----
QuoVadis Root CA
================
-----BEGIN CERTIFICATE-----
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
5nrQNiOKSnQ2+Q==
-----END CERTIFICATE-----
QuoVadis Root CA 2
==================
-----BEGIN CERTIFICATE-----
MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
+JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
-----END CERTIFICATE-----
QuoVadis Root CA 3
==================
-----BEGIN CERTIFICATE-----
MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
-----END CERTIFICATE-----
Security Communication Root CA
==============================
-----BEGIN CERTIFICATE-----
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
FL39vmwLAw==
-----END CERTIFICATE-----
Sonera Class 1 Root CA
======================
-----BEGIN CERTIFICATE-----
MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
IRlXvVWa
-----END CERTIFICATE-----
Sonera Class 2 Root CA
======================
-----BEGIN CERTIFICATE-----
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
llpwrN9M
-----END CERTIFICATE-----
Staat der Nederlanden Root CA
=============================
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
-----END CERTIFICATE-----
TDC Internet Root CA
====================
-----BEGIN CERTIFICATE-----
MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
-----END CERTIFICATE-----
TDC OCES Root CA
================
-----BEGIN CERTIFICATE-----
MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5
MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH
nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0
zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV
iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde
dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO
3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB
5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k
ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm
cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp
Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x
LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM
MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm
aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647
+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6
NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4
A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc
A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9
AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1
AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
-----END CERTIFICATE-----
UTN DATACorp SGC Root CA
========================
-----BEGIN CERTIFICATE-----
MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
-----END CERTIFICATE-----
UTN USERFirst Email Root CA
===========================
-----BEGIN CERTIFICATE-----
MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
-----END CERTIFICATE-----
UTN USERFirst Hardware Root CA
==============================
-----BEGIN CERTIFICATE-----
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
nfhmqA==
-----END CERTIFICATE-----
UTN USERFirst Object Root CA
============================
-----BEGIN CERTIFICATE-----
MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
-----END CERTIFICATE-----
Camerfirma Chambers of Commerce Root
====================================
-----BEGIN CERTIFICATE-----
MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
erfutGWaIZDgqtCYvDi1czyL+Nw=
-----END CERTIFICATE-----
Camerfirma Global Chambersign Root
==================================
-----BEGIN CERTIFICATE-----
MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
-----END CERTIFICATE-----
NetLock Qualified (Class QA) Root
=================================
-----BEGIN CERTIFICATE-----
MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
-----END CERTIFICATE-----
NetLock Notary (Class A) Root
=============================
-----BEGIN CERTIFICATE-----
MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
8CgHrTwXZoi1/baI
-----END CERTIFICATE-----
NetLock Business (Class B) Root
===============================
-----BEGIN CERTIFICATE-----
MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
-----END CERTIFICATE-----
NetLock Express (Class C) Root
==============================
-----BEGIN CERTIFICATE-----
MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
-----END CERTIFICATE-----
XRamp Global CA Root
====================
-----BEGIN CERTIFICATE-----
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
-----END CERTIFICATE-----
Go Daddy Class 2 CA
===================
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
vZ8=
-----END CERTIFICATE-----
Starfield Class 2 CA
====================
-----BEGIN CERTIFICATE-----
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
QBFGmh95DmK/D5fs4C8fF5Q=
-----END CERTIFICATE-----
StartCom Certification Authority
================================
-----BEGIN CERTIFICATE-----
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
g14=
-----END CERTIFICATE-----
Taiwan GRCA
===========
-----BEGIN CERTIFICATE-----
MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
-----END CERTIFICATE-----
Firmaprofesional Root CA
========================
-----BEGIN CERTIFICATE-----
MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
-----END CERTIFICATE-----
Wells Fargo Root CA
===================
-----BEGIN CERTIFICATE-----
MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
-----END CERTIFICATE-----
Swisscom Root CA 1
==================
-----BEGIN CERTIFICATE-----
MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
NY6E0F/6MBr1mmz0DlP5OlvRHA==
-----END CERTIFICATE-----
DigiCert Assured ID Root CA
===========================
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE-----
DigiCert Global Root CA
=======================
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----
DigiCert High Assurance EV Root CA
==================================
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
-----END CERTIFICATE-----
Certplus Class 2 Primary CA
===========================
-----BEGIN CERTIFICATE-----
MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
l7+ijrRU
-----END CERTIFICATE-----
DST Root CA X3
==============
-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----
DST ACES CA X6
==============
-----BEGIN CERTIFICATE-----
MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
oKfN5XozNmr6mis=
-----END CERTIFICATE-----
TURKTRUST Certificate Services Provider Root 1
==============================================
-----BEGIN CERTIFICATE-----
MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
-----END CERTIFICATE-----
TURKTRUST Certificate Services Provider Root 2
==============================================
-----BEGIN CERTIFICATE-----
MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
UrbnBEI=
-----END CERTIFICATE-----
SwissSign Platinum CA - G2
==========================
-----BEGIN CERTIFICATE-----
MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
+m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
-----END CERTIFICATE-----
SwissSign Gold CA - G2
======================
-----BEGIN CERTIFICATE-----
MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
-----END CERTIFICATE-----
SwissSign Silver CA - G2
========================
-----BEGIN CERTIFICATE-----
MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
-----END CERTIFICATE-----
GeoTrust Primary Certification Authority
========================================
-----BEGIN CERTIFICATE-----
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
-----END CERTIFICATE-----
thawte Primary Root CA
======================
-----BEGIN CERTIFICATE-----
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
-----END CERTIFICATE-----
VeriSign Class 3 Public Primary Certification Authority - G5
============================================================
-----BEGIN CERTIFICATE-----
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
-----END CERTIFICATE-----
SecureTrust CA
==============
-----BEGIN CERTIFICATE-----
MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
-----END CERTIFICATE-----
Secure Global CA
================
-----BEGIN CERTIFICATE-----
MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
-----END CERTIFICATE-----
COMODO Certification Authority
==============================
-----BEGIN CERTIFICATE-----
MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
-----END CERTIFICATE-----
Network Solutions Certificate Authority
=======================================
-----BEGIN CERTIFICATE-----
MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
-----END CERTIFICATE-----
WellsSecure Public Root Certificate Authority
=============================================
-----BEGIN CERTIFICATE-----
MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
tylv2G0xffX8oRAHh84vWdw+WNs=
-----END CERTIFICATE-----
COMODO ECC Certification Authority
==================================
-----BEGIN CERTIFICATE-----
MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
-----END CERTIFICATE-----
IGC/A
=====
-----BEGIN CERTIFICATE-----
MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
0mBWWg==
-----END CERTIFICATE-----
Security Communication EV RootCA1
=================================
-----BEGIN CERTIFICATE-----
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
-----END CERTIFICATE-----
OISTE WISeKey Global Root GA CA
===============================
-----BEGIN CERTIFICATE-----
MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
-----END CERTIFICATE-----
S-TRUST Authentication and Encryption Root CA 2005 PN
=====================================================
-----BEGIN CERTIFICATE-----
MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh
cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT
LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w
NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk
ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj
aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp
b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob
4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL
g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf
eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3
KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB
/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv
bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU
D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD
pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08
P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA
nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit
F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b
Hz2eBIPdltkdOpQ=
-----END CERTIFICATE-----
Microsec e-Szigno Root CA
=========================
-----BEGIN CERTIFICATE-----
MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
-----END CERTIFICATE-----
Certigna
========
-----BEGIN CERTIFICATE-----
MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
-----END CERTIFICATE-----
AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
======================================
-----BEGIN CERTIFICATE-----
MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT
AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg
LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w
HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+
U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh
IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN
yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU
2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3
4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP
2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm
8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf
HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa
Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK
5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b
czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g
ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF
BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug
cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf
AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX
EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v
/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3
MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4
3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk
eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f
/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h
RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU
Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ==
-----END CERTIFICATE-----
TC TrustCenter Class 2 CA II
============================
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
vQ==
-----END CERTIFICATE-----
TC TrustCenter Class 3 CA II
============================
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw
MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE
AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W
yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo
6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ
uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk
2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB
7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE
O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8
yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9
IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal
092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc
5A==
-----END CERTIFICATE-----
TC TrustCenter Universal CA I
=============================
-----BEGIN CERTIFICATE-----
MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
-----END CERTIFICATE-----
Deutsche Telekom Root CA 2
==========================
-----BEGIN CERTIFICATE-----
MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
Cm26OWMohpLzGITY+9HPBVZkVw==
-----END CERTIFICATE-----
ComSign CA
==========
-----BEGIN CERTIFICATE-----
MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD
EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy
MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp
Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q
ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy
P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN
GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk
YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM
rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy
oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P
AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+
VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2
QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI
mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb
/627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG
zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U
AGegcQCCSA==
-----END CERTIFICATE-----
ComSign Secured CA
==================
-----BEGIN CERTIFICATE-----
MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
-----END CERTIFICATE-----
Cybertrust Global Root
======================
-----BEGIN CERTIFICATE-----
MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
WL1WMRJOEcgh4LMRkWXbtKaIOM5V
-----END CERTIFICATE-----
ePKI Root Certification Authority
=================================
-----BEGIN CERTIFICATE-----
MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
-----END CERTIFICATE-----
T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
=============================================================================================================================
-----BEGIN CERTIFICATE-----
MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
-----END CERTIFICATE-----
Buypass Class 2 CA 1
====================
-----BEGIN CERTIFICATE-----
MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
-----END CERTIFICATE-----
Buypass Class 3 CA 1
====================
-----BEGIN CERTIFICATE-----
MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
-----END CERTIFICATE-----
EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
==========================================================================
-----BEGIN CERTIFICATE-----
MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe
Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p
ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG
SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by
X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr
eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ
TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy
Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn
uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI
qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm
ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW
Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t
FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm
zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k
XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT
bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK
1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt
2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9
AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
-----END CERTIFICATE-----
certSIGN ROOT CA
================
-----BEGIN CERTIFICATE-----
MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
-----END CERTIFICATE-----
CNNIC ROOT
==========
-----BEGIN CERTIFICATE-----
MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
mxE=
-----END CERTIFICATE-----
ApplicationCA - Japanese Government
===================================
-----BEGIN CERTIFICATE-----
MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
rosot4LKGAfmt1t06SAZf7IbiVQ=
-----END CERTIFICATE-----
GeoTrust Primary Certification Authority - G3
=============================================
-----BEGIN CERTIFICATE-----
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
-----END CERTIFICATE-----
thawte Primary Root CA - G2
===========================
-----BEGIN CERTIFICATE-----
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
-----END CERTIFICATE-----
thawte Primary Root CA - G3
===========================
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
-----END CERTIFICATE-----
GeoTrust Primary Certification Authority - G2
=============================================
-----BEGIN CERTIFICATE-----
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
npaqBA+K
-----END CERTIFICATE-----
VeriSign Universal Root Certification Authority
===============================================
-----BEGIN CERTIFICATE-----
MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
mJO37M2CYfE45k+XmCpajQ==
-----END CERTIFICATE-----
VeriSign Class 3 Public Primary Certification Authority - G4
============================================================
-----BEGIN CERTIFICATE-----
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
-----END CERTIFICATE-----
NetLock Arany (Class Gold) Főtanúsítvány
============================================
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
-----END CERTIFICATE-----
Staat der Nederlanden Root CA - G2
==================================
-----BEGIN CERTIFICATE-----
MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
66+KAQ==
-----END CERTIFICATE-----
CA Disig
========
-----BEGIN CERTIFICATE-----
MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
4Z7CRneC9VkGjCFMhwnN5ag=
-----END CERTIFICATE-----
Juur-SK
=======
-----BEGIN CERTIFICATE-----
MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
yyqcjg==
-----END CERTIFICATE-----
Hongkong Post Root CA 1
=======================
-----BEGIN CERTIFICATE-----
MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
-----END CERTIFICATE-----
SecureSign RootCA11
===================
-----BEGIN CERTIFICATE-----
MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
-----END CERTIFICATE-----
ACEDICOM Root
=============
-----BEGIN CERTIFICATE-----
MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
-----END CERTIFICATE-----
Verisign Class 1 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ
VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2
yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa
XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n
0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ
RjXZ+Hxb
-----END CERTIFICATE-----
Verisign Class 3 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky
CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX
bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/
D/xwzoiQ
-----END CERTIFICATE-----
Microsec e-Szigno Root CA 2009
==============================
-----BEGIN CERTIFICATE-----
MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
LXpUq3DDfSJlgnCW
-----END CERTIFICATE-----
E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
===================================================
-----BEGIN CERTIFICATE-----
MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz
ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3
MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0
cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u
aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY
8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y
jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI
JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk
9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD
AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG
SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d
F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq
D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4
Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
-----END CERTIFICATE-----
GlobalSign Root CA - R3
=======================
-----BEGIN CERTIFICATE-----
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
kpeDMdmztcpHWD9f
-----END CERTIFICATE-----
TC TrustCenter Universal CA III
===============================
-----BEGIN CERTIFICATE-----
MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe
Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU
QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex
KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt
QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO
juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut
CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1
M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G
A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA
g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+
KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK
BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq
woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
-----END CERTIFICATE-----
Autoridad de Certificacion Firmaprofesional CIF A62634068
=========================================================
-----BEGIN CERTIFICATE-----
MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
-----END CERTIFICATE-----
Izenpe.com
==========
-----BEGIN CERTIFICATE-----
MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
-----END CERTIFICATE-----
Chambers of Commerce Root - 2008
================================
-----BEGIN CERTIFICATE-----
MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
-----END CERTIFICATE-----
Global Chambersign Root - 2008
==============================
-----BEGIN CERTIFICATE-----
MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
-----END CERTIFICATE-----
Go Daddy Root Certificate Authority - G2
========================================
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
-----END CERTIFICATE-----
Starfield Root Certificate Authority - G2
=========================================
-----BEGIN CERTIFICATE-----
MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
-----END CERTIFICATE-----
Starfield Services Root Certificate Authority - G2
==================================================
-----BEGIN CERTIFICATE-----
MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
-----END CERTIFICATE-----
AffirmTrust Commercial
======================
-----BEGIN CERTIFICATE-----
MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
-----END CERTIFICATE-----
AffirmTrust Networking
======================
-----BEGIN CERTIFICATE-----
MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
-----END CERTIFICATE-----
AffirmTrust Premium
===================
-----BEGIN CERTIFICATE-----
MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
-----END CERTIFICATE-----
AffirmTrust Premium ECC
=======================
-----BEGIN CERTIFICATE-----
MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
eQ==
-----END CERTIFICATE-----
Certum Trusted Network CA
=========================
-----BEGIN CERTIFICATE-----
MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
-----END CERTIFICATE-----
Certinomis - Autorité Racine
=============================
-----BEGIN CERTIFICATE-----
MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
vgt2Fl43N+bYdJeimUV5
-----END CERTIFICATE-----
Root CA Generalitat Valenciana
==============================
-----BEGIN CERTIFICATE-----
MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
-----END CERTIFICATE-----
A-Trust-nQual-03
================
-----BEGIN CERTIFICATE-----
MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
ahq97BvIxYSazQ==
-----END CERTIFICATE-----
TWCA Root Certification Authority
=================================
-----BEGIN CERTIFICATE-----
MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
-----END CERTIFICATE-----
Copyright (c) 2006-2010 Ryan Parman, Foleeo Inc., and contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.
* Neither the name of Ryan Parman, Foleeo Inc. nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

RequestCore

RequestCore is a lightweight cURL-based HTTP request/response class that leverages MultiCurl for parallel requests.

PEAR HTTP_Request?

RequestCore was written as a replacement for PEAR HTTP_Request. While PEAR HTTP_Request is full-featured and heavy, RequestCore features only the essentials and is very lightweight. It also leverages the batch request support in cURL's curl_multi_exec() to enable multi-threaded requests that fire in parallel.

Reference and Download

You can find the class reference at http://skyzyx.github.com/requestcore/. You can get the code from http://github.com/skyzyx/requestcore.

License and Copyright

This code is Copyright (c) 2008-2010, Ryan Parman. However, I'm licensing this code for others to use under the Simplified BSD license.

<?php
/**
* Handles all HTTP requests using cURL and manages the responses.
*
* @version 2012.01.17
* @copyright 2006-2011 Ryan Parman
* @copyright 2006-2010 Foleeo Inc.
* @copyright 2010-2011 Amazon.com, Inc. or its affiliates.
* @copyright 2008-2011 Contributors
* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License
*/
class RequestCore
{
/**
* The URL being requested.
*/
public $request_url;
/**
* The headers being sent in the request.
*/
public $request_headers;
/**
* The body being sent in the request.
*/
public $request_body;
/**
* The response returned by the request.
*/
public $response;
/**
* The headers returned by the request.
*/
public $response_headers;
/**
* The body returned by the request.
*/
public $response_body;
/**
* The HTTP status code returned by the request.
*/
public $response_code;
/**
* Additional response data.
*/
public $response_info;
/**
* The handle for the cURL object.
*/
public $curl_handle;
/**
* The method by which the request is being made.
*/
public $method;
/**
* Stores the proxy settings to use for the request.
*/
public $proxy = null;
/**
* The username to use for the request.
*/
public $username = null;
/**
* The password to use for the request.
*/
public $password = null;
/**
* Custom CURLOPT settings.
*/
public $curlopts = null;
/**
* The state of debug mode.
*/
public $debug_mode = false;
/**
* The default class to use for HTTP Requests (defaults to <RequestCore>).
*/
public $request_class = 'RequestCore';
/**
* The default class to use for HTTP Responses (defaults to <ResponseCore>).
*/
public $response_class = 'ResponseCore';
/**
* Default useragent string to use.
*/
public $useragent = 'RequestCore/1.4.4';
/**
* File to read from while streaming up.
*/
public $read_file = null;
/**
* The resource to read from while streaming up.
*/
public $read_stream = null;
/**
* The size of the stream to read from.
*/
public $read_stream_size = null;
/**
* The length already read from the stream.
*/
public $read_stream_read = 0;
/**
* File to write to while streaming down.
*/
public $write_file = null;
/**
* The resource to write to while streaming down.
*/
public $write_stream = null;
/**
* Stores the intended starting seek position.
*/
public $seek_position = null;
/**
* The location of the cacert.pem file to use.
*/
public $cacert_location = false;
/**
* The state of SSL certificate verification.
*/
public $ssl_verification = true;
/**
* The user-defined callback function to call when a stream is read from.
*/
public $registered_streaming_read_callback = null;
/**
* The user-defined callback function to call when a stream is written to.
*/
public $registered_streaming_write_callback = null;
/*%******************************************************************************************%*/
// CONSTANTS
/**
* GET HTTP Method
*/
const HTTP_GET = 'GET';
/**
* POST HTTP Method
*/
const HTTP_POST = 'POST';
/**
* PUT HTTP Method
*/
const HTTP_PUT = 'PUT';
/**
* DELETE HTTP Method
*/
const HTTP_DELETE = 'DELETE';
/**
* HEAD HTTP Method
*/
const HTTP_HEAD = 'HEAD';
/*%******************************************************************************************%*/
// CONSTRUCTOR/DESTRUCTOR
/**
* Constructs a new instance of this class.
*
* @param string $url (Optional) The URL to request or service endpoint to query.
* @param string $proxy (Optional) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port`
* @param array $helpers (Optional) An associative array of classnames to use for request, and response functionality. Gets passed in automatically by the calling class.
* @return $this A reference to the current instance.
*/
public function __construct($url = null, $proxy = null, $helpers = null)
{
// Set some default values.
$this->request_url = $url;
$this->method = self::HTTP_GET;
$this->request_headers = array();
$this->request_body = '';
// Set a new Request class if one was set.
if (isset($helpers['request']) && !empty($helpers['request']))
{
$this->request_class = $helpers['request'];
}
// Set a new Request class if one was set.
if (isset($helpers['response']) && !empty($helpers['response']))
{
$this->response_class = $helpers['response'];
}
if ($proxy)
{
$this->set_proxy($proxy);
}
return $this;
}
/**
* Destructs the instance. Closes opened file handles.
*
* @return $this A reference to the current instance.
*/
public function __destruct()
{
if (isset($this->read_file) && isset($this->read_stream))
{
fclose($this->read_stream);
}
if (isset($this->write_file) && isset($this->write_stream))
{
fclose($this->write_stream);
}
return $this;
}
/*%******************************************************************************************%*/
// REQUEST METHODS
/**
* Sets the credentials to use for authentication.
*
* @param string $user (Required) The username to authenticate with.
* @param string $pass (Required) The password to authenticate with.
* @return $this A reference to the current instance.
*/
public function set_credentials($user, $pass)
{
$this->username = $user;
$this->password = $pass;
return $this;
}
/**
* Adds a custom HTTP header to the cURL request.
*
* @param string $key (Required) The custom HTTP header to set.
* @param mixed $value (Required) The value to assign to the custom HTTP header.
* @return $this A reference to the current instance.
*/
public function add_header($key, $value)
{
$this->request_headers[$key] = $value;
return $this;
}
/**
* Removes an HTTP header from the cURL request.
*
* @param string $key (Required) The custom HTTP header to set.
* @return $this A reference to the current instance.
*/
public function remove_header($key)
{
if (isset($this->request_headers[$key]))
{
unset($this->request_headers[$key]);
}
return $this;
}
/**
* Set the method type for the request.
*
* @param string $method (Required) One of the following constants: <HTTP_GET>, <HTTP_POST>, <HTTP_PUT>, <HTTP_HEAD>, <HTTP_DELETE>.
* @return $this A reference to the current instance.
*/
public function set_method($method)
{
$this->method = strtoupper($method);
return $this;
}
/**
* Sets a custom useragent string for the class.
*
* @param string $ua (Required) The useragent string to use.
* @return $this A reference to the current instance.
*/
public function set_useragent($ua)
{
$this->useragent = $ua;
return $this;
}
/**
* Set the body to send in the request.
*
* @param string $body (Required) The textual content to send along in the body of the request.
* @return $this A reference to the current instance.
*/
public function set_body($body)
{
$this->request_body = $body;
return $this;
}
/**
* Set the URL to make the request to.
*
* @param string $url (Required) The URL to make the request to.
* @return $this A reference to the current instance.
*/
public function set_request_url($url)
{
$this->request_url = $url;
return $this;
}
/**
* Set additional CURLOPT settings. These will merge with the default settings, and override if
* there is a duplicate.
*
* @param array $curlopts (Optional) A set of key-value pairs that set `CURLOPT` options. These will merge with the existing CURLOPTs, and ones passed here will override the defaults. Keys should be the `CURLOPT_*` constants, not strings.
* @return $this A reference to the current instance.
*/
public function set_curlopts($curlopts)
{
$this->curlopts = $curlopts;
return $this;
}
/**
* Sets the length in bytes to read from the stream while streaming up.
*
* @param integer $size (Required) The length in bytes to read from the stream.
* @return $this A reference to the current instance.
*/
public function set_read_stream_size($size)
{
$this->read_stream_size = $size;
return $this;
}
/**
* Sets the resource to read from while streaming up. Reads the stream from its current position until
* EOF or `$size` bytes have been read. If `$size` is not given it will be determined by <php:fstat()> and
* <php:ftell()>.
*
* @param resource $resource (Required) The readable resource to read from.
* @param integer $size (Optional) The size of the stream to read.
* @return $this A reference to the current instance.
*/
public function set_read_stream($resource, $size = null)
{
if (!isset($size) || $size < 0)
{
$stats = fstat($resource);
if ($stats && $stats['size'] >= 0)
{
$position = ftell($resource);
if ($position !== false && $position >= 0)
{
$size = $stats['size'] - $position;
}
}
}
$this->read_stream = $resource;
return $this->set_read_stream_size($size);
}
/**
* Sets the file to read from while streaming up.
*
* @param string $location (Required) The readable location to read from.
* @return $this A reference to the current instance.
*/
public function set_read_file($location)
{
$this->read_file = $location;
$read_file_handle = fopen($location, 'r');
return $this->set_read_stream($read_file_handle);
}
/**
* Sets the resource to write to while streaming down.
*
* @param resource $resource (Required) The writeable resource to write to.
* @return $this A reference to the current instance.
*/
public function set_write_stream($resource)
{
$this->write_stream = $resource;
return $this;
}
/**
* Sets the file to write to while streaming down.
*
* @param string $location (Required) The writeable location to write to.
* @return $this A reference to the current instance.
*/
public function set_write_file($location)
{
$this->write_file = $location;
$write_file_handle = fopen($location, 'w');
return $this->set_write_stream($write_file_handle);
}
/**
* Set the proxy to use for making requests.
*
* @param string $proxy (Required) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port`
* @return $this A reference to the current instance.
*/
public function set_proxy($proxy)
{
$proxy = parse_url($proxy);
$proxy['user'] = isset($proxy['user']) ? $proxy['user'] : null;
$proxy['pass'] = isset($proxy['pass']) ? $proxy['pass'] : null;
$proxy['port'] = isset($proxy['port']) ? $proxy['port'] : null;
$this->proxy = $proxy;
return $this;
}
/**
* Set the intended starting seek position.
*
* @param integer $position (Required) The byte-position of the stream to begin reading from.
* @return $this A reference to the current instance.
*/
public function set_seek_position($position)
{
$this->seek_position = isset($position) ? (integer) $position : null;
return $this;
}
/**
* Register a callback function to execute whenever a data stream is read from using
* <CFRequest::streaming_read_callback()>.
*
* The user-defined callback function should accept three arguments:
*
* <ul>
* <li><code>$curl_handle</code> - <code>resource</code> - Required - The cURL handle resource that represents the in-progress transfer.</li>
* <li><code>$file_handle</code> - <code>resource</code> - Required - The file handle resource that represents the file on the local file system.</li>
* <li><code>$length</code> - <code>integer</code> - Required - The length in kilobytes of the data chunk that was transferred.</li>
* </ul>
*
* @param string|array|function $callback (Required) The callback function is called by <php:call_user_func()>, so you can pass the following values: <ul>
* <li>The name of a global function to execute, passed as a string.</li>
* <li>A method to execute, passed as <code>array('ClassName', 'MethodName')</code>.</li>
* <li>An anonymous function (PHP 5.3+).</li></ul>
* @return $this A reference to the current instance.
*/
public function register_streaming_read_callback($callback)
{
$this->registered_streaming_read_callback = $callback;
return $this;
}
/**
* Register a callback function to execute whenever a data stream is written to using
* <CFRequest::streaming_write_callback()>.
*
* The user-defined callback function should accept two arguments:
*
* <ul>
* <li><code>$curl_handle</code> - <code>resource</code> - Required - The cURL handle resource that represents the in-progress transfer.</li>
* <li><code>$length</code> - <code>integer</code> - Required - The length in kilobytes of the data chunk that was transferred.</li>
* </ul>
*
* @param string|array|function $callback (Required) The callback function is called by <php:call_user_func()>, so you can pass the following values: <ul>
* <li>The name of a global function to execute, passed as a string.</li>
* <li>A method to execute, passed as <code>array('ClassName', 'MethodName')</code>.</li>
* <li>An anonymous function (PHP 5.3+).</li></ul>
* @return $this A reference to the current instance.
*/
public function register_streaming_write_callback($callback)
{
$this->registered_streaming_write_callback = $callback;
return $this;
}
/*%******************************************************************************************%*/
// PREPARE, SEND, AND PROCESS REQUEST
/**
* A callback function that is invoked by cURL for streaming up.
*
* @param resource $curl_handle (Required) The cURL handle for the request.
* @param resource $file_handle (Required) The open file handle resource.
* @param integer $length (Required) The maximum number of bytes to read.
* @return binary Binary data from a stream.
*/
public function streaming_read_callback($curl_handle, $file_handle, $length)
{
// Once we've sent as much as we're supposed to send...
if ($this->read_stream_read >= $this->read_stream_size)
{
// Send EOF
return '';
}
// If we're at the beginning of an upload and need to seek...
if ($this->read_stream_read == 0 && isset($this->seek_position) && $this->seek_position !== ftell($this->read_stream))
{
if (fseek($this->read_stream, $this->seek_position) !== 0)
{
throw new RequestCore_Exception('The stream does not support seeking and is either not at the requested position or the position is unknown.');
}
}
$read = fread($this->read_stream, min($this->read_stream_size - $this->read_stream_read, $length)); // Remaining upload data or cURL's requested chunk size
$this->read_stream_read += strlen($read);
$out = $read === false ? '' : $read;
// Execute callback function
if ($this->registered_streaming_read_callback)
{
call_user_func($this->registered_streaming_read_callback, $curl_handle, $file_handle, $out);
}
return $out;
}
/**
* A callback function that is invoked by cURL for streaming down.
*
* @param resource $curl_handle (Required) The cURL handle for the request.
* @param binary $data (Required) The data to write.
* @return integer The number of bytes written.
*/
public function streaming_write_callback($curl_handle, $data)
{
$length = strlen($data);
$written_total = 0;
$written_last = 0;
while ($written_total < $length)
{
$written_last = fwrite($this->write_stream, substr($data, $written_total));
if ($written_last === false)
{
return $written_total;
}
$written_total += $written_last;
}
// Execute callback function
if ($this->registered_streaming_write_callback)
{
call_user_func($this->registered_streaming_write_callback, $curl_handle, $written_total);
}
return $written_total;
}
/**
* Prepares and adds the details of the cURL request. This can be passed along to a <php:curl_multi_exec()>
* function.
*
* @return resource The handle for the cURL object.
*/
public function prep_request()
{
$curl_handle = curl_init();
// Set default options.
curl_setopt($curl_handle, CURLOPT_URL, $this->request_url);
curl_setopt($curl_handle, CURLOPT_FILETIME, true);
curl_setopt($curl_handle, CURLOPT_FRESH_CONNECT, false);
curl_setopt($curl_handle, CURLOPT_CLOSEPOLICY, CURLCLOSEPOLICY_LEAST_RECENTLY_USED);
curl_setopt($curl_handle, CURLOPT_MAXREDIRS, 5);
curl_setopt($curl_handle, CURLOPT_HEADER, true);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_handle, CURLOPT_TIMEOUT, 5184000);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($curl_handle, CURLOPT_NOSIGNAL, true);
curl_setopt($curl_handle, CURLOPT_REFERER, $this->request_url);
curl_setopt($curl_handle, CURLOPT_USERAGENT, $this->useragent);
curl_setopt($curl_handle, CURLOPT_READFUNCTION, array($this, 'streaming_read_callback'));
// Verification of the SSL cert
if ($this->ssl_verification)
{
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, true);
}
else
{
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, false);
}
// chmod the file as 0755
if ($this->cacert_location === true)
{
curl_setopt($curl_handle, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
}
elseif (is_string($this->cacert_location))
{
curl_setopt($curl_handle, CURLOPT_CAINFO, $this->cacert_location);
}
// Debug mode
if ($this->debug_mode)
{
curl_setopt($curl_handle, CURLOPT_VERBOSE, true);
}
// Handle open_basedir & safe mode
if (!ini_get('safe_mode') && !ini_get('open_basedir'))
{
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true);
}
// Enable a proxy connection if requested.
if ($this->proxy)
{
curl_setopt($curl_handle, CURLOPT_HTTPPROXYTUNNEL, true);
$host = $this->proxy['host'];
$host .= ($this->proxy['port']) ? ':' . $this->proxy['port'] : '';
curl_setopt($curl_handle, CURLOPT_PROXY, $host);
if (isset($this->proxy['user']) && isset($this->proxy['pass']))
{
curl_setopt($curl_handle, CURLOPT_PROXYUSERPWD, $this->proxy['user'] . ':' . $this->proxy['pass']);
}
}
// Set credentials for HTTP Basic/Digest Authentication.
if ($this->username && $this->password)
{
curl_setopt($curl_handle, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl_handle, CURLOPT_USERPWD, $this->username . ':' . $this->password);
}
// Handle the encoding if we can.
if (extension_loaded('zlib'))
{
curl_setopt($curl_handle, CURLOPT_ENCODING, 'gzip, deflate');
}
// Process custom headers
if (isset($this->request_headers) && count($this->request_headers))
{
$temp_headers = array();
foreach ($this->request_headers as $k => $v)
{
$temp_headers[] = $k . ': ' . $v;
}
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $temp_headers);
}
switch ($this->method)
{
case self::HTTP_PUT:
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'PUT');
if (isset($this->read_stream))
{
if (!isset($this->read_stream_size) || $this->read_stream_size < 0)
{
throw new RequestCore_Exception('The stream size for the streaming upload cannot be determined.');
}
curl_setopt($curl_handle, CURLOPT_INFILESIZE, $this->read_stream_size);
curl_setopt($curl_handle, CURLOPT_UPLOAD, true);
}
else
{
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $this->request_body);
}
break;
case self::HTTP_POST:
curl_setopt($curl_handle, CURLOPT_POST, true);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $this->request_body);
break;
case self::HTTP_HEAD:
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, self::HTTP_HEAD);
curl_setopt($curl_handle, CURLOPT_NOBODY, 1);
break;
default: // Assumed GET
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, $this->method);
if (isset($this->write_stream))
{
curl_setopt($curl_handle, CURLOPT_WRITEFUNCTION, array($this, 'streaming_write_callback'));
curl_setopt($curl_handle, CURLOPT_HEADER, false);
}
else
{
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $this->request_body);
}
break;
}
// Merge in the CURLOPTs
if (isset($this->curlopts) && sizeof($this->curlopts) > 0)
{
foreach ($this->curlopts as $k => $v)
{
curl_setopt($curl_handle, $k, $v);
}
}
return $curl_handle;
}
/**
* Take the post-processed cURL data and break it down into useful header/body/info chunks. Uses the
* data stored in the `curl_handle` and `response` properties unless replacement data is passed in via
* parameters.
*
* @param resource $curl_handle (Optional) The reference to the already executed cURL request.
* @param string $response (Optional) The actual response content itself that needs to be parsed.
* @return ResponseCore A <ResponseCore> object containing a parsed HTTP response.
*/
public function process_response($curl_handle = null, $response = null)
{
// Accept a custom one if it's passed.
if ($curl_handle && $response)
{
$this->curl_handle = $curl_handle;
$this->response = $response;
}
// As long as this came back as a valid resource...
if (is_resource($this->curl_handle))
{
// Determine what's what.
$header_size = curl_getinfo($this->curl_handle, CURLINFO_HEADER_SIZE);
$this->response_headers = substr($this->response, 0, $header_size);
$this->response_body = substr($this->response, $header_size);
$this->response_code = curl_getinfo($this->curl_handle, CURLINFO_HTTP_CODE);
$this->response_info = curl_getinfo($this->curl_handle);
// Parse out the headers
$this->response_headers = explode("\r\n\r\n", trim($this->response_headers));
$this->response_headers = array_pop($this->response_headers);
$this->response_headers = explode("\r\n", $this->response_headers);
array_shift($this->response_headers);
// Loop through and split up the headers.
$header_assoc = array();
foreach ($this->response_headers as $header)
{
$kv = explode(': ', $header);
$header_assoc[strtolower($kv[0])] = $kv[1];
}
// Reset the headers to the appropriate property.
$this->response_headers = $header_assoc;
$this->response_headers['_info'] = $this->response_info;
$this->response_headers['_info']['method'] = $this->method;
if ($curl_handle && $response)
{
return new $this->response_class($this->response_headers, $this->response_body, $this->response_code, $this->curl_handle);
}
}
// Return false
return false;
}
/**
* Sends the request, calling necessary utility functions to update built-in properties.
*
* @param boolean $parse (Optional) Whether to parse the response with ResponseCore or not.
* @return string The resulting unparsed data from the request.
*/
public function send_request($parse = false)
{
set_time_limit(0);
$curl_handle = $this->prep_request();
$this->response = curl_exec($curl_handle);
if ($this->response === false)
{
throw new cURL_Exception('cURL resource: ' . (string) $curl_handle . '; cURL error: ' . curl_error($curl_handle) . ' (cURL error code ' . curl_errno($curl_handle) . '). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.');
}
$parsed_response = $this->process_response($curl_handle, $this->response);
curl_close($curl_handle);
if ($parse)
{
return $parsed_response;
}
return $this->response;
}
/**
* Sends the request using <php:curl_multi_exec()>, enabling parallel requests. Uses the "rolling" method.
*
* @param array $handles (Required) An indexed array of cURL handles to process simultaneously.
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>callback</code> - <code>string|array</code> - Optional - The string name of a function to pass the response data to. If this is a method, pass an array where the <code>[0]</code> index is the class and the <code>[1]</code> index is the method name.</li>
* <li><code>limit</code> - <code>integer</code> - Optional - The number of simultaneous requests to make. This can be useful for scaling around slow server responses. Defaults to trusting cURLs judgement as to how many to use.</li></ul>
* @return array Post-processed cURL responses.
*/
public function send_multi_request($handles, $opt = null)
{
set_time_limit(0);
// Skip everything if there are no handles to process.
if (count($handles) === 0) return array();
if (!$opt) $opt = array();
// Initialize any missing options
$limit = isset($opt['limit']) ? $opt['limit'] : -1;
// Initialize
$handle_list = $handles;
$http = new $this->request_class();
$multi_handle = curl_multi_init();
$handles_post = array();
$added = count($handles);
$last_handle = null;
$count = 0;
$i = 0;
// Loop through the cURL handles and add as many as it set by the limit parameter.
while ($i < $added)
{
if ($limit > 0 && $i >= $limit) break;
curl_multi_add_handle($multi_handle, array_shift($handles));
$i++;
}
do
{
$active = false;
// Start executing and wait for a response.
while (($status = curl_multi_exec($multi_handle, $active)) === CURLM_CALL_MULTI_PERFORM)
{
// Start looking for possible responses immediately when we have to add more handles
if (count($handles) > 0) break;
}
// Figure out which requests finished.
$to_process = array();
while ($done = curl_multi_info_read($multi_handle))
{
// Since curl_errno() isn't reliable for handles that were in multirequests, we check the 'result' of the info read, which contains the curl error number, (listed here http://curl.haxx.se/libcurl/c/libcurl-errors.html )
if ($done['result'] > 0)
{
throw new cURL_Multi_Exception('cURL resource: ' . (string) $done['handle'] . '; cURL error: ' . curl_error($done['handle']) . ' (cURL error code ' . $done['result'] . '). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.');
}
// Because curl_multi_info_read() might return more than one message about a request, we check to see if this request is already in our array of completed requests
elseif (!isset($to_process[(int) $done['handle']]))
{
$to_process[(int) $done['handle']] = $done;
}
}
// Actually deal with the request
foreach ($to_process as $pkey => $done)
{
$response = $http->process_response($done['handle'], curl_multi_getcontent($done['handle']));
$key = array_search($done['handle'], $handle_list, true);
$handles_post[$key] = $response;
if (count($handles) > 0)
{
curl_multi_add_handle($multi_handle, array_shift($handles));
}
curl_multi_remove_handle($multi_handle, $done['handle']);
curl_close($done['handle']);
}
}
while ($active || count($handles_post) < $added);
curl_multi_close($multi_handle);
ksort($handles_post, SORT_NUMERIC);
return $handles_post;
}
/*%******************************************************************************************%*/
// RESPONSE METHODS
/**
* Get the HTTP response headers from the request.
*
* @param string $header (Optional) A specific header value to return. Defaults to all headers.
* @return string|array All or selected header values.
*/
public function get_response_header($header = null)
{
if ($header)
{
return $this->response_headers[strtolower($header)];
}
return $this->response_headers;
}
/**
* Get the HTTP response body from the request.
*
* @return string The response body.
*/
public function get_response_body()
{
return $this->response_body;
}
/**
* Get the HTTP response code from the request.
*
* @return string The HTTP response code.
*/
public function get_response_code()
{
return $this->response_code;
}
}
/**
* Container for all response-related methods.
*/
class ResponseCore
{
/**
* Stores the HTTP header information.
*/
public $header;
/**
* Stores the SimpleXML response.
*/
public $body;
/**
* Stores the HTTP response code.
*/
public $status;
/**
* Constructs a new instance of this class.
*
* @param array $header (Required) Associative array of HTTP headers (typically returned by <RequestCore::get_response_header()>).
* @param string $body (Required) XML-formatted response from AWS.
* @param integer $status (Optional) HTTP response status code from the request.
* @return object Contains an <php:array> `header` property (HTTP headers as an associative array), a <php:SimpleXMLElement> or <php:string> `body` property, and an <php:integer> `status` code.
*/
public function __construct($header, $body, $status = null)
{
$this->header = $header;
$this->body = $body;
$this->status = $status;
return $this;
}
/**
* Did we receive the status code we expected?
*
* @param integer|array $codes (Optional) The status code(s) to expect. Pass an <php:integer> for a single acceptable value, or an <php:array> of integers for multiple acceptable values.
* @return boolean Whether we received the expected status code or not.
*/
public function isOK($codes = array(200, 201, 204, 206))
{
if (is_array($codes))
{
return in_array($this->status, $codes);
}
return $this->status === $codes;
}
}
class cURL_Exception extends Exception {}
class cURL_Multi_Exception extends cURL_Exception {}
class RequestCore_Exception extends Exception {}
<?php
/*
* This file is part of the symfony package.
* (c) 2004-2006 Fabien Potencier <fabien.potencier@symfony-project.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* sfYaml offers convenience methods to load and dump YAML.
*
* @package symfony
* @subpackage yaml
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
* @version SVN: $Id: sfYaml.class.php 8988 2008-05-15 20:24:26Z fabien $
*/
class sfYaml
{
static protected
$spec = '1.2';
/**
* Sets the YAML specification version to use.
*
* @param string $version The YAML specification version
*/
static public function setSpecVersion($version)
{
if (!in_array($version, array('1.1', '1.2')))
{
throw new InvalidArgumentException(sprintf('Version %s of the YAML specifications is not supported', $version));
}
self::$spec = $version;
}
/**
* Gets the YAML specification version to use.
*
* @return string The YAML specification version
*/
static public function getSpecVersion()
{
return self::$spec;
}
/**
* Loads YAML into a PHP array.
*
* The load method, when supplied with a YAML stream (string or file),
* will do its best to convert YAML in a file into a PHP array.
*
* Usage:
* <code>
* $array = sfYaml::load('config.yml');
* print_r($array);
* </code>
*
* @param string $input Path of YAML file or string containing YAML
*
* @return array The YAML converted to a PHP array
*
* @throws InvalidArgumentException If the YAML is not valid
*/
public static function load($input)
{
$file = '';
// if input is a file, process it
if (strpos($input, "\n") === false && is_file($input))
{
$file = $input;
ob_start();
$retval = include($input);
$content = ob_get_clean();
// if an array is returned by the config file assume it's in plain php form else in YAML
$input = is_array($retval) ? $retval : $content;
}
// if an array is returned by the config file assume it's in plain php form else in YAML
if (is_array($input))
{
return $input;
}
require_once dirname(__FILE__).'/sfYamlParser.php';
$yaml = new sfYamlParser();
try
{
$ret = $yaml->parse($input);
}
catch (Exception $e)
{
throw new InvalidArgumentException(sprintf('Unable to parse %s: %s', $file ? sprintf('file "%s"', $file) : 'string', $e->getMessage()));
}
return $ret;
}
/**
* Dumps a PHP array to a YAML string.
*
* The dump method, when supplied with an array, will do its best
* to convert the array into friendly YAML.
*
* @param array $array PHP array
* @param integer $inline The level where you switch to inline YAML
*
* @return string A YAML string representing the original PHP array
*/
public static function dump($array, $inline = 2)
{
require_once dirname(__FILE__).'/sfYamlDumper.php';
$yaml = new sfYamlDumper();
return $yaml->dump($array, $inline);
}
}
/**
* Wraps echo to automatically provide a newline.
*
* @param string $string The string to echo with new line
*/
function echoln($string)
{
echo $string."\n";
}
<?php
/*
* This file is part of the symfony package.
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
require_once(dirname(__FILE__).'/sfYamlInline.php');
/**
* sfYamlDumper dumps PHP variables to YAML strings.
*
* @package symfony
* @subpackage yaml
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
* @version SVN: $Id: sfYamlDumper.class.php 10575 2008-08-01 13:08:42Z nicolas $
*/
class sfYamlDumper
{
/**
* Dumps a PHP value to YAML.
*
* @param mixed $input The PHP value
* @param integer $inline The level where you switch to inline YAML
* @param integer $indent The level o indentation indentation (used internally)
*
* @return string The YAML representation of the PHP value
*/
public function dump($input, $inline = 0, $indent = 0)
{
$output = '';
$prefix = $indent ? str_repeat(' ', $indent) : '';
if ($inline <= 0 || !is_array($input) || empty($input))
{
$output .= $prefix.sfYamlInline::dump($input);
}
else
{
$isAHash = array_keys($input) !== range(0, count($input) - 1);
foreach ($input as $key => $value)
{
$willBeInlined = $inline - 1 <= 0 || !is_array($value) || empty($value);
$output .= sprintf('%s%s%s%s',
$prefix,
$isAHash ? sfYamlInline::dump($key).':' : '-',
$willBeInlined ? ' ' : "\n",
$this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + 2)
).($willBeInlined ? "\n" : '');
}
}
return $output;
}
}
<?php
/*
* This file is part of the symfony package.
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
require_once dirname(__FILE__).'/sfYaml.php';
/**
* sfYamlInline implements a YAML parser/dumper for the YAML inline syntax.
*
* @package symfony
* @subpackage yaml
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
* @version SVN: $Id: sfYamlInline.class.php 16177 2009-03-11 08:32:48Z fabien $
*/
class sfYamlInline
{
const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"|\'([^\']*(?:\'\'[^\']*)*)\')';
/**
* Convert a YAML string to a PHP array.
*
* @param string $value A YAML string
*
* @return array A PHP array representing the YAML string
*/
static public function load($value)
{
$value = trim($value);
if (0 == strlen($value))
{
return '';
}
if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2)
{
$mbEncoding = mb_internal_encoding();
mb_internal_encoding('ASCII');
}
switch ($value[0])
{
case '[':
$result = self::parseSequence($value);
break;
case '{':
$result = self::parseMapping($value);
break;
default:
$result = self::parseScalar($value);
}
if (isset($mbEncoding))
{
mb_internal_encoding($mbEncoding);
}
return $result;
}
/**
* Dumps a given PHP variable to a YAML string.
*
* @param mixed $value The PHP variable to convert
*
* @return string The YAML string representing the PHP array
*/
static public function dump($value)
{
if ('1.1' === sfYaml::getSpecVersion())
{
$trueValues = array('true', 'on', '+', 'yes', 'y');
$falseValues = array('false', 'off', '-', 'no', 'n');
}
else
{
$trueValues = array('true');
$falseValues = array('false');
}
switch (true)
{
case is_resource($value):
throw new InvalidArgumentException('Unable to dump PHP resources in a YAML file.');
case is_object($value):
return '!!php/object:'.serialize($value);
case is_array($value):
return self::dumpArray($value);
case null === $value:
return 'null';
case true === $value:
return 'true';
case false === $value:
return 'false';
case ctype_digit($value):
return is_string($value) ? "'$value'" : (int) $value;
case is_numeric($value):
return is_infinite($value) ? str_ireplace('INF', '.Inf', strval($value)) : (is_string($value) ? "'$value'" : $value);
case false !== strpos($value, "\n") || false !== strpos($value, "\r"):
return sprintf('"%s"', str_replace(array('"', "\n", "\r"), array('\\"', '\n', '\r'), $value));
case preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ - ? | < > = ! % @ ` ]/x', $value):
return sprintf("'%s'", str_replace('\'', '\'\'', $value));
case '' == $value:
return "''";
case preg_match(self::getTimestampRegex(), $value):
return "'$value'";
case in_array(strtolower($value), $trueValues):
return "'$value'";
case in_array(strtolower($value), $falseValues):
return "'$value'";
case in_array(strtolower($value), array('null', '~')):
return "'$value'";
default:
return $value;
}
}
/**
* Dumps a PHP array to a YAML string.
*
* @param array $value The PHP array to dump
*
* @return string The YAML string representing the PHP array
*/
static protected function dumpArray($value)
{
// array
$keys = array_keys($value);
if (
(1 == count($keys) && '0' == $keys[0])
||
(count($keys) > 1 && array_reduce($keys, create_function('$v,$w', 'return (integer) $v + $w;'), 0) == count($keys) * (count($keys) - 1) / 2))
{
$output = array();
foreach ($value as $val)
{
$output[] = self::dump($val);
}
return sprintf('[%s]', implode(', ', $output));
}
// mapping
$output = array();
foreach ($value as $key => $val)
{
$output[] = sprintf('%s: %s', self::dump($key), self::dump($val));
}
return sprintf('{ %s }', implode(', ', $output));
}
/**
* Parses a scalar to a YAML string.
*
* @param scalar $scalar
* @param string $delimiters
* @param array $stringDelimiter
* @param integer $i
* @param boolean $evaluate
*
* @return string A YAML string
*/
static public function parseScalar($scalar, $delimiters = null, $stringDelimiters = array('"', "'"), &$i = 0, $evaluate = true)
{
if (in_array($scalar[$i], $stringDelimiters))
{
// quoted scalar
$output = self::parseQuotedScalar($scalar, $i);
}
else
{
// "normal" string
if (!$delimiters)
{
$output = substr($scalar, $i);
$i += strlen($output);
// remove comments
if (false !== $strpos = strpos($output, ' #'))
{
$output = rtrim(substr($output, 0, $strpos));
}
}
else if (preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match))
{
$output = $match[1];
$i += strlen($output);
}
else
{
throw new InvalidArgumentException(sprintf('Malformed inline YAML string (%s).', $scalar));
}
$output = $evaluate ? self::evaluateScalar($output) : $output;
}
return $output;
}
/**
* Parses a quoted scalar to YAML.
*
* @param string $scalar
* @param integer $i
*
* @return string A YAML string
*/
static protected function parseQuotedScalar($scalar, &$i)
{
if (!preg_match('/'.self::REGEX_QUOTED_STRING.'/A', substr($scalar, $i), $match))
{
throw new InvalidArgumentException(sprintf('Malformed inline YAML string (%s).', substr($scalar, $i)));
}
$output = substr($match[0], 1, strlen($match[0]) - 2);
if ('"' == $scalar[$i])
{
// evaluate the string
$output = str_replace(array('\\"', '\\n', '\\r'), array('"', "\n", "\r"), $output);
}
else
{
// unescape '
$output = str_replace('\'\'', '\'', $output);
}
$i += strlen($match[0]);
return $output;
}
/**
* Parses a sequence to a YAML string.
*
* @param string $sequence
* @param integer $i
*
* @return string A YAML string
*/
static protected function parseSequence($sequence, &$i = 0)
{
$output = array();
$len = strlen($sequence);
$i += 1;
// [foo, bar, ...]
while ($i < $len)
{
switch ($sequence[$i])
{
case '[':
// nested sequence
$output[] = self::parseSequence($sequence, $i);
break;
case '{':
// nested mapping
$output[] = self::parseMapping($sequence, $i);
break;
case ']':
return $output;
case ',':
case ' ':
break;
default:
$isQuoted = in_array($sequence[$i], array('"', "'"));
$value = self::parseScalar($sequence, array(',', ']'), array('"', "'"), $i);
if (!$isQuoted && false !== strpos($value, ': '))
{
// embedded mapping?
try
{
$value = self::parseMapping('{'.$value.'}');
}
catch (InvalidArgumentException $e)
{
// no, it's not
}
}
$output[] = $value;
--$i;
}
++$i;
}
throw new InvalidArgumentException(sprintf('Malformed inline YAML string %s', $sequence));
}
/**
* Parses a mapping to a YAML string.
*
* @param string $mapping
* @param integer $i
*
* @return string A YAML string
*/
static protected function parseMapping($mapping, &$i = 0)
{
$output = array();
$len = strlen($mapping);
$i += 1;
// {foo: bar, bar:foo, ...}
while ($i < $len)
{
switch ($mapping[$i])
{
case ' ':
case ',':
++$i;
continue 2;
case '}':
return $output;
}
// key
$key = self::parseScalar($mapping, array(':', ' '), array('"', "'"), $i, false);
// value
$done = false;
while ($i < $len)
{
switch ($mapping[$i])
{
case '[':
// nested sequence
$output[$key] = self::parseSequence($mapping, $i);
$done = true;
break;
case '{':
// nested mapping
$output[$key] = self::parseMapping($mapping, $i);
$done = true;
break;
case ':':
case ' ':
break;
default:
$output[$key] = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i);
$done = true;
--$i;
}
++$i;
if ($done)
{
continue 2;
}
}
}
throw new InvalidArgumentException(sprintf('Malformed inline YAML string %s', $mapping));
}
/**
* Evaluates scalars and replaces magic values.
*
* @param string $scalar
*
* @return string A YAML string
*/
static protected function evaluateScalar($scalar)
{
$scalar = trim($scalar);
if ('1.1' === sfYaml::getSpecVersion())
{
$trueValues = array('true', 'on', '+', 'yes', 'y');
$falseValues = array('false', 'off', '-', 'no', 'n');
}
else
{
$trueValues = array('true');
$falseValues = array('false');
}
switch (true)
{
case 'null' == strtolower($scalar):
case '' == $scalar:
case '~' == $scalar:
return null;
case 0 === strpos($scalar, '!str'):
return (string) substr($scalar, 5);
case 0 === strpos($scalar, '! '):
return intval(self::parseScalar(substr($scalar, 2)));
case 0 === strpos($scalar, '!!php/object:'):
return unserialize(substr($scalar, 13));
case ctype_digit($scalar):
$raw = $scalar;
$cast = intval($scalar);
return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw);
case in_array(strtolower($scalar), $trueValues):
return true;
case in_array(strtolower($scalar), $falseValues):
return false;
case is_numeric($scalar):
return '0x' == $scalar[0].$scalar[1] ? hexdec($scalar) : floatval($scalar);
case 0 == strcasecmp($scalar, '.inf'):
case 0 == strcasecmp($scalar, '.NaN'):
return -log(0);
case 0 == strcasecmp($scalar, '-.inf'):
return log(0);
case preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar):
return floatval(str_replace(',', '', $scalar));
case preg_match(self::getTimestampRegex(), $scalar):
return strtotime($scalar);
default:
return (string) $scalar;
}
}
static protected function getTimestampRegex()
{
return <<<EOF
~^
(?P<year>[0-9][0-9][0-9][0-9])
-(?P<month>[0-9][0-9]?)
-(?P<day>[0-9][0-9]?)
(?:(?:[Tt]|[ \t]+)
(?P<hour>[0-9][0-9]?)
:(?P<minute>[0-9][0-9])
:(?P<second>[0-9][0-9])
(?:\.(?P<fraction>[0-9]*))?
(?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
(?::(?P<tz_minute>[0-9][0-9]))?))?)?
$~x
EOF;
}
}
<?php
/*
* This file is part of the symfony package.
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
require_once(dirname(__FILE__).'/sfYamlInline.php');
if (!defined('PREG_BAD_UTF8_OFFSET_ERROR'))
{
define('PREG_BAD_UTF8_OFFSET_ERROR', 5);
}
/**
* sfYamlParser parses YAML strings to convert them to PHP arrays.
*
* @package symfony
* @subpackage yaml
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
* @version SVN: $Id: sfYamlParser.class.php 10832 2008-08-13 07:46:08Z fabien $
*/
class sfYamlParser
{
protected
$offset = 0,
$lines = array(),
$currentLineNb = -1,
$currentLine = '',
$refs = array();
/**
* Constructor
*
* @param integer $offset The offset of YAML document (used for line numbers in error messages)
*/
public function __construct($offset = 0)
{
$this->offset = $offset;
}
/**
* Parses a YAML string to a PHP value.
*
* @param string $value A YAML string
*
* @return mixed A PHP value
*
* @throws InvalidArgumentException If the YAML is not valid
*/
public function parse($value)
{
$value = str_replace("\t", ' ', $value); // Convert tabs to spaces.
$this->currentLineNb = -1;
$this->currentLine = '';
$this->lines = explode("\n", $this->cleanup($value));
if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2)
{
$mbEncoding = mb_internal_encoding();
mb_internal_encoding('ASCII');
}
$data = array();
while ($this->moveToNextLine())
{
if ($this->isCurrentLineEmpty())
{
continue;
}
// tab?
if (preg_match('#^\t+#', $this->currentLine))
{
throw new InvalidArgumentException(sprintf('A YAML file cannot contain tabs as indentation at line %d (%s).', $this->getRealCurrentLineNb() + 1, $this->currentLine));
}
$isRef = $isInPlace = $isProcessed = false;
if (preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+?))?\s*$#', $this->currentLine, $values))
{
if (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#', $values['value'], $matches))
{
$isRef = $matches['ref'];
$values['value'] = $matches['value'];
}
// array
if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#'))
{
$c = $this->getRealCurrentLineNb() + 1;
$parser = new sfYamlParser($c);
$parser->refs =& $this->refs;
$data[] = $parser->parse($this->getNextEmbedBlock());
}
else
{
if (isset($values['leadspaces'])
&& ' ' == $values['leadspaces']
&& preg_match('#^(?P<key>'.sfYamlInline::REGEX_QUOTED_STRING.'|[^ \'"\{].*?) *\:(\s+(?P<value>.+?))?\s*$#', $values['value'], $matches))
{
// this is a compact notation element, add to next block and parse
$c = $this->getRealCurrentLineNb();
$parser = new sfYamlParser($c);
$parser->refs =& $this->refs;
$block = $values['value'];
if (!$this->isNextLineIndented())
{
$block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + 2);
}
$data[] = $parser->parse($block);
}
else
{
$data[] = $this->parseValue($values['value']);
}
}
}
else if (preg_match('#^(?P<key>'.sfYamlInline::REGEX_QUOTED_STRING.'|[^ \'"].*?) *\:(\s+(?P<value>.+?))?\s*$#', $this->currentLine, $values))
{
$key = sfYamlInline::parseScalar($values['key']);
if ('<<' === $key)
{
if (isset($values['value']) && '*' === substr($values['value'], 0, 1))
{
$isInPlace = substr($values['value'], 1);
if (!array_key_exists($isInPlace, $this->refs))
{
throw new InvalidArgumentException(sprintf('Reference "%s" does not exist at line %s (%s).', $isInPlace, $this->getRealCurrentLineNb() + 1, $this->currentLine));
}
}
else
{
if (isset($values['value']) && $values['value'] !== '')
{
$value = $values['value'];
}
else
{
$value = $this->getNextEmbedBlock();
}
$c = $this->getRealCurrentLineNb() + 1;
$parser = new sfYamlParser($c);
$parser->refs =& $this->refs;
$parsed = $parser->parse($value);
$merged = array();
if (!is_array($parsed))
{
throw new InvalidArgumentException(sprintf("YAML merge keys used with a scalar value instead of an array at line %s (%s)", $this->getRealCurrentLineNb() + 1, $this->currentLine));
}
else if (isset($parsed[0]))
{
// Numeric array, merge individual elements
foreach (array_reverse($parsed) as $parsedItem)
{
if (!is_array($parsedItem))
{
throw new InvalidArgumentException(sprintf("Merge items must be arrays at line %s (%s).", $this->getRealCurrentLineNb() + 1, $parsedItem));
}
$merged = array_merge($parsedItem, $merged);
}
}
else
{
// Associative array, merge
$merged = array_merge($merge, $parsed);
}
$isProcessed = $merged;
}
}
else if (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#', $values['value'], $matches))
{
$isRef = $matches['ref'];
$values['value'] = $matches['value'];
}
if ($isProcessed)
{
// Merge keys
$data = $isProcessed;
}
// hash
else if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#'))
{
// if next line is less indented or equal, then it means that the current value is null
if ($this->isNextLineIndented())
{
$data[$key] = null;
}
else
{
$c = $this->getRealCurrentLineNb() + 1;
$parser = new sfYamlParser($c);
$parser->refs =& $this->refs;
$data[$key] = $parser->parse($this->getNextEmbedBlock());
}
}
else
{
if ($isInPlace)
{
$data = $this->refs[$isInPlace];
}
else
{
$data[$key] = $this->parseValue($values['value']);
}
}
}
else
{
// 1-liner followed by newline
if (2 == count($this->lines) && empty($this->lines[1]))
{
$value = sfYamlInline::load($this->lines[0]);
if (is_array($value))
{
$first = reset($value);
if ('*' === substr($first, 0, 1))
{
$data = array();
foreach ($value as $alias)
{
$data[] = $this->refs[substr($alias, 1)];
}
$value = $data;
}
}
if (isset($mbEncoding))
{
mb_internal_encoding($mbEncoding);
}
return $value;
}
switch (preg_last_error())
{
case PREG_INTERNAL_ERROR:
$error = 'Internal PCRE error on line';
break;
case PREG_BACKTRACK_LIMIT_ERROR:
$error = 'pcre.backtrack_limit reached on line';
break;
case PREG_RECURSION_LIMIT_ERROR:
$error = 'pcre.recursion_limit reached on line';
break;
case PREG_BAD_UTF8_ERROR:
$error = 'Malformed UTF-8 data on line';
break;
case PREG_BAD_UTF8_OFFSET_ERROR:
$error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point on line';
break;
default:
$error = 'Unable to parse line';
}
throw new InvalidArgumentException(sprintf('%s %d (%s).', $error, $this->getRealCurrentLineNb() + 1, $this->currentLine));
}
if ($isRef)
{
$this->refs[$isRef] = end($data);
}
}
if (isset($mbEncoding))
{
mb_internal_encoding($mbEncoding);
}
return empty($data) ? null : $data;
}
/**
* Returns the current line number (takes the offset into account).
*
* @return integer The current line number
*/
protected function getRealCurrentLineNb()
{
return $this->currentLineNb + $this->offset;
}
/**
* Returns the current line indentation.
*
* @return integer The current line indentation
*/
protected function getCurrentLineIndentation()
{
return strlen($this->currentLine) - strlen(ltrim($this->currentLine, ' '));
}
/**
* Returns the next embed block of YAML.
*
* @param integer $indentation The indent level at which the block is to be read, or null for default
*
* @return string A YAML string
*/
protected function getNextEmbedBlock($indentation = null)
{
$this->moveToNextLine();
if (null === $indentation)
{
$newIndent = $this->getCurrentLineIndentation();
if (!$this->isCurrentLineEmpty() && 0 == $newIndent)
{
throw new InvalidArgumentException(sprintf('Indentation problem at line %d (%s)', $this->getRealCurrentLineNb() + 1, $this->currentLine));
}
}
else
{
$newIndent = $indentation;
}
$data = array(substr($this->currentLine, $newIndent));
while ($this->moveToNextLine())
{
if ($this->isCurrentLineEmpty())
{
if ($this->isCurrentLineBlank())
{
$data[] = substr($this->currentLine, $newIndent);
}
continue;
}
$indent = $this->getCurrentLineIndentation();
if (preg_match('#^(?P<text> *)$#', $this->currentLine, $match))
{
// empty line
$data[] = $match['text'];
}
else if ($indent >= $newIndent)
{
$data[] = substr($this->currentLine, $newIndent);
}
else if (0 == $indent)
{
$this->moveToPreviousLine();
break;
}
else
{
throw new InvalidArgumentException(sprintf('Indentation problem at line %d (%s)', $this->getRealCurrentLineNb() + 1, $this->currentLine));
}
}
return implode("\n", $data);
}
/**
* Moves the parser to the next line.
*/
protected function moveToNextLine()
{
if ($this->currentLineNb >= count($this->lines) - 1)
{
return false;
}
$this->currentLine = $this->lines[++$this->currentLineNb];
return true;
}
/**
* Moves the parser to the previous line.
*/
protected function moveToPreviousLine()
{
$this->currentLine = $this->lines[--$this->currentLineNb];
}
/**
* Parses a YAML value.
*
* @param string $value A YAML value
*
* @return mixed A PHP value
*/
protected function parseValue($value)
{
if ('*' === substr($value, 0, 1))
{
if (false !== $pos = strpos($value, '#'))
{
$value = substr($value, 1, $pos - 2);
}
else
{
$value = substr($value, 1);
}
if (!array_key_exists($value, $this->refs))
{
throw new InvalidArgumentException(sprintf('Reference "%s" does not exist (%s).', $value, $this->currentLine));
}
return $this->refs[$value];
}
if (preg_match('/^(?P<separator>\||>)(?P<modifiers>\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P<comments> +#.*)?$/', $value, $matches))
{
$modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : '';
return $this->parseFoldedScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), intval(abs($modifiers)));
}
else
{
return sfYamlInline::load($value);
}
}
/**
* Parses a folded scalar.
*
* @param string $separator The separator that was used to begin this folded scalar (| or >)
* @param string $indicator The indicator that was used to begin this folded scalar (+ or -)
* @param integer $indentation The indentation that was used to begin this folded scalar
*
* @return string The text value
*/
protected function parseFoldedScalar($separator, $indicator = '', $indentation = 0)
{
$separator = '|' == $separator ? "\n" : ' ';
$text = '';
$notEOF = $this->moveToNextLine();
while ($notEOF && $this->isCurrentLineBlank())
{
$text .= "\n";
$notEOF = $this->moveToNextLine();
}
if (!$notEOF)
{
return '';
}
if (!preg_match('#^(?P<indent>'.($indentation ? str_repeat(' ', $indentation) : ' +').')(?P<text>.*)$#', $this->currentLine, $matches))
{
$this->moveToPreviousLine();
return '';
}
$textIndent = $matches['indent'];
$previousIndent = 0;
$text .= $matches['text'].$separator;
while ($this->currentLineNb + 1 < count($this->lines))
{
$this->moveToNextLine();
if (preg_match('#^(?P<indent> {'.strlen($textIndent).',})(?P<text>.+)$#', $this->currentLine, $matches))
{
if (' ' == $separator && $previousIndent != $matches['indent'])
{
$text = substr($text, 0, -1)."\n";
}
$previousIndent = $matches['indent'];
$text .= str_repeat(' ', $diff = strlen($matches['indent']) - strlen($textIndent)).$matches['text'].($diff ? "\n" : $separator);
}
else if (preg_match('#^(?P<text> *)$#', $this->currentLine, $matches))
{
$text .= preg_replace('#^ {1,'.strlen($textIndent).'}#', '', $matches['text'])."\n";
}
else
{
$this->moveToPreviousLine();
break;
}
}
if (' ' == $separator)
{
// replace last separator by a newline
$text = preg_replace('/ (\n*)$/', "\n$1", $text);
}
switch ($indicator)
{
case '':
$text = preg_replace('#\n+$#s', "\n", $text);
break;
case '+':
break;
case '-':
$text = preg_replace('#\n+$#s', '', $text);
break;
}
return $text;
}
/**
* Returns true if the next line is indented.
*
* @return Boolean Returns true if the next line is indented, false otherwise
*/
protected function isNextLineIndented()
{
$currentIndentation = $this->getCurrentLineIndentation();
$notEOF = $this->moveToNextLine();
while ($notEOF && $this->isCurrentLineEmpty())
{
$notEOF = $this->moveToNextLine();
}
if (false === $notEOF)
{
return false;
}
$ret = false;
if ($this->getCurrentLineIndentation() <= $currentIndentation)
{
$ret = true;
}
$this->moveToPreviousLine();
return $ret;
}
/**
* Returns true if the current line is blank or if it is a comment line.
*
* @return Boolean Returns true if the current line is empty or if it is a comment line, false otherwise
*/
protected function isCurrentLineEmpty()
{
return $this->isCurrentLineBlank() || $this->isCurrentLineComment();
}
/**
* Returns true if the current line is blank.
*
* @return Boolean Returns true if the current line is blank, false otherwise
*/
protected function isCurrentLineBlank()
{
return '' == trim($this->currentLine, ' ');
}
/**
* Returns true if the current line is a comment line.
*
* @return Boolean Returns true if the current line is a comment line, false otherwise
*/
protected function isCurrentLineComment()
{
//checking explicitly the first char of the trim is faster than loops or strpos
$ltrimmedLine = ltrim($this->currentLine, ' ');
return $ltrimmedLine[0] === '#';
}
/**
* Cleanups a YAML string to be parsed.
*
* @param string $value The input YAML string
*
* @return string A cleaned up YAML string
*/
protected function cleanup($value)
{
$value = str_replace(array("\r\n", "\r"), "\n", $value);
if (!preg_match("#\n$#", $value))
{
$value .= "\n";
}
// strip YAML header
$count = 0;
$value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#s', '', $value, -1, $count);
$this->offset += $count;
// remove leading comments and/or ---
$trimmedValue = preg_replace('#^((\#.*?\n)|(\-\-\-.*?\n))*#s', '', $value, -1, $count);
if ($count == 1)
{
// items have been removed, update the offset
$this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
$value = $trimmedValue;
}
return $value;
}
}
Copyright (c) 2008-2009 Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Symfony YAML: A PHP library that speaks YAML

Symfony YAML is a PHP library that parses YAML strings and converts them to PHP arrays. It can also converts PHP arrays to YAML strings. Its official website is at http://components.symfony-project.org/yaml/.

The documentation is to be found in the doc/ directory.

Symfony YAML is licensed under the MIT license (see LICENSE file).

The Symfony YAML library is developed and maintained by the symfony project team. It has been extracted from symfony to be used as a standalone library. Symfony YAML is part of the symfony components project.

<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.9.2" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>sdk</name>
<channel>pear.amazonwebservices.com</channel>
<summary>Official PHP SDK for Amazon Web Services.</summary>
<description>Using the SDK, developers can build solutions for Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon SimpleDB, and more. With the AWS SDK for PHP, developers can get started in minutes with a single, downloadable package.</description>
<lead>
<name>Ryan Parman</name>
<user>rparman</user>
<email>rparman@amazon.com</email>
<active>yes</active>
</lead>
<date>2012-01-18</date>
<time>04:03:31</time>
<version>
<release>1.5.1</release>
<api>1.5.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://aws.amazon.com/apache2.0/">Apache 2.0</license>
<notes>-</notes>
<contents>
<dir baseinstalldir="AWSSDKforPHP" name="/"><file baseinstalldir="AWSSDKforPHP" role="php" name="README.md" md5sum="5ebb7e264b1131f56b91dde12f3ca3a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="config-sample.inc.php" md5sum="ade3d570d4567c994cee701cfd913fb0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="sdk.class.php" md5sum="eea3c9e8987e7ff3229785adfaa79776"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/README.md" md5sum="c29429ec7a18c756729b5e56dcf46615"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility_test.php" md5sum="24fb4b30b63dc49e7c975cf01edcc05e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility_test_cli.php" md5sum="bc1508559f532c976c4e944b87a3376a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/CHANGELOG.md" md5sum="ec45dd3e84b962bc694903ce72ce2323"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/CONTRIBUTORS.md" md5sum="556e494e8157c6193e6fbf5cf2747535"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/LICENSE.md" md5sum="c101f69c0271135eef789cd808a30eae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/NOTICE.md" md5sum="9d6facfdc1bd9bcde50e87949c0c0ca7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/STREAMWRAPPER_README.html" md5sum="450a10f8a57d2b106e500355fc5fceff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/WHERE_IS_THE_API_REFERENCE.md" md5sum="8d9d9d1b44dc35483b4cae8619ed95a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/README.md" md5sum="13d920a4d2473746f18573c343d31baf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-ec2_sorting_and_filtering.php" md5sum="007e77ce401da9e16c275a3cef346ea6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-s3_get_urls_for_uploads.php" md5sum="9189e7319a83befdd105541d827051e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-s3_progress_bar.php" md5sum="df3544aa6d043d072cd596b059313b6b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/html-sdb_create_domain_data.php" md5sum="83534b6952e686853fdc6a62d75ef541"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/lib/ProgressBar.php" md5sum="b7af80295476f281425cfe6095cfcfde"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/audio.wav" md5sum="36235fb7f88a1cec806119529058f806"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/plain.txt" md5sum="c947c2eb40966243d4471eab7926961c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/video.mp4" md5sum="c784874fd5b2532e64a9ca1090e68a9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/word.doc" md5sum="1efd2ffd8cb5426e5c405b709f924b11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/changelog.yml" md5sum="35aca5bd6c22ca709d78fd51125a1501"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/config.yml" md5sum="9391373591177eb699bc80e1d4bf819e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/groups.yml" md5sum="c1be52fef55c7529f16511db89e0da3e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/seealso.yml" md5sum="439ad2afee96353248edb77a1350a8aa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/README.md" md5sum="beb54ed2571913f5a425f191c1902793"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/index.html" md5sum="5f71d50ded25619ed3d7de92719f4065"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/latest_docs.tar.bz2" md5sum="e0140a2222c689c3167e382681beb2b2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/latest_docs.tar.gz" md5sum="3dca3265cedb333e4ac59eda47ab846c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/latest_docs.zip" md5sum="838f6e83053f7c43d4bf5eb306f74172"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/__construct.html" md5sum="0305645a717b26f7594c3d71f7456f60"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/allow_hostname_override.html" md5sum="5787b09f48018aaad8fb14c16ab43389"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/authenticate.html" md5sum="59483da79f27b1bf395b1b94a48fb106"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/batch.html" md5sum="9f7eaca7dbdbbd96f2ee531cac97988a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/cache.html" md5sum="e7a76112ca68318616d554888821d979"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/constants.html" md5sum="907da8997817c462099baab3c712029f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/create_auto_scaling_group.html" md5sum="3d5fa1c41edcff7cd6b8cfdb04a3ab61"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/create_launch_configuration.html" md5sum="e5caf2145fa062171b3bb83811770897"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/create_or_update_tags.html" md5sum="fa080bd02a0b80e91bcef122723d6caf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_auto_scaling_group.html" md5sum="a5701613c9f43313a6fec0279251c427"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_cache.html" md5sum="f9e7b6a4a1619669d99c917d5b5da5f6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_launch_configuration.html" md5sum="1ea741e5ef277dfa5f997b82cd26e932"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_notification_configuration.html" md5sum="073c157b0574ba5d1214187a91eda27f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_policy.html" md5sum="2da5ceffe93cbcafa3393560d626ee9c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_scheduled_action.html" md5sum="810873933b4e1a30991f48e00a9cf364"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/delete_tags.html" md5sum="c1d6eb753f7e8bf21ed96a429cc43723"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_adjustment_types.html" md5sum="d7ef30932e26c21c4e4021bee024746e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_auto_scaling_groups.html" md5sum="29d2d5cb4329a417a69751eae9ff418e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_auto_scaling_instances.html" md5sum="02b441639a56c741f121b581235a753f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_auto_scaling_notification_types.html" md5sum="6d70314f5898938cc7e01442237165df"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_launch_configurations.html" md5sum="f3bdc7bdfc2f98c5b616be7a391f4b01"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_metric_collection_types.html" md5sum="7d68abe9dd9493e33d93994872d095b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_notification_configurations.html" md5sum="597415ebd8303c243f7c098521e3be90"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_policies.html" md5sum="c11b89221804a91f6eda5fc1da66d968"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_scaling_activities.html" md5sum="461e9a6faf9738c615a371ee3505cdda"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_scaling_process_types.html" md5sum="12b70b2ad28ccb3eaca76a103fa043d5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_scheduled_actions.html" md5sum="13d3e005967851bd91c4194db5e7bc1f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/describe_tags.html" md5sum="81e517bbe728c48d31d52a1c89ff9b14"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/disable_metrics_collection.html" md5sum="7a668a024a770204a06f5172ec37944d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/disable_ssl.html" md5sum="5f07bec25a6f7eb8a527025b88c4e926"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/disable_ssl_verification.html" md5sum="838de97bd06e6f1f3bb7a37c53534caa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/enable_debug_mode.html" md5sum="9307b80c5ae5c59652c487145cedabe7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/enable_metrics_collection.html" md5sum="888024cea319b5a1fe14cb41a0a8fc6a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/execute_policy.html" md5sum="f1578b1222b4f8feee3374fda7bb0eb2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/factory.html" md5sum="6f68f42c191245c5915de49c5ee9b807"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/index.html" md5sum="3909aab91ae4a5061fd4d2b57a4925af"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/properties.html" md5sum="c86b058a20a425c5a0354a6cd4f0344c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/put_notification_configuration.html" md5sum="13c3f1838eafcebec723ea4b514a3c49"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/put_scaling_policy.html" md5sum="de6470003f3f70d57ef5141f1e23234b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/put_scheduled_update_group_action.html" md5sum="6829ac2d107224ea8187ba83575ddd0a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/register_streaming_read_callback.html" md5sum="fbf8a57001f86e10f9bf4c9781fd3262"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/register_streaming_write_callback.html" md5sum="de3ce8ed951a8c6e444e816e17ace9f4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/resume_processes.html" md5sum="8cadb54e0db25d581e91c6b3cee2a913"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/send.html" md5sum="86e4475c0c25cc5eb4200fe881044873"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_batch_class.html" md5sum="aa0e044dd40824b20ca426e08422476e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_cache_config.html" md5sum="1aa15aeeaffb23773f5f194323d6319f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_desired_capacity.html" md5sum="ea553498dae3217cde39219a6b79472e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_hostname.html" md5sum="563c5a818e97aaaacbdea5c57e6f5b09"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_instance_health.html" md5sum="bfec27e47c0c3796db25b6adceacfc14"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_max_retries.html" md5sum="5f475d06f13ae6af17486438161d1c30"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_parser_class.html" md5sum="6fc2abe02472d1c4efe28d3d87048427"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_proxy.html" md5sum="57435ea11e87fbf206daec5e506bbc13"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_region.html" md5sum="7df8e8dad5e37b9d98c780a3a7367840"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_request_class.html" md5sum="a49535f7c91aa4eabdb5b207cf1bd3c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_resource_prefix.html" md5sum="45675eb7ba5fbd2967fcb7e01377064e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_response_class.html" md5sum="c5e58c2e4a83544d45f7cebe0ae9fe20"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/set_utilities_class.html" md5sum="178fae518ecd52cc2e2e4ece9a304587"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/suspend_processes.html" md5sum="b2e3fbaa66ffe8b895a8c63bd7480e4b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/terminate_instance_in_auto_scaling_group.html" md5sum="17afa9e010295b29f6e8b84415cb8f7b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonas/update_auto_scaling_group.html" md5sum="231cc9dd6310fb977fd030f966dbf6e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/__construct.html" md5sum="b0d10e7a2307ee03262b720c807ef3cd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/allow_hostname_override.html" md5sum="30857c0ae884456aa485fb5c4f5c5298"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/authenticate.html" md5sum="af75b33a1fddc2b69db2f72ab6346c28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/batch.html" md5sum="3c9b25c14f2ff0e7d9eb7981ba81578b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/cache.html" md5sum="3203bdec3ad9cdefdb5d575b4b3c069a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/constants.html" md5sum="7004cd0129fc168afc97dd9cfe6d45c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/create_stack.html" md5sum="3340198ad51011c98cb2e5ce90be6781"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/delete_cache.html" md5sum="399a00fac021a325f93c936a6676fa44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/delete_stack.html" md5sum="c8e697b8689141a9cff6648606c77d85"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/describe_stack_events.html" md5sum="c0fb33b848a45a8655cea39afa7100ac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/describe_stack_resource.html" md5sum="9074664fbb9ede7fc17f90e9a42639f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/describe_stack_resources.html" md5sum="0be0e4c47f9357391622311242195fa9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/describe_stacks.html" md5sum="13af429bd5cafb2582c87bd3338a085e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/disable_ssl.html" md5sum="74320a035530be75b805be9373dea84e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/disable_ssl_verification.html" md5sum="952eb70cbb4f942a6f812e2ee29677b3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/enable_debug_mode.html" md5sum="3f3292da87b2428828c8e7e55c6dc0c9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/estimate_template_cost.html" md5sum="8f37f25fd1b5e817b92fa2873b2aca32"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/factory.html" md5sum="eb4e2abe4290f3ab20463b18e3a45955"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/get_template.html" md5sum="388ec590a0cd8c98df32f2f2fb9be385"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/index.html" md5sum="60369670024440d74670af1beb62835a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/list_stack_resources.html" md5sum="67ce83317f790c1c1f506a24ef6d6845"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/list_stacks.html" md5sum="ceb4cc083c89230972d45c500ca8baae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/properties.html" md5sum="d62350ac2219b9fb7b1e1cdca60ccab2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/register_streaming_read_callback.html" md5sum="edc80f9394105590acc7bb12f44bf5fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/register_streaming_write_callback.html" md5sum="466cfc242887484c9beb4d6c7115f6d8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/send.html" md5sum="2f1f7b4e99e17cf5cff75e5f6a801d20"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_batch_class.html" md5sum="ab585e9ab0e7b179cd00613b869f6966"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_cache_config.html" md5sum="15ed5a712202ff497ffbdeebcf175668"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_hostname.html" md5sum="a187bb2162246d43aa264488b3e5e8f2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_max_retries.html" md5sum="7a35be28aef55a5e0a564cbad6a57e95"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_parser_class.html" md5sum="42b040b329716e3b69de13b9b921bd44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_proxy.html" md5sum="3bd341ea6ef9470bbe7e135de7f78013"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_region.html" md5sum="f5b0eda53d18f3e4f1acc0410a92386f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_request_class.html" md5sum="29ce9e3f41af24c24c6f87d745cf9e80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_resource_prefix.html" md5sum="907bfd8b4cb671e85b0aa6f93d7cd561"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_response_class.html" md5sum="49c10842113bdd19ab828e5a986c3526"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/set_utilities_class.html" md5sum="a85513821bc6b637ee5d270b496c0e47"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/update_stack.html" md5sum="da08ce0c5d8b4127b46a5123e1bdf134"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudformation/validate_template.html" md5sum="cfb153c6af17ddb2a6074174f1af8305"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/__construct.html" md5sum="ec595be78f2a64b774c9ffcdaa354f03"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/allow_hostname_override.html" md5sum="f826a18c53e0aca3de42d8722fea696f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/authenticate.html" md5sum="99f459b45cf08a9009015bc363bbab35"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/batch.html" md5sum="3271f3a0165c00d3984fe96ab24fc5a0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/cache.html" md5sum="bd3b229abfa46dc3391bf7192912ed9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/constants.html" md5sum="0fe988de7816785389bf9fae7a0da542"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/create_distribution.html" md5sum="88fc018eb6e8db63ac0f7572fa59d07e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/create_invalidation.html" md5sum="83fa1aff319f6afb675898ba34c93ad2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/create_oai.html" md5sum="65b73d33e1299d98759df4d55b4c9679"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/delete_cache.html" md5sum="6b12aae858432b75e80a30e8bf824f01"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/delete_distribution.html" md5sum="4a09b7a12ef0b5e7f2228eba8391b323"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/delete_oai.html" md5sum="b6032200e4a5547c20daec24ccf03aee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/disable_ssl.html" md5sum="8e481236c16245048edf4b6dec650562"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/disable_ssl_verification.html" md5sum="93fe5215b90176b6f355ba84af26da31"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/enable_debug_mode.html" md5sum="ec5804a1013bec41cab70d96fe4fc34e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/factory.html" md5sum="74a58e4540043cce4e55819667f89248"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/generate_config_xml.html" md5sum="081c1c3781522d19b7963727dd36d1a4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/generate_invalidation_xml.html" md5sum="9599cbb7b800b050f0045c70fcff4df4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/generate_oai_xml.html" md5sum="746118b9a4a9d0018035afbbd824cca6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_distribution_config.html" md5sum="056254070245eec6826599dc69bc1854"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_distribution_info.html" md5sum="b43adb1ef7c1b4898b7b98bdf4bb9148"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_distribution_list.html" md5sum="9934d8f86e047659763a2d704ab770c1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_invalidation.html" md5sum="48d0fcdd53000774e4c736b50cfe0992"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_oai.html" md5sum="338bc84f8fe14a1e99586c5fda5be07f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_oai_config.html" md5sum="bef491ee45f86f7669808f8659a4ab85"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_oai_list.html" md5sum="02b47ff9d5bfb8e7978c533481b9f61c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_private_object_url.html" md5sum="6af3e62d58b0001ad411d3019a751e3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/get_streaming_distribution_list.html" md5sum="3a45c8720ab6c515dfa232b3d50feeb9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/index.html" md5sum="66e0d8c0c61e868b60ba9bc95bf7b5db"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/list_distributions.html" md5sum="3e3e2a339106b848225e04fa12eba369"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/list_invalidations.html" md5sum="070e35c36883b1ae44fa2236b407b610"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/list_oais.html" md5sum="359902b2927047b0ed2c29baba807afb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/properties.html" md5sum="fcb8bf5bbc15d410418d90fd536b3b10"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/register_streaming_read_callback.html" md5sum="57e4994006d577e9a42cc95fb478a238"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/register_streaming_write_callback.html" md5sum="32d1b7cf4e768d2cb8d56399e49291be"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/remove_cname.html" md5sum="7738f1fcedcb1a6e1c01f41f5cab2c77"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/send.html" md5sum="9c0fa831b28b0dafdd477b466545d281"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_batch_class.html" md5sum="298ed9fd6ccb9a990ca72a303efd2858"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_cache_config.html" md5sum="cc4426e02c5ad7bdb014f7981efbff93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_distribution_config.html" md5sum="bb5277970b6015ba5250b85753d310b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_hostname.html" md5sum="a19e59e8eb43d7ebb5505aa0c6524755"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_keypair_id.html" md5sum="d2149161f55774a27e3b12fd2fd73123"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_max_retries.html" md5sum="5737aa4d8bd7e66d23f1aa46911047ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_oai_config.html" md5sum="f8b4cbacfa21001b4de1e3bfbe66731e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_parser_class.html" md5sum="7c840fbdf4b3dabfea1f2ad5f3085d97"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_private_key.html" md5sum="f43aca38c3a2a1a9487de8377069d418"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_proxy.html" md5sum="d6089277ac79052caf0ceb85b760df40"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_request_class.html" md5sum="652e611459ce8a969a061c00da55d7e0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_resource_prefix.html" md5sum="6e0ac268051e4b6b2de4f793e5537829"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_response_class.html" md5sum="0dd918bf9b01f5915f6593143d1b5e28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/set_utilities_class.html" md5sum="a39605bf86f9f99d6b6743de886e2d49"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/update_config_xml.html" md5sum="4f5b96b73a292df510e2d5517b601a22"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudfront/update_oai_xml.html" md5sum="7810f1c12bae5d1ecd271152f8145f25"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/__construct.html" md5sum="cb049a5167a07c05e342c0d135efad1a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/allow_hostname_override.html" md5sum="e8598d0d5f5e355f1fcba6c1caed2e5c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/authenticate.html" md5sum="a99d4f0b35a834729cfa9945d1add7ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/batch.html" md5sum="b960b584f8d65024481a512d128c3596"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/cache.html" md5sum="2281b1ee977f9ed049d6afddfe97d89d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/constants.html" md5sum="1b32f72ddecc1ca0532c19fce99994ea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/delete_alarms.html" md5sum="101d21fbe23fbc713e3d9429598fedb8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/delete_cache.html" md5sum="d737267f214ea4b69e68863f927b3e7b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/describe_alarm_history.html" md5sum="0c78bac43a774024139f8eb63d25f424"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/describe_alarms.html" md5sum="16680dfb700445847688f92dd1931d1c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/describe_alarms_for_metric.html" md5sum="efb5290e7712dc94f2b028c08f696493"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/disable_alarm_actions.html" md5sum="307d971cbb59afaf1a32c74f16b52fed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/disable_ssl.html" md5sum="b4cf9b841d8e78c640c8363724bad292"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/disable_ssl_verification.html" md5sum="f613246d3794fa492f8ff036bc46bd8d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/enable_alarm_actions.html" md5sum="bcd38347de74af6e2c613ab025d3832e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/enable_debug_mode.html" md5sum="5500d08f4dd39dd912206c60795308c9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/factory.html" md5sum="1e74ed3b3a402af26db94c8501bba87f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/get_metric_statistics.html" md5sum="0bffbb9337e12d4a9322982111abbcab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/index.html" md5sum="da28e24af49be5072bda154e502e2e73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/list_metrics.html" md5sum="ddfceb74097d400a0785953eabc1d551"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/properties.html" md5sum="10f97c471f0f8cce54e68ca7f4208f9d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/put_metric_alarm.html" md5sum="f4b54e335332a782cf102c85a4475998"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/put_metric_data.html" md5sum="56381517fa1cda29d3b8aa95a389eb58"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/register_streaming_read_callback.html" md5sum="7035160ffc52bf04aab4fd5bfadbdc1b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/register_streaming_write_callback.html" md5sum="686d21bc83891c4edc35bd88055c71bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/send.html" md5sum="4b8a48f73c403a7c5b8cd8e7ce616fe2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_alarm_state.html" md5sum="aff5d9da812c2c2ba543fa56cb91f8ff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_batch_class.html" md5sum="1b14cb4a730aca08c7676db4d83af9d0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_cache_config.html" md5sum="38d88dfe677ed41f194b5f7961926d3f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_hostname.html" md5sum="9faf5e0281bc4786d0e763abe6da6af0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_max_retries.html" md5sum="615c34ce5a806aa347adc1515189f2f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_parser_class.html" md5sum="48158adea186401cc7322e1e227eedae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_proxy.html" md5sum="8c843f54639e214bad5c499126578670"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_region.html" md5sum="df72f6100b85dc29ef98f3ec1b3557f8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_request_class.html" md5sum="03a4aaca9ed57ba9bbb8d7103ca46986"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_resource_prefix.html" md5sum="9d36863aeca4be3e23236972c0d1b9e8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_response_class.html" md5sum="4663dbe50591f2c3c0cd6601adb59c31"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoncloudwatch/set_utilities_class.html" md5sum="dbe1a4bfd506f25805653b3c92dfed64"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/__construct.html" md5sum="fd3ae83361462900f7bce4c14488f954"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/allow_hostname_override.html" md5sum="b81c1166ded49d2529d041d8aa5d71e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/authenticate.html" md5sum="4c7c10cca9c4632d39090d85472528ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/batch.html" md5sum="3e71332b635709636567fc3dba08d510"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/batch_get_item.html" md5sum="2d413d87a5659a36409cf1bdef2f3afc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/cache.html" md5sum="3bbfa8a0c98229a9b8e503e2fe2607ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/constants.html" md5sum="c62f2d896e24e1f1fc6de74f10f42e1d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/create_table.html" md5sum="ebf34eb431fa6a389c56cf95355d6433"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/delete_cache.html" md5sum="f134a5f95080c2b6938d62f0e6b87a0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/delete_item.html" md5sum="23e3198a71584a5aa6f1f58a39fb7115"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/delete_table.html" md5sum="bfe3e98445efef6fa2adc5f50d0f6400"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/describe_table.html" md5sum="c1f7fca5b3d195f207d8d828c0d1bef5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/disable_ssl.html" md5sum="4cc2faf8f85e3eb57229a2da8287f432"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/disable_ssl_verification.html" md5sum="a45621524944a40cbc64ab82a2aef110"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/enable_debug_mode.html" md5sum="5f0550cdef5b93e0ffb2061ddcefe6b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/factory.html" md5sum="55e84e94eb6ed36ed144f615c702f70b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/get_item.html" md5sum="a99c7414da455dbbb6d15b4bfa298428"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/index.html" md5sum="5819f269e9f3f71ed9cc0f8d82b53587"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/list_tables.html" md5sum="4093755bf7c9edf714b26cfd099627bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/properties.html" md5sum="0af0d8bb9c80f273c7920b02d9671e2d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/put_item.html" md5sum="96d67124ca25268827acaca94c3c4f1a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/query.html" md5sum="e97d5574af81432b0dc46ee812980559"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/register_streaming_read_callback.html" md5sum="2ea4c07bcdb95420df6c1b76846942fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/register_streaming_write_callback.html" md5sum="7978f1098fa1b0c3dbbff0e0ce18e4b2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/scan.html" md5sum="8ab1b730a10e02d635d57eaa5a8e7dce"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/send.html" md5sum="b5d00f59e4128f12a33f4bcf6546c5cc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_batch_class.html" md5sum="76c1d242b63daea9d8a6bed1ab1c0b36"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_cache_config.html" md5sum="f1bc73cc0c3510ed23ec6ae4292982b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_hostname.html" md5sum="b4c2438638d56606b53331d73cc62cda"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_max_retries.html" md5sum="9de82faa112412f87174b8faabdf3282"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_parser_class.html" md5sum="7e68321c96c75f4320a0657aba435ba2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_proxy.html" md5sum="aaed7a02c927ffdb10acb24627420210"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_region.html" md5sum="cf8e4fc1efb1ec56f7133eeabdae6574"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_request_class.html" md5sum="12c5c57816e805962cee68fd84e2d344"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_resource_prefix.html" md5sum="2871b442c00b4342c0ad5c5796190a5f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_response_class.html" md5sum="2704f0bd5589905aaca66c033de6c607"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/set_utilities_class.html" md5sum="7d3068f610d176199b078cf1ec14d24d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/update_item.html" md5sum="40d66a26ee1745c7855c99d756bfc696"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazondynamodb/update_table.html" md5sum="f3b2f08ff6c1838a9d5229d141d1364b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/__construct.html" md5sum="9293e7e186941f1f20295991df3c836d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/activate_license.html" md5sum="c98689ceb60bf424691c03ffdc10ea22"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/allocate_address.html" md5sum="6c1e72cb3337084b74709a172e608c20"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/allow_hostname_override.html" md5sum="65e65b324b5ea7838e254cc41a4eed27"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/associate_address.html" md5sum="0cde2b8edf16e403280188af6d0cb9d0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/associate_dhcp_options.html" md5sum="ce7461ef773d4106f99c8c8a26a969b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/associate_route_table.html" md5sum="273f79550beef2b49c24e0e91a69b128"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/attach_internet_gateway.html" md5sum="98d8032c8beb0b276787b89c5f5a6e5a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/attach_volume.html" md5sum="6f835025c1f0e6954ea512f8fab3dde6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/attach_vpn_gateway.html" md5sum="3fe5e1263b00cf6a2248dba607a5f26f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/authenticate.html" md5sum="ce9f6c4e99986591ba3d3cf0698706b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/authorize_security_group_egress.html" md5sum="0c5494964002b992bc9cb9ddbd4ec64d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/authorize_security_group_ingress.html" md5sum="b69869ed632dc7335ccffc1bcd6c39dc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/batch.html" md5sum="2905237c44cb5c864f2e3bc7e6206990"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/bundle_instance.html" md5sum="804eb65f61538d01af0b3fa4d09cd102"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/cache.html" md5sum="7fe713e299312a51558c5d6d32582271"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/cancel_bundle_task.html" md5sum="44dd16ea24cf47dcf908768da6bae064"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/cancel_spot_instance_requests.html" md5sum="0c06c8a94ef19a032f4574bfc390ab08"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/confirm_product_instance.html" md5sum="c3ba9f0e398940f11e367e67a3e580a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/constants.html" md5sum="0cc8c99b56b1ac6a25180fabfa3bbdc9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_customer_gateway.html" md5sum="7bfbb641ded9ec45125fc8741bea5685"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_dhcp_options.html" md5sum="cce2062f889fb187fc71325d66fa1983"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_image.html" md5sum="b5ad5f525f17f8107dacaeee9363e84c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_internet_gateway.html" md5sum="6712e83164fe92aeea62f0c393df8a5e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_key_pair.html" md5sum="026468a2862e85f64b4273b21c069234"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_network_acl.html" md5sum="b9467b213560e1fd0f61288c9a2b6f0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_network_acl_entry.html" md5sum="1343cd3d7c848dd308ab3c8f0fbe68b5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_placement_group.html" md5sum="a60d59b94e46384ab58e11e711f0149e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_route.html" md5sum="f25da84ae6e8303d5101b447f1ce9820"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_route_table.html" md5sum="c7b017f872c25b98b14d032c0520a7cb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_security_group.html" md5sum="1cec0f3a95926acc0ba5b8af8b90eb14"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_snapshot.html" md5sum="9d9e152c7b6c44d2e5a4a2d13b87ab37"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_spot_datafeed_subscription.html" md5sum="3c6d5cad03263ea03653a4d9ccf13a4a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_subnet.html" md5sum="f62d50916f96202330c12598a5662ada"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_tags.html" md5sum="e2e98c9b10bf6e4ea6075d753779ce1e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_volume.html" md5sum="6ae90a18516bb13d95f6b37823ecd124"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_vpc.html" md5sum="8db4961a42cd120f86945fb8d11fe070"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_vpn_connection.html" md5sum="c7fbdc2a8846f6a3bf1b19fb5a3dc0e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/create_vpn_gateway.html" md5sum="ecd9537e35207002e90c85739f3a0bf8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/deactivate_license.html" md5sum="7be44e27337e95f2621e94f4ea2bdb98"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_cache.html" md5sum="f6bcbbec5d236e75d16743087e22b29b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_customer_gateway.html" md5sum="0efc63d6c2388fe3bbff7abf34aae146"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_dhcp_options.html" md5sum="871f4e4f3c730fc0e3d3e5b4f730ac76"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_internet_gateway.html" md5sum="cd04a0cd0fe470bca78d6bbf32af1d1c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_key_pair.html" md5sum="0b50d4f216e3f2dda68f38673949a55c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_network_acl.html" md5sum="6ff947c816ad41b8967436b7fcb69f4e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_network_acl_entry.html" md5sum="fa2c2948e5e3c9c5eb512b026b9d4ffb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_placement_group.html" md5sum="b6572f898de7ae9a0d4f53d9aefffe2b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_route.html" md5sum="0c24abdae5c56c4b73e09ccbc7890387"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_route_table.html" md5sum="48f3db95aece95c7a61cf7e90343aa46"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_security_group.html" md5sum="8e99ca2f9c6fcbf45a1dc3f2602232e0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_snapshot.html" md5sum="0a19f34e948b5cacd883aa60ab06d502"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_spot_datafeed_subscription.html" md5sum="adbb9871dde4de58835c8524f17760c1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_subnet.html" md5sum="75a74b54f0c7123f40aa1d3b90ee582b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_tags.html" md5sum="b1265c6ed088bfa1a88c1cad7736f4a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_volume.html" md5sum="ea383b389cd837e23b88c500e9bca205"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_vpc.html" md5sum="82bf65e6478c52f07f990cc06b75e610"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_vpn_connection.html" md5sum="3b8cdd587526c5927fa43b0688aafe43"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/delete_vpn_gateway.html" md5sum="ea69936356c5057766ab6f427b4a0426"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/deregister_image.html" md5sum="8926992f6b442a7e3c6abf07420405ab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_addresses.html" md5sum="c1eed78301fef22def5c841e63472472"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_availability_zones.html" md5sum="93cb20f5e9a889b291c8ce418d766361"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_bundle_tasks.html" md5sum="0f5660aa5e8d01d8fa043895c3352571"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_customer_gateways.html" md5sum="5bcba4dfed317d7121225033a47d8cea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_dhcp_options.html" md5sum="1ad41a2eab88a042f5aad4be676f4b13"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_image_attribute.html" md5sum="74838496d5dc9633e62d39991751a8bd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_images.html" md5sum="811445f8c661034cdcbd53610bce21bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_instance_attribute.html" md5sum="a5029d0890e01e33a0aa6fb81252e2ce"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_instance_status.html" md5sum="1d37730554e1893e4dbfd941dc9deae7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_instances.html" md5sum="7d100c2d91505e3bf2e7abb019da0a03"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_internet_gateways.html" md5sum="73a9189034d6a630c206012b20d4a36f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_key_pairs.html" md5sum="e70d8da42a1f64b4c1d5c8f2d8b767d5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_licenses.html" md5sum="688e036273e2ad70bbad331d743e1e34"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_network_acls.html" md5sum="9d4cc2b9c34171b8a28094b5d2b13cad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_placement_groups.html" md5sum="2e3b1876701639ad608fa97ad8bb4a2f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_regions.html" md5sum="9d5056cd2387a96d3b7697f115c2f773"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_reserved_instances.html" md5sum="579d0365b65133e7a8c19fb543c64422"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_reserved_instances_offerings.html" md5sum="747025d6f49a7df9db9110e492383cc7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_route_tables.html" md5sum="f64894e725b77ec2047009823465d537"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_security_groups.html" md5sum="af7a4bbac0cbd3f35a835f2664b8c048"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_snapshot_attribute.html" md5sum="55108efb18a1d87fed6465da158e03eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_snapshots.html" md5sum="08d8dd8e0d9f3f578ce37be8add5c9a1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_spot_datafeed_subscription.html" md5sum="e250fa9284ee7f5b3b3e18dd7346be6f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_spot_instance_requests.html" md5sum="a0b1db261f34d624bb00e27e3452e25f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_spot_price_history.html" md5sum="12eeb221d08a9d7c59b48504a3b31e41"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_subnets.html" md5sum="a7725650ef62a7f72f83e4c4778b0fa3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_tags.html" md5sum="d767b40af54a662c4d6bf4e49f4eac42"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_volumes.html" md5sum="483526fc4e6c606f08abfa6818c07df7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_vpcs.html" md5sum="b9c9f170388639e69146b8e2eaf84c66"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_vpn_connections.html" md5sum="160f2ab774c4f65099789eb69d0b3071"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/describe_vpn_gateways.html" md5sum="5789ef31cb198f841beed3116f5a7892"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/detach_internet_gateway.html" md5sum="c2351022fda3ac5398d14a22a57260bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/detach_volume.html" md5sum="232fe4c754aad87ca5749a07d64e1a9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/detach_vpn_gateway.html" md5sum="25cc8f44199ab094b3bcba217f3d7397"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/disable_ssl.html" md5sum="6f4a90ef1d3529f6f8c4838ea09e17d1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/disable_ssl_verification.html" md5sum="f0488b9f3537819af603943ef49ffae0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/disassociate_address.html" md5sum="0d5bb61e77f853c4533635fa566b8f8b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/disassociate_route_table.html" md5sum="e73d672b346919a50228b3505954fc1d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/enable_debug_mode.html" md5sum="a7053a9e59e3c78036909f2cd0d14205"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/factory.html" md5sum="ec4cb203a04c529b9487df5d5a4f96e8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/get_console_output.html" md5sum="f9afd2bd286a9693d63094f60fd2aac9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/get_password_data.html" md5sum="8f67622290971ee50a17f7ab946c13ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/import_key_pair.html" md5sum="0f999ff71391ac19d4ee6e9b4d08dc14"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/index.html" md5sum="4aec444be4ac3f054cec4c0035e30b29"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/modify_image_attribute.html" md5sum="d18bcaa154743b3509fc8df2d1a779e1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/modify_instance_attribute.html" md5sum="4ca26a75ce2e951c4ce679c0aa9fa27b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/modify_snapshot_attribute.html" md5sum="9afa0e60be382a0a6e8b8f29e7fcbb0c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/monitor_instances.html" md5sum="24125e5a21327ce2c4789f5bc6f73fa2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/properties.html" md5sum="31a74600d9d6f2a66b5d3a7239772e03"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/purchase_reserved_instances_offering.html" md5sum="79913539be63ad61182ef57ca8fbd7ff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/reboot_instances.html" md5sum="b9cc61136c44aa2b5fb9547e5a1f3d10"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/register_image.html" md5sum="34c1a2de6cffdfd60d26370729c0aaa2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/register_streaming_read_callback.html" md5sum="74e1cb212af9ae7e7b4d9d3630c71934"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/register_streaming_write_callback.html" md5sum="52ffaf9736c297a0dc5188e46ae4e158"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/release_address.html" md5sum="5b3b8690d664bc44ed0a2ba3de28021c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/replace_network_acl_association.html" md5sum="65c2fed805be49990d2fa87ae861bd90"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/replace_network_acl_entry.html" md5sum="fa66cc028b640b48cae6313ab8940b3a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/replace_route.html" md5sum="454c8b1c718c58da0fefa3ae1b2c7be0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/replace_route_table_association.html" md5sum="f5377b6d9cff10acb4b25904c59b1dd2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/request_spot_instances.html" md5sum="a4ce205dfab589efbbb45abdb6373bdd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/reset_image_attribute.html" md5sum="6ad6b14b7865cf1674903f10a8914c25"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/reset_instance_attribute.html" md5sum="979b10142b640e0f2315a89efa819b8a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/reset_snapshot_attribute.html" md5sum="6e9919d6bbb3f31011ad65754e24eb28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/revoke_security_group_egress.html" md5sum="8b261966f4250639e72fd6a5370458c5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/revoke_security_group_ingress.html" md5sum="0aa02bad55f10a46e73b1cf9f9582ce2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/run_instances.html" md5sum="958a3686370a69c418a33de093c19553"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/send.html" md5sum="79b686aa35c88fc613b82a21557f5abe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_batch_class.html" md5sum="c006017ccf295853276f83c8ee80f08e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_cache_config.html" md5sum="c3a9179f49a1e9bc1d4e2b7e76ec1e42"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_hostname.html" md5sum="17e3534032968ed76f50b00ba1e96bc8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_max_retries.html" md5sum="4c8b0be296171af3712a55aea2e6b573"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_parser_class.html" md5sum="fccaced45c0e9a7d980ac1aec0f1a994"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_proxy.html" md5sum="85fef6c47175e68b34c060403e1f0aa6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_region.html" md5sum="b75171100da1dc5feaa682e8951df827"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_request_class.html" md5sum="4600bbcdcb2f6db8c4bab2375b5496ff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_resource_prefix.html" md5sum="a49fadffb22008274cf053be1909ecb0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_response_class.html" md5sum="80e17a63c2afa10d3a588823d2321dc4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/set_utilities_class.html" md5sum="471a1ee1465b65f10e28fe1abea4d0ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/start_instances.html" md5sum="6850025381a18bc1cf4a83d1195f6ae0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/stop_instances.html" md5sum="75e0f858d7dba6f66a1c24b042156e82"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/terminate_instances.html" md5sum="fdb8538cfa148e0593d773ef19a904c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonec2/unmonitor_instances.html" md5sum="b0a3bb6aed7d96d8c9786219a6a3fc26"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/__construct.html" md5sum="452d49e9e8d0cbad8c7361259adec874"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/allow_hostname_override.html" md5sum="cdae1cbd4a8aadbfa2655092553da102"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/authenticate.html" md5sum="90c327e0b509be3853b0ab12c67d564b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/authorize_cache_security_group_ingress.html" md5sum="82135c9a0e44dfc4cab51fb4118c4bb1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/batch.html" md5sum="63b5f77235ceab518130c3f10b62b2e1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/cache.html" md5sum="6d2fa78c106cef65c5742a516bfcf4ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/constants.html" md5sum="c18af58fb80ccc66e81f6dabc6306340"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/create_cache_cluster.html" md5sum="ce9df727b1c64379945d8535576e3022"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/create_cache_parameter_group.html" md5sum="411dc11ec72a1579baa1da85adfb16af"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/create_cache_security_group.html" md5sum="60b8014c2c6846a8335a3621ac8d5e46"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/delete_cache.html" md5sum="094e41972cff11c0c08db0d39a8e687c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/delete_cache_cluster.html" md5sum="82bd7a7a279c92e01455a5123981868a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/delete_cache_parameter_group.html" md5sum="2dbb7a7f417bfe8b1f937425680d7de7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/delete_cache_security_group.html" md5sum="31716b9b5bb70754128ea48ff5b3a8ba"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/describe_cache_clusters.html" md5sum="14d83a712f9eecfe1cfc2ca19f1f0455"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/describe_cache_parameter_groups.html" md5sum="844c34e23099827a7ccdd534dc8dee4c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/describe_cache_parameters.html" md5sum="8d0acd1df4d47d286c30cd3e3742d992"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/describe_cache_security_groups.html" md5sum="10f135f886ad935150cc82ac7695ac35"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/describe_engine_default_parameters.html" md5sum="ca4c5338bba3e82c4b60ee14c744731e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/describe_events.html" md5sum="c97629cabd52e52b3ccf8331156b0dd7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/disable_ssl.html" md5sum="65bb28a3623e81fc9ab138d072873a9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/disable_ssl_verification.html" md5sum="dce51e0515b59a16398a610c04b585aa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/enable_debug_mode.html" md5sum="0ef6d247cbc0ff962be9c7e36599002d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/factory.html" md5sum="fe690c9a160e410fbdd8b2e6266bee4f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/index.html" md5sum="020b9aeab08619c4927248b4be1cee40"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/modify_cache_cluster.html" md5sum="7d319b77d290fd3f446be299b0440d75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/modify_cache_parameter_group.html" md5sum="a3fbcd5c00d1dcdb1214d05d1bf006c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/properties.html" md5sum="a9dec65deab698f8f22cf8d24bad03cc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/reboot_cache_cluster.html" md5sum="88e48f6aac72a78958fe9f6748dfa3e1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/register_streaming_read_callback.html" md5sum="4fdf092cc2873632304c5e6a5a4a9e6f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/register_streaming_write_callback.html" md5sum="a56dd35ab43ae6ec841bb388bc6ec678"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/reset_cache_parameter_group.html" md5sum="712c17b2a4428d9291b58f7bfde67393"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/revoke_cache_security_group_ingress.html" md5sum="b98aab503f03368658e8d684671d26fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/send.html" md5sum="0136bbf0b7ed77de3c502fb752022de1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_batch_class.html" md5sum="7d8e229899e7177cb551d81091785227"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_cache_config.html" md5sum="918b7679f5494de7845d82611d3ee0fa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_hostname.html" md5sum="f60d683e8ccb684fa33f6b0e5646a121"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_max_retries.html" md5sum="d74fd0e2debc5f2ad624f6f490350b9d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_parser_class.html" md5sum="52cc88d7f37a17021cf2252e89b526f4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_proxy.html" md5sum="3564fb275790c8ef79c598f13e9b5967"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_region.html" md5sum="f98663ad65951a1894bc571bb11cb50c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_request_class.html" md5sum="a3702cddd13c2b006ddf411de471737b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_resource_prefix.html" md5sum="ea84348b48edd03c3028768cb9bd5495"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_response_class.html" md5sum="e906a379b184e0d5de720b84a435a046"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticache/set_utilities_class.html" md5sum="9130d6b96253b7f69524e60310200fe8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/__construct.html" md5sum="78af6e4df23ea3d1e110527995a20500"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/allow_hostname_override.html" md5sum="f933f9b91ed5dd7c577d8b0abf01fba2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/authenticate.html" md5sum="850706d6bb13ca37738a62bb1ab3a1ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/batch.html" md5sum="a88bee081f6082841e7c2a5fe4e83656"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/cache.html" md5sum="5c116d319c937ef05e1822d3f818aadd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/check_dns_availability.html" md5sum="5c6dd5554375ecad792e1818f6a43c69"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/constants.html" md5sum="9c6b91ce49feb862d866b52ede703230"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/create_application.html" md5sum="f06f8ac2994b214e48ffad531805eca7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/create_application_version.html" md5sum="85935aaa232d8db75520996f221db9f8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/create_configuration_template.html" md5sum="0b8fbc22963a967072466111b3ad9b11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/create_environment.html" md5sum="2975d262db1c327fc6ec18596e4c8960"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/create_storage_location.html" md5sum="c46e1df1b92e3b6cbbce449d918982a5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/delete_application.html" md5sum="846c65e52c717eee0eda9409d445dd95"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/delete_application_version.html" md5sum="a3357dd101b5c2975e1e14e1ed9fe241"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/delete_cache.html" md5sum="8b87ee184c1b99480dba4cfc64366e18"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/delete_configuration_template.html" md5sum="6257d4899735de367f5010e516e047ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/delete_environment_configuration.html" md5sum="461ab7f3cced3b2917f70d7c6aa17652"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_application_versions.html" md5sum="83713deeb7fcd5eaf8e43d61f78e2b03"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_applications.html" md5sum="1697b27e3469e550ec133bacf3859438"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_configuration_options.html" md5sum="8daff9b3e27789540b49ef0812166e54"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_configuration_settings.html" md5sum="2cf09acc7b21d648e77120c3ea5bc6b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_environment_resources.html" md5sum="3f1e7156bddf4c03a96b0d60b4fd87c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_environments.html" md5sum="af100777cab5e98fe08aaf07ebfc1d68"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/describe_events.html" md5sum="13f6822d46fcb1e90cb80aa1c5767859"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/disable_ssl.html" md5sum="f3d4eb5b4746cf0e54e3dc8f7889d663"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/disable_ssl_verification.html" md5sum="ac3701fe919adf508a34f6442e776240"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/enable_debug_mode.html" md5sum="3b11a48b382ddfe26dc8fc5114430eb3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/factory.html" md5sum="a8e32c16323ef6d1d6c22c61b6b1d1dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/index.html" md5sum="e1d89563f43be54a5cd9e57248db0a45"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/list_available_solution_stacks.html" md5sum="fa0f4211bd8bfd971a0e8f07daa3140d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/properties.html" md5sum="0210d62590780065a30036e32c958988"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/rebuild_environment.html" md5sum="e4accf29f585f2330c1572dec2596730"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/register_streaming_read_callback.html" md5sum="c3f6c91f406c4cc3d1559d46dc032df5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/register_streaming_write_callback.html" md5sum="c251c49e26c069ee4108066aa720f954"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/request_environment_info.html" md5sum="fdb80041c9dc138cb8c99cdefd06c803"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/restart_app_server.html" md5sum="d7e615fe1362a0f762a544a184007ae5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/retrieve_environment_info.html" md5sum="579a91da524421fc95327700113a2de8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/send.html" md5sum="9dd592015162ee11a3dbed60adfd7677"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_batch_class.html" md5sum="ba309dade7b66fa8da0fe7952954331c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_cache_config.html" md5sum="66c77c3a9db6fa68ff8b9a8314731b3d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_hostname.html" md5sum="4c412b2a186c074fe8b8cf0bd036fbb8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_max_retries.html" md5sum="563c84d9111a56b6409fabe094f3adb7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_parser_class.html" md5sum="b70c8a7774c9ef127b08827d27fbfba6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_proxy.html" md5sum="cd6a65937b44a8b4a7fbfa65ae0882b3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_region.html" md5sum="2a2f729ac15709299babb7d470d21b62"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_request_class.html" md5sum="7c9a1ec191e83863b05ed025ece85f12"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_resource_prefix.html" md5sum="97446f76869e709be2ae4c980fb29c7a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_response_class.html" md5sum="449649f5813ff6b585d51a60e4b12750"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/set_utilities_class.html" md5sum="2b77c19e6240e2651665660ddd6b39c1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/swap_environment_cnames.html" md5sum="2759f073fabd9cc65a9bcef9b8e80d05"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/terminate_environment.html" md5sum="051e18363cc520d211e0c83189d45200"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/update_application.html" md5sum="3b85eff023b4149b143832c218ba5b96"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/update_application_version.html" md5sum="cf890ac95ed975138217e3714ae3c34a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/update_configuration_template.html" md5sum="ff5fc63b309bc194e2bcdfa8b687166b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/update_environment.html" md5sum="4eb7f0b8d7f4215df554e76b016f67e3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelasticbeanstalk/validate_configuration_settings.html" md5sum="4c0f4e5a05500396480909fb011b4333"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/__construct.html" md5sum="0affc5bebb62301f3963d91272b0245a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/allow_hostname_override.html" md5sum="64bb9d55a49a8df433a59f1c911af840"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/apply_security_groups_to_load_balancer.html" md5sum="64ff36fc38ebe4fc16c28a9262610c5b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/attach_load_balancer_to_subnets.html" md5sum="2e738daddfee161335576aa8a8a9439d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/authenticate.html" md5sum="a1c5ae1313387b53bbc167113ca74721"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/batch.html" md5sum="26f261f9e9ef9b8f1d89ed68b8f66147"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/cache.html" md5sum="bcc846c7f59deb4281b7b825b35f489b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/configure_health_check.html" md5sum="411e682c83cc4a25bd9608544470c068"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/constants.html" md5sum="6c285657efa3b251e4f3337fcc4beb2a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/create_app_cookie_stickiness_policy.html" md5sum="a12f0f10e981983b8f2607213c09f605"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/create_lb_cookie_stickiness_policy.html" md5sum="f60b19efff4143da0c1056636ced3b0e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/create_load_balancer.html" md5sum="4347a432ce0c49f4709b94b4d45fb699"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/create_load_balancer_listeners.html" md5sum="6f39b69b883be7cfa0a0a442dc86e850"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/create_load_balancer_policy.html" md5sum="d9ee448eac880c5332c50652be533e5a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/delete_cache.html" md5sum="82c8d2bc7be2f70b0e44a1d022bbec3d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/delete_load_balancer.html" md5sum="4c7843d112c93eaf3f7813bfd06ba074"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/delete_load_balancer_listeners.html" md5sum="612b21f1264d1cd84ab927047bc9cb89"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/delete_load_balancer_policy.html" md5sum="05b5147b017fc79d88065b4d3832fa6c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/deregister_instances_from_load_balancer.html" md5sum="9fcf756fb0d7527a750bf2b2499db195"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/describe_instance_health.html" md5sum="c778d8d94f9e6d44537f1ce7b24d1f7b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/describe_load_balancer_policies.html" md5sum="dd2161bc1992a1fe08ce36d8ccff45ba"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/describe_load_balancer_policy_types.html" md5sum="ca2c8501a24233fab18c5b3d8d61b42d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/describe_load_balancers.html" md5sum="e39bed3f995754dd3cab03c54a8caf93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/detach_load_balancer_from_subnets.html" md5sum="a556ac56c26a352b5ffeb3a913512ac0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/disable_availability_zones_for_load_balancer.html" md5sum="faf6233c6c6dc60f0be3ec253e761482"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/disable_ssl.html" md5sum="00766ab6a9b4b1e402592818ed25ae92"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/disable_ssl_verification.html" md5sum="8da147bbb1ca7a0354c31c9479b7dcf0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/enable_availability_zones_for_load_balancer.html" md5sum="0884a15a1c42ea6a1abb9d1176fcf79f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/enable_debug_mode.html" md5sum="1f48c288c26aecf224082c0c391e01f7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/factory.html" md5sum="e1a1e1820b4bc7608bae74b9addcf058"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/index.html" md5sum="fe634cfe2fa3da982ccdd1dfcb44ab8e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/properties.html" md5sum="0057cf8735c661249dd452257da9c5d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/register_instances_with_load_balancer.html" md5sum="a85874d6540526c6d7a023c3cb2c5eda"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/register_streaming_read_callback.html" md5sum="b8bf18c68f504a19649d4da064444ff3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/register_streaming_write_callback.html" md5sum="b17ef012cd29b7742c0f788ca7048868"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/send.html" md5sum="56cec2de292b61c13b4a3ed830792df8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_batch_class.html" md5sum="0f8e08043745072eca1ec260e80dc9f0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_cache_config.html" md5sum="8ab16a2d0b6de76e201873b65f204e50"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_hostname.html" md5sum="6c7b91e8bbf84890d288d3f9b8d34cd8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_load_balancer_listener_ssl_certificate.html" md5sum="72513fe1569229c29c3e39774515d755"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_load_balancer_policies_for_backend_server.html" md5sum="0b38383a1b97dde22fde8c182b716c89"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_load_balancer_policies_of_listener.html" md5sum="4d1e1901d8a5d8e52cf01684ec1461c1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_max_retries.html" md5sum="5d1aefbf67ed7ac3cf32a07eb98d4dcb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_parser_class.html" md5sum="7a0ff74edb8c6b4bcf0521ad76d342a4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_proxy.html" md5sum="1b0326cb7b863849cbc84bd6c9da430d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_region.html" md5sum="746e4b180837772423d3dfb2875b4d75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_request_class.html" md5sum="7e04df9f38a7ddfe7659b6a795efa693"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_resource_prefix.html" md5sum="27ec2679e10fb09c26b6adc8707f5762"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_response_class.html" md5sum="25c5c223738b5b4842c238cd670dbc3c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonelb/set_utilities_class.html" md5sum="5df60d0c2191bc4a45599b8aee41d68f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/__construct.html" md5sum="98cc11882e17444052a105b5a0b59903"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/add_instance_groups.html" md5sum="8d694e40760917b681a785d5bf4abb11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/add_job_flow_steps.html" md5sum="24f19dccf939baae2d87f3b6c63c4b1b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/allow_hostname_override.html" md5sum="a1f101f5d1e3fef64f02bb6955b78a46"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/authenticate.html" md5sum="14a02d9531b9ef5756df755c7ff9b97e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/batch.html" md5sum="8229c6e02084ff2186ed9d01f4e0ae25"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/cache.html" md5sum="80626280e0ba04142cc9ddef8cd0713c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/constants.html" md5sum="4d01d502fb4a03602ecfab5e8200b922"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/delete_cache.html" md5sum="6faa18b1e58d05384342a9e3063010d6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/describe_job_flows.html" md5sum="5f1a6ea0507d919c3a544ae1c2422a65"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/disable_ssl.html" md5sum="a2832e97d6a14662c9b817f7b0cd28a7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/disable_ssl_verification.html" md5sum="cf6fcba1501e67a65bd3dbcf3116cc79"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/enable_debug_mode.html" md5sum="3c63003e47327f3d71c2a97717d3a468"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/factory.html" md5sum="7f98bc8060d8f0e70fdc742b9264b8f5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/index.html" md5sum="6eac6759c59b5f93007704bccfb7eb0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/modify_instance_groups.html" md5sum="72807773bdfcbb9ec422b076ad5f156b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/properties.html" md5sum="a09fdb65702b5cec49c982fa63ea94a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/register_streaming_read_callback.html" md5sum="40dd5f88e39691c495c7c05a472c9577"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/register_streaming_write_callback.html" md5sum="666b5dd32e33e0a66d7cb85e18434950"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/run_job_flow.html" md5sum="0c58effb76f1370c3049203c05aa9b0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/send.html" md5sum="7d7a94327580f4c5e28f9fea9844f80d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_batch_class.html" md5sum="b83ba6366835d6f341735e66a1259c33"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_cache_config.html" md5sum="1dd5017ebc9695728edc1fd44d7a66a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_hostname.html" md5sum="587ffd44d92499d3ea508865c90ab3ce"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_max_retries.html" md5sum="6d8fd8e0d0bd1b06fb4d37c648cfe326"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_parser_class.html" md5sum="ac08c2c110210fa3d59d14f7fdaf6730"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_proxy.html" md5sum="2cea52523481b6a59f1b84daffd3643c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_region.html" md5sum="7873657e54a31990b3490feba60b2db4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_request_class.html" md5sum="982fbd61aab87ed1f058c6dd8e4575ff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_resource_prefix.html" md5sum="cb3a2df69cb27be28fa96b5ac3b4fc49"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_response_class.html" md5sum="79f4b1763a7c7f06ff44a4a2b2f362e2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_termination_protection.html" md5sum="9f0734d74daf0b9d8e7cd4a885547b5d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/set_utilities_class.html" md5sum="68160d035f255940160d0468e1e39426"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonemr/terminate_job_flows.html" md5sum="904931a1c27b14cce8996167857776d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/__construct.html" md5sum="92705a511401e49252ebe2a7edddf7b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/add_user_to_group.html" md5sum="0aea0a5e027c6858318fe2d00abd20d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/allow_hostname_override.html" md5sum="bc2ce2a1b24b562e0dc79001897965b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/authenticate.html" md5sum="6f16e784ba0d0858d8ae9318c8745242"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/batch.html" md5sum="e08803fa14ebcc6e0145643c85251597"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/cache.html" md5sum="e237245518cb93ce8cb31c85de4ccc3d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/constants.html" md5sum="331cf44defc76ff69fe100a0f08dfa9d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/create_access_key.html" md5sum="c334a10c1f95d9f1f14e97e99c756e17"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/create_account_alias.html" md5sum="747006a2873d91fdde7c61913ca994e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/create_group.html" md5sum="836d3f61a77b0261c0ba539c5fe83ba3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/create_login_profile.html" md5sum="0b96d18a37b345db10e9827b58b17304"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/create_user.html" md5sum="588a577e09a1c35e45b9befd73bed758"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/create_virtual_mfa_device.html" md5sum="65dd0b6f2e8e840812a0126e7a3d40ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/deactivate_mfa_device.html" md5sum="cf9bb349bf60a1a8f326d00c735b0ecb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_access_key.html" md5sum="5a050d1a2db55a0368ae9c46c82fb552"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_account_alias.html" md5sum="0f8cd0377dcf06246cb729ad65d4f8c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_cache.html" md5sum="75a65050459bf9d00a966ced83fcb7be"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_group.html" md5sum="113b66c34f08d4c7b91c9d49bafb98c9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_group_policy.html" md5sum="f26a54e678aa0eaa0d740173285b5fab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_login_profile.html" md5sum="ef06684186575f04b155da3a26df5676"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_server_certificate.html" md5sum="89d12a71f1b414fed58bf2c3278fc80d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_signing_certificate.html" md5sum="6fbdd42b1a74b7bbc51ef8befd42b408"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_user.html" md5sum="ec8fb2d7c75084a664ad8181ccb04a93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_user_policy.html" md5sum="2558649c9da41bbb6794d2be2a06959f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/delete_virtual_mfa_device.html" md5sum="1eb980387402eabe082554cdb96f8b92"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/disable_ssl.html" md5sum="f9f80ba41f706dc69b28a685ebee126e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/disable_ssl_verification.html" md5sum="97d311dd0a770f2a7e1f3ceddc2e9bc1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/enable_debug_mode.html" md5sum="e7f64d401f11d2ebf52710cdbc310c01"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/enable_mfa_device.html" md5sum="f04f9d3a925fc46130d1c86ec11f4538"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/factory.html" md5sum="eac8ad15c1392b74ec7e24f6832de305"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_account_summary.html" md5sum="505cafcc9883f7224a07f2ff5bf437c7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_group.html" md5sum="b389d66a44d80dec72a0e7fda960fd93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_group_policy.html" md5sum="dd52f895b2a1a89edf145c4741402484"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_login_profile.html" md5sum="9d7c3e4acec8b0d2d31d9ac08facb64c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_server_certificate.html" md5sum="ff7d36bfe3b69a386eaee8ca3f41cc62"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_user.html" md5sum="83881c666c513d9608ea4c525378a995"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/get_user_policy.html" md5sum="8d44e54951fadf304ac58f347427fde2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/index.html" md5sum="10e27e737dc81b420b1f0227b4bdfdb3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_access_keys.html" md5sum="32b1ccf5a4d89f4f7db922b1a5b870c3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_account_aliases.html" md5sum="baf4d145a617d6286760335f92045ff1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_group_policies.html" md5sum="9496c4521d535030cfcb5bbe5a512ee1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_groups.html" md5sum="ed0c026b1034745b95916ced9638a2ba"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_groups_for_user.html" md5sum="09c40d65c2386190b1b0ad14cdded93d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_mfa_devices.html" md5sum="057ed74e637d4ba94c2f58c043cfcbe7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_server_certificates.html" md5sum="0a9eac15281425b52a93e8fb9d5ab635"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_signing_certificates.html" md5sum="5d28989caa687b3d2dfe6feb813a734d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_user_policies.html" md5sum="7b5777ad33a919d62174ac90661f0e91"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_users.html" md5sum="ce20ded09b69553f8d2cb2c000e55308"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/list_virtual_mfa_devices.html" md5sum="a503ff1db0c80abb86f4118840dd3f26"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/properties.html" md5sum="2f7b27491bd7e5cf68d41be4bfc859a1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/put_group_policy.html" md5sum="5e0adff70ba8ea24d864c8b11118b3b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/put_user_policy.html" md5sum="d7b7a23d0bf7bebe1079818d690a14ab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/register_streaming_read_callback.html" md5sum="7d0e3930ce66237fb54388d0814bfe2f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/register_streaming_write_callback.html" md5sum="a841e519a562dc7f307c7c464db0099a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/remove_user_from_group.html" md5sum="118fd9d4cf7287612ecd646b7d1c3bf2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/resync_mfa_device.html" md5sum="8c80e3a844cf7921b0bc35facb2fc77d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/send.html" md5sum="e7a15ff878077f0e0472bf6c81b83dbc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_batch_class.html" md5sum="25d20df9ff777e34f3a1fb4520a7507f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_cache_config.html" md5sum="d9651febde736d8bc42a138950e03f21"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_hostname.html" md5sum="df80121c19acf4832ac75c8e0f5b0f0b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_max_retries.html" md5sum="00dcca700efa3613c0c10d00ba7a4fe4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_parser_class.html" md5sum="6ca8241202b910bb5790a342c5a009e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_proxy.html" md5sum="d36acc11536ec8bc9607b629c52edfc0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_region.html" md5sum="014f21bc10d1e82fc3e2e071d12a84d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_request_class.html" md5sum="c98b75cd8f09c5f5c850bc4c768359a5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_resource_prefix.html" md5sum="706e9743ccf4afc93e6c3ecc8e178a24"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_response_class.html" md5sum="392f6cccb7257e9e7b058c616c0d3cd6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/set_utilities_class.html" md5sum="3347545179c35de992d733db62a9c95a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/update_access_key.html" md5sum="c64df943464a09ab70844457f32f7d3c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/update_group.html" md5sum="1c3e67fd9df7cdcf46b6ecc8804180f8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/update_login_profile.html" md5sum="62eb96ce04ddd2c017d2d9ef91aa8d8e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/update_server_certificate.html" md5sum="817bc56c0385efb188f547d186595308"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/update_signing_certificate.html" md5sum="ec178083e9d8cf5c13c95ed37c6b0e63"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/update_user.html" md5sum="3daab374fc10672f9ee338209c8ebcd0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/upload_server_certificate.html" md5sum="cc466449d17a565d372d76e04ff593d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazoniam/upload_signing_certificate.html" md5sum="b770499084a009cd2b4d2b86c09e4dec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/__construct.html" md5sum="a1e232584e38be6949721ba38d2c6d58"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/allow_hostname_override.html" md5sum="d2ccb7c0e5be2229138ac634e71beccc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/authenticate.html" md5sum="5f1a7bf34cbb1f09704df83dd4fda3eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/batch.html" md5sum="d9b1abe3ade1c58c00f3aafa10924f2e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/cache.html" md5sum="172d67cbf4645262e7353edca61607ac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/cancel_job.html" md5sum="9ef764a79a5e8de234e8710a8fcbc390"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/constants.html" md5sum="466647c92455c0ff8577e47e940ae00f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/create_job.html" md5sum="6c85ece0d333c43ea61451d5e9a8e765"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/delete_cache.html" md5sum="277e34ab44873bed3a8780862a016da2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/disable_ssl.html" md5sum="0479a6494f76ba4183a64ad73ca57be4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/disable_ssl_verification.html" md5sum="53fbc38b59905c49ea2d24b811240699"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/enable_debug_mode.html" md5sum="0856818265a7557982ca7283f966820a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/factory.html" md5sum="bb10868ec8b789eb8574ede6b8118381"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/get_status.html" md5sum="9286d35adc63885d0c19dce72e773573"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/index.html" md5sum="531773420af91800eae697fc87f29d24"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/list_jobs.html" md5sum="6259c06808a39c92283b525a5fd54a9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/properties.html" md5sum="197caaeb572a3e6324a86824d345959a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/register_streaming_read_callback.html" md5sum="ef0a05f5ec1c8551676010c4646f03c5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/register_streaming_write_callback.html" md5sum="905e0793da7fe7c2faf5002491e5f3f3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/send.html" md5sum="5269b632bd0cc258205cc7a61c742824"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_batch_class.html" md5sum="11cdf279a247ae8305bf7c01e9bf5c5d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_cache_config.html" md5sum="f2515a519d67f8ca9133fc56a9fce031"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_hostname.html" md5sum="4a8a93592e22188fc6a4857b99beb4f9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_max_retries.html" md5sum="21f9fd04488c8c1291b6b39809387b57"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_parser_class.html" md5sum="c7b2634cd5c5f724eb2981c42619f4e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_proxy.html" md5sum="be7afe263704f4263fcb540d6038dd04"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_region.html" md5sum="c4ba04a5e87461a0832643c481ae4fd6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_request_class.html" md5sum="dee73d6d55b23f4fee0e05d37ac11246"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_resource_prefix.html" md5sum="9eb16a9a5221e9c839e9f3dc33aa3728"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_response_class.html" md5sum="4d2c90f341aa8e8ec1e2a032c87d8844"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/set_utilities_class.html" md5sum="4a27f65d88c5ed7ec0eee1e2a08040e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonimportexport/update_job.html" md5sum="8c7170bfbbbfaa683e6c7506a514bb39"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/__construct.html" md5sum="3400b7b71a6867f1e6ffa87da9140071"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/allow_hostname_override.html" md5sum="2ef1ef5b9d4b869d7e4d3d374d6c1b1f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/authenticate.html" md5sum="8b3abbfafcbad1d66f7ce49e90efd68f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/authorize_db_security_group_ingress.html" md5sum="2efb25da8893fcdd198afaaabc170f66"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/batch.html" md5sum="80fe1b5490540ea992e5823d5814412a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/cache.html" md5sum="eafbc6438104255bd3f49ae3d8614ed1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/constants.html" md5sum="8a7875e67912bf841cba6590dece3bbf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/create_db_instance.html" md5sum="815fabc3cb7ad45d29f369de45efc969"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/create_db_instance_read_replica.html" md5sum="b4f0a26e166aff3479fa5d1cce487c2d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/create_db_parameter_group.html" md5sum="8376ed1a792597e39ce7fb86cae41c53"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/create_db_security_group.html" md5sum="a77fa678940e9261d95333f8854bf55f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/create_db_snapshot.html" md5sum="8ed593addb52f543579ec67c0e18773f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/delete_cache.html" md5sum="f82d59482ea7d9905d7f6475d82d1c11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/delete_db_instance.html" md5sum="813bed9aa13d61388d38050b4bc4d37f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/delete_db_parameter_group.html" md5sum="f9083e27e32bc840104f340692e05008"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/delete_db_security_group.html" md5sum="679f3770a67d7bfd6e0449e72696cb28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/delete_db_snapshot.html" md5sum="451e078f50edb03c1588e66a0fbc9d5f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_db_engine_versions.html" md5sum="a44c59e282ec99a008c5b12a0f60e3c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_db_instances.html" md5sum="cb1b6260465e32b81e4a3a64df1c2e6f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_db_parameter_groups.html" md5sum="f0393efbd899d9031e90ba30fc75b5b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_db_parameters.html" md5sum="3f8752ab86d471679523d765d867a1d5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_db_security_groups.html" md5sum="336ffa6b5b777e4c0871570e96643c10"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_db_snapshots.html" md5sum="5ad3184ad9b73aee55b5c7df9469e55d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_engine_default_parameters.html" md5sum="f9411f2d91eb08697137d98c16b14223"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_events.html" md5sum="a3f4b3cff8cc6f79d1ca2d7617fe08ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_orderable_db_instance_options.html" md5sum="0c5b270e9454f5653ca2423d9f0fb1b8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_reserved_db_instances.html" md5sum="cb17a912324b926b020e6dca3db36ff6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/describe_reserved_db_instances_offerings.html" md5sum="80195f60d4f6af253cf74cb81f819bfa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/disable_ssl.html" md5sum="b3a652dfa3f10dd646226309b50fd3d8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/disable_ssl_verification.html" md5sum="e01ef7a0e2c7deaf7dd95150563be937"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/enable_debug_mode.html" md5sum="3968350559fcd0e6b2d0b8f6646c143a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/factory.html" md5sum="6cbf9832c9c52eeaedd3b46fcaa11475"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/index.html" md5sum="89e302d0c24d964c8354789dbfe6c0bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/modify_db_instance.html" md5sum="f826930fcb6a9e3ed5d9fa8215d66b69"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/modify_db_parameter_group.html" md5sum="7330184494974ed3098ad3e0d113eab5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/properties.html" md5sum="21ad0e190b1b07f9b44771d52098b036"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/purchase_reserved_db_instances_offering.html" md5sum="cda692e3455df55d65985de89dd4944d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/reboot_db_instance.html" md5sum="36e7b71eecec8779a57af5eb2ec4f97a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/register_streaming_read_callback.html" md5sum="97a0b7260d1cf877b0aedcff63eec67d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/register_streaming_write_callback.html" md5sum="2f1e278dd94ad1e76babf852e111754a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/reset_db_parameter_group.html" md5sum="59d3295e2c1ed553fc820bda58c055e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/restore_db_instance_from_db_snapshot.html" md5sum="d25393b55d5c9e5bdd0a5407c2d480a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/restore_db_instance_to_point_in_time.html" md5sum="c32fcf905fa77fcc0ba9283ec5c41edc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/revoke_db_security_group_ingress.html" md5sum="fddb908592f2801de72874864b841bb1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/send.html" md5sum="6e4874ec0dd930574a81c6c1b6ede747"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_batch_class.html" md5sum="c031e8b8a75b2e34ff067903daa8a785"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_cache_config.html" md5sum="e732f5c3bab9ef2ad603d89810adf115"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_hostname.html" md5sum="a9c49dd740030f98f414c9ac35e8c0c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_max_retries.html" md5sum="3ce677ecc1401ad384f7c85241c6fd2e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_parser_class.html" md5sum="ce26956a71533e2d8072ded9aad9eadc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_proxy.html" md5sum="2eafd78cad4e14c292374332398cc4ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_region.html" md5sum="d3ee4725325832b1f9148f5adcfc1aa2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_request_class.html" md5sum="82cf7b545380568c5a891cb58dadc2a0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_resource_prefix.html" md5sum="a37b042535cd8a4b896c90c9308781b2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_response_class.html" md5sum="578b9ccceb9ca213767b8f6f749942d5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonrds/set_utilities_class.html" md5sum="76a86ce15a8401f8a36c1aa0b89582a1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/__construct.html" md5sum="51d1ade088ac57862268eab903cc4e95"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/abort_multipart_upload.html" md5sum="1f9c624ab4a09eb36578806869309b22"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/abort_multipart_uploads_by_date.html" md5sum="11b1c219f4f883c4c1c765113ee10d92"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/allow_hostname_override.html" md5sum="67440f883bd0005441f6927313b64c94"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/authenticate.html" md5sum="a7d0a35f3c4d8a0d326e6b5e9cd54720"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/batch.html" md5sum="352e6d223f06774994340dc04dbafda6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/cache.html" md5sum="c287c15fb18aee731ef5359641a57523"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/change_content_type.html" md5sum="d3e38a81ec28b10a5a5adafee6880bd2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/change_storage_redundancy.html" md5sum="551671b98064dd996a86affc1c40b51f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/complete_multipart_upload.html" md5sum="2a981b7a6fe08a37c8b911d6115a6594"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/constants.html" md5sum="7b228c9a4b7f58a5503a1c5be240e044"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/copy_object.html" md5sum="716a06e2d522815bac58071deafddf22"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/copy_part.html" md5sum="2e483a00a84c0c0f54fd02bcc8098821"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/create_bucket.html" md5sum="b44368774e040b4965078ef16f95c306"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/create_bucket_notification.html" md5sum="93f77b8cabd2c52ab9e4690a84b96cc4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/create_mpu_object.html" md5sum="9f1fcd289bdd2bff992e08446a3bae54"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/create_object.html" md5sum="eb2960f13ee331b44356c59485dc2f04"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/create_website_config.html" md5sum="e71175ec5444e81fab84e30e795682d6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_all_object_versions.html" md5sum="a9956d5500d0e2467ccd34f0e83d1fff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_all_objects.html" md5sum="bd664c6cb7f7203f4251ffb72cb4c425"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_bucket.html" md5sum="8122de78aa3d8adb9d34370ff03d709d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_bucket_notification.html" md5sum="9c50cf913dd993af869800ac8194a7d1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_bucket_policy.html" md5sum="7d61244d760f28c597cceef4fc08a067"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_cache.html" md5sum="21936e2c63393f36345a7dc0eddad813"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_object.html" md5sum="899172d77218639a52d25b65ce6b9075"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_objects.html" md5sum="0b0f8f92eb90034f120a064c54c87896"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/delete_website_config.html" md5sum="c3e81340cba7fdd7c83aaf5ca28c22f5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/disable_logging.html" md5sum="e511920b934f3470dea5b1afaceb970d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/disable_ssl.html" md5sum="201da01abc56be3f0e536cb34a60c21d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/disable_ssl_verification.html" md5sum="e76c3303c27281dfa277302f2ed6efab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/disable_versioning.html" md5sum="337f157f22ac55cc93cf8ff1a24d423d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/enable_debug_mode.html" md5sum="92e94d4dd500b1da190186406bca280c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/enable_logging.html" md5sum="c18871c3fccc741c987ad38e72c52264"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/enable_path_style.html" md5sum="60fc522fcaa11199bda3994edf396cc5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/enable_versioning.html" md5sum="47631793e97e8d465b555e8651634723"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/factory.html" md5sum="81569d06fc0bccf127ef2ec63aceaec8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/generate_access_policy.html" md5sum="666e1f3fac427afd8a92d1d3669b96ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_acl.html" md5sum="cf8e9f084b5bbe7f7b197454943102ea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_filesize.html" md5sum="91785a3ddbc5269b63e4958ae762ebb0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_headers.html" md5sum="a813115e6f45f030268e817c161df32b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_list.html" md5sum="375ea74d8580c53f37b5e88fae28b2a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_notifications.html" md5sum="5e6faf43da5de542382af87a6d497ec7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_object_count.html" md5sum="01b4d4eda6cb4932bd8ea92803c19379"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_policy.html" md5sum="77f20232d4314fbf523367105d49e436"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_bucket_region.html" md5sum="3c8adfcea85c8f512f6c01cc4003dfcc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_canonical_user_id.html" md5sum="9c3d1855ef2fcbd22999a271a094a6c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_logs.html" md5sum="980eb3d6c1d08cda02eeafa03e921290"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_multipart_counts.html" md5sum="b52e91c68db20a0de7cb26188dbd8d4b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object.html" md5sum="3569b121afd97a6e986b2ff033c8c8d4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object_acl.html" md5sum="9ab89a045106145f0093b7f4d7f3acd2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object_filesize.html" md5sum="ce6e9eddce58d7fc14b274373b9a13d6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object_headers.html" md5sum="ae2e8a6662fbdad5d6980c76dddbcce9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object_list.html" md5sum="d2361352a522d10ba92e7e0fc838d39b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object_metadata.html" md5sum="0f9ea17ae4a95f387154a446c8fd62ce"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_object_url.html" md5sum="7ba3c1a5ca63fc707256373f31a6d2e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_torrent_url.html" md5sum="5987b701b9a81dc075f37ce7830f9ff3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_versioning_status.html" md5sum="a09f52d861eb92281e6dbb2b4a1368f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/get_website_config.html" md5sum="c17b968de2935e5801972624c7ab5ce6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/if_bucket_exists.html" md5sum="aff6d892277882d54d86ed6135bc5ff5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/if_bucket_policy_exists.html" md5sum="3856517b492f999f0efccf481fee1a2a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/if_object_exists.html" md5sum="dfa6b9d4732910c25b6891b01df8b176"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/index.html" md5sum="b10bd13550872fdecf094487b6b6cd4c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/initiate_multipart_upload.html" md5sum="238b0435d9dda0872db3e2fe288cf9ac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/list_bucket_object_versions.html" md5sum="8d83c06ce7e4415a676b1541ac8a79d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/list_buckets.html" md5sum="8f88ee7fb0bff41392005634ad269951"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/list_multipart_uploads.html" md5sum="f2ebc3458f812c4a5cd46280cd849018"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/list_objects.html" md5sum="88723eb21de2968d87321a0aceb0a3c9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/list_parts.html" md5sum="180b87b52d0e240654fc3134c0c8e874"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/properties.html" md5sum="16c0464b46ee55868cd79d355b4bbfbc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/register_streaming_read_callback.html" md5sum="52c65f34ce4185889844795f6eeb12c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/register_streaming_write_callback.html" md5sum="aece014ea8c2bd06097a9fc5f6834f0b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/send.html" md5sum="5d8c9bcc50731fd049b19f8e4b911441"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_batch_class.html" md5sum="3517ce20e649a839c3580dbbbd6b768f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_bucket_acl.html" md5sum="04e22bfe1afdfbe22377d13e27bb1e2a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_bucket_policy.html" md5sum="257d0e84952a7de9626c25c5da0c9ffa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_cache_config.html" md5sum="8f71b80f989d69e47386b254cf808f1e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_hostname.html" md5sum="d9987d45bf42fe901266c96a97d0bcae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_max_retries.html" md5sum="90110c0812520dac3d551b661c0781bd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_object_acl.html" md5sum="923b3c40fdadff5dc90ea10904f8bde1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_parser_class.html" md5sum="b8fa2a10ab9e5415df3d62cff1296155"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_proxy.html" md5sum="021be3a4a122828ed0acb5289ef79d2b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_region.html" md5sum="3ee75bc572e1eb6b90566cb4fbb98d0d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_request_class.html" md5sum="35cb140db3588b1939af754e92cd94a4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_resource_prefix.html" md5sum="3220d7cfe6b18897ebae9b0e15e5f0aa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_response_class.html" md5sum="7646337d3969eb25e8f638a96435c874"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_utilities_class.html" md5sum="7dd93ed940c1535f254a778f19009769"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/set_vhost.html" md5sum="2bbf6d126f227177ea2961136e1c9e73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/update_object.html" md5sum="c4863bf589614e5a4a98ef22880eb610"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/upload_part.html" md5sum="44e9b298818041f1785b6c61623c024c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/validate_bucketname_create.html" md5sum="9e2edf29fd666f12c514dc926c265d64"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazons3/validate_bucketname_support.html" md5sum="d752e87a18a182f5e7f707dd6ac52022"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/__construct.html" md5sum="afabf39fe8e2939040ebdc86c9e21e35"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/allow_hostname_override.html" md5sum="fa98a659ed88b47500473c3683ece153"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/authenticate.html" md5sum="fec1df7be203282114eb44095af800e3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/batch.html" md5sum="b1ea4959152c3e4df763100641ebf2b5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/batch_delete_attributes.html" md5sum="aabd541e58b012aa5795341d32bf27dc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/batch_put_attributes.html" md5sum="3824b5c44f52892a374a10d858becc5d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/cache.html" md5sum="7dec258e811d5fb2063f6799ddf2cf07"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/constants.html" md5sum="e980be892cc9be6df16cc4055d72b65a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/create_domain.html" md5sum="baba0bdf0552b4f1d48026909223a51c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/delete_attributes.html" md5sum="f3ad6e3f9be95f1da97f40e4617f9116"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/delete_cache.html" md5sum="230c6449bb1f6fc24ea9b3859ae8130d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/delete_domain.html" md5sum="d42993c84b483cf5d68917523fa20669"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/disable_ssl.html" md5sum="2726a0be5e6e51cf843c17114192cf42"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/disable_ssl_verification.html" md5sum="fc1ec4a12ae023d81ec555fee2b0e879"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/domain_metadata.html" md5sum="911f033d69ea3bd8f441eba41aadae29"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/enable_debug_mode.html" md5sum="05751de49ef5830256a8b23d3c787be6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/factory.html" md5sum="9e4995250bb4262e7650268294a839b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/get_attributes.html" md5sum="61cc48c18881021cadfe9b3060145d0a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/get_domain_list.html" md5sum="8ff10c08f1844bfd68b45c8305ed64b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/index.html" md5sum="509132ba7622d7d5521d0c313e8419a4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/list_domains.html" md5sum="2d628968f8ab30574bd91f54b8cd946b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/properties.html" md5sum="781688a8bcb049eb79a99f55a6cdc3b7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/put_attributes.html" md5sum="a5d62581c4d8d1390145e1e2b953bbf2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/register_streaming_read_callback.html" md5sum="65cab6db96e02f7bd68a72c35279e32e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/register_streaming_write_callback.html" md5sum="5947bc2e95303db224d508ff5f52d1ed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/remap_attribute_items_for_complextype.html" md5sum="a9e2644b0723ae2c4156ff80b2773421"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/remap_batch_items_for_complextype.html" md5sum="c41bdc0679fb7153c201725c17c144f6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/select.html" md5sum="eacf6891308d31b121d4704de023e005"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/send.html" md5sum="a1b4f21ac9d9407811f956b8ed00f29c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_batch_class.html" md5sum="f0be1a757a7ccfd609659a5003ea8d38"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_cache_config.html" md5sum="5e3a958ed12e346ac661ae119b19b068"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_hostname.html" md5sum="1e97dbb5126ecd4455ba66115e41c327"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_max_retries.html" md5sum="cc7275af1fab38a7d32131560b3ec689"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_parser_class.html" md5sum="ce3efbcc623810f93f8fa49eaf0a1b45"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_proxy.html" md5sum="defaa37b32304242a60d1f35373005dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_region.html" md5sum="f1d561d5431a5b4d7fed5bd5f198bcdd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_request_class.html" md5sum="e78acee458ed39bf2872b9973512e5a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_resource_prefix.html" md5sum="505ad65e2ca3331ef6ac2968d0c3dbfc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_response_class.html" md5sum="c9f230bf6cf358267e58ea65f54a32b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsdb/set_utilities_class.html" md5sum="e2447fa7962ca353f07b7b9975b5ec3f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/__construct.html" md5sum="c479c2e15c212231f57cd69441aea03a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/allow_hostname_override.html" md5sum="912ef8d33de24d98c7b9cf0e4ca58edd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/authenticate.html" md5sum="a68a4469603624fd7395840a21325c48"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/batch.html" md5sum="45e484a58cdf70d3a0456f3934147293"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/cache.html" md5sum="516905868ac8062211b827ce9942d5ee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/constants.html" md5sum="b48cb37f9a45928b6802a18487fa95d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/delete_cache.html" md5sum="546bcc5553419366f72d58f9ae317e24"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/delete_verified_email_address.html" md5sum="a41bbbb31ba148fd2a293eb9345a80c5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/disable_ssl.html" md5sum="9345bc1ecd02ba40bc78e2d6d781eb1f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/disable_ssl_verification.html" md5sum="c247521426f0b4049b4e096eb1b75b92"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/enable_debug_mode.html" md5sum="d70a7da80f2c594f8d6adfa6a3ca1933"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/factory.html" md5sum="76f6773706e5fd79208d1978db34c30d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/get_send_quota.html" md5sum="b292b3a63aea4575008d3c41c88b50e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/get_send_statistics.html" md5sum="bbb8cf863ec331eb6e5ae5adbdf9f4d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/index.html" md5sum="7c217437b2a06a15f4fae7e3b074e17a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/list_verified_email_addresses.html" md5sum="913dbe9be0606d63f6b69cf2b0092af2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/properties.html" md5sum="cb8df20a25dec080dad869b6c716b6f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/register_streaming_read_callback.html" md5sum="0aa62722e0bb0be88b566ea741657841"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/register_streaming_write_callback.html" md5sum="0414ee2cec64fc69b5fdb2c7b29ec19b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/send.html" md5sum="ec1f071a5f7d38ef994c212df8886b52"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/send_email.html" md5sum="7dd09e6f9ea28da75510bfe39cd1d1d0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/send_raw_email.html" md5sum="b6166c769dec9a744df0c678b70dbf3f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_batch_class.html" md5sum="58346f98f16675b14ab1e7b021b82d66"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_cache_config.html" md5sum="b8276ea1085838ee52ac1ffaa973f2a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_hostname.html" md5sum="99b41780aaaf0be822ec6fd19c359c50"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_max_retries.html" md5sum="9db20f0d848ddeeb7cb0f145508fc1eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_parser_class.html" md5sum="166dadb62f18d6850a70e86ada55b3b8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_proxy.html" md5sum="a9389160c7b77a0f582b6e42751e46a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_region.html" md5sum="b5630d8085fcde7ac940ecdfb34fe123"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_request_class.html" md5sum="5638ba26267fc02102200c2ba838af9e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_resource_prefix.html" md5sum="8b6022a0459565807b735fc141b7ac55"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_response_class.html" md5sum="47481f9a40e3f37172b1bd16ba541d97"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/set_utilities_class.html" md5sum="1cd30d88abd49c5de730ee9846584dcb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonses/verify_email_address.html" md5sum="aa8b72e46fc2d7250637bd042f6cbd45"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/__construct.html" md5sum="0bd4feac3febe799561c7b08a20fb37d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/add_permission.html" md5sum="a7c59048b148f1d148fc92167c51df71"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/allow_hostname_override.html" md5sum="e535929d3e634d82fd1f6115aa4929b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/authenticate.html" md5sum="7ee8b78a409f472609f22f6bc6d15c01"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/batch.html" md5sum="7aef8dd788e75c0dcd03785aec992b66"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/cache.html" md5sum="4b4e1f57895348aca00125f62bd614ed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/confirm_subscription.html" md5sum="84f9ab2532c71e0b35fb4ec3f44c700d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/constants.html" md5sum="ea013ab0fb9f03e400f2ba9e7d2af106"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/create_topic.html" md5sum="e6d12bdf90ae0326469a033c0969667b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/delete_cache.html" md5sum="c77bd82c51523d3b1a83938178e1feee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/delete_topic.html" md5sum="e12e67cb23e73179527fdae7ab539c62"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/disable_ssl.html" md5sum="274d1f07095378d44decca04bbdfd43b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/disable_ssl_verification.html" md5sum="69d47d5fa56ea66bdea3838d9b8681a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/enable_debug_mode.html" md5sum="8c995a45cebae453ad813b981b51480a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/factory.html" md5sum="a67deb7196b724f6d0e208495f21d584"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/get_subscription_attributes.html" md5sum="50fb16a1f64415bc2ca52e5b16cc4871"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/get_topic_attributes.html" md5sum="0bb11d04ab79d87cfc80c5b84a7321e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/get_topic_list.html" md5sum="74a9fcb2fa8e8ec65795e0e0fa40d26d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/index.html" md5sum="6c0d9c062d572453fb7fad7c6a86a19c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/list_subscriptions.html" md5sum="31ba321109cee85ea2d048a9977c40f0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/list_subscriptions_by_topic.html" md5sum="8e05b1fbbf789ba549272a0f7e8470be"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/list_topics.html" md5sum="392f350bdc9166979c045b8a49357ba8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/properties.html" md5sum="018906f62e811103bfd3587bfe5b3aff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/publish.html" md5sum="28f06e819e6447b57fc51ca30658eb6a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/register_streaming_read_callback.html" md5sum="d59126ce3a5bb8e4c516f727cd97dc5c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/register_streaming_write_callback.html" md5sum="63b45b49483a6b31022a93f986f60c46"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/remove_permission.html" md5sum="7984d05113b217a1f3590d95e1ca9fa5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/send.html" md5sum="d4538262a1b8219402df31e7a6f790cd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_batch_class.html" md5sum="9caecbb24c8a2dda264a4b0b5f1159d0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_cache_config.html" md5sum="c80a04acda632cf74a4774d4c3f08c25"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_hostname.html" md5sum="c8e81339aa6562ac899f6c44d13d3b9a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_max_retries.html" md5sum="7b3629591257537ff709b682b0833a3c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_parser_class.html" md5sum="bbb8355f345f15c77d7e72d81687d2bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_proxy.html" md5sum="1a5fa883493d1651a317faa54c66ef9c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_region.html" md5sum="a64230f5a6564700ebae497787ad6e3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_request_class.html" md5sum="f0ddc71f91d7b9b535e514024f815ad1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_resource_prefix.html" md5sum="39ef23ccbe457c4169699252e36fdbd5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_response_class.html" md5sum="a226a80ef60ea3f874a97938b9ffc931"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_subscription_attributes.html" md5sum="8c1240dbdacf380af91db08ec64eda3e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_topic_attributes.html" md5sum="9c0d8bab6994e60d50713f808d26da90"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/set_utilities_class.html" md5sum="7d3b448bd1f8d9a8a2c89126a4b6e00c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/subscribe.html" md5sum="dfc1aebdcea53baaae595d2a82f0ede7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsns/unsubscribe.html" md5sum="e7074e8d54c236e0dcf734c0ee175114"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/__construct.html" md5sum="a370541bb93941ef6625b59083528f80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/add_permission.html" md5sum="0a93ea7f441d8f3d79d64a072bc677fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/allow_hostname_override.html" md5sum="2b158111a730efffad735f99414b6947"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/authenticate.html" md5sum="a0e09684e2b073f4e3d4f93c833123b4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/batch.html" md5sum="b00dbf8e5b87eccc067ee437e0cdc6aa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/cache.html" md5sum="4151ce0c4889868c63be203389a4a49b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/change_message_visibility.html" md5sum="18c49c1d804da4b54da50a74ceef9e00"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/change_message_visibility_batch.html" md5sum="eb1a7699123d58f13a810b9a29d9602b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/constants.html" md5sum="0026128abf05c02ffebb30803d847256"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/create_queue.html" md5sum="94d895ba9a5f182550f6d6e5375b4120"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/delete_cache.html" md5sum="888d7fa2ac3176efd8c5a3046fd808e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/delete_message.html" md5sum="c280e24069edacb16d6f22b6fc0384fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/delete_message_batch.html" md5sum="e712733b27a8673cd502aaba0fd9c616"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/delete_queue.html" md5sum="c1839953e594035f749f4e6b6a710dca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/disable_ssl.html" md5sum="50507142b3e8b079a502c34fbd77d080"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/disable_ssl_verification.html" md5sum="44a4df782c702814e8a193566309959b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/enable_debug_mode.html" md5sum="2b10beb05de2458c8fc019356668db9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/factory.html" md5sum="fb4888667886f30e201fce4387f27559"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/get_queue_arn.html" md5sum="71271aa72d821b0b724c420bcb4ea016"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/get_queue_attributes.html" md5sum="4fd4e7ddfca1a2bbf74ad078f745f62a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/get_queue_list.html" md5sum="c569211dd48b50ca72b44b3cf6054cb0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/get_queue_size.html" md5sum="356d9605d43ee80fc87a4a7b2d9c9f0b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/get_queue_url.html" md5sum="025532c7785d4043e9505b3eeb3b691d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/index.html" md5sum="db6c37a0ea41e8f92c844876dc5ec1c7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/list_queues.html" md5sum="f760d0881dcc62fab6ec297d777ccabc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/properties.html" md5sum="e94ee22e07881b33a1768d5f8fcbf50e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/receive_message.html" md5sum="638fcc21114ccfb94de206b5764b1f0e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/register_streaming_read_callback.html" md5sum="5aec964e98fbbd8a66978b45456cef14"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/register_streaming_write_callback.html" md5sum="b2ac8dac69613565e82b31ae830df804"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/remove_permission.html" md5sum="fa58e440bd9acd148207af9f7ab36a86"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/send.html" md5sum="d08a06c8d15e4664a97a8593af283aed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/send_message.html" md5sum="896f251e13268f33c3459b596ad7cfd8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/send_message_batch.html" md5sum="e4fc3693f7965edf22f9eff4a8a7844f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_batch_class.html" md5sum="89983323de60e9eae709c89738f10754"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_cache_config.html" md5sum="7697f5ae7431dbb6ae17d30be3a7fc4d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_hostname.html" md5sum="7fe166f892dd4f9c34a09da7dbd85e1a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_max_retries.html" md5sum="0e569899cd4599a3cb18605f2c0a40f7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_parser_class.html" md5sum="44bdc9fd386e2035651c4adea8d13023"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_proxy.html" md5sum="6a6da1790ca9b2923eb4e2d199571573"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_queue_attributes.html" md5sum="b263e0c0311ed3079504480b0bee6700"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_region.html" md5sum="d9b81d31ec1a89b2b8472ef77fd71e6b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_request_class.html" md5sum="915b7778737e8edc2a65c5bae8ebed00"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_resource_prefix.html" md5sum="c7f9f4fa3a7f4b36cb6aaa1b93cef2c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_response_class.html" md5sum="1af0ad59c2ee825f8aa895d92fd65a17"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsqs/set_utilities_class.html" md5sum="e9865ceb4444b9adeeeb230fdeba4f40"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/__construct.html" md5sum="84d07d3159cb99c9bf80fc02baffbeaa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/allow_hostname_override.html" md5sum="932f15493426efbc29f00bac47354f6f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/authenticate.html" md5sum="b44f89a76fcbb362c65cef714b4ddbe2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/batch.html" md5sum="1991058ab6d613e53a04f322e02d1a34"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/cache.html" md5sum="3564218e98c6d43c9403f9a70585672e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/constants.html" md5sum="12eff6cd0ec10cf4d65651c68c424536"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/delete_cache.html" md5sum="76fe133f2b2eb435ca78481bb6727f82"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/disable_ssl.html" md5sum="d280032589f913960a7007ebfb8bb9d2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/disable_ssl_verification.html" md5sum="c624ec6668598f012f7682f146428757"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/enable_debug_mode.html" md5sum="49e03a96b7807b911e810e86b5a2b4ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/factory.html" md5sum="af84e07504d8432dd11b570f5c57bff9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/get_federation_token.html" md5sum="ed29e6ef494559ac2adb352b465583b3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/get_session_token.html" md5sum="01e7b15b2079f4ac0f10a0fa87c12456"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/index.html" md5sum="3adcb00ea3cf2360c27ac9d98ffd0641"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/properties.html" md5sum="05b83409307b89acd94bcb87a3dacd87"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/register_streaming_read_callback.html" md5sum="5c5ab18fc57917616813f44f9336fac9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/register_streaming_write_callback.html" md5sum="bb87e28cb974cd62c745fe795385979d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/send.html" md5sum="7d30b81ffba80726fb1e888e555cffee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_batch_class.html" md5sum="9a25932c879c5789a457feed3c5f8e5e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_cache_config.html" md5sum="474332a4826bb548e60ea3d401bd6d82"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_hostname.html" md5sum="873ddf27373a40ebdb3608771edce512"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_max_retries.html" md5sum="7b7fd8d8a9f9ba8bdab2ee4909641212"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_parser_class.html" md5sum="473649fcd62ffa301dda8552b93691b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_proxy.html" md5sum="afb791853e26d99f1994a8d9037a26d2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_region.html" md5sum="bf7abff13b9c480cb51fd20df312e202"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_request_class.html" md5sum="57be167e04bb210b8da228a9c6fbaf60"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_resource_prefix.html" md5sum="9bca010fe8589ef8aae8f1d22fc03053"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_response_class.html" md5sum="6ed2163b405b9b2781c3df6c195007a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/amazonsts/set_utilities_class.html" md5sum="610b6e26938c9840c5bcce217f337377"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv2query/__construct.html" md5sum="a8d5f12c23d25e796ee1b7034d540677"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv2query/authenticate.html" md5sum="0679a379198eb770a166f7e164849c79"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv2query/constants.html" md5sum="30fae712697297a5e11b8dc071581c73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv2query/index.html" md5sum="3114b507d68f20ae263853f407bd6c73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv2query/properties.html" md5sum="81a5f164021b426aec4f23649e4144c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3json/__construct.html" md5sum="327a811df6aafda01385cd9cbe552d2f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3json/authenticate.html" md5sum="0645f7242c8e65ceff087c184b2da3b8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3json/constants.html" md5sum="1323babfc3655046162d7e904253142a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3json/index.html" md5sum="c803c17ee87622f93e71b1f807ef0cb1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3json/properties.html" md5sum="6e0c594cf9efb06f837e07c6b978c169"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3query/__construct.html" md5sum="409d766797b6990c3663e92dfaa9254a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3query/authenticate.html" md5sum="0866e2f0ba096aba51c6184bae4e080c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3query/constants.html" md5sum="d48a0bb25b894b5c9a348ac6cc4f5a81"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3query/index.html" md5sum="06cc0a0f0b83414ccd441579df950222"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/authv3query/properties.html" md5sum="1f7ea412a1c2285c8d39da02a7fe5d17"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/__construct.html" md5sum="503d3b56e8e03ede9a73a19529f58561"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/constants.html" md5sum="a65f71fb7ec0f7e12b4d60f742f4d29e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/create.html" md5sum="5c8f1e209e0eb4f197cdbfd26773ddf0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/delete.html" md5sum="5a46a48820f44fb5b93eee05c8c7f339"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/index.html" md5sum="04b4ff465061380198d6dc2a919f16be"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/init.html" md5sum="8c881f42c5aaa5114b5647fb0bdc8bb9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/is_expired.html" md5sum="a8b0661df308bd6c3d78c9b709a2b00d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/properties.html" md5sum="2c1f7fa9e44212be1623031019a1b5ea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/read.html" md5sum="ee585bdb451a00c7d012be5f725d4946"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/reset.html" md5sum="c3dbeeefe12c7e650c536b4784e73f44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/response_manager.html" md5sum="f6ab9cfcdd2b6498966114553a9077ed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/timestamp.html" md5sum="55c79cc0d67aed0eff7e2efe59c200fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cacheapc/update.html" md5sum="a89320756ad4c97f604799a5ca7e70d5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/__construct.html" md5sum="4bce7cc03252de620dfed86990e41a5d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/constants.html" md5sum="314a89d75f56a7999667f3a35aa7f623"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/create.html" md5sum="b6815c0c1f2d7d196a9e96b2f314a84f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/delete.html" md5sum="55d05de34c6476e40b785c5dbc4593a3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/index.html" md5sum="2b5f5db57da90ff1690eb07dcf6bdf3f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/init.html" md5sum="48b6b62ee1d5681d88148e398b3990d1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/is_expired.html" md5sum="64a8c6c9586cc8c5dbcf8846a82255b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/properties.html" md5sum="aef2cbab3bc5feba0a38c42382ee79f7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/read.html" md5sum="e742af389d3fd7381798ae89c53622aa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/reset.html" md5sum="fddfb82bed64dd45ac400df08e4098f0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/response_manager.html" md5sum="ea0027508136f18ba832dff806db3b4c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/timestamp.html" md5sum="eb17df67147f66b33883b666eefc768f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachemc/update.html" md5sum="c6d3888ae6ce96cc421f59de75ac5687"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/__construct.html" md5sum="f4b291ea97349e5d336f11fb92e359ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/constants.html" md5sum="c642393b02280525721fad74439b8ad1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/create.html" md5sum="c15ecd4c6b7d6b713fc60d65bffd401c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/delete.html" md5sum="392295d0277c088d153ff88f73a4a86c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/generate_timestamp.html" md5sum="887fcdd0365b649acfdcf531f7e09b93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/get_drivers.html" md5sum="1744d9c6e40ea210caaf0b3925122cb9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/index.html" md5sum="75e5e41dbfcbfaddaa05f45d04849516"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/init.html" md5sum="dad31d713a6bb7d6a11def7d0f0bacae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/is_expired.html" md5sum="3795b7dca8bf0ae9ee3781f8fe831b9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/properties.html" md5sum="de61982487357b856e21d64bab696d53"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/read.html" md5sum="23a47e6506c059d01c92c5e2d9ea2ef2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/reset.html" md5sum="388bc4d0884cc95e5e8c60e679ed0ab4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/response_manager.html" md5sum="0ae914763eaf34a4a9774ccfc5b52cc8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/timestamp.html" md5sum="95b0422ca65237d611b5db5e1ece17a3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachepdo/update.html" md5sum="9e212a9716ab6b806cb6f323325a2206"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/__construct.html" md5sum="41937af2ae987a90d9ccceb3dd85cc42"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/constants.html" md5sum="24dba6a1f25ace1cb9f8f897868a0689"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/create.html" md5sum="5927c0531210e040618bed6034cfd381"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/delete.html" md5sum="554ef977090b9a4a018bfe0b20678d20"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/index.html" md5sum="0c1bae59151c7d97ba6982d9e396c967"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/init.html" md5sum="61eca8f2465177d74e4ed9803f3e34d5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/is_expired.html" md5sum="1f5f38101676be439e05d04e61cd30f5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/properties.html" md5sum="25ffc354ef0d07f7b418eb05f67c7d1f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/read.html" md5sum="35b3ba5591550448c1ec997e283b1de3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/reset.html" md5sum="4bc16faebd3604d060907010edea49b7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/response_manager.html" md5sum="d2c89e982175ac350a1b74c346f1b8f6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/timestamp.html" md5sum="3ee991647cb80b0348f90c19dbdc9a79"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cachexcache/update.html" md5sum="3e710c922a7d931b1e9b692f397a441d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/__construct.html" md5sum="5920c51adea361d35cb10b84ae2c8caa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/__tostring.html" md5sum="556bcdc695dcf31049a21ca75ce3abe4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/append.html" md5sum="d6bbffd454ef6b1dab4bc50af89f5617"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/areok.html" md5sum="341da97d066af3910fb35721900bcf27"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/asort.html" md5sum="451e278bbd02d22b4c49c819cbd3e587"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/compress.html" md5sum="af69b370ca2b7375456e8f297e1958d8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/constants.html" md5sum="cb4763802c64eb00fbe46ae234cb5a5c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/count.html" md5sum="0fb6edfdfac32d619c919da6954de352"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/each.html" md5sum="22d987b5db04b39962f2ec0c4ac0412c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/exchangearray.html" md5sum="91c50bf3f37d9179d2866879a4ffd93d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/filter.html" md5sum="58413add217a1b985d8fb409e0ef40c3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/first.html" md5sum="757b0c1e23dd66fa075860a60b6c71b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/getarraycopy.html" md5sum="493fb8ca4ec5ae5c70a9595f41d26881"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/getflags.html" md5sum="d1b63de53cdd2df14db6f2e410c3208c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/getiterator.html" md5sum="5d8226d6fca466ab817d8d1926ce6786"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/getiteratorclass.html" md5sum="048e87599b52652f09106f9840f3d17f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/index.html" md5sum="73f9e2ed70a926831a6bcab1cf00b3b5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/init.html" md5sum="dd64c06c09d674d9ffd9efa6870ffed2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/ksort.html" md5sum="be9ad7045a79c3146a6ea0cc6d7f7785"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/last.html" md5sum="4106543ae73e68a408e5fda8592323d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/map.html" md5sum="fd3ee10f936e5adec59546468401ff6f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/map_integer.html" md5sum="9d95463deac43d3f9312ab2c76c59243"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/map_string.html" md5sum="b32b1379ba022bd6df9da16321d42d25"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/natcasesort.html" md5sum="17780d19634f19f7419717d0f652cc18"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/natsort.html" md5sum="893b67c55897c7856ac051b2890953e3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/offsetexists.html" md5sum="855686d75e4298e87cc9f43642a0df47"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/offsetget.html" md5sum="0a6297565a52d8dbafee321a895440af"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/offsetset.html" md5sum="c3933ba0678f6f4c790c6caac772a792"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/offsetunset.html" md5sum="6d0460ed06bc1c603244830684125116"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/properties.html" md5sum="241a425b5906acd99a36b23336a634c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/reduce.html" md5sum="237708737266f8f36b2245b0ead5ca4f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/reindex.html" md5sum="581b4dac05a724086f379c6f045662bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/serialize.html" md5sum="d5637fdcae5b5b79b08a771483d228dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/setflags.html" md5sum="d4cc448e47237f55a71c98fa57195552"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/setiteratorclass.html" md5sum="5a500ec661f2e6686a76ac30c1ebfb17"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/to_json.html" md5sum="935a1166f417a79268fa34f56bf49c8a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/to_yaml.html" md5sum="edf917319ecde0de41e2ff6a82ff1661"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/uasort.html" md5sum="6b78d4ff1237949fdd2d332d2a55956e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/uksort.html" md5sum="ea99a463fbc84fe988a0d2b52c68fcf3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfarray/unserialize.html" md5sum="008c61f82507b884001fc56a79769ef0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/__construct.html" md5sum="7504b99466b79fac512a49b77da8cb65"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/add.html" md5sum="20032715da4c4b420a7b744f144737b8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/allow_hostname_override.html" md5sum="ac4d7c056bfe8945184e72b3d1e6669b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/authenticate.html" md5sum="45a06300053b4270ff99c56c3ab1ccde"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/batch.html" md5sum="3752a49f5753b555c93788375c8ea7cd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/cache.html" md5sum="a73c54b1824d0e1c7ca2926f89af1eea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/constants.html" md5sum="2cd45b686cbb0f77d1218db0b7a3b415"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/delete_cache.html" md5sum="b37187022076458234b87fccce2d4cfa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/disable_ssl.html" md5sum="434ff9d7ec62d284bce01b63f8dfead9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/disable_ssl_verification.html" md5sum="bd3246ef83bf0d4847d6e8ede77b5cab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/enable_debug_mode.html" md5sum="a48955fff895e62cfa41196a65465257"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/factory.html" md5sum="5b28130ba57322f628a4800f0757f20a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/index.html" md5sum="defd57180b612402257bd3183445668b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/properties.html" md5sum="0f10da3aa420bade5af8d1d07820fb5a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/register_streaming_read_callback.html" md5sum="3d1db498bd8edec8ae93de2481bf5ff2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/register_streaming_write_callback.html" md5sum="94d49e786293dda2e1abee20a234f98e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/send.html" md5sum="76d624649f7f5d1a6077417935266b55"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_batch_class.html" md5sum="04642ab64a26f5ca634ec5372d9282f2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_cache_config.html" md5sum="ede79d77f9fecd04c86f81a8aa646640"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_hostname.html" md5sum="8a52eb7763166c8ca0d1e0e04422a4e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_max_retries.html" md5sum="3bb8e377347e9f1a16e10a544ce627cb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_parser_class.html" md5sum="37b02b451f568757b24606fa354b1afb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_proxy.html" md5sum="49dc3b649bd4e7ffcf3de463fd41d011"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_request_class.html" md5sum="b5abbefaa4df36c093e8754a7658ed6d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_resource_prefix.html" md5sum="c1eb7587ab631a35f9e525bf1f14afe0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_response_class.html" md5sum="2dc454d811c6489d4046c2e6eddb5aea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/set_utilities_class.html" md5sum="3567d3ef755706ba9485d430c19f0ca5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfbatchrequest/use_credentials.html" md5sum="2899ee44a00353345e3a274ad1233693"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/constants.html" md5sum="7071b421400ee7af8c3f60acdf672c95"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/index.html" md5sum="85d0f384d7a26509b5298c21cb89f21d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/json.html" md5sum="580acceecdf6c7c56f453c90a6732ec2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/map.html" md5sum="fd0feff7003248f695eeda22c97f0f41"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/option_group.html" md5sum="c72db1934390588f5f4531eb5d83d704"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/properties.html" md5sum="e540c32444dc8c4932a37aa51e4cd546"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcomplextype/yaml.html" md5sum="0a3f449ac61b2d65f8e0fc953ab4300c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/__clone.html" md5sum="1d997a427a2a717870ad8a68dee6af3a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/__construct.html" md5sum="7eabcffb83183de5b16feb77b7e4b123"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/__get.html" md5sum="6994484ceadb4894ee358061e7f6ef1c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/__set.html" md5sum="4efd502fd2f921d3f2f52a392b274997"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/constants.html" md5sum="b64b1f1ad3071a0d39bff10a297b40e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/index.html" md5sum="6f9f769ba992655f3e58638472d4acca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/merge.html" md5sum="8ed7c8737725c95722fa4a448be7bfe4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/offsetexists.html" md5sum="a9b248d5029aded1aba7b082219f5699"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/offsetget.html" md5sum="90d5c6d82a215096bbcd9a1141414fe3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/offsetset.html" md5sum="e712e3f255a518b5d9a11fc561326c70"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/offsetunset.html" md5sum="a00ffc7d209b84feab94927e93d1f283"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/properties.html" md5sum="3d793cc9e38905470febae687ccacf39"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredential/to_array.html" md5sum="0dd3e19f1cdca5f28daf60350938800d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredentials/__construct.html" md5sum="71ff8bf9e426db81c9ebfd8791171796"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredentials/constants.html" md5sum="a952dded58d679655d1cdffdf876002e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredentials/get.html" md5sum="33cd78a5ec8aa497ff24b55954990beb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredentials/index.html" md5sum="f2d6931d781e5a5a7d85e4c8455c1416"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredentials/properties.html" md5sum="f2e17f91af573d0fa43e12ecebe8251c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfcredentials/set.html" md5sum="51f09ec826eb78f001bb5111ac758ff2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfgzipdecode/__construct.html" md5sum="e70776da230a0812635e57513cb84b33"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfgzipdecode/__set.html" md5sum="e4414ea1631e821459560d1fc0b84073"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfgzipdecode/constants.html" md5sum="809a23abbe861f936714ce8be1011258"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfgzipdecode/index.html" md5sum="e18a36152bbd58cd88edc0e71142b52f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfgzipdecode/parse.html" md5sum="5200dfbca150df3de374833445fdaa50"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfgzipdecode/properties.html" md5sum="14e235f2ac7db96e82a0e5f337088d93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbase/constants.html" md5sum="237ddeabcfc411e73d7d688c9cf4f9bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbase/hive_pig_script.html" md5sum="3ef4a48834825a76248203a21d684a90"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbase/index.html" md5sum="aac4f223965e5091788d1e6c89b2d4d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbase/properties.html" md5sum="8194c86161387067c7a540b46fb69368"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbase/script_runner.html" md5sum="1f5a0d9deaf6705cd3cc3606656e7c0b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/configure.html" md5sum="691c0d5877db51e99775786d613c3833"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/constants.html" md5sum="2a9545a3ddb11a25f8f64861d768f1e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/daemon.html" md5sum="c218a46b43d9ba3f59eef2dee99f22a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/hive_pig_script.html" md5sum="05ff7b975c1a4fa5151b8fff7752189c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/index.html" md5sum="e8e29cfa6fb58cdb588cd81ee9cba069"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/properties.html" md5sum="d959d51e9f9c375329212425ff7000bf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/run_if.html" md5sum="17c9eceda92632b08db7cbadbe86a0b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopbootstrap/script_runner.html" md5sum="3572702123ca407403e57cc2856b7fc7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/constants.html" md5sum="e16a3b703881d0fbc98db6a5e873bb59"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/enable_debugging.html" md5sum="d3eb11880db98c234d1f690bd07100de"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/hive_pig_script.html" md5sum="8b524abfaa09be0ecefaf70c4d82967d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/index.html" md5sum="d5b5c0608aa9756f2a857d15e2b43d0d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/install_hive.html" md5sum="afaea1b147704bceff615a33c3db3612"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/install_pig.html" md5sum="5677ee2f18893d939a0380decffac6a1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/properties.html" md5sum="692535e0412e9a6b90d7b39ab68ef29b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/run_hive_script.html" md5sum="478900ba201b6ee0bed0c21902a747ee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/run_pig_script.html" md5sum="1915306665a4b0b68bcef394bbc1ea88"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfhadoopstep/script_runner.html" md5sum="1ee76a56c91f8f0aed8ccb9882af0d7f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfinfo/api_support.html" md5sum="0787fa89e8127f382b4d6fa44295b2d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfinfo/constants.html" md5sum="3f4b1db7b90373e416ed7607fac19918"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfinfo/index.html" md5sum="403fafa2553d9c0264f734b33c2a3d43"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfinfo/properties.html" md5sum="28c679d2e147e1843ad9023cd1b55e28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfjson/constants.html" md5sum="919abc675dd93db25b68aa2456ef0773"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfjson/index.html" md5sum="9e9340cdd01bd584d6e075ee004686fc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfjson/process_json.html" md5sum="faa29c1fee9e7c415208c4ff140b05fc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfjson/properties.html" md5sum="1d8409aae36ed506b5159a13d33989b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfjson/to_xml.html" md5sum="75d528e1117e82f29121cb3997b62e06"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfloader/autoloader.html" md5sum="445fc13f812b3ca6b83719418b7c2692"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfloader/constants.html" md5sum="46d50e35c7193ceb11d5613065be33d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfloader/index.html" md5sum="cfaf3021b3f68e3ac681a39131a42283"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfloader/properties.html" md5sum="ca660fb93d10d45dd70dd4508b8774d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmanifest/constants.html" md5sum="33a05ce98378a0a361556b4f8be3d0e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmanifest/index.html" md5sum="5beaa8ea67a9af157700db7eeaa06869"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmanifest/json.html" md5sum="2283700e17595d79ff1ed378411f4442"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmanifest/map.html" md5sum="a6da28e4d584f31ed6e7f28b249c5c08"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmanifest/properties.html" md5sum="86c7682da3a8dc88a46bac35988eb97b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmimetypes/constants.html" md5sum="b6dbb7457fe49fd39deb4c8686f944ea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmimetypes/get_mimetype.html" md5sum="57a2afb9617a02733c17812993f0c72d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmimetypes/index.html" md5sum="4889f2436777b49abc8c860b0e4d5b81"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfmimetypes/properties.html" md5sum="6e84c7f41dfee0e4da2f40fdbf9d20c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/__construct.html" md5sum="2fec463885919d8b6618255551a2c3ae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/constants.html" md5sum="5777a89ec272d063c260a13fb73bb520"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/decode_policy.html" md5sum="4fa351fd8e485b23e6d879394c247201"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/get_json.html" md5sum="69a9386f69cd9a3cc288918ae95351f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/get_key.html" md5sum="055a3264ba04533bf4a51031dae1e86d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/get_policy.html" md5sum="1f4ec91b21d950ffc75c511b35c86404"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/get_policy_signature.html" md5sum="64863aa81fa42a17133614c839d546e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/index.html" md5sum="cd1065423bf17090ad85652027e78b0d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/init.html" md5sum="0f3cecbf94ea1baa7ec5e453a1d55f34"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfpolicy/properties.html" md5sum="6e526381335fcad2d3f5d2d0c20cc796"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/__construct.html" md5sum="df192e1eafb921d309ed74d0e2b7dce2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/__destruct.html" md5sum="7f00eacb30603f566a08d139f88553c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/add_header.html" md5sum="20755b870c14a8d90582e4ea835b6205"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/constants.html" md5sum="0ae701455d2a503113b0ed7130ef5f6f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/get_response_body.html" md5sum="e0dc68fed4c4e02de38384a81ad7aa2b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/get_response_code.html" md5sum="47689fcf7e96c535ce11e79f46bf9ccb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/get_response_header.html" md5sum="6a957827c7ddab72dac5b7973ef6d6eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/index.html" md5sum="83721742822168585874ecdb7baa6d26"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/prep_request.html" md5sum="6e7cd3a7df10629dde6479f8bfa7ab59"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/process_response.html" md5sum="7b5defc9b7567d55710ae643a3ccce72"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/properties.html" md5sum="828c4eee6aad6e39a33df66fe94b4451"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/register_streaming_read_callback.html" md5sum="f7d4a6c7d887d5faa8b7ae418542d2ab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/register_streaming_write_callback.html" md5sum="9287c56f07f9824af6dab8a08def49a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/remove_header.html" md5sum="56f3c09d9ba180fa178d8ab81f114074"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/send_multi_request.html" md5sum="b78a3932a5e03c89df814823dba8b60c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/send_request.html" md5sum="163a2ecb01c0b231b60f62dbdc5b4f5e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_body.html" md5sum="80247b181e7572d7a1e4336a6504c2d8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_credentials.html" md5sum="56f6669ee453e116d0a791e9b1220d74"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_curlopts.html" md5sum="a83f32b26b7ab1b954413bdffeff6d40"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_method.html" md5sum="697fc7af165c075ca52c24675b4d17fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_proxy.html" md5sum="10182425b67ec83548aaa5058ec77178"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_read_file.html" md5sum="6c568c60c13bc1d047830beeab62b1f6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_read_stream.html" md5sum="cbc8da5d6cf11f5561b115619822b26b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_read_stream_size.html" md5sum="9feb5925036524528213504c1e9515a0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_request_url.html" md5sum="de2c7871a7104c78e05fbdeee67cb8d8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_seek_position.html" md5sum="c9556ef5fac650a87764eeb88f23b126"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_useragent.html" md5sum="62e056070489c7c085c1c77db629ea84"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_write_file.html" md5sum="b463fb0e142525b4427a083c019ef631"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/set_write_stream.html" md5sum="480470b313fe0cc2b6a04b59c1aec010"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/streaming_read_callback.html" md5sum="945ba6b9cb53b985c071dfc3e00bfccd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfrequest/streaming_write_callback.html" md5sum="a0481df63b22838cb453d8c8499d4e27"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfresponse/__construct.html" md5sum="972f33e9e4dc5d9a6f707191a23d504e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfresponse/constants.html" md5sum="415614e1272eca7ef76414862ec41e65"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfresponse/index.html" md5sum="08f108f260ea351338e3e1df4de3c2ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfresponse/isok.html" md5sum="557ef0bf7e36b84cee1570599196cfd6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfresponse/properties.html" md5sum="d5a2f9049249f619d3f647c50c3c9550"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/__construct.html" md5sum="afbd34e4b34ea8f00a9d9636cea42b9e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/allow_hostname_override.html" md5sum="323d4878823ce77676987205241e7d15"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/authenticate.html" md5sum="980355efe29ebc42c6061db7abdb2099"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/batch.html" md5sum="dcfc9fee002a6253bdfddb863c6b6f64"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/cache.html" md5sum="2ea99fc369fc284ddbe36bb21db819f0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/constants.html" md5sum="c51e9dfcb054f5bddd912cfa4faef869"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/delete_cache.html" md5sum="2dc542c2120d203f9dffc6752ce55c71"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/disable_ssl.html" md5sum="b4382b9dcd5a2286cfc7c5f0c1539d59"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/disable_ssl_verification.html" md5sum="4f0f1c96e814dd2e0f1608d9f6292458"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/enable_debug_mode.html" md5sum="d540e124f9c7a54b722eb971ebff2f2c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/factory.html" md5sum="72b2036bd070095f8159646739478222"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/index.html" md5sum="cb1848bc6026a1d18c1a5c8478b19654"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/properties.html" md5sum="82b01f41cfd07e92e208c64e8c5e454e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/register_streaming_read_callback.html" md5sum="ff4546ba049298f59f4df2b01b4f85c5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/register_streaming_write_callback.html" md5sum="922df6364c2edc6961c4ac07cb6c6571"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/send.html" md5sum="64ed229d40e714941a90de25cd6efbaa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_batch_class.html" md5sum="eda056dd6fbb63c1ae726d8f791c667d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_cache_config.html" md5sum="14f8d14020d93de0edcc862338207bf3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_hostname.html" md5sum="52229b73a6d6cef52d4f8a28701a346d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_max_retries.html" md5sum="08adc2e5120e40b3536c40bbcb0d1c04"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_parser_class.html" md5sum="6fcc87bf0d1216e4d3dc97748b5a39bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_proxy.html" md5sum="a5759352a3fcb3890c98c35fb0089868"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_request_class.html" md5sum="1dcbb7b5edba0736f5a04ac08ea316e2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_resource_prefix.html" md5sum="a034ec7a84e026ef8963daddc7895083"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_response_class.html" md5sum="6788f2349734bc99fc46de95c573195e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfruntime/set_utilities_class.html" md5sum="d5589e29e7f9f5d5fde814bc803409ff"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/__construct.html" md5sum="32721d1611448210b35332a98253c861"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/__tostring.html" md5sum="00506716a45042823e63c86a29eff702"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/addattribute.html" md5sum="20b734d26897f9c75fe4c31d82a98dc8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/addchild.html" md5sum="a8557ede9b6c5aac22d3e306db56494d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/asxml.html" md5sum="d3b334d6f054a2f925b02c0a8e162de1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/attributes.html" md5sum="43560e5213f578ad5c6b104ecfabc02d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/children.html" md5sum="2d93959e067e5397052b37ae187bf3fa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/constants.html" md5sum="c8d1a1b6b06fa64bfccdc6849be2030b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/contains.html" md5sum="7f953320842fdb90b413156f6b48c8b4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/count.html" md5sum="300364c289944c5521d52cc686696e3c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/current.html" md5sum="a497b9c27e24090bfb98e944768d9d80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/getchildren.html" md5sum="3d9743172bce0c9da08fed8a5db5cf5f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/getdocnamespaces.html" md5sum="24f22d7b4a8f6a904802b95e9975015f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/getname.html" md5sum="4046b7edbc797d3c90a000492d862950"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/getnamespaces.html" md5sum="8166b5e323d9aae88026f39c12b65da6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/haschildren.html" md5sum="000bc1ffee559a7da6b041501016d966"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/index.html" md5sum="ecce5bfd6c4e3ddcdc566c36cc438336"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/init.html" md5sum="5301f0666d62ea3c7a9f28c630fb933a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/is.html" md5sum="b9f882f757dd813adbe19baf3c05b382"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/key.html" md5sum="569c80a78e48996c38f4da223a9d2126"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/next.html" md5sum="35b37512414f87afc24081e74c45df10"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/parent.html" md5sum="b6ca9a427a82dc06aca4a83b19d71536"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/properties.html" md5sum="169ba19cb25f40d890b411c5f06d2b68"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/query.html" md5sum="6cd380c53031d890c8cd4706be7dd24b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/registerxpathnamespace.html" md5sum="ba40f5f6d47d886a21056fd769bd7955"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/rewind.html" md5sum="0477c55c2e63e8f7b8bef8697cc87511"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/savexml.html" md5sum="9a7063f2e031233339833bd844fd9a53"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/to_array.html" md5sum="6d9ae51412edd742de499461f06fd242"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/to_json.html" md5sum="6a35c2eb71d77f8fced26a0865458f28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/to_stdclass.html" md5sum="f16f3ecd8770a7573eaf51229536a225"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/to_string.html" md5sum="2207210bbab38ebbd550a9431ad41b81"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/to_yaml.html" md5sum="206ff6c80371f92dfec056ce062f355b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/valid.html" md5sum="19c9f9fc26e470c5eb56189c1ae8b878"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfsimplexml/xpath.html" md5sum="16ed5bd068ba05b23a9358283e44fead"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstacktemplate/constants.html" md5sum="6c061c18246e3ac91cd91ea25f8de0f4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstacktemplate/index.html" md5sum="f7677f53234af3a75e868d73dd6abb51"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstacktemplate/json.html" md5sum="28cf3810523744caf6564f34e99b9ded"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstacktemplate/map.html" md5sum="5709f16994a7317acb9fc2f46862cd40"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstacktemplate/properties.html" md5sum="f38aee74ed33717018d08b62bf7c939a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/__construct.html" md5sum="e2da39d8b07e54bb9f2ececd94f98203"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/__tostring.html" md5sum="26e8e28ee97f2eb01ad98f68d6f8dd42"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/constants.html" md5sum="666c15430a1c7f43f1be07c78b7f159e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/get_config.html" md5sum="7f617115866c712ae5e57b92647e37e1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/index.html" md5sum="07d360d3a0a4a93133d48d4b70f35e3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/init.html" md5sum="85c64d436e58aa1f53f4add619ff2946"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfstepconfig/properties.html" md5sum="b114b2daa4060650f8e6b1013bd6b0e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/__construct.html" md5sum="daaf6bdde987568479282f7cd2ffbc68"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/constants.html" md5sum="8ec67f2d084a255c93ff111600ef72a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/convert_date_to_iso8601.html" md5sum="74bb9d74da4cfb31fdbac810535324eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/convert_response_to_array.html" md5sum="d62cf1b9ab6ed1e9674d09844f81908a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/decode_uhex.html" md5sum="dfa05e4cb016e6b1ae18a2017e6ea4ae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/encode_signature2.html" md5sum="12f6b5d8829e1bdc9f7dad161bcdacd7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/generate_guid.html" md5sum="82641a85c1ba026503c2e589954464a5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/hex_to_base64.html" md5sum="c0ef08fb0e8224e50f05f4391453faf0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/index.html" md5sum="b4b0fea2fabf28a3dda94a5be41adf17"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/is_base64.html" md5sum="ab6a3b9a5568bd56f64212c970349d30"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/is_json.html" md5sum="31fbda2a2eb8e3ac9d29c3653091f559"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/json_encode.html" md5sum="eb7bd9d404e087a374ac0b9e6eccb81e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/konst.html" md5sum="10ed90c5ee1febfa5d4dc3e4d61bd31e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/properties.html" md5sum="a6a7c0b296d80705c47a10d1a10ec0dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/query_to_array.html" md5sum="38d5e1cd25b43c290d021a1c0be05931"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/size_readable.html" md5sum="80735332171b5e40a01286c60b4b2f2e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/time_hms.html" md5sum="766391383b31456649a7934ac631b597"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/to_query_string.html" md5sum="125b1a76c73da0ae5a23fbf95bef57fc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/to_signable_string.html" md5sum="49d06c20d5a2ebe3643ff5c77f5ad07d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/cfutilities/try_these.html" md5sum="8d91d47fe8c746393abd0f6e99bcfa43"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/__construct.html" md5sum="17b3e2ca261f10ff0932ad4398c40206"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/abort_multipart_upload.html" md5sum="353571a5c66cadcdb9ef1e71e64782f2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/abort_multipart_uploads_by_date.html" md5sum="d01c4a3d98480a6dbca0f0993ad2593a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/allow_hostname_override.html" md5sum="9bd27c295649f34bbdb7d725c20b418c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/authenticate.html" md5sum="fb0290529dfa731fb53042eae6aeab61"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/batch.html" md5sum="69c50cc5518f416eb406b6e785a28d00"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/cache.html" md5sum="d6c86ec57c3fe4f24f22491af20d1dcc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/change_content_type.html" md5sum="729fde59e9bdf5e89291505a844bb507"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/change_storage_redundancy.html" md5sum="6153b4c410d341c9387e2e4b8159787f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/complete_multipart_upload.html" md5sum="9b1ee1441c01bbb0ffe3e8c67711431a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/constants.html" md5sum="708e635e00697cc963e9ba8f9cac02ac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/copy_object.html" md5sum="3cc4c3fdfd00389e5b4fe12634f139a5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/copy_part.html" md5sum="9e2da2b3b3377259970f98fa4cd5954c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/create_bucket.html" md5sum="7debc42f8bd5380744c60a3b539b5307"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/create_bucket_notification.html" md5sum="8134c781dbe651eaab6997eb3df62998"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/create_mpu_object.html" md5sum="9e6d4bce587bd780834c50f98268b3a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/create_object.html" md5sum="e4ff62948551344230a03e8fc79ebee2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/create_website_config.html" md5sum="c6fbf3e1fb36d8c95934c81f07292769"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/current_uri.html" md5sum="2753583d53866719e62079345de6c693"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_all_object_versions.html" md5sum="a183d0b4bcb61ba614a0eb4210500c72"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_all_objects.html" md5sum="b849ac48eb065eebb371c494e29aa797"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_bucket.html" md5sum="bbe3f012c5c48f3376f91bc1915c288d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_bucket_notification.html" md5sum="0469752a622003a5dd5d252e5779bc71"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_bucket_policy.html" md5sum="ec1cdbdc8eb1a32680f3c08822c28f9d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_cache.html" md5sum="620c093707fdd9f6892e60eb33f8f439"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_object.html" md5sum="601cf1a54b00753eefe75b2415deffbd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_objects.html" md5sum="e7983aa70efea8e0c8b4d687a36f2c3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/delete_website_config.html" md5sum="08cc3c9d97c7114aaed5c5ac650c2baf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/disable_logging.html" md5sum="dc56eefa1b243d3c84b4c2b97e8f9121"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/disable_ssl.html" md5sum="65eef0da14728616adc27fbe16e66be2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/disable_ssl_verification.html" md5sum="cf29761823a694abdadb24954040c182"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/disable_versioning.html" md5sum="279cd5c57a06f042ae11e61bc7e43f54"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/domain.html" md5sum="c96efa33d54f189b37f16762463a84fa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/enable_debug_mode.html" md5sum="c4bae3f36d0b1a2bf8fbb8487591b1d1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/enable_logging.html" md5sum="dc8bcbd3ca58134c3e7834d8c2465978"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/enable_path_style.html" md5sum="62f0a3a4f404869636ab29c5b45f29c5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/enable_versioning.html" md5sum="d0c543095736f18274a163aa1b22bd9a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/factory.html" md5sum="f86b1a165186e748025edafeab3c0095"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/generate_access_policy.html" md5sum="6cad2def254904b534008d3fc1d3af8f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/generate_upload_parameters.html" md5sum="3c265a2cfd68e6420b9a0f7f9fe9f91d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_acl.html" md5sum="5c585bb4804aa94454ed067a8372b7d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_filesize.html" md5sum="17f6362ba530357cbb2bd21ebd217477"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_headers.html" md5sum="65769ba679cd4fb0d0b9bea381a2fbac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_list.html" md5sum="e5bc56e3a76c5e080ed303c3ef017a3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_notifications.html" md5sum="520b1c5e29149d89e4423668b0def037"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_object_count.html" md5sum="b0d21734a1790390c3539167000f3a60"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_policy.html" md5sum="a8c9a15a308ec0d607e6351249aba35f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_bucket_region.html" md5sum="b00599e121be4ad96d9e083442cd1fef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_canonical_user_id.html" md5sum="189ecf4cbba9feff404aa0c0e440ff26"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_logs.html" md5sum="4adcb2ac0a406a9d1d0e8ba6909c40b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_multipart_counts.html" md5sum="753eaf3b54d24a5fafb563713b65613c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object.html" md5sum="051471efc81603dcdae7e6638a010204"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object_acl.html" md5sum="16851eb4a002a5dbd132ddece9d9ef07"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object_filesize.html" md5sum="18077f91b5787bbb5508bd7b5c44bc7c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object_headers.html" md5sum="7e6633052a69a380309c1a1ea60c5523"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object_list.html" md5sum="7cc4c06fc016a3f734a886131c39681c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object_metadata.html" md5sum="a7fc1a0e3ae489103cd4b32f73baa0ea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_object_url.html" md5sum="a55970a24efabd0583e1af8f103afb8e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_torrent_url.html" md5sum="02997cf0f1ea269a8cbbf797f3bce1c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_versioning_status.html" md5sum="5561665458b5f226a2fdfa433cbba154"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/get_website_config.html" md5sum="3dcef2093817e398237896f7360785ab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/if_bucket_exists.html" md5sum="90b2efa195f42c2a16ea1cbd80c274e1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/if_bucket_policy_exists.html" md5sum="3d7082ff40c11dd7d8be41b7f5f94a03"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/if_object_exists.html" md5sum="4a570987b7868649df0f6b8881c95a32"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/index.html" md5sum="303208a72199a84a48ac8ab7574e95a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/initiate_multipart_upload.html" md5sum="c6b9fb748b29aee62147f73d21353151"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/list_bucket_object_versions.html" md5sum="ca43645cd8c82474cc30021edcde545b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/list_buckets.html" md5sum="3cde05771d83d2115f638d733074911f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/list_multipart_uploads.html" md5sum="1b26c3a55e12264793cc4e2250d1cd77"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/list_objects.html" md5sum="5d973d8bb79fe77f6cc29020db40ed84"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/list_parts.html" md5sum="7934db918fd07c41d611fc5214afa5e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/properties.html" md5sum="b901a21c0797ee7f8195e382b95ff7e1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/protocol.html" md5sum="dad571789ea16dae9f1572c8412aa8f7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/register_streaming_read_callback.html" md5sum="4ac82d32c326a83811349fecca908687"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/register_streaming_write_callback.html" md5sum="a23e2a370cbc85432bf792dc9794093a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/send.html" md5sum="e28a39a90e2d36c2304b7799eeebf984"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_batch_class.html" md5sum="3ca27a1512ace334807da504a3cbf931"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_bucket_acl.html" md5sum="a66228e7c0f2a3f8dab65909126eeebd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_bucket_policy.html" md5sum="1780a46442a37d92f5a79865f9df6aa4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_cache_config.html" md5sum="e5150fe635ad647560901303fe4a9da7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_hostname.html" md5sum="afad986761b7aa57b12122e266d5ace3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_max_retries.html" md5sum="5e442f1ea73b9a7eec2b4bac82d7040f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_object_acl.html" md5sum="6eef52a91f427de32d4a2b5ed7d851ca"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_parser_class.html" md5sum="b5849bbbbf9c0ae7438e53c73add15aa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_proxy.html" md5sum="687183428e181e1d46c2203f23bd2b7a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_region.html" md5sum="051e170f54e0bc2e10ae8ae4c9b9501f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_request_class.html" md5sum="a5199020aaf234ef3a9f0d018ee0c8fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_resource_prefix.html" md5sum="d2e006e98ac8adb5dd79a79fa99c2492"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_response_class.html" md5sum="fb7723188e6e50c60d367e39b5c41af5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_utilities_class.html" md5sum="a5c9d472de3b696766ed76b440cb660d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/set_vhost.html" md5sum="28e0b77cb7762c7f198876ef31538b72"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/update_object.html" md5sum="1df841c4bfb414a6418799153ba50ad2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/upload_part.html" md5sum="e8c24f58ab8933f8249b57a0e3b84ce0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/validate_bucketname_create.html" md5sum="abe3af0c3b20a6d8cb7244617fa1e217"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3browserupload/validate_bucketname_support.html" md5sum="e3f0e24bd802268ed553c527470fa212"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/__construct.html" md5sum="4f2181b37b92021456ac98cbf1d24ed9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/abort_multipart_upload.html" md5sum="d9160974836bab4e529e3d4df5b998c9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/abort_multipart_uploads_by_date.html" md5sum="9940821af09aef37d7320f1e05459e6a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/allow_hostname_override.html" md5sum="b7617ab13c52b6694a67347ef1b81fd3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/authenticate.html" md5sum="c23925e55c3017aab099f5b4de9c2f91"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/batch.html" md5sum="970f81c4bf97e4958c0165ff9c1dff9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/cache.html" md5sum="dfd5f65fb375686e052b3b7b10fe9aad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/change_content_type.html" md5sum="905ad8ffe5a8e61039f5f8e7ce695c31"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/change_storage_redundancy.html" md5sum="ab0cabe15850d871b279005f8e7a3e07"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/complete_multipart_upload.html" md5sum="c457de72860801e823ce1ccc6dc613d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/constants.html" md5sum="d1cfa32651818baaed9cc0f0465d32ee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/copy_object.html" md5sum="d69a262c7272c220d8adc5eb07636ed7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/copy_part.html" md5sum="3bf7aa90a6d83f61f31d6d29969d9f77"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/create_bucket.html" md5sum="4f46b752c41b035ce8543024c163336f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/create_bucket_notification.html" md5sum="adb4e9e9af8bc12fa5039c7c30b69be0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/create_mpu_object.html" md5sum="f2cdac3774d6370f57896ac10be3a7bd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/create_object.html" md5sum="2dd2e883d65efe9f10c655f3d44cfb2f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/create_website_config.html" md5sum="a74a8ff3e43637400e700e17142918c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_all_object_versions.html" md5sum="5fe6eef6595c9d485f610f6ca9c4a765"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_all_objects.html" md5sum="a26f9f89bd3442d88cdad632aa746e2c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_bucket.html" md5sum="612823e0371e2dbbed7a99ef7f95bd5e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_bucket_notification.html" md5sum="c90fb953240e7a5ed845c96a9736c15a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_bucket_policy.html" md5sum="c9473faed6b11cd77368598d92bd69b5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_cache.html" md5sum="60ce930f13a946ad41cca0b32da014e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_object.html" md5sum="e2b8833a9480685e42b4e94761893303"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_objects.html" md5sum="5aaa420e22b156b7e3208cba0620046e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/delete_website_config.html" md5sum="c793fa1117d354aec70a4f8a1bb46048"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/dir_closedir.html" md5sum="1aaf5ecd607beab2a621544b9f72516e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/dir_opendir.html" md5sum="bf048eae26897448ee4cae464ab52384"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/dir_readdir.html" md5sum="fd9b5aae9e5e4402150e78a942b8f775"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/dir_rewinddir.html" md5sum="05d58fc5ccc2684d1ba61a185c200f0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/disable_logging.html" md5sum="86e6989ee3abf2a878557b93c079933d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/disable_ssl.html" md5sum="481619adf9f0c4deeb55b50d64899d73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/disable_ssl_verification.html" md5sum="a3e3ba5c94aa4ef731cf904f295d8083"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/disable_versioning.html" md5sum="60122a6ad8fb755dbde6cf6ebced4901"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/enable_debug_mode.html" md5sum="8d20a52929de094b88e238db85a0a79c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/enable_logging.html" md5sum="e4784e4eca7c0a055d262a0f0b3e7a82"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/enable_path_style.html" md5sum="3d62cf56999a1bb6b455171ebc5f71be"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/enable_versioning.html" md5sum="e03aaa2428bde85ebac3d4e9c1e79667"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/factory.html" md5sum="248eb78e7e5a91c09bcb929860aed8b2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/generate_access_policy.html" md5sum="cab99e3d0c821c3f9e0cf6f1008a7930"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_acl.html" md5sum="f51b23a4fd4e7e0c50afbedffeb60759"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_filesize.html" md5sum="172bc42001d89286deb4c6b9ebea7a32"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_headers.html" md5sum="a99641232bcf5bbf991927bb6b76fbdb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_list.html" md5sum="83a66e924bd2f296cdfd89303291bfe5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_notifications.html" md5sum="9b7c11f34a14b014fbf655def723c7ed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_object_count.html" md5sum="44c357e69fd0251cd07d43896eb34da8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_policy.html" md5sum="cd6e186cdabbf4accc5a556d46c5c359"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_bucket_region.html" md5sum="a0efdfe58f847cb559e534cebf6cb6da"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_canonical_user_id.html" md5sum="9852f6273cbc8ea744cd0ce1b80d9b1b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_logs.html" md5sum="2fb45266f67f3f6dd09be22cc692038f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_multipart_counts.html" md5sum="d55acb61eeb24c5862ac2897c25ab143"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object.html" md5sum="ad5feaf09ec7a843af6e971ff7412d71"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object_acl.html" md5sum="362ba8f59afd4a4ab3dba0267ca41a79"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object_filesize.html" md5sum="7b12421db1c6820bc66e0edc357bbb38"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object_headers.html" md5sum="efc121b0d6b04bacbfbe1fe2ed74e406"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object_list.html" md5sum="109dee5e2a266c8d0332cb24c1818b9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object_metadata.html" md5sum="29ff0f55c3f768adfb895ac2e610e6ae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_object_url.html" md5sum="937195e8a51e9aed22546f21bdd97de2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_torrent_url.html" md5sum="709cbc90a460e4d298f4db526be725a4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_versioning_status.html" md5sum="b38f561ff287a4577c4bfba4dcd20bda"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/get_website_config.html" md5sum="a7b343756ca8d604d215c7ec35fe80b8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/if_bucket_exists.html" md5sum="f3e95c5b9289ff643cdb0dab2c1f420a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/if_bucket_policy_exists.html" md5sum="3d8d16c59a073d1f262a8a29905997eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/if_object_exists.html" md5sum="62f68cb53fc32e6520d3165cc58fc429"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/index.html" md5sum="759eccd890253b5e12c28f0b90c6dd4c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/initiate_multipart_upload.html" md5sum="1f4beaab69c9b547e03aff6deb599417"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/list_bucket_object_versions.html" md5sum="f26a0dbae0c089bd3ab31963a1503947"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/list_buckets.html" md5sum="777d416c0f8507f838b0e9377f201685"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/list_multipart_uploads.html" md5sum="eb0daba5fcf0b0efd77d214ae122f4d4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/list_objects.html" md5sum="68ee932090c699ae9db92f038bb84bd1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/list_parts.html" md5sum="2bcdf068475067ebd579685e93c075bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/mkdir.html" md5sum="c88e6dcf49d70f591a756439f79405a9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/properties.html" md5sum="9759521dd90f51e845c1124c311ce51a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/regex_token.html" md5sum="672835da7af6b33389ba0905d2375511"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/register_streaming_read_callback.html" md5sum="60e71fff20846d15ab213725ffc3824f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/register_streaming_write_callback.html" md5sum="f7194ac4a7f503e931beb51fd5dc1e2e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/rename.html" md5sum="ec0bf69dd00948aced3f943a95733fcf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/rmdir.html" md5sum="17b1177c12a1d81cbe29afd43deeba3e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/send.html" md5sum="0787e1bd22cf430eb352076a610c2deb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_batch_class.html" md5sum="e03f99990c7195a6c6e0ac0b4ad668e2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_bucket_acl.html" md5sum="7172fd2a337f069d6133b87e34c8447c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_bucket_policy.html" md5sum="555deed87eebb1a46aadd552d6f70703"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_cache_config.html" md5sum="40498f4aa5c08f0b5ad88c2ccfcfa8a3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_hostname.html" md5sum="eb9b0e2c7209536e4f12853bb5bfd99a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_max_retries.html" md5sum="229086457942c208e4b182a1fc93a836"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_object_acl.html" md5sum="453fe1d76a6aa8b1c0891de096771a7a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_parser_class.html" md5sum="80ddcee6a432986683b5d16e0aa7f58c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_proxy.html" md5sum="71fd717b751c1b01d30b93e9cfa113e3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_region.html" md5sum="af4edd1f5a71ba8137d204636c2a0331"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_request_class.html" md5sum="36c0e93ae0bd657b2eacae49bed7eb12"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_resource_prefix.html" md5sum="a97339be54e6ff0eff74cc40c4a22a95"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_response_class.html" md5sum="9f737deea9546499779f76c159a7ef79"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_utilities_class.html" md5sum="2333b18060995aeb09805ae67fa8eb82"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/set_vhost.html" md5sum="c140718249941c6b1bd0945a06d8a390"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_close.html" md5sum="74959e261019f20ea4415b9092d73b88"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_eof.html" md5sum="f552b2d1fc1bd6ad9e65db90c8842b5a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_flush.html" md5sum="b089335dbbc87ce3f8f78b570d613814"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_open.html" md5sum="bf9943bca558e51cd70c5e86602727b5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_read.html" md5sum="0899ae45c8ff9f445f7ab2555298e7ee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_seek.html" md5sum="41965d29197896f932551d17e4eb9668"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_stat.html" md5sum="4e8a5583672eeb0aaf26a082076d5371"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_tell.html" md5sum="41e8fb27e5c1c1f0320665a3470cf417"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/stream_write.html" md5sum="a7382ca43d01a545638033204f332e57"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/unlink.html" md5sum="a73b9f1e25618298fadceffd566ac52f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/update_object.html" md5sum="e5673de786be52009738fabd1cbee6d4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/upload_part.html" md5sum="804f55897c68a3cb5ba690bea6dd82bd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/url_stat.html" md5sum="6cddbe649b0ddda496d1cd64db3996d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/validate_bucketname_create.html" md5sum="7c99d97051d6438e92cbc926c8a7acf7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/s3streamwrapper/validate_bucketname_support.html" md5sum="4641a334316737bb0468efd251e6c692"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/signer/__construct.html" md5sum="37de4a1aa60ad3a42bf789e7ed6ba581"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/signer/constants.html" md5sum="d6378de309ad28c54710086f8acbe021"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/signer/index.html" md5sum="3873374dac5ae48498e79891bc9bc68d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/class/signer/properties.html" md5sum="f105fde616f2a6f36d8158d54ca4ebfe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/files/included/contributors.html" md5sum="79d7394c34b2d8bb108b98fdcd045480"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/files/included/license.html" md5sum="b15198871a6d2e58a01842dbb9493189"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/files/included/notice.html" md5sum="f71e5bae9f133592324425ccf7fa2144"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/files/included/readme.html" md5sum="d0edc4639409a12b8c304bdcde839867"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/arrows.png" md5sum="96fdec4d09bd5fffa7081de5eb41c008"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/box.png" md5sum="f999efcbdfeb917b73319e367f4aaacd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/document-code.png" md5sum="ec7e364c6b0f759dce22f454e5ae553c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/document-php.png" md5sum="26fd910b84d88f30427fcc291af75ea4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/feedback_tab_white.png" md5sum="044cd2cc3fb823424869d425bc9e6850"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/help.png" md5sum="c3812c74bc524179f4ccf5d2db7b3cbf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/magnifier.png" md5sum="a81fa78d754fae7b3a71026356e3ee27"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/page_white_code.png" md5sum="c65fadae5a0fc27f401f1a00e66f518f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/page_white_copy.png" md5sum="38de59d96ecaa147d8b5f440b4c4b0e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/printer.png" md5sum="242421c98dbd8b054fc76a036d04321c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/results_bg.png" md5sum="22fcbe4a64348916205871b0239d49cd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/script-text.png" md5sum="d6c5e18054d08d3342ddc9b36ab2bed1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/tree_bg.png" md5sum="9885bfe24d340f3116879115d7b72f28"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/blank.gif" md5sum="325472601571f31e1bf00674c368d335"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_close.png" md5sum="6e2879a324a76e9972ebc98201aae1d8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_loading.png" md5sum="b1d54c240cf06e7f41e372d56919b738"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_nav_left.png" md5sum="3f3e406102152cd8236383568a40ba35"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_nav_right.png" md5sum="216e4bde5bddeeaa60dc3d692890a68e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_e.png" md5sum="fd4f491080d29fade5080877f1ba4c8b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_n.png" md5sum="18cde16379b2ceadef714d9b346d09ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_ne.png" md5sum="63adf788acf193d4e4f3642d7d793125"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_nw.png" md5sum="c820c878aedb7a7f9ebd7135a58e7c65"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_s.png" md5sum="9b9e5c888028aaef40fe5b6a363f1e29"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_se.png" md5sum="a8afd5a008884380ee712d177105268f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_sw.png" md5sum="f81cc0fee5581d76ad3cebe47e7e791b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_shadow_w.png" md5sum="59b0e63eb059e58d932cfd53da4d87e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_title_left.png" md5sum="1582ac2d3bef6a6445bf02ceca2741cd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_title_main.png" md5sum="38dad6c1ed4bdc81c0bec721b2deb8c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_title_over.png" md5sum="b886fd165d4b7ac77d41fb52d87ffc60"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancy_title_right.png" md5sum="6cbe0c935511e7f9a2555ccb6a7324c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancybox-x.png" md5sum="168696d8a694214090ef90e029cdf393"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancybox-y.png" md5sum="36a58859beb9a6b19322a37466b9f78e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/images/fancybox/fancybox.png" md5sum="11e57e492ee0311540967cc7a1e6e3e2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonAS.js" md5sum="a77ef6db5e37e1015b6646ca72bab7bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonCloudFormation.js" md5sum="77fd5180ace2294747211fde7f3c1bfe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonCloudFront.js" md5sum="c686867cf8503631da7938d4b05b244f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonCloudWatch.js" md5sum="bb5721ef3d32a0ba41ab1135b85a752e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonDynamoDB.js" md5sum="9e2c2b07cb3d7477bc394199d994b3a3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonEC2.js" md5sum="b2b8f8745ec3dc5c5c911fe10d6c6dac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonELB.js" md5sum="54da8f48c157e1721fda8156de70b94e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonEMR.js" md5sum="cd1b0a4449bd365006238b824f0440f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonElastiCache.js" md5sum="45b71ba53d1ddb0d4de7bea920eab1bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonElasticBeanstalk.js" md5sum="dff57f79ed6cc1169e83353be5523587"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonIAM.js" md5sum="47850ca1dbaee0696b2a6981c20a220e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonImportExport.js" md5sum="3de6a9ba90a41d7fb47a0655864826e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonRDS.js" md5sum="5d6d6741c36751e796cad4bf8c184376"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonS3.js" md5sum="cb27c5f9bbe9dc5f5cefb4529ef537fa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonSDB.js" md5sum="4c761c21f5d7974ec9658bbdc1267fcd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonSES.js" md5sum="4ea0fdd281029fe409ad1b1474568f93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonSNS.js" md5sum="c83a7eb8d7468c1a0e522f96fcc9b51f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonSQS.js" md5sum="c7e58630a5af4ca87f7138424dbd9d02"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AmazonSTS.js" md5sum="166177306949462b85be0028378ec645"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AuthV2Query.js" md5sum="55415b1f089a15b920b26f193bc43062"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AuthV3JSON.js" md5sum="572f49b3062d36ac344df921d61592b4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/AuthV3Query.js" md5sum="16150bfad89909e8424f8f938886c0a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFArray.js" md5sum="d737e3664f1c2c194fcfa45cc7ccf326"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFBatchRequest.js" md5sum="78a2b19f9ca7176a379f04ab92a54038"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFComplexType.js" md5sum="697ce6cbaaf4f2aab30cda82727aac80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFCredential.js" md5sum="fb72f237b7c995771a9f39729293632b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFCredentials.js" md5sum="cd6119d7cfa3c945cd3b976238ff146a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFGzipDecode.js" md5sum="7b16cbcb6db5c975a86c80bd062d5104"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFHadoopBase.js" md5sum="5e86fa4f3b3ceb077a256e887c02fd04"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFHadoopBootstrap.js" md5sum="96b455d6eb03d6bcead9b2db618a6a10"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFHadoopStep.js" md5sum="452b18a60b0296290e86a5ec0935ca94"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFInfo.js" md5sum="618fecde212dcc86418e5e4bcab59e53"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFJSON.js" md5sum="8982f41179cb036d79567542b2c38c7a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFLoader.js" md5sum="711714c67174f464f8fd0d8852c7ca44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFManifest.js" md5sum="7c4636e3fbc50e09ae724c6f0454a323"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFMimeTypes.js" md5sum="2ea2040ce7eb72b53a58d53f7fece912"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFPolicy.js" md5sum="dee243ad8cc111c70be81f6ff758432b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFRequest.js" md5sum="ab771dc0208d777f52a6ca9a11ad1fe9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFResponse.js" md5sum="21e0ca86eb9feac260963a91c1b0f783"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFRuntime.js" md5sum="1f4d9d052590e030a2f0f4fd4c88ddf4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFSimpleXML.js" md5sum="d5bd749cebbaab61a6378b3a5f1e5049"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFStackTemplate.js" md5sum="efe343652ba5730a95bd3d78696e208f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFStepConfig.js" md5sum="d5ff770a8a2453fb712f0aa1b9ebb01a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CFUtilities.js" md5sum="4054c6a2e2b2b0b646852d68641b0867"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CacheAPC.js" md5sum="3e689b045b736027c3e8fd69c1b44e67"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CacheMC.js" md5sum="41327323396ff840684b7799a2bab5b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CachePDO.js" md5sum="8596a3492b7ea70861256e009787cdf5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/CacheXCache.js" md5sum="8ba03650dcbc34de5d49be2dd3a30d69"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/S3BrowserUpload.js" md5sum="92a8ed82825d802d63dd6e02f8867453"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/S3StreamWrapper.js" md5sum="6da99f938f85dc442dbad9f8ec16bb3e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/Signer.js" md5sum="3fbf7e3bd4b8900bd438410f96b159ed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/json/manifest.js" md5sum="a6e5d518f8793256adbfd3c866e4fc11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/panel/index.html" md5sum="157226e3b414e379c368dc4d6231ee15"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/panel/search_index.js" md5sum="e33d75de4d6fd8fe3fea93c50a07302b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/panel/tree.js" md5sum="64cfd93b61208ffdfeb190604a7fc2e2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonAS.php" md5sum="f6518501eb2d850d184ab60ad489f74f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonCloudFormation.php" md5sum="a2c21ed9386bead5b31437a795b98de6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonCloudFront.php" md5sum="a9de8cafe80f8bc24b9b045e4af6c9b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonCloudWatch.php" md5sum="e0fe005af48861e4c0b820412303ef7e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonDynamoDB.php" md5sum="8f230beca2e19d10cd82d9e24147218c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonEC2.php" md5sum="a0de5dafa8e80f8e8294f3ba89f11535"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonELB.php" md5sum="189f6de3e73dfcfbb5a7a99b95bd572f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonEMR.php" md5sum="fe140e6f222fad60b5fcec08c0b0777e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonElastiCache.php" md5sum="ab2daa7a1ce17d3ff857e2aa7c9f5cdd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonElasticBeanstalk.php" md5sum="7d3af98813ba1fbff746a254e797b655"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonIAM.php" md5sum="c2d65fd1f3d7acd236b6dac15de2c2bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonImportExport.php" md5sum="e09ebf6d3a232e4157ae6f6d20741a51"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonRDS.php" md5sum="bac55eab609248e06f293092471754e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonS3.php" md5sum="42f233bfc1cd65cf28961eb6a0eefa78"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonSDB.php" md5sum="27ece86f063f667909868c3b326c728e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonSES.php" md5sum="69893c8eff8d33cc4d73e061afdfc761"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonSNS.php" md5sum="387dd397d10da5b0879f9f61e0f1677f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonSQS.php" md5sum="558b98a680cadfea99c9cda7f0b0cb43"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AmazonSTS.php" md5sum="9c64ca02afec101515c1e7da425736fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AuthV2Query.php" md5sum="00d2b022e683fe2ab563f737d91d0d7c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AuthV3JSON.php" md5sum="5b2aabc13979bfec642e9d1a6f6f4a4e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/AuthV3Query.php" md5sum="c4f95a97394c4e7e3b7be82846063394"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFArray.php" md5sum="d3143cf5a15dec977f899615188a88e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFBatchRequest.php" md5sum="7c3db31f9d9d97babc0404036d48b389"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFComplexType.php" md5sum="68f693f7b68d487ad4bb898a43666f87"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFCredential.php" md5sum="dfa7728fc53cab183a446f1adcd5bf6e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFCredentials.php" md5sum="781d70df065f547b0040a62fc134b35c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFGzipDecode.php" md5sum="246cc4b981ec88602987a1a9bc8c7933"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFHadoopBase.php" md5sum="7b82e978ff3d4aa6cdac4d610968f8a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFHadoopBootstrap.php" md5sum="dfb1bee437b0ed5f3ab2569521879496"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFHadoopStep.php" md5sum="ca137b7f7271f21b00d98a097dd9a732"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFInfo.php" md5sum="52c774abad5385cc29840f5fd7115cef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFJSON.php" md5sum="abd39d30cf38a4566a3618b728520e1f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFLoader.php" md5sum="7eb160c40e169a9ee682a8b965f2bcea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFManifest.php" md5sum="da99d2b52f6268ea22870502210f1963"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFMimeTypes.php" md5sum="bfa64b7ad9aa46ba9edf2172e7a94f20"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFPolicy.php" md5sum="f01600bf5fcca531e02c847a5316175d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFRequest.php" md5sum="65d13f276ec4936c9794325b9c86d8c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFResponse.php" md5sum="c51d2b7a91df914705acc4fa54067483"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFRuntime.php" md5sum="1eb6d7b02c2e0d6ba44846980f6f8650"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFSimpleXML.php" md5sum="dd60596099fabbd91587fc3baf3da508"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFStackTemplate.php" md5sum="b7a93e9b8318c1bdf18cbb8b6622e615"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFStepConfig.php" md5sum="fef7958b3e722dbc9aca319853ac7578"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CFUtilities.php" md5sum="ad2b26b4b14355b5d7e8ccba264f3167"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CacheAPC.php" md5sum="c2e80e6575e2974d79f41b4dc11a2893"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CacheMC.php" md5sum="61d3439594ab21f8b5946497683de65f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CachePDO.php" md5sum="ec807159e1dc7de24f15a6d019022024"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/CacheXCache.php" md5sum="0556fa338bed0993bfefa3bf9bd7e479"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/S3BrowserUpload.php" md5sum="0f4c06987da45a8a8c062d4762539300"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/S3StreamWrapper.php" md5sum="bf84b241f261741884465609e1527bfb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/Signer.php" md5sum="1fc4a5bd63a4313d1004f793b4326b26"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/php/manifest.php" md5sum="6d4bf826e095c464a945cdf51601ff07"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/scripts/frame-loader.min.js" md5sum="b33f3a2485ffc1a44976d69db547fe0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/scripts/frameset.min.js" md5sum="d1699600501dba709cccd023886af596"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/scripts/panel.min.js" md5sum="f1373436f61032305af37f7093dcef24"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/scripts/production.min.js" md5sum="99eeb350dc3a402da723f6499318a96b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/scripts/searchdoc.js" md5sum="24889ec03e0b0023e0ab4908c2fce2e7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/styles/panel.min.css" md5sum="6050493996d51ccf64f0d076fdf81695"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/styles/production.min.css" md5sum="b068b81a8f714fa0b0a12c3c7d8322eb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonAS.xml" md5sum="14268ef72fbd6800381cabb0b34213fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonCloudFormation.xml" md5sum="2f041dd2f85b109687ffdd849b708cc1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonCloudFront.xml" md5sum="741fe8811ad723814572c49239cd3a0c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonCloudWatch.xml" md5sum="7c326d37118d9fb38f715263d1e4c846"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonDynamoDB.xml" md5sum="65eeca065a305bbedfd7f42428e02920"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonEC2.xml" md5sum="3591afa5dff6741bf355d1726e9f7742"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonELB.xml" md5sum="bad6af783618df3d1cc8f6d199a60eb5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonEMR.xml" md5sum="a52b3fc240bd7412604f70a9cbc3a4ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonElastiCache.xml" md5sum="9f7aeafbd90db4f786a9db9dd93f4721"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonElasticBeanstalk.xml" md5sum="851be74a2eea2facdd79633b4af14e44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonIAM.xml" md5sum="128154206204ca9399127794f5f75127"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonImportExport.xml" md5sum="ab019c565043cd3c548f7f97e4e6d9a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonRDS.xml" md5sum="bb01e0c9325cd29d93c474e676e78033"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonS3.xml" md5sum="1698b28fda7a02e03060dd3d28ae7410"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonSDB.xml" md5sum="6f4f88cd4afcfb59b0090681a17cba3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonSES.xml" md5sum="215f3ed07102385350cead10ae480261"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonSNS.xml" md5sum="0276897aa636f96fc6d388b2d7aefd62"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonSQS.xml" md5sum="37cdf40b9d7044f0140eef71455097fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AmazonSTS.xml" md5sum="66cf4e02d220822f4983f3bdfa688158"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AuthV2Query.xml" md5sum="5493ebb70353da4904370f07a47e0a9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AuthV3JSON.xml" md5sum="9fff1a2c94cadcfbff8fc52d54c5cd5d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/AuthV3Query.xml" md5sum="e415b248935fa8b7f17e002a5400f962"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFArray.xml" md5sum="f1b13c4f3ff4cf0a656c41c6ce31e1c6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFBatchRequest.xml" md5sum="a79d7b89fd471a1ea6f56df19dcfa43e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFComplexType.xml" md5sum="dbd56e30e9a92f43348ce1978d5fb13a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFCredential.xml" md5sum="54624246fe865a76f43fa6b0f4e6274a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFCredentials.xml" md5sum="ebb0269b51ccd8af68c6cdd0a43b9eec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFGzipDecode.xml" md5sum="1da024ba076c6c1938ec1664948ea410"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFHadoopBase.xml" md5sum="03de9faca346f5080db024bd5153790c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFHadoopBootstrap.xml" md5sum="bc6b8f81dc9e11f15ae02cd7c3d7a697"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFHadoopStep.xml" md5sum="4e038c3217c8c26e87d3b682397edc0d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFInfo.xml" md5sum="bec8bb4907fd223825ff9faebfc47cbc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFJSON.xml" md5sum="df732651a999b93b5e7d856fd21dd873"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFLoader.xml" md5sum="6a8bfbf8de962634a4ead26d245c02b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFManifest.xml" md5sum="0ea3f462d0888b2f6b2f79fae0501292"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFMimeTypes.xml" md5sum="87b154241436dc1fe3ef58ee91ee81f7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFPolicy.xml" md5sum="299a32daf48643790e8004f6dd39096c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFRequest.xml" md5sum="d91549383885cd4aa3b0da8abe7cab8d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFResponse.xml" md5sum="458d3ed82b298774818e808548cfcbe5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFRuntime.xml" md5sum="3bd7016a58dac8d79502db8419de09c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFSimpleXML.xml" md5sum="08be594cc3faa7b2a6757dabac24a2bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFStackTemplate.xml" md5sum="03327309c890ffebc4f1c7c8cfcbce51"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFStepConfig.xml" md5sum="d8b71b11595cb8705e591a5f4764bd21"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CFUtilities.xml" md5sum="9cb1d9991f5efaf0924139186007c82e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CacheAPC.xml" md5sum="551c8665c8f35b13074489f1b144df73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CacheMC.xml" md5sum="affa4d79dc05d680ebb672cae6f493fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CachePDO.xml" md5sum="5edf208cbd99a0cd5e6eaa5fc973aaf2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/CacheXCache.xml" md5sum="bbb24e3e3dfa2f205f6778cb02799dc3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/S3BrowserUpload.xml" md5sum="05b6cb6c8d15617f123269297545b1a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/S3StreamWrapper.xml" md5sum="6e24f39f41e40b771197083ed5b8514d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/Signer.xml" md5sum="faf915cd6e8b650b2a067b701945af63"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/html/xml/manifest.xml" md5sum="d1d2310e2fb6cf4f2816dd7bff1b191f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonAS.js" md5sum="a77ef6db5e37e1015b6646ca72bab7bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonCloudFormation.js" md5sum="77fd5180ace2294747211fde7f3c1bfe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonCloudFront.js" md5sum="c686867cf8503631da7938d4b05b244f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonCloudWatch.js" md5sum="bb5721ef3d32a0ba41ab1135b85a752e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonDynamoDB.js" md5sum="9e2c2b07cb3d7477bc394199d994b3a3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonEC2.js" md5sum="b2b8f8745ec3dc5c5c911fe10d6c6dac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonELB.js" md5sum="54da8f48c157e1721fda8156de70b94e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonEMR.js" md5sum="cd1b0a4449bd365006238b824f0440f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonElastiCache.js" md5sum="45b71ba53d1ddb0d4de7bea920eab1bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonElasticBeanstalk.js" md5sum="dff57f79ed6cc1169e83353be5523587"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonIAM.js" md5sum="47850ca1dbaee0696b2a6981c20a220e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonImportExport.js" md5sum="3de6a9ba90a41d7fb47a0655864826e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonRDS.js" md5sum="5d6d6741c36751e796cad4bf8c184376"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonS3.js" md5sum="cb27c5f9bbe9dc5f5cefb4529ef537fa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonSDB.js" md5sum="4c761c21f5d7974ec9658bbdc1267fcd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonSES.js" md5sum="4ea0fdd281029fe409ad1b1474568f93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonSNS.js" md5sum="c83a7eb8d7468c1a0e522f96fcc9b51f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonSQS.js" md5sum="c7e58630a5af4ca87f7138424dbd9d02"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AmazonSTS.js" md5sum="166177306949462b85be0028378ec645"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AuthV2Query.js" md5sum="55415b1f089a15b920b26f193bc43062"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AuthV3JSON.js" md5sum="572f49b3062d36ac344df921d61592b4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/AuthV3Query.js" md5sum="16150bfad89909e8424f8f938886c0a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFArray.js" md5sum="d737e3664f1c2c194fcfa45cc7ccf326"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFBatchRequest.js" md5sum="78a2b19f9ca7176a379f04ab92a54038"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFComplexType.js" md5sum="697ce6cbaaf4f2aab30cda82727aac80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFCredential.js" md5sum="fb72f237b7c995771a9f39729293632b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFCredentials.js" md5sum="cd6119d7cfa3c945cd3b976238ff146a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFGzipDecode.js" md5sum="7b16cbcb6db5c975a86c80bd062d5104"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFHadoopBase.js" md5sum="5e86fa4f3b3ceb077a256e887c02fd04"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFHadoopBootstrap.js" md5sum="96b455d6eb03d6bcead9b2db618a6a10"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFHadoopStep.js" md5sum="452b18a60b0296290e86a5ec0935ca94"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFInfo.js" md5sum="618fecde212dcc86418e5e4bcab59e53"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFJSON.js" md5sum="8982f41179cb036d79567542b2c38c7a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFLoader.js" md5sum="711714c67174f464f8fd0d8852c7ca44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFManifest.js" md5sum="7c4636e3fbc50e09ae724c6f0454a323"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFMimeTypes.js" md5sum="2ea2040ce7eb72b53a58d53f7fece912"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFPolicy.js" md5sum="dee243ad8cc111c70be81f6ff758432b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFRequest.js" md5sum="ab771dc0208d777f52a6ca9a11ad1fe9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFResponse.js" md5sum="21e0ca86eb9feac260963a91c1b0f783"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFRuntime.js" md5sum="1f4d9d052590e030a2f0f4fd4c88ddf4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFSimpleXML.js" md5sum="d5bd749cebbaab61a6378b3a5f1e5049"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFStackTemplate.js" md5sum="efe343652ba5730a95bd3d78696e208f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFStepConfig.js" md5sum="d5ff770a8a2453fb712f0aa1b9ebb01a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CFUtilities.js" md5sum="4054c6a2e2b2b0b646852d68641b0867"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CacheAPC.js" md5sum="3e689b045b736027c3e8fd69c1b44e67"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CacheMC.js" md5sum="41327323396ff840684b7799a2bab5b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CachePDO.js" md5sum="8596a3492b7ea70861256e009787cdf5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/CacheXCache.js" md5sum="8ba03650dcbc34de5d49be2dd3a30d69"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/S3BrowserUpload.js" md5sum="92a8ed82825d802d63dd6e02f8867453"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/S3StreamWrapper.js" md5sum="6da99f938f85dc442dbad9f8ec16bb3e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/Signer.js" md5sum="3fbf7e3bd4b8900bd438410f96b159ed"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/json/manifest.js" md5sum="a6e5d518f8793256adbfd3c866e4fc11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonAS.php" md5sum="f6518501eb2d850d184ab60ad489f74f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonCloudFormation.php" md5sum="a2c21ed9386bead5b31437a795b98de6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonCloudFront.php" md5sum="a9de8cafe80f8bc24b9b045e4af6c9b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonCloudWatch.php" md5sum="e0fe005af48861e4c0b820412303ef7e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonDynamoDB.php" md5sum="8f230beca2e19d10cd82d9e24147218c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonEC2.php" md5sum="a0de5dafa8e80f8e8294f3ba89f11535"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonELB.php" md5sum="189f6de3e73dfcfbb5a7a99b95bd572f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonEMR.php" md5sum="fe140e6f222fad60b5fcec08c0b0777e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonElastiCache.php" md5sum="ab2daa7a1ce17d3ff857e2aa7c9f5cdd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonElasticBeanstalk.php" md5sum="7d3af98813ba1fbff746a254e797b655"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonIAM.php" md5sum="c2d65fd1f3d7acd236b6dac15de2c2bb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonImportExport.php" md5sum="e09ebf6d3a232e4157ae6f6d20741a51"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonRDS.php" md5sum="bac55eab609248e06f293092471754e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonS3.php" md5sum="42f233bfc1cd65cf28961eb6a0eefa78"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonSDB.php" md5sum="27ece86f063f667909868c3b326c728e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonSES.php" md5sum="69893c8eff8d33cc4d73e061afdfc761"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonSNS.php" md5sum="387dd397d10da5b0879f9f61e0f1677f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonSQS.php" md5sum="558b98a680cadfea99c9cda7f0b0cb43"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AmazonSTS.php" md5sum="9c64ca02afec101515c1e7da425736fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AuthV2Query.php" md5sum="00d2b022e683fe2ab563f737d91d0d7c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AuthV3JSON.php" md5sum="5b2aabc13979bfec642e9d1a6f6f4a4e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/AuthV3Query.php" md5sum="c4f95a97394c4e7e3b7be82846063394"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFArray.php" md5sum="d3143cf5a15dec977f899615188a88e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFBatchRequest.php" md5sum="7c3db31f9d9d97babc0404036d48b389"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFComplexType.php" md5sum="68f693f7b68d487ad4bb898a43666f87"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFCredential.php" md5sum="dfa7728fc53cab183a446f1adcd5bf6e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFCredentials.php" md5sum="781d70df065f547b0040a62fc134b35c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFGzipDecode.php" md5sum="246cc4b981ec88602987a1a9bc8c7933"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFHadoopBase.php" md5sum="7b82e978ff3d4aa6cdac4d610968f8a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFHadoopBootstrap.php" md5sum="dfb1bee437b0ed5f3ab2569521879496"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFHadoopStep.php" md5sum="ca137b7f7271f21b00d98a097dd9a732"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFInfo.php" md5sum="52c774abad5385cc29840f5fd7115cef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFJSON.php" md5sum="abd39d30cf38a4566a3618b728520e1f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFLoader.php" md5sum="7eb160c40e169a9ee682a8b965f2bcea"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFManifest.php" md5sum="da99d2b52f6268ea22870502210f1963"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFMimeTypes.php" md5sum="bfa64b7ad9aa46ba9edf2172e7a94f20"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFPolicy.php" md5sum="f01600bf5fcca531e02c847a5316175d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFRequest.php" md5sum="65d13f276ec4936c9794325b9c86d8c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFResponse.php" md5sum="c51d2b7a91df914705acc4fa54067483"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFRuntime.php" md5sum="1eb6d7b02c2e0d6ba44846980f6f8650"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFSimpleXML.php" md5sum="dd60596099fabbd91587fc3baf3da508"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFStackTemplate.php" md5sum="b7a93e9b8318c1bdf18cbb8b6622e615"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFStepConfig.php" md5sum="fef7958b3e722dbc9aca319853ac7578"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CFUtilities.php" md5sum="ad2b26b4b14355b5d7e8ccba264f3167"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CacheAPC.php" md5sum="c2e80e6575e2974d79f41b4dc11a2893"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CacheMC.php" md5sum="61d3439594ab21f8b5946497683de65f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CachePDO.php" md5sum="ec807159e1dc7de24f15a6d019022024"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/CacheXCache.php" md5sum="0556fa338bed0993bfefa3bf9bd7e479"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/S3BrowserUpload.php" md5sum="0f4c06987da45a8a8c062d4762539300"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/S3StreamWrapper.php" md5sum="bf84b241f261741884465609e1527bfb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/Signer.php" md5sum="1fc4a5bd63a4313d1004f793b4326b26"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/php/manifest.php" md5sum="6d4bf826e095c464a945cdf51601ff07"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonAS.xml" md5sum="14268ef72fbd6800381cabb0b34213fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonCloudFormation.xml" md5sum="2f041dd2f85b109687ffdd849b708cc1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonCloudFront.xml" md5sum="741fe8811ad723814572c49239cd3a0c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonCloudWatch.xml" md5sum="7c326d37118d9fb38f715263d1e4c846"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonDynamoDB.xml" md5sum="65eeca065a305bbedfd7f42428e02920"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonEC2.xml" md5sum="3591afa5dff6741bf355d1726e9f7742"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonELB.xml" md5sum="bad6af783618df3d1cc8f6d199a60eb5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonEMR.xml" md5sum="a52b3fc240bd7412604f70a9cbc3a4ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonElastiCache.xml" md5sum="9f7aeafbd90db4f786a9db9dd93f4721"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonElasticBeanstalk.xml" md5sum="851be74a2eea2facdd79633b4af14e44"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonIAM.xml" md5sum="128154206204ca9399127794f5f75127"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonImportExport.xml" md5sum="ab019c565043cd3c548f7f97e4e6d9a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonRDS.xml" md5sum="bb01e0c9325cd29d93c474e676e78033"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonS3.xml" md5sum="1698b28fda7a02e03060dd3d28ae7410"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonSDB.xml" md5sum="6f4f88cd4afcfb59b0090681a17cba3b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonSES.xml" md5sum="215f3ed07102385350cead10ae480261"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonSNS.xml" md5sum="0276897aa636f96fc6d388b2d7aefd62"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonSQS.xml" md5sum="37cdf40b9d7044f0140eef71455097fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AmazonSTS.xml" md5sum="66cf4e02d220822f4983f3bdfa688158"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AuthV2Query.xml" md5sum="5493ebb70353da4904370f07a47e0a9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AuthV3JSON.xml" md5sum="9fff1a2c94cadcfbff8fc52d54c5cd5d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/AuthV3Query.xml" md5sum="e415b248935fa8b7f17e002a5400f962"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFArray.xml" md5sum="f1b13c4f3ff4cf0a656c41c6ce31e1c6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFBatchRequest.xml" md5sum="a79d7b89fd471a1ea6f56df19dcfa43e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFComplexType.xml" md5sum="dbd56e30e9a92f43348ce1978d5fb13a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFCredential.xml" md5sum="54624246fe865a76f43fa6b0f4e6274a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFCredentials.xml" md5sum="ebb0269b51ccd8af68c6cdd0a43b9eec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFGzipDecode.xml" md5sum="1da024ba076c6c1938ec1664948ea410"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFHadoopBase.xml" md5sum="03de9faca346f5080db024bd5153790c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFHadoopBootstrap.xml" md5sum="bc6b8f81dc9e11f15ae02cd7c3d7a697"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFHadoopStep.xml" md5sum="4e038c3217c8c26e87d3b682397edc0d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFInfo.xml" md5sum="bec8bb4907fd223825ff9faebfc47cbc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFJSON.xml" md5sum="df732651a999b93b5e7d856fd21dd873"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFLoader.xml" md5sum="6a8bfbf8de962634a4ead26d245c02b0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFManifest.xml" md5sum="0ea3f462d0888b2f6b2f79fae0501292"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFMimeTypes.xml" md5sum="87b154241436dc1fe3ef58ee91ee81f7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFPolicy.xml" md5sum="299a32daf48643790e8004f6dd39096c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFRequest.xml" md5sum="d91549383885cd4aa3b0da8abe7cab8d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFResponse.xml" md5sum="458d3ed82b298774818e808548cfcbe5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFRuntime.xml" md5sum="3bd7016a58dac8d79502db8419de09c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFSimpleXML.xml" md5sum="08be594cc3faa7b2a6757dabac24a2bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFStackTemplate.xml" md5sum="03327309c890ffebc4f1c7c8cfcbce51"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFStepConfig.xml" md5sum="d8b71b11595cb8705e591a5f4764bd21"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CFUtilities.xml" md5sum="9cb1d9991f5efaf0924139186007c82e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CacheAPC.xml" md5sum="551c8665c8f35b13074489f1b144df73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CacheMC.xml" md5sum="affa4d79dc05d680ebb672cae6f493fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CachePDO.xml" md5sum="5edf208cbd99a0cd5e6eaa5fc973aaf2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/CacheXCache.xml" md5sum="bbb24e3e3dfa2f205f6778cb02799dc3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/S3BrowserUpload.xml" md5sum="05b6cb6c8d15617f123269297545b1a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/S3StreamWrapper.xml" md5sum="6e24f39f41e40b771197083ed5b8514d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/Signer.xml" md5sum="faf915cd6e8b650b2a067b701945af63"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/output/xml/manifest.xml" md5sum="d1d2310e2fb6cf4f2816dd7bff1b191f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/partials/__all__/append.phtml" md5sum="0acfe12361d24c55f2ad47d43398277c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_vanity/partials/AmazonEC2/confirm_product_instance/append.md" md5sum="d861e4b6e20a7cee3631d41a04bf1735"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signable.interface.php" md5sum="d2e6655d85141fd827553a5684d695ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v2query.class.php" md5sum="12673959fd1eacd00a557b3ca457b90a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v3json.class.php" md5sum="69c98d55512ff61d4ef748276d843f80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v3query.class.php" md5sum="c59b6c0024de9f92d509239e8303943a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signer.abstract.php" md5sum="ada9310deaef0b6391381bb8fbe75d75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/s3browserupload.class.php" md5sum="4ec019d950fb83c40f90f78d97bb41ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/s3streamwrapper.class.php" md5sum="e7cac24641757724a72e9c5801a53f25"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/LICENSE" md5sum="70f142181074f83b33d258164c008cd9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/README" md5sum="69bacd091afe98a53695d99b1deca48e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cacheapc.class.php" md5sum="e6e1274daf85672e79b5c62cc52e29fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachecore.class.php" md5sum="363929249b7fd4c99b5bbb8eccd04191"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachefile.class.php" md5sum="7f06aae849bb34830a360a8caf943d0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachemc.class.php" md5sum="cf9a6f7b028825a95daf61636a81b166"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachepdo.class.php" md5sum="6ee8f4fe4dd609a9c67882065ff52e27"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachexcache.class.php" md5sum="fab01e4a814d6f11ce71f78db9b57149"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/icachecore.interface.php" md5sum="eddc7dec5da4bad0faaba229b7bbb9b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/README" md5sum="bb14abe0c209c9f54256975bae796c9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/mysql.sql" md5sum="dc8b835b3e737bfb5905a61391b6e4a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/pgsql.sql" md5sum="ddc5308c119fb421b3d26eff1238229a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/sqlite3.sql" md5sum="12810a853ca7e2b5dc35654fb241cee5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/LICENSE" md5sum="70f142181074f83b33d258164c008cd9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/README.md" md5sum="702485f100351d8dcc1346d087d09656"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/cacert.pem" md5sum="4e0c8fcca8148533e6723f94463a3c73"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/requestcore.class.php" md5sum="2ddfacda48accc6ab4187d9491ddbf60"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/LICENSE" md5sum="4828aab1cb984d8a5d29e1c0df3cdcbd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/README.markdown" md5sum="872df9017f6485111a36d2ce9c1e8bdc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYaml.php" md5sum="2b7116a9f3bf6f9e8cd914c81bf79830"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlDumper.php" md5sum="28196a0efdcea67d72e1eaf71e936958"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlInline.php" md5sum="9a63c1c4637eea3b4e208bea63e52baa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlParser.php" md5sum="91d3546a19262abc38275eb8f9d6dfb4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/as.class.php" md5sum="3b24188b08f71091f169c32600186005"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudformation.class.php" md5sum="7dce4afbdcfadeacc706a52577e42123"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudfront.class.php" md5sum="bf78fb5b23820eaa3bd89ce100a20a05"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudwatch.class.php" md5sum="6213fec6cc66f5547d33d5d37d6bc2d2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/dynamodb.class.php" md5sum="f21113cd5f78c4c4cfc6f55b4d84c54f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/ec2.class.php" md5sum="245977f8e9585e0cfe212ab25a70d6a2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elasticache.class.php" md5sum="c98a8d5feb17606a69257ae89ef957e7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elasticbeanstalk.class.php" md5sum="06b34d5a26868e56612322a9a0271232"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elb.class.php" md5sum="950f8e4d48c0d77214210ce83118702c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/emr.class.php" md5sum="35c3fe6331d18eeaab4d08fe257ccd4e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/iam.class.php" md5sum="cb78e8746d2012db9d8c68b8750d73b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/importexport.class.php" md5sum="9d0550c2fd972e3ad1eb6b50cb85d2db"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/rds.class.php" md5sum="34ea7e5b075d9d12d09c23785c33f079"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/s3.class.php" md5sum="362ab087ce7185a9f01ed9a671519432"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sdb.class.php" md5sum="17a720f3aeb7fcfc9a3f61034b686899"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/ses.class.php" md5sum="8eebb0da3021fe31823d3ac807355095"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sns.class.php" md5sum="dc5477208680f82a77c0725aa9585ddd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sqs.class.php" md5sum="503262a9740b68e225670151abac4318"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sts.class.php" md5sum="cd20371cadb1da3e967a823dfff9bd89"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/array.class.php" md5sum="9841d72dc8e8ec5c8442beb4f8a8ba58"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/batchrequest.class.php" md5sum="76500fa538d8d34e8f93f00576426916"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/complextype.class.php" md5sum="57442bdc6b0dc293ebad9d4957a232d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/credential.class.php" md5sum="8079be3eaf46c53385a53c47035de0f5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/credentials.class.php" md5sum="f8a042512da6b781225ad9202aee26ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/gzipdecode.class.php" md5sum="72f04c67d939781212ba4a50b716b312"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopbase.class.php" md5sum="aa7e733943aabd2e6c70d71f48ed6a61"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopbootstrap.class.php" md5sum="26493fbcb4f029deeb059c35b6a3208d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopstep.class.php" md5sum="59e65597f64c334c2598c1b070f756dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/info.class.php" md5sum="5cb2ea67be42002a92a5c3df50a9074d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/json.class.php" md5sum="30b1540b6933094a9c088ea23a7f3100"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/manifest.class.php" md5sum="4e0ccf098687db506c730940bef460c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/mimetypes.class.php" md5sum="9a3e2f6c4f071ee835f695d5e698ba83"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/policy.class.php" md5sum="3636c183bfccbcd4cf6b23144cc49038"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/request.class.php" md5sum="01a124c3fcc8312b3827cbd9bc6069a1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/response.class.php" md5sum="d5331e92a1974069ca49009bf2cba8d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/simplexml.class.php" md5sum="d88a3f7f90344f253dee8c461d455f0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/stacktemplate.class.php" md5sum="496fac08955ffca1cd2fbba54a646b8b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/stepconfig.class.php" md5sum="0c485483eb7b64c9441f6998f6045a4f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/utilities.class.php" md5sum="18d7794013975183e3a95f3d772e4f02"/></dir>
</contents>
<dependencies>
<required>
<php>
<min>5.2</min>
</php>
<pearinstaller>
<min>1.4.0</min>
</pearinstaller>
</required>
</dependencies>
<phprelease/>
<changelog>
<release>
<version>
<release>1.5.1</release>
<api>1.5.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2012-01-18</date>
<license uri="http://aws.amazon.com/apache2.0/">Apache 2.0</license>
<notes>-</notes>
</release>
</changelog>
</package>

AWS SDK for PHP

The AWS SDK for PHP enables developers to build solutions for Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon SimpleDB, and more. With the AWS SDK for PHP, developers can get started in minutes with a single, downloadable package.

The SDK features:

  • AWS PHP Libraries: Build PHP applications on top of APIs that take the complexity out of coding directly against a web service interface. The toolkit provides APIs that hide much of the lower-level implementation.
  • Code Samples: Practical examples for how to use the toolkit to build applications.
  • Documentation: Complete SDK reference documentation with samples demonstrating how to use the SDK.
  • PEAR package: The ability to install the AWS SDK for PHP as a PEAR package.
  • SDK Compatibility Test: Includes both an HTML-based and a CLI-based SDK Compatibility Test that you can run on your server to determine whether or not your PHP environment meets the minimum requirements.

For more information about the AWS SDK for PHP, including a complete list of supported services, see aws.amazon.com/sdkforphp.

Signing up for Amazon Web Services

Before you can begin, you must sign up for each service you want to use.

To sign up for a service:

  • Go to the home page for the service. You can find a list of services on aws.amazon.com/products.
  • Click the Sign Up button on the top right corner of the page. If you don't already have an AWS account, you are prompted to create one as part of the sign up process.
  • Follow the on-screen instructions.
  • AWS sends you a confirmation e-mail after the sign-up process is complete. At any time, you can view your current account activity and manage your account by going to aws.amazon.com and clicking "Your Account".

Source

The source tree for includes the following files and directories:

  • _compatibility_test -- Includes both an HTML-based and a CLI-based SDK Compatibility Test that you can run on your server to determine whether or not your PHP environment meets the minimum requirements.
  • _docs -- Informational documents, the contents of which should be fairly self-explanatory.
  • _samples -- Code samples that you can run out of the box.
  • extensions -- Extra code that can be used to enhance usage of the SDK, but isn't a service class or a third-party library.
  • lib -- Contains any third-party libraries that the SDK depends on. The licenses for these projects will always be Apache 2.0-compatible.
  • services -- Contains the service-specific classes that communicate with AWS. These classes are always prefixed with Amazon.
  • utilities -- Contains any utility-type methods that the SDK uses. Includes extensions to built-in PHP classes, as well as new functionality that is entirely custom. These classes are always prefixed with CF.
  • README -- The document you're reading right now.
  • config-sample.inc.php -- A sample configuration file that should be filled out and renamed to config.inc.php.
  • sdk.class.php -- The SDK loader that you would include in your projects. Contains the base functionality that the rest of the SDK depends on.

Minimum Requirements in a nutshell

  • You are at least an intermediate-level PHP developer and have a basic understanding of object-oriented PHP.
  • You have a valid AWS account, and you've already signed up for the services you want to use.
  • The PHP interpreter, version 5.2 or newer. PHP 5.2.17 or 5.3.x is highly recommended for use with the AWS SDK for PHP.
  • The cURL PHP extension (compiled with the OpenSSL libraries for HTTPS support).
  • The ability to read from and write to the file system via file_get_contents() and file_put_contents().

If you're not sure whether your PHP environment meets these requirements, run the SDK Compatibility Test script included in the SDK download.

Installation

Via GitHub

Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software. GitHub is the best way to collaborate with others. Fork, send pull requests and manage all your public and private git repositories. We believe that GitHub is the ideal service for working collaboratively with the open source PHP community.

Git is primarily a command-line tool. GitHub provides instructions for installing Git on Mac OS X, Windows, and Linux. If you're unfamiliar with Git, there are a variety of resources on the net that will help you learn more:

  • Git Immersion is a guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.
  • The PeepCode screencast on Git ($12) will teach you how to install and use Git. You'll learn how to create a repository, use branches, and work with remote repositories.
  • Git Reference is meant to be a quick reference for learning and remembering the most important and commonly used Git commands.
  • Git Ready provides a collection of Git tips and tricks.
  • If you want to dig even further, I've bookmarked other Git references.

If you're comfortable working with Git and/or GitHub, you can pull down the source code as follows:

git clone git://github.com/amazonwebservices/aws-sdk-for-php.git AWSSDKforPHP
cd ./AWSSDKforPHP

Via PEAR

PEAR stands for the PHP Extension and Application Repository and is a framework and distribution system for reusable PHP components. It is the PHP equivalent to package management software such as MacPorts and Homebrew for Mac OS X, Yum and Apt for GNU/Linux, RubyGems for Ruby, Easy Install for Python, Maven for Java, and NPM for Node.js.

PEAR packages are very easy to install, and are available in your PHP environment path so that they are accessible to any PHP project. PEAR packages are not specific to your project, but rather to the machine that they're installed on.

From the command-line, you can install the SDK with PEAR as follows:

pear channel-discover pear.amazonwebservices.com
pear install aws/sdk

You may need to use sudo for the above commands. Once the SDK has been installed via PEAR, you can load it into your project with:

require_once 'AWSSDKforPHP/sdk.class.php';

Configuration

  1. Copy the contents of config-sample.inc.php and add your credentials as instructed in the file.
  2. Move your file to ~/.aws/sdk/config.inc.php.
  3. Make sure that getenv('HOME') points to your user directory. If not you'll need to set putenv('HOME=<your-user-directory>').

Additional Information

<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*%******************************************************************************************%*/
// EXCEPTIONS
/**
* Default CFRuntime Exception.
*/
class CFRuntime_Exception extends Exception {}
/**
* Parsing Exception.
*/
class Parser_Exception extends Exception {}
/*%******************************************************************************************%*/
// DETERMINE WHAT ENVIRONMENT DATA TO ADD TO THE USERAGENT FOR METRIC TRACKING
/*
Define a temporary callback function for this calculation. Get the PHP version and any
required/optional extensions that are leveraged.
Tracking this data gives Amazon better metrics about what configurations are being used
so that forward-looking plans for the code can be made with more certainty (e.g. What
version of PHP are most people running? Do they tend to have the latest PCRE?).
*/
function __aws_sdk_ua_callback()
{
$ua_append = '';
$extensions = get_loaded_extensions();
$sorted_extensions = array();
if ($extensions)
{
foreach ($extensions as $extension)
{
if ($extension === 'curl' && function_exists('curl_version'))
{
$curl_version = curl_version();
$sorted_extensions[strtolower($extension)] = $curl_version['version'];
}
elseif ($extension === 'pcre' && defined('PCRE_VERSION'))
{
$pcre_version = explode(' ', PCRE_VERSION);
$sorted_extensions[strtolower($extension)] = $pcre_version[0];
}
elseif ($extension === 'openssl' && defined('OPENSSL_VERSION_TEXT'))
{
$openssl_version = explode(' ', OPENSSL_VERSION_TEXT);
$sorted_extensions[strtolower($extension)] = $openssl_version[1];
}
else
{
$sorted_extensions[strtolower($extension)] = phpversion($extension);
}
}
}
foreach (array('simplexml', 'json', 'pcre', 'spl', 'curl', 'openssl', 'apc', 'xcache', 'memcache', 'memcached', 'pdo', 'pdo_sqlite', 'sqlite', 'sqlite3', 'zlib', 'xdebug') as $ua_ext)
{
if (isset($sorted_extensions[$ua_ext]) && $sorted_extensions[$ua_ext])
{
$ua_append .= ' ' . $ua_ext . '/' . $sorted_extensions[$ua_ext];
}
elseif (isset($sorted_extensions[$ua_ext]))
{
$ua_append .= ' ' . $ua_ext . '/0';
}
}
foreach (array('memory_limit', 'date.timezone', 'open_basedir', 'safe_mode', 'zend.enable_gc') as $cfg)
{
$cfg_value = ini_get($cfg);
if (in_array($cfg, array('memory_limit', 'date.timezone'), true))
{
$ua_append .= ' ' . $cfg . '/' . str_replace('/', '.', $cfg_value);
}
elseif (in_array($cfg, array('open_basedir', 'safe_mode', 'zend.enable_gc'), true))
{
if ($cfg_value === false || $cfg_value === '' || $cfg_value === 0)
{
$cfg_value = 'off';
}
elseif ($cfg_value === true || $cfg_value === '1' || $cfg_value === 1)
{
$cfg_value = 'on';
}
$ua_append .= ' ' . $cfg . '/' . $cfg_value;
}
}
return $ua_append;
}
/*%******************************************************************************************%*/
// INTERMEDIARY CONSTANTS
define('CFRUNTIME_NAME', 'aws-sdk-php');
define('CFRUNTIME_VERSION', '1.5.1');
// define('CFRUNTIME_BUILD', gmdate('YmdHis', filemtime(__FILE__))); // @todo: Hardcode for release.
define('CFRUNTIME_BUILD', '2012011811285200');
define('CFRUNTIME_USERAGENT', CFRUNTIME_NAME . '/' . CFRUNTIME_VERSION . ' PHP/' . PHP_VERSION . ' ' . str_replace(' ', '_', php_uname('s')) . '/' . str_replace(' ', '_', php_uname('r')) . ' Arch/' . php_uname('m') . ' SAPI/' . php_sapi_name() . ' Integer/' . PHP_INT_MAX . ' Build/' . CFRUNTIME_BUILD . __aws_sdk_ua_callback());
/*%******************************************************************************************%*/
// CLASS
/**
* Core functionality and default settings shared across all SDK classes. All methods and properties in this
* class are inherited by the service-specific classes.
*
* @version 2012.01.17
* @license See the included NOTICE.md file for more information.
* @copyright See the included NOTICE.md file for more information.
* @link http://aws.amazon.com/php/ PHP Developer Center
*/
class CFRuntime
{
/*%******************************************************************************************%*/
// CONSTANTS
/**
* Name of the software.
*/
const NAME = CFRUNTIME_NAME;
/**
* Version of the software.
*/
const VERSION = CFRUNTIME_VERSION;
/**
* Build ID of the software.
*/
const BUILD = CFRUNTIME_BUILD;
/**
* User agent string used to identify the software.
*/
const USERAGENT = CFRUNTIME_USERAGENT;
/*%******************************************************************************************%*/
// PROPERTIES
/**
* The Amazon API Key.
*/
public $key;
/**
* The Amazon API Secret Key.
*/
public $secret_key;
/**
* The Amazon Authentication Token.
*/
public $auth_token;
/**
* Handle for the utility functions.
*/
public $util;
/**
* An identifier for the current AWS service.
*/
public $service = null;
/**
* The supported API version.
*/
public $api_version = null;
/**
* The state of whether auth should be handled as AWS Query.
*/
public $use_aws_query = true;
/**
* The default class to use for utilities (defaults to <CFUtilities>).
*/
public $utilities_class = 'CFUtilities';
/**
* The default class to use for HTTP requests (defaults to <CFRequest>).
*/
public $request_class = 'CFRequest';
/**
* The default class to use for HTTP responses (defaults to <CFResponse>).
*/
public $response_class = 'CFResponse';
/**
* The default class to use for parsing XML (defaults to <CFSimpleXML>).
*/
public $parser_class = 'CFSimpleXML';
/**
* The default class to use for handling batch requests (defaults to <CFBatchRequest>).
*/
public $batch_class = 'CFBatchRequest';
/**
* The state of SSL/HTTPS use.
*/
public $use_ssl = true;
/**
* The state of SSL certificate verification.
*/
public $ssl_verification = true;
/**
* The proxy to use for connecting.
*/
public $proxy = null;
/**
* The alternate hostname to use, if any.
*/
public $hostname = null;
/**
* The state of the capability to override the hostname with <set_hostname()>.
*/
public $override_hostname = true;
/**
* The alternate port number to use, if any.
*/
public $port_number = null;
/**
* The alternate resource prefix to use, if any.
*/
public $resource_prefix = null;
/**
* The state of cache flow usage.
*/
public $use_cache_flow = false;
/**
* The caching class to use.
*/
public $cache_class = null;
/**
* The caching location to use.
*/
public $cache_location = null;
/**
* When the cache should be considered stale.
*/
public $cache_expires = null;
/**
* The state of cache compression.
*/
public $cache_compress = null;
/**
* The current instantiated cache object.
*/
public $cache_object = null;
/**
* The current instantiated batch request object.
*/
public $batch_object = null;
/**
* The internally instantiated batch request object.
*/
public $internal_batch_object = null;
/**
* The state of batch flow usage.
*/
public $use_batch_flow = false;
/**
* The state of the cache deletion setting.
*/
public $delete_cache = false;
/**
* The state of the debug mode setting.
*/
public $debug_mode = false;
/**
* The number of times to retry failed requests.
*/
public $max_retries = 3;
/**
* The user-defined callback function to call when a stream is read from.
*/
public $registered_streaming_read_callback = null;
/**
* The user-defined callback function to call when a stream is written to.
*/
public $registered_streaming_write_callback = null;
/**
* The credentials to use for authentication.
*/
public $credentials = array();
/**
* The authentication class to use.
*/
public $auth_class = null;
/**
* The operation to execute.
*/
public $operation = null;
/**
* The payload to send.
*/
public $payload = array();
/**
* The string prefix to prepend to the operation name.
*/
public $operation_prefix = '';
/**
* The number of times a request has been retried.
*/
public $redirects = 0;
/**
* The state of whether the response should be parsed or not.
*/
public $parse_the_response = true;
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* The constructor. This class should not be instantiated directly. Rather, a service-specific class
* should be instantiated.
*
* @param array $options (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>certificate_authority</code> - <code>boolean</code> - Optional - Determines which Cerificate Authority file to use. A value of boolean <code>false</code> will use the Certificate Authority file available on the system. A value of boolean <code>true</code> will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to <code>0755</code>) will use that. Leave this set to <code>false</code> if you're not sure.</li>
* <li><code>credentials</code> - <code>string</code> - Optional - The name of the credential set to use for authentication.</li>
* <li><code>default_cache_config</code> - <code>string</code> - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the <set_cache_config()> method. Valid values are: <code>apc</code>, <code>xcache</code>, or a file system path such as <code>./cache</code> or <code>/tmp/cache/</code>.</li>
* <li><code>key</code> - <code>string</code> - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.</li>
* <li><code>secret</code> - <code>string</code> - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.</li>
* <li><code>token</code> - <code>string</code> - Optional - An AWS session token.</li></ul>
* @return void
*/
public function __construct(array $options = array())
{
// Instantiate the utilities class.
$this->util = new $this->utilities_class();
// Determine the current service.
$this->service = get_class($this);
// Create credentials based on the options
$instance_credentials = new CFCredential($options);
// Retreive a credential set from config.inc.php if it exists
if (isset($options['credentials']))
{
// Use a specific credential set and merge with the instance credentials
$this->credentials = CFCredentials::get($options['credentials'])
->merge($instance_credentials);
}
else
{
try
{
// Use the default credential set and merge with the instance credentials
$this->credentials = CFCredentials::get(CFCredentials::DEFAULT_KEY)
->merge($instance_credentials);
}
catch (CFCredentials_Exception $e)
{
if (isset($options['key']) && isset($options['secret']))
{
// Only the instance credentials were provided
$this->credentials = $instance_credentials;
}
else
{
// No credentials provided in the config file or constructor
throw new CFCredentials_Exception('No credentials were provided to ' . $this->service . '.');
}
}
}
// Set internal credentials after they are resolved
$this->key = $this->credentials->key;
$this->secret_key = $this->credentials->secret;
$this->auth_token = $this->credentials->token;
// Automatically enable whichever caching mechanism is set to default.
$this->set_cache_config($this->credentials->default_cache_config);
}
/**
* Alternate approach to constructing a new instance. Supports chaining.
*
* @param array $options (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>certificate_authority</code> - <code>boolean</code> - Optional - Determines which Cerificate Authority file to use. A value of boolean <code>false</code> will use the Certificate Authority file available on the system. A value of boolean <code>true</code> will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to <code>0755</code>) will use that. Leave this set to <code>false</code> if you're not sure.</li>
* <li><code>credentials</code> - <code>string</code> - Optional - The name of the credential set to use for authentication.</li>
* <li><code>default_cache_config</code> - <code>string</code> - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the <set_cache_config()> method. Valid values are: <code>apc</code>, <code>xcache</code>, or a file system path such as <code>./cache</code> or <code>/tmp/cache/</code>.</li>
* <li><code>key</code> - <code>string</code> - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.</li>
* <li><code>secret</code> - <code>string</code> - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.</li>
* <li><code>token</code> - <code>string</code> - Optional - An AWS session token.</li></ul>
* @return void
*/
public static function factory(array $options = array())
{
if (version_compare(PHP_VERSION, '5.3.0', '<'))
{
throw new Exception('PHP 5.3 or newer is required to instantiate a new class with CLASS::factory().');
}
$self = get_called_class();
return new $self($options);
}
/*%******************************************************************************************%*/
// MAGIC METHODS
/**
* A magic method that allows `camelCase` method names to be translated into `snake_case` names.
*
* @param string $name (Required) The name of the method.
* @param array $arguments (Required) The arguments passed to the method.
* @return mixed The results of the intended method.
*/
public function __call($name, $arguments)
{
// Convert camelCase method calls to snake_case.
$method_name = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $name));
if (method_exists($this, $method_name))
{
return call_user_func_array(array($this, $method_name), $arguments);
}
throw new CFRuntime_Exception('The method ' . $name . '() is undefined. Attempted to map to ' . $method_name . '() which is also undefined. Error occurred');
}
/*%******************************************************************************************%*/
// SET CUSTOM SETTINGS
/**
* Set the proxy settings to use.
*
* @param string $proxy (Required) Accepts proxy credentials in the following format: `proxy://user:pass@hostname:port`
* @return $this A reference to the current instance.
*/
public function set_proxy($proxy)
{
$this->proxy = $proxy;
return $this;
}
/**
* Set the hostname to connect to. This is useful for alternate services that are API-compatible with
* AWS, but run from a different hostname.
*
* @param string $hostname (Required) The alternate hostname to use in place of the default one. Useful for mock or test applications living on different hostnames.
* @param integer $port_number (Optional) The alternate port number to use in place of the default one. Useful for mock or test applications living on different port numbers.
* @return $this A reference to the current instance.
*/
public function set_hostname($hostname, $port_number = null)
{
if ($this->override_hostname)
{
$this->hostname = $hostname;
if ($port_number)
{
$this->port_number = $port_number;
$this->hostname .= ':' . (string) $this->port_number;
}
}
return $this;
}
/**
* Set the resource prefix to use. This method is useful for alternate services that are API-compatible
* with AWS.
*
* @param string $prefix (Required) An alternate prefix to prepend to the resource path. Useful for mock or test applications.
* @return $this A reference to the current instance.
*/
public function set_resource_prefix($prefix)
{
$this->resource_prefix = $prefix;
return $this;
}
/**
* Disables any subsequent use of the <set_hostname()> method.
*
* @param boolean $override (Optional) Whether or not subsequent calls to <set_hostname()> should be obeyed. A `false` value disables the further effectiveness of <set_hostname()>. Defaults to `true`.
* @return $this A reference to the current instance.
*/
public function allow_hostname_override($override = true)
{
$this->override_hostname = $override;
return $this;
}
/**
* Disables SSL/HTTPS connections for hosts that don't support them. Some services, however, still
* require SSL support.
*
* This method will throw a user warning when invoked, which can be hidden by changing your
* <php:error_reporting()> settings.
*
* @return $this A reference to the current instance.
*/
public function disable_ssl()
{
trigger_error('Disabling SSL connections is potentially unsafe and highly discouraged.', E_USER_WARNING);
$this->use_ssl = false;
return $this;
}
/**
* Disables the verification of the SSL Certificate Authority. Doing so can enable an attacker to carry
* out a man-in-the-middle attack.
*
* https://secure.wikimedia.org/wikipedia/en/wiki/Man-in-the-middle_attack
*
* This method will throw a user warning when invoked, which can be hidden by changing your
* <php:error_reporting()> settings.
*
* @return $this A reference to the current instance.
*/
public function disable_ssl_verification($ssl_verification = false)
{
trigger_error('Disabling the verification of SSL certificates can lead to man-in-the-middle attacks. It is potentially unsafe and highly discouraged.', E_USER_WARNING);
$this->ssl_verification = $ssl_verification;
return $this;
}
/**
* Enables HTTP request/response header logging to `STDERR`.
*
* @param boolean $enabled (Optional) Whether or not to enable debug mode. Defaults to `true`.
* @return $this A reference to the current instance.
*/
public function enable_debug_mode($enabled = true)
{
$this->debug_mode = $enabled;
return $this;
}
/**
* Sets the maximum number of times to retry failed requests.
*
* @param integer $retries (Optional) The maximum number of times to retry failed requests. Defaults to `3`.
* @return $this A reference to the current instance.
*/
public function set_max_retries($retries = 3)
{
$this->max_retries = $retries;
return $this;
}
/**
* Set the caching configuration to use for response caching.
*
* @param string $location (Required) <p>The location to store the cache object in. This may vary by cache method.</p><ul><li>File - The local file system paths such as <code>./cache</code> (relative) or <code>/tmp/cache/</code> (absolute). The location must be server-writable.</li><li>APC - Pass in <code>apc</code> to use this lightweight cache. You must have the <a href="http://php.net/apc">APC extension</a> installed.</li><li>XCache - Pass in <code>xcache</code> to use this lightweight cache. You must have the <a href="http://xcache.lighttpd.net">XCache</a> extension installed.</li><li>Memcached - Pass in an indexed array of associative arrays. Each associative array should have a <code>host</code> and a <code>port</code> value representing a <a href="http://php.net/memcached">Memcached</a> server to connect to.</li><li>PDO - A URL-style string (e.g. <code>pdo.mysql://user:pass@localhost/cache</code>) or a standard DSN-style string (e.g. <code>pdo.sqlite:/sqlite/cache.db</code>). MUST be prefixed with <code>pdo.</code>. See <code>CachePDO</code> and <a href="http://php.net/pdo">PDO</a> for more details.</li></ul>
* @param boolean $gzip (Optional) Whether or not data should be gzipped before being stored. A value of `true` will compress the contents before caching them. A value of `false` will leave the contents uncompressed. Defaults to `true`.
* @return $this A reference to the current instance.
*/
public function set_cache_config($location, $gzip = true)
{
// If we have an array, we're probably passing in Memcached servers and ports.
if (is_array($location))
{
$this->cache_class = 'CacheMC';
}
else
{
// I would expect locations like `/tmp/cache`, `pdo.mysql://user:pass@hostname:port`, `pdo.sqlite:memory:`, and `apc`.
$type = strtolower(substr($location, 0, 3));
switch ($type)
{
case 'apc':
$this->cache_class = 'CacheAPC';
break;
case 'xca': // First three letters of `xcache`
$this->cache_class = 'CacheXCache';
break;
case 'pdo':
$this->cache_class = 'CachePDO';
$location = substr($location, 4);
break;
default:
$this->cache_class = 'CacheFile';
break;
}
}
// Set the remaining cache information.
$this->cache_location = $location;
$this->cache_compress = $gzip;
return $this;
}
/**
* Register a callback function to execute whenever a data stream is read from using
* <CFRequest::streaming_read_callback()>.
*
* The user-defined callback function should accept three arguments:
*
* <ul>
* <li><code>$curl_handle</code> - <code>resource</code> - Required - The cURL handle resource that represents the in-progress transfer.</li>
* <li><code>$file_handle</code> - <code>resource</code> - Required - The file handle resource that represents the file on the local file system.</li>
* <li><code>$length</code> - <code>integer</code> - Required - The length in kilobytes of the data chunk that was transferred.</li>
* </ul>
*
* @param string|array|function $callback (Required) The callback function is called by <php:call_user_func()>, so you can pass the following values: <ul>
* <li>The name of a global function to execute, passed as a string.</li>
* <li>A method to execute, passed as <code>array('ClassName', 'MethodName')</code>.</li>
* <li>An anonymous function (PHP 5.3+).</li></ul>
* @return $this A reference to the current instance.
*/
public function register_streaming_read_callback($callback)
{
$this->registered_streaming_read_callback = $callback;
return $this;
}
/**
* Register a callback function to execute whenever a data stream is written to using
* <CFRequest::streaming_write_callback()>.
*
* The user-defined callback function should accept two arguments:
*
* <ul>
* <li><code>$curl_handle</code> - <code>resource</code> - Required - The cURL handle resource that represents the in-progress transfer.</li>
* <li><code>$length</code> - <code>integer</code> - Required - The length in kilobytes of the data chunk that was transferred.</li>
* </ul>
*
* @param string|array|function $callback (Required) The callback function is called by <php:call_user_func()>, so you can pass the following values: <ul>
* <li>The name of a global function to execute, passed as a string.</li>
* <li>A method to execute, passed as <code>array('ClassName', 'MethodName')</code>.</li>
* <li>An anonymous function (PHP 5.3+).</li></ul>
* @return $this A reference to the current instance.
*/
public function register_streaming_write_callback($callback)
{
$this->registered_streaming_write_callback = $callback;
return $this;
}
/*%******************************************************************************************%*/
// SET CUSTOM CLASSES
/**
* Set a custom class for this functionality. Use this method when extending/overriding existing classes
* with new functionality.
*
* The replacement class must extend from <CFUtilities>.
*
* @param string $class (Optional) The name of the new class to use for this functionality.
* @return $this A reference to the current instance.
*/
public function set_utilities_class($class = 'CFUtilities')
{
$this->utilities_class = $class;
$this->util = new $this->utilities_class();
return $this;
}
/**
* Set a custom class for this functionality. Use this method when extending/overriding existing classes
* with new functionality.
*
* The replacement class must extend from <CFRequest>.
*
* @param string $class (Optional) The name of the new class to use for this functionality.
* @param $this A reference to the current instance.
*/
public function set_request_class($class = 'CFRequest')
{
$this->request_class = $class;
return $this;
}
/**
* Set a custom class for this functionality. Use this method when extending/overriding existing classes
* with new functionality.
*
* The replacement class must extend from <CFResponse>.
*
* @param string $class (Optional) The name of the new class to use for this functionality.
* @return $this A reference to the current instance.
*/
public function set_response_class($class = 'CFResponse')
{
$this->response_class = $class;
return $this;
}
/**
* Set a custom class for this functionality. Use this method when extending/overriding existing classes
* with new functionality.
*
* The replacement class must extend from <CFSimpleXML>.
*
* @param string $class (Optional) The name of the new class to use for this functionality.
* @return $this A reference to the current instance.
*/
public function set_parser_class($class = 'CFSimpleXML')
{
$this->parser_class = $class;
return $this;
}
/**
* Set a custom class for this functionality. Use this method when extending/overriding existing classes
* with new functionality.
*
* The replacement class must extend from <CFBatchRequest>.
*
* @param string $class (Optional) The name of the new class to use for this functionality.
* @return $this A reference to the current instance.
*/
public function set_batch_class($class = 'CFBatchRequest')
{
$this->batch_class = $class;
return $this;
}
/*%******************************************************************************************%*/
// AUTHENTICATION
/**
* Default, shared method for authenticating a connection to AWS.
*
* @param string $operation (Required) Indicates the operation to perform.
* @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys.
* @return CFResponse Object containing a parsed HTTP response.
*/
public function authenticate($operation, $payload)
{
$original_payload = $payload;
$method_arguments = func_get_args();
$curlopts = array();
$return_curl_handle = false;
if (substr($operation, 0, strlen($this->operation_prefix)) !== $this->operation_prefix)
{
$operation = $this->operation_prefix . $operation;
}
// Extract the custom CURLOPT settings from the payload
if (is_array($payload) && isset($payload['curlopts']))
{
$curlopts = $payload['curlopts'];
unset($payload['curlopts']);
}
// Determine whether the response or curl handle should be returned
if (is_array($payload) && isset($payload['returnCurlHandle']))
{
$return_curl_handle = isset($payload['returnCurlHandle']) ? $payload['returnCurlHandle'] : false;
unset($payload['returnCurlHandle']);
}
// Use the caching flow to determine if we need to do a round-trip to the server.
if ($this->use_cache_flow)
{
// Generate an identifier specific to this particular set of arguments.
$cache_id = $this->key . '_' . get_class($this) . '_' . $operation . '_' . sha1(serialize($method_arguments));
// Instantiate the appropriate caching object.
$this->cache_object = new $this->cache_class($cache_id, $this->cache_location, $this->cache_expires, $this->cache_compress);
if ($this->delete_cache)
{
$this->use_cache_flow = false;
$this->delete_cache = false;
return $this->cache_object->delete();
}
// Invoke the cache callback function to determine whether to pull data from the cache or make a fresh request.
$data = $this->cache_object->response_manager(array($this, 'cache_callback'), $method_arguments);
// Parse the XML body
$data = $this->parse_callback($data);
// End!
return $data;
}
/*%******************************************************************************************%*/
// Signer
$signer = new $this->auth_class($this->hostname, $operation, $payload, $this->credentials);
$signer->key = $this->key;
$signer->secret_key = $this->secret_key;
$signer->auth_token = $this->auth_token;
$signer->api_version = $this->api_version;
$signer->utilities_class = $this->utilities_class;
$signer->request_class = $this->request_class;
$signer->response_class = $this->response_class;
$signer->use_ssl = $this->use_ssl;
$signer->proxy = $this->proxy;
$signer->util = $this->util;
$signer->registered_streaming_read_callback = $this->registered_streaming_read_callback;
$signer->registered_streaming_write_callback = $this->registered_streaming_write_callback;
$request = $signer->authenticate();
// Update RequestCore settings
$request->request_class = $this->request_class;
$request->response_class = $this->response_class;
$request->ssl_verification = $this->ssl_verification;
/*%******************************************************************************************%*/
// Debug mode
if ($this->debug_mode)
{
$request->debug_mode = $this->debug_mode;
}
// Set custom CURLOPT settings
if (count($curlopts))
{
$request->set_curlopts($curlopts);
}
// Manage the (newer) batch request API or the (older) returnCurlHandle setting.
if ($this->use_batch_flow)
{
$handle = $request->prep_request();
$this->batch_object->add($handle);
$this->use_batch_flow = false;
return $handle;
}
elseif ($return_curl_handle)
{
return $request->prep_request();
}
// Send!
$request->send_request();
// Prepare the response.
$headers = $request->get_response_header();
$headers['x-aws-stringtosign'] = $signer->string_to_sign;
if (isset($signer->canonical_request))
{
$headers['x-aws-canonicalrequest'] = $signer->canonical_request;
}
$headers['x-aws-request-headers'] = $request->request_headers;
$headers['x-aws-body'] = $signer->querystring;
$data = new $this->response_class($headers, ($this->parse_the_response === true) ? $this->parse_callback($request->get_response_body()) : $request->get_response_body(), $request->get_response_code());
// Was it Amazon's fault the request failed? Retry the request until we reach $max_retries.
if (
(integer) $request->get_response_code() === 500 || // Internal Error (presumably transient)
(integer) $request->get_response_code() === 503) // Service Unavailable (presumably transient)
{
if ($this->redirects <= $this->max_retries)
{
// Exponential backoff
$delay = (integer) (pow(4, $this->redirects) * 100000);
usleep($delay);
$this->redirects++;
$data = $this->authenticate($operation, $original_payload);
}
}
// DynamoDB has custom logic
elseif (
(integer) $request->get_response_code() === 400 &&
stripos((string) $request->get_response_body(), 'com.amazonaws.dynamodb.') !== false && (
stripos((string) $request->get_response_body(), 'ProvisionedThroughputExceededException') !== false
)
)
{
if ($this->redirects === 0)
{
$this->redirects++;
$data = $this->authenticate($operation, $original_payload);
}
elseif ($this->redirects <= max($this->max_retries, 10))
{
// Exponential backoff
$delay = (integer) (pow(2, ($this->redirects - 1)) * 50000);
usleep($delay);
$this->redirects++;
$data = $this->authenticate($operation, $original_payload);
}
}
$this->redirects = 0;
return $data;
}
/*%******************************************************************************************%*/
// BATCH REQUEST LAYER
/**
* Specifies that the intended request should be queued for a later batch request.
*
* @param CFBatchRequest $queue (Optional) The <CFBatchRequest> instance to use for managing batch requests. If not available, it generates a new instance of <CFBatchRequest>.
* @return $this A reference to the current instance.
*/
public function batch(CFBatchRequest &$queue = null)
{
if ($queue)
{
$this->batch_object = $queue;
}
elseif ($this->internal_batch_object)
{
$this->batch_object = &$this->internal_batch_object;
}
else
{
$this->internal_batch_object = new $this->batch_class();
$this->batch_object = &$this->internal_batch_object;
}
$this->use_batch_flow = true;
return $this;
}
/**
* Executes the batch request queue by sending all queued requests.
*
* @param boolean $clear_after_send (Optional) Whether or not to clear the batch queue after sending a request. Defaults to `true`. Set this to `false` if you are caching batch responses and want to retrieve results later.
* @return array An array of <CFResponse> objects.
*/
public function send($clear_after_send = true)
{
if ($this->use_batch_flow)
{
// When we send the request, disable batch flow.
$this->use_batch_flow = false;
// If we're not caching, simply send the request.
if (!$this->use_cache_flow)
{
$response = $this->batch_object->send();
$parsed_data = array_map(array($this, 'parse_callback'), $response);
$parsed_data = new CFArray($parsed_data);
// Clear the queue
if ($clear_after_send)
{
$this->batch_object->queue = array();
}
return $parsed_data;
}
// Generate an identifier specific to this particular set of arguments.
$cache_id = $this->key . '_' . get_class($this) . '_' . sha1(serialize($this->batch_object));
// Instantiate the appropriate caching object.
$this->cache_object = new $this->cache_class($cache_id, $this->cache_location, $this->cache_expires, $this->cache_compress);
if ($this->delete_cache)
{
$this->use_cache_flow = false;
$this->delete_cache = false;
return $this->cache_object->delete();
}
// Invoke the cache callback function to determine whether to pull data from the cache or make a fresh request.
$data_set = $this->cache_object->response_manager(array($this, 'cache_callback_batch'), array($this->batch_object));
$parsed_data = array_map(array($this, 'parse_callback'), $data_set);
$parsed_data = new CFArray($parsed_data);
// Clear the queue
if ($clear_after_send)
{
$this->batch_object->queue = array();
}
// End!
return $parsed_data;
}
// Load the class
$null = new CFBatchRequest();
unset($null);
throw new CFBatchRequest_Exception('You must use $object->batch()->send()');
}
/**
* Parses a response body into a PHP object if appropriate.
*
* @param CFResponse|string $response (Required) The <CFResponse> object to parse, or an XML string that would otherwise be a response body.
* @param string $content_type (Optional) The content-type to use when determining how to parse the content.
* @return CFResponse|string A parsed <CFResponse> object, or parsed XML.
*/
public function parse_callback($response, $headers = null)
{
// Shorten this so we have a (mostly) single code path
if (isset($response->body))
{
if (is_string($response->body))
{
$body = $response->body;
}
else
{
return $response;
}
}
elseif (is_string($response))
{
$body = $response;
}
else
{
return $response;
}
// Decompress gzipped content
if (isset($headers['content-encoding']))
{
switch (strtolower(trim($headers['content-encoding'], "\x09\x0A\x0D\x20")))
{
case 'gzip':
case 'x-gzip':
$decoder = new CFGzipDecode($body);
if ($decoder->parse())
{
$body = $decoder->data;
}
break;
case 'deflate':
if (($uncompressed = gzuncompress($body)) !== false)
{
$body = $uncompressed;
}
elseif (($uncompressed = gzinflate($body)) !== false)
{
$body = $uncompressed;
}
break;
}
}
// Look for XML cues
if (
(isset($headers['content-type']) && ($headers['content-type'] === 'text/xml' || $headers['content-type'] === 'application/xml')) || // We know it's XML
(!isset($headers['content-type']) && (stripos($body, '<?xml') === 0 || strpos($body, '<Error>') === 0) || preg_match('/^<(\w*) xmlns="http(s?):\/\/(\w*).amazon(aws)?.com/im', $body)) // Sniff for XML
)
{
// Strip the default XML namespace to simplify XPath expressions
$body = str_replace("xmlns=", "ns=", $body);
try {
// Parse the XML body
$body = new $this->parser_class($body);
}
catch (Exception $e)
{
throw new Parser_Exception($e->getMessage());
}
}
// Look for JSON cues
elseif (
(isset($headers['content-type']) && ($headers['content-type'] === 'application/json') || $headers['content-type'] === 'application/x-amz-json-1.0') || // We know it's JSON
(!isset($headers['content-type']) && $this->util->is_json($body)) // Sniff for JSON
)
{
// Normalize JSON to a CFSimpleXML object
$body = CFJSON::to_xml($body);
}
// Put the parsed data back where it goes
if (isset($response->body))
{
$response->body = $body;
}
else
{
$response = $body;
}
return $response;
}
/*%******************************************************************************************%*/
// CACHING LAYER
/**
* Specifies that the resulting <CFResponse> object should be cached according to the settings from
* <set_cache_config()>.
*
* @param string|integer $expires (Required) The time the cache is to expire. Accepts a number of seconds as an integer, or an amount of time, as a string, that is understood by <php:strtotime()> (e.g. "1 hour").
* @param $this A reference to the current instance.
* @return $this
*/
public function cache($expires)
{
// Die if they haven't used set_cache_config().
if (!$this->cache_class)
{
throw new CFRuntime_Exception('Must call set_cache_config() before using cache()');
}
if (is_string($expires))
{
$expires = strtotime($expires);
$this->cache_expires = $expires - time();
}
elseif (is_int($expires))
{
$this->cache_expires = $expires;
}
$this->use_cache_flow = true;
return $this;
}
/**
* The callback function that is executed when the cache doesn't exist or has expired. The response of
* this method is cached. Accepts identical parameters as the <authenticate()> method. Never call this
* method directly -- it is used internally by the caching system.
*
* @param string $operation (Required) Indicates the operation to perform.
* @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys.
* @return CFResponse A parsed HTTP response.
*/
public function cache_callback($operation, $payload)
{
// Disable the cache flow since it's already been handled.
$this->use_cache_flow = false;
// Make the request
$response = $this->authenticate($operation, $payload);
// If this is an XML document, convert it back to a string.
if (isset($response->body) && ($response->body instanceof SimpleXMLElement))
{
$response->body = $response->body->asXML();
}
return $response;
}
/**
* Used for caching the results of a batch request. Never call this method directly; it is used
* internally by the caching system.
*
* @param CFBatchRequest $batch (Required) The batch request object to send.
* @return CFResponse A parsed HTTP response.
*/
public function cache_callback_batch(CFBatchRequest $batch)
{
return $batch->send();
}
/**
* Deletes a cached <CFResponse> object using the specified cache storage type.
*
* @return boolean A value of `true` if cached object exists and is successfully deleted, otherwise `false`.
*/
public function delete_cache()
{
$this->use_cache_flow = true;
$this->delete_cache = true;
return $this;
}
}
/**
* Contains the functionality for auto-loading service classes.
*/
class CFLoader
{
/*%******************************************************************************************%*/
// AUTO-LOADER
/**
* Automatically load classes that aren't included.
*
* @param string $class (Required) The classname to load.
* @return void
*/
public static function autoloader($class)
{
$path = dirname(__FILE__) . DIRECTORY_SEPARATOR;
// Amazon SDK classes
if (strstr($class, 'Amazon'))
{
require_once $path . 'services' . DIRECTORY_SEPARATOR . str_ireplace('Amazon', '', strtolower($class)) . '.class.php';
return true;
}
// Utility classes
elseif (strstr($class, 'CF'))
{
require_once $path . 'utilities' . DIRECTORY_SEPARATOR . str_ireplace('CF', '', strtolower($class)) . '.class.php';
return true;
}
// Load CacheCore
elseif (strstr($class, 'Cache'))
{
require_once $path . 'lib' . DIRECTORY_SEPARATOR . 'cachecore' . DIRECTORY_SEPARATOR . strtolower($class) . '.class.php';
return true;
}
// Load RequestCore
elseif (strstr($class, 'RequestCore') || strstr($class, 'ResponseCore'))
{
require_once $path . 'lib' . DIRECTORY_SEPARATOR . 'requestcore' . DIRECTORY_SEPARATOR . 'requestcore.class.php';
return true;
}
// Load Authentication Signers
elseif (strstr($class, 'Auth'))
{
require_once $path . 'authentication' . DIRECTORY_SEPARATOR . str_replace('auth', 'signature_', strtolower($class)) . '.class.php';
return true;
}
// Load Signer interface
elseif ($class === 'Signer')
{
if (!interface_exists('Signable', false))
{
require_once $path . 'authentication' . DIRECTORY_SEPARATOR . 'signable.interface.php';
}
require_once $path . 'authentication' . DIRECTORY_SEPARATOR . 'signer.abstract.php';
return true;
}
// Load Symfony YAML classes
elseif (strstr($class, 'sfYaml'))
{
require_once $path . 'lib' . DIRECTORY_SEPARATOR . 'yaml' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'sfYaml.php';
return true;
}
return false;
}
}
// Register the autoloader.
spl_autoload_register(array('CFLoader', 'autoloader'));
/*%******************************************************************************************%*/
// CONFIGURATION
// Look for include file in the same directory (e.g. `./config.inc.php`).
if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'config.inc.php'))
{
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'config.inc.php';
}
// Fallback to `~/.aws/sdk/config.inc.php`
else
{
if (!isset($_ENV['HOME']) && isset($_SERVER['HOME']))
{
$_ENV['HOME'] = $_SERVER['HOME'];
}
elseif (!isset($_ENV['HOME']) && !isset($_SERVER['HOME']))
{
$_ENV['HOME'] = `cd ~ && pwd`;
if (!$_ENV['HOME'])
{
switch (strtolower(PHP_OS))
{
case 'darwin':
$_ENV['HOME'] = '/Users/' . get_current_user();
break;
case 'windows':
case 'winnt':
case 'win32':
$_ENV['HOME'] = 'c:' . DIRECTORY_SEPARATOR . 'Documents and Settings' . DIRECTORY_SEPARATOR . get_current_user();
break;
default:
$_ENV['HOME'] = '/home/' . get_current_user();
break;
}
}
}
if (getenv('HOME') && file_exists(getenv('HOME') . DIRECTORY_SEPARATOR . '.aws' . DIRECTORY_SEPARATOR . 'sdk' . DIRECTORY_SEPARATOR . 'config.inc.php'))
{
include_once getenv('HOME') . DIRECTORY_SEPARATOR . '.aws' . DIRECTORY_SEPARATOR . 'sdk' . DIRECTORY_SEPARATOR . 'config.inc.php';
}
}
<?php
class Cloudfiles {
private $user = '';
private $api_key = '';
private $auth;
private $conn;
private $cont;
private $cont_name;
public function __construct()
{
include_once 'rs/cloudfiles.php';
$ci =& get_instance();
$ci->config->load('cloudfiles');
$this->user = $ci->config->item('cf_user');
$this->api_key = $ci->config->item('cf_api_key');
$this->auth = new CF_Authentication($this->user, $this->api_key);
$this->auth->ssl_use_cabundle();
$this->auth->authenticate();
$this->conn = new CF_Connection($this->auth);
$this->conn->ssl_use_cabundle();
}
public function create_container($cname)
{
if (!$cname)
return false;
if (!$this->conn->create_container($cname))
return false;
return true;
}
public function delete_container($cname)
{
if (!$cname)
return false;
try
{
$this->conn->delete_container($cname);
}
catch (Exception $excp)
{
$excp = $excp->getMessage();
switch ($excp)
{
case 'NoSuchContainerException':
break;
default:
return false;
}
}
return true;
}
private function get_container($c)
{
if (isset($this->cont) && $this->cont_name == $c)
return $this->cont;
try
{
$container = $this->conn->get_container($c);
// caching the current container
// so that we don't need to access
// it a million times.
$this->cont = $container;
$this->cont_name = $c;
}
catch (Exception $excp)
{
return false;
}
return $container;
}
public function make_container_private($c)
{
if (!$container = $this->get_container($c))
return false;
try
{
$container->make_private();
}
catch (Exception $excp)
{
return false;
}
return true;
}
public function make_container_public($c)
{
if (!$container = $this->get_container($c))
return false;
try
{
$container->make_public();
}
catch (Exception $excp)
{
return false;
}
return true;
}
private function get_object($c, $f)
{
if (!$container = $this->get_container($c))
return false;
if (!$obj = $container->get_object($f))
return false;
return $obj;
}
public function create_object($c, $f)
{
if (!file_exists($f))
return false;
if (!$container = $this->get_container($c))
return false;
if (!$obj = $container->create_object(basename($f)))
return false;
try
{
$obj->load_from_filename($f);
}
catch (Exception $excp)
{
return false;
}
return true;
}
public function delete_object($c, $f)
{
if (!$container = $this->get_container($c))
return false;
try
{
$container->delete_object($f);
}
catch (Exception $excp)
{
$excp = $excp->getMessage();
switch ($excp)
{
case 'NoSuchObjectException':
break;
default:
return false;
}
}
return true;
}
public function get_object_url($c, $f, $ssl = true)
{
if (!$obj = $this->get_object($c, $f))
return false;
if ($ssl)
$url = $obj->public_ssl_uri();
else
$url = $obj->public_uri();
if (!$url)
return false;
return $url;
}
public function list_objects($c)
{
if (!$container = $this->get_container($c))
return false;
try
{
$list = $container->list_objects();
}
catch (Exception $excp)
{
$excp = $excp->getMessage();
// docs saay only excp is InvalidResponseException
return false;
}
return $list;
}
}
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* CodeIgniter Curl Class
*
* Work with remote servers via cURL much easier than using the native PHP bindings.
*
* @package CodeIgniter
* @subpackage Libraries
* @category Libraries
* @author Philip Sturgeon
* @license http://philsturgeon.co.uk/code/dbad-license
* @link http://philsturgeon.co.uk/code/codeigniter-curl
*/
class Curl {
protected $_ci; // CodeIgniter instance
protected $response = ''; // Contains the cURL response for debug
protected $session; // Contains the cURL handler for a session
protected $url; // URL of the session
protected $options = array(); // Populates curl_setopt_array
protected $headers = array(); // Populates extra HTTP headers
public $error_code; // Error code returned as an int
public $error_string; // Error message returned as a string
public $info; // Returned after request (elapsed time, etc)
function __construct($url = '')
{
$this->_ci = & get_instance();
log_message('debug', 'cURL Class Initialized');
if ( ! $this->is_enabled())
{
log_message('error', 'cURL Class - PHP was not built with cURL enabled. Rebuild PHP with --with-curl to use cURL.');
}
$url AND $this->create($url);
}
public function __call($method, $arguments)
{
if (in_array($method, array('simple_get', 'simple_post', 'simple_put', 'simple_delete')))
{
// Take off the "simple_" and past get/post/put/delete to _simple_call
$verb = str_replace('simple_', '', $method);
array_unshift($arguments, $verb);
return call_user_func_array(array($this, '_simple_call'), $arguments);
}
}
/* =================================================================================
* SIMPLE METHODS
* Using these methods you can make a quick and easy cURL call with one line.
* ================================================================================= */
public function _simple_call($method, $url, $params = array(), $options = array())
{
// Get acts differently, as it doesnt accept parameters in the same way
if ($method === 'get')
{
// If a URL is provided, create new session
$this->create($url.($params ? '?'.http_build_query($params, NULL, '&') : ''));
}
else
{
// If a URL is provided, create new session
$this->create($url);
$this->{$method}($params);
}
// Add in the specific options provided
$this->options($options);
return $this->execute();
}
public function simple_ftp_get($url, $file_path, $username = '', $password = '')
{
// If there is no ftp:// or any protocol entered, add ftp://
if ( ! preg_match('!^(ftp|sftp)://! i', $url))
{
$url = 'ftp://' . $url;
}
// Use an FTP login
if ($username != '')
{
$auth_string = $username;
if ($password != '')
{
$auth_string .= ':' . $password;
}
// Add the user auth string after the protocol
$url = str_replace('://', '://' . $auth_string . '@', $url);
}
// Add the filepath
$url .= $file_path;
$this->option(CURLOPT_BINARYTRANSFER, TRUE);
$this->option(CURLOPT_VERBOSE, TRUE);
return $this->execute();
}
/* =================================================================================
* ADVANCED METHODS
* Use these methods to build up more complex queries
* ================================================================================= */
public function post($params = array(), $options = array())
{
// If its an array (instead of a query string) then format it correctly
if (is_array($params))
{
$params = http_build_query($params, NULL, '&');
}
// Add in the specific options provided
$this->options($options);
$this->http_method('post');
$this->option(CURLOPT_POST, TRUE);
$this->option(CURLOPT_POSTFIELDS, $params);
}
public function put($params = array(), $options = array())
{
// If its an array (instead of a query string) then format it correctly
if (is_array($params))
{
$params = http_build_query($params, NULL, '&');
}
// Add in the specific options provided
$this->options($options);
$this->http_method('put');
$this->option(CURLOPT_POSTFIELDS, $params);
// Override method, I think this overrides $_POST with PUT data but... we'll see eh?
$this->option(CURLOPT_HTTPHEADER, array('X-HTTP-Method-Override: PUT'));
}
public function delete($params, $options = array())
{
// If its an array (instead of a query string) then format it correctly
if (is_array($params))
{
$params = http_build_query($params, NULL, '&');
}
// Add in the specific options provided
$this->options($options);
$this->http_method('delete');
$this->option(CURLOPT_POSTFIELDS, $params);
}
public function set_cookies($params = array())
{
if (is_array($params))
{
$params = http_build_query($params, NULL, '&');
}
$this->option(CURLOPT_COOKIE, $params);
return $this;
}
public function http_header($header, $content = NULL)
{
$this->headers[] = $content ? $header . ': ' . $content : $header;
}
public function http_method($method)
{
$this->options[CURLOPT_CUSTOMREQUEST] = strtoupper($method);
return $this;
}
public function http_login($username = '', $password = '', $type = 'any')
{
$this->option(CURLOPT_HTTPAUTH, constant('CURLAUTH_' . strtoupper($type)));
$this->option(CURLOPT_USERPWD, $username . ':' . $password);
return $this;
}
public function proxy($url = '', $port = 80)
{
$this->option(CURLOPT_HTTPPROXYTUNNEL, TRUE);
$this->option(CURLOPT_PROXY, $url . ':' . $port);
return $this;
}
public function proxy_login($username = '', $password = '')
{
$this->option(CURLOPT_PROXYUSERPWD, $username . ':' . $password);
return $this;
}
public function ssl($verify_peer = TRUE, $verify_host = 2, $path_to_cert = NULL)
{
if ($verify_peer)
{
$this->option(CURLOPT_SSL_VERIFYPEER, TRUE);
$this->option(CURLOPT_SSL_VERIFYHOST, $verify_host);
$this->option(CURLOPT_CAINFO, $path_to_cert);
}
else
{
$this->option(CURLOPT_SSL_VERIFYPEER, FALSE);
}
return $this;
}
public function options($options = array())
{
// Merge options in with the rest - done as array_merge() does not overwrite numeric keys
foreach ($options as $option_code => $option_value)
{
$this->option($option_code, $option_value);
}
// Set all options provided
curl_setopt_array($this->session, $this->options);
return $this;
}
public function option($code, $value)
{
if (is_string($code) && !is_numeric($code))
{
$code = constant('CURLOPT_' . strtoupper($code));
}
$this->options[$code] = $value;
return $this;
}
// Start a session from a URL
public function create($url)
{
// If no a protocol in URL, assume its a CI link
if ( ! preg_match('!^\w+://! i', $url))
{
$this->_ci->load->helper('url');
$url = site_url($url);
}
$this->url = $url;
$this->session = curl_init($this->url);
return $this;
}
// End a session and return the results
public function execute()
{
// Set two default options, and merge any extra ones in
if ( ! isset($this->options[CURLOPT_TIMEOUT]))
{
$this->options[CURLOPT_TIMEOUT] = 30;
}
if ( ! isset($this->options[CURLOPT_RETURNTRANSFER]))
{
$this->options[CURLOPT_RETURNTRANSFER] = TRUE;
}
if ( ! isset($this->options[CURLOPT_FAILONERROR]))
{
$this->options[CURLOPT_FAILONERROR] = TRUE;
}
// Only set follow location if not running securely
if ( ! ini_get('safe_mode') && ! ini_get('open_basedir'))
{
// Ok, follow location is not set already so lets set it to true
if ( ! isset($this->options[CURLOPT_FOLLOWLOCATION]))
{
$this->options[CURLOPT_FOLLOWLOCATION] = TRUE;
}
}
if ( ! empty($this->headers))
{
$this->option(CURLOPT_HTTPHEADER, $this->headers);
}
$this->options();
// Execute the request & and hide all output
$this->response = curl_exec($this->session);
$this->info = curl_getinfo($this->session);
// Request failed
if ($this->response === FALSE)
{
$errno = curl_errno($this->session);
$error = curl_error($this->session);
curl_close($this->session);
$this->set_defaults();
$this->error_code = $errno;
$this->error_string = $error;
return FALSE;
}
// Request successful
else
{
curl_close($this->session);
$this->last_response = $this->response;
$this->set_defaults();
return $this->last_response;
}
}
public function is_enabled()
{
return function_exists('curl_init');
}
public function debug()
{
echo "=============================================<br/>\n";
echo "<h2>CURL Test</h2>\n";
echo "=============================================<br/>\n";
echo "<h3>Response</h3>\n";
echo "<code>" . nl2br(htmlentities($this->last_response)) . "</code><br/>\n\n";
if ($this->error_string)
{
echo "=============================================<br/>\n";
echo "<h3>Errors</h3>";
echo "<strong>Code:</strong> " . $this->error_code . "<br/>\n";
echo "<strong>Message:</strong> " . $this->error_string . "<br/>\n";
}
echo "=============================================<br/>\n";
echo "<h3>Info</h3>";
echo "<pre>";
print_r($this->info);
echo "</pre>";
}
public function debug_request()
{
return array(
'url' => $this->url
);
}
public function set_defaults()
{
$this->response = '';
$this->headers = array();
$this->options = array();
$this->error_code = NULL;
$this->error_string = '';
$this->session = NULL;
}
}
/* End of file Curl.php */
/* Location: ./application/libraries/Curl.php */
<?php
class Fb {
private $appid = '';
private $secret = '';
public function __construct()
{
$ci =& get_instance();
$ci->config->load('fb');
$this->appid = $ci->config->item('fb_appid');
$this->secret = $ci->config->item('fb_secret');
//load the library
$this->load();
}
private function load()
{
include_once 'fb/facebook.php';
$credentials = array(
'appId' => $this->appid,
'secret' => $this->secret
);
$this->sdk = new Facebook($credentials);
}
}
<?php
/**
* Format class
*
* Help convert between various formats such as XML, JSON, CSV, etc.
*
* @author Phil Sturgeon
* @license http://philsturgeon.co.uk/code/dbad-license
*/
class Format {
// Array to convert
protected $_data = array();
// View filename
protected $_from_type = null;
/**
* Returns an instance of the Format object.
*
* echo $this->format->factory(array('foo' => 'bar'))->to_xml();
*
* @param mixed general date to be converted
* @param string data format the file was provided in
* @return Factory
*/
public function factory($data, $from_type = null)
{
// Stupid stuff to emulate the "new static()" stuff in this libraries PHP 5.3 equivilent
$class = __CLASS__;
return new $class($data, $from_type);
}
/**
* Do not use this directly, call factory()
*/
public function __construct($data = null, $from_type = null)
{
get_instance()->load->helper('inflector');
// If the provided data is already formatted we should probably convert it to an array
if ($from_type !== null)
{
if (method_exists($this, '_from_' . $from_type))
{
$data = call_user_func(array($this, '_from_' . $from_type), $data);
}
else
{
throw new Exception('Format class does not support conversion from "' . $from_type . '".');
}
}
$this->_data = $data;
}
// FORMATING OUTPUT ---------------------------------------------------------
public function to_array($data = null)
{
// If not just null, but nopthing is provided
if ($data === null and ! func_num_args())
{
$data = $this->_data;
}
$array = array();
foreach ((array) $data as $key => $value)
{
if (is_object($value) or is_array($value))
{
$array[$key] = $this->to_array($value);
}
else
{
$array[$key] = $value;
}
}
return $array;
}
// Format XML for output
public function to_xml($data = null, $structure = null, $basenode = 'xml')
{
if ($data === null and ! func_num_args())
{
$data = $this->_data;
}
// turn off compatibility mode as simple xml throws a wobbly if you don't.
if (ini_get('zend.ze1_compatibility_mode') == 1)
{
ini_set('zend.ze1_compatibility_mode', 0);
}
if ($structure === null)
{
$structure = simplexml_load_string("<?xml version='1.0' encoding='utf-8'?><$basenode />");
}
// Force it to be something useful
if ( ! is_array($data) AND ! is_object($data))
{
$data = (array) $data;
}
foreach ($data as $key => $value)
{
// no numeric keys in our xml please!
if (is_numeric($key))
{
// make string key...
$key = (singular($basenode) != $basenode) ? singular($basenode) : 'item';
}
// replace anything not alpha numeric
$key = preg_replace('/[^a-z_\-0-9]/i', '', $key);
// if there is another array found recrusively call this function
if (is_array($value) || is_object($value))
{
$node = $structure->addChild($key);
// recrusive call.
$this->to_xml($value, $node, $key);
}
else
{
// add single node.
$value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES, 'UTF-8'), ENT_QUOTES, "UTF-8");
$structure->addChild($key, $value);
}
}
return $structure->asXML();
}
// Format HTML for output
public function to_html()
{
$data = $this->_data;
// Multi-dimentional array
if (isset($data[0]))
{
$headings = array_keys($data[0]);
}
// Single array
else
{
$headings = array_keys($data);
$data = array($data);
}
$ci = get_instance();
$ci->load->library('table');
$ci->table->set_heading($headings);
foreach ($data as &$row)
{
$ci->table->add_row($row);
}
return $ci->table->generate();
}
// Format HTML for output
public function to_csv()
{
$data = $this->_data;
// Multi-dimentional array
if (isset($data[0]))
{
$headings = array_keys($data[0]);
}
// Single array
else
{
$headings = array_keys($data);
$data = array($data);
}
$output = implode(',', $headings).PHP_EOL;
foreach ($data as &$row)
{
$output .= '"'.implode('","', $row).'"'.PHP_EOL;
}
return $output;
}
// Encode as JSON
public function to_json()
{
return json_encode($this->_data);
}
// Encode as Serialized array
public function to_serialized()
{
return serialize($this->_data);
}
// Output as a string representing the PHP structure
public function to_php()
{
return var_export($this->_data, TRUE);
}
// Format XML for output
protected function _from_xml($string)
{
return $string ? (array) simplexml_load_string($string, 'SimpleXMLElement', LIBXML_NOCDATA) : array();
}
// Format HTML for output
// This function is DODGY! Not perfect CSV support but works with my REST_Controller
protected function _from_csv($string)
{
$data = array();
// Splits
$rows = explode("\n", trim($string));
$headings = explode(',', array_shift($rows));
foreach ($rows as $row)
{
// The substr removes " from start and end
$data_fields = explode('","', trim(substr($row, 1, -1)));
if (count($data_fields) == count($headings))
{
$data[] = array_combine($headings, $data_fields);
}
}
return $data;
}
// Encode as JSON
private function _from_json($string)
{
return json_decode(trim($string));
}
// Encode as Serialized array
private function _from_serialize($string)
{
return unserialize(trim($string));
}
}
/* End of file format.php */
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* CodeIgniter MongoDB Active Record Library
*
* @category Library
* @package CodeIgniter
* @author Alex Bilbie <alex@alexbilbie.com>
* @copyright 2012 Alex Bilbie.
* @license MIT License http://www.opensource.org/licenses/mit-license.php
* @version Release: 2.0
* @link https://github.com/alexbilbie/codeigniter-mongodb-library
*/
class Mongo_db
{
/**
* CI instance.
*
* @var mixed
* @access private
*/
private $_ci;
/**
* Config file.
*
* @var string
* @access private
*/
private $_config_file = 'mongodb';
/**
* Config file data
*
* @var array
* @access private
*/
private $_config_data = array();
/**
* Connection resource.
*
* @var mixed
* @access private
*/
private $_connection = NULL;
/**
* Database handle.
*
* @var resource
* @access private
*/
private $_dbhandle = NULL;
/**
* Generated connection string.
*
* @var mixed
* @access private
*/
private $_connection_string = '';
/**
* Database host.
*
* @var mixed
* @access private
*/
private $_host = array('localhost:27017');
/**
* Database user.
*
* @var mixed
* @access private
*/
private $_user = '';
/**
* Database user password.
*
* @var mixed
* @access private
*/
private $_pass = '';
/**
* Database name.
*
* @var strings
* @access private
*/
private $_dbname = '';
/**
* Persist connection.
*
* @var boolean
* @access private
*/
private $_persist = TRUE;
/**
* Persist key.
*
* @var string
* @access private
*/
private $_persist_key = 'ci_mongo';
/**
* Use replica set.
*
* @var FALSE|string
* @access private
*/
private $_replica_set = FALSE;
/**
* Query safety value.
*
* @var string
* @access private
*/
private $_query_safety = 'safe';
/**
* Selects array.
*
* @var array
* @access private
*/
private $_selects = array();
/**
* Wheres array.
*
* Public to make debugging easier.
*
* @var array
* @access public
*/
public $wheres = array();
/**
* Sorts array.
*
* @var array
* @access private
*/
private $_sorts = array();
/**
* Updates array.
*
* Public to make debugging easier
*
* @var array
* @access public
*/
public $updates = array();
/**
* Results limit.
*
* @var integer
* @access private
*/
private $_limit = 999999;
/**
* Query log.
*
* @var integer
* @access private
*/
private $_query_log = array();
/**
* Result offset.
*
* @var integer
* @access private
*/
private $_offset = 0;
/**
* Constructor
*
* Automatically check if the Mongo PECL extension has been installed/enabled.
*
* @access public
* @return void
*/
public function __construct()
{
if ( ! class_exists('Mongo'))
{
$this->_show_error('The MongoDB PECL extension has not been installed or enabled', 500);
}
if (function_exists('get_instance'))
{
$this->_ci = get_instance();
}
else
{
$this->_ci = NULL;
}
$this->load();
}
/**
* Load.
*
* Load config and connect
*
* @param mixed $config Name of the config file or array of params
*
* @access public
* @return void
*/
public function load($config = 'default')
{
// Try and load a config file if CodeIgniter
if ($this->_ci)
{
$this->_config_data = $this->_ci->config->load($this->_config_file);
}
if (is_array($config))
{
$this->_config_data = $config;
}
elseif (is_string($config) && $this->_ci)
{
$this->_config_data = $this->_ci->config->item($config);
}
else
{
$this->_show_error('No config name passed or config variables', 500);
}
$this->_connection_string();
$this->_connect();
}
/**
* Switch database.
*
* <code>
* $this->mongo_db->switch_db('foobar');
* </code>
*
* @param string $database Database name
*
* @access public
* @return boolean
*/
public function switch_db($database = '')
{
if (empty($database))
{
$this->_show_error('To switch MongoDB databases, a new database name must be specified', 500);
}
try
{
// Regenerate the connection string and reconnect
$this->_config_data['mongo_database'] = $database;
$this->_connection_string();
$this->_connect();
}
catch (Exception $exception)
{
$this->_show_error('Unable to switch Mongo Databases: ' . $exception->getMessage(), 500);
}
}
/**
* Drop a database.
*
* <code>
* $this->mongo_db->drop_db("foobar");
* </code>
*
* @param string $database Database name
*
* @access public
* @return boolean
*/
public function drop_db($database = '')
{
if (empty($database))
{
$this->_show_error('Failed to drop MongoDB database because name is empty', 500);
}
else
{
try
{
$this->_connection->{$database}->drop();
return TRUE;
}
catch (Exception $exception)
{
$this->_show_error('Unable to drop Mongo database `' . $database . '`: ' . $exception->getMessage(), 500);
}
}
}
/**
* Drop a collection.
*
* <code>
* $this->mongo_db->drop_collection('foo', 'bar');
* </code>
*
* @param string $database Database name
* @param string $collection Collection name
*
* @access public
* @return boolean
*/
public function drop_collection($database = '', $collection = '')
{
if (empty($database))
{
$this->_show_error('Failed to drop MongoDB collection because database name is empty', 500);
}
if (empty($collection))
{
$this->_show_error('Failed to drop MongoDB collection because collection name is empty', 500);
}
else
{
try
{
$this->_connection->{$database}->{$collection}->drop();
return TRUE;
}
catch (Exception $exception)
{
$this->_show_error('Unable to drop Mongo collection `' . $collection . '`: ' . $exception->getMessage(), 500);
}
}
}
/**
* Set select parameters.
*
* Determine which fields to include OR which to exclude during the query process.
* Currently, including and excluding at the same time is not available, so the
* $includes array will take precedence over the $excludes array. If you want to
* only choose fields to exclude, leave $includes an empty array().
*
* <code>
* $this->mongo_db->select(array('foo', 'bar'))->get('foobar');
* </code>
*
* @param array $includes Fields to include in the returned result
* @param array $excludes Fields to exclude from the returned result
*
* @access public
* @return object
*/
public function select($includes = array(), $excludes = array())
{
if ( ! is_array($includes))
{
$includes = array();
}
if ( ! is_array($excludes))
{
$excludes = array();
}
if ( ! empty($includes))
{
foreach ($includes as $include)
{
$this->_selects[$include] = 1;
}
}
else
{
foreach ($excludes as $exclude)
{
$this->_selects[$exclude] = 0;
}
}
return $this;
}
/**
* Set where paramaters
*
* Get the documents based on these search parameters. The $wheres array should
* be an associative array with the field as the key and the value as the search
* criteria.
*
* <code>
* $this->mongo_db->where(array('foo' => 'bar'))->get('foobar');
* </code>
*
* @param array|string $wheres Array of where conditions. If string, $value must be set
* @param mixed $value Value of $wheres if $wheres is a string
*
* @access public
* @return object
*/
public function where($wheres = array(), $value = NULL)
{
if (is_array($wheres))
{
foreach ($wheres as $where => $value)
{
$this->wheres[$where] = $value;
}
}
else
{
$this->wheres[$wheres] = $value;
}
return $this;
}
/**
* or_where.
*
* Get the documents where the value of a $field may be something else
*
* <code>
* $this->mongo_db->or_where(array('foo'=>'bar', 'bar'=>'foo'))->get('foobar');
* </code>
*
* @param array $wheres Array of where conditions
*
* @access public
* @return object
*/
public function or_where($wheres = array())
{
if (count($wheres) > 0)
{
if ( ! isset($this->wheres['$or']) OR ! is_array($this->wheres['$or']))
{
$this->wheres['$or'] = array();
}
foreach ($wheres as $where => $value)
{
$this->wheres['$or'][] = array($where => $value);
}
}
return $this;
}
/**
* where_in.
*
* Get the documents where the value of a $field is in a given $in array().
*
* <code>
* $this->mongo_db->where_in('foo', array('bar', 'zoo', 'blah'))->get('foobar');
* </code>
*
* @param string $field Name of the field
* @param array $in_values Array of values that $field could be
*
* @access public
* @return object
*/
public function where_in($field = '', $in_values = array())
{
$this->_where_init($field);
$this->wheres[$field]['$in'] = $in_values;
return $this;
}
/**
* where_in_all.
*
* Get the documents where the value of a $field is in all of a given $in array().
*
* <code>
* $this->mongo_db->where_in_all('foo', array('bar', 'zoo', 'blah'))->get('foobar');
* </code>
*
* @param string $field Name of the field
* @param array $in_values Array of values that $field must be
*
* @access public
* @return object
*/
public function where_in_all($field = '', $in_values = array())
{
$this->_where_init($field);
$this->wheres[$field]['$all'] = $in_values;
return $this;
}
/**
* Where not in
*
* Get the documents where the value of a $field is not in a given $in array().
*
* <code>
* $this->mongo_db->where_not_in('foo', array('bar', 'zoo', 'blah'))->get('foobar');
* </code>
*
* @param string $field Name of the field
* @param array $in_values Array of values that $field isnt
*
* @access public
* @return object
*/
public function where_not_in($field = '', $in_values = array())
{
$this->_where_init($field);
$this->wheres[$field]['$nin'] = $in_values;
return $this;
}
/**
* where_gt
*
* Get the documents where the value of a $field is greater than $value
*
* <code>
* $this->mongo_db->where_gt('foo', 20);
* </code>
*
* @param string $field Name of the field
* @param mixed $value Value that $field is greater than
*
* @access public
* @return object
*/
public function where_gt($field = '', $value = NULL)
{
$this->_where_init($field);
$this->wheres[$field]['$gt'] = $value;
return $this;
}
/**
* where_gte
*
* Get the documents where the value of a $field is greater than or equal to $value
*
* <code>
* $this->mongo_db->where_gte('foo', 20);
* </code>
*
* @param string $field Name of the field
* @param mixed $value Value that $field is greater than or equal to
*
* @access public
* @return object
*/
public function where_gte($field = '', $value = NULL)
{
$this->_where_init($field);
$this->wheres[$field]['$gte'] = $value;
return $this;
}
/**
* where_lt.
*
* Get the documents where the value of a $field is less than $x
*
* <code>
* $this->mongo_db->where_lt('foo', 20);
* </code>
*
* @param string $field Name of the field
* @param mixed $value Value that $field is less than
*
* @access public
* @return object
*/
public function where_lt($field = '', $value = NULL)
{
$this->_where_init($field);
$this->wheres[$field]['$lt'] = $value;
return $this;
}
/**
* where_lte.
*
* Get the documents where the value of a $field is less than or equal to $x
*
* <code>
* $this->mongo_db->where_lte('foo', 20);
* </code>
*
* @param string $field Name of the field
* @param mixed $value Value that $field is less than or equal to
*
* @access public
* @return object
*/
public function where_lte($field = '', $value = NULL)
{
$this->_where_init($field);
$this->wheres[$field]['$lte'] = $value;
return $this;
}
/**
* where_between
*
* Get the documents where the value of a $field is between $x and $y
*
* <code>
* $this->mongo_db->where_between('foo', 20, 30);
* </code>
*
* @param string $field Name of the field
* @param int $value_x Value that $field is greater than or equal to
* @param int $value_y Value that $field is less than or equal to
*
* @access public
* @return object
*/
public function where_between($field = '', $value_x = 0, $value_y = 0)
{
$this->_where_init($field);
$this->wheres[$field]['$gte'] = $value_x;
$this->wheres[$field]['$lte'] = $value_y;
return $this;
}
/**
* where_between_ne
*
* Get the documents where the value of a $field is between but not equal to $x and $y
*
* <code>
* $this->mongo_db->where_between_ne('foo', 20, 30);
* </code>
*
* @param string $field Name of the field
* @param int $value_x Value that $field is greater than or equal to
* @param int $value_y Value that $field is less than or equal to
*
* @access public
* @return object
*/
public function where_between_ne($field = '', $value_x, $value_y)
{
$this->_where_init($field);
$this->wheres[$field]['$gt'] = $value_x;
$this->wheres[$field]['$lt'] = $value_y;
return $this;
}
/**
* where_ne
*
* Get the documents where the value of a $field is not equal to $x
*
* <code>
* $this->mongo_db->where_ne('foo', 1)->get('foobar');
* </code>
*
* @param string $field Name of the field
* @param mixed $value Value that $field is not equal to
*
* @access public
* @return object
*/
public function where_ne($field = '', $value)
{
$this->_where_init($field);
$this->wheres[$field]['$ne'] = $value;
return $this;
}
/**
* where_near
*
* Get the documents nearest to an array of coordinates (your collection must have a geospatial index)
*
* <code>
* $this->mongo_db->where_near('foo', array('50','50'))->get('foobar');
* </code>
*
* @param string $field Name of the field
* @param array $coords Array of coordinates
* @param integer $distance Value of the maximum distance to search
* @param boolean $spherical Treat the Earth as spherical instead of flat (useful when searching over large distances)
*
* @access public
* @return object
*/
function where_near($field = '', $coords = array(), $distance = NULL, $spherical = FALSE)
{
$this->_where_init($field);
if ($spherical)
{
$this->wheres[$field]['$nearSphere'] = $coords;
}
else
{
$this->wheres[$field]['$near'] = $coords;
}
if ($distance !== NULL)
{
$this->wheres[$field]['$maxDistance'] = $distance;
}
return $this;
}
/**
* like
*
* Get the documents where the (string) value of a $field is like a value. The defaults
* allow for a case-insensitive search.
*
* <code>
* $this->mongo_db->like('foo', 'bar', 'im', FALSE, TRUE);
* </code>
*
* @param string $field The field
* @param string $value The value to match against
* @param string $flags Allows for the typical regular expression flags:<br>i = case insensitive<br>m = multiline<br>x = can contain comments<br>l = locale<br>s = dotall, "." matches everything, including newlines<br>u = match unicode
* @param boolean $enable_start_wildcard If set to anything other than TRUE, a starting line character "^" will be prepended to the search value, representing only searching for a value at the start of a new line.
* @param boolean $enable_end_wildcard If set to anything other than TRUE, an ending line character "$" will be appended to the search value, representing only searching for a value at the end of a line.
*
* @access public
* @return object
*/
public function like($field = '', $value = '', $flags = 'i', $enable_start_wildcard = TRUE, $enable_end_wildcard = TRUE)
{
$field = (string) trim($field);
$this->_where_init($field);
$value = (string) trim($value);
$value = quotemeta($value);
if ($enable_start_wildcard !== TRUE)
{
$value = '^' . $value;
}
if ($enable_end_wildcard !== TRUE)
{
$value .= '$';
}
$regex = '/' . $value . '/' . $flags;
$this->wheres[$field] = new MongoRegex($regex);
return $this;
}
/**
* order_by
*
* Sort the documents based on the parameters passed. To set values to descending order, you must pass values of either -1, FALSE, 'desc', or 'DESC', else they will be set to 1 (ASC).
*
* <code>
* $this->mongo_db->order_by(array('foo' => 'ASC'))->get('foobar');
* </code>
*
* @param array $fields Array of fields with their sort type (asc or desc)
*
* @access public
* @return object
*/
public function order_by($fields = array())
{
foreach ($fields as $field => $order)
{
if ($order === -1 OR $order === FALSE OR strtolower($order) === 'desc')
{
$this->_sorts[$field] = -1;
}
else
{
$this->_sorts[$field] = 1;
}
}
return $this;
}
/**
* limit.
*
* Limit the result set to $limit number of documents
*
* <code>
* $this->mongo_db->_limit($x);
* </code>
*
* @param int $limit The maximum number of documents that will be returned
*
* @access public
* @return object
*/
public function limit($limit = 99999)
{
if ($limit !== NULL AND is_numeric($limit) AND $limit >= 1)
{
$this->_limit = (int) $limit;
}
return $this;
}
/**
* offset.
*
* Offset the result set to skip $x number of documents
*
* <code>
* $this->mongo_db->_offset($x);
* </code>
*
* @param int $offset The number of documents to offset the search by
*
* @access public
* @return object
*/
public function offset($offset = 0)
{
if ($offset !== NULL AND is_numeric($offset) AND $offset >= 1)
{
$this->_offset = (int) $offset;
}
return $this;
}
/**
* Get where.
*
* Get the documents based upon the passed parameters
*
* <code>
* $this->mongo_db->get_where('foo', array('bar' => 'something'));
* </code>
*
* @param string $collection Name of the collection
* @param array $where Array of where conditions
*
* @access public
* @return array
*/
public function get_where($collection = '', $where = array())
{
return $this->where($where)->get($collection);
}
/**
* Get.
*
* Return the found documents
*
* <code>
* $this->mongo_db->get('foo');
* </code>
*
* @param string $collection Name of the collection
* @param bool $return_cursor Return the native document cursor
*
* @access public
* @return array
*/
public function get($collection = '', $return_cursor = FALSE)
{
if (empty($collection))
{
$this->_show_error('In order to retrieve documents from MongoDB, a collection name must be passed', 500);
}
$cursor = $this->_dbhandle
->{$collection}
->find($this->wheres, $this->_selects)
->limit($this->_limit)
->skip($this->_offset)
->sort($this->_sorts);
// Clear
$this->_clear($collection, 'get');
// Return the raw cursor if wanted
if ($return_cursor === TRUE)
{
return $cursor;
}
$documents = array();
while ($cursor->hasNext())
{
try
{
$documents[] = $cursor->getNext();
}
catch (MongoCursorException $exception)
{
$this->_show_error($exception->getMessage(), 500);
}
}
return $documents;
}
/**
* Count.
*
* Count the number of found documents
*
* <code>
* $this->mongo_db->count('foo');
* </code>
*
* @param string $collection Name of the collection
*
* @access public
* @return int
*/
public function count($collection = '')
{
if (empty($collection))
{
$this->_show_error('In order to retrieve a count of documents from MongoDB, a collection name must be passed', 500);
}
$count = $this->_dbhandle
->{$collection}
->find($this->wheres)
->limit($this->_limit)
->skip($this->_offset)
->count();
$this->_clear($collection, 'count');
return $count;
}
/**
* Insert.
*
* Insert a new document
*
* <code>
* $this->mongo_db->insert('foo', array('foo'=>'bar'));
* </code>
*
* @param string $collection Name of the collection
* @param array $insert The document to be inserted
* @param array $options Array of options
*
* @access public
* @return boolean
*/
public function insert($collection = '', $insert = array(), $options = array())
{
if (empty($collection))
{
$this->_show_error('No Mongo collection selected to insert into', 500);
}
if (count($insert) === 0 OR ! is_array($insert))
{
$this->_show_error('Nothing to insert into Mongo collection or insert is not an array', 500);
}
$options = array_merge(
array(
$this->_query_safety => TRUE
),
$options
);
try
{
$this->_dbhandle
->{$collection}
->insert($insert, $options);
if (isset($insert['_id']))
{
return $insert['_id'];
}
else
{
return FALSE;
}
}
catch (MongoCursorException $exception)
{
$this->_show_error('Insert of data into MongoDB failed: ' .$exception->getMessage(), 500);
}
}
/**
* Insert.
*
* Insert a new document
*
* <code>
* $this->mongo_db->insert('foo', array('foo'=>'bar'));
* </code>
*
* @param string $collection Name of the collection
* @param array $insert The document to be inserted
* @param array $options Array of options
*
* @access public
* @return boolean
*/
public function batch_insert($collection = '', $insert = array(), $options = array())
{
if (empty($collection))
{
$this->_show_error('No Mongo collection selected to insert into', 500);
}
if (count($insert) === 0 || ! is_array($insert))
{
$this->_show_error('Nothing to insert into Mongo collection or insert is not an array', 500);
}
$options = array_merge(
array(
$this->_query_safety => TRUE
),
$options
);
try
{
return $this->_dbhandle
->{$collection}
->batchInsert($insert, $options);
}
catch (MongoCursorException $exception)
{
$this->_show_error('Insert of data into MongoDB failed: ' . $exception->getMessage(), 500);
}
}
/**
* Update a document.
*
* Updates a document
*
* <code>
* $this->mongo_db->update('foo');
* </code>
*
* @param string $collection Name of the collection
* @param array $options Array of update options
*
* @access public
* @return boolean
*/
public function update($collection = '', $options = array())
{
if (empty($collection))
{
$this->_show_error('No Mongo collection selected to update', 500);
}
if (count($this->updates) === 0)
{
$this->_show_error('Nothing to update in Mongo collection or update is not an array', 500);
}
try
{
$options = array_merge(array($this->_query_safety => TRUE, 'multiple' => FALSE), $options);
$result = $this->_dbhandle->{$collection}->update($this->wheres, $this->updates, $options);
$this->_clear($collection, 'update');
if ($result['updatedExisting'] > 0)
{
return $result['updatedExisting'];
}
return FALSE;
}
catch (MongoCursorException $exception)
{
$this->_show_error('Update of data into MongoDB failed: ' . $exception->getMessage(), 500);
}
}
/**
* Update all documents.
*
* Updates a document
*
* <code>
* $this->mongo_db->update_all('foo');
* </code>
*
* @param string $collection Name of the collection
* @param array $options Array of update options
*
* @access public
* @return boolean
*/
public function update_all($collection = '', $options = array())
{
if (empty($collection))
{
$this->_show_error('No Mongo collection selected to update', 500);
}
if (count($this->updates) === 0)
{
$this->_show_error('Nothing to update in Mongo collection or update is not an array', 500);
}
try
{
$options = array_merge(array($this->_query_safety => TRUE, 'multiple' => TRUE), $options);
$result = $this->_dbhandle->{$collection}->update($this->wheres, $this->updates, $options);
$this->_clear($collection, 'update_all');
if ($result['updatedExisting'] > 0)
{
return $result['updatedExisting'];
}
return FALSE;
}
catch (MongoCursorException $exception)
{
$this->_show_error('Update of data into MongoDB failed: ' . $exception->getMessage(), 500);
}
}
/**
* Inc.
*
* Increments the value of a field
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->inc(array('num_comments' => 1))->update('blog_posts');
* </code>
*
* @param array|string $fields Array of field names (or a single string field name) to be incremented
* @param int $value Value that the field(s) should be incremented by
*
* @access public
* @return object
*/
public function inc($fields = array(), $value = 0)
{
$this->_update_init('$inc');
if (is_string($fields))
{
$this->updates['$inc'][$fields] = $value;
}
elseif (is_array($fields))
{
foreach ($fields as $field => $value)
{
$this->updates['$inc'][$field] = $value;
}
}
return $this;
}
/**
* Dec.
*
* Decrements the value of a field
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->dec(array('num_comments' => 1))->update('blog_posts');
* </code>
*
* @param array|string $fields Array of field names (or a single string field name) to be decremented
* @param int $value Value that the field(s) should be decremented by
*
* @access public
* @return object
*/
public function dec($fields = array(), $value = 0)
{
$this->_update_init('$inc');
if (is_string($fields))
{
$this->updates['$inc'][$fields] = $value;
}
elseif (is_array($fields))
{
foreach ($fields as $field => $value)
{
$this->updates['$inc'][$field] = $value;
}
}
return $this;
}
/**
* Set.
*
* Sets a field to a value
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->set('posted', 1)->update('blog_posts');
* $this->mongo_db->where(array('blog_id'=>123))->set(array('posted' => 1, 'time' => time()))->update('blog_posts');
* </code>
*
* @param array|string $fields Array of field names (or a single string field name)
* @param mixed $value Value that the field(s) should be set to
*
* @access public
* @return object
*/
public function set($fields, $value = NULL)
{
$this->_update_init('$set');
if (is_string($fields))
{
$this->updates['$set'][$fields] = $value;
}
elseif (is_array($fields))
{
foreach ($fields as $field => $value)
{
$this->updates['$set'][$field] = $value;
}
}
return $this;
}
/**
* Unset.
*
* Unsets a field (or fields)
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->unset('posted')->update('blog_posts');
* $this->mongo_db->where(array('blog_id'=>123))->set(array('posted','time'))->update('blog_posts');
*
* @param array|string $fields Array of field names (or a single string field name) to be unset
*
* @access public
* @return object
*/
public function unset_field($fields)
{
$this->_update_init('$unset');
if (is_string($fields))
{
$this->updates['$unset'][$fields] = 1;
}
elseif (is_array($fields))
{
foreach ($fields as $field)
{
$this->updates['$unset'][$field] = 1;
}
}
return $this;
}
/**
* Add to set.
*
* Adds value to the array only if its not in the array already
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->addtoset('tags', 'php')->update('blog_posts');
* $this->mongo_db->where(array('blog_id'=>123))->addtoset('tags', array('php', 'codeigniter', 'mongodb'))->update('blog_posts');
* </code>
*
* @param string $field Name of the field
* @param string|array $values Value of the field(s)
*
* @access public
* @return object
*/
public function addtoset($field, $values)
{
$this->_update_init('$addToSet');
if (is_string($values))
{
$this->updates['$addToSet'][$field] = $values;
}
elseif (is_array($values))
{
$this->updates['$addToSet'][$field] = array('$each' => $values);
}
return $this;
}
/**
* Push.
*
* Pushes values into a field (field must be an array)
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->push('comments', array('text'=>'Hello world'))->update('blog_posts');
* $this->mongo_db->where(array('blog_id'=>123))->push(array('comments' => array('text'=>'Hello world')), 'viewed_by' => array('Alex')->update('blog_posts');
* </code>
*
* @param array|string $fields Array of field names (or a single string field name)
* @param mixed $value Value of the field(s) to be pushed into an array or object
*
* @access public
* @return object
*/
public function push($fields, $value = array())
{
$this->_update_init('$push');
if (is_string($fields))
{
$this->updates['$push'][$fields] = $value;
}
elseif (is_array($fields))
{
foreach ($fields as $field => $value)
{
$this->updates['$push'][$field] = $value;
}
}
return $this;
}
/**
* Pop.
*
* Pops the last value from a field (field must be an array)
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->pop('comments')->update('blog_posts');
* $this->mongo_db->where(array('blog_id'=>123))->pop(array('comments', 'viewed_by'))->update('blog_posts');
* </code>
*
* @param string $field Name of the field to be popped
*
* @access public
* @return object
*/
public function pop($field)
{
$this->_update_init('$pop');
if (is_string($field))
{
$this->updates['$pop'][$field] = -1;
}
elseif (is_array($field))
{
foreach ($field as $pop_field)
{
$this->updates['$pop'][$pop_field] = -1;
}
}
return $this;
}
/**
* Pull.
*
* Removes by an array by the value of a field
*
* <code>
* $this->mongo_db->pull('comments', array('comment_id'=>123))->update('blog_posts');
* </code>
*
* @param string $field Name of the field
* @param array $value Array of identifiers to remove $field
*
* @access public
* @return object
*/
public function pull($field = '', $value = array())
{
$this->_update_init('$pull');
$this->updates['$pull'] = array($field => $value);
return $this;
}
/**
* Rename field.
*
* Renames a field
*
* <code>
* $this->mongo_db->where(array('blog_id'=>123))->rename_field('posted_by', 'author')->update('blog_posts');
* </code>
*
* @param string $old_name Name of the field to be renamed
* @param string $new_name New name for $old_name
*
* @access public
* @return object
*/
public function rename_field($old_name, $new_name)
{
$this->_update_init('$rename');
$this->updates['$rename'][] = array($old_name => $new_name);
return $this;
}
/**
* Delete.
*
* delete document from the passed collection based upon certain criteria
*
* <code>
* $this->mongo_db->delete('foo');
* </code>
*
* @param string $collection Name of the collection
*
* @access public
* @return object
*/
public function delete($collection = '')
{
if (empty($collection))
{
$this->_show_error('No Mongo collection selected to delete from', 500);
}
try
{
$this->_dbhandle->{$collection}->remove($this->wheres, array($this->_query_safety => TRUE, 'justOne' => TRUE));
$this->_clear($collection, 'delete');
return TRUE;
}
catch (MongoCursorException $exception)
{
$this->_show_error('Delete of data into MongoDB failed: ' . $exception->getMessage(), 500);
}
}
/**
* Delete all.
*
* Delete all documents from the passed collection based upon certain criteria
*
* <code>
* $this->mongo_db->delete_all('foo', $data = array());
* </code>
*
* @param string $collection Name of the collection
*
* @access public
* @return object
*/
public function delete_all($collection = '')
{
if (empty($collection))
{
$this->_show_error('No Mongo collection selected to delete from', 500);
}
if (isset($this->wheres['_id']) AND ! ($this->wheres['_id'] instanceof MongoId))
{
$this->wheres['_id'] = new MongoId($this->wheres['_id']);
}
try
{
$this->_dbhandle->{$collection}->remove($this->wheres, array($this->_query_safety => TRUE, 'justOne' => FALSE));
$this->_clear($collection, 'delete_all');
return TRUE;
}
catch (MongoCursorException $exception)
{
$this->_show_error('Delete of data into MongoDB failed: ' . $exception->getMessage(), 500);
}
}
/**
* Command.
*
* Runs a MongoDB command (such as GeoNear). See the MongoDB documentation for more usage scenarios - http://dochub.mongodb.org/core/commands
*
* <code>
* $this->mongo_db->command(array('geoNear'=>'buildings', 'near'=>array(53.228482, -0.547847), 'num' => 10, 'nearSphere'=>true));
* </code>
*
* @param array $query The command query
*
* @access public
* @return object
*/
public function command($query = array())
{
try
{
$execute = $this->_dbhandle->command($query);
return $execute;
}
catch (MongoCursorException $exception)
{
$this->_show_error('MongoDB command failed to execute: ' . $exception->getMessage(), 500);
}
}
/**
* Add indexes.
*
* Ensure an index of the keys in a collection with optional parameters. To set values to descending order, you must pass values of either -1, FALSE, 'desc', or 'DESC', else they will be set to 1 (ASC).
*
* <code>
* $this->mongo_db->add_index($collection, array('first_name' => 'ASC', 'last_name' => -1), array('unique' => TRUE));
* </code>
*
* @param string $collection Name of the collection
* @param array $fields Array of fields to be indexed. Key should be the field name, value should be index type
* @param array $options Array of options
*
* @access public
* @return object
*/
public function add_index($collection = '', $fields = array(), $options = array())
{
if (empty($collection))
{
$this->_show_error('No Mongo collection specified to add index to', 500);
}
if (empty($fields) OR ! is_array($fields))
{
$this->_show_error('Index could not be created to MongoDB Collection because no keys were specified', 500);
}
foreach ($fields as $field => $value)
{
if($value === -1 OR $value === FALSE OR strtolower($value) === 'desc')
{
$keys[$field] = -1;
}
else
{
$keys[$field] = 1;
}
}
if ($this->_dbhandle->{$collection}->ensureIndex($fields, $options) === TRUE)
{
$this->_clear($collection, 'add_index');
return $this;
}
else
{
$this->_show_error('An error occurred when trying to add an index to MongoDB Collection', 500);
}
}
/**
* Remove indexes.
*
* Remove an index of the keys in a collection. To set values to descending order, you must pass values of either -1, FALSE, 'desc', or 'DESC', else they will be set to 1 (ASC).
*
* <code>
* $this->mongo_db->remove_index($collection, array('first_name' => 'ASC', 'last_name' => -1));
* </code>
*
* @param string $collection Name of the collection
* @param array $keys Array of index keys to be removed. Array key should be the field name, the value should be -1
*
* @access public
* @return object
*/
public function remove_index($collection = '', $keys = array())
{
if (empty($collection))
{
$this->_show_error('No Mongo collection specified to remove index from', 500);
}
if (empty($keys) OR ! is_array($keys))
{
$this->_show_error('Index could not be removed from MongoDB Collection because no keys were specified', 500);
}
if ($this->_dbhandle->{$collection}->deleteIndex($keys, $options) === TRUE)
{
$this->_clear($collection, 'remove_index');
return $this;
}
else
{
$this->_show_error('An error occurred when trying to remove an index from MongoDB Collection', 500);
}
}
/**
* Remove all indexes
*
* Remove all indexes from a collection.
*
* <code>
* $this->mongo_db->remove_all_index($collection);
* </code>
*
* @param string $collection Name of the collection
*
* @access public
* @return array|object
*/
public function remove_all_indexes($collection = '')
{
if (empty($collection))
{
$this->_show_error('No Mongo collection specified to remove all indexes from', 500);
}
$this->_dbhandle->{$collection}->deleteIndexes();
$this->_clear($collection, 'remove_all_indexes');
return $this;
}
/**
* List indexes.
*
* Lists all indexes in a collection.
*
* <code>
* $this->mongo_db->list_indexes($collection);
* </code>
*
* @param string $collection Name of the collection
*
* @access public
* @return array|object
*/
public function list_indexes($collection = '')
{
if (empty($collection))
{
$this->_show_error('No Mongo collection specified to remove all indexes from', 500);
}
return $this->_dbhandle->{$collection}->getIndexInfo();
}
/**
* Mongo Date.
*
* Create new MongoDate object from current time or pass timestamp to create mongodate.
*
* <code>
* $this->mongo_db->date($timestamp);
* </code>
*
* @param int|null $timestamp A unix timestamp (or NULL to return a MongoDate relative to time()
*
* @access public
* @return array|object
*/
public function date($timestamp = NULL)
{
if ($timestamp === NULL)
{
return new MongoDate();
}
return new MongoDate($timestamp);
}
/**
* Get database reference
*
* Get mongo object from database reference using MongoDBRef
*
* <code>
* $this->mongo_db->get_dbref($object);
* </code>
*
* @param object $object A dbref object
*
* @access public
* @return array|object
*/
public function get_dbref($object)
{
if (empty($object) || ! isset($object))
{
$this->_show_error('To use MongoDBRef::get() ala get_dbref() you must pass a valid reference object', 500);
}
return MongoDBRef::get($this->_dbhandle, $object);
}
/**
* Create database reference.
*
* Create mongo dbref object to store later
*
* <code>
* $ref = $this->mongo_db->create_dbref($collection, $id);
* </code>
*
* @param string $collection Collection name
* @param string $field Field name
* @param string $db_name Database name
*
* @access public
* @return array|object
*/
public function create_dbref($collection = '', $field = '', $db_name = '')
{
if (empty($collection))
{
$this->_show_error('In order to retrieve documents from MongoDB, a collection name must be passed', 500);
}
if (empty($field) || ! isset($field))
{
$this->_show_error('To use MongoDBRef::create() ala create_dbref() you must pass a valid field id of the object which to link', 500);
}
$database = ($db_name !== '') ? $db_name : $this->_dbhandle;
return MongoDBRef::create($collection, $field, $database);
}
/**
* last_query.
*
* Return the last query
*
* <code>
* print_r($this->mongo_db->last_query());
* </code>
*
* @access public
* @return array
*/
public function last_query()
{
return $this->_query_log;
}
/**
* Connect to MongoDB
*
* Establish a connection to MongoDB using the connection string generated in
* the connection_string() method. If 'mongo_persist_key' was set to true in the
* config file, establish a persistent connection. We allow for only the 'persist'
* option to be set because we want to establish a connection immediately.
*
* @return object
* @access private
*/
private function _connect()
{
$options = array();
if ($this->_persist === TRUE)
{
$options['persist'] = $this->_persist_key;
}
if ($this->_replica_set !== FALSE)
{
$options['replicaSet'] = $this->_replica_set;
}
try
{
$this->_connection = new Mongo($this->_connection_string, $options);
$this->_dbhandle = $this->_connection->{$this->_dbname};
return $this;
}
catch (MongoConnectionException $exception)
{
if($this->_ci && $this->_ci->config->item('mongo_suppress_connect_error'))
{
$this->_show_error('Unable to connect to MongoDB', 500);
}
else
{
$this->_show_error('Unable to connect to MongoDB: ' . $exception->getMessage(), 500);
}
}
}
/**
* Build connectiong string.
*
* @access private
* @return void
*/
private function _connection_string()
{
$this->_host = trim($this->_config_data['mongo_hostbase']);
$this->_user = trim($this->_config_data['mongo_username']);
$this->_pass = trim($this->_config_data['mongo_password']);
$this->_dbname = trim($this->_config_data['mongo_database']);
$this->_persist = $this->_config_data['mongo_persist'];
$this->_persist_key = trim($this->_config_data['mongo_persist_key']);
$this->_replica_set = $this->_config_data['mongo_replica_set'];
$this->_query_safety = trim($this->_config_data['mongo_query_safety']);
$dbhostflag = (bool) $this->_config_data['mongo_host_db_flag'];
$connection_string = 'mongodb://';
if (empty($this->_host))
{
$this->_show_error('The Host must be set to connect to MongoDB', 500);
}
if (empty($this->_dbname))
{
$this->_show_error('The database name must be set to connect to MongoDB', 500);
}
if ( ! empty($this->_user) AND ! empty($this->_pass))
{
$connection_string .= $this->_user . ':' . $this->_pass . '@';
}
$connection_string .= $this->_host;
if ($dbhostflag === TRUE)
{
$this->_connection_string = trim($connection_string) . '/' . $this->_dbname;
}
else
{
$this->_connection_string = trim($connection_string);
}
}
/**
* Reset the class variables to default settings.
*
* @access private
* @return void
*/
private function _clear($collection, $action)
{
$this->_query_log = array(
'collection' => $collection,
'action' => $action,
'wheres' => $this->wheres,
'updates' => $this->updates,
'selects' => $this->_selects,
'limit' => $this->_limit,
'offset' => $this->_offset,
'sorts' => $this->_sorts
);
$this->_selects = array();
$this->updates = array();
$this->wheres = array();
$this->_limit = 999999;
$this->_offset = 0;
$this->_sorts = array();
}
/**
* Where initializer.
*
* Prepares parameters for insertion in $wheres array().
*
* @param string $field Field name
*
* @access private
* @return void
*/
private function _where_init($field)
{
if ( ! isset($this->wheres[$field]))
{
$this->wheres[$field] = array();
}
}
/**
* Update initializer.
*
* Prepares parameters for insertion in $updates array().
*
* @param string $field Field name
*
* @access private
* @return void
*/
private function _update_init($field = '')
{
if ( ! isset($this->updates[$field]))
{
$this->updates[$field] = array();
}
}
/**
* Show error.
*
* If using CodeIgniter use show_error otherwise throw an exception.
*
* @param string $error_message Error message
* @param int $response_code Response code
*
* @access private
* @return void
*/
private function _show_error($error_message = '', $response_code = 500)
{
if ( ! function_exists('show_error')) // If we're not using CodeIgniter throw a normal exception
{
throw new Exception ($error_message);
}
else // CodeIgniter show_error() function
{
show_error($error_message, $response_code);
}
}
}
// End of file mongo_db.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* REST_controller V 2.5.x
*
* @see https://github.com/philsturgeon/codeigniter-restserver
*
*/
class REST_Controller extends CI_Controller {
protected $rest_format = NULL; // Set this in a controller to use a default format
protected $methods = array(); // contains a list of method properties such as limit, log and level
protected $request = NULL; // Stores accept, language, body, headers, etc
protected $response = NULL; // What is gonna happen in output?
protected $rest = NULL; // Stores DB, keys, key level, etc
protected $_get_args = array();
protected $_post_args = array();
protected $_put_args = array();
protected $_delete_args = array();
protected $_args = array();
protected $_allow = TRUE;
protected $_zlib_oc = FALSE; // Determines if output compression is enabled
// List all supported methods, the first will be the default format
protected $_supported_formats = array(
'xml' => 'application/xml',
'rawxml' => 'application/xml',
'json' => 'application/json',
'jsonp' => 'application/javascript',
'serialized' => 'application/vnd.php.serialized',
'php' => 'text/plain',
'html' => 'text/html',
'csv' => 'application/csv'
);
// Constructor function
public function __construct()
{
parent::__construct();
$this->_zlib_oc = @ini_get('zlib.output_compression');
// Lets grab the config and get ready to party
$this->load->config('rest');
// How is this request being made? POST, DELETE, GET, PUT?
$this->request = new stdClass();
$this->request->method = $this->_detect_method();
// Set up our GET variables
$this->_get_args = array_merge($this->_get_args, $this->uri->ruri_to_assoc());
//$this->load->library('security');
// This library is bundled with REST_Controller 2.5+, but will eventually be part of CodeIgniter itself
$this->load->library('format');
// Try to find a format for the request (means we have a request body)
$this->request->format = $this->_detect_input_format();
// Some Methods cant have a body
$this->request->body = NULL;
switch ($this->request->method)
{
case 'get':
// Grab proper GET variables
parse_str(parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY), $get);
// Merge both the URI segements and GET params
$this->_get_args = array_merge($this->_get_args, $get);
break;
case 'post':
$this->_post_args = $_POST;
$this->request->format and $this->request->body = file_get_contents('php://input');
break;
case 'put':
// It might be a HTTP body
if ($this->request->format)
{
$this->request->body = file_get_contents('php://input');
}
// If no file type is provided, this is probably just arguments
else
{
parse_str(file_get_contents('php://input'), $this->_put_args);
}
break;
case 'delete':
// Set up out DELETE variables (which shouldn't really exist, but sssh!)
parse_str(file_get_contents('php://input'), $this->_delete_args);
break;
}
// Now we know all about our request, let's try and parse the body if it exists
if ($this->request->format and $this->request->body)
{
$this->request->body = $this->format->factory($this->request->body, $this->request->format)->to_array();
// Assign payload arguments to proper method container
$this->{'_'.$this->request->method.'_args'} = $this->request->body;
}
// Merge both for one mega-args variable
$this->_args = array_merge($this->_get_args, $this->_put_args, $this->_post_args, $this->_delete_args);
// Which format should the data be returned in?
$this->response = new stdClass();
$this->response->format = $this->_detect_output_format();
// Which language should the data be returned in?
$this->response->lang = $this->_detect_lang();
// Check if there is a specific auth type for the current class/method
$this->auth_override = $this->_auth_override_check();
// When there is no specific override for the current class/method, use the default auth value set in the config
if ( $this->auth_override !== TRUE )
{
if ($this->config->item('rest_auth') == 'basic')
{
$this->_prepare_basic_auth();
}
elseif ($this->config->item('rest_auth') == 'digest')
{
$this->_prepare_digest_auth();
}
elseif ($this->config->item('rest_ip_whitelist_enabled'))
{
$this->_check_whitelist_auth();
}
}
// Load DB if its enabled
if (config_item('rest_database_group') AND (config_item('rest_enable_keys') OR config_item('rest_enable_logging')))
{
$this->rest->db = $this->load->database(config_item('rest_database_group'), TRUE);
}
// Checking for keys? GET TO WORK!
if (config_item('rest_enable_keys'))
{
$this->_allow = $this->_detect_api_key();
}
// only allow ajax requests
if ( ! $this->input->is_ajax_request() AND config_item('rest_ajax_only') )
{
$this->response( array('status' => false, 'error' => 'Only AJAX requests are accepted.'), 505 );
}
}
/*
* Remap
*
* Requests are not made to methods directly The request will be for an "object".
* this simply maps the object and method to the correct Controller method.
*/
public function _remap($object_called, $arguments)
{
$pattern = '/^(.*)\.(' . implode('|', array_keys($this->_supported_formats)) . ')$/';
if (preg_match($pattern, $object_called, $matches))
{
$object_called = $matches[1];
}
$controller_method = $object_called . '_' . $this->request->method;
// Do we want to log this method (if allowed by config)?
$log_method = ! (isset($this->methods[$controller_method]['log']) AND $this->methods[$controller_method]['log'] == FALSE);
// Use keys for this method?
$use_key = ! (isset($this->methods[$controller_method]['key']) AND $this->methods[$controller_method]['key'] == FALSE);
// Get that useless shitty key out of here
if (config_item('rest_enable_keys') AND $use_key AND $this->_allow === FALSE)
{
if (config_item('rest_enable_logging') AND $log_method)
{
$this->_log_request();
}
$this->response(array('status' => false, 'error' => 'Invalid API Key.'), 403);
}
// Sure it exists, but can they do anything with it?
if ( ! method_exists($this, $controller_method))
{
$this->response(array('status' => false, 'error' => 'Unknown method.'), 404);
}
// Doing key related stuff? Can only do it if they have a key right?
if (config_item('rest_enable_keys') AND ! empty($this->rest->key))
{
// Check the limit
if (config_item('rest_enable_limits') AND ! $this->_check_limit($controller_method))
{
$this->response(array('status' => false, 'error' => 'This API key has reached the hourly limit for this method.'), 401);
}
// If no level is set use 0, they probably aren't using permissions
$level = isset($this->methods[$controller_method]['level']) ? $this->methods[$controller_method]['level'] : 0;
// If no level is set, or it is lower than/equal to the key's level
$authorized = $level <= $this->rest->level;
// IM TELLIN!
if (config_item('rest_enable_logging') AND $log_method)
{
$this->_log_request($authorized);
}
// They don't have good enough perms
$authorized OR $this->response(array('status' => false, 'error' => 'This API key does not have enough permissions.'), 401);
}
// No key stuff, but record that stuff is happening
else if (config_item('rest_enable_logging') AND $log_method)
{
$this->_log_request($authorized = TRUE);
}
// And...... GO!
call_user_func_array(array($this, $controller_method), $arguments);
}
/*
* response
*
* Takes pure data and optionally a status code, then creates the response
*/
public function response($data = array(), $http_code = null)
{
global $CFG;
// If data is empty and not code provide, error and bail
if (empty($data) && $http_code === null)
{
$http_code = 404;
//create the output variable here in the case of $this->response(array());
$output = $data;
}
// Otherwise (if no data but 200 provided) or some data, carry on camping!
else
{
// Is compression requested?
if ($CFG->item('compress_output') === TRUE && $this->_zlib_oc == FALSE)
{
if (extension_loaded('zlib'))
{
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) AND strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE)
{
ob_start('ob_gzhandler');
}
}
}
is_numeric($http_code) OR $http_code = 200;
// If the format method exists, call and return the output in that format
if (method_exists($this, '_format_'.$this->response->format))
{
// Set the correct format header
header('Content-Type: '.$this->_supported_formats[$this->response->format]);
$output = $this->{'_format_'.$this->response->format}($data);
}
// If the format method exists, call and return the output in that format
elseif (method_exists($this->format, 'to_'.$this->response->format))
{
// Set the correct format header
header('Content-Type: '.$this->_supported_formats[$this->response->format]);
$output = $this->format->factory($data)->{'to_'.$this->response->format}();
}
// Format not supported, output directly
else
{
$output = $data;
}
}
header('HTTP/1.1: ' . $http_code);
header('Status: ' . $http_code);
// If zlib.output_compression is enabled it will compress the output,
// but it will not modify the content-length header to compensate for
// the reduction, causing the browser to hang waiting for more data.
// We'll just skip content-length in those cases.
if ( ! $this->_zlib_oc && ! $CFG->item('compress_output'))
{
header('Content-Length: ' . strlen($output));
}
exit($output);
}
/*
* Detect input format
*
* Detect which format the HTTP Body is provided in
*/
protected function _detect_input_format()
{
if ($this->input->server('CONTENT_TYPE'))
{
// Check all formats against the HTTP_ACCEPT header
foreach ($this->_supported_formats as $format => $mime)
{
if (strpos($match = $this->input->server('CONTENT_TYPE'), ';'))
{
$match = current(explode(';', $match));
}
if ($match == $mime)
{
return $format;
}
}
}
return NULL;
}
/*
* Detect format
*
* Detect which format should be used to output the data
*/
protected function _detect_output_format()
{
$pattern = '/\.(' . implode('|', array_keys($this->_supported_formats)) . ')$/';
// Check if a file extension is used when no get arguments provided
if (!$this->_get_args AND preg_match($pattern, $this->uri->uri_string(), $matches))
{
return $matches[1];
}
// Check if a file extension is used
elseif ($this->_get_args AND ! is_array(end($this->_get_args)) AND preg_match($pattern, end($this->_get_args), $matches))
{
// The key of the last argument
$last_key = end(array_keys($this->_get_args));
// Remove the extension from arguments too
$this->_get_args[$last_key] = preg_replace($pattern, '', $this->_get_args[$last_key]);
$this->_args[$last_key] = preg_replace($pattern, '', $this->_args[$last_key]);
return $matches[1];
}
// A format has been passed as an argument in the URL and it is supported
if (isset($this->_get_args['format']) AND array_key_exists($this->_get_args['format'], $this->_supported_formats))
{
return $this->_get_args['format'];
}
// Otherwise, check the HTTP_ACCEPT (if it exists and we are allowed)
if ($this->config->item('rest_ignore_http_accept') === FALSE AND $this->input->server('HTTP_ACCEPT'))
{
// Check all formats against the HTTP_ACCEPT header
foreach (array_keys($this->_supported_formats) as $format)
{
// Has this format been requested?
if (strpos($this->input->server('HTTP_ACCEPT'), $format) !== FALSE)
{
// If not HTML or XML assume its right and send it on its way
if ($format != 'html' AND $format != 'xml')
{
return $format;
}
// HTML or XML have shown up as a match
else
{
// If it is truely HTML, it wont want any XML
if ($format == 'html' AND strpos($this->input->server('HTTP_ACCEPT'), 'xml') === FALSE)
{
return $format;
}
// If it is truely XML, it wont want any HTML
elseif ($format == 'xml' AND strpos($this->input->server('HTTP_ACCEPT'), 'html') === FALSE)
{
return $format;
}
}
}
}
} // End HTTP_ACCEPT checking
// Well, none of that has worked! Let's see if the controller has a default
if ( ! empty($this->rest_format))
{
return $this->rest_format;
}
// Just use the default format
return config_item('rest_default_format');
}
/*
* Detect method
*
* Detect which method (POST, PUT, GET, DELETE) is being used
*/
protected function _detect_method()
{
$method = strtolower($this->input->server('REQUEST_METHOD'));
if ($this->config->item('enable_emulate_request'))
{
if ($this->input->post('_method'))
{
$method = strtolower($this->input->post('_method'));
}
else if ($this->input->server('HTTP_X_HTTP_METHOD_OVERRIDE'))
{
$method = strtolower($this->input->server('HTTP_X_HTTP_METHOD_OVERRIDE'));
}
}
if (in_array($method, array('get', 'delete', 'post', 'put')))
{
return $method;
}
return 'get';
}
/*
* Detect API Key
*
* See if the user has provided an API key
*/
protected function _detect_api_key()
{
// Get the api key name variable set in the rest config file
$api_key_variable = config_item('rest_key_name');
// Work out the name of the SERVER entry based on config
$key_name = 'HTTP_' . strtoupper(str_replace('-', '_', $api_key_variable));
$this->rest->key = NULL;
$this->rest->level = NULL;
$this->rest->ignore_limits = FALSE;
// Find the key from server or arguments
if ($key = isset($this->_args[$api_key_variable]) ? $this->_args[$api_key_variable] : $this->input->server($key_name))
{
if ( ! $row = $this->rest->db->where('key', $key)->get(config_item('rest_keys_table'))->row())
{
return FALSE;
}
$this->rest->key = $row->key;
isset($row->level) AND $this->rest->level = $row->level;
isset($row->ignore_limits) AND $this->rest->ignore_limits = $row->ignore_limits;
return TRUE;
}
// No key has been sent
return FALSE;
}
/*
* Detect language(s)
*
* What language do they want it in?
*/
protected function _detect_lang()
{
if ( ! $lang = $this->input->server('HTTP_ACCEPT_LANGUAGE'))
{
return NULL;
}
// They might have sent a few, make it an array
if (strpos($lang, ',') !== FALSE)
{
$langs = explode(',', $lang);
$return_langs = array();
$i = 1;
foreach ($langs as $lang)
{
// Remove weight and strip space
list($lang) = explode(';', $lang);
$return_langs[] = trim($lang);
}
return $return_langs;
}
// Nope, just return the string
return $lang;
}
/*
* Log request
*
* Record the entry for awesomeness purposes
*/
protected function _log_request($authorized = FALSE)
{
return $this->rest->db->insert(config_item('rest_logs_table'), array(
'uri' => $this->uri->uri_string(),
'method' => $this->request->method,
'params' => serialize($this->_args),
'api_key' => isset($this->rest->key) ? $this->rest->key : '',
'ip_address' => $this->input->ip_address(),
'time' => function_exists('now') ? now() : time(),
'authorized' => $authorized
));
}
/*
* Log request
*
* Record the entry for awesomeness purposes
*/
protected function _check_limit($controller_method)
{
// They are special, or it might not even have a limit
if ( ! empty($this->rest->ignore_limits) OR !isset($this->methods[$controller_method]['limit']))
{
// On your way sonny-jim.
return TRUE;
}
// How many times can you get to this method an hour?
$limit = $this->methods[$controller_method]['limit'];
// Get data on a keys usage
$result = $this->rest->db
->where('uri', $this->uri->uri_string())
->where('api_key', $this->rest->key)
->get(config_item('rest_limits_table'))
->row();
// No calls yet, or been an hour since they called
if ( ! $result OR $result->hour_started < time() - (60 * 60))
{
// Right, set one up from scratch
$this->rest->db->insert(config_item('rest_limits_table'), array(
'uri' => $this->uri->uri_string(),
'api_key' => isset($this->rest->key) ? $this->rest->key : '',
'count' => 1,
'hour_started' => time()
));
}
// They have called within the hour, so lets update
else
{
// Your luck is out, you've called too many times!
if ($result->count >= $limit)
{
return FALSE;
}
$this->rest->db
->where('uri', $this->uri->uri_string())
->where('api_key', $this->rest->key)
->set('count', 'count + 1', FALSE)
->update(config_item('rest_limits_table'));
}
return TRUE;
}
/*
* Auth override check
*
* Check if there is a specific auth type set for the current class/method being called
*/
protected function _auth_override_check()
{
// Assign the class/method auth type override array from the config
$this->overrides_array = $this->config->item('auth_override_class_method');
// Check to see if the override array is even populated, otherwise return false
if ( empty($this->overrides_array) )
{
return false;
}
// Check to see if there's an override value set for the current class/method being called
if ( empty($this->overrides_array[$this->router->class][$this->router->method]) )
{
return false;
}
// None auth override found, prepare nothing but send back a true override flag
if ($this->overrides_array[$this->router->class][$this->router->method] == 'none')
{
return true;
}
// Basic auth override found, prepare basic
if ($this->overrides_array[$this->router->class][$this->router->method] == 'basic')
{
$this->_prepare_basic_auth();
return true;
}
// Digest auth override found, prepare digest
if ($this->overrides_array[$this->router->class][$this->router->method] == 'digest')
{
$this->_prepare_digest_auth();
return true;
}
// Whitelist auth override found, check client's ip against config whitelist
if ($this->overrides_array[$this->router->class][$this->router->method] == 'whitelist')
{
$this->_check_whitelist_auth();
return true;
}
// Return false when there is an override value set but it doesn't match 'basic', 'digest', or 'none'. (the value was misspelled)
return false;
}
// INPUT FUNCTION --------------------------------------------------------------
public function get($key = NULL, $xss_clean = TRUE)
{
if ($key === NULL)
{
return $this->_get_args;
}
return array_key_exists($key, $this->_get_args) ? $this->_xss_clean($this->_get_args[$key], $xss_clean) : FALSE;
}
public function post($key = NULL, $xss_clean = TRUE)
{
if ($key === NULL)
{
return $this->_post_args;
}
return $this->input->post($key, $xss_clean);
}
public function put($key = NULL, $xss_clean = TRUE)
{
if ($key === NULL)
{
return $this->_put_args;
}
return array_key_exists($key, $this->_put_args) ? $this->_xss_clean($this->_put_args[$key], $xss_clean) : FALSE;
}
public function delete($key = NULL, $xss_clean = TRUE)
{
if ($key === NULL)
{
return $this->_delete_args;
}
return array_key_exists($key, $this->_delete_args) ? $this->_xss_clean($this->_delete_args[$key], $xss_clean) : FALSE;
}
protected function _xss_clean($val, $bool)
{
if (CI_VERSION < 2)
{
return $bool ? $this->input->xss_clean($val) : $val;
}
else
{
return $bool ? $this->security->xss_clean($val) : $val;
}
}
public function validation_errors()
{
$string = strip_tags($this->form_validation->error_string());
return explode("\n", trim($string, "\n"));
}
// SECURITY FUNCTIONS ---------------------------------------------------------
protected function _check_login($username = '', $password = NULL)
{
if (empty($username))
{
return FALSE;
}
$valid_logins = & $this->config->item('rest_valid_logins');
if (!array_key_exists($username, $valid_logins))
{
return FALSE;
}
// If actually NULL (not empty string) then do not check it
if ($password !== NULL AND $valid_logins[$username] != $password)
{
return FALSE;
}
return TRUE;
}
protected function _prepare_basic_auth()
{
// If whitelist is enabled it has the first chance to kick them out
if (config_item('rest_ip_whitelist_enabled'))
{
$this->_check_whitelist_auth();
}
$username = NULL;
$password = NULL;
// mod_php
if ($this->input->server('PHP_AUTH_USER'))
{
$username = $this->input->server('PHP_AUTH_USER');
$password = $this->input->server('PHP_AUTH_PW');
}
// most other servers
elseif ($this->input->server('HTTP_AUTHENTICATION'))
{
if (strpos(strtolower($this->input->server('HTTP_AUTHENTICATION')), 'basic') === 0)
{
list($username, $password) = explode(':', base64_decode(substr($this->input->server('HTTP_AUTHORIZATION'), 6)));
}
}
if (!$this->_check_login($username, $password))
{
$this->_force_login();
}
}
protected function _prepare_digest_auth()
{
// If whitelist is enabled it has the first chance to kick them out
if (config_item('rest_ip_whitelist_enabled'))
{
$this->_check_whitelist_auth();
}
$uniqid = uniqid(""); // Empty argument for backward compatibility
// We need to test which server authentication variable to use
// because the PHP ISAPI module in IIS acts different from CGI
if ($this->input->server('PHP_AUTH_DIGEST'))
{
$digest_string = $this->input->server('PHP_AUTH_DIGEST');
}
elseif ($this->input->server('HTTP_AUTHORIZATION'))
{
$digest_string = $this->input->server('HTTP_AUTHORIZATION');
}
else
{
$digest_string = "";
}
/* The $_SESSION['error_prompted'] variabile is used to ask
the password again if none given or if the user enters
a wrong auth. informations. */
if (empty($digest_string))
{
$this->_force_login($uniqid);
}
// We need to retrieve authentication informations from the $auth_data variable
preg_match_all('@(username|nonce|uri|nc|cnonce|qop|response)=[\'"]?([^\'",]+)@', $digest_string, $matches);
$digest = array_combine($matches[1], $matches[2]);
if (!array_key_exists('username', $digest) OR !$this->_check_login($digest['username']))
{
$this->_force_login($uniqid);
}
$valid_logins = & $this->config->item('rest_valid_logins');
$valid_pass = $valid_logins[$digest['username']];
// This is the valid response expected
$A1 = md5($digest['username'] . ':' . $this->config->item('rest_realm') . ':' . $valid_pass);
$A2 = md5(strtoupper($this->request->method) . ':' . $digest['uri']);
$valid_response = md5($A1 . ':' . $digest['nonce'] . ':' . $digest['nc'] . ':' . $digest['cnonce'] . ':' . $digest['qop'] . ':' . $A2);
if ($digest['response'] != $valid_response)
{
header('HTTP/1.0 401 Unauthorized');
header('HTTP/1.1 401 Unauthorized');
exit;
}
}
// Check if the client's ip is in the 'rest_ip_whitelist' config
protected function _check_whitelist_auth()
{
$whitelist = explode(',', config_item('rest_ip_whitelist'));
array_push($whitelist, '127.0.0.1', '0.0.0.0');
foreach ($whitelist AS &$ip)
{
$ip = trim($ip);
}
if ( ! in_array($this->input->ip_address(), $whitelist))
{
$this->response(array('status' => false, 'error' => 'Not authorized'), 401);
}
}
protected function _force_login($nonce = '')
{
if ($this->config->item('rest_auth') == 'basic')
{
header('WWW-Authenticate: Basic realm="' . $this->config->item('rest_realm') . '"');
}
elseif ($this->config->item('rest_auth') == 'digest')
{
header('WWW-Authenticate: Digest realm="' . $this->config->item('rest_realm') . '", qop="auth", nonce="' . $nonce . '", opaque="' . md5($this->config->item('rest_realm')) . '"');
}
$this->response(array('status' => false, 'error' => 'Not authorized'), 401);
}
// Force it into an array
protected function _force_loopable($data)
{
// Force it to be something useful
if ( ! is_array($data) AND ! is_object($data))
{
$data = (array) $data;
}
return $data;
}
// FORMATING FUNCTIONS ---------------------------------------------------------
// Many of these have been moved to the Format class for better separation, but these methods will be checked too
// Encode as JSONP
protected function _format_jsonp($data = array())
{
return $this->get('callback') . '(' . json_encode($data) . ')';
}
}

Introduction

CodeIgniter Bootstrap kick starts the development process of the web development process by including Twitter Bootstrap into CodeIgniter. It also includes certain libraries such as AWS and Facebook in-case you are developing applications requiring those SDKs. So stop writing the same code over again and start working on your idea.

CodeIgniter Bootstrap follows the path where it lazy loads libraries. Though the project footprint may be large, the memory footprint will still be extremely light. Try not to autoload libraries as it does not follow the CodeIgniter convention (though some libraries do make sense to autoload).

Installation

Derived from CodeIgniter, read CodeIgniter Installation for how to install using this zipball instead. If you're not familiar with CodeIgniter, I suggest reading the CodeIgniter Tutorial on how to get started and read the wiki for more information.

Flavors

Documentation

Check out the Wiki for more information.

Releases

This is currently a very active project, there are no projected release locks planned. All changes will be latest in master and may be unstable.

License

MIT with CodeIgniter Amendments

Other

If you're looking for a LESS and/or JS compilier, try out another flavor like CodeIgniter Sunrise.

This file has been truncated, but you can view the full file.
<?php
/*
* Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/**
* This is the <em>Auto Scaling API Reference</em>. This guide provides detailed information about
* Auto Scaling actions, data types, parameters, and errors. For detailed information about Auto
* Scaling features and their associated API calls, go to the <a href=
* "http://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/">Auto Scaling Developer
* Guide</a>.
*
* Auto Scaling is a web service designed to automatically launch or terminate EC2 instances based
* on user-defined policies, schedules, and health checks. This service is used in conjunction
* with Amazon CloudWatch and Elastic Load Balancing services.
*
* This reference is based on the current WSDL, which is available at:
*
* <a href=
* "http://autoscaling.amazonaws.com/doc/2011-01-01/AutoScaling.wsdl">http://autoscaling.amazonaws.com/doc/2011-01-01/AutoScaling.wsdl</a>
*
* <strong>Endpoints</strong>
*
* For information about this product's regions and endpoints, go to <a href=
* "http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and
* Endpoints</a> in the Amazon Web Services General Reference.
*
* @version 2012.01.17
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/as/ Auto Scaling
* @link http://aws.amazon.com/as/documentation/ Auto Scaling documentation
*/
class AmazonAS extends CFRuntime
{
/*%******************************************************************************************%*/
// CLASS CONSTANTS
/**
* Specify the queue URL for the United States East (Northern Virginia) Region.
*/
const REGION_US_E1 = 'autoscaling.us-east-1.amazonaws.com';
/**
* Specify the queue URL for the United States East (Northern Virginia) Region.
*/
const REGION_VIRGINIA = self::REGION_US_E1;
/**
* Specify the queue URL for the United States West (Northern California) Region.
*/
const REGION_US_W1 = 'autoscaling.us-west-1.amazonaws.com';
/**
* Specify the queue URL for the United States West (Northern California) Region.
*/
const REGION_CALIFORNIA = self::REGION_US_W1;
/**
* Specify the queue URL for the United States West (Oregon) Region.
*/
const REGION_US_W2 = 'autoscaling.us-west-2.amazonaws.com';
/**
* Specify the queue URL for the United States West (Oregon) Region.
*/
const REGION_OREGON = self::REGION_US_W2;
/**
* Specify the queue URL for the Europe West (Ireland) Region.
*/
const REGION_EU_W1 = 'autoscaling.eu-west-1.amazonaws.com';
/**
* Specify the queue URL for the Europe West (Ireland) Region.
*/
const REGION_IRELAND = self::REGION_EU_W1;
/**
* Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
*/
const REGION_APAC_SE1 = 'autoscaling.ap-southeast-1.amazonaws.com';
/**
* Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
*/
const REGION_SINGAPORE = self::REGION_APAC_SE1;
/**
* Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
*/
const REGION_APAC_NE1 = 'autoscaling.ap-northeast-1.amazonaws.com';
/**
* Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
*/
const REGION_TOKYO = self::REGION_APAC_NE1;
/**
* Specify the queue URL for the South America (Sao Paulo) Region.
*/
const REGION_SA_E1 = 'autoscaling.sa-east-1.amazonaws.com';
/**
* Specify the queue URL for the South America (Sao Paulo) Region.
*/
const REGION_SAO_PAULO = self::REGION_SA_E1;
/**
* Default service endpoint.
*/
const DEFAULT_URL = self::REGION_US_E1;
/*%******************************************************************************************%*/
// CONSTRUCTOR
/**
* Constructs a new instance of <AmazonAS>.
*
* @param array $options (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>certificate_authority</code> - <code>boolean</code> - Optional - Determines which Cerificate Authority file to use. A value of boolean <code>false</code> will use the Certificate Authority file available on the system. A value of boolean <code>true</code> will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to <code>0755</code>) will use that. Leave this set to <code>false</code> if you're not sure.</li>
* <li><code>credentials</code> - <code>string</code> - Optional - The name of the credential set to use for authentication.</li>
* <li><code>default_cache_config</code> - <code>string</code> - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the <set_cache_config()> method. Valid values are: <code>apc</code>, <code>xcache</code>, or a file system path such as <code>./cache</code> or <code>/tmp/cache/</code>.</li>
* <li><code>key</code> - <code>string</code> - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.</li>
* <li><code>secret</code> - <code>string</code> - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.</li>
* <li><code>token</code> - <code>string</code> - Optional - An AWS session token.</li></ul>
* @return void
*/
public function __construct(array $options = array())
{
$this->api_version = '2011-01-01';
$this->hostname = self::DEFAULT_URL;
$this->auth_class = 'AuthV2Query';
return parent::__construct($options);
}
/*%******************************************************************************************%*/
// SETTERS
/**
* This allows you to explicitly sets the region for the service to use.
*
* @param string $region (Required) The region to explicitly set. Available options are <REGION_US_E1>, <REGION_US_W1>, <REGION_US_W2>, <REGION_EU_W1>, <REGION_APAC_SE1>, <REGION_APAC_NE1>, <REGION_SA_E1>.
* @return $this A reference to the current instance.
*/
public function set_region($region)
{
// @codeCoverageIgnoreStart
$this->set_hostname($region);
return $this;
// @codeCoverageIgnoreEnd
}
/*%******************************************************************************************%*/
// SERVICE METHODS
/**
* Creates a new Auto Scaling group with the specified name and other attributes. When the
* creation request is completed, the Auto Scaling group is ready to be used in other calls.
*
* <p class="note">
* The Auto Scaling group name must be unique within the scope of your AWS account, and under the
* quota of Auto Scaling groups allowed for your account.
* </p>
*
* @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param string $launch_configuration_name (Required) The name of the launch configuration to use with the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param integer $min_size (Required) The minimum size of the Auto Scaling group.
* @param integer $max_size (Required) The maximum size of the Auto Scaling group.
* @param string|array $availability_zones (Required) A list of Availability Zones for the Auto Scaling group. Pass a string for a single value, or an indexed array for multiple values.
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>DesiredCapacity</code> - <code>integer</code> - Optional - The number of Amazon EC2 instances that should be running in the group.</li>
* <li><code>DefaultCooldown</code> - <code>integer</code> - Optional - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.</li>
* <li><code>LoadBalancerNames</code> - <code>string|array</code> - Optional - A list of load balancers to use. Pass a string for a single value, or an indexed array for multiple values.</li>
* <li><code>HealthCheckType</code> - <code>string</code> - Optional - The service you want the health status from, Amazon EC2 or Elastic Load Balancer. Valid values are <code>EC2</code> or <code>ELB</code>. [Constraints: The value must be between 1 and 32 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>HealthCheckGracePeriod</code> - <code>integer</code> - Optional - Length of time in seconds after a new Amazon EC2 instance comes into service that Auto Scaling starts checking its health.</li>
* <li><code>PlacementGroup</code> - <code>string</code> - Optional - Physical location of your cluster placement group created in Amazon EC2. For more information about cluster placement group, see <a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using_cluster_computing.html">Using Cluster Instances</a> [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>VPCZoneIdentifier</code> - <code>string</code> - Optional - A comma-separated list of subnet identifiers of Amazon Virtual Private Clouds (Amazon VPCs). When you specify subnets and Availability Zones with this call, ensure that the subnets' Availability Zones match the Availability Zones specified. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>Tags</code> - <code>array</code> - Optional - The tag to be created. Each tag should be defined by its resource ID, resource type, key, value, and a propagate flag. The <code>PropagateAtLaunch</code> flag defines whether the new tag will be applied to instances launched after the tag is created. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>ResourceId</code> - <code>string</code> - Optional - The name of the tag. [Constraints: The value must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>ResourceType</code> - <code>string</code> - Optional - The kind of resource to which the tag is applied. [Constraints: The value must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>Key</code> - <code>string</code> - Required - The key of the tag. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>Value</code> - <code>string</code> - Optional - The value of the tag. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>PropagateAtLaunch</code> - <code>boolean</code> - Optional - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.</li>
* </ul></li>
* </ul></li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
*/
public function create_auto_scaling_group($auto_scaling_group_name, $launch_configuration_name, $min_size, $max_size, $availability_zones, $opt = null)
{
if (!$opt) $opt = array();
$opt['AutoScalingGroupName'] = $auto_scaling_group_name;
$opt['LaunchConfigurationName'] = $launch_configuration_name;
$opt['MinSize'] = $min_size;
$opt['MaxSize'] = $max_size;
// Required list (non-map)
$opt = array_merge($opt, CFComplexType::map(array(
'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones))
), 'member'));
// Optional list (non-map)
if (isset($opt['LoadBalancerNames']))
{
$opt = array_merge($opt, CFComplexType::map(array(
'LoadBalancerNames' => (is_array($opt['LoadBalancerNames']) ? $opt['LoadBalancerNames'] : array($opt['LoadBalancerNames']))
), 'member'));
unset($opt['LoadBalancerNames']);
}
// Optional list + map
if (isset($opt['Tags']))
{
$opt = array_merge($opt, CFComplexType::map(array(
'Tags' => $opt['Tags']
), 'member'));
unset($opt['Tags']);
}
return $this->authenticate('CreateAutoScalingGroup', $opt);
}
/**
* Creates a new launch configuration. The launch configuration name must be unique within the
* scope of the client's AWS account. The maximum limit of launch configurations, which by default
* is 100, must not yet have been met; otherwise, the call will fail. When created, the new launch
* configuration is available for immediate use.
*
* You can create a launch configuration with Amazon EC2 security groups or with Amazon VPC
* security groups. However, you can't use Amazon EC2 security groups together with Amazon VPC
* security groups, or vice versa.
*
* <p class="note">
* At this time, Auto Scaling launch configurations don't support compressed (e.g. zipped) user
* data files.
* </p>
*
* @param string $launch_configuration_name (Required) The name of the launch configuration to create. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param string $image_id (Required) Unique ID of the <em>Amazon Machine Image</em> (AMI) which was assigned during registration. For more information about Amazon EC2 images, please see <a href="http://aws.amazon.com/ec2/">Amazon EC2 product documentation</a>. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param string $instance_type (Required) The instance type of the Amazon EC2 instance. For more information about Amazon EC2 instance types, please see <a href="http://aws.amazon.com/ec2/">Amazon EC2 product documentation</a> [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>KeyName</code> - <code>string</code> - Optional - The name of the Amazon EC2 key pair. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>SecurityGroups</code> - <code>string|array</code> - Optional - The names of the security groups with which to associate Amazon EC2 or Amazon VPC instances. Specify Amazon EC2 security groups using security group names, such as <code>websrv</code>. Specify Amazon VPC security groups using security group IDs, such as <code>sg-12345678</code>. For more information about Amazon EC2 security groups, go to <a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using-network-security.html">Using Security Groups</a> in the Amazon EC2 product documentation. For more information about Amazon VPC security groups, go to <a href="http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/index.html?VPC_SecurityGroups.html">Security Groups</a> in the Amazon VPC product documentation. Pass a string for a single value, or an indexed array for multiple values.</li>
* <li><code>UserData</code> - <code>string</code> - Optional - The user data available to the launched Amazon EC2 instances. For more information about Amazon EC2 user data, please see <a href="http://aws.amazon.com/ec2/">Amazon EC2 product documentation</a>. [Constraints: The value must be between 0 and 21847 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>KernelId</code> - <code>string</code> - Optional - The ID of the kernel associated with the Amazon EC2 AMI. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>RamdiskId</code> - <code>string</code> - Optional - The ID of the RAM disk associated with the Amazon EC2 AMI. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>BlockDeviceMappings</code> - <code>array</code> - Optional - A list of mappings that specify how block devices are exposed to the instance. Each mapping is made up of a <em>VirtualName</em>, a <em>DeviceName</em>, and an <em>ebs</em> data structure that contains information about the associated Elastic Block Storage volume. For more information about Amazon EC2 BlockDeviceMappings, go to <a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?block-device-mapping-concepts.html">Block Device Mapping</a> in the Amazon EC2 product documentation. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>VirtualName</code> - <code>string</code> - Optional - The virtual name associated with the device. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>DeviceName</code> - <code>string</code> - Required - The name of the device within Amazon EC2. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>Ebs</code> - <code>array</code> - Optional - The Elastic Block Storage volume information. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>SnapshotId</code> - <code>string</code> - Optional - The snapshot ID. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>VolumeSize</code> - <code>integer</code> - Optional - The volume size, in gigabytes.</li>
* </ul></li>
* </ul></li>
* </ul></li>
* </ul></li>
* <li><code>InstanceMonitoring</code> - <code>array</code> - Optional - Enables detailed monitoring, which is enabled by default. When detailed monitoring is enabled, CloudWatch will generate metrics every minute and your account will be charged a fee. When you disable detailed monitoring, by specifying <code>False</code>, Cloudwatch will generate metrics every 5 minutes. For information about monitoring, see the <a href="http://aws.amazon.com/cloudwatch/">Amazon CloudWatch</a> product page. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>Enabled</code> - <code>boolean</code> - Optional - If <code>True</code>, instance monitoring is enabled.</li>
* </ul></li>
* </ul></li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
*/
public function create_launch_configuration($launch_configuration_name, $image_id, $instance_type, $opt = null)
{
if (!$opt) $opt = array();
$opt['LaunchConfigurationName'] = $launch_configuration_name;
$opt['ImageId'] = $image_id;
$opt['InstanceType'] = $instance_type;
// Optional list (non-map)
if (isset($opt['SecurityGroups']))
{
$opt = array_merge($opt, CFComplexType::map(array(
'SecurityGroups' => (is_array($opt['SecurityGroups']) ? $opt['SecurityGroups'] : array($opt['SecurityGroups']))
), 'member'));
unset($opt['SecurityGroups']);
}
// Optional list + map
if (isset($opt['BlockDeviceMappings']))
{
$opt = array_merge($opt, CFComplexType::map(array(
'BlockDeviceMappings' => $opt['BlockDeviceMappings']
), 'member'));
unset($opt['BlockDeviceMappings']);
}
// Optional map (non-list)
if (isset($opt['InstanceMonitoring']))
{
$opt = array_merge($opt, CFComplexType::map(array(
'InstanceMonitoring' => $opt['InstanceMonitoring']
), 'member'));
unset($opt['InstanceMonitoring']);
}
return $this->authenticate('CreateLaunchConfiguration', $opt);
}
/**
* Creates new tags or updates existing tags for an Auto Scaling group.
*
* When you use the <code>PropagateAtLaunch</code> flag, the tag you create will be applied to new
* instances launched by the Auto Scaling group. However, instances already running will not get
* the new or updated tag. Likewise, when you modify a tag, the updated version will be applied to
* new instances launched by the Auto Scaling group after the change. Instances that are already
* running that had the previous version of the tag will continue to have the older tag.
*
* @param array $tags (Required) The tag to be created or updated. Each tag should be defined by its resource ID, resource type, key, value, and a propagate flag. The <code>PropagateAtLaunch</code> flag defines whether the new tag will be applied to instances launched after the tag is created. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>ResourceId</code> - <code>string</code> - Optional - The name of the tag. [Constraints: The value must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>ResourceType</code> - <code>string</code> - Optional - The kind of resource to which the tag is applied. [Constraints: The value must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>Key</code> - <code>string</code> - Required - The key of the tag. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>Value</code> - <code>string</code> - Optional - The value of the tag. [Constraints: The value must be between 0 and 256 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>PropagateAtLaunch</code> - <code>boolean</code> - Optional - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.</li>
* </ul></li>
* </ul>
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
*/
public function create_or_update_tags($tags, $opt = null)
{
if (!$opt) $opt = array();
// Required list + map
$opt = array_merge($opt, CFComplexType::map(array(
'Tags' => (is_array($tags) ? $tags : array($tags))
), 'member'));
return $this->authenticate('CreateOrUpdateTags', $opt);
}
/**
* Deletes the specified Auto Scaling group if the group has no instances and no scaling
* activities in progress.
*
* <p class="note">
* To remove all instances before calling <code>DeleteAutoScalingGroup</code>, you can call
* <code>UpdateAutoScalingGroup</code> to set the minimum and maximum size of the AutoScalingGroup
* to zero.
* </p>
*
* @param string $auto_scaling_group_name (Required) The name of the Auto Scaling group. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>ForceDelete</code> - <code>boolean</code> - Optional - Starting with API version 2011-01-01, specifies that the Auto Scaling group will be deleted along with all instances associated with the group, without waiting for all instances to be terminated.</li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
*/
public function delete_auto_scaling_group($auto_scaling_group_name, $opt = null)
{
if (!$opt) $opt = array();
$opt['AutoScalingGroupName'] = $auto_scaling_group_name;
return $this->authenticate('DeleteAutoScalingGroup', $opt);
}
/**
* Deletes the specified <code>LaunchConfiguration</code>.
*
* The specified launch configuration must not be attached to an Auto Scaling group. When this
* call completes, the launch configuration is no longer available for use.
*
* @param string $launch_configuration_name (Required) The name of the launch configuration. [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
*/
public function delete_launch_configuration($launch_configuration_name,
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment