# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: address@hidden # target_branch: file:///home/hans/Coding/gnupdf/trunk/ # testament_sha1: 9e1eb324f07d300b735aea232315f2b92ea2440a # timestamp: 2008-11-02 21:30:54 +0100 # base_revision_id: address@hidden # # Begin patch === modified file 'doc/gnupdf-tsd.texi' --- doc/gnupdf-tsd.texi 2008-10-05 15:08:05 +0000 +++ doc/gnupdf-tsd.texi 2008-11-02 20:30:16 +0000 @@ -139,9 +139,56 @@ @subsection Filesystem Module @menu +* pdf_fsys_get_free_space:: * pdf_fsys_open:: +* pdf_fsys_create_folder:: +* pdf_fsys_get_folder_contents:: +* pdf_fsys_get_parent:: +* pdf_fsys_remove_folder:: +* pdf_fsys_get_item_props:: +* pdf_fsys_item_props_to_hash:: +* pdf_fsys_item_p:: +* pdf_fsys_item_readable_p:: +* pdf_fsys_item_writeable_p:: +* pdf_fsys_get_temp_path_name:: +* pdf_fsys_file_get_filesystem:: +* pdf_fsys_file_get_mode:: +* pdf_fsys_file_get_url:: +* pdf_fsys_file_set_mode:: +* pdf_fsys_file_get_size:: +* pdf_fsys_file_same_p:: +* pdf_fsys_file_set_size:: +* pdf_fsys_file_read:: +* pdf_fsys_file_write:: +* pdf_fsys_file_flush:: +* pdf_fsys_file_request_ria:: +* pdf_fsys_file_has_ria:: +* pdf_fsys_file_cancle_ria:: +* pdf_fsys_file_close:: +* pdf_fsys_file_reopen:: +* pdf_fsys_create:: +* pdf_fsys_destroy:: @end menu address@hidden pdf_fsys_get_free_space address@hidden pdf_fsys_file_get_size + address@hidden Test pdf_fsys_get_free_space_001 +Get the free space left on the filesystem for an existing path address@hidden @strong address@hidden Success condition address@hidden should return the free space left on the filesystem. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_free_space_002 +Get the free space left on the filesystem for a non-existing path address@hidden @strong address@hidden Success condition address@hidden should return @code{0} address@hidden table address@hidden deffn + @node pdf_fsys_open @subsubsection pdf_fsys_open @@ -177,6 +224,575 @@ @end table @end deffn address@hidden Test pdf_fsys_open_005 +Open a non-existent file for reading. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADNAME}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_open_006 +Open an only readable file for writing. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_create_folder address@hidden pdf_fsys_create_folder + address@hidden Test pdf_fsys_create_folder_001 +Create a folder with correct pathname and permission address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_create_folder_002 +Create a folder with incorrect pathname address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADNAME}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_create_folder_003 +Create a folder without permission address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_get_folder_contents address@hidden pdf_fsys_get_folder_contents + address@hidden Test pdf_fsys_get_folder_contents_001 +Get content of an existing an readable folder address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_folder_contents_002 +Get content of an existing an non-readable folder address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_folder_contents_003 +Get content of a non-existing folder address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADNAME}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_get_parent address@hidden pdf_fsys_get_parent + address@hidden Test pdf_fsys_get_parent_001 +Get the name of an existing an readable folder's father address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_parent_002 +Get the name of a non-existing an folder's father address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADNAME}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_parent_003 +Get the name of an existing folder's father without permission address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_parent_001 +Get the parent name of an existing an readable folder address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_remove_folder address@hidden pdf_fsys_remove_folder + address@hidden Test pdf_fsys_remove_folder_001 +Remove an existing folder with permission address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_remove_folder_002 +Remove an existing folder without permission address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_remove_folder_003 +Remove a non-existing folder address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADNAME}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_get_item_props address@hidden pdf_fsys_get_item_props + address@hidden Test pdf_fsys_get_item_props_001 +Get properties of an existing and readable filesystem item address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_item_props_002 +Get properties of an existing and non-readable filesystem item address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_get_item_props_003 +Get properties of a non-existing filesystem item address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_BADNAME}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_item_props_to_hash address@hidden pdf_fsys_item_props_to_hash + address@hidden Test pdf_fsys_item_props_to_hash_001 +Convert a filesystem item's properties into a PDF hash address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK} and +the values in the returned hash should equal the item's properties. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_props_to_hash_002 +Convert a filesystem item's properties with missing data into a PDF hash address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_ERROR}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_item_p address@hidden pdf_fsys_item_p + address@hidden Test pdf_fsys_item_p_001 +Determine if an existing file exists address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_TRUE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_p_002 +Determine if a non-existing file exists address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_item_readable_p address@hidden pdf_fsys_item_readable_p + address@hidden Test pdf_fsys_item_readable_p_001 +Determine if an existing an readable file is readable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_TRUE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_readable_p_002 +Determine if an existing an non-readable file is readable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_readable_p_003 +Determine if a non-existing file is readable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_item_writeable_p address@hidden pdf_fsys_item_writeable_p + address@hidden Test pdf_fsys_item_writeable_p_001 +Determine if an existing an writeable file is writeable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_TRUE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_writeable_p_002 +Determine if an existing an non-writeable file is writeable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_writeable_p_003 +Determine if a non-existing file with a valid path is writeable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_TRUE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_item_writeable_p_004 +Determine if a file with an invaild path is writeable address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_get_temp_path_name address@hidden pdf_fsys_get_temp_path_name + address@hidden Test pdf_fsys_get_temp_path_name_001 +Get the path name for a new temporary file address@hidden @strong address@hidden Success condition address@hidden should return a non-empty string. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_get_filesystem address@hidden pdf_fsys_file_get_filesystem + address@hidden Test pdf_fsys_file_get_filesystem_001 +Get the filesystem of a file opened from the default filesystem address@hidden @strong address@hidden Success condition address@hidden should return @code{NULL}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_get_filesystem_002 +Get the filesystem of a file opened from a filesystem address@hidden @strong address@hidden Success condition address@hidden should return the filesystem, the file was opened from. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_get_mode address@hidden pdf_fsys_file_get_mode + address@hidden Test pdf_fsys_file_get_mode_001 +Get the file mode of a file, opened in read mode address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FSYS_OPEN_MODE_READ}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_get_mode_002 +Get the file mode of a file. opened in write mode address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FSYS_OPEN_MODE_WRITE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_get_mode_003 +Get the file mode of a file, opened in read and write mode address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FSYS_OPEN_MODE_RW}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_get_url address@hidden pdf_fsys_file_get_url + address@hidden Test pdf_fsys_file_get_url_001 +Get the url of an open file address@hidden @strong address@hidden Success condition address@hidden should return a non-empty string on a filesystem that +supports valid URLs, otherwise it should return an empty string. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_set_mode address@hidden pdf_fsys_file_set_mode + address@hidden Test pdf_fsys_file_set_mode_001 +Set a new access mode for an open file address@hidden @strong address@hidden Success condition address@hidden should return the old access mode of the file. address@hidden table address@hidden deffn + + address@hidden pdf_fsys_file_get_size address@hidden pdf_fsys_file_get_size + address@hidden Test pdf_fsys_file_get_size_001 +Get the size of an open file address@hidden @strong address@hidden Success condition address@hidden should return the size of the file. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_same_p address@hidden pdf_fsys_file_same_p + address@hidden Test pdf_fsys_file_same_p_001 +Compare an open file with its own path address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_TRUE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_same_p_002 +Compare an open file with another file's path address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_same_p_003 +Compare an open file with a non-existing path address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_set_size address@hidden pdf_fsys_file_set_size + address@hidden Test pdf_fsys_file_set_size_001 +Set size of on opended file address@hidden @strong address@hidden Success condition address@hidden should return the new file size (old size plus added size). address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_read address@hidden pdf_fsys_file_read + address@hidden Test pdf_fsys_file_read_001 +Read from an opened file address@hidden @strong address@hidden Success condition address@hidden should return a size that matches the size of the read data. The +read data should equal the data in the file. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_read_002 +Read more data from an opened file than it contains address@hidden @strong address@hidden Success condition address@hidden should return @code{0}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_read_003 +Read data from an opened file, that was opened for writing only address@hidden @strong address@hidden Success condition address@hidden should return @code{0}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_write address@hidden pdf_fsys_file_write + address@hidden Test pdf_fsys_file_write_001 +Write data to an opened file address@hidden @strong address@hidden Success condition address@hidden should return the size of the data writen to the file. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_write_002 +Write more data to an opened file than space is available address@hidden @strong address@hidden Success condition address@hidden should return @code{0}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_write_003 +Write data to an opened file that was opened readonly. address@hidden @strong address@hidden Success condition address@hidden should return @code{0}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_flush address@hidden pdf_fsys_file_flush + address@hidden Test pdf_fsys_file_flush_001 +Write data to a file, flush it and test if it's in the file. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_request_ria address@hidden pdf_fsys_file_request_ria + address@hidden Test pdf_fsys_file_request_ria_001 +Request a read-in-advance operation for on open file on a filesystem, that supports ria. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_request_ria_002 +Request a read-in-advance operation for on open file on a filesystem, +that doesn't support ria. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_ERROR}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_has_ria address@hidden pdf_fsys_file_has_ria + address@hidden Test pdf_fsys_file_has_ria_001 +Check if the filesystem is performing a ria operation on an open +file that has an ongoing ria operation. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_TRUE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_has_ria_002 +Check if the filesystem is performing a ria operation on an open +file that has no ongoing ria operation. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_has_ria_003 +Check if the filesystem is performing a ria operation on an open +file, on a filesystem, that doesn't support ria operations. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_FALSE}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_cancle_ria address@hidden pdf_fsys_file_cancle_ria + address@hidden Test pdf_fsys_file_cancle_ria_001 +Cancle all read-in-advance operations for an open file. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_close address@hidden pdf_fsys_file_close + address@hidden Test pdf_fsys_file_close_001 +Close a file. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_file_reopen address@hidden pdf_fsys_file_reopen + address@hidden Test pdf_fsys_file_reopen_001 +Reopen a file with right permissions in any mode. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden Test pdf_fsys_file_reopen_002 +Reopen a readonly file in write mode. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_EBADPERMS}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_create address@hidden pdf_fsys_create + address@hidden Test pdf_fsys_create_001 +Create filesystem. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + address@hidden pdf_fsys_destroy address@hidden pdf_fsys_destroy + address@hidden Test pdf_fsys_destroy_001 +Destroy filesystem. address@hidden @strong address@hidden Success condition address@hidden should return @code{PDF_OK}. address@hidden table address@hidden deffn + @node Stream Module @subsection Stream Module # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWYUkylkADmRfgDCQUff//3/v 3qC////6YBc7u+DWo+tzN4Tn2B99tMSkAKFI9xldjldpdNUdTOtOS1QNKSVZtUFjNEJs2qNJhBU9 TT0hoDTQaNMjQ0MQaaAAADIAlAQECEGpGyhpMT1MAAaCMRhMANNPVRR6gaA0A0AAA0000A0GgAAk 0oSJoDVPSY1DT1MgB6mgAAAAABSlJoIam0GpoCZoqfo1T9FNphEaaeiGajMpggiSIBAI0j0TRKfm pmpqajag9qjI0AMg09IJR4qFlrHdfq9KV93bxSmk1elXWkNezUuWvdwftd7UUOCVD7jNC6MYlSHj 6PU6vZD1uD1pgG83r/4ppK6c3RnbdGc2wfnuaQKfedzL+jLKG924SVNiSEg+yPWXqvZOk8JaWknr 7a0OiugkV70g7xAKT2fhQOkTvlTJl/bQj2i6iAep/KKr+8QDPBJjR1g+ES0Q8tDrK3cqt7p7PPcZ +WAeNw7Wo8TxtfKGktuO5KQjltawZNNTJsbNZQq8uZFlxMMTr4G7pzO3a30vdwPDOpVEktO3GBMT OMYtsbaqq1Dz+zGM21Rhb2QtHWXg7QMoLeJuiB8nIvDLCxZwTG5ELUYekrppnMxR61Vxq0IDlWA0 PJwnXzuha3sKf8hyLwoJCSQkkUDP+Cpw5ceM35GZpBmQW3FGkHUVaq9JdDjDJJyra0FVLMxWrFVo Tzoy3rKOKijoxZkrWZo0za2kVVaFlLqsNWa3gwpKgqpWzUoyXrS8EMzNLwtXaqmBtQK5IPPPY9SD WQ9PP4P5zXTRwzd5W01tPK6SJHhEk+six++NbTdEGFvaypSgSTRFbGVUXJPlMZu2NtdokEAuFscJ jVJJBALjjQyTBtLhVPHsbbYcMDR0nMnRvmtbao9GbNUM4qw5LYbJREGcniziORXbFegebJeR/XxQ wg6QXFMnoGhAeqPdQowxPERjCE5RQoqkNxCDQqYa44WURV0/8VWYotVKIYQy63gO2cNTAcM2iifO IcZymTzOOb33yiJpkSVNuuSsSE3QYNFaFVRVKrKnCVE8gSMgAEAIAgQgAQpQmKCJE0IkYICBAQIB CAQBBIwQANhBIyJmUSMgkYkSMJGIkYiRkEjEm0SMgm1nFmEOcvemGJaGxxu875x3Y2BAy3JyhISE gQu7zY13Xngot4uZRHTCY7Xdzi4CAd+heYho6+NiPV053E1wOvRYzJRHayiYtTmvIQ5wzwhrF0qH Ec2s5jaZB2yeAqML1piF+evkECEGRBgQIQkGEimlLI8mJHbUMnbZPFOiiZD7+R+arnhlln3p6JkI OCfRPY+PG7Oxgd9vVVMKDyoqeKvenYT5BcEgQR9U8hOu98xKGgfa+z3OQnomD7kmQlxNH0NvrSPO MjaD0gNuNEqhJG5TfQo+B9+RVvdru3Se5Qdf/QOavipv37VVVVVVVVad3v5fD7IPn8eeedG4UtBw 59LB2gJeXg18cEth5Bl/4iNorpNTBIb4NNbpWqak3cnFNwYnFNE0JUQVBGEKCUFHboQPmsD94uGJ HMjAyGYmefQ+A8sRM4KODvE4HtsCd4mQmvI3trHCctXz/p7jxw7XxWif4nb/tPPV08tB2bQCJvbJ XCFAd8G5IeGOHPUShNHXN6BYYCaCdOn9/LLFDc4mRG7qalPD5cq+/Wpt49R1sbc5EMuiLJDqw4+2 zqpjogzqNXgTSJHEPIOhAoVXksC056Fzf3lYsIQV5nQ488JXkIeVJunBPMwcHkEM9ghqKlzc6EGC 5A5Q90Q7eQqhDhwludbCXDsiBvEMDAy3cjvxE7OwhCCsKEhmJMzOyYCYCbEMHscyymAtR9TEIhEI hEy5GmWUfuGB1SEwmhCadtADM3m87GhvE8nmn1EtjvoHTenGpcaOBra+SUJkJvy5yw6fxi6CZGmg meRQl00OeY6wIWMoKIdxkz0yXKjGcjJsIepqeGpd9Ddw7eCYdD+NkRJO81OXMXvPaEFTnnXD7qbb xRY6RTbL84ouKiDqgSIKW3LFTcyOlJIEPTH11ahoMOc4cy0mYgerwpdFXwKGS6MYLjroeUwaiGoM VLmpwOUPbEIRCngcZ4ZdaXmKm6ktq9+8TwUGhZWy4sK5mfVreaVBMjZtdDQ6IJYm2O2+vYp0M11o QdhuYNzdKVRBTVe4UxmozmRv5EGK0PLI/gIx3lzCDGiIeSq36nYhvPaYble1GmwUkSRBbxD05VFV OCoz2oyaCtodesEAiyMFHDKuop4CFur6HI0EKirrU2O4mbNLhp0MUdDoWPeJco/DvepqdjA1PYnC pwqpwJXG2MHYuKQizK6iwIWUTxOOoVIonQ06DpkUwW6t1ISZl4IJdTBucjiaEhwiJYyFjcNxihBk gT+sFOEWGY00rhnMsZmJsiAcCgJZFEtabmxYaByqVSC8gilGeBDBPeZcVOtzNxSHE9RxtNuBzLHx EpMMzkcBKOJoaELkGzNQ2H5RskxZ30xyrgEHOQhQQ7xQfU7hSu0oqi9E12fUSxtYtkU6Fy5k0Mki lCwMZcoHE4iYieOAngK3ajj9fH623kPWfaWhhPlO30PnljVHx6byAw5p17vAIJFb9RPaAY5id364 wTikFfskU8DgnRKmQlUEOiUlGWbFixRZKYhZPIH1gpPDDvQxDUKQzvmk2TWeIrjSDp8LzZbEG+iy DagykvbL+D9kfkurbmVmMlk1n2YNFfmv/iX8ZbEx/RuLZrLR/6v3v6f1f22bKKklSqJIXMEPNg0I OYD4J0TY3i670Lf/UOg2XQf28h4DgCYG42MRB2HNcT+7j010Mdi2ulODndcYv8LV5EHXX93BWFA2 HwruuZBgd4/H9R7a8vO33XfMsH4z0Ifd8s/jtJlcOryyYJMLi9L3mzLCliK1l5qdwiJ0EUS616TR Y3FvTpq6Zghk2VMTFi+0A0mwMxMowsLBlX7h0q2zZNGmqysGWC2BpFyGyctUUWCwUWTITnAwQMQV ZBIM2JohQBdFo1tbVVLabJgUVVlbHayyyposGwZMmg3Fl+qPNUaBJKRJVBfiwXuPaM8Ah0TvCaO4 TgeUK/Ejsh+R9t4gHls6BYQCmiLCEITMzGYxjrcnOnKi1ibPU0PvsuaecH7jb9h+djnrXiKZqxyS 4hugjJg6J/H+0brnP0TJQa/uHiJy8x6Cptkf4sFLwCCdaZz0xG4Pmsb406van+vlWtex0P2vc5r3 PQQKbFCh6CpQqeIgxQoSaoYLljKWMkiOcpP2T/K8ah1T2fUH5Yn55H55V1/KZ5XJj8bHOu9jxY7n g1cH2LzvM7ng3P4T6nggC5yOBSerqeJZx1BAowT4D5+N97ZKULxt1di/slX8aL30jYmun0LZV0Un 13827Zz/nTfLJYQCjIS0Eja16L2BAlJDzbb6avB0uba9JwTx2fD9HqeL0Ol104u51Oqr1ts7Oc70 tLkxTwp6PI4u93d3e7He6felYyOW3jQemQ81G7G3A/KfwcTONig2JQbEoNiWOSbw64csAA4w8gpB +NiceKDwnVOhq9tFw6JsXzdr7S9z25qXOUznqIAauByXsuxtSMk9zVIAbt09/Cc03u7RWmpGEYME QtDO+mZ1QK1iaXs5BcYWDFMg1KhIWwXFougF6LwPg0FoliL2haASBgQbHiTjy9dvXM8TxPMUetF/ za9G4JOvi5zMBuUPWINBzU2NC/Yb+R3dYvglxPwE4cIhmmUyzdM7Wl6L1U8ER7FVVVVEbAk4ACbo iiIiJCEZCRJER1GKdDEQ7J9oSEiL4xB5mR9TqWMHA5IJ0OME5RasJoYPU7jw2LwMWxvEO2/G6002 7Z2kj3LutU2R8nj7ybMn0EGUc5utcyxPTVoaEjFYwLhHMiZFFAcEMiEgSJ5QySIGSHVQfKmyg+GC Fh2II54D+r1DZjrxNT3PSQ9ib3TP3yGg2Tc/7y8wk+b/ZFgHEgHEQRBYCyREVQczFbo5ql33GrzP MmZkyxlpVxnFEk6cGME4Yx33V1m8Q8xBiKjFFgvaTLSz47pmr2ve8TR7G5qwA9N8HZcPQnyfD4M6 HF1J8fj1vPPi708lQdafymC+tlMymT/SI0mFWF+GJoMw41B0aLZLBZJ7LLRYts0AOF4J5JzTghcB hrfoS27xTyT7fjXdP0zJ0P6z0p7x4zGDMme6f5p9abLYstRppSBRzUHqcUYxLIfWApz/a+iWTT6N Gqhl8vvT7k1vZE0q2+u/mnYh5Z3u1LcHdL1pu6jr9b2xK3pvLWzqD6o5RwUzgmkDuKNrbaH6T4pq lJgIBoJAFkjMzr2U/4+5J5K50tbvM66GXigy4BbDhLHJBrwnBPrTjVeXLX5LJPzfj7yQ9ROb7wV7 vnT5CdwB5icmfrE8xOod3uPxHgJ1Vwzm+k9/4FooBQKfMQCyzGRHZo0mTFlLUyJaKYlsWA9N1aFc k0N023wy0+M5Tb9/wT3HLl+sgCHIILKCJSxVI1YSkFinHNNbKX0z552pstxbsXunq6Z6Y2hgIOyO SQC75iUHAkVWSWEAkSOvACTMIBjIYKI2ZYbAGIDRgxARBZPTsCGQxDVMFWVNWZ8JZqSGfYNE0MU6 r7XGaYmHCrfm5BliBGgCqxEAshEsppF+ag5NJhgIDCMeM85obd0GBw3ZNbKLejQtilZFQ2VKALF4 Nw4ch6zXiJ+Se4vpto+ieFThBlPmSrK78OltdqX4TuafVypOE6KLMnjc6hurEyyJlxDSo1QcpuQb bqzNttVvc1u73mzhYyMtGlGNGkbCnUnaHs7n1jVXU1m2rxrs6PP6hHTLZ1pxXWjWZVg7CYU2aiRP gnwT4K3C4EAhk/8eSWU/eCCwWCgLBYRIkEQjGRiREiJGMFgoDGRiCMjEBBgxCIMjEBBiMjElIchD nA/RVU1jEs2d02zYuM4pk6kb0b7QvvXNfK+F6It8zHfmixkrA+MzSNiigxozdx+UGggfOSSNCRjq eYRHqeuNV04nTSYG8h2zpmk7ZgbFuuIyi3RqMjTK09dyP5WTMK5r2+5OinRGWLUhv61iDp8xTRc7 e3oZCUAUxTlStDhjJJ76ImOO3mIB+jgTMsYUxyvixjVXqWD+FZTiJhrZKEiXUGrSSf6CKuglqGwH FNhOKvjirxDfDkglxPuxBvz3QkIyQhJcS4nooPVQ1bew4rqSZvjdTFcatr5k2amTYqN1dGkU39hW sXUG++lBuWrlYVEYsVVWKsgkkzPO24gABuCPTgSTueZ5GHA3lNBcw9KLSwaPmXRA730zdTWjxNbB ZAoq4mAn7BNvVN6ZCWDVNFNJgXUP1zQsmUbad6Dmg3bEz7z0RUGKRd8LYkEgZGIkAFWWJgXoHDTZ vlznTG2fKrE8k3uhYJERRAwHgYBGnoKmZesA0Q5YmuWUG2eWJh4+rrb5yHANlWWYIyxw6GxWfPPQ mxGs7CG2emybE1L7P1Oiofgg8eeqe9PYnlkNp1zn0D+t3q7k7m8OwIHoJwU2bp9tdM3c4o2R5Uno svFN6b7wyW/77qNkww9GaFmWNU8yap906vQnFJ+1Mq3u3jmmk5d8XjLJeySk0E+idQVA2w+/pvUD gj7RN48E+Am3ASwivr/KvbJDjzx0qzarSb/d91EHcTGLdazuN2dr49b4ebrgycv5fa2Pc/YM6si+ qo4AbRvlM4zNzNZzf/F3JFOFCQhSTKWQ