�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!libxml/xmlexports.h000064400000004556152525225610010450 0ustar00/** * @file * * @brief macros for marking symbols as exportable/importable. * * macros for marking symbols as exportable/importable. * * @copyright See Copyright for the status of this software. */ #ifndef __XML_EXPORTS_H__ #define __XML_EXPORTS_H__ /* * Symbol visibility */ #if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(LIBXML_STATIC) #if defined(IN_LIBXML) #define XMLPUBFUN __declspec(dllexport) #define XMLPUBVAR __declspec(dllexport) extern #else #define XMLPUBFUN __declspec(dllimport) #define XMLPUBVAR __declspec(dllimport) extern #endif #else /* not Windows */ #define XMLPUBFUN #define XMLPUBVAR extern #endif /* platform switch */ /* Compatibility */ #define XMLCALL #define XMLCDECL #ifndef LIBXML_DLL_IMPORT #define LIBXML_DLL_IMPORT XMLPUBVAR #endif /* * Attributes */ #if !defined(__clang__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403) #define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) #else #define LIBXML_ATTR_ALLOC_SIZE(x) #endif #if __GNUC__ * 100 + __GNUC_MINOR__ >= 303 #define LIBXML_ATTR_FORMAT(fmt,args) \ __attribute__((__format__(__printf__,fmt,args))) #else #define LIBXML_ATTR_FORMAT(fmt,args) #endif #ifndef XML_DEPRECATED #if defined(IN_LIBXML) #define XML_DEPRECATED #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 405 /* GCC 4.5+ supports deprecated with message */ #define XML_DEPRECATED __attribute__((deprecated("See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html"))) #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 /* GCC 3.1+ supports deprecated without message */ #define XML_DEPRECATED __attribute__((deprecated)) #elif defined(_MSC_VER) && _MSC_VER >= 1400 /* Available since Visual Studio 2005 */ #define XML_DEPRECATED __declspec(deprecated("See https://gnome.pages.gitlab.gnome.org/libxml2/html/deprecated.html")) #else #define XML_DEPRECATED #endif #endif #ifndef XML_DEPRECATED_MEMBER #if defined(IN_LIBXML) #define XML_DEPRECATED_MEMBER #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) #else #define XML_DEPRECATED_MEMBER #endif #endif /* * Originally declared in xmlversion.h which is generated */ #ifdef __cplusplus extern "C" { #endif XMLPUBFUN void xmlCheckVersion(int version); #ifdef __cplusplus } #endif #endif /* __XML_EXPORTS_H__ */ libxml/globals.h000064400000001117152525225610007634 0ustar00/** * @file * * @brief interface for all global variables of the library * * Deprecated, don't use * * @copyright See Copyright for the status of this software. */ #ifndef __XML_GLOBALS_H #define __XML_GLOBALS_H #include /* * This file was required to access global variables until version v2.12.0. * * These includes are for backward compatibility. */ #include #include #include #include #include #include #endif /* __XML_GLOBALS_H */ libxml/entities.h000064400000010433152525225610010036 0ustar00/** * @file * * @brief XML entities * * This module provides an API to work with XML entities. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_ENTITIES_H__ #define __XML_ENTITIES_H__ #include #define XML_TREE_INTERNALS #include #undef XML_TREE_INTERNALS #ifdef __cplusplus extern "C" { #endif /** * The different entity types. */ typedef enum { /** internal general entity */ XML_INTERNAL_GENERAL_ENTITY = 1, /** external general parsed entity */ XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, /** external general unparsed entity */ XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, /** internal parameter entity */ XML_INTERNAL_PARAMETER_ENTITY = 4, /** external parameter entity */ XML_EXTERNAL_PARAMETER_ENTITY = 5, /** internal predefined entity */ XML_INTERNAL_PREDEFINED_ENTITY = 6 } xmlEntityType; /** * An entity declaration */ struct _xmlEntity { /** application data */ void *_private; /** XML_ENTITY_DECL, must be second ! */ xmlElementType type; /** Entity name */ const xmlChar *name; /** First child link */ struct _xmlNode *children; /** Last child link */ struct _xmlNode *last; /** -> DTD */ struct _xmlDtd *parent; /** next sibling link */ struct _xmlNode *next; /** previous sibling link */ struct _xmlNode *prev; /** the containing document */ struct _xmlDoc *doc; /** content without ref substitution */ xmlChar *orig; /** content or ndata if unparsed */ xmlChar *content; /** the content length */ int length; /** The entity type */ xmlEntityType etype; /** External identifier for PUBLIC */ const xmlChar *ExternalID; /** URI for a SYSTEM or PUBLIC Entity */ const xmlChar *SystemID; /** unused */ struct _xmlEntity *nexte; /** the full URI as computed */ const xmlChar *URI; /** unused */ int owner; /** various flags */ int flags; /** expanded size */ unsigned long expandedSize; }; typedef struct _xmlHashTable xmlEntitiesTable; typedef xmlEntitiesTable *xmlEntitiesTablePtr; XMLPUBFUN xmlEntity * xmlNewEntity (xmlDoc *doc, const xmlChar *name, int type, const xmlChar *publicId, const xmlChar *systemId, const xmlChar *content); XMLPUBFUN void xmlFreeEntity (xmlEntity *entity); XMLPUBFUN int xmlAddEntity (xmlDoc *doc, int extSubset, const xmlChar *name, int type, const xmlChar *publicId, const xmlChar *systemId, const xmlChar *content, xmlEntity **out); XMLPUBFUN xmlEntity * xmlAddDocEntity (xmlDoc *doc, const xmlChar *name, int type, const xmlChar *publicId, const xmlChar *systemId, const xmlChar *content); XMLPUBFUN xmlEntity * xmlAddDtdEntity (xmlDoc *doc, const xmlChar *name, int type, const xmlChar *publicId, const xmlChar *systemId, const xmlChar *content); XMLPUBFUN xmlEntity * xmlGetPredefinedEntity (const xmlChar *name); XMLPUBFUN xmlEntity * xmlGetDocEntity (const xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlEntity * xmlGetDtdEntity (xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlEntity * xmlGetParameterEntity (xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlChar * xmlEncodeEntitiesReentrant(xmlDoc *doc, const xmlChar *input); XMLPUBFUN xmlChar * xmlEncodeSpecialChars (const xmlDoc *doc, const xmlChar *input); XML_DEPRECATED XMLPUBFUN xmlEntitiesTable * xmlCreateEntitiesTable (void); XML_DEPRECATED XMLPUBFUN xmlEntitiesTable * xmlCopyEntitiesTable (xmlEntitiesTable *table); XML_DEPRECATED XMLPUBFUN void xmlFreeEntitiesTable (xmlEntitiesTable *table); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlDumpEntitiesTable (xmlBuffer *buf, xmlEntitiesTable *table); XML_DEPRECATED XMLPUBFUN void xmlDumpEntityDecl (xmlBuffer *buf, xmlEntity *ent); #endif /* LIBXML_OUTPUT_ENABLED */ #ifdef __cplusplus } #endif # endif /* __XML_ENTITIES_H__ */ libxml/DOCBparser.h000064400000006125152525225610010141 0ustar00/* * Summary: old DocBook SGML parser * Description: interface for a DocBook SGML non-verifying parser * This code is DEPRECATED, and should not be used anymore. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __DOCB_PARSER_H__ #define __DOCB_PARSER_H__ #include #ifdef LIBXML_DOCB_ENABLED #include #include #ifndef IN_LIBXML #ifdef __GNUC__ #warning "The DOCBparser module has been deprecated in libxml2-2.6.0" #endif #endif #ifdef __cplusplus extern "C" { #endif /* * Most of the back-end structures from XML and SGML are shared. */ typedef xmlParserCtxt docbParserCtxt; typedef xmlParserCtxtPtr docbParserCtxtPtr; typedef xmlSAXHandler docbSAXHandler; typedef xmlSAXHandlerPtr docbSAXHandlerPtr; typedef xmlParserInput docbParserInput; typedef xmlParserInputPtr docbParserInputPtr; typedef xmlDocPtr docbDocPtr; /* * There is only few public functions. */ XMLPUBFUN int XMLCALL docbEncodeEntities(unsigned char *out, int *outlen, const unsigned char *in, int *inlen, int quoteChar); XMLPUBFUN docbDocPtr XMLCALL docbSAXParseDoc (xmlChar *cur, const char *encoding, docbSAXHandlerPtr sax, void *userData); XMLPUBFUN docbDocPtr XMLCALL docbParseDoc (xmlChar *cur, const char *encoding); XMLPUBFUN docbDocPtr XMLCALL docbSAXParseFile (const char *filename, const char *encoding, docbSAXHandlerPtr sax, void *userData); XMLPUBFUN docbDocPtr XMLCALL docbParseFile (const char *filename, const char *encoding); /** * Interfaces for the Push mode. */ XMLPUBFUN void XMLCALL docbFreeParserCtxt (docbParserCtxtPtr ctxt); XMLPUBFUN docbParserCtxtPtr XMLCALL docbCreatePushParserCtxt(docbSAXHandlerPtr sax, void *user_data, const char *chunk, int size, const char *filename, xmlCharEncoding enc); XMLPUBFUN int XMLCALL docbParseChunk (docbParserCtxtPtr ctxt, const char *chunk, int size, int terminate); XMLPUBFUN docbParserCtxtPtr XMLCALL docbCreateFileParserCtxt(const char *filename, const char *encoding); XMLPUBFUN int XMLCALL docbParseDocument (docbParserCtxtPtr ctxt); #ifdef __cplusplus } #endif #endif /* LIBXML_DOCB_ENABLED */ #endif /* __DOCB_PARSER_H__ */ libxml/xinclude.h000064400000005473152525225610010035 0ustar00/** * @file * * @brief Implementation of XInclude 1.0 * * API to process XML Inclusions. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XINCLUDE_H__ #define __XML_XINCLUDE_H__ #include #include #include #include #ifdef LIBXML_XINCLUDE_ENABLED #ifdef __cplusplus extern "C" { #endif /** * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude */ #define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude" /** * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude */ #define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude" /** * Macro defining "include" */ #define XINCLUDE_NODE (const xmlChar *) "include" /** * Macro defining "fallback" */ #define XINCLUDE_FALLBACK (const xmlChar *) "fallback" /** * Macro defining "href" */ #define XINCLUDE_HREF (const xmlChar *) "href" /** * Macro defining "parse" */ #define XINCLUDE_PARSE (const xmlChar *) "parse" /** * Macro defining "xml" */ #define XINCLUDE_PARSE_XML (const xmlChar *) "xml" /** * Macro defining "text" */ #define XINCLUDE_PARSE_TEXT (const xmlChar *) "text" /** * Macro defining "encoding" */ #define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding" /** * Macro defining "xpointer" */ #define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer" /** XInclude context */ typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; /* * standalone processing */ XMLPUBFUN int xmlXIncludeProcess (xmlDoc *doc); XMLPUBFUN int xmlXIncludeProcessFlags (xmlDoc *doc, int flags); XMLPUBFUN int xmlXIncludeProcessFlagsData(xmlDoc *doc, int flags, void *data); XMLPUBFUN int xmlXIncludeProcessTreeFlagsData(xmlNode *tree, int flags, void *data); XMLPUBFUN int xmlXIncludeProcessTree (xmlNode *tree); XMLPUBFUN int xmlXIncludeProcessTreeFlags(xmlNode *tree, int flags); /* * contextual processing */ XMLPUBFUN xmlXIncludeCtxt * xmlXIncludeNewContext (xmlDoc *doc); XMLPUBFUN int xmlXIncludeSetFlags (xmlXIncludeCtxt *ctxt, int flags); XMLPUBFUN void xmlXIncludeSetErrorHandler(xmlXIncludeCtxt *ctxt, xmlStructuredErrorFunc handler, void *data); XMLPUBFUN void xmlXIncludeSetResourceLoader(xmlXIncludeCtxt *ctxt, xmlResourceLoader loader, void *data); XMLPUBFUN int xmlXIncludeGetLastError (xmlXIncludeCtxt *ctxt); XMLPUBFUN void xmlXIncludeFreeContext (xmlXIncludeCtxt *ctxt); XMLPUBFUN int xmlXIncludeProcessNode (xmlXIncludeCtxt *ctxt, xmlNode *tree); #ifdef __cplusplus } #endif #endif /* LIBXML_XINCLUDE_ENABLED */ #endif /* __XML_XINCLUDE_H__ */ libxml/schematron.h000064400000010243152525225610010354 0ustar00/** * @file * * @brief XML Schematron implementation * * interface to the XML Schematron validity checking. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_SCHEMATRON_H__ #define __XML_SCHEMATRON_H__ #include #ifdef LIBXML_SCHEMATRON_ENABLED #include #include #ifdef __cplusplus extern "C" { #endif /** * Schematron validation options */ typedef enum { /** quiet no report */ XML_SCHEMATRON_OUT_QUIET = 1 << 0, /** build a textual report */ XML_SCHEMATRON_OUT_TEXT = 1 << 1, /** output SVRL */ XML_SCHEMATRON_OUT_XML = 1 << 2, /** output via xmlStructuredErrorFunc */ XML_SCHEMATRON_OUT_ERROR = 1 << 3, /** output to a file descriptor */ XML_SCHEMATRON_OUT_FILE = 1 << 8, /** output to a buffer */ XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /** output to I/O mechanism */ XML_SCHEMATRON_OUT_IO = 1 << 10 } xmlSchematronValidOptions; /** Schematron schema */ typedef struct _xmlSchematron xmlSchematron; typedef xmlSchematron *xmlSchematronPtr; /** * Signature of an error callback from a Schematron validation * * @param ctx the validation context * @param msg the message * @param ... extra arguments */ typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...); /** * Signature of a warning callback from a Schematron validation * * @param ctx the validation context * @param msg the message * @param ... extra arguments */ typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...); /** Schematron parser context */ typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt; typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr; /** Schematron validation context */ typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt; typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr; /* * Interfaces for parsing. */ XMLPUBFUN xmlSchematronParserCtxt * xmlSchematronNewParserCtxt (const char *URL); XMLPUBFUN xmlSchematronParserCtxt * xmlSchematronNewMemParserCtxt(const char *buffer, int size); XMLPUBFUN xmlSchematronParserCtxt * xmlSchematronNewDocParserCtxt(xmlDoc *doc); XMLPUBFUN void xmlSchematronFreeParserCtxt (xmlSchematronParserCtxt *ctxt); /***** XMLPUBFUN void xmlSchematronSetParserErrors(xmlSchematronParserCtxt *ctxt, xmlSchematronValidityErrorFunc err, xmlSchematronValidityWarningFunc warn, void *ctx); XMLPUBFUN int xmlSchematronGetParserErrors(xmlSchematronParserCtxt *ctxt, xmlSchematronValidityErrorFunc * err, xmlSchematronValidityWarningFunc * warn, void **ctx); XMLPUBFUN int xmlSchematronIsValid (xmlSchematronValidCtxt *ctxt); *****/ XMLPUBFUN xmlSchematron * xmlSchematronParse (xmlSchematronParserCtxt *ctxt); XMLPUBFUN void xmlSchematronFree (xmlSchematron *schema); /* * Interfaces for validating */ XMLPUBFUN void xmlSchematronSetValidStructuredErrors( xmlSchematronValidCtxt *ctxt, xmlStructuredErrorFunc serror, void *ctx); /****** XMLPUBFUN void xmlSchematronSetValidErrors (xmlSchematronValidCtxt *ctxt, xmlSchematronValidityErrorFunc err, xmlSchematronValidityWarningFunc warn, void *ctx); XMLPUBFUN int xmlSchematronGetValidErrors (xmlSchematronValidCtxt *ctxt, xmlSchematronValidityErrorFunc *err, xmlSchematronValidityWarningFunc *warn, void **ctx); XMLPUBFUN int xmlSchematronSetValidOptions(xmlSchematronValidCtxt *ctxt, int options); XMLPUBFUN int xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxt *ctxt); XMLPUBFUN int xmlSchematronValidateOneElement (xmlSchematronValidCtxt *ctxt, xmlNode *elem); *******/ XMLPUBFUN xmlSchematronValidCtxt * xmlSchematronNewValidCtxt (xmlSchematron *schema, int options); XMLPUBFUN void xmlSchematronFreeValidCtxt (xmlSchematronValidCtxt *ctxt); XMLPUBFUN int xmlSchematronValidateDoc (xmlSchematronValidCtxt *ctxt, xmlDoc *instance); #ifdef __cplusplus } #endif #endif /* LIBXML_SCHEMATRON_ENABLED */ #endif /* __XML_SCHEMATRON_H__ */ libxml/dict.h000064400000003364152525225610007142 0ustar00/** * @file * * @brief string dictionary * * dictionary of reusable strings, just used to avoid allocation * and freeing operations. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_DICT_H__ #define __XML_DICT_H__ #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Dictionary (pool for interned strings) */ typedef struct _xmlDict xmlDict; typedef xmlDict *xmlDictPtr; /* * Initializer */ XML_DEPRECATED XMLPUBFUN int xmlInitializeDict(void); /* * Constructor and destructor. */ XMLPUBFUN xmlDict * xmlDictCreate (void); XMLPUBFUN size_t xmlDictSetLimit (xmlDict *dict, size_t limit); XMLPUBFUN size_t xmlDictGetUsage (xmlDict *dict); XMLPUBFUN xmlDict * xmlDictCreateSub(xmlDict *sub); XMLPUBFUN int xmlDictReference(xmlDict *dict); XMLPUBFUN void xmlDictFree (xmlDict *dict); /* * Lookup of entry in the dictionary. */ XMLPUBFUN const xmlChar * xmlDictLookup (xmlDict *dict, const xmlChar *name, int len); XMLPUBFUN const xmlChar * xmlDictExists (xmlDict *dict, const xmlChar *name, int len); XMLPUBFUN const xmlChar * xmlDictQLookup (xmlDict *dict, const xmlChar *prefix, const xmlChar *name); XMLPUBFUN int xmlDictOwns (xmlDict *dict, const xmlChar *str); XMLPUBFUN int xmlDictSize (xmlDict *dict); /* * Cleanup function */ XML_DEPRECATED XMLPUBFUN void xmlDictCleanup (void); #ifdef __cplusplus } #endif #endif /* ! __XML_DICT_H__ */ libxml/xmlautomata.h000064400000007461152525225610010555 0ustar00/** * @file * * @brief API to build regexp automata * * These are internal functions and shouldn't be used. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_AUTOMATA_H__ #define __XML_AUTOMATA_H__ #include #ifdef LIBXML_REGEXP_ENABLED #include #ifdef __cplusplus extern "C" { #endif /** * A libxml automata description * * It can be compiled into a regexp */ typedef struct _xmlAutomata xmlAutomata; typedef xmlAutomata *xmlAutomataPtr; /** * A state in the automata description */ typedef struct _xmlAutomataState xmlAutomataState; typedef xmlAutomataState *xmlAutomataStatePtr; /* * Building API */ XML_DEPRECATED XMLPUBFUN xmlAutomata * xmlNewAutomata (void); XML_DEPRECATED XMLPUBFUN void xmlFreeAutomata (xmlAutomata *am); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataGetInitState (xmlAutomata *am); XML_DEPRECATED XMLPUBFUN int xmlAutomataSetFinalState (xmlAutomata *am, xmlAutomataState *state); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewState (xmlAutomata *am); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewTransition (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewTransition2 (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, const xmlChar *token2, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewNegTrans (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, const xmlChar *token2, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewCountTrans (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, int min, int max, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewCountTrans2 (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, const xmlChar *token2, int min, int max, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewOnceTrans (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, int min, int max, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewOnceTrans2 (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, const xmlChar *token, const xmlChar *token2, int min, int max, void *data); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewAllTrans (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, int lax); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewEpsilon (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewCountedTrans (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, int counter); XML_DEPRECATED XMLPUBFUN xmlAutomataState * xmlAutomataNewCounterTrans (xmlAutomata *am, xmlAutomataState *from, xmlAutomataState *to, int counter); XML_DEPRECATED XMLPUBFUN int xmlAutomataNewCounter (xmlAutomata *am, int min, int max); XML_DEPRECATED XMLPUBFUN struct _xmlRegexp * xmlAutomataCompile (xmlAutomata *am); XML_DEPRECATED XMLPUBFUN int xmlAutomataIsDeterminist (xmlAutomata *am); #ifdef __cplusplus } #endif #endif /* LIBXML_REGEXP_ENABLED */ #endif /* __XML_AUTOMATA_H__ */ libxml/parserInternals.h000064400000033031152525225610011365 0ustar00/** * @file * * @brief Internals routines and limits exported by the parser. * * Except for some I/O-related functions, most of these macros and * functions are deprecated. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_PARSER_INTERNALS_H__ #define __XML_PARSER_INTERNALS_H__ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Push an input on the stack. * * @deprecated Use #xmlCtxtPushInput */ #define inputPush xmlCtxtPushInput /** * Pop an input from the stack. * * @deprecated Use #xmlCtxtPushInput */ #define inputPop xmlCtxtPopInput /** * Maximum element nesting depth (without XML_PARSE_HUGE). */ #define xmlParserMaxDepth 256 /** * Maximum size allowed for a single text node when building a tree. * This is not a limitation of the parser but a safety boundary feature, * use XML_PARSE_HUGE option to override it. * Introduced in 2.9.0 */ #define XML_MAX_TEXT_LENGTH 10000000 /** * Maximum size allowed when XML_PARSE_HUGE is set. */ #define XML_MAX_HUGE_LENGTH 1000000000 /** * Maximum size allowed for a markup identifier. * This is not a limitation of the parser but a safety boundary feature, * use XML_PARSE_HUGE option to override it. * Note that with the use of parsing dictionaries overriding the limit * may result in more runtime memory usage in face of "unfriendly' content * Introduced in 2.9.0 */ #define XML_MAX_NAME_LENGTH 50000 /** * Maximum size allowed by the parser for a dictionary by default * This is not a limitation of the parser but a safety boundary feature, * use XML_PARSE_HUGE option to override it. * Introduced in 2.9.0 */ #define XML_MAX_DICTIONARY_LIMIT 100000000 /** * Maximum size allowed by the parser for ahead lookup * This is an upper boundary enforced by the parser to avoid bad * behaviour on "unfriendly' content * Introduced in 2.9.0 */ #define XML_MAX_LOOKUP_LIMIT 10000000 /** * Identifiers can be longer, but this will be more costly * at runtime. */ #define XML_MAX_NAMELEN 100 /************************************************************************ * * * UNICODE version of the macros. * * * ************************************************************************/ /** * Macro to check the following production in the XML spec: * * [2] Char ::= #x9 | #xA | #xD | [#x20...] * * any byte character in the accepted range * * @param c an byte value (int) */ #define IS_BYTE_CHAR(c) xmlIsChar_ch(c) /** * Macro to check the following production in the XML spec: * * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] * | [#x10000-#x10FFFF] * * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. * * @param c an UNICODE value (int) */ #define IS_CHAR(c) xmlIsCharQ(c) /** * Behaves like IS_CHAR on single-byte value * * @param c an xmlChar (usually an unsigned char) */ #define IS_CHAR_CH(c) xmlIsChar_ch(c) /** * Macro to check the following production in the XML spec: * * [3] S ::= (#x20 | #x9 | #xD | #xA)+ * @param c an UNICODE value (int) */ #define IS_BLANK(c) xmlIsBlankQ(c) /** * Behaviour same as IS_BLANK * * @param c an xmlChar value (normally unsigned char) */ #define IS_BLANK_CH(c) xmlIsBlank_ch(c) /** * Macro to check the following production in the XML spec: * * [85] BaseChar ::= ... long list see REC ... * @param c an UNICODE value (int) */ #define IS_BASECHAR(c) xmlIsBaseCharQ(c) /** * Macro to check the following production in the XML spec: * * [88] Digit ::= ... long list see REC ... * @param c an UNICODE value (int) */ #define IS_DIGIT(c) xmlIsDigitQ(c) /** * Behaves like IS_DIGIT but with a single byte argument * * @param c an xmlChar value (usually an unsigned char) */ #define IS_DIGIT_CH(c) xmlIsDigit_ch(c) /** * Macro to check the following production in the XML spec: * * [87] CombiningChar ::= ... long list see REC ... * @param c an UNICODE value (int) */ #define IS_COMBINING(c) xmlIsCombiningQ(c) /** * Always false (all combining chars > 0xff) * * @param c an xmlChar (usually an unsigned char) */ #define IS_COMBINING_CH(c) 0 /** * Macro to check the following production in the XML spec: * * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | * [#x309D-#x309E] | [#x30FC-#x30FE] * @param c an UNICODE value (int) */ #define IS_EXTENDER(c) xmlIsExtenderQ(c) /** * Behaves like IS_EXTENDER but with a single-byte argument * * @param c an xmlChar value (usually an unsigned char) */ #define IS_EXTENDER_CH(c) xmlIsExtender_ch(c) /** * Macro to check the following production in the XML spec: * * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] * @param c an UNICODE value (int) */ #define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c) /** * Macro to check the following production in the XML spec: * * [84] Letter ::= BaseChar | Ideographic * @param c an UNICODE value (int) */ #define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)) /** * Macro behaves like IS_LETTER, but only check base chars * * @param c an xmlChar value (normally unsigned char) */ #define IS_LETTER_CH(c) xmlIsBaseChar_ch(c) /** * Macro to check [a-zA-Z] * * @param c an xmlChar value */ #define IS_ASCII_LETTER(c) ((0x61 <= ((c) | 0x20)) && \ (((c) | 0x20) <= 0x7a)) /** * Macro to check [0-9] * * @param c an xmlChar value */ #define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39)) /** * Macro to check the following production in the XML spec: * * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | * [-'()+,./:=?;!*#@$_%] * @param c an UNICODE value (int) */ #define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c) /** * Same as IS_PUBIDCHAR but for single-byte value * * @param c an xmlChar value (normally unsigned char) */ #define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c) /* * Global variables used for predefined strings. */ /** @cond ignore */ XMLPUBVAR const xmlChar xmlStringText[]; XMLPUBVAR const xmlChar xmlStringTextNoenc[]; XML_DEPRECATED XMLPUBVAR const xmlChar xmlStringComment[]; /** @endcond */ XML_DEPRECATED XMLPUBFUN int xmlIsLetter (int c); /* * Parser context. */ XMLPUBFUN xmlParserCtxt * xmlCreateFileParserCtxt (const char *filename); XMLPUBFUN xmlParserCtxt * xmlCreateURLParserCtxt (const char *filename, int options); XMLPUBFUN xmlParserCtxt * xmlCreateMemoryParserCtxt(const char *buffer, int size); XML_DEPRECATED XMLPUBFUN xmlParserCtxt * xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID, const xmlChar *base); XMLPUBFUN void xmlCtxtErrMemory (xmlParserCtxt *ctxt); XMLPUBFUN int xmlSwitchEncoding (xmlParserCtxt *ctxt, xmlCharEncoding enc); XMLPUBFUN int xmlSwitchEncodingName (xmlParserCtxt *ctxt, const char *encoding); XMLPUBFUN int xmlSwitchToEncoding (xmlParserCtxt *ctxt, xmlCharEncodingHandler *handler); XML_DEPRECATED XMLPUBFUN int xmlSwitchInputEncoding (xmlParserCtxt *ctxt, xmlParserInput *input, xmlCharEncodingHandler *handler); /* * Input Streams. */ XMLPUBFUN xmlParserInput * xmlNewStringInputStream (xmlParserCtxt *ctxt, const xmlChar *buffer); XML_DEPRECATED XMLPUBFUN xmlParserInput * xmlNewEntityInputStream (xmlParserCtxt *ctxt, xmlEntity *entity); XMLPUBFUN int xmlCtxtPushInput (xmlParserCtxt *ctxt, xmlParserInput *input); XMLPUBFUN xmlParserInput * xmlCtxtPopInput (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlPushInput (xmlParserCtxt *ctxt, xmlParserInput *input); XML_DEPRECATED XMLPUBFUN xmlChar xmlPopInput (xmlParserCtxt *ctxt); XMLPUBFUN void xmlFreeInputStream (xmlParserInput *input); XMLPUBFUN xmlParserInput * xmlNewInputFromFile (xmlParserCtxt *ctxt, const char *filename); XMLPUBFUN xmlParserInput * xmlNewInputStream (xmlParserCtxt *ctxt); /* * Namespaces. */ XMLPUBFUN xmlChar * xmlSplitQName (xmlParserCtxt *ctxt, const xmlChar *name, xmlChar **prefix); /* * Generic production rules. */ XML_DEPRECATED XMLPUBFUN const xmlChar * xmlParseName (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseNmtoken (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseEntityValue (xmlParserCtxt *ctxt, xmlChar **orig); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseAttValue (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseSystemLiteral (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParsePubidLiteral (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseCharData (xmlParserCtxt *ctxt, int cdata); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseExternalID (xmlParserCtxt *ctxt, xmlChar **publicId, int strict); XML_DEPRECATED XMLPUBFUN void xmlParseComment (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN const xmlChar * xmlParsePITarget (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParsePI (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseNotationDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseEntityDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlParseDefaultDecl (xmlParserCtxt *ctxt, xmlChar **value); XML_DEPRECATED XMLPUBFUN xmlEnumeration * xmlParseNotationType (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlEnumeration * xmlParseEnumerationType (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlParseEnumeratedType (xmlParserCtxt *ctxt, xmlEnumeration **tree); XML_DEPRECATED XMLPUBFUN int xmlParseAttributeType (xmlParserCtxt *ctxt, xmlEnumeration **tree); XML_DEPRECATED XMLPUBFUN void xmlParseAttributeListDecl(xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlElementContent * xmlParseElementMixedContentDecl (xmlParserCtxt *ctxt, int inputchk); XML_DEPRECATED XMLPUBFUN xmlElementContent * xmlParseElementChildrenContentDecl (xmlParserCtxt *ctxt, int inputchk); XML_DEPRECATED XMLPUBFUN int xmlParseElementContentDecl(xmlParserCtxt *ctxt, const xmlChar *name, xmlElementContent **result); XML_DEPRECATED XMLPUBFUN int xmlParseElementDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseMarkupDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlParseCharRef (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlEntity * xmlParseEntityRef (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseReference (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParsePEReference (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseDocTypeDecl (xmlParserCtxt *ctxt); #ifdef LIBXML_SAX1_ENABLED XML_DEPRECATED XMLPUBFUN const xmlChar * xmlParseAttribute (xmlParserCtxt *ctxt, xmlChar **value); XML_DEPRECATED XMLPUBFUN const xmlChar * xmlParseStartTag (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseEndTag (xmlParserCtxt *ctxt); #endif /* LIBXML_SAX1_ENABLED */ XML_DEPRECATED XMLPUBFUN void xmlParseCDSect (xmlParserCtxt *ctxt); XMLPUBFUN void xmlParseContent (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseElement (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseVersionNum (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseVersionInfo (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlParseEncName (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN const xmlChar * xmlParseEncodingDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlParseSDDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseXMLDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseTextDecl (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseMisc (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParseExternalSubset (xmlParserCtxt *ctxt, const xmlChar *publicId, const xmlChar *systemId); /** @cond ignore */ #define XML_SUBSTITUTE_NONE 0 #define XML_SUBSTITUTE_REF 1 #define XML_SUBSTITUTE_PEREF 2 #define XML_SUBSTITUTE_BOTH 3 /** @endcond */ XML_DEPRECATED XMLPUBFUN xmlChar * xmlStringDecodeEntities (xmlParserCtxt *ctxt, const xmlChar *str, int what, xmlChar end, xmlChar end2, xmlChar end3); XML_DEPRECATED XMLPUBFUN xmlChar * xmlStringLenDecodeEntities (xmlParserCtxt *ctxt, const xmlChar *str, int len, int what, xmlChar end, xmlChar end2, xmlChar end3); /* * other commodities shared between parser.c and parserInternals. */ XML_DEPRECATED XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxt *ctxt, const xmlChar *cur, int *len); XML_DEPRECATED XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang); /* * Really core function shared with HTML parser. */ XML_DEPRECATED XMLPUBFUN int xmlCurrentChar (xmlParserCtxt *ctxt, int *len); XML_DEPRECATED XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out, int val); XML_DEPRECATED XMLPUBFUN int xmlCopyChar (int len, xmlChar *out, int val); XML_DEPRECATED XMLPUBFUN void xmlNextChar (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlParserInputShrink (xmlParserInput *in); #ifdef __cplusplus } #endif #endif /* __XML_PARSER_INTERNALS_H__ */ libxml/SAX2.h000064400000010213152525225610006723 0ustar00/** * @file * * @brief SAX2 parser interface used to build the DOM tree * * those are the default SAX2 interfaces used by * the library when building DOM tree. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_SAX2_H__ #define __XML_SAX2_H__ #include #include #ifdef __cplusplus extern "C" { #endif XMLPUBFUN const xmlChar * xmlSAX2GetPublicId (void *ctx); XMLPUBFUN const xmlChar * xmlSAX2GetSystemId (void *ctx); XMLPUBFUN void xmlSAX2SetDocumentLocator (void *ctx, xmlSAXLocator *loc); XMLPUBFUN int xmlSAX2GetLineNumber (void *ctx); XMLPUBFUN int xmlSAX2GetColumnNumber (void *ctx); XMLPUBFUN int xmlSAX2IsStandalone (void *ctx); XMLPUBFUN int xmlSAX2HasInternalSubset (void *ctx); XMLPUBFUN int xmlSAX2HasExternalSubset (void *ctx); XMLPUBFUN void xmlSAX2InternalSubset (void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN void xmlSAX2ExternalSubset (void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlEntity * xmlSAX2GetEntity (void *ctx, const xmlChar *name); XMLPUBFUN xmlEntity * xmlSAX2GetParameterEntity (void *ctx, const xmlChar *name); XMLPUBFUN xmlParserInput * xmlSAX2ResolveEntity (void *ctx, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN void xmlSAX2EntityDecl (void *ctx, const xmlChar *name, int type, const xmlChar *publicId, const xmlChar *systemId, xmlChar *content); XMLPUBFUN void xmlSAX2AttributeDecl (void *ctx, const xmlChar *elem, const xmlChar *fullname, int type, int def, const xmlChar *defaultValue, xmlEnumeration *tree); XMLPUBFUN void xmlSAX2ElementDecl (void *ctx, const xmlChar *name, int type, xmlElementContent *content); XMLPUBFUN void xmlSAX2NotationDecl (void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN void xmlSAX2UnparsedEntityDecl (void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId, const xmlChar *notationName); XMLPUBFUN void xmlSAX2StartDocument (void *ctx); XMLPUBFUN void xmlSAX2EndDocument (void *ctx); XML_DEPRECATED XMLPUBFUN void xmlSAX2StartElement (void *ctx, const xmlChar *fullname, const xmlChar **atts); XML_DEPRECATED XMLPUBFUN void xmlSAX2EndElement (void *ctx, const xmlChar *name); XMLPUBFUN void xmlSAX2StartElementNs (void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **attributes); XMLPUBFUN void xmlSAX2EndElementNs (void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI); XMLPUBFUN void xmlSAX2Reference (void *ctx, const xmlChar *name); XMLPUBFUN void xmlSAX2Characters (void *ctx, const xmlChar *ch, int len); XMLPUBFUN void xmlSAX2IgnorableWhitespace (void *ctx, const xmlChar *ch, int len); XMLPUBFUN void xmlSAX2ProcessingInstruction (void *ctx, const xmlChar *target, const xmlChar *data); XMLPUBFUN void xmlSAX2Comment (void *ctx, const xmlChar *value); XMLPUBFUN void xmlSAX2CDataBlock (void *ctx, const xmlChar *value, int len); #ifdef LIBXML_SAX1_ENABLED XML_DEPRECATED XMLPUBFUN int xmlSAXDefaultVersion (int version); #endif /* LIBXML_SAX1_ENABLED */ XMLPUBFUN int xmlSAXVersion (xmlSAXHandler *hdlr, int version); XMLPUBFUN void xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr, int warning); #ifdef LIBXML_HTML_ENABLED XMLPUBFUN void xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr); XML_DEPRECATED XMLPUBFUN void htmlDefaultSAXHandlerInit (void); #endif XML_DEPRECATED XMLPUBFUN void xmlDefaultSAXHandlerInit (void); #ifdef __cplusplus } #endif #endif /* __XML_SAX2_H__ */ libxml/HTMLtree.h000064400000005214152525225610007637 0ustar00/** * @file * * @brief HTML documents * * This modules implements functions to work with HTML documents, * most of them related to serialization. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __HTML_TREE_H__ #define __HTML_TREE_H__ #include #include #include #include #ifdef LIBXML_HTML_ENABLED #ifdef __cplusplus extern "C" { #endif /* Deprecated */ /** @cond ignore */ #define HTML_TEXT_NODE XML_TEXT_NODE #define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE #define HTML_COMMENT_NODE XML_COMMENT_NODE #define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE #define HTML_PI_NODE XML_PI_NODE /** @endcond */ XMLPUBFUN xmlDoc * htmlNewDoc (const xmlChar *URI, const xmlChar *ExternalID); XMLPUBFUN xmlDoc * htmlNewDocNoDtD (const xmlChar *URI, const xmlChar *ExternalID); XMLPUBFUN const xmlChar * htmlGetMetaEncoding (xmlDoc *doc); XMLPUBFUN int htmlSetMetaEncoding (xmlDoc *doc, const xmlChar *encoding); #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN void htmlDocDumpMemory (xmlDoc *cur, xmlChar **mem, int *size); XMLPUBFUN void htmlDocDumpMemoryFormat (xmlDoc *cur, xmlChar **mem, int *size, int format); XMLPUBFUN int htmlSaveFile (const char *filename, xmlDoc *cur); XMLPUBFUN int htmlSaveFileEnc (const char *filename, xmlDoc *cur, const char *encoding); XMLPUBFUN int htmlSaveFileFormat (const char *filename, xmlDoc *cur, const char *encoding, int format); XMLPUBFUN int htmlNodeDump (xmlBuffer *buf, xmlDoc *doc, xmlNode *cur); XMLPUBFUN int htmlDocDump (FILE *f, xmlDoc *cur); XMLPUBFUN void htmlNodeDumpFile (FILE *out, xmlDoc *doc, xmlNode *cur); XMLPUBFUN int htmlNodeDumpFileFormat (FILE *out, xmlDoc *doc, xmlNode *cur, const char *encoding, int format); XMLPUBFUN void htmlNodeDumpOutput (xmlOutputBuffer *buf, xmlDoc *doc, xmlNode *cur, const char *encoding); XMLPUBFUN void htmlNodeDumpFormatOutput(xmlOutputBuffer *buf, xmlDoc *doc, xmlNode *cur, const char *encoding, int format); XMLPUBFUN void htmlDocContentDumpOutput(xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding); XMLPUBFUN void htmlDocContentDumpFormatOutput(xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding, int format); #endif /* LIBXML_OUTPUT_ENABLED */ XML_DEPRECATED XMLPUBFUN int htmlIsBooleanAttr (const xmlChar *name); #ifdef __cplusplus } #endif #endif /* LIBXML_HTML_ENABLED */ #endif /* __HTML_TREE_H__ */ libxml/schemasInternals.h000064400000055334152525225610011526 0ustar00/** * @file * * @brief internal interfaces for XML Schemas * * internal interfaces for the XML Schemas handling * and schema validity checking * The Schemas development is a Work In Progress. * Some of those interfaces are not guaranteed to be API or ABI stable ! * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_SCHEMA_INTERNALS_H__ #define __XML_SCHEMA_INTERNALS_H__ #include #ifdef LIBXML_SCHEMAS_ENABLED #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Schema value type */ typedef enum { XML_SCHEMAS_UNKNOWN = 0, XML_SCHEMAS_STRING = 1, XML_SCHEMAS_NORMSTRING = 2, XML_SCHEMAS_DECIMAL = 3, XML_SCHEMAS_TIME = 4, XML_SCHEMAS_GDAY = 5, XML_SCHEMAS_GMONTH = 6, XML_SCHEMAS_GMONTHDAY = 7, XML_SCHEMAS_GYEAR = 8, XML_SCHEMAS_GYEARMONTH = 9, XML_SCHEMAS_DATE = 10, XML_SCHEMAS_DATETIME = 11, XML_SCHEMAS_DURATION = 12, XML_SCHEMAS_FLOAT = 13, XML_SCHEMAS_DOUBLE = 14, XML_SCHEMAS_BOOLEAN = 15, XML_SCHEMAS_TOKEN = 16, XML_SCHEMAS_LANGUAGE = 17, XML_SCHEMAS_NMTOKEN = 18, XML_SCHEMAS_NMTOKENS = 19, XML_SCHEMAS_NAME = 20, XML_SCHEMAS_QNAME = 21, XML_SCHEMAS_NCNAME = 22, XML_SCHEMAS_ID = 23, XML_SCHEMAS_IDREF = 24, XML_SCHEMAS_IDREFS = 25, XML_SCHEMAS_ENTITY = 26, XML_SCHEMAS_ENTITIES = 27, XML_SCHEMAS_NOTATION = 28, XML_SCHEMAS_ANYURI = 29, XML_SCHEMAS_INTEGER = 30, XML_SCHEMAS_NPINTEGER = 31, XML_SCHEMAS_NINTEGER = 32, XML_SCHEMAS_NNINTEGER = 33, XML_SCHEMAS_PINTEGER = 34, XML_SCHEMAS_INT = 35, XML_SCHEMAS_UINT = 36, XML_SCHEMAS_LONG = 37, XML_SCHEMAS_ULONG = 38, XML_SCHEMAS_SHORT = 39, XML_SCHEMAS_USHORT = 40, XML_SCHEMAS_BYTE = 41, XML_SCHEMAS_UBYTE = 42, XML_SCHEMAS_HEXBINARY = 43, XML_SCHEMAS_BASE64BINARY = 44, XML_SCHEMAS_ANYTYPE = 45, XML_SCHEMAS_ANYSIMPLETYPE = 46 } xmlSchemaValType; /** * XML Schemas defines multiple type of types. */ typedef enum { XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */ XML_SCHEMA_TYPE_ANY, XML_SCHEMA_TYPE_FACET, XML_SCHEMA_TYPE_SIMPLE, XML_SCHEMA_TYPE_COMPLEX, XML_SCHEMA_TYPE_SEQUENCE = 6, XML_SCHEMA_TYPE_CHOICE, XML_SCHEMA_TYPE_ALL, XML_SCHEMA_TYPE_SIMPLE_CONTENT, XML_SCHEMA_TYPE_COMPLEX_CONTENT, XML_SCHEMA_TYPE_UR, XML_SCHEMA_TYPE_RESTRICTION, XML_SCHEMA_TYPE_EXTENSION, XML_SCHEMA_TYPE_ELEMENT, XML_SCHEMA_TYPE_ATTRIBUTE, XML_SCHEMA_TYPE_ATTRIBUTEGROUP, XML_SCHEMA_TYPE_GROUP, XML_SCHEMA_TYPE_NOTATION, XML_SCHEMA_TYPE_LIST, XML_SCHEMA_TYPE_UNION, XML_SCHEMA_TYPE_ANY_ATTRIBUTE, XML_SCHEMA_TYPE_IDC_UNIQUE, XML_SCHEMA_TYPE_IDC_KEY, XML_SCHEMA_TYPE_IDC_KEYREF, XML_SCHEMA_TYPE_PARTICLE = 25, XML_SCHEMA_TYPE_ATTRIBUTE_USE, XML_SCHEMA_FACET_MININCLUSIVE = 1000, XML_SCHEMA_FACET_MINEXCLUSIVE, XML_SCHEMA_FACET_MAXINCLUSIVE, XML_SCHEMA_FACET_MAXEXCLUSIVE, XML_SCHEMA_FACET_TOTALDIGITS, XML_SCHEMA_FACET_FRACTIONDIGITS, XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION, XML_SCHEMA_FACET_WHITESPACE, XML_SCHEMA_FACET_LENGTH, XML_SCHEMA_FACET_MAXLENGTH, XML_SCHEMA_FACET_MINLENGTH, XML_SCHEMA_EXTRA_QNAMEREF = 2000, XML_SCHEMA_EXTRA_ATTR_USE_PROHIB } xmlSchemaTypeType; /** * Schema content type */ typedef enum { XML_SCHEMA_CONTENT_UNKNOWN = 0, XML_SCHEMA_CONTENT_EMPTY = 1, XML_SCHEMA_CONTENT_ELEMENTS, XML_SCHEMA_CONTENT_MIXED, XML_SCHEMA_CONTENT_SIMPLE, XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */ XML_SCHEMA_CONTENT_BASIC, XML_SCHEMA_CONTENT_ANY } xmlSchemaContentType; /** Schema value */ typedef struct _xmlSchemaVal xmlSchemaVal; typedef xmlSchemaVal *xmlSchemaValPtr; /** Schema type */ typedef struct _xmlSchemaType xmlSchemaType; typedef xmlSchemaType *xmlSchemaTypePtr; /** Schema facet */ typedef struct _xmlSchemaFacet xmlSchemaFacet; typedef xmlSchemaFacet *xmlSchemaFacetPtr; /** Schema annotation */ typedef struct _xmlSchemaAnnot xmlSchemaAnnot; typedef xmlSchemaAnnot *xmlSchemaAnnotPtr; /** * Annotation */ struct _xmlSchemaAnnot { struct _xmlSchemaAnnot *next; xmlNode *content; /* the annotation */ }; /** * Skip unknown attribute from validation * Obsolete, not used anymore. */ #define XML_SCHEMAS_ANYATTR_SKIP 1 /** * Ignore validation non definition on attributes * Obsolete, not used anymore. */ #define XML_SCHEMAS_ANYATTR_LAX 2 /** * Apply strict validation rules on attributes * Obsolete, not used anymore. */ #define XML_SCHEMAS_ANYATTR_STRICT 3 /** * Skip unknown attribute from validation */ #define XML_SCHEMAS_ANY_SKIP 1 /** * Used by wildcards. * Validate if type found, don't worry if not found */ #define XML_SCHEMAS_ANY_LAX 2 /** * Used by wildcards. * Apply strict validation rules */ #define XML_SCHEMAS_ANY_STRICT 3 /** * Used by wildcards. * The attribute is prohibited. */ #define XML_SCHEMAS_ATTR_USE_PROHIBITED 0 /** * The attribute is required. */ #define XML_SCHEMAS_ATTR_USE_REQUIRED 1 /** * The attribute is optional. */ #define XML_SCHEMAS_ATTR_USE_OPTIONAL 2 /** * allow elements in no namespace */ #define XML_SCHEMAS_ATTR_GLOBAL 1 << 0 /** * allow elements in no namespace */ #define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7 /** * this is set when the "type" and "ref" references * have been resolved. */ #define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8 /** * the attribute has a fixed value */ #define XML_SCHEMAS_ATTR_FIXED 1 << 9 /** Schema attribute definition */ typedef struct _xmlSchemaAttribute xmlSchemaAttribute; typedef xmlSchemaAttribute *xmlSchemaAttributePtr; /** * An attribute definition. */ struct _xmlSchemaAttribute { xmlSchemaTypeType type; struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */ const xmlChar *name; /* the name of the declaration */ const xmlChar *id; /* Deprecated; not used */ const xmlChar *ref; /* Deprecated; not used */ const xmlChar *refNs; /* Deprecated; not used */ const xmlChar *typeName; /* the local name of the type definition */ const xmlChar *typeNs; /* the ns URI of the type definition */ xmlSchemaAnnot *annot; xmlSchemaType *base; /* Deprecated; not used */ int occurs; /* Deprecated; not used */ const xmlChar *defValue; /* The initial value of the value constraint */ xmlSchemaType *subtypes; /* the type definition */ xmlNode *node; const xmlChar *targetNamespace; int flags; const xmlChar *refPrefix; /* Deprecated; not used */ xmlSchemaVal *defVal; /* The compiled value constraint */ xmlSchemaAttribute *refDecl; /* Deprecated; not used */ }; /** Linked list of schema attributes */ typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink; typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr; /** * Used to build a list of attribute uses on complexType definitions. * WARNING: Deprecated; not used. */ struct _xmlSchemaAttributeLink { struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */ struct _xmlSchemaAttribute *attr;/* the linked attribute */ }; /** * If the wildcard is complete. */ #define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0 /** Namespace wildcard */ typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs; typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr; /** * Used to build a list of namespaces on wildcards. */ struct _xmlSchemaWildcardNs { struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */ const xmlChar *value;/* the value */ }; /** Name wildcard */ typedef struct _xmlSchemaWildcard xmlSchemaWildcard; typedef xmlSchemaWildcard *xmlSchemaWildcardPtr; /** * A wildcard. */ struct _xmlSchemaWildcard { xmlSchemaTypeType type; /* The kind of type */ const xmlChar *id; /* Deprecated; not used */ xmlSchemaAnnot *annot; xmlNode *node; int minOccurs; /* Deprecated; not used */ int maxOccurs; /* Deprecated; not used */ int processContents; int any; /* Indicates if the ns constraint is of ##any */ xmlSchemaWildcardNs *nsSet; /* The list of allowed namespaces */ xmlSchemaWildcardNs *negNsSet; /* The negated namespace */ int flags; }; /** * The attribute wildcard has been built. */ #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 /** * The attribute group has been defined. */ #define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 /** * Marks the attr group as marked; used for circular checks. */ #define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2 /** * The attr group was redefined. */ #define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3 /** * Whether this attr. group contains attr. group references. */ #define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4 /** Attribute group */ typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup; typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr; /** * An attribute group definition. * * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures * must be kept similar */ struct _xmlSchemaAttributeGroup { xmlSchemaTypeType type; /* The kind of type */ struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */ const xmlChar *name; const xmlChar *id; const xmlChar *ref; /* Deprecated; not used */ const xmlChar *refNs; /* Deprecated; not used */ xmlSchemaAnnot *annot; xmlSchemaAttribute *attributes; /* Deprecated; not used */ xmlNode *node; int flags; xmlSchemaWildcard *attributeWildcard; const xmlChar *refPrefix; /* Deprecated; not used */ xmlSchemaAttributeGroup *refItem; /* Deprecated; not used */ const xmlChar *targetNamespace; void *attrUses; }; /** Linked list of schema types */ typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink; typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr; /** * Used to build a list of types (e.g. member types of * simpleType with variety "union"). */ struct _xmlSchemaTypeLink { struct _xmlSchemaTypeLink *next;/* the next type link ... */ xmlSchemaType *type;/* the linked type */ }; /** Linked list of schema facets */ typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink; typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr; /** * Used to build a list of facets. */ struct _xmlSchemaFacetLink { struct _xmlSchemaFacetLink *next;/* the next facet link ... */ xmlSchemaFacet *facet;/* the linked facet */ }; /** * the element content type is mixed */ #define XML_SCHEMAS_TYPE_MIXED 1 << 0 /** * the simple or complex type has a derivation method of "extension". */ #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1 /** * the simple or complex type has a derivation method of "restriction". */ #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2 /** * the type is global */ #define XML_SCHEMAS_TYPE_GLOBAL 1 << 3 /** * the complexType owns an attribute wildcard, i.e. * it can be freed by the complexType */ #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */ /** * the simpleType has a variety of "absent". * TODO: Actually not necessary :-/, since if * none of the variety flags occur then it's * automatically absent. */ #define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5 /** * the simpleType has a variety of "list". */ #define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6 /** * the simpleType has a variety of "union". */ #define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7 /** * the simpleType has a variety of "union". */ #define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8 /** * the complexType has a final of "extension". */ #define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9 /** * the simpleType/complexType has a final of "restriction". */ #define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10 /** * the simpleType has a final of "list". */ #define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11 /** * the simpleType has a final of "union". */ #define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12 /** * the simpleType has a final of "default". */ #define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13 /** * Marks the item as a builtin primitive. */ #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14 /** * Marks the item as marked; used for circular checks. */ #define XML_SCHEMAS_TYPE_MARKED 1 << 16 /** * the complexType did not specify 'block' so use the default of the * `` item. */ #define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17 /** * the complexType has a 'block' of "extension". */ #define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18 /** * the complexType has a 'block' of "restriction". */ #define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19 /** * the simple/complexType is abstract. */ #define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20 /** * indicates if the facets need a computed value */ #define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21 /** * indicates that the type was typefixed */ #define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22 /** * indicates that the type is invalid */ #define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23 /** * a whitespace-facet value of "preserve" */ #define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24 /** * a whitespace-facet value of "replace" */ #define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25 /** * a whitespace-facet value of "collapse" */ #define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26 /** * has facets */ #define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27 /** * indicates if the facets (pattern) need a normalized value */ #define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28 /** * First stage of fixup was done. */ #define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29 /** * The type was redefined. */ #define XML_SCHEMAS_TYPE_REDEFINED 1 << 30 #if 0 /** * The type redefines an other type. */ #define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 #endif /** * Schemas type definition. */ struct _xmlSchemaType { xmlSchemaTypeType type; /* The kind of type */ struct _xmlSchemaType *next; /* the next type if in a sequence ... */ const xmlChar *name; const xmlChar *id ; /* Deprecated; not used */ const xmlChar *ref; /* Deprecated; not used */ const xmlChar *refNs; /* Deprecated; not used */ xmlSchemaAnnot *annot; xmlSchemaType *subtypes; xmlSchemaAttribute *attributes; /* Deprecated; not used */ xmlNode *node; int minOccurs; /* Deprecated; not used */ int maxOccurs; /* Deprecated; not used */ int flags; xmlSchemaContentType contentType; const xmlChar *base; /* Base type's local name */ const xmlChar *baseNs; /* Base type's target namespace */ xmlSchemaType *baseType; /* The base type component */ xmlSchemaFacet *facets; /* Local facets */ struct _xmlSchemaType *redef; /* Deprecated; not used */ int recurse; /* Obsolete */ xmlSchemaAttributeLink **attributeUses; /* Deprecated; not used */ xmlSchemaWildcard *attributeWildcard; int builtInType; /* Type of built-in types. */ xmlSchemaTypeLink *memberTypes; /* member-types if a union type. */ xmlSchemaFacetLink *facetSet; /* All facets (incl. inherited) */ const xmlChar *refPrefix; /* Deprecated; not used */ xmlSchemaType *contentTypeDef; /* Used for the simple content of complex types. Could we use @subtypes for this? */ xmlRegexp *contModel; /* Holds the automaton of the content model */ const xmlChar *targetNamespace; void *attrUses; }; /** * the element is nillable */ #define XML_SCHEMAS_ELEM_NILLABLE 1 << 0 /** * the element is global */ #define XML_SCHEMAS_ELEM_GLOBAL 1 << 1 /** * the element has a default value */ #define XML_SCHEMAS_ELEM_DEFAULT 1 << 2 /** * the element has a fixed value */ #define XML_SCHEMAS_ELEM_FIXED 1 << 3 /** * the element is abstract */ #define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4 /** * the element is top level * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead */ #define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5 /** * the element is a reference to a type */ #define XML_SCHEMAS_ELEM_REF 1 << 6 /** * allow elements in no namespace * Obsolete, not used anymore. */ #define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7 /** * this is set when "type", "ref", "substitutionGroup" * references have been resolved. */ #define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8 /** * a helper flag for the search of circular references. */ #define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9 /** * the "block" attribute is absent */ #define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10 /** * disallowed substitutions are absent */ #define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11 /** * disallowed substitutions: "restriction" */ #define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12 /** * disallowed substitutions: "substitution" */ #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13 /** * substitution group exclusions are absent */ #define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14 /** * substitution group exclusions: "extension" */ #define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15 /** * substitution group exclusions: "restriction" */ #define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16 /** * the declaration is a substitution group head */ #define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17 /** * this is set when the elem decl has been checked against * all constraints */ #define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18 /** Schema element definition */ typedef struct _xmlSchemaElement xmlSchemaElement; typedef xmlSchemaElement *xmlSchemaElementPtr; /** * An element definition. * * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of * structures must be kept similar */ struct _xmlSchemaElement { xmlSchemaTypeType type; /* The kind of type */ struct _xmlSchemaType *next; /* Not used? */ const xmlChar *name; const xmlChar *id; /* Deprecated; not used */ const xmlChar *ref; /* Deprecated; not used */ const xmlChar *refNs; /* Deprecated; not used */ xmlSchemaAnnot *annot; xmlSchemaType *subtypes; /* the type definition */ xmlSchemaAttribute *attributes; xmlNode *node; int minOccurs; /* Deprecated; not used */ int maxOccurs; /* Deprecated; not used */ int flags; const xmlChar *targetNamespace; const xmlChar *namedType; const xmlChar *namedTypeNs; const xmlChar *substGroup; const xmlChar *substGroupNs; const xmlChar *scope; const xmlChar *value; /* The original value of the value constraint. */ struct _xmlSchemaElement *refDecl; /* This will now be used for the substitution group affiliation */ xmlRegexp *contModel; /* Obsolete for WXS, maybe used for RelaxNG */ xmlSchemaContentType contentType; const xmlChar *refPrefix; /* Deprecated; not used */ xmlSchemaVal *defVal; /* The compiled value constraint. */ void *idcs; /* The identity-constraint defs */ }; /** * unknown facet handling */ #define XML_SCHEMAS_FACET_UNKNOWN 0 /** * preserve the type of the facet */ #define XML_SCHEMAS_FACET_PRESERVE 1 /** * replace the type of the facet */ #define XML_SCHEMAS_FACET_REPLACE 2 /** * collapse the types of the facet */ #define XML_SCHEMAS_FACET_COLLAPSE 3 /** * A facet definition. */ struct _xmlSchemaFacet { xmlSchemaTypeType type; /* The kind of type */ struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */ const xmlChar *value; /* The original value */ const xmlChar *id; /* Obsolete */ xmlSchemaAnnot *annot; xmlNode *node; int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */ int whitespace; xmlSchemaVal *val; /* The compiled value */ xmlRegexp *regexp; /* The regex for patterns */ }; /** Schema notation */ typedef struct _xmlSchemaNotation xmlSchemaNotation; typedef xmlSchemaNotation *xmlSchemaNotationPtr; /** * A notation definition. */ struct _xmlSchemaNotation { xmlSchemaTypeType type; /* The kind of type */ const xmlChar *name; xmlSchemaAnnot *annot; const xmlChar *identifier; const xmlChar *targetNamespace; }; /* * TODO: Actually all those flags used for the schema should sit * on the schema parser context, since they are used only * during parsing an XML schema document, and not available * on the component level as per spec. */ /** * Reflects elementFormDefault == qualified in * an XML schema document. */ #define XML_SCHEMAS_QUALIF_ELEM 1 << 0 /** * Reflects attributeFormDefault == qualified in * an XML schema document. */ #define XML_SCHEMAS_QUALIF_ATTR 1 << 1 /** * the schema has "extension" in the set of finalDefault. */ #define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2 /** * the schema has "restriction" in the set of finalDefault. */ #define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3 /** * the schema has "list" in the set of finalDefault. */ #define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 /** * the schema has "union" in the set of finalDefault. */ #define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5 /** * the schema has "extension" in the set of blockDefault. */ #define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6 /** * the schema has "restriction" in the set of blockDefault. */ #define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7 /** * the schema has "substitution" in the set of blockDefault. */ #define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8 /** * the schema is currently including an other schema with * no target namespace. */ #define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9 /** * A Schemas definition */ struct _xmlSchema { const xmlChar *name; /* schema name */ const xmlChar *targetNamespace; /* the target namespace */ const xmlChar *version; const xmlChar *id; /* Obsolete */ xmlDoc *doc; xmlSchemaAnnot *annot; int flags; xmlHashTable *typeDecl; xmlHashTable *attrDecl; xmlHashTable *attrgrpDecl; xmlHashTable *elemDecl; xmlHashTable *notaDecl; xmlHashTable *schemasImports; void *_private; /* unused by the library for users or bindings */ xmlHashTable *groupDecl; xmlDict *dict; void *includes; /* the includes, this is opaque for now */ int preserve; /* whether to free the document */ int counter; /* used to give anonymous components unique names */ xmlHashTable *idcDef; /* All identity-constraint defs. */ void *volatiles; /* Obsolete */ }; XMLPUBFUN void xmlSchemaFreeType (xmlSchemaType *type); XMLPUBFUN void xmlSchemaFreeWildcard(xmlSchemaWildcard *wildcard); #ifdef __cplusplus } #endif #endif /* LIBXML_SCHEMAS_ENABLED */ #endif /* __XML_SCHEMA_INTERNALS_H__ */ libxml/tree.h000064400000116463152525225610007163 0ustar00/** * @file * * @brief Document tree API * * Data structures and functions to build, modify, query and * serialize XML and HTML document trees. Also contains the * buffer API. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef XML_TREE_INTERNALS /* * Emulate circular dependency for backward compatibility */ #include #else /* XML_TREE_INTERNALS */ #ifndef __XML_TREE_H__ /** @cond ignore */ #define __XML_TREE_H__ /** @endcond */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /* * Backward compatibility */ /** @cond ignore */ #define xmlBufferAllocScheme XML_BUFFER_ALLOC_EXACT #define xmlDefaultBufferSize 4096 #define XML_GET_CONTENT(n) \ ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) #define XML_GET_LINE(n) xmlGetLineNo(n) /** @endcond */ /* * Some of the basic types pointer to structures: */ /* xmlIO.h */ /** * Parser input buffer * * This struct and all related functions should ultimately * be removed from the public interface. */ typedef struct _xmlParserInputBuffer xmlParserInputBuffer; typedef xmlParserInputBuffer *xmlParserInputBufferPtr; /** Output buffer */ typedef struct _xmlOutputBuffer xmlOutputBuffer; typedef xmlOutputBuffer *xmlOutputBufferPtr; /* parser.h */ /** Parser input */ typedef struct _xmlParserInput xmlParserInput; typedef xmlParserInput *xmlParserInputPtr; /** Parser context */ typedef struct _xmlParserCtxt xmlParserCtxt; typedef xmlParserCtxt *xmlParserCtxtPtr; /** SAX locator */ typedef struct _xmlSAXLocator xmlSAXLocator; typedef xmlSAXLocator *xmlSAXLocatorPtr; /** SAX handler */ typedef struct _xmlSAXHandler xmlSAXHandler; typedef xmlSAXHandler *xmlSAXHandlerPtr; /* entities.h */ /** Entity declaration */ typedef struct _xmlEntity xmlEntity; typedef xmlEntity *xmlEntityPtr; /** * Removed, buffers always use XML_BUFFER_ALLOC_IO now. */ typedef enum { XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */ XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ } xmlBufferAllocationScheme; /** Buffer type */ typedef struct _xmlBuffer xmlBuffer; typedef xmlBuffer *xmlBufferPtr; /** * A buffer structure, this old construct is limited to 2GB and * is being deprecated, use API with xmlBuf instead. */ struct _xmlBuffer { /** * @deprecated Use #xmlBufferContent * * The buffer content UTF8 */ xmlChar *content XML_DEPRECATED_MEMBER; /** * @deprecated Use #xmlBufferLength * * The buffer size used */ unsigned int use XML_DEPRECATED_MEMBER; /* The buffer size */ unsigned int size XML_DEPRECATED_MEMBER; /* The realloc method */ xmlBufferAllocationScheme alloc XML_DEPRECATED_MEMBER; /* in IO mode we may have a different base */ xmlChar *contentIO XML_DEPRECATED_MEMBER; }; /** Buffer with 64-bit support */ typedef struct _xmlBuf xmlBuf; typedef xmlBuf *xmlBufPtr; /** * Macro used to express that the API use the new buffers for * xmlParserInputBuffer and xmlOutputBuffer. The change was * introduced in 2.9.0. */ #define LIBXML2_NEW_BUFFER /** * This is the namespace for the special xml: prefix predefined in the * XML Namespace specification. */ #define XML_XML_NAMESPACE \ (const xmlChar *) "http://www.w3.org/XML/1998/namespace" /** * This is the name for the special xml:id attribute */ #define XML_XML_ID (const xmlChar *) "xml:id" /** * The different element types carried by an XML tree. * * NOTE: This is synchronized with DOM Level 1 values. * See http://www.w3.org/TR/REC-DOM-Level-1/ * * Actually this had diverged a bit, and XML_DTD_NODE is used instead * of XML_DOCUMENT_TYPE_NODE. */ typedef enum { /** * An element. * * Objects of this type are an xmlNode. */ XML_ELEMENT_NODE= 1, /** * An attribute. * * Objects of this type are an xmlAttr. */ XML_ATTRIBUTE_NODE= 2, /** * A text node. * * Objects of this type are an xmlNode. */ XML_TEXT_NODE= 3, /** * A CDATA section. * * Objects of this type are an xmlNode. */ XML_CDATA_SECTION_NODE= 4, /** * An entity reference. * * Objects of this type are an xmlNode. The `children` member * points to the entity declaration if available. */ XML_ENTITY_REF_NODE= 5, /** unused */ XML_ENTITY_NODE= 6, /** * A processing instruction. * * Objects of this type are an xmlNode. */ XML_PI_NODE= 7, /** * A comment. * * Objects of this type are an xmlNode. */ XML_COMMENT_NODE= 8, /** * A document. * * Objects of this type are an xmlDoc. */ XML_DOCUMENT_NODE= 9, /** unused */ XML_DOCUMENT_TYPE_NODE= 10, /** * A document fragment. * * Objects of this type are an xmlNode. */ XML_DOCUMENT_FRAG_NODE= 11, /** A notation, unused */ XML_NOTATION_NODE= 12, /** * An HTML document. * * Objects of this type are an xmlDoc. */ XML_HTML_DOCUMENT_NODE= 13, /** * A document type definition. * * Objects of this type are an xmlDtd. */ XML_DTD_NODE= 14, /** * An element declaration. * * Objects of this type are an xmlElement. */ XML_ELEMENT_DECL= 15, /** * An attribute declaration. * * Objects of this type are an xmlAttribute. */ XML_ATTRIBUTE_DECL= 16, /** * An entity declaration. * * Objects of this type are an xmlEntity. */ XML_ENTITY_DECL= 17, /** * An XPath namespace node. * * Can only be returned by the XPath engine. Objects of this * type are an xmlNs which has a completely different layout * than xmlNode. The `next` member contains a pointer to the * xmlNode element to which the namespace applies. * * Nodes of this type must be handled with extreme care to * avoid type confusion bugs. */ XML_NAMESPACE_DECL= 18, /** * An XInclude start marker. * * Objects of this type are an xmlNode. Inserted as preceding * sibling of XIncluded content. */ XML_XINCLUDE_START= 19, /** * An XInclude end marker. * * Objects of this type are an xmlNode. Inserted as following * sibling of XIncluded content. */ XML_XINCLUDE_END= 20 /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */ } xmlElementType; /** @cond IGNORE */ /* For backward compatibility */ #define XML_DOCB_DOCUMENT_NODE 21 /** @endcond */ /** Notation declaration */ typedef struct _xmlNotation xmlNotation; typedef xmlNotation *xmlNotationPtr; /** * A DTD Notation definition. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlNotation { /** Notation name */ const xmlChar *name; /** Public identifier, if any */ const xmlChar *PublicID; /** System identifier, if any */ const xmlChar *SystemID; }; /** * A DTD Attribute type definition. */ typedef enum { XML_ATTRIBUTE_CDATA = 1, XML_ATTRIBUTE_ID, XML_ATTRIBUTE_IDREF , XML_ATTRIBUTE_IDREFS, XML_ATTRIBUTE_ENTITY, XML_ATTRIBUTE_ENTITIES, XML_ATTRIBUTE_NMTOKEN, XML_ATTRIBUTE_NMTOKENS, XML_ATTRIBUTE_ENUMERATION, XML_ATTRIBUTE_NOTATION } xmlAttributeType; /** * A DTD Attribute default definition. */ typedef enum { XML_ATTRIBUTE_NONE = 1, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED, XML_ATTRIBUTE_FIXED } xmlAttributeDefault; /** Enumeration in a DTD */ typedef struct _xmlEnumeration xmlEnumeration; typedef xmlEnumeration *xmlEnumerationPtr; /** * List structure used when there is an enumeration in DTDs. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlEnumeration { /** next enumeration */ struct _xmlEnumeration *next XML_DEPRECATED_MEMBER; /** value */ const xmlChar *name XML_DEPRECATED_MEMBER; }; /** Attribute declaration */ typedef struct _xmlAttribute xmlAttribute; typedef xmlAttribute *xmlAttributePtr; /** * An Attribute declaration in a DTD. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlAttribute { /** application data */ void *_private; /** XML_ATTRIBUTE_DECL */ xmlElementType type; /** attribute name */ const xmlChar *name; /** NULL */ struct _xmlNode *children; /** NULL */ struct _xmlNode *last; /** DTD */ struct _xmlDtd *parent; /** next sibling */ struct _xmlNode *next; /** previous sibling */ struct _xmlNode *prev; /** containing document */ struct _xmlDoc *doc; /** next in hash table */ struct _xmlAttribute *nexth; /** attribute type */ xmlAttributeType atype; /** attribute default */ xmlAttributeDefault def; /** default value */ xmlChar *defaultValue; /** enumeration tree if any */ xmlEnumeration *tree XML_DEPRECATED_MEMBER; /** namespace prefix if any */ const xmlChar *prefix; /** element name */ const xmlChar *elem; }; /** * Possible definitions of element content types. */ typedef enum { XML_ELEMENT_CONTENT_PCDATA = 1, XML_ELEMENT_CONTENT_ELEMENT, XML_ELEMENT_CONTENT_SEQ, XML_ELEMENT_CONTENT_OR } xmlElementContentType; /** * Possible definitions of element content occurrences. */ typedef enum { XML_ELEMENT_CONTENT_ONCE = 1, XML_ELEMENT_CONTENT_OPT, XML_ELEMENT_CONTENT_MULT, XML_ELEMENT_CONTENT_PLUS } xmlElementContentOccur; /** Element content in element declarations */ typedef struct _xmlElementContent xmlElementContent; typedef xmlElementContent *xmlElementContentPtr; /** * An XML Element content as stored after parsing an element definition * in a DTD. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlElementContent { /** PCDATA, ELEMENT, SEQ or OR */ xmlElementContentType type XML_DEPRECATED_MEMBER; /** ONCE, OPT, MULT or PLUS */ xmlElementContentOccur ocur XML_DEPRECATED_MEMBER; /** element name */ const xmlChar *name XML_DEPRECATED_MEMBER; /** first child */ struct _xmlElementContent *c1 XML_DEPRECATED_MEMBER; /** second child */ struct _xmlElementContent *c2 XML_DEPRECATED_MEMBER; /** parent */ struct _xmlElementContent *parent XML_DEPRECATED_MEMBER; /** namespace prefix */ const xmlChar *prefix XML_DEPRECATED_MEMBER; }; /** * The different possibilities for an element content type. */ typedef enum { XML_ELEMENT_TYPE_UNDEFINED = 0, XML_ELEMENT_TYPE_EMPTY = 1, XML_ELEMENT_TYPE_ANY, XML_ELEMENT_TYPE_MIXED, XML_ELEMENT_TYPE_ELEMENT } xmlElementTypeVal; /** Element declaration */ typedef struct _xmlElement xmlElement; typedef xmlElement *xmlElementPtr; /** * An XML Element declaration from a DTD. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlElement { /** application data */ void *_private; /** XML_ELEMENT_DECL */ xmlElementType type; /** element name */ const xmlChar *name; /** NULL */ struct _xmlNode *children; /** NULL */ struct _xmlNode *last; /** -> DTD */ struct _xmlDtd *parent; /** next sibling */ struct _xmlNode *next; /** previous sibling */ struct _xmlNode *prev; /** containing document */ struct _xmlDoc *doc; /** element type */ xmlElementTypeVal etype; /** allowed element content */ xmlElementContent *content; /** list of declared attributes */ xmlAttribute *attributes; /** namespace prefix if any */ const xmlChar *prefix; #ifdef LIBXML_REGEXP_ENABLED /** validating regexp */ xmlRegexp *contModel XML_DEPRECATED_MEMBER; #else void *contModel XML_DEPRECATED_MEMBER; #endif }; /** * A namespace declaration node. */ #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL typedef xmlElementType xmlNsType; /** Namespace declaration */ typedef struct _xmlNs xmlNs; typedef xmlNs *xmlNsPtr; /** * An XML namespace. * Note that prefix == NULL is valid, it defines the default namespace * within the subtree (until overridden). * * xmlNsType is unified with xmlElementType. * * Note that the XPath engine returns XPath namespace nodes as * xmlNs cast to xmlNode. This is a terrible design decision that * can easily cause type confusion errors. In this case, the `next` * member points to the xmlNode element to which the namespace * node belongs. */ struct _xmlNs { /** next namespace */ struct _xmlNs *next; /** XML_NAMESPACE_DECL */ xmlNsType type; /** namespace URI */ const xmlChar *href; /** namespace prefix */ const xmlChar *prefix; /** application data */ void *_private; /** normally an xmlDoc */ struct _xmlDoc *context XML_DEPRECATED_MEMBER; }; /** Document type definition (DTD) */ typedef struct _xmlDtd xmlDtd; typedef xmlDtd *xmlDtdPtr; /** * An XML DTD, as defined by ns. * (Note that this is not intended for elem->nsDef). */ xmlDOMWrapAcquireNsFunction getNsForNodeFunc; }; /** * Signature for the registration callback of a created node * * @param node the current node */ typedef void (*xmlRegisterNodeFunc) (xmlNode *node); /** * Signature for the deregistration callback of a discarded node * * @param node the current node */ typedef void (*xmlDeregisterNodeFunc) (xmlNode *node); /** * Macro for compatibility naming layer with libxml1. Maps * to "children." */ #ifndef xmlChildrenNode #define xmlChildrenNode children #endif /** * Macro for compatibility naming layer with libxml1. Maps * to "children". */ #ifndef xmlRootNode #define xmlRootNode children #endif /* * Variables. */ /** @cond ignore */ XML_DEPRECATED XMLPUBFUN xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void); XML_DEPRECATED XMLPUBFUN xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void); #ifndef XML_GLOBALS_NO_REDEFINITION #define xmlRegisterNodeDefaultValue \ (*__xmlRegisterNodeDefaultValue()) #define xmlDeregisterNodeDefaultValue \ (*__xmlDeregisterNodeDefaultValue()) #endif /** @endcond */ /* * Some helper functions */ XMLPUBFUN int xmlValidateNCName (const xmlChar *value, int space); XMLPUBFUN int xmlValidateQName (const xmlChar *value, int space); XMLPUBFUN int xmlValidateName (const xmlChar *value, int space); XMLPUBFUN int xmlValidateNMToken (const xmlChar *value, int space); XMLPUBFUN xmlChar * xmlBuildQName (const xmlChar *ncname, const xmlChar *prefix, xmlChar *memory, int len); XMLPUBFUN xmlChar * xmlSplitQName2 (const xmlChar *name, xmlChar **prefix); XMLPUBFUN const xmlChar * xmlSplitQName3 (const xmlChar *name, int *len); /* * Creating/freeing new structures. */ XMLPUBFUN xmlDtd * xmlCreateIntSubset (xmlDoc *doc, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlDtd * xmlNewDtd (xmlDoc *doc, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlDtd * xmlGetIntSubset (const xmlDoc *doc); XMLPUBFUN void xmlFreeDtd (xmlDtd *cur); XMLPUBFUN xmlNs * xmlNewNs (xmlNode *node, const xmlChar *href, const xmlChar *prefix); XMLPUBFUN void xmlFreeNs (xmlNs *cur); XMLPUBFUN void xmlFreeNsList (xmlNs *cur); XMLPUBFUN xmlDoc * xmlNewDoc (const xmlChar *version); XMLPUBFUN void xmlFreeDoc (xmlDoc *cur); XMLPUBFUN xmlAttr * xmlNewDocProp (xmlDoc *doc, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlNewProp (xmlNode *node, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlNewNsProp (xmlNode *node, xmlNs *ns, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlNewNsPropEatName (xmlNode *node, xmlNs *ns, xmlChar *name, const xmlChar *value); XMLPUBFUN void xmlFreePropList (xmlAttr *cur); XMLPUBFUN void xmlFreeProp (xmlAttr *cur); XMLPUBFUN xmlAttr * xmlCopyProp (xmlNode *target, xmlAttr *cur); XMLPUBFUN xmlAttr * xmlCopyPropList (xmlNode *target, xmlAttr *cur); XMLPUBFUN xmlDtd * xmlCopyDtd (xmlDtd *dtd); XMLPUBFUN xmlDoc * xmlCopyDoc (xmlDoc *doc, int recursive); /* * Creating new nodes. */ XMLPUBFUN xmlNode * xmlNewDocNode (xmlDoc *doc, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocNodeEatName (xmlDoc *doc, xmlNs *ns, xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewNode (xmlNs *ns, const xmlChar *name); XMLPUBFUN xmlNode * xmlNewNodeEatName (xmlNs *ns, xmlChar *name); XMLPUBFUN xmlNode * xmlNewChild (xmlNode *parent, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocText (const xmlDoc *doc, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewText (const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocPI (xmlDoc *doc, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewPI (const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocTextLen (xmlDoc *doc, const xmlChar *content, int len); XMLPUBFUN xmlNode * xmlNewTextLen (const xmlChar *content, int len); XMLPUBFUN xmlNode * xmlNewDocComment (xmlDoc *doc, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewComment (const xmlChar *content); XMLPUBFUN xmlNode * xmlNewCDataBlock (xmlDoc *doc, const xmlChar *content, int len); XMLPUBFUN xmlNode * xmlNewCharRef (xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlNode * xmlNewReference (const xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlNode * xmlCopyNode (xmlNode *node, int recursive); XMLPUBFUN xmlNode * xmlDocCopyNode (xmlNode *node, xmlDoc *doc, int recursive); XMLPUBFUN xmlNode * xmlDocCopyNodeList (xmlDoc *doc, xmlNode *node); XMLPUBFUN xmlNode * xmlCopyNodeList (xmlNode *node); XMLPUBFUN xmlNode * xmlNewTextChild (xmlNode *parent, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocRawNode (xmlDoc *doc, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocFragment (xmlDoc *doc); /* * Navigating. */ XMLPUBFUN long xmlGetLineNo (const xmlNode *node); XMLPUBFUN xmlChar * xmlGetNodePath (const xmlNode *node); XMLPUBFUN xmlNode * xmlDocGetRootElement (const xmlDoc *doc); XMLPUBFUN xmlNode * xmlGetLastChild (const xmlNode *parent); XMLPUBFUN int xmlNodeIsText (const xmlNode *node); XMLPUBFUN int xmlIsBlankNode (const xmlNode *node); /* * Changing the structure. */ XMLPUBFUN xmlNode * xmlDocSetRootElement (xmlDoc *doc, xmlNode *root); XMLPUBFUN void xmlNodeSetName (xmlNode *cur, const xmlChar *name); XMLPUBFUN xmlNode * xmlAddChild (xmlNode *parent, xmlNode *cur); XMLPUBFUN xmlNode * xmlAddChildList (xmlNode *parent, xmlNode *cur); XMLPUBFUN xmlNode * xmlReplaceNode (xmlNode *old, xmlNode *cur); XMLPUBFUN xmlNode * xmlAddPrevSibling (xmlNode *cur, xmlNode *elem); XMLPUBFUN xmlNode * xmlAddSibling (xmlNode *cur, xmlNode *elem); XMLPUBFUN xmlNode * xmlAddNextSibling (xmlNode *cur, xmlNode *elem); XMLPUBFUN void xmlUnlinkNode (xmlNode *cur); XMLPUBFUN xmlNode * xmlTextMerge (xmlNode *first, xmlNode *second); XMLPUBFUN int xmlTextConcat (xmlNode *node, const xmlChar *content, int len); XMLPUBFUN void xmlFreeNodeList (xmlNode *cur); XMLPUBFUN void xmlFreeNode (xmlNode *cur); XMLPUBFUN int xmlSetTreeDoc (xmlNode *tree, xmlDoc *doc); XMLPUBFUN int xmlSetListDoc (xmlNode *list, xmlDoc *doc); /* * Namespaces. */ XMLPUBFUN xmlNs * xmlSearchNs (xmlDoc *doc, xmlNode *node, const xmlChar *nameSpace); XMLPUBFUN xmlNs * xmlSearchNsByHref (xmlDoc *doc, xmlNode *node, const xmlChar *href); XMLPUBFUN int xmlGetNsListSafe (const xmlDoc *doc, const xmlNode *node, xmlNs ***out); XMLPUBFUN xmlNs ** xmlGetNsList (const xmlDoc *doc, const xmlNode *node); XMLPUBFUN void xmlSetNs (xmlNode *node, xmlNs *ns); XMLPUBFUN xmlNs * xmlCopyNamespace (xmlNs *cur); XMLPUBFUN xmlNs * xmlCopyNamespaceList (xmlNs *cur); /* * Changing the content. */ XMLPUBFUN xmlAttr * xmlSetProp (xmlNode *node, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlSetNsProp (xmlNode *node, xmlNs *ns, const xmlChar *name, const xmlChar *value); XMLPUBFUN int xmlNodeGetAttrValue (const xmlNode *node, const xmlChar *name, const xmlChar *nsUri, xmlChar **out); XMLPUBFUN xmlChar * xmlGetNoNsProp (const xmlNode *node, const xmlChar *name); XMLPUBFUN xmlChar * xmlGetProp (const xmlNode *node, const xmlChar *name); XMLPUBFUN xmlAttr * xmlHasProp (const xmlNode *node, const xmlChar *name); XMLPUBFUN xmlAttr * xmlHasNsProp (const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace); XMLPUBFUN xmlChar * xmlGetNsProp (const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace); XMLPUBFUN xmlNode * xmlStringGetNodeList (const xmlDoc *doc, const xmlChar *value); XMLPUBFUN xmlNode * xmlStringLenGetNodeList (const xmlDoc *doc, const xmlChar *value, int len); XMLPUBFUN xmlChar * xmlNodeListGetString (xmlDoc *doc, const xmlNode *list, int inLine); XMLPUBFUN xmlChar * xmlNodeListGetRawString (const xmlDoc *doc, const xmlNode *list, int inLine); XMLPUBFUN int xmlNodeSetContent (xmlNode *cur, const xmlChar *content); XMLPUBFUN int xmlNodeSetContentLen (xmlNode *cur, const xmlChar *content, int len); XMLPUBFUN int xmlNodeAddContent (xmlNode *cur, const xmlChar *content); XMLPUBFUN int xmlNodeAddContentLen (xmlNode *cur, const xmlChar *content, int len); XMLPUBFUN xmlChar * xmlNodeGetContent (const xmlNode *cur); XMLPUBFUN int xmlNodeBufGetContent (xmlBuffer *buffer, const xmlNode *cur); XMLPUBFUN int xmlBufGetNodeContent (xmlBuf *buf, const xmlNode *cur); XMLPUBFUN xmlChar * xmlNodeGetLang (const xmlNode *cur); XMLPUBFUN int xmlNodeGetSpacePreserve (const xmlNode *cur); XMLPUBFUN int xmlNodeSetLang (xmlNode *cur, const xmlChar *lang); XMLPUBFUN int xmlNodeSetSpacePreserve (xmlNode *cur, int val); XMLPUBFUN int xmlNodeGetBaseSafe (const xmlDoc *doc, const xmlNode *cur, xmlChar **baseOut); XMLPUBFUN xmlChar * xmlNodeGetBase (const xmlDoc *doc, const xmlNode *cur); XMLPUBFUN int xmlNodeSetBase (xmlNode *cur, const xmlChar *uri); /* * Removing content. */ XMLPUBFUN int xmlRemoveProp (xmlAttr *cur); XMLPUBFUN int xmlUnsetNsProp (xmlNode *node, xmlNs *ns, const xmlChar *name); XMLPUBFUN int xmlUnsetProp (xmlNode *node, const xmlChar *name); #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBuffer *buf, xmlDoc *doc, xmlAttr *attr, const xmlChar *string); #endif /* LIBXML_OUTPUT_ENABLED */ /* * Namespace handling. */ XMLPUBFUN int xmlReconciliateNs (xmlDoc *doc, xmlNode *tree); #ifdef LIBXML_OUTPUT_ENABLED /* * Saving. */ XMLPUBFUN void xmlDocDumpFormatMemory (xmlDoc *cur, xmlChar **mem, int *size, int format); XMLPUBFUN void xmlDocDumpMemory (xmlDoc *cur, xmlChar **mem, int *size); XMLPUBFUN void xmlDocDumpMemoryEnc (xmlDoc *out_doc, xmlChar **doc_txt_ptr, int * doc_txt_len, const char *txt_encoding); XMLPUBFUN void xmlDocDumpFormatMemoryEnc(xmlDoc *out_doc, xmlChar **doc_txt_ptr, int * doc_txt_len, const char *txt_encoding, int format); XMLPUBFUN int xmlDocFormatDump (FILE *f, xmlDoc *cur, int format); XMLPUBFUN int xmlDocDump (FILE *f, xmlDoc *cur); XMLPUBFUN void xmlElemDump (FILE *f, xmlDoc *doc, xmlNode *cur); XMLPUBFUN int xmlSaveFile (const char *filename, xmlDoc *cur); XMLPUBFUN int xmlSaveFormatFile (const char *filename, xmlDoc *cur, int format); XMLPUBFUN size_t xmlBufNodeDump (xmlBuf *buf, xmlDoc *doc, xmlNode *cur, int level, int format); XMLPUBFUN int xmlNodeDump (xmlBuffer *buf, xmlDoc *doc, xmlNode *cur, int level, int format); XMLPUBFUN int xmlSaveFileTo (xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding); XMLPUBFUN int xmlSaveFormatFileTo (xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding, int format); XMLPUBFUN void xmlNodeDumpOutput (xmlOutputBuffer *buf, xmlDoc *doc, xmlNode *cur, int level, int format, const char *encoding); XMLPUBFUN int xmlSaveFormatFileEnc (const char *filename, xmlDoc *cur, const char *encoding, int format); XMLPUBFUN int xmlSaveFileEnc (const char *filename, xmlDoc *cur, const char *encoding); #endif /* LIBXML_OUTPUT_ENABLED */ /* * XHTML */ XMLPUBFUN int xmlIsXHTML (const xmlChar *systemID, const xmlChar *publicID); /* * Compression. */ XMLPUBFUN int xmlGetDocCompressMode (const xmlDoc *doc); XMLPUBFUN void xmlSetDocCompressMode (xmlDoc *doc, int mode); XML_DEPRECATED XMLPUBFUN int xmlGetCompressMode (void); XML_DEPRECATED XMLPUBFUN void xmlSetCompressMode (int mode); /* * DOM-wrapper helper functions. */ XMLPUBFUN xmlDOMWrapCtxt * xmlDOMWrapNewCtxt (void); XMLPUBFUN void xmlDOMWrapFreeCtxt (xmlDOMWrapCtxt *ctxt); XMLPUBFUN int xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxt *ctxt, xmlNode *elem, int options); XMLPUBFUN int xmlDOMWrapAdoptNode (xmlDOMWrapCtxt *ctxt, xmlDoc *sourceDoc, xmlNode *node, xmlDoc *destDoc, xmlNode *destParent, int options); XMLPUBFUN int xmlDOMWrapRemoveNode (xmlDOMWrapCtxt *ctxt, xmlDoc *doc, xmlNode *node, int options); XMLPUBFUN int xmlDOMWrapCloneNode (xmlDOMWrapCtxt *ctxt, xmlDoc *sourceDoc, xmlNode *node, xmlNode **clonedNode, xmlDoc *destDoc, xmlNode *destParent, int deep, int options); /* * 5 interfaces from DOM ElementTraversal, but different in entities * traversal. */ XMLPUBFUN unsigned long xmlChildElementCount (xmlNode *parent); XMLPUBFUN xmlNode * xmlNextElementSibling (xmlNode *node); XMLPUBFUN xmlNode * xmlFirstElementChild (xmlNode *parent); XMLPUBFUN xmlNode * xmlLastElementChild (xmlNode *parent); XMLPUBFUN xmlNode * xmlPreviousElementSibling (xmlNode *node); XML_DEPRECATED XMLPUBFUN xmlRegisterNodeFunc xmlRegisterNodeDefault (xmlRegisterNodeFunc func); XML_DEPRECATED XMLPUBFUN xmlDeregisterNodeFunc xmlDeregisterNodeDefault (xmlDeregisterNodeFunc func); XML_DEPRECATED XMLPUBFUN xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); XML_DEPRECATED XMLPUBFUN xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); /* * Handling Buffers, the old ones see `xmlBuf` for the new ones. */ XML_DEPRECATED XMLPUBFUN void xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); XML_DEPRECATED XMLPUBFUN xmlBufferAllocationScheme xmlGetBufferAllocationScheme(void); XMLPUBFUN xmlBuffer * xmlBufferCreate (void); XMLPUBFUN xmlBuffer * xmlBufferCreateSize (size_t size); XMLPUBFUN xmlBuffer * xmlBufferCreateStatic (void *mem, size_t size); XML_DEPRECATED XMLPUBFUN int xmlBufferResize (xmlBuffer *buf, unsigned int size); XMLPUBFUN void xmlBufferFree (xmlBuffer *buf); XMLPUBFUN int xmlBufferDump (FILE *file, xmlBuffer *buf); XMLPUBFUN int xmlBufferAdd (xmlBuffer *buf, const xmlChar *str, int len); XMLPUBFUN int xmlBufferAddHead (xmlBuffer *buf, const xmlChar *str, int len); XMLPUBFUN int xmlBufferCat (xmlBuffer *buf, const xmlChar *str); XMLPUBFUN int xmlBufferCCat (xmlBuffer *buf, const char *str); XML_DEPRECATED XMLPUBFUN int xmlBufferShrink (xmlBuffer *buf, unsigned int len); XML_DEPRECATED XMLPUBFUN int xmlBufferGrow (xmlBuffer *buf, unsigned int len); XMLPUBFUN void xmlBufferEmpty (xmlBuffer *buf); XMLPUBFUN const xmlChar* xmlBufferContent (const xmlBuffer *buf); XMLPUBFUN xmlChar* xmlBufferDetach (xmlBuffer *buf); XMLPUBFUN void xmlBufferSetAllocationScheme(xmlBuffer *buf, xmlBufferAllocationScheme scheme); XMLPUBFUN int xmlBufferLength (const xmlBuffer *buf); XMLPUBFUN void xmlBufferWriteCHAR (xmlBuffer *buf, const xmlChar *string); XMLPUBFUN void xmlBufferWriteChar (xmlBuffer *buf, const char *string); XMLPUBFUN void xmlBufferWriteQuotedString(xmlBuffer *buf, const xmlChar *string); /* * A few public routines for xmlBuf. As those are expected to be used * mostly internally the bulk of the routines are internal in buf.h */ XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf); XMLPUBFUN xmlChar* xmlBufEnd (xmlBuf *buf); XMLPUBFUN size_t xmlBufUse (xmlBuf *buf); XMLPUBFUN size_t xmlBufShrink (xmlBuf *buf, size_t len); #ifdef __cplusplus } #endif #endif /* __XML_TREE_H__ */ #endif /* XML_TREE_INTERNALS */ libxml/xmlschemastypes.h000064400000010676152525225610011454 0ustar00/** * @file * * @brief implementation of XML Schema Datatypes * * module providing the XML Schema Datatypes implementation * both definition and validity checking * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_SCHEMA_TYPES_H__ #define __XML_SCHEMA_TYPES_H__ #include #ifdef LIBXML_SCHEMAS_ENABLED #include #include #ifdef __cplusplus extern "C" { #endif /** * Schema whitespace value type */ typedef enum { XML_SCHEMA_WHITESPACE_UNKNOWN = 0, XML_SCHEMA_WHITESPACE_PRESERVE = 1, XML_SCHEMA_WHITESPACE_REPLACE = 2, XML_SCHEMA_WHITESPACE_COLLAPSE = 3 } xmlSchemaWhitespaceValueType; XMLPUBFUN int xmlSchemaInitTypes (void); XML_DEPRECATED XMLPUBFUN void xmlSchemaCleanupTypes (void); XMLPUBFUN xmlSchemaType * xmlSchemaGetPredefinedType (const xmlChar *name, const xmlChar *ns); XMLPUBFUN int xmlSchemaValidatePredefinedType (xmlSchemaType *type, const xmlChar *value, xmlSchemaVal **val); XMLPUBFUN int xmlSchemaValPredefTypeNode (xmlSchemaType *type, const xmlChar *value, xmlSchemaVal **val, xmlNode *node); XMLPUBFUN int xmlSchemaValidateFacet (xmlSchemaType *base, xmlSchemaFacet *facet, const xmlChar *value, xmlSchemaVal *val); XMLPUBFUN int xmlSchemaValidateFacetWhtsp (xmlSchemaFacet *facet, xmlSchemaWhitespaceValueType fws, xmlSchemaValType valType, const xmlChar *value, xmlSchemaVal *val, xmlSchemaWhitespaceValueType ws); XMLPUBFUN void xmlSchemaFreeValue (xmlSchemaVal *val); XMLPUBFUN xmlSchemaFacet * xmlSchemaNewFacet (void); XMLPUBFUN int xmlSchemaCheckFacet (xmlSchemaFacet *facet, xmlSchemaType *typeDecl, xmlSchemaParserCtxt *ctxt, const xmlChar *name); XMLPUBFUN void xmlSchemaFreeFacet (xmlSchemaFacet *facet); XMLPUBFUN int xmlSchemaCompareValues (xmlSchemaVal *x, xmlSchemaVal *y); XMLPUBFUN xmlSchemaType * xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaType *type); XMLPUBFUN int xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacet *facet, const xmlChar *value, unsigned long actualLen, unsigned long *expectedLen); XMLPUBFUN xmlSchemaType * xmlSchemaGetBuiltInType (xmlSchemaValType type); XMLPUBFUN int xmlSchemaIsBuiltInTypeFacet (xmlSchemaType *type, int facetType); XMLPUBFUN xmlChar * xmlSchemaCollapseString (const xmlChar *value); XMLPUBFUN xmlChar * xmlSchemaWhiteSpaceReplace (const xmlChar *value); XMLPUBFUN unsigned long xmlSchemaGetFacetValueAsULong (xmlSchemaFacet *facet); XMLPUBFUN int xmlSchemaValidateLengthFacet (xmlSchemaType *type, xmlSchemaFacet *facet, const xmlChar *value, xmlSchemaVal *val, unsigned long *length); XMLPUBFUN int xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacet *facet, xmlSchemaValType valType, const xmlChar *value, xmlSchemaVal *val, unsigned long *length, xmlSchemaWhitespaceValueType ws); XMLPUBFUN int xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaType *type, const xmlChar *value, xmlSchemaVal **val, xmlNode *node); XMLPUBFUN int xmlSchemaGetCanonValue (xmlSchemaVal *val, const xmlChar **retValue); XMLPUBFUN int xmlSchemaGetCanonValueWhtsp (xmlSchemaVal *val, const xmlChar **retValue, xmlSchemaWhitespaceValueType ws); XMLPUBFUN int xmlSchemaValueAppend (xmlSchemaVal *prev, xmlSchemaVal *cur); XMLPUBFUN xmlSchemaVal * xmlSchemaValueGetNext (xmlSchemaVal *cur); XMLPUBFUN const xmlChar * xmlSchemaValueGetAsString (xmlSchemaVal *val); XMLPUBFUN int xmlSchemaValueGetAsBoolean (xmlSchemaVal *val); XMLPUBFUN xmlSchemaVal * xmlSchemaNewStringValue (xmlSchemaValType type, const xmlChar *value); XMLPUBFUN xmlSchemaVal * xmlSchemaNewNOTATIONValue (const xmlChar *name, const xmlChar *ns); XMLPUBFUN xmlSchemaVal * xmlSchemaNewQNameValue (const xmlChar *namespaceName, const xmlChar *localName); XMLPUBFUN int xmlSchemaCompareValuesWhtsp (xmlSchemaVal *x, xmlSchemaWhitespaceValueType xws, xmlSchemaVal *y, xmlSchemaWhitespaceValueType yws); XMLPUBFUN xmlSchemaVal * xmlSchemaCopyValue (xmlSchemaVal *val); XMLPUBFUN xmlSchemaValType xmlSchemaGetValType (xmlSchemaVal *val); #ifdef __cplusplus } #endif #endif /* LIBXML_SCHEMAS_ENABLED */ #endif /* __XML_SCHEMA_TYPES_H__ */ libxml/chvalid.h000064400000011325152525225610007625 0ustar00/** * @file * * @brief Unicode character range checking * * this module exports interfaces for the character * range validation APIs */ #ifndef __XML_CHVALID_H__ #define __XML_CHVALID_H__ #include #include #ifdef __cplusplus extern "C" { #endif /** @cond ignore */ /* * Define our typedefs and structures * */ typedef struct _xmlChSRange xmlChSRange; typedef xmlChSRange *xmlChSRangePtr; struct _xmlChSRange { unsigned short low; unsigned short high; }; typedef struct _xmlChLRange xmlChLRange; typedef xmlChLRange *xmlChLRangePtr; struct _xmlChLRange { unsigned int low; unsigned int high; }; typedef struct _xmlChRangeGroup xmlChRangeGroup; typedef xmlChRangeGroup *xmlChRangeGroupPtr; struct _xmlChRangeGroup { int nbShortRange; int nbLongRange; const xmlChSRange *shortRange; /* points to an array of ranges */ const xmlChLRange *longRange; }; XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256]; /** * Range checking routine */ XMLPUBFUN int xmlCharInRange(unsigned int val, const xmlChRangeGroup *group); /** @endcond */ /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ ((0x61 <= (c)) && ((c) <= 0x7a)) || \ ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ (0xf8 <= (c))) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ xmlIsBaseChar_ch((c)) : \ xmlCharInRange((c), &xmlIsBaseCharGroup)) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBlank_ch(c) (((c) == 0x20) || \ ((0x9 <= (c)) && ((c) <= 0xa)) || \ ((c) == 0xd)) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBlankQ(c) (((c) < 0x100) ? \ xmlIsBlank_ch((c)) : 0) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ ((c) == 0xd) || \ (0x20 <= (c))) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsCharQ(c) (((c) < 0x100) ? \ xmlIsChar_ch((c)) :\ (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ ((0x10000 <= (c)) && ((c) <= 0x10ffff)))) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsCombiningQ(c) (((c) < 0x100) ? \ 0 : \ xmlCharInRange((c), &xmlIsCombiningGroup)) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39))) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsDigitQ(c) (((c) < 0x100) ? \ xmlIsDigit_ch((c)) : \ xmlCharInRange((c), &xmlIsDigitGroup)) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsExtender_ch(c) (((c) == 0xb7)) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsExtenderQ(c) (((c) < 0x100) ? \ xmlIsExtender_ch((c)) : \ xmlCharInRange((c), &xmlIsExtenderGroup)) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ 0 :\ (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ ((c) == 0x3007) || \ ((0x3021 <= (c)) && ((c) <= 0x3029)))) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)]) /** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ xmlIsPubidChar_ch((c)) : 0) XML_DEPRECATED XMLPUBFUN int xmlIsBaseChar(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsBlank(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsChar(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsCombining(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsDigit(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsExtender(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsIdeographic(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsPubidChar(unsigned int ch); #ifdef __cplusplus } #endif #endif /* __XML_CHVALID_H__ */ libxml/nanohttp.h000064400000004140152525225610010043 0ustar00/** * @file * * @brief minimal HTTP implementation * * minimal HTTP implementation allowing to fetch resources * like external subset. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __NANO_HTTP_H__ #define __NANO_HTTP_H__ #include #ifdef LIBXML_HTTP_STUBS_ENABLED #ifdef __cplusplus extern "C" { #endif XML_DEPRECATED XMLPUBFUN void xmlNanoHTTPInit (void); XML_DEPRECATED XMLPUBFUN void xmlNanoHTTPCleanup (void); XML_DEPRECATED XMLPUBFUN void xmlNanoHTTPScanProxy (const char *URL); XML_DEPRECATED XMLPUBFUN int xmlNanoHTTPFetch (const char *URL, const char *filename, char **contentType); XML_DEPRECATED XMLPUBFUN void * xmlNanoHTTPMethod (const char *URL, const char *method, const char *input, char **contentType, const char *headers, int ilen); XML_DEPRECATED XMLPUBFUN void * xmlNanoHTTPMethodRedir (const char *URL, const char *method, const char *input, char **contentType, char **redir, const char *headers, int ilen); XML_DEPRECATED XMLPUBFUN void * xmlNanoHTTPOpen (const char *URL, char **contentType); XML_DEPRECATED XMLPUBFUN void * xmlNanoHTTPOpenRedir (const char *URL, char **contentType, char **redir); XML_DEPRECATED XMLPUBFUN int xmlNanoHTTPReturnCode (void *ctx); XML_DEPRECATED XMLPUBFUN const char * xmlNanoHTTPAuthHeader (void *ctx); XML_DEPRECATED XMLPUBFUN const char * xmlNanoHTTPRedir (void *ctx); XML_DEPRECATED XMLPUBFUN int xmlNanoHTTPContentLength( void * ctx ); XML_DEPRECATED XMLPUBFUN const char * xmlNanoHTTPEncoding (void *ctx); XML_DEPRECATED XMLPUBFUN const char * xmlNanoHTTPMimeType (void *ctx); XML_DEPRECATED XMLPUBFUN int xmlNanoHTTPRead (void *ctx, void *dest, int len); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN int xmlNanoHTTPSave (void *ctxt, const char *filename); #endif /* LIBXML_OUTPUT_ENABLED */ XML_DEPRECATED XMLPUBFUN void xmlNanoHTTPClose (void *ctx); #ifdef __cplusplus } #endif #endif /* LIBXML_HTTP_STUBS_ENABLED */ #endif /* __NANO_HTTP_H__ */ libxml/xmlversion.h000064400000007632152525225610010427 0ustar00/** * @file * * @brief compile-time version information * * compile-time version information for the XML library * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_VERSION_H__ #define __XML_VERSION_H__ /** * the version string like "1.2.3" */ #define LIBXML_DOTTED_VERSION "2.15.4" /** * the version number: 1.2.3 value is 10203 */ #define LIBXML_VERSION 21504 /** * the version number string, 1.2.3 value is "10203" */ #define LIBXML_VERSION_STRING "21504" /** * extra version information, used to show a git commit description */ #define LIBXML_VERSION_EXTRA "" /** * Macro to check that the libxml version in use is compatible with * the version the software has been compiled against */ #define LIBXML_TEST_VERSION xmlCheckVersion(21504); #if 1 /** * Whether the thread support is configured in */ #define LIBXML_THREAD_ENABLED #endif #if 0 /** * Whether the allocation hooks are per-thread */ #define LIBXML_THREAD_ALLOC_ENABLED #endif /** * Always enabled since 2.14.0 */ #define LIBXML_TREE_ENABLED #if 1 /** * Whether the serialization/saving support is configured in */ #define LIBXML_OUTPUT_ENABLED #endif #if 1 /** * Whether the push parsing interfaces are configured in */ #define LIBXML_PUSH_ENABLED #endif #if 1 /** * Whether the xmlReader parsing interface is configured in */ #define LIBXML_READER_ENABLED #endif #if 1 /** * Whether the xmlPattern node selection interface is configured in */ #define LIBXML_PATTERN_ENABLED #endif #if 1 /** * Whether the xmlWriter saving interface is configured in */ #define LIBXML_WRITER_ENABLED #endif #if 1 /** * Whether the older SAX1 interface is configured in */ #define LIBXML_SAX1_ENABLED #endif #if 0 /** * HTTP support was removed in 2.15 */ #define LIBXML_HTTP_STUBS_ENABLED #endif #if 1 /** * Whether the DTD validation support is configured in */ #define LIBXML_VALID_ENABLED #endif #if 1 /** * Whether the HTML support is configured in */ #define LIBXML_HTML_ENABLED #endif /* * Removed in 2.14 */ #undef LIBXML_LEGACY_ENABLED #if 1 /** * Whether the Canonicalization support is configured in */ #define LIBXML_C14N_ENABLED #endif #if 1 /** * Whether the Catalog support is configured in */ #define LIBXML_CATALOG_ENABLED #define LIBXML_SGML_CATALOG_ENABLED #endif #if 1 /** * Whether XPath is configured in */ #define LIBXML_XPATH_ENABLED #endif #if 1 /** * Whether XPointer is configured in */ #define LIBXML_XPTR_ENABLED #endif #if 1 /** * Whether XInclude is configured in */ #define LIBXML_XINCLUDE_ENABLED #endif #if 1 /** * Whether iconv support is available */ #define LIBXML_ICONV_ENABLED #endif #if 0 /** * Whether icu support is available */ #define LIBXML_ICU_ENABLED #endif #if 1 /** * Whether ISO-8859-* support is made available in case iconv is not */ #define LIBXML_ISO8859X_ENABLED #endif #if 1 /** * Whether Debugging module is configured in */ #define LIBXML_DEBUG_ENABLED #endif /* * Removed in 2.14 */ #undef LIBXML_UNICODE_ENABLED #if 1 /** * Whether the regular expressions interfaces are compiled in */ #define LIBXML_REGEXP_ENABLED #endif #if 1 /** * Whether the automata interfaces are compiled in */ #define LIBXML_AUTOMATA_ENABLED #endif #if 1 /** * Whether the RelaxNG validation interfaces are compiled in */ #define LIBXML_RELAXNG_ENABLED #endif #if 1 /** * Whether the Schemas validation interfaces are compiled in */ #define LIBXML_SCHEMAS_ENABLED #endif #if 0 /** * Whether the Schematron validation interfaces are compiled in */ #define LIBXML_SCHEMATRON_ENABLED #endif #if 1 /** * Whether the module interfaces are compiled in */ #define LIBXML_MODULES_ENABLED /** * the string suffix used by dynamic modules (usually shared libraries) */ #define LIBXML_MODULE_EXTENSION ".so" #endif #if 0 /** * Whether the Zlib support is compiled in */ #define LIBXML_ZLIB_ENABLED #endif #include #endif libxml/pattern.h000064400000005053152525225610007671 0ustar00/** * @file * * @brief pattern expression handling * * allows to compile and test pattern expressions for nodes * either in a tree or based on a parser state. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_PATTERN_H__ #define __XML_PATTERN_H__ #include #include #include #ifdef LIBXML_PATTERN_ENABLED #ifdef __cplusplus extern "C" { #endif /** * A compiled (XPath based) pattern to select nodes */ typedef struct _xmlPattern xmlPattern; typedef xmlPattern *xmlPatternPtr; /** * Internal type. This is the set of options affecting the behaviour * of pattern matching with this module. */ typedef enum { XML_PATTERN_DEFAULT = 0, /* simple pattern match */ XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */ XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */ XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */ } xmlPatternFlags; XMLPUBFUN void xmlFreePattern (xmlPattern *comp); XMLPUBFUN void xmlFreePatternList (xmlPattern *comp); XMLPUBFUN xmlPattern * xmlPatterncompile (const xmlChar *pattern, xmlDict *dict, int flags, const xmlChar **namespaces); XMLPUBFUN int xmlPatternCompileSafe (const xmlChar *pattern, xmlDict *dict, int flags, const xmlChar **namespaces, xmlPattern **patternOut); XMLPUBFUN int xmlPatternMatch (xmlPattern *comp, xmlNode *node); /** State object for streaming interface */ typedef struct _xmlStreamCtxt xmlStreamCtxt; typedef xmlStreamCtxt *xmlStreamCtxtPtr; XMLPUBFUN int xmlPatternStreamable (xmlPattern *comp); XMLPUBFUN int xmlPatternMaxDepth (xmlPattern *comp); XMLPUBFUN int xmlPatternMinDepth (xmlPattern *comp); XMLPUBFUN int xmlPatternFromRoot (xmlPattern *comp); XMLPUBFUN xmlStreamCtxt * xmlPatternGetStreamCtxt (xmlPattern *comp); XMLPUBFUN void xmlFreeStreamCtxt (xmlStreamCtxt *stream); XMLPUBFUN int xmlStreamPushNode (xmlStreamCtxt *stream, const xmlChar *name, const xmlChar *ns, int nodeType); XMLPUBFUN int xmlStreamPush (xmlStreamCtxt *stream, const xmlChar *name, const xmlChar *ns); XMLPUBFUN int xmlStreamPushAttr (xmlStreamCtxt *stream, const xmlChar *name, const xmlChar *ns); XMLPUBFUN int xmlStreamPop (xmlStreamCtxt *stream); XMLPUBFUN int xmlStreamWantsAnyNode (xmlStreamCtxt *stream); #ifdef __cplusplus } #endif #endif /* LIBXML_PATTERN_ENABLED */ #endif /* __XML_PATTERN_H__ */ libxml/xmlerror.h000064400000114647152525225610010100 0ustar00/** * @file * * @brief Error handling * * API for error reporting and callbacks. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_ERROR_H__ #define __XML_ERROR_H__ #include #ifdef __cplusplus extern "C" { #endif /** * Set generic error callback. * * @deprecated Use #xmlSetGenericErrorFunc */ #define initGenericErrorDefaultFunc(h) \ xmlSetGenericErrorFunc(NULL, (h) ? *((xmlGenericErrorFunc *) (h)) : NULL) /** * Indicates the level of an error */ typedef enum { /** Success */ XML_ERR_NONE = 0, /** * A warning * * When parsing XML, warnings are only reported to error * handlers. */ XML_ERR_WARNING = 1, /** * An error * * When parsing XML, this is used for recoverable errors like * * - namespace errors * - validity errors when validating * - certain undeclared entities * - ID uniqueness and xml:id errors * * Note that some recoverable errors in the sense of the XML * spec are reported as warnings. * * In other contexts, this may be used for unrecoverable * errors. */ XML_ERR_ERROR = 2, /** * A fatal error * * When parsing XML, a "fatal error" according to the XML spec. * This typically means that the document isn't well-formed. * * This also includes OOM and I/O errors, resource limit * exhaustion, unexpected errors from other libraries and * invalid argument errors. */ XML_ERR_FATAL = 3 } xmlErrorLevel; /** * Indicates where an error may have come from */ typedef enum { /** Unknown */ XML_FROM_NONE = 0, /** The XML parser */ XML_FROM_PARSER, /** The tree module (unused) */ XML_FROM_TREE, /** The XML Namespace module */ XML_FROM_NAMESPACE, /** The XML DTD validation with parser context */ XML_FROM_DTD, /** The HTML parser */ XML_FROM_HTML, /** The memory allocator (unused) */ XML_FROM_MEMORY, /** The serialization code */ XML_FROM_OUTPUT, /** The Input/Output stack */ XML_FROM_IO, /** The FTP module (unused) */ XML_FROM_FTP, /** The HTTP module (unused) */ XML_FROM_HTTP, /** The XInclude processing */ XML_FROM_XINCLUDE, /** The XPath module */ XML_FROM_XPATH, /** The XPointer module */ XML_FROM_XPOINTER, /** The regular expressions module */ XML_FROM_REGEXP, /** The W3C XML Schemas Datatype module */ XML_FROM_DATATYPE, /** The W3C XML Schemas parser module */ XML_FROM_SCHEMASP, /** The W3C XML Schemas validation module */ XML_FROM_SCHEMASV, /** The Relax-NG parser module */ XML_FROM_RELAXNGP, /** The Relax-NG validator module */ XML_FROM_RELAXNGV, /** The Catalog module */ XML_FROM_CATALOG, /** The Canonicalization module */ XML_FROM_C14N, /** The XSLT engine from libxslt (unused) */ XML_FROM_XSLT, /** The XML DTD validation with valid context */ XML_FROM_VALID, /** The error checking module (unused) */ XML_FROM_CHECK, /** The xmlwriter module */ XML_FROM_WRITER, /** The dynamically loaded module module (unused) */ XML_FROM_MODULE, /** The module handling character conversion (unused) */ XML_FROM_I18N, /** The Schematron validator module */ XML_FROM_SCHEMATRONV, /** The buffers module (unused) */ XML_FROM_BUFFER, /** The URI module (unused) */ XML_FROM_URI } xmlErrorDomain; /** Structured error */ typedef struct _xmlError xmlError; typedef xmlError *xmlErrorPtr; /** * An object containing information about an error. */ struct _xmlError { /** An xmlErrorDomain value. */ int domain; /** The error code, e.g. an xmlParserErrors. */ int code; /** Human-readable error message. */ char *message; /** Error level. */ xmlErrorLevel level; /** Filename if available */ char *file; /** Line number if available */ int line; /** Extra string information. */ char *str1; /** Extra string information. */ char *str2; /** Extra string information. */ char *str3; /** Extra number information. */ int int1; /** Column number if available. */ int int2; /** Parser context if available */ void *ctxt; /** Node if available */ void *node; }; /** * Error codes. Note that only some codes are documented. */ typedef enum { /** Success. */ XML_ERR_OK = 0, /** Internal assertion failure. */ XML_ERR_INTERNAL_ERROR, /* 1 */ /** Out of memory */ XML_ERR_NO_MEMORY, /* 2 */ XML_ERR_DOCUMENT_START, /* 3 */ XML_ERR_DOCUMENT_EMPTY, /* 4 */ XML_ERR_DOCUMENT_END, /* 5 */ XML_ERR_INVALID_HEX_CHARREF, /* 6 */ XML_ERR_INVALID_DEC_CHARREF, /* 7 */ XML_ERR_INVALID_CHARREF, /* 8 */ XML_ERR_INVALID_CHAR, /* 9 */ XML_ERR_CHARREF_AT_EOF, /* 10 */ XML_ERR_CHARREF_IN_PROLOG, /* 11 */ XML_ERR_CHARREF_IN_EPILOG, /* 12 */ XML_ERR_CHARREF_IN_DTD, /* 13 */ XML_ERR_ENTITYREF_AT_EOF, /* 14 */ XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */ XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */ XML_ERR_ENTITYREF_IN_DTD, /* 17 */ XML_ERR_PEREF_AT_EOF, /* 18 */ XML_ERR_PEREF_IN_PROLOG, /* 19 */ XML_ERR_PEREF_IN_EPILOG, /* 20 */ XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */ XML_ERR_ENTITYREF_NO_NAME, /* 22 */ XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */ XML_ERR_PEREF_NO_NAME, /* 24 */ XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */ XML_ERR_UNDECLARED_ENTITY, /* 26 */ XML_WAR_UNDECLARED_ENTITY, /* 27 */ XML_ERR_UNPARSED_ENTITY, /* 28 */ XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */ XML_ERR_ENTITY_IS_PARAMETER, /* 30 */ XML_ERR_UNKNOWN_ENCODING, /* 31 */ /** Unsupported character encoding. */ XML_ERR_UNSUPPORTED_ENCODING, /* 32 */ XML_ERR_STRING_NOT_STARTED, /* 33 */ XML_ERR_STRING_NOT_CLOSED, /* 34 */ XML_ERR_NS_DECL_ERROR, /* 35 */ XML_ERR_ENTITY_NOT_STARTED, /* 36 */ XML_ERR_ENTITY_NOT_FINISHED, /* 37 */ XML_ERR_LT_IN_ATTRIBUTE, /* 38 */ XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */ XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */ XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */ XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */ XML_ERR_LITERAL_NOT_STARTED, /* 43 */ XML_ERR_LITERAL_NOT_FINISHED, /* 44 */ XML_ERR_COMMENT_NOT_FINISHED, /* 45 */ XML_ERR_PI_NOT_STARTED, /* 46 */ XML_ERR_PI_NOT_FINISHED, /* 47 */ XML_ERR_NOTATION_NOT_STARTED, /* 48 */ XML_ERR_NOTATION_NOT_FINISHED, /* 49 */ XML_ERR_ATTLIST_NOT_STARTED, /* 50 */ XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */ XML_ERR_MIXED_NOT_STARTED, /* 52 */ XML_ERR_MIXED_NOT_FINISHED, /* 53 */ XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */ XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */ XML_ERR_XMLDECL_NOT_STARTED, /* 56 */ XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */ XML_ERR_CONDSEC_NOT_STARTED, /* 58 */ XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */ XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */ XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */ XML_ERR_MISPLACED_CDATA_END, /* 62 */ XML_ERR_CDATA_NOT_FINISHED, /* 63 */ XML_ERR_RESERVED_XML_NAME, /* 64 */ XML_ERR_SPACE_REQUIRED, /* 65 */ XML_ERR_SEPARATOR_REQUIRED, /* 66 */ XML_ERR_NMTOKEN_REQUIRED, /* 67 */ XML_ERR_NAME_REQUIRED, /* 68 */ XML_ERR_PCDATA_REQUIRED, /* 69 */ XML_ERR_URI_REQUIRED, /* 70 */ XML_ERR_PUBID_REQUIRED, /* 71 */ XML_ERR_LT_REQUIRED, /* 72 */ XML_ERR_GT_REQUIRED, /* 73 */ XML_ERR_LTSLASH_REQUIRED, /* 74 */ XML_ERR_EQUAL_REQUIRED, /* 75 */ XML_ERR_TAG_NAME_MISMATCH, /* 76 */ XML_ERR_TAG_NOT_FINISHED, /* 77 */ XML_ERR_STANDALONE_VALUE, /* 78 */ XML_ERR_ENCODING_NAME, /* 79 */ XML_ERR_HYPHEN_IN_COMMENT, /* 80 */ XML_ERR_INVALID_ENCODING, /* 81 */ XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */ XML_ERR_CONDSEC_INVALID, /* 83 */ XML_ERR_VALUE_REQUIRED, /* 84 */ XML_ERR_NOT_WELL_BALANCED, /* 85 */ XML_ERR_EXTRA_CONTENT, /* 86 */ XML_ERR_ENTITY_CHAR_ERROR, /* 87 */ XML_ERR_ENTITY_PE_INTERNAL, /* 88 */ XML_ERR_ENTITY_LOOP, /* 89 */ XML_ERR_ENTITY_BOUNDARY, /* 90 */ XML_ERR_INVALID_URI, /* 91 */ XML_ERR_URI_FRAGMENT, /* 92 */ XML_WAR_CATALOG_PI, /* 93 */ XML_ERR_NO_DTD, /* 94 */ XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */ XML_ERR_VERSION_MISSING, /* 96 */ XML_WAR_UNKNOWN_VERSION, /* 97 */ XML_WAR_LANG_VALUE, /* 98 */ XML_WAR_NS_URI, /* 99 */ XML_WAR_NS_URI_RELATIVE, /* 100 */ XML_ERR_MISSING_ENCODING, /* 101 */ XML_WAR_SPACE_VALUE, /* 102 */ XML_ERR_NOT_STANDALONE, /* 103 */ XML_ERR_ENTITY_PROCESSING, /* 104 */ XML_ERR_NOTATION_PROCESSING, /* 105 */ XML_WAR_NS_COLUMN, /* 106 */ XML_WAR_ENTITY_REDEFINED, /* 107 */ XML_ERR_UNKNOWN_VERSION, /* 108 */ XML_ERR_VERSION_MISMATCH, /* 109 */ XML_ERR_NAME_TOO_LONG, /* 110 */ XML_ERR_USER_STOP, /* 111 */ XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */ XML_WAR_ENCODING_MISMATCH, /* 113 */ /** * Internal resource limit like maximum amplification * factor exceeded. */ XML_ERR_RESOURCE_LIMIT, /* 114 */ /** Invalid argument. */ XML_ERR_ARGUMENT, /* 115 */ /** Unexpected error from the OS or an external library. */ XML_ERR_SYSTEM, /* 116 */ XML_ERR_REDECL_PREDEF_ENTITY, /* 117 */ XML_ERR_INT_SUBSET_NOT_FINISHED, /* 118 */ XML_NS_ERR_XML_NAMESPACE = 200, XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */ XML_NS_ERR_QNAME, /* 202 */ XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */ XML_NS_ERR_EMPTY, /* 204 */ XML_NS_ERR_COLON, /* 205 */ XML_DTD_ATTRIBUTE_DEFAULT = 500, XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */ XML_DTD_ATTRIBUTE_VALUE, /* 502 */ XML_DTD_CONTENT_ERROR, /* 503 */ XML_DTD_CONTENT_MODEL, /* 504 */ XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */ XML_DTD_DIFFERENT_PREFIX, /* 506 */ XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */ XML_DTD_ELEM_NAMESPACE, /* 508 */ XML_DTD_ELEM_REDEFINED, /* 509 */ XML_DTD_EMPTY_NOTATION, /* 510 */ XML_DTD_ENTITY_TYPE, /* 511 */ XML_DTD_ID_FIXED, /* 512 */ XML_DTD_ID_REDEFINED, /* 513 */ XML_DTD_ID_SUBSET, /* 514 */ XML_DTD_INVALID_CHILD, /* 515 */ XML_DTD_INVALID_DEFAULT, /* 516 */ XML_DTD_LOAD_ERROR, /* 517 */ XML_DTD_MISSING_ATTRIBUTE, /* 518 */ XML_DTD_MIXED_CORRUPT, /* 519 */ XML_DTD_MULTIPLE_ID, /* 520 */ XML_DTD_NO_DOC, /* 521 */ XML_DTD_NO_DTD, /* 522 */ XML_DTD_NO_ELEM_NAME, /* 523 */ XML_DTD_NO_PREFIX, /* 524 */ XML_DTD_NO_ROOT, /* 525 */ XML_DTD_NOTATION_REDEFINED, /* 526 */ XML_DTD_NOTATION_VALUE, /* 527 */ XML_DTD_NOT_EMPTY, /* 528 */ XML_DTD_NOT_PCDATA, /* 529 */ XML_DTD_NOT_STANDALONE, /* 530 */ XML_DTD_ROOT_NAME, /* 531 */ XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */ XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */ XML_DTD_UNKNOWN_ELEM, /* 534 */ XML_DTD_UNKNOWN_ENTITY, /* 535 */ XML_DTD_UNKNOWN_ID, /* 536 */ XML_DTD_UNKNOWN_NOTATION, /* 537 */ XML_DTD_STANDALONE_DEFAULTED, /* 538 */ XML_DTD_XMLID_VALUE, /* 539 */ XML_DTD_XMLID_TYPE, /* 540 */ XML_DTD_DUP_TOKEN, /* 541 */ XML_HTML_STRUCURE_ERROR = 800, XML_HTML_UNKNOWN_TAG, /* 801 */ XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */ XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000, XML_RNGP_ATTR_CONFLICT, /* 1001 */ XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */ XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */ XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */ XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */ XML_RNGP_CHOICE_CONTENT, /* 1006 */ XML_RNGP_CHOICE_EMPTY, /* 1007 */ XML_RNGP_CREATE_FAILURE, /* 1008 */ XML_RNGP_DATA_CONTENT, /* 1009 */ XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */ XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */ XML_RNGP_DEFINE_EMPTY, /* 1012 */ XML_RNGP_DEFINE_MISSING, /* 1013 */ XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */ XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */ XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */ XML_RNGP_ELEMENT_EMPTY, /* 1017 */ XML_RNGP_ELEMENT_CONTENT, /* 1018 */ XML_RNGP_ELEMENT_NAME, /* 1019 */ XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */ XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */ XML_RNGP_EMPTY, /* 1022 */ XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */ XML_RNGP_EMPTY_CONTENT, /* 1024 */ XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */ XML_RNGP_ERROR_TYPE_LIB, /* 1026 */ XML_RNGP_EXCEPT_EMPTY, /* 1027 */ XML_RNGP_EXCEPT_MISSING, /* 1028 */ XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */ XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */ XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */ XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */ XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */ XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */ XML_RNGP_FOREIGN_ELEMENT, /* 1035 */ XML_RNGP_GRAMMAR_CONTENT, /* 1036 */ XML_RNGP_GRAMMAR_EMPTY, /* 1037 */ XML_RNGP_GRAMMAR_MISSING, /* 1038 */ XML_RNGP_GRAMMAR_NO_START, /* 1039 */ XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */ XML_RNGP_HREF_ERROR, /* 1041 */ XML_RNGP_INCLUDE_EMPTY, /* 1042 */ XML_RNGP_INCLUDE_FAILURE, /* 1043 */ XML_RNGP_INCLUDE_RECURSE, /* 1044 */ XML_RNGP_INTERLEAVE_ADD, /* 1045 */ XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */ XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */ XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */ XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */ XML_RNGP_INVALID_URI, /* 1050 */ XML_RNGP_INVALID_VALUE, /* 1051 */ XML_RNGP_MISSING_HREF, /* 1052 */ XML_RNGP_NAME_MISSING, /* 1053 */ XML_RNGP_NEED_COMBINE, /* 1054 */ XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */ XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */ XML_RNGP_NSNAME_NO_NS, /* 1057 */ XML_RNGP_PARAM_FORBIDDEN, /* 1058 */ XML_RNGP_PARAM_NAME_MISSING, /* 1059 */ XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */ XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */ XML_RNGP_PARENTREF_NO_NAME, /* 1062 */ XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */ XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */ XML_RNGP_PARSE_ERROR, /* 1065 */ XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */ XML_RNGP_PAT_ATTR_ATTR, /* 1067 */ XML_RNGP_PAT_ATTR_ELEM, /* 1068 */ XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */ XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */ XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */ XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */ XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */ XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */ XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */ XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */ XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */ XML_RNGP_PAT_LIST_ATTR, /* 1078 */ XML_RNGP_PAT_LIST_ELEM, /* 1079 */ XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */ XML_RNGP_PAT_LIST_LIST, /* 1081 */ XML_RNGP_PAT_LIST_REF, /* 1082 */ XML_RNGP_PAT_LIST_TEXT, /* 1083 */ XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */ XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */ XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */ XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */ XML_RNGP_PAT_START_ATTR, /* 1088 */ XML_RNGP_PAT_START_DATA, /* 1089 */ XML_RNGP_PAT_START_EMPTY, /* 1090 */ XML_RNGP_PAT_START_GROUP, /* 1091 */ XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */ XML_RNGP_PAT_START_LIST, /* 1093 */ XML_RNGP_PAT_START_ONEMORE, /* 1094 */ XML_RNGP_PAT_START_TEXT, /* 1095 */ XML_RNGP_PAT_START_VALUE, /* 1096 */ XML_RNGP_PREFIX_UNDEFINED, /* 1097 */ XML_RNGP_REF_CREATE_FAILED, /* 1098 */ XML_RNGP_REF_CYCLE, /* 1099 */ XML_RNGP_REF_NAME_INVALID, /* 1100 */ XML_RNGP_REF_NO_DEF, /* 1101 */ XML_RNGP_REF_NO_NAME, /* 1102 */ XML_RNGP_REF_NOT_EMPTY, /* 1103 */ XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */ XML_RNGP_START_CONTENT, /* 1105 */ XML_RNGP_START_EMPTY, /* 1106 */ XML_RNGP_START_MISSING, /* 1107 */ XML_RNGP_TEXT_EXPECTED, /* 1108 */ XML_RNGP_TEXT_HAS_CHILD, /* 1109 */ XML_RNGP_TYPE_MISSING, /* 1110 */ XML_RNGP_TYPE_NOT_FOUND, /* 1111 */ XML_RNGP_TYPE_VALUE, /* 1112 */ XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */ XML_RNGP_UNKNOWN_COMBINE, /* 1114 */ XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */ XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */ XML_RNGP_URI_FRAGMENT, /* 1117 */ XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */ XML_RNGP_VALUE_EMPTY, /* 1119 */ XML_RNGP_VALUE_NO_CONTENT, /* 1120 */ XML_RNGP_XMLNS_NAME, /* 1121 */ XML_RNGP_XML_NS, /* 1122 */ XML_XPATH_EXPRESSION_OK = 1200, XML_XPATH_NUMBER_ERROR, /* 1201 */ XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */ XML_XPATH_START_LITERAL_ERROR, /* 1203 */ XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */ XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */ XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */ XML_XPATH_EXPR_ERROR, /* 1207 */ XML_XPATH_UNCLOSED_ERROR, /* 1208 */ XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */ XML_XPATH_INVALID_OPERAND, /* 1210 */ XML_XPATH_INVALID_TYPE, /* 1211 */ XML_XPATH_INVALID_ARITY, /* 1212 */ XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */ XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */ XML_XPATH_MEMORY_ERROR, /* 1215 */ XML_XPTR_SYNTAX_ERROR, /* 1216 */ XML_XPTR_RESOURCE_ERROR, /* 1217 */ XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */ XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */ XML_XPATH_ENCODING_ERROR, /* 1220 */ XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */ XML_TREE_INVALID_HEX = 1300, XML_TREE_INVALID_DEC, /* 1301 */ XML_TREE_UNTERMINATED_ENTITY, /* 1302 */ XML_TREE_NOT_UTF8, /* 1303 */ XML_SAVE_NOT_UTF8 = 1400, XML_SAVE_CHAR_INVALID, /* 1401 */ XML_SAVE_NO_DOCTYPE, /* 1402 */ XML_SAVE_UNKNOWN_ENCODING, /* 1403 */ XML_REGEXP_COMPILE_ERROR = 1450, XML_IO_UNKNOWN = 1500, XML_IO_EACCES, /* 1501 */ XML_IO_EAGAIN, /* 1502 */ XML_IO_EBADF, /* 1503 */ XML_IO_EBADMSG, /* 1504 */ XML_IO_EBUSY, /* 1505 */ XML_IO_ECANCELED, /* 1506 */ XML_IO_ECHILD, /* 1507 */ XML_IO_EDEADLK, /* 1508 */ XML_IO_EDOM, /* 1509 */ XML_IO_EEXIST, /* 1510 */ XML_IO_EFAULT, /* 1511 */ XML_IO_EFBIG, /* 1512 */ XML_IO_EINPROGRESS, /* 1513 */ XML_IO_EINTR, /* 1514 */ XML_IO_EINVAL, /* 1515 */ XML_IO_EIO, /* 1516 */ XML_IO_EISDIR, /* 1517 */ XML_IO_EMFILE, /* 1518 */ XML_IO_EMLINK, /* 1519 */ XML_IO_EMSGSIZE, /* 1520 */ XML_IO_ENAMETOOLONG, /* 1521 */ XML_IO_ENFILE, /* 1522 */ XML_IO_ENODEV, /* 1523 */ /** File not found. */ XML_IO_ENOENT, /* 1524 */ XML_IO_ENOEXEC, /* 1525 */ XML_IO_ENOLCK, /* 1526 */ XML_IO_ENOMEM, /* 1527 */ XML_IO_ENOSPC, /* 1528 */ XML_IO_ENOSYS, /* 1529 */ XML_IO_ENOTDIR, /* 1530 */ XML_IO_ENOTEMPTY, /* 1531 */ XML_IO_ENOTSUP, /* 1532 */ XML_IO_ENOTTY, /* 1533 */ XML_IO_ENXIO, /* 1534 */ XML_IO_EPERM, /* 1535 */ XML_IO_EPIPE, /* 1536 */ XML_IO_ERANGE, /* 1537 */ XML_IO_EROFS, /* 1538 */ XML_IO_ESPIPE, /* 1539 */ XML_IO_ESRCH, /* 1540 */ XML_IO_ETIMEDOUT, /* 1541 */ XML_IO_EXDEV, /* 1542 */ XML_IO_NETWORK_ATTEMPT, /* 1543 */ XML_IO_ENCODER, /* 1544 */ XML_IO_FLUSH, /* 1545 */ XML_IO_WRITE, /* 1546 */ XML_IO_NO_INPUT, /* 1547 */ XML_IO_BUFFER_FULL, /* 1548 */ XML_IO_LOAD_ERROR, /* 1549 */ XML_IO_ENOTSOCK, /* 1550 */ XML_IO_EISCONN, /* 1551 */ XML_IO_ECONNREFUSED, /* 1552 */ XML_IO_ENETUNREACH, /* 1553 */ XML_IO_EADDRINUSE, /* 1554 */ XML_IO_EALREADY, /* 1555 */ XML_IO_EAFNOSUPPORT, /* 1556 */ XML_IO_UNSUPPORTED_PROTOCOL, /* 1557 */ XML_XINCLUDE_RECURSION=1600, XML_XINCLUDE_PARSE_VALUE, /* 1601 */ XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */ XML_XINCLUDE_NO_HREF, /* 1603 */ XML_XINCLUDE_NO_FALLBACK, /* 1604 */ XML_XINCLUDE_HREF_URI, /* 1605 */ XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */ XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */ XML_XINCLUDE_INVALID_CHAR, /* 1608 */ XML_XINCLUDE_BUILD_FAILED, /* 1609 */ XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */ XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */ XML_XINCLUDE_XPTR_FAILED, /* 1612 */ XML_XINCLUDE_XPTR_RESULT, /* 1613 */ XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */ XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */ XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */ XML_XINCLUDE_DEPRECATED_NS, /* 1617 */ XML_XINCLUDE_FRAGMENT_ID, /* 1618 */ XML_CATALOG_MISSING_ATTR = 1650, XML_CATALOG_ENTRY_BROKEN, /* 1651 */ XML_CATALOG_PREFER_VALUE, /* 1652 */ XML_CATALOG_NOT_CATALOG, /* 1653 */ XML_CATALOG_RECURSION, /* 1654 */ XML_SCHEMAP_PREFIX_UNDEFINED = 1700, XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */ XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */ XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */ XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */ XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */ XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */ XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */ XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */ XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */ XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */ XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */ XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */ XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */ XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */ XML_SCHEMAP_INVALID_ENUM, /* 1715 */ XML_SCHEMAP_INVALID_FACET, /* 1716 */ XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */ XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */ XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */ XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */ XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */ XML_SCHEMAP_NOATTR_NOREF, /* 1722 */ XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */ XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */ XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */ XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */ XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */ XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */ XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */ XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */ XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */ XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */ XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */ XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */ XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */ XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */ XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */ XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */ XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */ XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */ XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */ XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */ XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */ XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */ XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */ XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */ XML_SCHEMAP_UNKNOWN_REF, /* 1747 */ XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */ XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */ XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */ XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */ XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */ XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */ XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */ XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */ XML_SCHEMAP_REGEXP_INVALID, /* 1756 */ XML_SCHEMAP_FAILED_LOAD, /* 1757 */ XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */ XML_SCHEMAP_NOROOT, /* 1759 */ XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */ XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */ XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */ XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */ XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */ XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */ XML_SCHEMAP_FAILED_PARSE, /* 1766 */ XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */ XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */ XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */ XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */ XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */ XML_SCHEMAP_NOT_SCHEMA, /* 1772 */ XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */ XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */ XML_SCHEMAP_RECURSIVE, /* 1775 */ XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */ XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */ XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */ XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */ XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */ XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */ XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */ XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */ XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */ XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */ XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */ XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */ XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */ XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */ XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */ XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */ XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */ XML_SCHEMAV_NOROOT = 1801, XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */ XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */ XML_SCHEMAV_MISSING, /* 1804 */ XML_SCHEMAV_WRONGELEM, /* 1805 */ XML_SCHEMAV_NOTYPE, /* 1806 */ XML_SCHEMAV_NOROLLBACK, /* 1807 */ XML_SCHEMAV_ISABSTRACT, /* 1808 */ XML_SCHEMAV_NOTEMPTY, /* 1809 */ XML_SCHEMAV_ELEMCONT, /* 1810 */ XML_SCHEMAV_HAVEDEFAULT, /* 1811 */ XML_SCHEMAV_NOTNILLABLE, /* 1812 */ XML_SCHEMAV_EXTRACONTENT, /* 1813 */ XML_SCHEMAV_INVALIDATTR, /* 1814 */ XML_SCHEMAV_INVALIDELEM, /* 1815 */ XML_SCHEMAV_NOTDETERMINIST, /* 1816 */ XML_SCHEMAV_CONSTRUCT, /* 1817 */ XML_SCHEMAV_INTERNAL, /* 1818 */ XML_SCHEMAV_NOTSIMPLE, /* 1819 */ XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */ XML_SCHEMAV_ATTRINVALID, /* 1821 */ XML_SCHEMAV_VALUE, /* 1822 */ XML_SCHEMAV_FACET, /* 1823 */ XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */ XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */ XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */ XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */ XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */ XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */ XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */ XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */ XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */ XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */ XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */ XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */ XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */ XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */ XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */ XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */ XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */ XML_SCHEMAV_CVC_ELT_1, /* 1845 */ XML_SCHEMAV_CVC_ELT_2, /* 1846 */ XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */ XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */ XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */ XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */ XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */ XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */ XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */ XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */ XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */ XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */ XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */ XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */ XML_SCHEMAV_CVC_ELT_6, /* 1859 */ XML_SCHEMAV_CVC_ELT_7, /* 1860 */ XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */ XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */ XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */ XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */ XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */ XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */ XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */ XML_SCHEMAV_CVC_AU, /* 1874 */ XML_SCHEMAV_CVC_TYPE_1, /* 1875 */ XML_SCHEMAV_CVC_TYPE_2, /* 1876 */ XML_SCHEMAV_CVC_IDC, /* 1877 */ XML_SCHEMAV_CVC_WILDCARD, /* 1878 */ XML_SCHEMAV_MISC, /* 1879 */ XML_XPTR_UNKNOWN_SCHEME = 1900, XML_XPTR_CHILDSEQ_START, /* 1901 */ XML_XPTR_EVAL_FAILED, /* 1902 */ XML_XPTR_EXTRA_OBJECTS, /* 1903 */ XML_C14N_CREATE_CTXT = 1950, XML_C14N_REQUIRES_UTF8, /* 1951 */ XML_C14N_CREATE_STACK, /* 1952 */ XML_C14N_INVALID_NODE, /* 1953 */ XML_C14N_UNKNOW_NODE, /* 1954 */ XML_C14N_RELATIVE_NAMESPACE, /* 1955 */ XML_FTP_PASV_ANSWER = 2000, XML_FTP_EPSV_ANSWER, /* 2001 */ XML_FTP_ACCNT, /* 2002 */ XML_FTP_URL_SYNTAX, /* 2003 */ XML_HTTP_URL_SYNTAX = 2020, XML_HTTP_USE_IP, /* 2021 */ XML_HTTP_UNKNOWN_HOST, /* 2022 */ XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */ XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */ XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */ XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */ XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */ XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */ XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */ XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */ XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */ XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */ XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */ XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */ XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */ XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */ XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */ XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */ XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */ XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */ XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */ XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */ XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */ XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */ XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */ XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */ XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */ XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */ XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */ XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */ XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */ XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */ XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */ XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */ XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */ XML_SCHEMAP_SRC_INCLUDE, /* 3050 */ XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */ XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */ XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */ XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */ XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */ XML_SCHEMAP_NO_XMLNS, /* 3056 */ XML_SCHEMAP_NO_XSI, /* 3057 */ XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */ XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */ XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */ XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */ XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */ XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */ XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */ XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */ XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */ XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */ XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */ XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */ XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */ XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */ XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */ XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */ XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */ XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */ XML_SCHEMAP_SRC_CT_1, /* 3076 */ XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */ XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */ XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */ XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */ XML_SCHEMAP_SRC_REDEFINE, /* 3081 */ XML_SCHEMAP_SRC_IMPORT, /* 3082 */ XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */ XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */ XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */ XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */ XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */ XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */ XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */ XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */ XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */ XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */ XML_SCHEMATRONV_REPORT, XML_MODULE_OPEN = 4900, /* 4900 */ XML_MODULE_CLOSE, /* 4901 */ XML_CHECK_FOUND_ELEMENT = 5000, XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */ XML_CHECK_FOUND_TEXT, /* 5002 */ XML_CHECK_FOUND_CDATA, /* 5003 */ XML_CHECK_FOUND_ENTITYREF, /* 5004 */ XML_CHECK_FOUND_ENTITY, /* 5005 */ XML_CHECK_FOUND_PI, /* 5006 */ XML_CHECK_FOUND_COMMENT, /* 5007 */ XML_CHECK_FOUND_DOCTYPE, /* 5008 */ XML_CHECK_FOUND_FRAGMENT, /* 5009 */ XML_CHECK_FOUND_NOTATION, /* 5010 */ XML_CHECK_UNKNOWN_NODE, /* 5011 */ XML_CHECK_ENTITY_TYPE, /* 5012 */ XML_CHECK_NO_PARENT, /* 5013 */ XML_CHECK_NO_DOC, /* 5014 */ XML_CHECK_NO_NAME, /* 5015 */ XML_CHECK_NO_ELEM, /* 5016 */ XML_CHECK_WRONG_DOC, /* 5017 */ XML_CHECK_NO_PREV, /* 5018 */ XML_CHECK_WRONG_PREV, /* 5019 */ XML_CHECK_NO_NEXT, /* 5020 */ XML_CHECK_WRONG_NEXT, /* 5021 */ XML_CHECK_NOT_DTD, /* 5022 */ XML_CHECK_NOT_ATTR, /* 5023 */ XML_CHECK_NOT_ATTR_DECL, /* 5024 */ XML_CHECK_NOT_ELEM_DECL, /* 5025 */ XML_CHECK_NOT_ENTITY_DECL, /* 5026 */ XML_CHECK_NOT_NS_DECL, /* 5027 */ XML_CHECK_NO_HREF, /* 5028 */ XML_CHECK_WRONG_PARENT,/* 5029 */ XML_CHECK_NS_SCOPE, /* 5030 */ XML_CHECK_NS_ANCESTOR, /* 5031 */ XML_CHECK_NOT_UTF8, /* 5032 */ XML_CHECK_NO_DICT, /* 5033 */ XML_CHECK_NOT_NCNAME, /* 5034 */ XML_CHECK_OUTSIDE_DICT, /* 5035 */ XML_CHECK_WRONG_NAME, /* 5036 */ XML_CHECK_NAME_NOT_NULL, /* 5037 */ XML_I18N_NO_NAME = 6000, XML_I18N_NO_HANDLER, /* 6001 */ XML_I18N_EXCESS_HANDLER, /* 6002 */ XML_I18N_CONV_FAILED, /* 6003 */ XML_I18N_NO_OUTPUT, /* 6004 */ XML_BUF_OVERFLOW = 7000 } xmlParserErrors; /** * Generic error callback. * * @deprecated in favor of structured errors. * @param ctx user data * @param msg printf-like format string * @param ... arguments to format */ typedef void (*xmlGenericErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * Structured error callback receiving an xmlError. * * @param userData user provided data for the error callback * @param error the error being raised */ typedef void (*xmlStructuredErrorFunc) (void *userData, const xmlError *error); /** @cond ignore */ XML_DEPRECATED XMLPUBFUN const xmlError *__xmlLastError(void); XMLPUBFUN xmlGenericErrorFunc *__xmlGenericError(void); XMLPUBFUN void **__xmlGenericErrorContext(void); XMLPUBFUN xmlStructuredErrorFunc *__xmlStructuredError(void); XMLPUBFUN void **__xmlStructuredErrorContext(void); /** @endcond */ #ifndef XML_GLOBALS_NO_REDEFINITION /** * Thread-local variable containing the last reported error. * * @deprecated Use xmlGetLastError(). */ #define xmlLastError (*__xmlLastError()) /** * Thread-local variable containing the generic error callback. * * @deprecated See xmlSetStructuredErrorFunc(). */ #define xmlGenericError (*__xmlGenericError()) /** * Thread-local variable containing user data for the generic * error handler. * * @deprecated See xmlSetStructuredErrorFunc(). */ #define xmlGenericErrorContext (*__xmlGenericErrorContext()) /** * Thread-local variable containing the structured error * callback. * * @deprecated See xmlSetStructuredErrorFunc(). */ #define xmlStructuredError (*__xmlStructuredError()) /** * Thread-local variable containing user data for the * structured error handler. * * @deprecated See xmlSetStructuredErrorFunc(). */ #define xmlStructuredErrorContext (*__xmlStructuredErrorContext()) #endif XMLPUBFUN void xmlSetGenericErrorFunc (void *ctx, xmlGenericErrorFunc handler); XMLPUBFUN void xmlSetStructuredErrorFunc (void *ctx, xmlStructuredErrorFunc handler); XML_DEPRECATED XMLPUBFUN void xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler); XML_DEPRECATED XMLPUBFUN void xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler); /* * Legacy error handlers. */ XMLPUBFUN void xmlParserError (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN void xmlParserWarning (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN void xmlParserValidityError (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN void xmlParserValidityWarning (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); struct _xmlParserInput; XMLPUBFUN void xmlParserPrintFileInfo (struct _xmlParserInput *input); XMLPUBFUN void xmlParserPrintFileContext (struct _xmlParserInput *input); XMLPUBFUN void xmlFormatError (const xmlError *err, xmlGenericErrorFunc channel, void *data); /* * Extended error information routines */ XMLPUBFUN const xmlError * xmlGetLastError (void); XMLPUBFUN void xmlResetLastError (void); XMLPUBFUN const xmlError * xmlCtxtGetLastError (void *ctx); XMLPUBFUN void xmlCtxtResetLastError (void *ctx); XMLPUBFUN void xmlResetError (xmlError *err); XMLPUBFUN int xmlCopyError (const xmlError *from, xmlError *to); #ifdef __cplusplus } #endif #endif /* __XML_ERROR_H__ */ libxml/c14n.h000064400000005165152525225610006765 0ustar00/** * @file * * @brief Provide Canonical XML and Exclusive XML Canonicalization * * the c14n modules provides a * * "Canonical XML" implementation * http://www.w3.org/TR/xml-c14n * * and an * * "Exclusive XML Canonicalization" implementation * http://www.w3.org/TR/xml-exc-c14n * @copyright See Copyright for the status of this software. * * @author Aleksey Sanin */ #ifndef __XML_C14N_H__ #define __XML_C14N_H__ #include #ifdef LIBXML_C14N_ENABLED #include #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* * XML Canonicalization * http://www.w3.org/TR/xml-c14n * * Exclusive XML Canonicalization * http://www.w3.org/TR/xml-exc-c14n * * Canonical form of an XML document could be created if and only if * a) default attributes (if any) are added to all nodes * b) all character and parsed entity references are resolved * In order to achieve this in libxml2 the document MUST be loaded with * following options: XML_PARSE_DTDATTR | XML_PARSE_NOENT */ /** * Predefined values for C14N modes */ typedef enum { /** Original C14N 1.0 spec */ XML_C14N_1_0 = 0, /** Exclusive C14N 1.0 spec */ XML_C14N_EXCLUSIVE_1_0 = 1, /** C14N 1.1 spec */ XML_C14N_1_1 = 2 } xmlC14NMode; XMLPUBFUN int xmlC14NDocSaveTo (xmlDoc *doc, xmlNodeSet *nodes, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, xmlOutputBuffer *buf); XMLPUBFUN int xmlC14NDocDumpMemory (xmlDoc *doc, xmlNodeSet *nodes, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, xmlChar **doc_txt_ptr); XMLPUBFUN int xmlC14NDocSave (xmlDoc *doc, xmlNodeSet *nodes, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, const char* filename, int compression); /** * This is the core C14N function */ /** * Signature for a C14N callback on visible nodes * * @param user_data user data * @param node the current node * @param parent the parent node * @returns 1 if the node should be included */ typedef int (*xmlC14NIsVisibleCallback) (void* user_data, xmlNode *node, xmlNode *parent); XMLPUBFUN int xmlC14NExecute (xmlDoc *doc, xmlC14NIsVisibleCallback is_visible_callback, void* user_data, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, xmlOutputBuffer *buf); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* LIBXML_C14N_ENABLED */ #endif /* __XML_C14N_H__ */ libxml/xpath.h000064400000034644152525225610007350 0ustar00/** * @file * * @brief XML Path Language implementation * * API for the XML Path Language implementation * * XML Path Language implementation * XPath is a language for addressing parts of an XML document, * designed to be used by both XSLT and XPointer * http://www.w3.org/TR/xpath * * Implements * W3C Recommendation 16 November 1999 * http://www.w3.org/TR/1999/REC-xpath-19991116 * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XPATH_H__ #define __XML_XPATH_H__ #include #ifdef LIBXML_XPATH_ENABLED #include #include #include #ifdef __cplusplus extern "C" { #endif /** XPath context */ typedef struct _xmlXPathContext xmlXPathContext; typedef xmlXPathContext *xmlXPathContextPtr; /** XPath parser and evaluation context */ typedef struct _xmlXPathParserContext xmlXPathParserContext; typedef xmlXPathParserContext *xmlXPathParserContextPtr; /** * The set of XPath error codes. */ typedef enum { XPATH_EXPRESSION_OK = 0, XPATH_NUMBER_ERROR, XPATH_UNFINISHED_LITERAL_ERROR, XPATH_START_LITERAL_ERROR, XPATH_VARIABLE_REF_ERROR, XPATH_UNDEF_VARIABLE_ERROR, XPATH_INVALID_PREDICATE_ERROR, XPATH_EXPR_ERROR, XPATH_UNCLOSED_ERROR, XPATH_UNKNOWN_FUNC_ERROR, XPATH_INVALID_OPERAND, XPATH_INVALID_TYPE, XPATH_INVALID_ARITY, XPATH_INVALID_CTXT_SIZE, XPATH_INVALID_CTXT_POSITION, XPATH_MEMORY_ERROR, XPTR_SYNTAX_ERROR, XPTR_RESOURCE_ERROR, XPTR_SUB_RESOURCE_ERROR, XPATH_UNDEF_PREFIX_ERROR, XPATH_ENCODING_ERROR, XPATH_INVALID_CHAR_ERROR, XPATH_INVALID_CTXT, XPATH_STACK_ERROR, XPATH_FORBID_VARIABLE_ERROR, XPATH_OP_LIMIT_EXCEEDED, XPATH_RECURSION_LIMIT_EXCEEDED } xmlXPathError; /** XPath node set */ typedef struct _xmlNodeSet xmlNodeSet; typedef xmlNodeSet *xmlNodeSetPtr; /** * A node-set (an unordered collection of nodes without duplicates). */ struct _xmlNodeSet { /** number of nodes in the set */ int nodeNr; /** size of the array as allocated */ int nodeMax; /** array of nodes in no particular order */ xmlNode **nodeTab; }; /** * An expression is evaluated to yield an object, which * has one of the following four basic types: * * - node-set * - boolean * - number * - string */ typedef enum { XPATH_UNDEFINED = 0, XPATH_NODESET = 1, XPATH_BOOLEAN = 2, XPATH_NUMBER = 3, XPATH_STRING = 4, XPATH_USERS = 8, XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */ } xmlXPathObjectType; /** @cond IGNORE */ #define XPATH_POINT 5 #define XPATH_RANGE 6 #define XPATH_LOCATIONSET 7 /** @endcond */ /** XPath object */ typedef struct _xmlXPathObject xmlXPathObject; typedef xmlXPathObject *xmlXPathObjectPtr; /** * An XPath object */ struct _xmlXPathObject { /** object type */ xmlXPathObjectType type; /** node set */ xmlNodeSet *nodesetval; /** boolean */ int boolval; /** number */ double floatval; /** string */ xmlChar *stringval; void *user; int index; void *user2; int index2; }; /** @cond ignore */ /* * unused */ typedef int (*xmlXPathConvertFunc) (xmlXPathObject *obj, int type); typedef struct _xmlXPathType xmlXPathType; typedef xmlXPathType *xmlXPathTypePtr; struct _xmlXPathType { const xmlChar *name; /* the type name */ xmlXPathConvertFunc func; /* the conversion function */ }; /* * unused */ typedef struct _xmlXPathVariable xmlXPathVariable; typedef xmlXPathVariable *xmlXPathVariablePtr; struct _xmlXPathVariable { const xmlChar *name; /* the variable name */ xmlXPathObject *value; /* the value */ }; /* * unused */ typedef void (*xmlXPathEvalFunc)(xmlXPathParserContext *ctxt, int nargs); typedef struct _xmlXPathFunct xmlXPathFunct; typedef xmlXPathFunct *xmlXPathFuncPtr; struct _xmlXPathFunct { const xmlChar *name; /* the function name */ xmlXPathEvalFunc func; /* the evaluation function */ }; /* * unused */ typedef xmlXPathObject *(*xmlXPathAxisFunc) (xmlXPathParserContext *ctxt, xmlXPathObject *cur); typedef struct _xmlXPathAxis xmlXPathAxis; typedef xmlXPathAxis *xmlXPathAxisPtr; struct _xmlXPathAxis { const xmlChar *name; /* the axis name */ xmlXPathAxisFunc func; /* the search function */ }; /** @endcond */ /** * An XPath function. * The arguments (if any) are popped out from the context stack * and the result is pushed on the stack. * * @param ctxt the XPath interprestation context * @param nargs the number of arguments */ typedef void (*xmlXPathFunction) (xmlXPathParserContext *ctxt, int nargs); /* * Function and Variable Lookup. */ /** * Prototype for callbacks used to plug variable lookup in the XPath * engine. * * @param ctxt an XPath context * @param name name of the variable * @param ns_uri the namespace name hosting this variable * @returns the XPath object value or NULL if not found. */ typedef xmlXPathObject *(*xmlXPathVariableLookupFunc) (void *ctxt, const xmlChar *name, const xmlChar *ns_uri); /** * Prototype for callbacks used to plug function lookup in the XPath * engine. * * @param ctxt an XPath context * @param name name of the function * @param ns_uri the namespace name hosting this function * @returns the XPath function or NULL if not found. */ typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt, const xmlChar *name, const xmlChar *ns_uri); /** * Flags for XPath engine compilation and runtime */ /** * check namespaces at compilation */ #define XML_XPATH_CHECKNS (1<<0) /** * forbid variables in expression */ #define XML_XPATH_NOVAR (1<<1) /** * Expression evaluation occurs with respect to a context. * he context consists of: * - a node (the context node) * - a node list (the context node list) * - a set of variable bindings * - a function library * - the set of namespace declarations in scope for the expression * Following the switch to hash tables, this need to be trimmed up at * the next binary incompatible release. * The node may be modified when the context is passed to libxml2 * for an XPath evaluation so you may need to initialize it again * before the next call. */ struct _xmlXPathContext { /** The current document */ xmlDoc *doc; /** The current node */ xmlNode *node; /* unused (hash table) */ int nb_variables_unused; /* unused (hash table) */ int max_variables_unused; /* Hash table of defined variables */ xmlHashTable *varHash; /* number of defined types */ int nb_types; /* max number of types */ int max_types; /* Array of defined types */ xmlXPathType *types; /* unused (hash table) */ int nb_funcs_unused; /* unused (hash table) */ int max_funcs_unused; /* Hash table of defined funcs */ xmlHashTable *funcHash; /* number of defined axis */ int nb_axis; /* max number of axis */ int max_axis; /* Array of defined axis */ xmlXPathAxis *axis; /* Array of namespaces */ xmlNs **namespaces; /* number of namespace in scope */ int nsNr; /* function to free */ void *user; /** the context size */ int contextSize; /** the proximity position */ int proximityPosition; /* is this an XPointer context? */ int xptr; /* for here() */ xmlNode *here; /* for origin() */ xmlNode *origin; /* The namespaces hash table */ xmlHashTable *nsHash; /* variable lookup func */ xmlXPathVariableLookupFunc varLookupFunc; /* variable lookup data */ void *varLookupData; /* needed for XSLT */ void *extra; /* The function name when calling a function */ const xmlChar *function; /* The namespace URI when calling a function */ const xmlChar *functionURI; /* function lookup func */ xmlXPathFuncLookupFunc funcLookupFunc; /* function lookup data */ void *funcLookupData; /* Array of temp namespaces */ xmlNs **tmpNsList; /* number of namespaces in scope */ int tmpNsNr; /* user specific data block */ void *userData; /* the callback in case of errors */ xmlStructuredErrorFunc error; /* the last error */ xmlError lastError; /* the source node XSLT */ xmlNode *debugNode; /* dictionary if any */ xmlDict *dict; /** flags to control compilation */ int flags; /* Cache for reusal of XPath objects */ void *cache; /* Resource limits */ unsigned long opLimit; unsigned long opCount; int depth; }; /** Compiled XPath expression */ typedef struct _xmlXPathCompExpr xmlXPathCompExpr; typedef xmlXPathCompExpr *xmlXPathCompExprPtr; /** * An XPath parser context. It contains pure parsing information, * an xmlXPathContext, and the stack of objects. * * This struct is used for evaluation as well and misnamed. */ struct _xmlXPathParserContext { /* the current char being parsed */ const xmlChar *cur; /* the full expression */ const xmlChar *base; /** error code */ int error; /** the evaluation context */ xmlXPathContext *context; /** the current value */ xmlXPathObject *value; /* number of values stacked */ int valueNr; /* max number of values stacked */ int valueMax; /* stack of values */ xmlXPathObject **valueTab; /* the precompiled expression */ xmlXPathCompExpr *comp; /* it this an XPointer expression */ int xptr; /* used for walking preceding axis */ xmlNode *ancestor; /* always zero for compatibility */ int valueFrame; }; /************************************************************************ * * * Public API * * * ************************************************************************/ /** * Objects and Nodesets handling */ /** @cond ignore */ XML_DEPRECATED XMLPUBVAR double xmlXPathNAN; XML_DEPRECATED XMLPUBVAR double xmlXPathPINF; XML_DEPRECATED XMLPUBVAR double xmlXPathNINF; /* These macros may later turn into functions */ /** * Implement a functionality similar to the DOM NodeList.length. * * @param ns a node-set * @returns the number of nodes in the node-set. */ #define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0) /** * Implements a functionality similar to the DOM NodeList.item(). * * @param ns a node-set * @param index index of a node in the set * @returns the xmlNode at the given `index` in `ns` or NULL if * `index` is out of range (0 to length-1) */ #define xmlXPathNodeSetItem(ns, index) \ ((((ns) != NULL) && \ ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \ (ns)->nodeTab[(index)] \ : NULL) /** * Checks whether `ns` is empty or not. * * @param ns a node-set * @returns %TRUE if `ns` is an empty node-set. */ #define xmlXPathNodeSetIsEmpty(ns) \ (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL)) /** @endcond */ XMLPUBFUN void xmlXPathFreeObject (xmlXPathObject *obj); XMLPUBFUN xmlNodeSet * xmlXPathNodeSetCreate (xmlNode *val); XMLPUBFUN void xmlXPathFreeNodeSetList (xmlXPathObject *obj); XMLPUBFUN void xmlXPathFreeNodeSet (xmlNodeSet *obj); XMLPUBFUN xmlXPathObject * xmlXPathObjectCopy (xmlXPathObject *val); XMLPUBFUN int xmlXPathCmpNodes (xmlNode *node1, xmlNode *node2); /** * Conversion functions to basic types. */ XMLPUBFUN int xmlXPathCastNumberToBoolean (double val); XMLPUBFUN int xmlXPathCastStringToBoolean (const xmlChar * val); XMLPUBFUN int xmlXPathCastNodeSetToBoolean(xmlNodeSet *ns); XMLPUBFUN int xmlXPathCastToBoolean (xmlXPathObject *val); XMLPUBFUN double xmlXPathCastBooleanToNumber (int val); XMLPUBFUN double xmlXPathCastStringToNumber (const xmlChar * val); XMLPUBFUN double xmlXPathCastNodeToNumber (xmlNode *node); XMLPUBFUN double xmlXPathCastNodeSetToNumber (xmlNodeSet *ns); XMLPUBFUN double xmlXPathCastToNumber (xmlXPathObject *val); XMLPUBFUN xmlChar * xmlXPathCastBooleanToString (int val); XMLPUBFUN xmlChar * xmlXPathCastNumberToString (double val); XMLPUBFUN xmlChar * xmlXPathCastNodeToString (xmlNode *node); XMLPUBFUN xmlChar * xmlXPathCastNodeSetToString (xmlNodeSet *ns); XMLPUBFUN xmlChar * xmlXPathCastToString (xmlXPathObject *val); XMLPUBFUN xmlXPathObject * xmlXPathConvertBoolean (xmlXPathObject *val); XMLPUBFUN xmlXPathObject * xmlXPathConvertNumber (xmlXPathObject *val); XMLPUBFUN xmlXPathObject * xmlXPathConvertString (xmlXPathObject *val); /** * Context handling. */ XMLPUBFUN xmlXPathContext * xmlXPathNewContext (xmlDoc *doc); XMLPUBFUN void xmlXPathFreeContext (xmlXPathContext *ctxt); XMLPUBFUN void xmlXPathSetErrorHandler(xmlXPathContext *ctxt, xmlStructuredErrorFunc handler, void *context); XMLPUBFUN int xmlXPathContextSetCache(xmlXPathContext *ctxt, int active, int value, int options); /** * Evaluation functions. */ XMLPUBFUN long xmlXPathOrderDocElems (xmlDoc *doc); XMLPUBFUN int xmlXPathSetContextNode (xmlNode *node, xmlXPathContext *ctx); XMLPUBFUN xmlXPathObject * xmlXPathNodeEval (xmlNode *node, const xmlChar *str, xmlXPathContext *ctx); XMLPUBFUN xmlXPathObject * xmlXPathEval (const xmlChar *str, xmlXPathContext *ctx); XMLPUBFUN xmlXPathObject * xmlXPathEvalExpression (const xmlChar *str, xmlXPathContext *ctxt); XMLPUBFUN int xmlXPathEvalPredicate (xmlXPathContext *ctxt, xmlXPathObject *res); /** * Separate compilation/evaluation entry points. */ XMLPUBFUN xmlXPathCompExpr * xmlXPathCompile (const xmlChar *str); XMLPUBFUN xmlXPathCompExpr * xmlXPathCtxtCompile (xmlXPathContext *ctxt, const xmlChar *str); XMLPUBFUN xmlXPathObject * xmlXPathCompiledEval (xmlXPathCompExpr *comp, xmlXPathContext *ctx); XMLPUBFUN int xmlXPathCompiledEvalToBoolean(xmlXPathCompExpr *comp, xmlXPathContext *ctxt); XMLPUBFUN void xmlXPathFreeCompExpr (xmlXPathCompExpr *comp); XML_DEPRECATED XMLPUBFUN void xmlXPathInit (void); XMLPUBFUN int xmlXPathIsNaN (double val); XMLPUBFUN int xmlXPathIsInf (double val); #ifdef __cplusplus } #endif #endif /* LIBXML_XPATH_ENABLED */ #endif /* ! __XML_XPATH_H__ */ libxml/nanoftp.h000064400000000503152525225610007654 0ustar00/** * @file * * @brief Removed legacy symbols for an outdated FTP client * * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __NANO_FTP_H__ #define __NANO_FTP_H__ #ifdef __GNUC__ #warning "libxml/nanoftp.h is deprecated" #endif #endif /* __NANO_FTP_H__ */ libxml/HTMLparser.h000064400000024564152525225610010205 0ustar00/** * @file * * @brief HTML parser, doesn't support HTML5 * * This module orginally implemented an HTML parser based on the * (underspecified) HTML 4.0 spec. As of 2.14, the tokenizer * conforms to HTML5. Tree construction still follows a custom, * unspecified algorithm with many differences to HTML5. * * The parser defaults to ISO-8859-1, the default encoding of * HTTP/1.0. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __HTML_PARSER_H__ #define __HTML_PARSER_H__ #include #include #ifdef LIBXML_HTML_ENABLED #ifdef __cplusplus extern "C" { #endif /* * Backward compatibility */ #define UTF8ToHtml htmlUTF8ToHtml #define htmlDefaultSubelement(elt) elt->defaultsubelt #define htmlElementAllowedHereDesc(parent,elt) \ htmlElementAllowedHere((parent), (elt)->name) #define htmlRequiredAttrs(elt) (elt)->attrs_req /* * Most of the back-end structures from XML and HTML are shared. */ /** Same as xmlParserCtxt */ typedef xmlParserCtxt htmlParserCtxt; typedef xmlParserCtxtPtr htmlParserCtxtPtr; typedef xmlParserNodeInfo htmlParserNodeInfo; /** Same as xmlSAXHandler */ typedef xmlSAXHandler htmlSAXHandler; typedef xmlSAXHandlerPtr htmlSAXHandlerPtr; /** Same as xmlParserInput */ typedef xmlParserInput htmlParserInput; typedef xmlParserInputPtr htmlParserInputPtr; typedef xmlDocPtr htmlDocPtr; typedef xmlNodePtr htmlNodePtr; /** @cond ignore */ /* * Internal description of an HTML element, representing HTML 4.01 * and XHTML 1.0 (which share the same structure). */ typedef struct _htmlElemDesc htmlElemDesc; typedef htmlElemDesc *htmlElemDescPtr; struct _htmlElemDesc { const char *name; /* The tag name */ char startTag; /* unused */ char endTag; /* Whether the end tag can be implied */ char saveEndTag; /* unused */ char empty; /* Is this an empty element ? */ char depr; /* unused */ char dtd; /* unused */ char isinline; /* is this a block 0 or inline 1 element */ const char *desc; /* the description */ const char** subelts XML_DEPRECATED_MEMBER; const char* defaultsubelt XML_DEPRECATED_MEMBER; const char** attrs_opt XML_DEPRECATED_MEMBER; const char** attrs_depr XML_DEPRECATED_MEMBER; const char** attrs_req XML_DEPRECATED_MEMBER; int dataMode; }; /* * Internal description of an HTML entity. */ typedef struct _htmlEntityDesc htmlEntityDesc; typedef htmlEntityDesc *htmlEntityDescPtr; struct _htmlEntityDesc { unsigned int value; /* the UNICODE value for the character */ const char *name; /* The entity name */ const char *desc; /* the description */ }; #ifdef LIBXML_SAX1_ENABLED /** * @deprecated Use #xmlSAX2InitHtmlDefaultSAXHandler */ XML_DEPRECATED XMLPUBVAR const xmlSAXHandlerV1 htmlDefaultSAXHandler; #endif /* LIBXML_SAX1_ENABLED */ /** @endcond */ /* * There is only few public functions. */ XML_DEPRECATED XMLPUBFUN void htmlInitAutoClose (void); XML_DEPRECATED XMLPUBFUN const htmlElemDesc * htmlTagLookup (const xmlChar *tag); XML_DEPRECATED XMLPUBFUN const htmlEntityDesc * htmlEntityLookup(const xmlChar *name); XML_DEPRECATED XMLPUBFUN const htmlEntityDesc * htmlEntityValueLookup(unsigned int value); XML_DEPRECATED XMLPUBFUN int htmlIsAutoClosed(xmlDoc *doc, xmlNode *elem); XML_DEPRECATED XMLPUBFUN int htmlAutoCloseTag(xmlDoc *doc, const xmlChar *name, xmlNode *elem); XML_DEPRECATED XMLPUBFUN const htmlEntityDesc * htmlParseEntityRef(htmlParserCtxt *ctxt, const xmlChar **str); XML_DEPRECATED XMLPUBFUN int htmlParseCharRef(htmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void htmlParseElement(htmlParserCtxt *ctxt); XMLPUBFUN htmlParserCtxt * htmlNewParserCtxt(void); XMLPUBFUN htmlParserCtxt * htmlNewSAXParserCtxt(const htmlSAXHandler *sax, void *userData); XMLPUBFUN htmlParserCtxt * htmlCreateMemoryParserCtxt(const char *buffer, int size); XMLPUBFUN int htmlParseDocument(htmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlDoc * htmlSAXParseDoc (const xmlChar *cur, const char *encoding, htmlSAXHandler *sax, void *userData); XMLPUBFUN xmlDoc * htmlParseDoc (const xmlChar *cur, const char *encoding); XMLPUBFUN htmlParserCtxt * htmlCreateFileParserCtxt(const char *filename, const char *encoding); XML_DEPRECATED XMLPUBFUN xmlDoc * htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandler *sax, void *userData); XMLPUBFUN xmlDoc * htmlParseFile (const char *filename, const char *encoding); XML_DEPRECATED XMLPUBFUN int htmlUTF8ToHtml (unsigned char *out, int *outlen, const unsigned char *in, int *inlen); XML_DEPRECATED XMLPUBFUN int htmlEncodeEntities(unsigned char *out, int *outlen, const unsigned char *in, int *inlen, int quoteChar); XML_DEPRECATED XMLPUBFUN int htmlIsScriptAttribute(const xmlChar *name); XML_DEPRECATED XMLPUBFUN int htmlHandleOmittedElem(int val); #ifdef LIBXML_PUSH_ENABLED /* * Interfaces for the Push mode. */ XMLPUBFUN htmlParserCtxt * htmlCreatePushParserCtxt(htmlSAXHandler *sax, void *user_data, const char *chunk, int size, const char *filename, xmlCharEncoding enc); XMLPUBFUN int htmlParseChunk (htmlParserCtxt *ctxt, const char *chunk, int size, int terminate); #endif /* LIBXML_PUSH_ENABLED */ XMLPUBFUN void htmlFreeParserCtxt (htmlParserCtxt *ctxt); /* * New set of simpler/more flexible APIs */ /** * This is the set of HTML parser options that can be passed to * #htmlReadDoc, #htmlCtxtSetOptions and other functions. */ typedef enum { /** * No effect as of 2.14.0. */ HTML_PARSE_RECOVER = 1<<0, /** * Do not default to a doctype if none was found. */ HTML_PARSE_NODEFDTD = 1<<2, /** * Disable error and warning reports to the error handlers. * Errors are still accessible with xmlCtxtGetLastError(). */ HTML_PARSE_NOERROR = 1<<5, /** * Disable warning reports. */ HTML_PARSE_NOWARNING = 1<<6, /** * No effect. */ HTML_PARSE_PEDANTIC = 1<<7, /** * Remove some text nodes containing only whitespace from the * result document. Which nodes are removed depends on a conservative * heuristic. The reindenting feature of the serialization code relies * on this option to be set when parsing. Use of this option is * DISCOURAGED. */ HTML_PARSE_NOBLANKS = 1<<8, /** * No effect. */ HTML_PARSE_NONET = 1<<11, /** * Do not add implied html, head or body elements. */ HTML_PARSE_NOIMPLIED = 1<<13, /** * Store small strings directly in the node struct to save * memory. */ HTML_PARSE_COMPACT = 1<<16, /** * Relax some internal limits. See XML_PARSE_HUGE in xmlParserOption. * * @since 2.14.0 * * Use XML_PARSE_HUGE with older versions. */ HTML_PARSE_HUGE = 1<<19, /** * Ignore the encoding in the HTML declaration. This option is * mostly unneeded these days. The only effect is to enforce * ISO-8859-1 decoding of ASCII-like data. */ HTML_PARSE_IGNORE_ENC =1<<21, /** * Enable reporting of line numbers larger than 65535. * * @since 2.14.0 * * Use XML_PARSE_BIG_LINES with older versions. */ HTML_PARSE_BIG_LINES = 1<<22, /** * Make the tokenizer emit a SAX callback for each token. This results * in unbalanced invocations of startElement and endElement. * * For now, this is only usable to tokenize HTML5 with custom SAX * callbacks. A tree builder isn't implemented yet. * * @since 2.14.0 */ HTML_PARSE_HTML5 = 1<<26 } htmlParserOption; XMLPUBFUN void htmlCtxtReset (htmlParserCtxt *ctxt); XMLPUBFUN int htmlCtxtSetOptions (htmlParserCtxt *ctxt, int options); XMLPUBFUN int htmlCtxtUseOptions (htmlParserCtxt *ctxt, int options); XMLPUBFUN xmlDoc * htmlReadDoc (const xmlChar *cur, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlReadFile (const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlReadMemory (const char *buffer, int size, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlReadFd (int fd, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlReadIO (xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlCtxtParseDocument (htmlParserCtxt *ctxt, xmlParserInput *input); XMLPUBFUN xmlDoc * htmlCtxtReadDoc (xmlParserCtxt *ctxt, const xmlChar *cur, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlCtxtReadFile (xmlParserCtxt *ctxt, const char *filename, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlCtxtReadMemory (xmlParserCtxt *ctxt, const char *buffer, int size, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlCtxtReadFd (xmlParserCtxt *ctxt, int fd, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * htmlCtxtReadIO (xmlParserCtxt *ctxt, xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, const char *URL, const char *encoding, int options); /** * deprecated content model */ typedef enum { HTML_NA = 0 , /* something we don't check at all */ HTML_INVALID = 0x1 , HTML_DEPRECATED = 0x2 , HTML_VALID = 0x4 , HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */ } htmlStatus ; /* Using htmlElemDesc rather than name here, to emphasise the fact that otherwise there's a lookup overhead */ XML_DEPRECATED XMLPUBFUN htmlStatus htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ; XML_DEPRECATED XMLPUBFUN int htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ; XML_DEPRECATED XMLPUBFUN htmlStatus htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ; XML_DEPRECATED XMLPUBFUN htmlStatus htmlNodeStatus(xmlNode *, int) ; #ifdef __cplusplus } #endif #endif /* LIBXML_HTML_ENABLED */ #endif /* __HTML_PARSER_H__ */ libxml/xmlschemas.h000064400000015422152525225610010361 0ustar00/** * @file * * @brief incomplete XML Schemas structure implementation * * interface to the XML Schemas handling and schema validity * checking, it is incomplete right now. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_SCHEMA_H__ #define __XML_SCHEMA_H__ #include #ifdef LIBXML_SCHEMAS_ENABLED #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * This error codes are obsolete; not used any more. */ typedef enum { XML_SCHEMAS_ERR_OK = 0, XML_SCHEMAS_ERR_NOROOT = 1, XML_SCHEMAS_ERR_UNDECLAREDELEM, XML_SCHEMAS_ERR_NOTTOPLEVEL, XML_SCHEMAS_ERR_MISSING, XML_SCHEMAS_ERR_WRONGELEM, XML_SCHEMAS_ERR_NOTYPE, XML_SCHEMAS_ERR_NOROLLBACK, XML_SCHEMAS_ERR_ISABSTRACT, XML_SCHEMAS_ERR_NOTEMPTY, XML_SCHEMAS_ERR_ELEMCONT, XML_SCHEMAS_ERR_HAVEDEFAULT, XML_SCHEMAS_ERR_NOTNILLABLE, XML_SCHEMAS_ERR_EXTRACONTENT, XML_SCHEMAS_ERR_INVALIDATTR, XML_SCHEMAS_ERR_INVALIDELEM, XML_SCHEMAS_ERR_NOTDETERMINIST, XML_SCHEMAS_ERR_CONSTRUCT, XML_SCHEMAS_ERR_INTERNAL, XML_SCHEMAS_ERR_NOTSIMPLE, XML_SCHEMAS_ERR_ATTRUNKNOWN, XML_SCHEMAS_ERR_ATTRINVALID, XML_SCHEMAS_ERR_VALUE, XML_SCHEMAS_ERR_FACET, XML_SCHEMAS_ERR_, XML_SCHEMAS_ERR_XXX } xmlSchemaValidError; /* * ATTENTION: Change xmlSchemaSetValidOptions's check * for invalid values, if adding to the validation * options below. */ /** * This is the set of XML Schema validation options. */ typedef enum { XML_SCHEMA_VAL_VC_I_CREATE = 1<<0 /* Default/fixed: create an attribute node * or an element's text node on the instance. */ } xmlSchemaValidOption; /* XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1, * assemble schemata using * xsi:schemaLocation and * xsi:noNamespaceSchemaLocation */ /** XML schema */ typedef struct _xmlSchema xmlSchema; typedef xmlSchema *xmlSchemaPtr; /** * Signature of an error callback from an XSD validation * * @param ctx the validation context * @param msg the message * @param ... extra arguments */ typedef void (*xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * Signature of a warning callback from an XSD validation * * @param ctx the validation context * @param msg the message * @param ... extra arguments */ typedef void (*xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** Schema parser context */ typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; /** Schema validation context */ typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; /** * A schemas validation locator, a callback called by the validator. * This is used when file or node information are not available * to find out what file and line number are affected * * @param ctx user provided context * @param file returned file information * @param line returned line information * @returns 0 in case of success and -1 in case of error */ typedef int (*xmlSchemaValidityLocatorFunc) (void *ctx, const char **file, unsigned long *line); /* * Interfaces for parsing. */ XMLPUBFUN xmlSchemaParserCtxt * xmlSchemaNewParserCtxt (const char *URL); XMLPUBFUN xmlSchemaParserCtxt * xmlSchemaNewMemParserCtxt (const char *buffer, int size); XMLPUBFUN xmlSchemaParserCtxt * xmlSchemaNewDocParserCtxt (xmlDoc *doc); XMLPUBFUN void xmlSchemaFreeParserCtxt (xmlSchemaParserCtxt *ctxt); XMLPUBFUN void xmlSchemaSetParserErrors (xmlSchemaParserCtxt *ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void *ctx); XMLPUBFUN void xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxt *ctxt, xmlStructuredErrorFunc serror, void *ctx); XMLPUBFUN int xmlSchemaGetParserErrors (xmlSchemaParserCtxt *ctxt, xmlSchemaValidityErrorFunc * err, xmlSchemaValidityWarningFunc * warn, void **ctx); XMLPUBFUN void xmlSchemaSetResourceLoader (xmlSchemaParserCtxt *ctxt, xmlResourceLoader loader, void *data); XMLPUBFUN int xmlSchemaIsValid (xmlSchemaValidCtxt *ctxt); XMLPUBFUN xmlSchema * xmlSchemaParse (xmlSchemaParserCtxt *ctxt); XMLPUBFUN void xmlSchemaFree (xmlSchema *schema); #ifdef LIBXML_DEBUG_ENABLED XMLPUBFUN void xmlSchemaDump (FILE *output, xmlSchema *schema); #endif /* LIBXML_DEBUG_ENABLED */ /* * Interfaces for validating */ XMLPUBFUN void xmlSchemaSetValidErrors (xmlSchemaValidCtxt *ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void *ctx); XMLPUBFUN void xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxt *ctxt, xmlStructuredErrorFunc serror, void *ctx); XMLPUBFUN int xmlSchemaGetValidErrors (xmlSchemaValidCtxt *ctxt, xmlSchemaValidityErrorFunc *err, xmlSchemaValidityWarningFunc *warn, void **ctx); XMLPUBFUN int xmlSchemaSetValidOptions (xmlSchemaValidCtxt *ctxt, int options); XMLPUBFUN void xmlSchemaValidateSetFilename(xmlSchemaValidCtxt *vctxt, const char *filename); XMLPUBFUN int xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxt *ctxt); XMLPUBFUN xmlSchemaValidCtxt * xmlSchemaNewValidCtxt (xmlSchema *schema); XMLPUBFUN void xmlSchemaFreeValidCtxt (xmlSchemaValidCtxt *ctxt); XMLPUBFUN int xmlSchemaValidateDoc (xmlSchemaValidCtxt *ctxt, xmlDoc *instance); XMLPUBFUN int xmlSchemaValidateOneElement (xmlSchemaValidCtxt *ctxt, xmlNode *elem); XMLPUBFUN int xmlSchemaValidateStream (xmlSchemaValidCtxt *ctxt, xmlParserInputBuffer *input, xmlCharEncoding enc, const xmlSAXHandler *sax, void *user_data); XMLPUBFUN int xmlSchemaValidateFile (xmlSchemaValidCtxt *ctxt, const char * filename, int options); XMLPUBFUN xmlParserCtxt * xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxt *ctxt); /** * Interface to insert Schemas SAX validation in a SAX stream */ typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct; typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr; XMLPUBFUN xmlSchemaSAXPlugStruct * xmlSchemaSAXPlug (xmlSchemaValidCtxt *ctxt, xmlSAXHandler **sax, void **user_data); XMLPUBFUN int xmlSchemaSAXUnplug (xmlSchemaSAXPlugStruct *plug); XMLPUBFUN void xmlSchemaValidateSetLocator (xmlSchemaValidCtxt *vctxt, xmlSchemaValidityLocatorFunc f, void *ctxt); #ifdef __cplusplus } #endif #endif /* LIBXML_SCHEMAS_ENABLED */ #endif /* __XML_SCHEMA_H__ */ libxml/relaxng.h000064400000014006152525225610007652 0ustar00/** * @file * * @brief implementation of the Relax-NG validation * * implementation of the Relax-NG validation * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_RELAX_NG__ #define __XML_RELAX_NG__ #include #include #include #include #include #ifdef LIBXML_RELAXNG_ENABLED #ifdef __cplusplus extern "C" { #endif /** RelaxNG schema */ typedef struct _xmlRelaxNG xmlRelaxNG; typedef xmlRelaxNG *xmlRelaxNGPtr; /** * Signature of an error callback from a Relax-NG validation * * @param ctx the validation context * @param msg the message * @param ... extra arguments */ typedef void (*xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * Signature of a warning callback from a Relax-NG validation * * @param ctx the validation context * @param msg the message * @param ... extra arguments */ typedef void (*xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** RelaxNG parser context */ typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt; typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr; /** RelaxNG validation context */ typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt; typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr; /** * List of possible Relax NG validation errors */ typedef enum { XML_RELAXNG_OK = 0, XML_RELAXNG_ERR_MEMORY, XML_RELAXNG_ERR_TYPE, XML_RELAXNG_ERR_TYPEVAL, XML_RELAXNG_ERR_DUPID, XML_RELAXNG_ERR_TYPECMP, XML_RELAXNG_ERR_NOSTATE, XML_RELAXNG_ERR_NODEFINE, XML_RELAXNG_ERR_LISTEXTRA, XML_RELAXNG_ERR_LISTEMPTY, XML_RELAXNG_ERR_INTERNODATA, XML_RELAXNG_ERR_INTERSEQ, XML_RELAXNG_ERR_INTEREXTRA, XML_RELAXNG_ERR_ELEMNAME, XML_RELAXNG_ERR_ATTRNAME, XML_RELAXNG_ERR_ELEMNONS, XML_RELAXNG_ERR_ATTRNONS, XML_RELAXNG_ERR_ELEMWRONGNS, XML_RELAXNG_ERR_ATTRWRONGNS, XML_RELAXNG_ERR_ELEMEXTRANS, XML_RELAXNG_ERR_ATTREXTRANS, XML_RELAXNG_ERR_ELEMNOTEMPTY, XML_RELAXNG_ERR_NOELEM, XML_RELAXNG_ERR_NOTELEM, XML_RELAXNG_ERR_ATTRVALID, XML_RELAXNG_ERR_CONTENTVALID, XML_RELAXNG_ERR_EXTRACONTENT, XML_RELAXNG_ERR_INVALIDATTR, XML_RELAXNG_ERR_DATAELEM, XML_RELAXNG_ERR_VALELEM, XML_RELAXNG_ERR_LISTELEM, XML_RELAXNG_ERR_DATATYPE, XML_RELAXNG_ERR_VALUE, XML_RELAXNG_ERR_LIST, XML_RELAXNG_ERR_NOGRAMMAR, XML_RELAXNG_ERR_EXTRADATA, XML_RELAXNG_ERR_LACKDATA, XML_RELAXNG_ERR_INTERNAL, XML_RELAXNG_ERR_ELEMWRONG, XML_RELAXNG_ERR_TEXTWRONG } xmlRelaxNGValidErr; /** * List of possible Relax NG Parser flags */ typedef enum { XML_RELAXNGP_NONE = 0, XML_RELAXNGP_FREE_DOC = 1, XML_RELAXNGP_CRNG = 2 } xmlRelaxNGParserFlag; XMLPUBFUN int xmlRelaxNGInitTypes (void); XML_DEPRECATED XMLPUBFUN void xmlRelaxNGCleanupTypes (void); /* * Interfaces for parsing. */ XMLPUBFUN xmlRelaxNGParserCtxt * xmlRelaxNGNewParserCtxt (const char *URL); XMLPUBFUN xmlRelaxNGParserCtxt * xmlRelaxNGNewMemParserCtxt (const char *buffer, int size); XMLPUBFUN xmlRelaxNGParserCtxt * xmlRelaxNGNewDocParserCtxt (xmlDoc *doc); XMLPUBFUN int xmlRelaxParserSetFlag (xmlRelaxNGParserCtxt *ctxt, int flag); XMLPUBFUN int xmlRelaxParserSetIncLImit (xmlRelaxNGParserCtxt *ctxt, int limit); XMLPUBFUN void xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxt *ctxt); XMLPUBFUN void xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxt *ctxt, xmlRelaxNGValidityErrorFunc err, xmlRelaxNGValidityWarningFunc warn, void *ctx); XMLPUBFUN int xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxt *ctxt, xmlRelaxNGValidityErrorFunc *err, xmlRelaxNGValidityWarningFunc *warn, void **ctx); XMLPUBFUN void xmlRelaxNGSetParserStructuredErrors( xmlRelaxNGParserCtxt *ctxt, xmlStructuredErrorFunc serror, void *ctx); XMLPUBFUN void xmlRelaxNGSetResourceLoader (xmlRelaxNGParserCtxt *ctxt, xmlResourceLoader loader, void *vctxt); XMLPUBFUN xmlRelaxNG * xmlRelaxNGParse (xmlRelaxNGParserCtxt *ctxt); XMLPUBFUN void xmlRelaxNGFree (xmlRelaxNG *schema); #ifdef LIBXML_DEBUG_ENABLED XMLPUBFUN void xmlRelaxNGDump (FILE *output, xmlRelaxNG *schema); #endif /* LIBXML_DEBUG_ENABLED */ #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN void xmlRelaxNGDumpTree (FILE * output, xmlRelaxNG *schema); #endif /* LIBXML_OUTPUT_ENABLED */ /* * Interfaces for validating */ XMLPUBFUN void xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxt *ctxt, xmlRelaxNGValidityErrorFunc err, xmlRelaxNGValidityWarningFunc warn, void *ctx); XMLPUBFUN int xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxt *ctxt, xmlRelaxNGValidityErrorFunc *err, xmlRelaxNGValidityWarningFunc *warn, void **ctx); XMLPUBFUN void xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxt *ctxt, xmlStructuredErrorFunc serror, void *ctx); XMLPUBFUN xmlRelaxNGValidCtxt * xmlRelaxNGNewValidCtxt (xmlRelaxNG *schema); XMLPUBFUN void xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxt *ctxt); XMLPUBFUN int xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxt *ctxt, xmlDoc *doc); /* * Interfaces for progressive validation when possible */ XMLPUBFUN int xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem); XMLPUBFUN int xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxt *ctxt, const xmlChar *data, int len); XMLPUBFUN int xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem); XMLPUBFUN int xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem); XMLPUBFUN void xmlRelaxNGValidCtxtClearErrors(xmlRelaxNGValidCtxt* ctxt); #ifdef __cplusplus } #endif #endif /* LIBXML_RELAXNG_ENABLED */ #endif /* __XML_RELAX_NG__ */ libxml/xmlunicode.h000064400000000431152525225610010356 0ustar00/** * @file * * @brief Unicode character APIs * * API for the Unicode character APIs * * Deprecated, don't use. */ #ifndef __XML_UNICODE_H__ #define __XML_UNICODE_H__ #ifdef __GNUC__ #warning "libxml/xmlunicode.h is deprecated" #endif #endif /* __XML_UNICODE_H__ */ libxml/catalog.h000064400000011723152525225610007627 0ustar00/** * @file * * @brief interfaces to the Catalog handling system * * the catalog module implements the support for * XML Catalogs and SGML catalogs * * SGML Open Technical Resolution TR9401:1997. * http://www.jclark.com/sp/catalog.htm * * XML Catalogs Working Draft 06 August 2001 * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_CATALOG_H__ #define __XML_CATALOG_H__ #include #include #include #include #ifdef LIBXML_CATALOG_ENABLED #ifdef __cplusplus extern "C" { #endif /** * The namespace for the XML Catalogs elements. */ #define XML_CATALOGS_NAMESPACE \ (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" /** * The specific XML Catalog Processing Instruction name. */ #define XML_CATALOG_PI \ (const xmlChar *) "oasis-xml-catalog" /** @cond ignore */ /* * The API is voluntarily limited to general cataloging. */ typedef enum { XML_CATA_PREFER_NONE = 0, XML_CATA_PREFER_PUBLIC = 1, XML_CATA_PREFER_SYSTEM } xmlCatalogPrefer; typedef enum { XML_CATA_ALLOW_NONE = 0, XML_CATA_ALLOW_GLOBAL = 1, XML_CATA_ALLOW_DOCUMENT = 2, XML_CATA_ALLOW_ALL = 3 } xmlCatalogAllow; /** @endcond */ /** XML catalog */ typedef struct _xmlCatalog xmlCatalog; typedef xmlCatalog *xmlCatalogPtr; /* * Operations on a given catalog. */ XML_DEPRECATED XMLPUBFUN xmlCatalog * xmlNewCatalog (int sgml); XML_DEPRECATED XMLPUBFUN xmlCatalog * xmlLoadACatalog (const char *filename); #ifdef LIBXML_SGML_CATALOG_ENABLED XML_DEPRECATED XMLPUBFUN xmlCatalog * xmlLoadSGMLSuperCatalog (const char *filename); XML_DEPRECATED XMLPUBFUN int xmlConvertSGMLCatalog (xmlCatalog *catal); #endif /* LIBXML_SGML_CATALOG_ENABLED */ XML_DEPRECATED XMLPUBFUN int xmlACatalogAdd (xmlCatalog *catal, const xmlChar *type, const xmlChar *orig, const xmlChar *replace); XML_DEPRECATED XMLPUBFUN int xmlACatalogRemove (xmlCatalog *catal, const xmlChar *value); XML_DEPRECATED XMLPUBFUN xmlChar * xmlACatalogResolve (xmlCatalog *catal, const xmlChar *pubID, const xmlChar *sysID); XML_DEPRECATED XMLPUBFUN xmlChar * xmlACatalogResolveSystem(xmlCatalog *catal, const xmlChar *sysID); XML_DEPRECATED XMLPUBFUN xmlChar * xmlACatalogResolvePublic(xmlCatalog *catal, const xmlChar *pubID); XML_DEPRECATED XMLPUBFUN xmlChar * xmlACatalogResolveURI (xmlCatalog *catal, const xmlChar *URI); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlACatalogDump (xmlCatalog *catal, FILE *out); #endif /* LIBXML_OUTPUT_ENABLED */ XML_DEPRECATED XMLPUBFUN void xmlFreeCatalog (xmlCatalog *catal); XML_DEPRECATED XMLPUBFUN int xmlCatalogIsEmpty (xmlCatalog *catal); /* * Global operations. */ XMLPUBFUN void xmlInitializeCatalog (void); XMLPUBFUN int xmlLoadCatalog (const char *filename); XMLPUBFUN void xmlLoadCatalogs (const char *paths); XMLPUBFUN void xmlCatalogCleanup (void); #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN void xmlCatalogDump (FILE *out); XMLPUBFUN xmlDocPtr xmlCatalogDumpDoc (void); #endif /* LIBXML_OUTPUT_ENABLED */ XMLPUBFUN xmlChar * xmlCatalogResolve (const xmlChar *pubID, const xmlChar *sysID); XMLPUBFUN xmlChar * xmlCatalogResolveSystem (const xmlChar *sysID); XMLPUBFUN xmlChar * xmlCatalogResolvePublic (const xmlChar *pubID); XMLPUBFUN xmlChar * xmlCatalogResolveURI (const xmlChar *URI); XMLPUBFUN int xmlCatalogAdd (const xmlChar *type, const xmlChar *orig, const xmlChar *replace); XMLPUBFUN int xmlCatalogRemove (const xmlChar *value); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlParseCatalogFile (const char *filename); #ifdef LIBXML_SGML_CATALOG_ENABLED XML_DEPRECATED XMLPUBFUN int xmlCatalogConvert (void); #endif /* LIBXML_SGML_CATALOG_ENABLED */ /* * Strictly minimal interfaces for per-document catalogs used * by the parser. */ XMLPUBFUN void xmlCatalogFreeLocal (void *catalogs); XMLPUBFUN void * xmlCatalogAddLocal (void *catalogs, const xmlChar *URL); XMLPUBFUN xmlChar * xmlCatalogLocalResolve (void *catalogs, const xmlChar *pubID, const xmlChar *sysID); XMLPUBFUN xmlChar * xmlCatalogLocalResolveURI(void *catalogs, const xmlChar *URI); /* * Preference settings. */ XMLPUBFUN int xmlCatalogSetDebug (int level); XML_DEPRECATED XMLPUBFUN xmlCatalogPrefer xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); XMLPUBFUN void xmlCatalogSetDefaults (xmlCatalogAllow allow); XMLPUBFUN xmlCatalogAllow xmlCatalogGetDefaults (void); /* DEPRECATED interfaces */ XML_DEPRECATED XMLPUBFUN const xmlChar * xmlCatalogGetSystem (const xmlChar *sysID); XML_DEPRECATED XMLPUBFUN const xmlChar * xmlCatalogGetPublic (const xmlChar *pubID); #ifdef __cplusplus } #endif #endif /* LIBXML_CATALOG_ENABLED */ #endif /* __XML_CATALOG_H__ */ libxml/debugXML.h000064400000003167152525225610007667 0ustar00/** * @file * * @brief Tree debugging APIs * * Interfaces to a set of routines used for debugging the tree * produced by the XML parser. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __DEBUG_XML__ #define __DEBUG_XML__ #include #include #include #ifdef LIBXML_DEBUG_ENABLED #include #ifdef __cplusplus extern "C" { #endif /* * The standard Dump routines. */ XMLPUBFUN void xmlDebugDumpString (FILE *output, const xmlChar *str); XMLPUBFUN void xmlDebugDumpAttr (FILE *output, xmlAttr *attr, int depth); XMLPUBFUN void xmlDebugDumpAttrList (FILE *output, xmlAttr *attr, int depth); XMLPUBFUN void xmlDebugDumpOneNode (FILE *output, xmlNode *node, int depth); XMLPUBFUN void xmlDebugDumpNode (FILE *output, xmlNode *node, int depth); XMLPUBFUN void xmlDebugDumpNodeList (FILE *output, xmlNode *node, int depth); XMLPUBFUN void xmlDebugDumpDocumentHead(FILE *output, xmlDoc *doc); XMLPUBFUN void xmlDebugDumpDocument (FILE *output, xmlDoc *doc); XMLPUBFUN void xmlDebugDumpDTD (FILE *output, xmlDtd *dtd); XMLPUBFUN void xmlDebugDumpEntities (FILE *output, xmlDoc *doc); /**************************************************************** * * * Checking routines * * * ****************************************************************/ XMLPUBFUN int xmlDebugCheckDocument (FILE * output, xmlDoc *doc); #ifdef __cplusplus } #endif #endif /* LIBXML_DEBUG_ENABLED */ #endif /* __DEBUG_XML__ */ libxml/list.h000064400000006104152525225610007165 0ustar00/** * @file * * @brief lists interfaces * * this module implement the list support used in * various place in the library. * * @copyright See Copyright for the status of this software. * * @author Gary Pennington */ #ifndef __XML_LINK_INCLUDE__ #define __XML_LINK_INCLUDE__ #include #ifdef __cplusplus extern "C" { #endif /** * Linked list item * * @deprecated Don't use in new code. */ typedef struct _xmlLink xmlLink; typedef xmlLink *xmlLinkPtr; /** * Linked list * * @deprecated Don't use in new code. */ typedef struct _xmlList xmlList; typedef xmlList *xmlListPtr; /** * Callback function used to free data from a list. * * @param lk the data to deallocate */ typedef void (*xmlListDeallocator) (xmlLink *lk); /** * Callback function used to compare 2 data. * * @param data0 the first data * @param data1 the second data * @returns 0 is equality, -1 or 1 otherwise depending on the ordering. */ typedef int (*xmlListDataCompare) (const void *data0, const void *data1); /** * Callback function used when walking a list with #xmlListWalk. * * @param data the data found in the list * @param user extra user provided data to the walker * @returns 0 to stop walking the list, 1 otherwise. */ typedef int (*xmlListWalker) (const void *data, void *user); /* Creation/Deletion */ XMLPUBFUN xmlList * xmlListCreate (xmlListDeallocator deallocator, xmlListDataCompare compare); XMLPUBFUN void xmlListDelete (xmlList *l); /* Basic Operators */ XMLPUBFUN void * xmlListSearch (xmlList *l, void *data); XMLPUBFUN void * xmlListReverseSearch (xmlList *l, void *data); XMLPUBFUN int xmlListInsert (xmlList *l, void *data) ; XMLPUBFUN int xmlListAppend (xmlList *l, void *data) ; XMLPUBFUN int xmlListRemoveFirst (xmlList *l, void *data); XMLPUBFUN int xmlListRemoveLast (xmlList *l, void *data); XMLPUBFUN int xmlListRemoveAll (xmlList *l, void *data); XMLPUBFUN void xmlListClear (xmlList *l); XMLPUBFUN int xmlListEmpty (xmlList *l); XMLPUBFUN xmlLink * xmlListFront (xmlList *l); XMLPUBFUN xmlLink * xmlListEnd (xmlList *l); XMLPUBFUN int xmlListSize (xmlList *l); XMLPUBFUN void xmlListPopFront (xmlList *l); XMLPUBFUN void xmlListPopBack (xmlList *l); XMLPUBFUN int xmlListPushFront (xmlList *l, void *data); XMLPUBFUN int xmlListPushBack (xmlList *l, void *data); /* Advanced Operators */ XMLPUBFUN void xmlListReverse (xmlList *l); XMLPUBFUN void xmlListSort (xmlList *l); XMLPUBFUN void xmlListWalk (xmlList *l, xmlListWalker walker, void *user); XMLPUBFUN void xmlListReverseWalk (xmlList *l, xmlListWalker walker, void *user); XMLPUBFUN void xmlListMerge (xmlList *l1, xmlList *l2); XMLPUBFUN xmlList * xmlListDup (xmlList *old); XMLPUBFUN int xmlListCopy (xmlList *cur, xmlList *old); /* Link operators */ XMLPUBFUN void * xmlLinkGetData (xmlLink *lk); /* xmlListUnique() */ /* xmlListSwap */ #ifdef __cplusplus } #endif #endif /* __XML_LINK_INCLUDE__ */ libxml/xlink.h000064400000012044152525225610007337 0ustar00/** * @file * * @brief unfinished XLink detection module * * This module is deprecated, don't use. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XLINK_H__ #define __XML_XLINK_H__ #include #include #ifdef LIBXML_XPTR_ENABLED #ifdef __cplusplus extern "C" { #endif /** @cond ignore */ /** * Various defines for the various Link properties. * * NOTE: the link detection layer will try to resolve QName expansion * of namespaces. If "foo" is the prefix for "http://foo.com/" * then the link detection layer will expand role="foo:myrole" * to "http://foo.com/:myrole". * NOTE: the link detection layer will expand URI-References found on * href attributes by using the base mechanism if found. */ typedef xmlChar *xlinkHRef; typedef xmlChar *xlinkRole; typedef xmlChar *xlinkTitle; typedef enum { XLINK_TYPE_NONE = 0, XLINK_TYPE_SIMPLE, XLINK_TYPE_EXTENDED, XLINK_TYPE_EXTENDED_SET } xlinkType; typedef enum { XLINK_SHOW_NONE = 0, XLINK_SHOW_NEW, XLINK_SHOW_EMBED, XLINK_SHOW_REPLACE } xlinkShow; typedef enum { XLINK_ACTUATE_NONE = 0, XLINK_ACTUATE_AUTO, XLINK_ACTUATE_ONREQUEST } xlinkActuate; /** @endcond */ /** * This is the prototype for the link detection routine. * It calls the default link detection callbacks upon link detection. * * @param ctx user data pointer * @param node the node to check */ typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNode *node); /* * The link detection module interact with the upper layers using * a set of callback registered at parsing time. */ /** * This is the prototype for a simple link detection callback. * * @param ctx user data pointer * @param node the node carrying the link * @param href the target of the link * @param role the role string * @param title the link title */ typedef void (*xlinkSimpleLinkFunk) (void *ctx, xmlNode *node, const xlinkHRef href, const xlinkRole role, const xlinkTitle title); /** * This is the prototype for a extended link detection callback. * * @param ctx user data pointer * @param node the node carrying the link * @param nbLocators the number of locators detected on the link * @param hrefs pointer to the array of locator hrefs * @param roles pointer to the array of locator roles * @param nbArcs the number of arcs detected on the link * @param from pointer to the array of source roles found on the arcs * @param to pointer to the array of target roles found on the arcs * @param show array of values for the show attributes found on the arcs * @param actuate array of values for the actuate attributes found on the arcs * @param nbTitles the number of titles detected on the link * @param titles array of titles detected on the link * @param langs array of xml:lang values for the titles */ typedef void (*xlinkExtendedLinkFunk)(void *ctx, xmlNode *node, int nbLocators, const xlinkHRef *hrefs, const xlinkRole *roles, int nbArcs, const xlinkRole *from, const xlinkRole *to, xlinkShow *show, xlinkActuate *actuate, int nbTitles, const xlinkTitle *titles, const xmlChar **langs); /** * This is the prototype for a extended link set detection callback. * * @param ctx user data pointer * @param node the node carrying the link * @param nbLocators the number of locators detected on the link * @param hrefs pointer to the array of locator hrefs * @param roles pointer to the array of locator roles * @param nbTitles the number of titles detected on the link * @param titles array of titles detected on the link * @param langs array of xml:lang values for the titles */ typedef void (*xlinkExtendedLinkSetFunk) (void *ctx, xmlNode *node, int nbLocators, const xlinkHRef *hrefs, const xlinkRole *roles, int nbTitles, const xlinkTitle *titles, const xmlChar **langs); typedef struct _xlinkHandler xlinkHandler; typedef xlinkHandler *xlinkHandlerPtr; /** * This is the structure containing a set of Links detection callbacks. * * There is no default xlink callbacks, if one want to get link * recognition activated, those call backs must be provided before parsing. */ struct _xlinkHandler { xlinkSimpleLinkFunk simple; xlinkExtendedLinkFunk extended; xlinkExtendedLinkSetFunk set; }; /* * The default detection routine, can be overridden, they call the default * detection callbacks. */ XML_DEPRECATED XMLPUBFUN xlinkNodeDetectFunc xlinkGetDefaultDetect (void); XML_DEPRECATED XMLPUBFUN void xlinkSetDefaultDetect (xlinkNodeDetectFunc func); /* * Routines to set/get the default handlers. */ XML_DEPRECATED XMLPUBFUN xlinkHandler * xlinkGetDefaultHandler (void); XML_DEPRECATED XMLPUBFUN void xlinkSetDefaultHandler (xlinkHandler *handler); /* * Link detection module itself. */ XML_DEPRECATED XMLPUBFUN xlinkType xlinkIsLink (xmlDoc *doc, xmlNode *node); #ifdef __cplusplus } #endif #endif /* LIBXML_XPTR_ENABLED */ #endif /* __XML_XLINK_H__ */ libxml/xmlstring.h000064400000012200152525225610010233 0ustar00/** * @file * * @brief set of routines to process strings * * type and interfaces needed for the internal string handling * of the library, especially UTF8 processing. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_STRING_H__ #define __XML_STRING_H__ #include #include #ifdef __cplusplus extern "C" { #endif /** * This is a basic byte in an UTF-8 encoded string. * It's unsigned allowing to pinpoint case where char * are assigned * to xmlChar * (possibly making serialization back impossible). */ typedef unsigned char xmlChar; /** * Macro to cast a string to an xmlChar * when one know its safe. */ #define BAD_CAST (xmlChar *) /* * xmlChar handling */ XMLPUBFUN xmlChar * xmlStrdup (const xmlChar *cur); XMLPUBFUN xmlChar * xmlStrndup (const xmlChar *cur, int len); XMLPUBFUN xmlChar * xmlCharStrndup (const char *cur, int len); XMLPUBFUN xmlChar * xmlCharStrdup (const char *cur); XMLPUBFUN xmlChar * xmlStrsub (const xmlChar *str, int start, int len); XMLPUBFUN const xmlChar * xmlStrchr (const xmlChar *str, xmlChar val); XMLPUBFUN const xmlChar * xmlStrstr (const xmlChar *str, const xmlChar *val); XMLPUBFUN const xmlChar * xmlStrcasestr (const xmlChar *str, const xmlChar *val); XMLPUBFUN int xmlStrcmp (const xmlChar *str1, const xmlChar *str2); XMLPUBFUN int xmlStrncmp (const xmlChar *str1, const xmlChar *str2, int len); XMLPUBFUN int xmlStrcasecmp (const xmlChar *str1, const xmlChar *str2); XMLPUBFUN int xmlStrncasecmp (const xmlChar *str1, const xmlChar *str2, int len); XMLPUBFUN int xmlStrEqual (const xmlChar *str1, const xmlChar *str2); XMLPUBFUN int xmlStrQEqual (const xmlChar *pref, const xmlChar *name, const xmlChar *str); XMLPUBFUN int xmlStrlen (const xmlChar *str); XMLPUBFUN xmlChar * xmlStrcat (xmlChar *cur, const xmlChar *add); XMLPUBFUN xmlChar * xmlStrncat (xmlChar *cur, const xmlChar *add, int len); XMLPUBFUN xmlChar * xmlStrncatNew (const xmlChar *str1, const xmlChar *str2, int len); XMLPUBFUN int xmlStrPrintf (xmlChar *buf, int len, const char *msg, ...) LIBXML_ATTR_FORMAT(3,4); XMLPUBFUN int xmlStrVPrintf (xmlChar *buf, int len, const char *msg, va_list ap) LIBXML_ATTR_FORMAT(3,0); XMLPUBFUN int xmlGetUTF8Char (const unsigned char *utf, int *len); XMLPUBFUN int xmlCheckUTF8 (const unsigned char *utf); XMLPUBFUN int xmlUTF8Strsize (const xmlChar *utf, int len); XMLPUBFUN xmlChar * xmlUTF8Strndup (const xmlChar *utf, int len); XMLPUBFUN const xmlChar * xmlUTF8Strpos (const xmlChar *utf, int pos); XMLPUBFUN int xmlUTF8Strloc (const xmlChar *utf, const xmlChar *utfchar); XMLPUBFUN xmlChar * xmlUTF8Strsub (const xmlChar *utf, int start, int len); XMLPUBFUN int xmlUTF8Strlen (const xmlChar *utf); XMLPUBFUN int xmlUTF8Size (const xmlChar *utf); XMLPUBFUN int xmlUTF8Charcmp (const xmlChar *utf1, const xmlChar *utf2); #ifdef __cplusplus } #endif #endif /* __XML_STRING_H__ */ libxml/xmlmemory.h000064400000011672152525225610010251 0ustar00/** * @file * * @brief interface for the memory allocator * * provides interfaces for the memory allocator, * including debugging capabilities. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __DEBUG_MEMORY_ALLOC__ #define __DEBUG_MEMORY_ALLOC__ #include #include #ifdef __cplusplus extern "C" { #endif /* * The XML memory wrapper support 4 basic overloadable functions. */ /** * Signature for a free() implementation. * * @param mem an already allocated block of memory */ typedef void (*xmlFreeFunc)(void *mem); /** * Signature for a malloc() implementation. * * @param size the size requested in bytes * @returns a pointer to the newly allocated block or NULL in case of error. */ typedef void *(*xmlMallocFunc)(size_t size) LIBXML_ATTR_ALLOC_SIZE(1); /** * Signature for a realloc() implementation. * * @param mem an already allocated block of memory * @param size the new size requested in bytes * @returns a pointer to the newly reallocated block or NULL in case of error. */ typedef void *(*xmlReallocFunc)(void *mem, size_t size); /** * Signature for an strdup() implementation. * * @param str a zero terminated string * @returns the copy of the string or NULL in case of error. */ typedef char *(*xmlStrdupFunc)(const char *str); /* * In general the memory allocation entry points are not kept * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED * - xmlMalloc * - xmlMallocAtomic * - xmlRealloc * - xmlMemStrdup * - xmlFree */ #ifdef LIBXML_THREAD_ALLOC_ENABLED XMLPUBFUN xmlMallocFunc *__xmlMalloc(void); XMLPUBFUN xmlMallocFunc *__xmlMallocAtomic(void); XMLPUBFUN xmlReallocFunc *__xmlRealloc(void); XMLPUBFUN xmlFreeFunc *__xmlFree(void); XMLPUBFUN xmlStrdupFunc *__xmlMemStrdup(void); #ifndef XML_GLOBALS_NO_REDEFINITION #define xmlMalloc (*__xmlMalloc()) #define xmlMallocAtomic (*__xmlMallocAtomic()) #define xmlRealloc (*__xmlRealloc()) #define xmlFree (*__xmlFree()) #define xmlMemStrdup (*__xmlMemStrdup()) #endif #else /** * The variable holding the libxml malloc() implementation */ XMLPUBVAR xmlMallocFunc xmlMalloc; /** * The variable holding the libxml malloc() implementation for atomic * data (i.e. blocks not containing pointers), useful when using a * garbage collecting allocator. * * @deprecated Use #xmlMalloc */ XMLPUBVAR xmlMallocFunc xmlMallocAtomic; /** * The variable holding the libxml realloc() implementation */ XMLPUBVAR xmlReallocFunc xmlRealloc; /** * The variable holding the libxml free() implementation */ XMLPUBVAR xmlFreeFunc xmlFree; /** * The variable holding the libxml strdup() implementation */ XMLPUBVAR xmlStrdupFunc xmlMemStrdup; #endif /* * The way to overload the existing functions. * The xmlGc function have an extra entry for atomic block * allocations useful for garbage collected memory allocators */ XMLPUBFUN int xmlMemSetup (xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc, xmlReallocFunc reallocFunc, xmlStrdupFunc strdupFunc); XMLPUBFUN int xmlMemGet (xmlFreeFunc *freeFunc, xmlMallocFunc *mallocFunc, xmlReallocFunc *reallocFunc, xmlStrdupFunc *strdupFunc); XML_DEPRECATED XMLPUBFUN int xmlGcMemSetup (xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc, xmlMallocFunc mallocAtomicFunc, xmlReallocFunc reallocFunc, xmlStrdupFunc strdupFunc); XML_DEPRECATED XMLPUBFUN int xmlGcMemGet (xmlFreeFunc *freeFunc, xmlMallocFunc *mallocFunc, xmlMallocFunc *mallocAtomicFunc, xmlReallocFunc *reallocFunc, xmlStrdupFunc *strdupFunc); /* * Initialization of the memory layer. */ XML_DEPRECATED XMLPUBFUN int xmlInitMemory (void); /* * Cleanup of the memory layer. */ XML_DEPRECATED XMLPUBFUN void xmlCleanupMemory (void); /* * These are specific to the XML debug memory wrapper. */ XMLPUBFUN size_t xmlMemSize (void *ptr); XMLPUBFUN int xmlMemUsed (void); XMLPUBFUN int xmlMemBlocks (void); XML_DEPRECATED XMLPUBFUN void xmlMemDisplay (FILE *fp); XML_DEPRECATED XMLPUBFUN void xmlMemDisplayLast(FILE *fp, long nbBytes); XML_DEPRECATED XMLPUBFUN void xmlMemShow (FILE *fp, int nr); XML_DEPRECATED XMLPUBFUN void xmlMemoryDump (void); XMLPUBFUN void * xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1); XMLPUBFUN void * xmlMemRealloc (void *ptr,size_t size); XMLPUBFUN void xmlMemFree (void *ptr); XMLPUBFUN char * xmlMemoryStrdup (const char *str); XML_DEPRECATED XMLPUBFUN void * xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); XML_DEPRECATED XMLPUBFUN void * xmlReallocLoc (void *ptr, size_t size, const char *file, int line); XML_DEPRECATED XMLPUBFUN void * xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); XML_DEPRECATED XMLPUBFUN char * xmlMemStrdupLoc (const char *str, const char *file, int line); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __DEBUG_MEMORY_ALLOC__ */ libxml/xmlreader.h000064400000030363152525225610010201 0ustar00/** * @file * * @brief the XMLReader implementation * * API of the XML streaming API based on C\# interfaces. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XMLREADER_H__ #define __XML_XMLREADER_H__ #include #include #include #include #ifdef LIBXML_RELAXNG_ENABLED #include #endif #ifdef LIBXML_SCHEMAS_ENABLED #include #endif #include #ifdef __cplusplus extern "C" { #endif /** * How severe an error callback is when the per-reader error callback API * is used. */ typedef enum { XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, XML_PARSER_SEVERITY_WARNING = 3, XML_PARSER_SEVERITY_ERROR = 4 } xmlParserSeverities; #ifdef LIBXML_READER_ENABLED /** * Internal state values for the reader. */ typedef enum { XML_TEXTREADER_MODE_INITIAL = 0, XML_TEXTREADER_MODE_INTERACTIVE = 1, XML_TEXTREADER_MODE_ERROR = 2, XML_TEXTREADER_MODE_EOF =3, XML_TEXTREADER_MODE_CLOSED = 4, XML_TEXTREADER_MODE_READING = 5 } xmlTextReaderMode; /** * Some common options to use with #xmlTextReaderSetParserProp, but it * is better to use xmlParserOption and the xmlReaderNewxxx and * xmlReaderForxxx APIs now. */ typedef enum { /* load external DTD */ XML_PARSER_LOADDTD = 1, /* use default attributes */ XML_PARSER_DEFAULTATTRS = 2, /* DTD validation */ XML_PARSER_VALIDATE = 3, /* substitute entities */ XML_PARSER_SUBST_ENTITIES = 4 } xmlParserProperties; /** * Predefined constants for the different types of nodes. */ typedef enum { /** unknown or error */ XML_READER_TYPE_NONE = 0, /** element */ XML_READER_TYPE_ELEMENT = 1, /** attribute */ XML_READER_TYPE_ATTRIBUTE = 2, /** text */ XML_READER_TYPE_TEXT = 3, /** CDATA section */ XML_READER_TYPE_CDATA = 4, /** entity reference */ XML_READER_TYPE_ENTITY_REFERENCE = 5, /** unused */ XML_READER_TYPE_ENTITY = 6, /** processing instruction */ XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, /** comment */ XML_READER_TYPE_COMMENT = 8, /** document */ XML_READER_TYPE_DOCUMENT = 9, /** unused */ XML_READER_TYPE_DOCUMENT_TYPE = 10, /** document fragment */ XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, /** notation, unused */ XML_READER_TYPE_NOTATION = 12, /** whitespace */ XML_READER_TYPE_WHITESPACE = 13, /** significant whitespace */ XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, /** end of element */ XML_READER_TYPE_END_ELEMENT = 15, /** unused */ XML_READER_TYPE_END_ENTITY = 16, /** unused */ XML_READER_TYPE_XML_DECLARATION = 17 } xmlReaderTypes; /** xmlReader context */ typedef struct _xmlTextReader xmlTextReader; typedef xmlTextReader *xmlTextReaderPtr; /* * Constructors & Destructor */ XMLPUBFUN xmlTextReader * xmlNewTextReader (xmlParserInputBuffer *input, const char *URI); XMLPUBFUN xmlTextReader * xmlNewTextReaderFilename(const char *URI); XMLPUBFUN void xmlFreeTextReader (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderSetup(xmlTextReader *reader, xmlParserInputBuffer *input, const char *URL, const char *encoding, int options); XMLPUBFUN void xmlTextReaderSetMaxAmplification(xmlTextReader *reader, unsigned maxAmpl); XMLPUBFUN const xmlError * xmlTextReaderGetLastError(xmlTextReader *reader); /* * Iterators */ XMLPUBFUN int xmlTextReaderRead (xmlTextReader *reader); #ifdef LIBXML_WRITER_ENABLED XMLPUBFUN xmlChar * xmlTextReaderReadInnerXml(xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderReadOuterXml(xmlTextReader *reader); #endif XMLPUBFUN xmlChar * xmlTextReaderReadString (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderReadAttributeValue(xmlTextReader *reader); /* * Attributes of the node */ XMLPUBFUN int xmlTextReaderAttributeCount(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderDepth (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderHasAttributes(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderHasValue(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderIsDefault (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderIsEmptyElement(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderNodeType (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderQuoteChar (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderReadState (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderIsNamespaceDecl(xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstBaseUri (xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstLocalName (xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstName (xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstNamespaceUri(xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstPrefix (xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstXmlLang (xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstString (xmlTextReader *reader, const xmlChar *str); XMLPUBFUN const xmlChar * xmlTextReaderConstValue (xmlTextReader *reader); /* * use the Const version of the routine for * better performance and simpler code */ XMLPUBFUN xmlChar * xmlTextReaderBaseUri (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderLocalName (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderName (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderNamespaceUri(xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderPrefix (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderXmlLang (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderValue (xmlTextReader *reader); /* * Methods of the XmlTextReader */ XMLPUBFUN int xmlTextReaderClose (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderGetAttributeNo (xmlTextReader *reader, int no); XMLPUBFUN xmlChar * xmlTextReaderGetAttribute (xmlTextReader *reader, const xmlChar *name); XMLPUBFUN xmlChar * xmlTextReaderGetAttributeNs (xmlTextReader *reader, const xmlChar *localName, const xmlChar *namespaceURI); XMLPUBFUN xmlParserInputBuffer * xmlTextReaderGetRemainder (xmlTextReader *reader); XMLPUBFUN xmlChar * xmlTextReaderLookupNamespace(xmlTextReader *reader, const xmlChar *prefix); XMLPUBFUN int xmlTextReaderMoveToAttributeNo(xmlTextReader *reader, int no); XMLPUBFUN int xmlTextReaderMoveToAttribute(xmlTextReader *reader, const xmlChar *name); XMLPUBFUN int xmlTextReaderMoveToAttributeNs(xmlTextReader *reader, const xmlChar *localName, const xmlChar *namespaceURI); XMLPUBFUN int xmlTextReaderMoveToFirstAttribute(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderMoveToNextAttribute(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderMoveToElement (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderNormalization (xmlTextReader *reader); XMLPUBFUN const xmlChar * xmlTextReaderConstEncoding (xmlTextReader *reader); /* * Extensions */ XMLPUBFUN int xmlTextReaderSetParserProp (xmlTextReader *reader, int prop, int value); XMLPUBFUN int xmlTextReaderGetParserProp (xmlTextReader *reader, int prop); XMLPUBFUN xmlNode * xmlTextReaderCurrentNode (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderGetParserLineNumber(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderGetParserColumnNumber(xmlTextReader *reader); XMLPUBFUN xmlNode * xmlTextReaderPreserve (xmlTextReader *reader); #ifdef LIBXML_PATTERN_ENABLED XMLPUBFUN int xmlTextReaderPreservePattern(xmlTextReader *reader, const xmlChar *pattern, const xmlChar **namespaces); #endif /* LIBXML_PATTERN_ENABLED */ XMLPUBFUN xmlDoc * xmlTextReaderCurrentDoc (xmlTextReader *reader); XMLPUBFUN xmlNode * xmlTextReaderExpand (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderNext (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderNextSibling (xmlTextReader *reader); XMLPUBFUN int xmlTextReaderIsValid (xmlTextReader *reader); #ifdef LIBXML_RELAXNG_ENABLED XMLPUBFUN int xmlTextReaderRelaxNGValidate(xmlTextReader *reader, const char *rng); XMLPUBFUN int xmlTextReaderRelaxNGValidateCtxt(xmlTextReader *reader, xmlRelaxNGValidCtxt *ctxt, int options); XMLPUBFUN int xmlTextReaderRelaxNGSetSchema(xmlTextReader *reader, xmlRelaxNG *schema); #endif #ifdef LIBXML_SCHEMAS_ENABLED XMLPUBFUN int xmlTextReaderSchemaValidate (xmlTextReader *reader, const char *xsd); XMLPUBFUN int xmlTextReaderSchemaValidateCtxt(xmlTextReader *reader, xmlSchemaValidCtxt *ctxt, int options); XMLPUBFUN int xmlTextReaderSetSchema (xmlTextReader *reader, xmlSchema *schema); #endif XMLPUBFUN const xmlChar * xmlTextReaderConstXmlVersion(xmlTextReader *reader); XMLPUBFUN int xmlTextReaderStandalone (xmlTextReader *reader); /* * Index lookup */ XMLPUBFUN long xmlTextReaderByteConsumed (xmlTextReader *reader); /* * New more complete APIs for simpler creation and reuse of readers */ XMLPUBFUN xmlTextReader * xmlReaderWalker (xmlDoc *doc); XMLPUBFUN xmlTextReader * xmlReaderForDoc (const xmlChar * cur, const char *URL, const char *encoding, int options); XMLPUBFUN xmlTextReader * xmlReaderForFile (const char *filename, const char *encoding, int options); XMLPUBFUN xmlTextReader * xmlReaderForMemory (const char *buffer, int size, const char *URL, const char *encoding, int options); XMLPUBFUN xmlTextReader * xmlReaderForFd (int fd, const char *URL, const char *encoding, int options); XMLPUBFUN xmlTextReader * xmlReaderForIO (xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, const char *URL, const char *encoding, int options); XMLPUBFUN int xmlReaderNewWalker (xmlTextReader *reader, xmlDoc *doc); XMLPUBFUN int xmlReaderNewDoc (xmlTextReader *reader, const xmlChar * cur, const char *URL, const char *encoding, int options); XMLPUBFUN int xmlReaderNewFile (xmlTextReader *reader, const char *filename, const char *encoding, int options); XMLPUBFUN int xmlReaderNewMemory (xmlTextReader *reader, const char *buffer, int size, const char *URL, const char *encoding, int options); XMLPUBFUN int xmlReaderNewFd (xmlTextReader *reader, int fd, const char *URL, const char *encoding, int options); XMLPUBFUN int xmlReaderNewIO (xmlTextReader *reader, xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, const char *URL, const char *encoding, int options); /* * Error handling extensions */ typedef void * xmlTextReaderLocatorPtr; /** * Signature of an error callback from a reader parser * * @param arg the user argument * @param msg the message * @param severity the severity of the error * @param locator a locator indicating where the error occurred */ typedef void (*xmlTextReaderErrorFunc)(void *arg, const char *msg, xmlParserSeverities severity, xmlTextReaderLocatorPtr locator); XMLPUBFUN int xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); XMLPUBFUN xmlChar * xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); XMLPUBFUN void xmlTextReaderSetErrorHandler(xmlTextReader *reader, xmlTextReaderErrorFunc f, void *arg); XMLPUBFUN void xmlTextReaderSetStructuredErrorHandler(xmlTextReader *reader, xmlStructuredErrorFunc f, void *arg); XMLPUBFUN void xmlTextReaderGetErrorHandler(xmlTextReader *reader, xmlTextReaderErrorFunc *f, void **arg); XMLPUBFUN void xmlTextReaderSetResourceLoader(xmlTextReader *reader, xmlResourceLoader loader, void *data); #endif /* LIBXML_READER_ENABLED */ #ifdef __cplusplus } #endif #endif /* __XML_XMLREADER_H__ */ libxml/valid.h000064400000027160152525225610007316 0ustar00/** * @file * * @brief DTD validator * * API to handle XML Document Type Definitions and validate * documents. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_VALID_H__ #define __XML_VALID_H__ #include #include #define XML_TREE_INTERNALS #include #undef XML_TREE_INTERNALS #include #include #include #ifdef __cplusplus extern "C" { #endif /* * Validation state added for non-deterministic content model. */ typedef struct _xmlValidState xmlValidState; typedef xmlValidState *xmlValidStatePtr; /** * Report a validity error. * * @param ctx user data (usually an xmlValidCtxt) * @param msg printf-like format string * @param ... arguments to format */ typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * Report a validity warning. * * @param ctx user data (usually an xmlValidCtxt) * @param msg printf-like format string * @param ... arguments to format */ typedef void (*xmlValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); typedef struct _xmlValidCtxt xmlValidCtxt; typedef xmlValidCtxt *xmlValidCtxtPtr; /** * An xmlValidCtxt is used for error reporting when validating. */ struct _xmlValidCtxt { void *userData; /* user specific data block */ xmlValidityErrorFunc error; /* the callback in case of errors */ xmlValidityWarningFunc warning; /* the callback in case of warning */ /* Node analysis stack used when validating within entities */ xmlNode *node; /* Current parsed Node */ int nodeNr; /* Depth of the parsing stack */ int nodeMax; /* Max depth of the parsing stack */ xmlNode **nodeTab; /* array of nodes */ unsigned int flags; /* internal flags */ xmlDoc *doc; /* the document */ int valid; /* temporary validity check result */ /* state state used for non-determinist content validation */ xmlValidState *vstate; /* current state */ int vstateNr; /* Depth of the validation stack */ int vstateMax; /* Max depth of the validation stack */ xmlValidState *vstateTab; /* array of validation states */ #ifdef LIBXML_REGEXP_ENABLED xmlAutomata *am; /* the automata */ xmlAutomataState *state; /* used to build the automata */ #else void *am; void *state; #endif }; typedef struct _xmlHashTable xmlNotationTable; typedef xmlNotationTable *xmlNotationTablePtr; typedef struct _xmlHashTable xmlElementTable; typedef xmlElementTable *xmlElementTablePtr; typedef struct _xmlHashTable xmlAttributeTable; typedef xmlAttributeTable *xmlAttributeTablePtr; typedef struct _xmlHashTable xmlIDTable; typedef xmlIDTable *xmlIDTablePtr; typedef struct _xmlHashTable xmlRefTable; typedef xmlRefTable *xmlRefTablePtr; /* Notation */ XMLPUBFUN xmlNotation * xmlAddNotationDecl (xmlValidCtxt *ctxt, xmlDtd *dtd, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XML_DEPRECATED XMLPUBFUN xmlNotationTable * xmlCopyNotationTable (xmlNotationTable *table); XML_DEPRECATED XMLPUBFUN void xmlFreeNotationTable (xmlNotationTable *table); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlDumpNotationDecl (xmlBuffer *buf, xmlNotation *nota); /* XML_DEPRECATED, still used in lxml */ XMLPUBFUN void xmlDumpNotationTable (xmlBuffer *buf, xmlNotationTable *table); #endif /* LIBXML_OUTPUT_ENABLED */ /* Element Content */ XML_DEPRECATED XMLPUBFUN xmlElementContent * xmlNewElementContent (const xmlChar *name, xmlElementContentType type); XML_DEPRECATED XMLPUBFUN xmlElementContent * xmlCopyElementContent (xmlElementContent *content); XML_DEPRECATED XMLPUBFUN void xmlFreeElementContent (xmlElementContent *cur); XML_DEPRECATED XMLPUBFUN xmlElementContent * xmlNewDocElementContent (xmlDoc *doc, const xmlChar *name, xmlElementContentType type); XML_DEPRECATED XMLPUBFUN xmlElementContent * xmlCopyDocElementContent(xmlDoc *doc, xmlElementContent *content); XML_DEPRECATED XMLPUBFUN void xmlFreeDocElementContent(xmlDoc *doc, xmlElementContent *cur); XML_DEPRECATED XMLPUBFUN void xmlSnprintfElementContent(char *buf, int size, xmlElementContent *content, int englob); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlSprintfElementContent(char *buf, xmlElementContent *content, int englob); #endif /* LIBXML_OUTPUT_ENABLED */ /* Element */ XMLPUBFUN xmlElement * xmlAddElementDecl (xmlValidCtxt *ctxt, xmlDtd *dtd, const xmlChar *name, xmlElementTypeVal type, xmlElementContent *content); XML_DEPRECATED XMLPUBFUN xmlElementTable * xmlCopyElementTable (xmlElementTable *table); XML_DEPRECATED XMLPUBFUN void xmlFreeElementTable (xmlElementTable *table); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlDumpElementTable (xmlBuffer *buf, xmlElementTable *table); XML_DEPRECATED XMLPUBFUN void xmlDumpElementDecl (xmlBuffer *buf, xmlElement *elem); #endif /* LIBXML_OUTPUT_ENABLED */ /* Enumeration */ XML_DEPRECATED XMLPUBFUN xmlEnumeration * xmlCreateEnumeration (const xmlChar *name); /* XML_DEPRECATED, needed for custom attributeDecl SAX handler */ XMLPUBFUN void xmlFreeEnumeration (xmlEnumeration *cur); XML_DEPRECATED XMLPUBFUN xmlEnumeration * xmlCopyEnumeration (xmlEnumeration *cur); /* Attribute */ XMLPUBFUN xmlAttribute * xmlAddAttributeDecl (xmlValidCtxt *ctxt, xmlDtd *dtd, const xmlChar *elem, const xmlChar *name, const xmlChar *ns, xmlAttributeType type, xmlAttributeDefault def, const xmlChar *defaultValue, xmlEnumeration *tree); XML_DEPRECATED XMLPUBFUN xmlAttributeTable * xmlCopyAttributeTable (xmlAttributeTable *table); XML_DEPRECATED XMLPUBFUN void xmlFreeAttributeTable (xmlAttributeTable *table); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlDumpAttributeTable (xmlBuffer *buf, xmlAttributeTable *table); XML_DEPRECATED XMLPUBFUN void xmlDumpAttributeDecl (xmlBuffer *buf, xmlAttribute *attr); #endif /* LIBXML_OUTPUT_ENABLED */ /* IDs */ XMLPUBFUN int xmlAddIDSafe (xmlAttr *attr, const xmlChar *value); XMLPUBFUN xmlID * xmlAddID (xmlValidCtxt *ctxt, xmlDoc *doc, const xmlChar *value, xmlAttr *attr); XMLPUBFUN void xmlFreeIDTable (xmlIDTable *table); XMLPUBFUN xmlAttr * xmlGetID (xmlDoc *doc, const xmlChar *ID); XMLPUBFUN int xmlIsID (xmlDoc *doc, xmlNode *elem, xmlAttr *attr); XMLPUBFUN int xmlRemoveID (xmlDoc *doc, xmlAttr *attr); /* IDREFs */ XML_DEPRECATED XMLPUBFUN xmlRef * xmlAddRef (xmlValidCtxt *ctxt, xmlDoc *doc, const xmlChar *value, xmlAttr *attr); XML_DEPRECATED XMLPUBFUN void xmlFreeRefTable (xmlRefTable *table); XML_DEPRECATED XMLPUBFUN int xmlIsRef (xmlDoc *doc, xmlNode *elem, xmlAttr *attr); XML_DEPRECATED XMLPUBFUN int xmlRemoveRef (xmlDoc *doc, xmlAttr *attr); XML_DEPRECATED XMLPUBFUN xmlList * xmlGetRefs (xmlDoc *doc, const xmlChar *ID); /** * The public function calls related to validity checking. */ #ifdef LIBXML_VALID_ENABLED /* Allocate/Release Validation Contexts */ XMLPUBFUN xmlValidCtxt * xmlNewValidCtxt(void); XMLPUBFUN void xmlFreeValidCtxt(xmlValidCtxt *); XML_DEPRECATED XMLPUBFUN int xmlValidateRoot (xmlValidCtxt *ctxt, xmlDoc *doc); XML_DEPRECATED XMLPUBFUN int xmlValidateElementDecl (xmlValidCtxt *ctxt, xmlDoc *doc, xmlElement *elem); XML_DEPRECATED XMLPUBFUN xmlChar * xmlValidNormalizeAttributeValue(xmlDoc *doc, xmlNode *elem, const xmlChar *name, const xmlChar *value); XML_DEPRECATED XMLPUBFUN xmlChar * xmlValidCtxtNormalizeAttributeValue(xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem, const xmlChar *name, const xmlChar *value); XML_DEPRECATED XMLPUBFUN int xmlValidateAttributeDecl(xmlValidCtxt *ctxt, xmlDoc *doc, xmlAttribute *attr); XML_DEPRECATED XMLPUBFUN int xmlValidateAttributeValue(xmlAttributeType type, const xmlChar *value); XML_DEPRECATED XMLPUBFUN int xmlValidateNotationDecl (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNotation *nota); XMLPUBFUN int xmlValidateDtd (xmlValidCtxt *ctxt, xmlDoc *doc, xmlDtd *dtd); XML_DEPRECATED XMLPUBFUN int xmlValidateDtdFinal (xmlValidCtxt *ctxt, xmlDoc *doc); XMLPUBFUN int xmlValidateDocument (xmlValidCtxt *ctxt, xmlDoc *doc); XMLPUBFUN int xmlValidateElement (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem); XML_DEPRECATED XMLPUBFUN int xmlValidateOneElement (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem); XML_DEPRECATED XMLPUBFUN int xmlValidateOneAttribute (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem, xmlAttr *attr, const xmlChar *value); XML_DEPRECATED XMLPUBFUN int xmlValidateOneNamespace (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem, const xmlChar *prefix, xmlNs *ns, const xmlChar *value); XML_DEPRECATED XMLPUBFUN int xmlValidateDocumentFinal(xmlValidCtxt *ctxt, xmlDoc *doc); XML_DEPRECATED XMLPUBFUN int xmlValidateNotationUse (xmlValidCtxt *ctxt, xmlDoc *doc, const xmlChar *notationName); #endif /* LIBXML_VALID_ENABLED */ XML_DEPRECATED XMLPUBFUN int xmlIsMixedElement (xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlAttribute * xmlGetDtdAttrDesc (xmlDtd *dtd, const xmlChar *elem, const xmlChar *name); XMLPUBFUN xmlAttribute * xmlGetDtdQAttrDesc (xmlDtd *dtd, const xmlChar *elem, const xmlChar *name, const xmlChar *prefix); XMLPUBFUN xmlNotation * xmlGetDtdNotationDesc (xmlDtd *dtd, const xmlChar *name); XMLPUBFUN xmlElement * xmlGetDtdQElementDesc (xmlDtd *dtd, const xmlChar *name, const xmlChar *prefix); XMLPUBFUN xmlElement * xmlGetDtdElementDesc (xmlDtd *dtd, const xmlChar *name); #ifdef LIBXML_VALID_ENABLED XMLPUBFUN int xmlValidGetPotentialChildren(xmlElementContent *ctree, const xmlChar **names, int *len, int max); /* only needed for `xmllint --insert` */ XMLPUBFUN int xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names, int max); XMLPUBFUN int xmlValidateNameValue (const xmlChar *value); XMLPUBFUN int xmlValidateNamesValue (const xmlChar *value); XMLPUBFUN int xmlValidateNmtokenValue (const xmlChar *value); XMLPUBFUN int xmlValidateNmtokensValue(const xmlChar *value); #ifdef LIBXML_REGEXP_ENABLED /* * Validation based on the regexp support */ XML_DEPRECATED XMLPUBFUN int xmlValidBuildContentModel(xmlValidCtxt *ctxt, xmlElement *elem); XML_DEPRECATED XMLPUBFUN int xmlValidatePushElement (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem, const xmlChar *qname); XML_DEPRECATED XMLPUBFUN int xmlValidatePushCData (xmlValidCtxt *ctxt, const xmlChar *data, int len); XML_DEPRECATED XMLPUBFUN int xmlValidatePopElement (xmlValidCtxt *ctxt, xmlDoc *doc, xmlNode *elem, const xmlChar *qname); #endif /* LIBXML_REGEXP_ENABLED */ #endif /* LIBXML_VALID_ENABLED */ #ifdef __cplusplus } #endif #endif /* __XML_VALID_H__ */ libxml/xpathInternals.h000064400000042560152525225610011224 0ustar00/** * @file * * @brief internal interfaces for XML Path Language implementation * * internal interfaces for XML Path Language implementation * used to build new modules on top of XPath like XPointer and * XSLT * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XPATH_INTERNALS_H__ #define __XML_XPATH_INTERNALS_H__ #include #include #include #ifdef LIBXML_XPATH_ENABLED #ifdef __cplusplus extern "C" { #endif /** * Push a value on the stack * * @deprecated Use #xmlXPathValuePush */ #define valuePush xmlXPathValuePush /** * Pop a value from the stack * * @deprecated Use #xmlXPathValuePop */ #define valuePop xmlXPathValuePop /************************************************************************ * * * Helpers * * * ************************************************************************/ /* * Many of these macros may later turn into functions. They * shouldn't be used in \#ifdef's preprocessor instructions. */ /** * Raises an error. * * @param ctxt an XPath parser context * @param err an xmlXPathError code */ #define xmlXPathSetError(ctxt, err) \ { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \ if ((ctxt) != NULL) (ctxt)->error = (err); } /** * Raises an XPATH_INVALID_ARITY error. * * @param ctxt an XPath parser context */ #define xmlXPathSetArityError(ctxt) \ xmlXPathSetError((ctxt), XPATH_INVALID_ARITY) /** * Raises an XPATH_INVALID_TYPE error. * * @param ctxt an XPath parser context */ #define xmlXPathSetTypeError(ctxt) \ xmlXPathSetError((ctxt), XPATH_INVALID_TYPE) /** * Get the error code of an XPath context. * * @param ctxt an XPath parser context * @returns the context error. */ #define xmlXPathGetError(ctxt) ((ctxt)->error) /** * Check if an XPath error was raised. * * @param ctxt an XPath parser context * @returns true if an error has been raised, false otherwise. */ #define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK) /** * Get the document of an XPath context. * * @param ctxt an XPath parser context * @returns the context document. */ #define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc) /** * Get the context node of an XPath context. * * @param ctxt an XPath parser context * @returns the context node. */ #define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) XMLPUBFUN int xmlXPathPopBoolean (xmlXPathParserContext *ctxt); XMLPUBFUN double xmlXPathPopNumber (xmlXPathParserContext *ctxt); XMLPUBFUN xmlChar * xmlXPathPopString (xmlXPathParserContext *ctxt); XMLPUBFUN xmlNodeSet * xmlXPathPopNodeSet (xmlXPathParserContext *ctxt); XMLPUBFUN void * xmlXPathPopExternal (xmlXPathParserContext *ctxt); /** * Pushes the boolean `val` on the context stack. * * @param ctxt an XPath parser context * @param val a boolean */ #define xmlXPathReturnBoolean(ctxt, val) \ valuePush((ctxt), xmlXPathNewBoolean(val)) /** * Pushes true on the context stack. * * @param ctxt an XPath parser context */ #define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1) /** * Pushes false on the context stack. * * @param ctxt an XPath parser context */ #define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0) /** * Pushes the double `val` on the context stack. * * @param ctxt an XPath parser context * @param val a double */ #define xmlXPathReturnNumber(ctxt, val) \ valuePush((ctxt), xmlXPathNewFloat(val)) /** * Pushes the string `str` on the context stack. * * @param ctxt an XPath parser context * @param str a string */ #define xmlXPathReturnString(ctxt, str) \ valuePush((ctxt), xmlXPathWrapString(str)) /** * Pushes an empty string on the stack. * * @param ctxt an XPath parser context */ #define xmlXPathReturnEmptyString(ctxt) \ valuePush((ctxt), xmlXPathNewCString("")) /** * Pushes the node-set `ns` on the context stack. * * @param ctxt an XPath parser context * @param ns a node-set */ #define xmlXPathReturnNodeSet(ctxt, ns) \ valuePush((ctxt), xmlXPathWrapNodeSet(ns)) /** * Pushes an empty node-set on the context stack. * * @param ctxt an XPath parser context */ #define xmlXPathReturnEmptyNodeSet(ctxt) \ valuePush((ctxt), xmlXPathNewNodeSet(NULL)) /** * Pushes user data on the context stack. * * @param ctxt an XPath parser context * @param val user data */ #define xmlXPathReturnExternal(ctxt, val) \ valuePush((ctxt), xmlXPathWrapExternal(val)) /** * Check if the current value on the XPath stack is a node set or * an XSLT value tree. * * @param ctxt an XPath parser context * @returns true if the current object on the stack is a node-set. */ #define xmlXPathStackIsNodeSet(ctxt) \ (((ctxt)->value != NULL) \ && (((ctxt)->value->type == XPATH_NODESET) \ || ((ctxt)->value->type == XPATH_XSLT_TREE))) /** * Checks if the current value on the XPath stack is an external * object. * * @param ctxt an XPath parser context * @returns true if the current object on the stack is an external * object. */ #define xmlXPathStackIsExternal(ctxt) \ ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS)) /** * Empties a node-set. * * @param ns a node-set */ #define xmlXPathEmptyNodeSet(ns) \ { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; } /** * Macro to return from the function if an XPath error was detected. */ #define CHECK_ERROR \ if (ctxt->error != XPATH_EXPRESSION_OK) return /** * Macro to return 0 from the function if an XPath error was detected. */ #define CHECK_ERROR0 \ if (ctxt->error != XPATH_EXPRESSION_OK) return(0) /** * Macro to raise an XPath error and return. * * @param X the error code */ #define XP_ERROR(X) \ { xmlXPathErr(ctxt, X); return; } /** * Macro to raise an XPath error and return 0. * * @param X the error code */ #define XP_ERROR0(X) \ { xmlXPathErr(ctxt, X); return(0); } /** * Macro to check that the value on top of the XPath stack is of a given * type. * * @param typeval the XPath type */ #define CHECK_TYPE(typeval) \ if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ XP_ERROR(XPATH_INVALID_TYPE) /** * Macro to check that the value on top of the XPath stack is of a given * type. Return(0) in case of failure * * @param typeval the XPath type */ #define CHECK_TYPE0(typeval) \ if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ XP_ERROR0(XPATH_INVALID_TYPE) /** * Macro to check that the number of args passed to an XPath function matches. * * @param x the number of expected args */ #define CHECK_ARITY(x) \ if (ctxt == NULL) return; \ if (nargs != (x)) \ XP_ERROR(XPATH_INVALID_ARITY); \ if (ctxt->valueNr < (x)) \ XP_ERROR(XPATH_STACK_ERROR); /** * Macro to try to cast the value on the top of the XPath stack to a string. */ #define CAST_TO_STRING \ if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ xmlXPathStringFunction(ctxt, 1); /** * Macro to try to cast the value on the top of the XPath stack to a number. */ #define CAST_TO_NUMBER \ if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ xmlXPathNumberFunction(ctxt, 1); /** * Macro to try to cast the value on the top of the XPath stack to a boolean. */ #define CAST_TO_BOOLEAN \ if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ xmlXPathBooleanFunction(ctxt, 1); /* * Variable Lookup forwarding. */ XMLPUBFUN void xmlXPathRegisterVariableLookup (xmlXPathContext *ctxt, xmlXPathVariableLookupFunc f, void *data); /* * Function Lookup forwarding. */ XMLPUBFUN void xmlXPathRegisterFuncLookup (xmlXPathContext *ctxt, xmlXPathFuncLookupFunc f, void *funcCtxt); /* * Error reporting. */ XMLPUBFUN void xmlXPatherror (xmlXPathParserContext *ctxt, const char *file, int line, int no); XMLPUBFUN void xmlXPathErr (xmlXPathParserContext *ctxt, int error); #ifdef LIBXML_DEBUG_ENABLED XMLPUBFUN void xmlXPathDebugDumpObject (FILE *output, xmlXPathObject *cur, int depth); XMLPUBFUN void xmlXPathDebugDumpCompExpr(FILE *output, xmlXPathCompExpr *comp, int depth); #endif /** * NodeSet handling. */ XMLPUBFUN int xmlXPathNodeSetContains (xmlNodeSet *cur, xmlNode *val); XMLPUBFUN xmlNodeSet * xmlXPathDifference (xmlNodeSet *nodes1, xmlNodeSet *nodes2); XMLPUBFUN xmlNodeSet * xmlXPathIntersection (xmlNodeSet *nodes1, xmlNodeSet *nodes2); XMLPUBFUN xmlNodeSet * xmlXPathDistinctSorted (xmlNodeSet *nodes); XMLPUBFUN xmlNodeSet * xmlXPathDistinct (xmlNodeSet *nodes); XMLPUBFUN int xmlXPathHasSameNodes (xmlNodeSet *nodes1, xmlNodeSet *nodes2); XMLPUBFUN xmlNodeSet * xmlXPathNodeLeadingSorted (xmlNodeSet *nodes, xmlNode *node); XMLPUBFUN xmlNodeSet * xmlXPathLeadingSorted (xmlNodeSet *nodes1, xmlNodeSet *nodes2); XMLPUBFUN xmlNodeSet * xmlXPathNodeLeading (xmlNodeSet *nodes, xmlNode *node); XMLPUBFUN xmlNodeSet * xmlXPathLeading (xmlNodeSet *nodes1, xmlNodeSet *nodes2); XMLPUBFUN xmlNodeSet * xmlXPathNodeTrailingSorted (xmlNodeSet *nodes, xmlNode *node); XMLPUBFUN xmlNodeSet * xmlXPathTrailingSorted (xmlNodeSet *nodes1, xmlNodeSet *nodes2); XMLPUBFUN xmlNodeSet * xmlXPathNodeTrailing (xmlNodeSet *nodes, xmlNode *node); XMLPUBFUN xmlNodeSet * xmlXPathTrailing (xmlNodeSet *nodes1, xmlNodeSet *nodes2); /** * Extending a context. */ XMLPUBFUN int xmlXPathRegisterNs (xmlXPathContext *ctxt, const xmlChar *prefix, const xmlChar *ns_uri); XMLPUBFUN const xmlChar * xmlXPathNsLookup (xmlXPathContext *ctxt, const xmlChar *prefix); XMLPUBFUN void xmlXPathRegisteredNsCleanup (xmlXPathContext *ctxt); XMLPUBFUN int xmlXPathRegisterFunc (xmlXPathContext *ctxt, const xmlChar *name, xmlXPathFunction f); XMLPUBFUN int xmlXPathRegisterFuncNS (xmlXPathContext *ctxt, const xmlChar *name, const xmlChar *ns_uri, xmlXPathFunction f); XMLPUBFUN int xmlXPathRegisterVariable (xmlXPathContext *ctxt, const xmlChar *name, xmlXPathObject *value); XMLPUBFUN int xmlXPathRegisterVariableNS (xmlXPathContext *ctxt, const xmlChar *name, const xmlChar *ns_uri, xmlXPathObject *value); XMLPUBFUN xmlXPathFunction xmlXPathFunctionLookup (xmlXPathContext *ctxt, const xmlChar *name); XMLPUBFUN xmlXPathFunction xmlXPathFunctionLookupNS (xmlXPathContext *ctxt, const xmlChar *name, const xmlChar *ns_uri); XMLPUBFUN void xmlXPathRegisteredFuncsCleanup (xmlXPathContext *ctxt); XMLPUBFUN xmlXPathObject * xmlXPathVariableLookup (xmlXPathContext *ctxt, const xmlChar *name); XMLPUBFUN xmlXPathObject * xmlXPathVariableLookupNS (xmlXPathContext *ctxt, const xmlChar *name, const xmlChar *ns_uri); XMLPUBFUN void xmlXPathRegisteredVariablesCleanup(xmlXPathContext *ctxt); /** * Utilities to extend XPath. */ XMLPUBFUN xmlXPathParserContext * xmlXPathNewParserContext (const xmlChar *str, xmlXPathContext *ctxt); XMLPUBFUN void xmlXPathFreeParserContext (xmlXPathParserContext *ctxt); XMLPUBFUN xmlXPathObject * xmlXPathValuePop (xmlXPathParserContext *ctxt); XMLPUBFUN int xmlXPathValuePush (xmlXPathParserContext *ctxt, xmlXPathObject *value); XMLPUBFUN xmlXPathObject * xmlXPathNewString (const xmlChar *val); XMLPUBFUN xmlXPathObject * xmlXPathNewCString (const char *val); XMLPUBFUN xmlXPathObject * xmlXPathWrapString (xmlChar *val); XMLPUBFUN xmlXPathObject * xmlXPathWrapCString (char * val); XMLPUBFUN xmlXPathObject * xmlXPathNewFloat (double val); XMLPUBFUN xmlXPathObject * xmlXPathNewBoolean (int val); XMLPUBFUN xmlXPathObject * xmlXPathNewNodeSet (xmlNode *val); XMLPUBFUN xmlXPathObject * xmlXPathNewValueTree (xmlNode *val); XMLPUBFUN int xmlXPathNodeSetAdd (xmlNodeSet *cur, xmlNode *val); XMLPUBFUN int xmlXPathNodeSetAddUnique (xmlNodeSet *cur, xmlNode *val); XMLPUBFUN int xmlXPathNodeSetAddNs (xmlNodeSet *cur, xmlNode *node, xmlNs *ns); XMLPUBFUN void xmlXPathNodeSetSort (xmlNodeSet *set); XMLPUBFUN void xmlXPathRoot (xmlXPathParserContext *ctxt); XML_DEPRECATED XMLPUBFUN void xmlXPathEvalExpr (xmlXPathParserContext *ctxt); XMLPUBFUN xmlChar * xmlXPathParseName (xmlXPathParserContext *ctxt); XMLPUBFUN xmlChar * xmlXPathParseNCName (xmlXPathParserContext *ctxt); /* * Existing functions. */ XMLPUBFUN double xmlXPathStringEvalNumber (const xmlChar *str); XMLPUBFUN int xmlXPathEvaluatePredicateResult (xmlXPathParserContext *ctxt, xmlXPathObject *res); XMLPUBFUN void xmlXPathRegisterAllFunctions (xmlXPathContext *ctxt); XMLPUBFUN xmlNodeSet * xmlXPathNodeSetMerge (xmlNodeSet *val1, xmlNodeSet *val2); XMLPUBFUN void xmlXPathNodeSetDel (xmlNodeSet *cur, xmlNode *val); XMLPUBFUN void xmlXPathNodeSetRemove (xmlNodeSet *cur, int val); XMLPUBFUN xmlXPathObject * xmlXPathNewNodeSetList (xmlNodeSet *val); XMLPUBFUN xmlXPathObject * xmlXPathWrapNodeSet (xmlNodeSet *val); XMLPUBFUN xmlXPathObject * xmlXPathWrapExternal (void *val); XMLPUBFUN int xmlXPathEqualValues(xmlXPathParserContext *ctxt); XMLPUBFUN int xmlXPathNotEqualValues(xmlXPathParserContext *ctxt); XMLPUBFUN int xmlXPathCompareValues(xmlXPathParserContext *ctxt, int inf, int strict); XMLPUBFUN void xmlXPathValueFlipSign(xmlXPathParserContext *ctxt); XMLPUBFUN void xmlXPathAddValues(xmlXPathParserContext *ctxt); XMLPUBFUN void xmlXPathSubValues(xmlXPathParserContext *ctxt); XMLPUBFUN void xmlXPathMultValues(xmlXPathParserContext *ctxt); XMLPUBFUN void xmlXPathDivValues(xmlXPathParserContext *ctxt); XMLPUBFUN void xmlXPathModValues(xmlXPathParserContext *ctxt); XMLPUBFUN int xmlXPathIsNodeType(const xmlChar *name); /* * Some of the axis navigation routines. */ XMLPUBFUN xmlNode *xmlXPathNextSelf(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextChild(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextDescendant(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextDescendantOrSelf(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextParent(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextAncestorOrSelf(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextFollowingSibling(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextFollowing(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextNamespace(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextAttribute(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextPreceding(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextAncestor(xmlXPathParserContext *ctxt, xmlNode *cur); XMLPUBFUN xmlNode *xmlXPathNextPrecedingSibling(xmlXPathParserContext *ctxt, xmlNode *cur); /* * The official core of XPath functions. */ XMLPUBFUN void xmlXPathLastFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathPositionFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathCountFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathIdFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathLocalNameFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathNamespaceURIFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathStringFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathStringLengthFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathConcatFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathContainsFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathStartsWithFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathSubstringFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathSubstringBeforeFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathSubstringAfterFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathNormalizeFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathTranslateFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathNotFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathTrueFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathFalseFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathLangFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathNumberFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathSumFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathFloorFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathCeilingFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathRoundFunction(xmlXPathParserContext *ctxt, int nargs); XMLPUBFUN void xmlXPathBooleanFunction(xmlXPathParserContext *ctxt, int nargs); /** * Really internal functions */ XMLPUBFUN void xmlXPathNodeSetFreeNs(xmlNs *ns); #ifdef __cplusplus } #endif #endif /* LIBXML_XPATH_ENABLED */ #endif /* ! __XML_XPATH_INTERNALS_H__ */ libxml/encoding.h000064400000023207152525225610010003 0ustar00/** * @file * * @brief Character encoding conversion functions * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_CHAR_ENCODING_H__ #define __XML_CHAR_ENCODING_H__ #include #include #ifdef __cplusplus extern "C" { #endif /* * Backward compatibility */ /** @cond ignore */ #define UTF8Toisolat1 xmlUTF8ToIsolat1 #define isolat1ToUTF8 xmlIsolat1ToUTF8 /** @endcond */ /** * Encoding conversion errors */ typedef enum { /** Success */ XML_ENC_ERR_SUCCESS = 0, /** Internal or unclassified error */ XML_ENC_ERR_INTERNAL = -1, /** Invalid or untranslatable input sequence */ XML_ENC_ERR_INPUT = -2, /** Not enough space in output buffer */ XML_ENC_ERR_SPACE = -3, /** Out-of-memory error */ XML_ENC_ERR_MEMORY = -4 } xmlCharEncError; /** * Predefined values for some standard encodings. */ typedef enum { /** No char encoding detected */ XML_CHAR_ENCODING_ERROR= -1, /** No char encoding detected */ XML_CHAR_ENCODING_NONE= 0, /** UTF-8 */ XML_CHAR_ENCODING_UTF8= 1, /** UTF-16 little endian */ XML_CHAR_ENCODING_UTF16LE= 2, /** UTF-16 big endian */ XML_CHAR_ENCODING_UTF16BE= 3, /** UCS-4 little endian */ XML_CHAR_ENCODING_UCS4LE= 4, /** UCS-4 big endian */ XML_CHAR_ENCODING_UCS4BE= 5, /** EBCDIC uh! */ XML_CHAR_ENCODING_EBCDIC= 6, /** UCS-4 unusual ordering */ XML_CHAR_ENCODING_UCS4_2143=7, /** UCS-4 unusual ordering */ XML_CHAR_ENCODING_UCS4_3412=8, /** UCS-2 */ XML_CHAR_ENCODING_UCS2= 9, /** ISO-8859-1 ISO Latin 1 */ XML_CHAR_ENCODING_8859_1= 10, /** ISO-8859-2 ISO Latin 2 */ XML_CHAR_ENCODING_8859_2= 11, /** ISO-8859-3 */ XML_CHAR_ENCODING_8859_3= 12, /** ISO-8859-4 */ XML_CHAR_ENCODING_8859_4= 13, /** ISO-8859-5 */ XML_CHAR_ENCODING_8859_5= 14, /** ISO-8859-6 */ XML_CHAR_ENCODING_8859_6= 15, /** ISO-8859-7 */ XML_CHAR_ENCODING_8859_7= 16, /** ISO-8859-8 */ XML_CHAR_ENCODING_8859_8= 17, /** ISO-8859-9 */ XML_CHAR_ENCODING_8859_9= 18, /** ISO-2022-JP */ XML_CHAR_ENCODING_2022_JP= 19, /** Shift_JIS */ XML_CHAR_ENCODING_SHIFT_JIS=20, /** EUC-JP */ XML_CHAR_ENCODING_EUC_JP= 21, /** pure ASCII */ XML_CHAR_ENCODING_ASCII= 22, /** UTF-16 native, available since 2.14 */ XML_CHAR_ENCODING_UTF16= 23, /** HTML (output only), available since 2.14 */ XML_CHAR_ENCODING_HTML= 24, /** ISO-8859-10, available since 2.14 */ XML_CHAR_ENCODING_8859_10= 25, /** ISO-8859-11, available since 2.14 */ XML_CHAR_ENCODING_8859_11= 26, /** ISO-8859-13, available since 2.14 */ XML_CHAR_ENCODING_8859_13= 27, /** ISO-8859-14, available since 2.14 */ XML_CHAR_ENCODING_8859_14= 28, /** ISO-8859-15, available since 2.14 */ XML_CHAR_ENCODING_8859_15= 29, /** ISO-8859-16, available since 2.14 */ XML_CHAR_ENCODING_8859_16= 30, /** windows-1252, available since 2.15 */ XML_CHAR_ENCODING_WINDOWS_1252 = 31 } xmlCharEncoding; /** * Encoding conversion flags */ typedef enum { /** Create converter for input (conversion to UTF-8) */ XML_ENC_INPUT = (1 << 0), /** Create converter for output (conversion from UTF-8) */ XML_ENC_OUTPUT = (1 << 1), /** Use HTML5 mappings */ XML_ENC_HTML = (1 << 2) } xmlCharEncFlags; /** * Convert characters to UTF-8. * * On success, the value of `inlen` after return is the number of * bytes consumed and `outlen` is the number of bytes produced. * * @param out a pointer to an array of bytes to store the UTF-8 result * @param outlen the length of `out` * @param in a pointer to an array of chars in the original encoding * @param inlen the length of `in` * @returns the number of bytes written or an xmlCharEncError code. */ typedef int (*xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, const unsigned char *in, int *inlen); /** * Convert characters from UTF-8. * * On success, the value of `inlen` after return is the number of * bytes consumed and `outlen` is the number of bytes produced. * * @param out a pointer to an array of bytes to store the result * @param outlen the length of `out` * @param in a pointer to an array of UTF-8 chars * @param inlen the length of `in` * @returns the number of bytes written or an xmlCharEncError code. */ typedef int (*xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, const unsigned char *in, int *inlen); /** * Convert between character encodings. * * The value of `inlen` after return is the number of bytes consumed * and `outlen` is the number of bytes produced. * * If the converter can consume partial multi-byte sequences, the * `flush` flag can be used to detect truncated sequences at EOF. * Otherwise, the flag can be ignored. * * @param vctxt conversion context * @param out a pointer to an array of bytes to store the result * @param outlen the length of `out` * @param in a pointer to an array of input bytes * @param inlen the length of `in` * @param flush end of input * @returns an xmlCharEncError code. */ typedef xmlCharEncError (*xmlCharEncConvFunc)(void *vctxt, unsigned char *out, int *outlen, const unsigned char *in, int *inlen, int flush); /** * Free a conversion context. * * @param vctxt conversion context */ typedef void (*xmlCharEncConvCtxtDtor)(void *vctxt); /** Character encoding converter */ typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; /** * A character encoding conversion handler for non UTF-8 encodings. * * This structure will be made private. */ struct _xmlCharEncodingHandler { char *name XML_DEPRECATED_MEMBER; union { xmlCharEncConvFunc func; xmlCharEncodingInputFunc legacyFunc; } input XML_DEPRECATED_MEMBER; union { xmlCharEncConvFunc func; xmlCharEncodingOutputFunc legacyFunc; } output XML_DEPRECATED_MEMBER; void *inputCtxt XML_DEPRECATED_MEMBER; void *outputCtxt XML_DEPRECATED_MEMBER; xmlCharEncConvCtxtDtor ctxtDtor XML_DEPRECATED_MEMBER; int flags XML_DEPRECATED_MEMBER; }; /** * If this function returns XML_ERR_OK, it must fill the `out` * pointer with an encoding handler. The handler can be obtained * from #xmlCharEncNewCustomHandler. * * `flags` can contain XML_ENC_INPUT, XML_ENC_OUTPUT or both. * * @param vctxt user data * @param name encoding name * @param flags bit mask of flags * @param out pointer to resulting handler * @returns an xmlParserErrors code. */ typedef xmlParserErrors (*xmlCharEncConvImpl)(void *vctxt, const char *name, xmlCharEncFlags flags, xmlCharEncodingHandler **out); /* * Interfaces for encoding handlers. */ XML_DEPRECATED XMLPUBFUN void xmlInitCharEncodingHandlers (void); XML_DEPRECATED XMLPUBFUN void xmlCleanupCharEncodingHandlers (void); XML_DEPRECATED XMLPUBFUN void xmlRegisterCharEncodingHandler (xmlCharEncodingHandler *handler); XMLPUBFUN xmlParserErrors xmlLookupCharEncodingHandler (xmlCharEncoding enc, xmlCharEncodingHandler **out); XMLPUBFUN xmlParserErrors xmlOpenCharEncodingHandler (const char *name, int output, xmlCharEncodingHandler **out); XMLPUBFUN xmlParserErrors xmlCreateCharEncodingHandler (const char *name, xmlCharEncFlags flags, xmlCharEncConvImpl impl, void *implCtxt, xmlCharEncodingHandler **out); XMLPUBFUN xmlCharEncodingHandler * xmlGetCharEncodingHandler (xmlCharEncoding enc); XMLPUBFUN xmlCharEncodingHandler * xmlFindCharEncodingHandler (const char *name); XML_DEPRECATED XMLPUBFUN xmlCharEncodingHandler * xmlNewCharEncodingHandler (const char *name, xmlCharEncodingInputFunc input, xmlCharEncodingOutputFunc output); XMLPUBFUN xmlParserErrors xmlCharEncNewCustomHandler (const char *name, xmlCharEncConvFunc input, xmlCharEncConvFunc output, xmlCharEncConvCtxtDtor ctxtDtor, void *inputCtxt, void *outputCtxt, xmlCharEncodingHandler **out); /* * Interfaces for encoding names and aliases. */ XML_DEPRECATED XMLPUBFUN int xmlAddEncodingAlias (const char *name, const char *alias); XML_DEPRECATED XMLPUBFUN int xmlDelEncodingAlias (const char *alias); XML_DEPRECATED XMLPUBFUN const char * xmlGetEncodingAlias (const char *alias); XML_DEPRECATED XMLPUBFUN void xmlCleanupEncodingAliases (void); XMLPUBFUN xmlCharEncoding xmlParseCharEncoding (const char *name); XMLPUBFUN const char * xmlGetCharEncodingName (xmlCharEncoding enc); /* * Interfaces directly used by the parsers. */ XMLPUBFUN xmlCharEncoding xmlDetectCharEncoding (const unsigned char *in, int len); struct _xmlBuffer; XMLPUBFUN int xmlCharEncOutFunc (xmlCharEncodingHandler *handler, struct _xmlBuffer *out, struct _xmlBuffer *in); XMLPUBFUN int xmlCharEncInFunc (xmlCharEncodingHandler *handler, struct _xmlBuffer *out, struct _xmlBuffer *in); XML_DEPRECATED XMLPUBFUN int xmlCharEncFirstLine (xmlCharEncodingHandler *handler, struct _xmlBuffer *out, struct _xmlBuffer *in); XMLPUBFUN int xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); /* * Export a few useful functions */ #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN int xmlUTF8ToIsolat1 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen); #endif /* LIBXML_OUTPUT_ENABLED */ XMLPUBFUN int xmlIsolat1ToUTF8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen); #ifdef __cplusplus } #endif #endif /* __XML_CHAR_ENCODING_H__ */ libxml/uri.h000064400000005247152525225610007020 0ustar00/** * @file * * @brief library of generic URI related routines * * library of generic URI related routines * Implements RFC 2396 * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_URI_H__ #define __XML_URI_H__ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Parsed URI */ typedef struct _xmlURI xmlURI; typedef xmlURI *xmlURIPtr; /** * A parsed URI reference. * * This is a struct containing the various fields * as described in RFC 2396 but separated for further processing. * * Note: query is a deprecated field which is incorrectly unescaped. * query_raw takes precedence over query if the former is set. * See: http://mail.gnome.org/archives/xml/2007-April/thread.html\#00127 */ struct _xmlURI { char *scheme; /* the URI scheme */ char *opaque; /* opaque part */ char *authority; /* the authority part */ char *server; /* the server part */ char *user; /* the user part */ int port; /* the port number */ char *path; /* the path string */ char *query; /* the query string (deprecated - use with caution) */ char *fragment; /* the fragment identifier */ int cleanup; /* parsing potentially unclean URI */ char *query_raw; /* the query string (as it appears in the URI) */ }; XMLPUBFUN xmlURI * xmlCreateURI (void); XMLPUBFUN int xmlBuildURISafe (const xmlChar *URI, const xmlChar *base, xmlChar **out); XMLPUBFUN xmlChar * xmlBuildURI (const xmlChar *URI, const xmlChar *base); XMLPUBFUN int xmlBuildRelativeURISafe (const xmlChar *URI, const xmlChar *base, xmlChar **out); XMLPUBFUN xmlChar * xmlBuildRelativeURI (const xmlChar *URI, const xmlChar *base); XMLPUBFUN xmlURI * xmlParseURI (const char *str); XMLPUBFUN int xmlParseURISafe (const char *str, xmlURI **uri); XMLPUBFUN xmlURI * xmlParseURIRaw (const char *str, int raw); XMLPUBFUN int xmlParseURIReference (xmlURI *uri, const char *str); XMLPUBFUN xmlChar * xmlSaveUri (xmlURI *uri); XMLPUBFUN void xmlPrintURI (FILE *stream, xmlURI *uri); XMLPUBFUN xmlChar * xmlURIEscapeStr (const xmlChar *str, const xmlChar *list); XMLPUBFUN char * xmlURIUnescapeString (const char *str, int len, char *target); XMLPUBFUN int xmlNormalizeURIPath (char *path); XMLPUBFUN xmlChar * xmlURIEscape (const xmlChar *str); XMLPUBFUN void xmlFreeURI (xmlURI *uri); XMLPUBFUN xmlChar* xmlCanonicPath (const xmlChar *path); XMLPUBFUN xmlChar* xmlPathToURI (const xmlChar *path); #ifdef __cplusplus } #endif #endif /* __XML_URI_H__ */ libxml/xmlIO.h000064400000026512152525225610007247 0ustar00/** * @file * * @brief I/O interfaces used by the parser * * Functions and datatypes for parser input and output. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_IO_H__ #define __XML_IO_H__ #include #include #include #define XML_TREE_INTERNALS #include #undef XML_TREE_INTERNALS #ifdef __cplusplus extern "C" { #endif /** * Callback used in the I/O Input API to detect if the current handler * can provide input functionality for this resource. * * @param filename the filename or URI * @returns 1 if yes and 0 if another Input module should be used */ typedef int (*xmlInputMatchCallback) (const char *filename); /** * Callback used in the I/O Input API to open the resource * * @param filename the filename or URI * @returns an Input context or NULL in case or error */ typedef void * (*xmlInputOpenCallback) (const char *filename); /** * Callback used in the I/O Input API to read the resource * * @param context an Input context * @param buffer the buffer to store data read * @param len the length of the buffer in bytes * @returns the number of bytes read or -1 in case of error */ typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); /** * Callback used in the I/O Input API to close the resource * * @param context an Input context * @returns 0 or -1 in case of error */ typedef int (*xmlInputCloseCallback) (void * context); #ifdef LIBXML_OUTPUT_ENABLED /** * Callback used in the I/O Output API to detect if the current handler * can provide output functionality for this resource. * * @param filename the filename or URI * @returns 1 if yes and 0 if another Output module should be used */ typedef int (*xmlOutputMatchCallback) (const char *filename); /** * Callback used in the I/O Output API to open the resource * * @param filename the filename or URI * @returns an Output context or NULL in case or error */ typedef void * (*xmlOutputOpenCallback) (const char *filename); /** * Callback used in the I/O Output API to write to the resource * * @param context an Output context * @param buffer the buffer of data to write * @param len the length of the buffer in bytes * @returns the number of bytes written or -1 in case of error */ typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, int len); /** * Callback used in the I/O Output API to close the resource * * @param context an Output context * @returns 0 or -1 in case of error */ typedef int (*xmlOutputCloseCallback) (void * context); #endif /* LIBXML_OUTPUT_ENABLED */ /** * Signature for the function doing the lookup for a suitable input method * corresponding to an URI. * * @param URI the URI to read from * @param enc the requested source encoding * @returns the new xmlParserInputBuffer in case of success or NULL if no * method was found. */ typedef xmlParserInputBuffer * (*xmlParserInputBufferCreateFilenameFunc)(const char *URI, xmlCharEncoding enc); /** * Signature for the function doing the lookup for a suitable output method * corresponding to an URI. * * @param URI the URI to write to * @param encoder the requested target encoding * @param compression compression level * @returns the new xmlOutputBuffer in case of success or NULL if no * method was found. */ typedef xmlOutputBuffer * (*xmlOutputBufferCreateFilenameFunc)(const char *URI, xmlCharEncodingHandler *encoder, int compression); /** * Parser input buffer * * This struct and all related functions should ultimately * be removed from the public interface. */ struct _xmlParserInputBuffer { void* context XML_DEPRECATED_MEMBER; xmlInputReadCallback readcallback XML_DEPRECATED_MEMBER; xmlInputCloseCallback closecallback XML_DEPRECATED_MEMBER; /* I18N conversions to UTF-8 */ xmlCharEncodingHandler *encoder XML_DEPRECATED_MEMBER; /* Local buffer encoded in UTF-8 */ xmlBuf *buffer XML_DEPRECATED_MEMBER; /* if encoder != NULL buffer for raw input */ xmlBuf *raw XML_DEPRECATED_MEMBER; /* -1=unknown, 0=not compressed, 1=compressed */ int compressed XML_DEPRECATED_MEMBER; int error XML_DEPRECATED_MEMBER; /* amount consumed from raw */ unsigned long rawconsumed XML_DEPRECATED_MEMBER; }; #ifdef LIBXML_OUTPUT_ENABLED /** * Output buffer */ struct _xmlOutputBuffer { void* context; xmlOutputWriteCallback writecallback; xmlOutputCloseCallback closecallback; /* I18N conversions to UTF-8 */ xmlCharEncodingHandler *encoder; /* Local buffer encoded in UTF-8 or ISOLatin */ xmlBuf *buffer; /* if encoder != NULL buffer for output */ xmlBuf *conv; /* total number of byte written */ int written; int error; }; #endif /* LIBXML_OUTPUT_ENABLED */ /** @cond ignore */ XML_DEPRECATED XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * __xmlParserInputBufferCreateFilenameValue(void); XML_DEPRECATED XMLPUBFUN xmlOutputBufferCreateFilenameFunc * __xmlOutputBufferCreateFilenameValue(void); #ifndef XML_GLOBALS_NO_REDEFINITION #define xmlParserInputBufferCreateFilenameValue \ (*__xmlParserInputBufferCreateFilenameValue()) #define xmlOutputBufferCreateFilenameValue \ (*__xmlOutputBufferCreateFilenameValue()) #endif /** @endcond */ /* * Interfaces for input */ XMLPUBFUN void xmlCleanupInputCallbacks (void); XMLPUBFUN int xmlPopInputCallbacks (void); XMLPUBFUN void xmlRegisterDefaultInputCallbacks (void); XMLPUBFUN xmlParserInputBuffer * xmlAllocParserInputBuffer (xmlCharEncoding enc); XMLPUBFUN xmlParserInputBuffer * xmlParserInputBufferCreateFilename (const char *URI, xmlCharEncoding enc); XML_DEPRECATED XMLPUBFUN xmlParserInputBuffer * xmlParserInputBufferCreateFile (FILE *file, xmlCharEncoding enc); XMLPUBFUN xmlParserInputBuffer * xmlParserInputBufferCreateFd (int fd, xmlCharEncoding enc); XMLPUBFUN xmlParserInputBuffer * xmlParserInputBufferCreateMem (const char *mem, int size, xmlCharEncoding enc); XMLPUBFUN xmlParserInputBuffer * xmlParserInputBufferCreateStatic (const char *mem, int size, xmlCharEncoding enc); XMLPUBFUN xmlParserInputBuffer * xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, xmlCharEncoding enc); XML_DEPRECATED XMLPUBFUN int xmlParserInputBufferRead (xmlParserInputBuffer *in, int len); XML_DEPRECATED XMLPUBFUN int xmlParserInputBufferGrow (xmlParserInputBuffer *in, int len); XML_DEPRECATED XMLPUBFUN int xmlParserInputBufferPush (xmlParserInputBuffer *in, int len, const char *buf); XMLPUBFUN void xmlFreeParserInputBuffer (xmlParserInputBuffer *in); XMLPUBFUN char * xmlParserGetDirectory (const char *filename); XMLPUBFUN int xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, xmlInputOpenCallback openFunc, xmlInputReadCallback readFunc, xmlInputCloseCallback closeFunc); XMLPUBFUN xmlParserInputBuffer * __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc); #ifdef LIBXML_OUTPUT_ENABLED /* * Interfaces for output */ XMLPUBFUN void xmlCleanupOutputCallbacks (void); XMLPUBFUN int xmlPopOutputCallbacks (void); XMLPUBFUN void xmlRegisterDefaultOutputCallbacks(void); XMLPUBFUN xmlOutputBuffer * xmlAllocOutputBuffer (xmlCharEncodingHandler *encoder); XMLPUBFUN xmlOutputBuffer * xmlOutputBufferCreateFilename (const char *URI, xmlCharEncodingHandler *encoder, int compression); XMLPUBFUN xmlOutputBuffer * xmlOutputBufferCreateFile (FILE *file, xmlCharEncodingHandler *encoder); XMLPUBFUN xmlOutputBuffer * xmlOutputBufferCreateBuffer (xmlBuffer *buffer, xmlCharEncodingHandler *encoder); XMLPUBFUN xmlOutputBuffer * xmlOutputBufferCreateFd (int fd, xmlCharEncodingHandler *encoder); XMLPUBFUN xmlOutputBuffer * xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, xmlOutputCloseCallback ioclose, void *ioctx, xmlCharEncodingHandler *encoder); /* Couple of APIs to get the output without digging into the buffers */ XMLPUBFUN const xmlChar * xmlOutputBufferGetContent (xmlOutputBuffer *out); XMLPUBFUN size_t xmlOutputBufferGetSize (xmlOutputBuffer *out); XMLPUBFUN int xmlOutputBufferWrite (xmlOutputBuffer *out, int len, const char *buf); XMLPUBFUN int xmlOutputBufferWriteString (xmlOutputBuffer *out, const char *str); XMLPUBFUN int xmlOutputBufferWriteEscape (xmlOutputBuffer *out, const xmlChar *str, xmlCharEncodingOutputFunc escaping); XMLPUBFUN int xmlOutputBufferFlush (xmlOutputBuffer *out); XMLPUBFUN int xmlOutputBufferClose (xmlOutputBuffer *out); XMLPUBFUN int xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, xmlOutputOpenCallback openFunc, xmlOutputWriteCallback writeFunc, xmlOutputCloseCallback closeFunc); XMLPUBFUN xmlOutputBuffer * __xmlOutputBufferCreateFilename(const char *URI, xmlCharEncodingHandler *encoder, int compression); #endif /* LIBXML_OUTPUT_ENABLED */ XML_DEPRECATED XMLPUBFUN xmlParserInput * xmlCheckHTTPInput (xmlParserCtxt *ctxt, xmlParserInput *ret); XML_DEPRECATED XMLPUBFUN xmlParserInput * xmlNoNetExternalEntityLoader (const char *URL, const char *ID, xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN xmlChar * xmlNormalizeWindowsPath (const xmlChar *path); XML_DEPRECATED XMLPUBFUN int xmlCheckFilename (const char *path); XML_DEPRECATED XMLPUBFUN int xmlFileMatch (const char *filename); XML_DEPRECATED XMLPUBFUN void * xmlFileOpen (const char *filename); XML_DEPRECATED XMLPUBFUN int xmlFileRead (void * context, char * buffer, int len); XML_DEPRECATED XMLPUBFUN int xmlFileClose (void * context); #ifdef LIBXML_HTTP_STUBS_ENABLED /** @cond IGNORE */ XML_DEPRECATED XMLPUBFUN int xmlIOHTTPMatch (const char *filename); XML_DEPRECATED XMLPUBFUN void * xmlIOHTTPOpen (const char *filename); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN void xmlRegisterHTTPPostCallbacks (void ); XML_DEPRECATED XMLPUBFUN void * xmlIOHTTPOpenW (const char * post_uri, int compression ); #endif /* LIBXML_OUTPUT_ENABLED */ XML_DEPRECATED XMLPUBFUN int xmlIOHTTPRead (void * context, char * buffer, int len); XML_DEPRECATED XMLPUBFUN int xmlIOHTTPClose (void * context); /** @endcond */ #endif /* LIBXML_HTTP_STUBS_ENABLED */ XMLPUBFUN xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameDefault( xmlParserInputBufferCreateFilenameFunc func); XMLPUBFUN xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameDefault( xmlOutputBufferCreateFilenameFunc func); XML_DEPRECATED XMLPUBFUN xmlOutputBufferCreateFilenameFunc xmlThrDefOutputBufferCreateFilenameDefault( xmlOutputBufferCreateFilenameFunc func); XML_DEPRECATED XMLPUBFUN xmlParserInputBufferCreateFilenameFunc xmlThrDefParserInputBufferCreateFilenameDefault( xmlParserInputBufferCreateFilenameFunc func); #ifdef __cplusplus } #endif #endif /* __XML_IO_H__ */ libxml/parser.h000064400000165622152525225610007521 0ustar00/** * @file * * @brief Validating XML 1.0 parser * * Interfaces, constants and types related to the XML parser. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_PARSER_H__ #define __XML_PARSER_H__ #include /** @cond ignore */ #define XML_TREE_INTERNALS /** @endcond */ #include #undef XML_TREE_INTERNALS #include #include #include #include #include #include #include #include #include /* for compatibility */ #include #include #ifdef __cplusplus extern "C" { #endif /** * The default version of XML used: 1.0 */ #define XML_DEFAULT_VERSION "1.0" /** * Status after parsing a document */ typedef enum { /** not well-formed */ XML_STATUS_NOT_WELL_FORMED = (1 << 0), /** not namespace-well-formed */ XML_STATUS_NOT_NS_WELL_FORMED = (1 << 1), /** DTD validation failed */ XML_STATUS_DTD_VALIDATION_FAILED = (1 << 2), /** catastrophic failure like OOM or I/O error */ XML_STATUS_CATASTROPHIC_ERROR = (1 << 3) } xmlParserStatus; /** * Resource type for resource loaders */ typedef enum { /** unknown */ XML_RESOURCE_UNKNOWN = 0, /** main document */ XML_RESOURCE_MAIN_DOCUMENT, /** external DTD */ XML_RESOURCE_DTD, /** external general entity */ XML_RESOURCE_GENERAL_ENTITY, /** external parameter entity */ XML_RESOURCE_PARAMETER_ENTITY, /** XIncluded document */ XML_RESOURCE_XINCLUDE, /** XIncluded text */ XML_RESOURCE_XINCLUDE_TEXT } xmlResourceType; /** * Flags for parser input */ typedef enum { /** The input buffer won't be changed during parsing. */ XML_INPUT_BUF_STATIC = (1 << 1), /** The input buffer is zero-terminated. (Note that the zero byte shouldn't be included in buffer size.) */ XML_INPUT_BUF_ZERO_TERMINATED = (1 << 2), /** Uncompress gzipped file input */ XML_INPUT_UNZIP = (1 << 3), /** Allow network access. Unused internally. */ XML_INPUT_NETWORK = (1 << 4), /** Allow system catalog to resolve URIs. */ XML_INPUT_USE_SYS_CATALOG = (1 << 5) } xmlParserInputFlags; /* Deprecated */ typedef void (* xmlParserInputDeallocate)(xmlChar *str); /** * Parser input */ struct _xmlParserInput { /* Input buffer */ xmlParserInputBuffer *buf XML_DEPRECATED_MEMBER; /** * @deprecated Use #xmlCtxtGetInputPosition * * The filename or URI, if any */ const char *filename; /* unused */ const char *directory XML_DEPRECATED_MEMBER; /* Base of the array to parse */ const xmlChar *base; /** * @deprecated Use #xmlCtxtGetInputWindow * * Current char being parsed */ const xmlChar *cur; /* end of the array to parse */ const xmlChar *end; /* unused */ int length XML_DEPRECATED_MEMBER; /** * @deprecated Use #xmlCtxtGetInputPosition * * Current line */ int line; /** * @deprecated Use #xmlCtxtGetInputPosition * * Current column */ int col; /** * @deprecated Use #xmlCtxtGetInputPosition * * How many xmlChars already consumed */ unsigned long consumed; /* function to deallocate the base */ xmlParserInputDeallocate free XML_DEPRECATED_MEMBER; /* unused */ const xmlChar *encoding XML_DEPRECATED_MEMBER; /* the version string for entity */ const xmlChar *version XML_DEPRECATED_MEMBER; /* Flags */ int flags XML_DEPRECATED_MEMBER; /* an unique identifier for the entity, unused internally */ int id XML_DEPRECATED_MEMBER; /* unused */ unsigned long parentConsumed XML_DEPRECATED_MEMBER; /* entity, if any */ xmlEntity *entity XML_DEPRECATED_MEMBER; }; /** @cond ignore */ typedef struct _xmlParserNodeInfo xmlParserNodeInfo; typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; struct _xmlParserNodeInfo { const struct _xmlNode* node; /* Position & line # that text that created the node begins & ends on */ unsigned long begin_pos; unsigned long begin_line; unsigned long end_pos; unsigned long end_line; }; typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; struct _xmlParserNodeInfoSeq { unsigned long maximum; unsigned long length; xmlParserNodeInfo* buffer; }; /* * Internal type */ typedef enum { XML_PARSER_EOF = -1, /* nothing is to be parsed */ XML_PARSER_START = 0, /* nothing has been parsed */ XML_PARSER_MISC, /* Misc* before int subset */ XML_PARSER_PI, /* Within a processing instruction */ XML_PARSER_DTD, /* within some DTD content */ XML_PARSER_PROLOG, /* Misc* after internal subset */ XML_PARSER_COMMENT, /* within a comment */ XML_PARSER_START_TAG, /* within a start tag */ XML_PARSER_CONTENT, /* within the content */ XML_PARSER_CDATA_SECTION, /* within a CDATA section */ XML_PARSER_END_TAG, /* within a closing tag */ XML_PARSER_ENTITY_DECL, /* within an entity declaration */ XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ XML_PARSER_EPILOG, /* the Misc* after the last end tag */ XML_PARSER_IGNORE, /* within an IGNORED section */ XML_PARSER_PUBLIC_LITERAL, /* within a PUBLIC value */ XML_PARSER_XML_DECL /* before XML decl (but after BOM) */ } xmlParserInputState; /* * Internal bits in the 'loadsubset' context member */ #define XML_DETECT_IDS 2 #define XML_COMPLETE_ATTRS 4 #define XML_SKIP_IDS 8 /* * Internal type. Only XML_PARSE_READER is used. */ typedef enum { XML_PARSE_UNKNOWN = 0, XML_PARSE_DOM = 1, XML_PARSE_SAX = 2, XML_PARSE_PUSH_DOM = 3, XML_PARSE_PUSH_SAX = 4, XML_PARSE_READER = 5 } xmlParserMode; typedef struct _xmlStartTag xmlStartTag; typedef struct _xmlParserNsData xmlParserNsData; typedef struct _xmlAttrHashBucket xmlAttrHashBucket; /** @endcond */ /** * Callback for custom resource loaders. * * `flags` can contain XML_INPUT_UNZIP and XML_INPUT_NETWORK. * * The URL is resolved using XML catalogs before being passed to * the callback. * * On success, `out` should be set to a new parser input object and * XML_ERR_OK should be returned. * * @param ctxt parser context * @param url URL or system ID to load * @param publicId publid ID from DTD (optional) * @param type resource type * @param flags flags * @param out result pointer * @returns an xmlParserErrors code. */ typedef xmlParserErrors (*xmlResourceLoader)(void *ctxt, const char *url, const char *publicId, xmlResourceType type, xmlParserInputFlags flags, xmlParserInput **out); /** * Parser context */ struct _xmlParserCtxt { /** * @deprecated Use xmlCtxtGetSaxHandler() and * xmlCtxtSetSaxHandler(). * * the SAX handler */ struct _xmlSAXHandler *sax; /** * @deprecated Use #xmlCtxtGetUserData * * user data for SAX interface, defaults to the context itself */ void *userData; /** * @deprecated Use xmlCtxtGetDocument() * * the document being built */ xmlDoc *myDoc; /** * @deprecated Use xmlCtxtGetStatus() * * is the document well formed? */ int wellFormed; /** * @deprecated Use xmlParserOption XML_PARSE_NOENT * * shall we replace entities? */ int replaceEntities XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetVersion() * * the XML version string */ xmlChar *version; /** * @deprecated Use xmlCtxtGetDeclaredEncoding() * * the declared encoding, if any */ xmlChar *encoding; /** * @deprecated Use xmlCtxtGetStandalone() * * standalone document */ int standalone; /** * @deprecated Use xmlCtxtIsHtml() * * non-zero for HTML documents, actually an htmlInsertMode */ int html; /* Input stream stack */ /** * Current input stream */ /* TODO: Add accessors, see issue #762 */ xmlParserInput *input; /* Number of current input streams */ int inputNr; /* Max number of input streams */ int inputMax XML_DEPRECATED_MEMBER; /* stack of inputs */ xmlParserInput **inputTab; /* Node analysis stack only used for DOM building */ /** * @deprecated Use #xmlCtxtGetNode * * The current element. */ xmlNode *node; /* Depth of the parsing stack */ int nodeNr XML_DEPRECATED_MEMBER; /* Max depth of the parsing stack */ int nodeMax XML_DEPRECATED_MEMBER; /* array of nodes */ xmlNode **nodeTab XML_DEPRECATED_MEMBER; /* Whether node info should be kept */ int record_info; /* info about each node parsed */ xmlParserNodeInfoSeq node_seq XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetLastError() * * error code */ int errNo; /* reference and external subset */ int hasExternalSubset XML_DEPRECATED_MEMBER; /* the internal subset has PE refs */ int hasPErefs XML_DEPRECATED_MEMBER; /* unused */ int external XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetStatus() * * is the document valid */ int valid; /** * @deprecated Use xmlParserOption XML_PARSE_DTDVALID * * shall we try to validate? */ int validate XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetValidCtxt() * * The validity context */ xmlValidCtxt vctxt; /* push parser state */ xmlParserInputState instate XML_DEPRECATED_MEMBER; /* unused */ int token XML_DEPRECATED_MEMBER; /** * @deprecated Don't use * * The main document URI, if available, with its last * component stripped. */ char *directory; /* Node name stack */ /* Current parsed Node */ const xmlChar *name XML_DEPRECATED_MEMBER; /* Depth of the parsing stack */ int nameNr XML_DEPRECATED_MEMBER; /* Max depth of the parsing stack */ int nameMax XML_DEPRECATED_MEMBER; /* array of nodes */ const xmlChar **nameTab XML_DEPRECATED_MEMBER; /* unused */ long nbChars XML_DEPRECATED_MEMBER; /* used by progressive parsing lookup */ long checkIndex XML_DEPRECATED_MEMBER; /** * @deprecated Use inverted xmlParserOption XML_PARSE_NOBLANKS * * ugly but ... */ int keepBlanks XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtIsStopped() * * SAX callbacks are disabled */ int disableSAX XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtIsInSubset * * Set if DTD content is parsed. * * - 0: not in DTD * - 1: in internal DTD subset * - 2: in external DTD subset */ int inSubset; /** * @deprecated Use the `name` argument of the * `internalSubset` SAX callback or #xmlCtxtGetDocTypeDecl * * Name of the internal subset (root element type). */ const xmlChar *intSubName; /** * @deprecated Use the `systemId` argument of the * `internalSubset` SAX callback or #xmlCtxtGetDocTypeDecl * * System identifier (URI) of external the subset. */ xmlChar *extSubURI; /** * @deprecated Use the `publicId` argument of the * `internalSubset` SAX callback or #xmlCtxtGetDocTypeDecl * * This member is MISNAMED. It contains the *public* identifier * of the external subset. */ xmlChar *extSubSystem; /* xml:space values */ /* Should the parser preserve spaces */ int *space XML_DEPRECATED_MEMBER; /* Depth of the parsing stack */ int spaceNr XML_DEPRECATED_MEMBER; /* Max depth of the parsing stack */ int spaceMax XML_DEPRECATED_MEMBER; /* array of space infos */ int *spaceTab XML_DEPRECATED_MEMBER; /* to prevent entity substitution loops */ int depth XML_DEPRECATED_MEMBER; /* unused */ xmlParserInput *entity XML_DEPRECATED_MEMBER; /* unused */ int charset XML_DEPRECATED_MEMBER; /* Those two fields are there to speed up large node parsing */ int nodelen XML_DEPRECATED_MEMBER; int nodemem XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlParserOption XML_PARSE_PEDANTIC * * signal pedantic warnings */ int pedantic XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetPrivate() and xmlCtxtSetPrivate() * * For user data, libxml won't touch it */ void *_private; /** * @deprecated Use xmlParserOption XML_PARSE_DTDLOAD, * XML_PARSE_DTDATTR or XML_PARSE_SKIP_IDS. * * Control loading of the external subset and handling of IDs. * Other options like `validate` can override this value. * * - 0: The default behavior is to process IDs and to ignore * the external subset. * - XML_DETECT_IDS: Load external subset. This flag is * misnamed. ID handling is only controlled by XML_SKIP_IDS. * - XML_COMPLETE_ATTRS: Load external subset and process * default attributes. * - XML_SKIP_IDS: Ignore IDs. */ int loadsubset XML_DEPRECATED_MEMBER; /* unused */ int linenumbers XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetCatalogs() and xmlCtxtSetCatalogs() * * document's own catalog */ void *catalogs XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlParserOption XML_PARSE_RECOVER * run in recovery mode */ int recovery XML_DEPRECATED_MEMBER; /* unused */ int progressive XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetDict() and xmlCtxtSetDict() * * dictionary for the parser */ xmlDict *dict; /* array for the attributes callbacks */ const xmlChar **atts XML_DEPRECATED_MEMBER; /* the size of the array */ int maxatts XML_DEPRECATED_MEMBER; /* unused */ int docdict XML_DEPRECATED_MEMBER; /* * pre-interned strings */ const xmlChar *str_xml XML_DEPRECATED_MEMBER; const xmlChar *str_xmlns XML_DEPRECATED_MEMBER; const xmlChar *str_xml_ns XML_DEPRECATED_MEMBER; /* * Everything below is used only by the new SAX mode */ /* operating in the new SAX mode */ int sax2 XML_DEPRECATED_MEMBER; /* the number of inherited namespaces */ int nsNr XML_DEPRECATED_MEMBER; /* the size of the arrays */ int nsMax XML_DEPRECATED_MEMBER; /* the array of prefix/namespace name */ const xmlChar **nsTab XML_DEPRECATED_MEMBER; /* which attribute were allocated */ unsigned *attallocs XML_DEPRECATED_MEMBER; /* array of data for push */ xmlStartTag *pushTab XML_DEPRECATED_MEMBER; /* defaulted attributes if any */ xmlHashTable *attsDefault XML_DEPRECATED_MEMBER; /* non-CDATA attributes if any */ xmlHashTable *attsSpecial XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetStatus() * * is the document XML Namespace okay */ int nsWellFormed; /** * @deprecated Use xmlCtxtGetOptions() * * Extra options */ int options; /** * @deprecated Use inverted xmlParserOption XML_PARSE_NODICT * * Use dictionary names for the tree */ int dictNames XML_DEPRECATED_MEMBER; /* * Those fields are needed only for streaming parsing so far */ /* number of freed element nodes */ int freeElemsNr XML_DEPRECATED_MEMBER; /* List of freed element nodes */ xmlNode *freeElems XML_DEPRECATED_MEMBER; /* number of freed attributes nodes */ int freeAttrsNr XML_DEPRECATED_MEMBER; /* List of freed attributes nodes */ xmlAttr *freeAttrs XML_DEPRECATED_MEMBER; /** * @deprecated Use xmlCtxtGetLastError() * * the complete error information for the last error. */ xmlError lastError XML_DEPRECATED_MEMBER; /* the parser mode */ xmlParserMode parseMode XML_DEPRECATED_MEMBER; /* unused */ unsigned long nbentities XML_DEPRECATED_MEMBER; /* size of external entities */ unsigned long sizeentities XML_DEPRECATED_MEMBER; /* for use by HTML non-recursive parser */ /* Current NodeInfo */ xmlParserNodeInfo *nodeInfo XML_DEPRECATED_MEMBER; /* Depth of the parsing stack */ int nodeInfoNr XML_DEPRECATED_MEMBER; /* Max depth of the parsing stack */ int nodeInfoMax XML_DEPRECATED_MEMBER; /* array of nodeInfos */ xmlParserNodeInfo *nodeInfoTab XML_DEPRECATED_MEMBER; /* we need to label inputs */ int input_id XML_DEPRECATED_MEMBER; /* volume of entity copy */ unsigned long sizeentcopy XML_DEPRECATED_MEMBER; /* quote state for push parser */ int endCheckState XML_DEPRECATED_MEMBER; /* number of errors */ unsigned short nbErrors XML_DEPRECATED_MEMBER; /* number of warnings */ unsigned short nbWarnings XML_DEPRECATED_MEMBER; /* maximum amplification factor */ unsigned maxAmpl XML_DEPRECATED_MEMBER; /* namespace database */ xmlParserNsData *nsdb XML_DEPRECATED_MEMBER; /* allocated size */ unsigned attrHashMax XML_DEPRECATED_MEMBER; /* atttribute hash table */ xmlAttrHashBucket *attrHash XML_DEPRECATED_MEMBER; xmlStructuredErrorFunc errorHandler XML_DEPRECATED_MEMBER; void *errorCtxt XML_DEPRECATED_MEMBER; xmlResourceLoader resourceLoader XML_DEPRECATED_MEMBER; void *resourceCtxt XML_DEPRECATED_MEMBER; xmlCharEncConvImpl convImpl XML_DEPRECATED_MEMBER; void *convCtxt XML_DEPRECATED_MEMBER; }; /** * A SAX Locator. */ struct _xmlSAXLocator { const xmlChar *(*getPublicId)(void *ctx); const xmlChar *(*getSystemId)(void *ctx); int (*getLineNumber)(void *ctx); int (*getColumnNumber)(void *ctx); }; /** * SAX callback to resolve external entities. * * This is only used to load DTDs. The preferred way to install * custom resolvers is #xmlCtxtSetResourceLoader. * * @param ctx the user data (XML parser context) * @param publicId The public identifier of the entity * @param systemId The system identifier of the entity (URL) * @returns the xmlParserInput if inlined or NULL for DOM behaviour. */ typedef xmlParserInput *(*resolveEntitySAXFunc) (void *ctx, const xmlChar *publicId, const xmlChar *systemId); /** * SAX callback for the internal subset. * * @param ctx the user data (XML parser context) * @param name the root element name * @param publicId the public identifier * @param systemId the system identifier (e.g. filename or URL) */ typedef void (*internalSubsetSAXFunc) (void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); /** * SAX callback for the external subset. * * @param ctx the user data (XML parser context) * @param name the root element name * @param publicId the public identifier * @param systemId the system identifier (e.g. filename or URL) */ typedef void (*externalSubsetSAXFunc) (void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); /** * SAX callback to look up a general entity by name. * * @param ctx the user data (XML parser context) * @param name The entity name * @returns the xmlEntity if found. */ typedef xmlEntity *(*getEntitySAXFunc) (void *ctx, const xmlChar *name); /** * SAX callback to look up a parameter entity by name. * * @param ctx the user data (XML parser context) * @param name The entity name * @returns the xmlEntity if found. */ typedef xmlEntity *(*getParameterEntitySAXFunc) (void *ctx, const xmlChar *name); /** * SAX callback for entity declarations. * * @param ctx the user data (XML parser context) * @param name the entity name * @param type the entity type * @param publicId The public ID of the entity * @param systemId The system ID of the entity * @param content the entity value (without processing). */ typedef void (*entityDeclSAXFunc) (void *ctx, const xmlChar *name, int type, const xmlChar *publicId, const xmlChar *systemId, xmlChar *content); /** * SAX callback for notation declarations. * * @param ctx the user data (XML parser context) * @param name The name of the notation * @param publicId The public ID of the notation * @param systemId The system ID of the notation */ typedef void (*notationDeclSAXFunc)(void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); /** * SAX callback for attribute declarations. * * @param ctx the user data (XML parser context) * @param elem the name of the element * @param fullname the attribute name * @param type the attribute type * @param def the type of default value * @param defaultValue the attribute default value * @param tree the tree of enumerated value set */ typedef void (*attributeDeclSAXFunc)(void *ctx, const xmlChar *elem, const xmlChar *fullname, int type, int def, const xmlChar *defaultValue, xmlEnumeration *tree); /** * SAX callback for element declarations. * * @param ctx the user data (XML parser context) * @param name the element name * @param type the element type * @param content the element value tree */ typedef void (*elementDeclSAXFunc)(void *ctx, const xmlChar *name, int type, xmlElementContent *content); /** * SAX callback for unparsed entity declarations. * * @param ctx the user data (XML parser context) * @param name The name of the entity * @param publicId The public ID of the entity * @param systemId The system ID of the entity * @param notationName the name of the notation */ typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId, const xmlChar *notationName); /** * This callback receives the "document locator" at startup, * which is always the global xmlDefaultSAXLocator. * * Everything is available on the context, so this is useless in * our case. * * @param ctx the user data (XML parser context) * @param loc A SAX Locator */ typedef void (*setDocumentLocatorSAXFunc) (void *ctx, xmlSAXLocator *loc); /** * SAX callback for start of document. * * @param ctx the user data (XML parser context) */ typedef void (*startDocumentSAXFunc) (void *ctx); /** * SAX callback for end of document. * * @param ctx the user data (XML parser context) */ typedef void (*endDocumentSAXFunc) (void *ctx); /** * SAX callback for start tags. * * @param ctx the user data (XML parser context) * @param name The element name, including namespace prefix * @param atts An array of name/value attributes pairs, NULL terminated */ typedef void (*startElementSAXFunc) (void *ctx, const xmlChar *name, const xmlChar **atts); /** * SAX callback for end tags. * * @param ctx the user data (XML parser context) * @param name The element name */ typedef void (*endElementSAXFunc) (void *ctx, const xmlChar *name); /** * Callback for attributes. * * @deprecated This typedef is unused. * * @param ctx the user data (XML parser context) * @param name The attribute name, including namespace prefix * @param value The attribute value */ typedef void (*attributeSAXFunc) (void *ctx, const xmlChar *name, const xmlChar *value); /** * SAX callback for entity references. * * @param ctx the user data (XML parser context) * @param name The entity name */ typedef void (*referenceSAXFunc) (void *ctx, const xmlChar *name); /** * SAX callback for character data. * * @param ctx the user data (XML parser context) * @param ch a xmlChar string * @param len the number of xmlChar */ typedef void (*charactersSAXFunc) (void *ctx, const xmlChar *ch, int len); /** * SAX callback for "ignorable" whitespace. * * @param ctx the user data (XML parser context) * @param ch a xmlChar string * @param len the number of xmlChar */ typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, const xmlChar *ch, int len); /** * SAX callback for processing instructions. * * @param ctx the user data (XML parser context) * @param target the target name * @param data the PI data's */ typedef void (*processingInstructionSAXFunc) (void *ctx, const xmlChar *target, const xmlChar *data); /** * SAX callback for comments. * * @param ctx the user data (XML parser context) * @param value the comment content */ typedef void (*commentSAXFunc) (void *ctx, const xmlChar *value); /** * SAX callback for CDATA sections. * * @param ctx the user data (XML parser context) * @param value The pcdata content * @param len the block length */ typedef void (*cdataBlockSAXFunc) ( void *ctx, const xmlChar *value, int len); /** * SAX callback for warning messages. * * @param ctx an XML parser context * @param msg the message to display/transmit * @param ... extra parameters for the message display */ typedef void (*warningSAXFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * SAX callback for error messages. * * @param ctx an XML parser context * @param msg the message to display/transmit * @param ... extra parameters for the message display */ typedef void (*errorSAXFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * SAX callback for fatal error messages. * * @param ctx an XML parser context * @param msg the message to display/transmit * @param ... extra parameters for the message display */ typedef void (*fatalErrorSAXFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); /** * SAX callback to get standalone status. * * @param ctx the user data (XML parser context) * @returns 1 if true */ typedef int (*isStandaloneSAXFunc) (void *ctx); /** * SAX callback to get internal subset status. * * @param ctx the user data (XML parser context) * @returns 1 if true */ typedef int (*hasInternalSubsetSAXFunc) (void *ctx); /** * SAX callback to get external subset status. * * @param ctx the user data (XML parser context) * @returns 1 if true */ typedef int (*hasExternalSubsetSAXFunc) (void *ctx); /************************************************************************ * * * The SAX version 2 API extensions * * * ************************************************************************/ /** * Special constant required for SAX2 handlers. */ #define XML_SAX2_MAGIC 0xDEEDBEAF /** * SAX2 callback for start tags. * * It provides the namespace information for the element, as well as * the new namespace declarations on the element. * * @param ctx the user data (XML parser context) * @param localname the local name of the element * @param prefix the element namespace prefix if available * @param URI the element namespace name if available * @param nb_namespaces number of namespace definitions on that node * @param namespaces pointer to the array of prefix/URI pairs namespace definitions * @param nb_attributes the number of attributes on that node * @param nb_defaulted the number of defaulted attributes. The defaulted * ones are at the end of the array * @param attributes pointer to the array of (localname/prefix/URI/value/end) * attribute values. */ typedef void (*startElementNsSAX2Func) (void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **attributes); /** * SAX2 callback for end tags. * * It provides the namespace information for the element. * * @param ctx the user data (XML parser context) * @param localname the local name of the element * @param prefix the element namespace prefix if available * @param URI the element namespace name if available */ typedef void (*endElementNsSAX2Func) (void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI); /** * Callbacks for SAX parser * * For DTD-related handlers, it's recommended to either use the * original libxml2 handler or set them to NULL if DTDs can be * ignored. */ struct _xmlSAXHandler { /** * Called after the start of the document type declaration * was parsed. * * Should typically not be modified. */ internalSubsetSAXFunc internalSubset; /** * Standalone status. Not invoked by the parser. Not supposed * to be changed by applications. */ isStandaloneSAXFunc isStandalone; /** * Internal subset availability. Not invoked by the parser. * Not supposed to be changed by applications. */ hasInternalSubsetSAXFunc hasInternalSubset; /** * External subset availability. Not invoked by the parser. * Not supposed to be changed by applications. */ hasExternalSubsetSAXFunc hasExternalSubset; /** * Only called when loading external DTDs. Not called to load * external entities. * * Should typically not be modified. */ resolveEntitySAXFunc resolveEntity; /** * Called when looking up general entities. * * Should typically not be modified. */ getEntitySAXFunc getEntity; /** * Called after an entity declaration was parsed. * * Should typically not be modified. */ entityDeclSAXFunc entityDecl; /** * Called after a notation declaration was parsed. * * Should typically not be modified. */ notationDeclSAXFunc notationDecl; /** * Called after an attribute declaration was parsed. * * Should typically not be modified. */ attributeDeclSAXFunc attributeDecl; /** * Called after an element declaration was parsed. * * Should typically not be modified. */ elementDeclSAXFunc elementDecl; /** * Called after an unparsed entity declaration was parsed. * * Should typically not be modified. */ unparsedEntityDeclSAXFunc unparsedEntityDecl; /** * This callback receives the "document locator" at startup, * which is always the global xmlDefaultSAXLocator. * * Everything is available on the context, so this is useless in * our case. */ setDocumentLocatorSAXFunc setDocumentLocator; /** * Called after the XML declaration was parsed. * * Use xmlCtxtGetVersion(), xmlCtxtGetDeclaredEncoding() and * xmlCtxtGetStandalone() to get data from the XML declaration. */ startDocumentSAXFunc startDocument; /** * Called at the end of the document. */ endDocumentSAXFunc endDocument; /** * Legacy start tag handler * * `startElement` and `endElement` are only used by the legacy SAX1 * interface and should not be used in new software. If you really * have to enable SAX1, the preferred way is set the `initialized` * member to 1 instead of XML_SAX2_MAGIC. * * For backward compatibility, it's also possible to set the * `startElementNs` and `endElementNs` handlers to NULL. * * You can also set the XML_PARSE_SAX1 parser option, but versions * older than 2.12.0 will probably crash if this option is provided * together with custom SAX callbacks. */ startElementSAXFunc startElement; /** * See _xmlSAXHandler.startElement */ endElementSAXFunc endElement; /** * Called after an entity reference was parsed. */ referenceSAXFunc reference; /** * Called after a character data was parsed. */ charactersSAXFunc characters; /** * Called after "ignorable" whitespace was parsed. * * `ignorableWhitespace` should always be set to the same value * as `characters`. Otherwise, the parser will try to detect * whitespace which is unreliable. */ ignorableWhitespaceSAXFunc ignorableWhitespace; /** * Called after a processing instruction was parsed. */ processingInstructionSAXFunc processingInstruction; /** * Called after a comment was parsed. */ commentSAXFunc comment; /** * Callback for warning messages. */ warningSAXFunc warning; /** * Callback for error messages. */ errorSAXFunc error; /** * Unused, all errors go to `error`. */ fatalErrorSAXFunc fatalError; /** * Called when looking up parameter entities. * * Should typically not be modified. */ getParameterEntitySAXFunc getParameterEntity; /** * Called after a CDATA section was parsed. */ cdataBlockSAXFunc cdataBlock; /** * Called to parse the external subset. * * Should typically not be modified. */ externalSubsetSAXFunc externalSubset; /** * Legacy magic value * * `initialized` should always be set to XML_SAX2_MAGIC to * enable the modern SAX2 interface. */ unsigned int initialized; /** * Application data */ void *_private; /** * Called after a start tag was parsed. */ startElementNsSAX2Func startElementNs; /** * Called after an end tag was parsed. */ endElementNsSAX2Func endElementNs; /** * Structured error handler. * * Takes precedence over `error` or `warning`, but modern code * should use xmlCtxtSetErrorHandler(). */ xmlStructuredErrorFunc serror; }; /** * SAX handler, version 1. * * @deprecated Use version 2 handlers. */ typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; /** * SAX handler, version 1. * * @deprecated Use version 2 handlers. */ struct _xmlSAXHandlerV1 { internalSubsetSAXFunc internalSubset; isStandaloneSAXFunc isStandalone; hasInternalSubsetSAXFunc hasInternalSubset; hasExternalSubsetSAXFunc hasExternalSubset; resolveEntitySAXFunc resolveEntity; getEntitySAXFunc getEntity; entityDeclSAXFunc entityDecl; notationDeclSAXFunc notationDecl; attributeDeclSAXFunc attributeDecl; elementDeclSAXFunc elementDecl; unparsedEntityDeclSAXFunc unparsedEntityDecl; setDocumentLocatorSAXFunc setDocumentLocator; startDocumentSAXFunc startDocument; endDocumentSAXFunc endDocument; startElementSAXFunc startElement; endElementSAXFunc endElement; referenceSAXFunc reference; charactersSAXFunc characters; ignorableWhitespaceSAXFunc ignorableWhitespace; processingInstructionSAXFunc processingInstruction; commentSAXFunc comment; warningSAXFunc warning; errorSAXFunc error; fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ getParameterEntitySAXFunc getParameterEntity; cdataBlockSAXFunc cdataBlock; externalSubsetSAXFunc externalSubset; unsigned int initialized; }; /** * Callback for external entity loader. * * The URL is not resolved using XML catalogs before being passed * to the callback. * * @param URL The URL or system ID of the resource requested * @param publicId The public ID of the resource requested (optional) * @param context the XML parser context * @returns the entity input parser or NULL on error. */ typedef xmlParserInput *(*xmlExternalEntityLoader) (const char *URL, const char *publicId, xmlParserCtxt *context); /* * Variables */ XMLPUBVAR const char *const xmlParserVersion; /** @cond ignore */ XML_DEPRECATED XMLPUBVAR const xmlSAXLocator xmlDefaultSAXLocator; #ifdef LIBXML_SAX1_ENABLED /** * @deprecated Use #xmlSAXVersion or #xmlSAX2InitDefaultSAXHandler */ XML_DEPRECATED XMLPUBVAR const xmlSAXHandlerV1 xmlDefaultSAXHandler; #endif XML_DEPRECATED XMLPUBFUN int *__xmlDoValidityCheckingDefaultValue(void); XML_DEPRECATED XMLPUBFUN int *__xmlGetWarningsDefaultValue(void); XML_DEPRECATED XMLPUBFUN int *__xmlKeepBlanksDefaultValue(void); XML_DEPRECATED XMLPUBFUN int *__xmlLineNumbersDefaultValue(void); XML_DEPRECATED XMLPUBFUN int *__xmlLoadExtDtdDefaultValue(void); XML_DEPRECATED XMLPUBFUN int *__xmlPedanticParserDefaultValue(void); XML_DEPRECATED XMLPUBFUN int *__xmlSubstituteEntitiesDefaultValue(void); #ifdef LIBXML_OUTPUT_ENABLED XML_DEPRECATED XMLPUBFUN int *__xmlIndentTreeOutput(void); XML_DEPRECATED XMLPUBFUN const char **__xmlTreeIndentString(void); XML_DEPRECATED XMLPUBFUN int *__xmlSaveNoEmptyTags(void); #endif /** @endcond */ #ifndef XML_GLOBALS_NO_REDEFINITION /** * Thread-local setting to enable validation. Defaults to 0. * * @deprecated Use the parser option XML_PARSE_DTDVALID. */ #define xmlDoValidityCheckingDefaultValue \ (*__xmlDoValidityCheckingDefaultValue()) /** * Thread-local setting to disable warnings. Defaults to 1. * * @deprecated Use the parser option XML_PARSE_NOWARNING. */ #define xmlGetWarningsDefaultValue \ (*__xmlGetWarningsDefaultValue()) /** * Thread-local setting to ignore some whitespace. Defaults * to 1. * * @deprecated Use the parser option XML_PARSE_NOBLANKS. */ #define xmlKeepBlanksDefaultValue (*__xmlKeepBlanksDefaultValue()) /** * Thread-local setting to store line numbers. Defaults * to 0, but is always enabled after setting parser options. * * @deprecated Shouldn't be needed when using parser options. */ #define xmlLineNumbersDefaultValue \ (*__xmlLineNumbersDefaultValue()) /** * Thread-local setting to enable loading of external DTDs. * Defaults to 0. * * @deprecated Use the parser option XML_PARSE_DTDLOAD. */ #define xmlLoadExtDtdDefaultValue (*__xmlLoadExtDtdDefaultValue()) /** * Thread-local setting to enable pedantic warnings. * Defaults to 0. * * @deprecated Use the parser option XML_PARSE_PEDANTIC. */ #define xmlPedanticParserDefaultValue \ (*__xmlPedanticParserDefaultValue()) /** * Thread-local setting to enable entity substitution. * Defaults to 0. * * @deprecated Use the parser option XML_PARSE_NOENT. */ #define xmlSubstituteEntitiesDefaultValue \ (*__xmlSubstituteEntitiesDefaultValue()) #ifdef LIBXML_OUTPUT_ENABLED /** * Thread-local setting to disable indenting when * formatting output. Defaults to 1. * * @deprecated Use the xmlsave.h API with option * XML_SAVE_NO_INDENT. */ #define xmlIndentTreeOutput (*__xmlIndentTreeOutput()) /** * Thread-local setting to change the indent string. * Defaults to two spaces. * * @deprecated Use the xmlsave.h API and * xmlSaveSetIndentString(). */ #define xmlTreeIndentString (*__xmlTreeIndentString()) /** * Thread-local setting to disable empty tags when * serializing. Defaults to 0. * * @deprecated Use the xmlsave.h API with option * XML_SAVE_NO_EMPTY. */ #define xmlSaveNoEmptyTags (*__xmlSaveNoEmptyTags()) #endif #endif /* * Init/Cleanup */ XMLPUBFUN void xmlInitParser (void); XMLPUBFUN void xmlCleanupParser (void); XML_DEPRECATED XMLPUBFUN void xmlInitGlobals (void); XML_DEPRECATED XMLPUBFUN void xmlCleanupGlobals (void); /* * Input functions */ XML_DEPRECATED XMLPUBFUN int xmlParserInputRead (xmlParserInput *in, int len); XMLPUBFUN int xmlParserInputGrow (xmlParserInput *in, int len); /* * Basic parsing Interfaces */ #ifdef LIBXML_SAX1_ENABLED XMLPUBFUN xmlDoc * xmlParseDoc (const xmlChar *cur); XMLPUBFUN xmlDoc * xmlParseFile (const char *filename); XMLPUBFUN xmlDoc * xmlParseMemory (const char *buffer, int size); #endif /* LIBXML_SAX1_ENABLED */ XML_DEPRECATED XMLPUBFUN int xmlSubstituteEntitiesDefault(int val); XMLPUBFUN int xmlKeepBlanksDefault (int val); XMLPUBFUN void xmlStopParser (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlPedanticParserDefault(int val); XML_DEPRECATED XMLPUBFUN int xmlLineNumbersDefault (int val); XML_DEPRECATED XMLPUBFUN int xmlThrDefSubstituteEntitiesDefaultValue(int v); XML_DEPRECATED XMLPUBFUN int xmlThrDefKeepBlanksDefaultValue(int v); XML_DEPRECATED XMLPUBFUN int xmlThrDefPedanticParserDefaultValue(int v); XML_DEPRECATED XMLPUBFUN int xmlThrDefLineNumbersDefaultValue(int v); XML_DEPRECATED XMLPUBFUN int xmlThrDefDoValidityCheckingDefaultValue(int v); XML_DEPRECATED XMLPUBFUN int xmlThrDefGetWarningsDefaultValue(int v); XML_DEPRECATED XMLPUBFUN int xmlThrDefLoadExtDtdDefaultValue(int v); #ifdef LIBXML_SAX1_ENABLED /* * Recovery mode */ XML_DEPRECATED XMLPUBFUN xmlDoc * xmlRecoverDoc (const xmlChar *cur); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlRecoverMemory (const char *buffer, int size); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlRecoverFile (const char *filename); #endif /* LIBXML_SAX1_ENABLED */ /* * Less common routines and SAX interfaces */ XMLPUBFUN int xmlParseDocument (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN int xmlParseExtParsedEnt (xmlParserCtxt *ctxt); #ifdef LIBXML_SAX1_ENABLED XML_DEPRECATED XMLPUBFUN int xmlSAXUserParseFile (xmlSAXHandler *sax, void *user_data, const char *filename); XML_DEPRECATED XMLPUBFUN int xmlSAXUserParseMemory (xmlSAXHandler *sax, void *user_data, const char *buffer, int size); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlSAXParseDoc (xmlSAXHandler *sax, const xmlChar *cur, int recovery); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlSAXParseMemory (xmlSAXHandler *sax, const char *buffer, int size, int recovery); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlSAXParseMemoryWithData (xmlSAXHandler *sax, const char *buffer, int size, int recovery, void *data); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlSAXParseFile (xmlSAXHandler *sax, const char *filename, int recovery); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlSAXParseFileWithData (xmlSAXHandler *sax, const char *filename, int recovery, void *data); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlSAXParseEntity (xmlSAXHandler *sax, const char *filename); XML_DEPRECATED XMLPUBFUN xmlDoc * xmlParseEntity (const char *filename); #endif /* LIBXML_SAX1_ENABLED */ #ifdef LIBXML_VALID_ENABLED XMLPUBFUN xmlDtd * xmlCtxtParseDtd (xmlParserCtxt *ctxt, xmlParserInput *input, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN int xmlCtxtValidateDocument (xmlParserCtxt *ctxt, xmlDoc *doc); XMLPUBFUN int xmlCtxtValidateDtd (xmlParserCtxt *ctxt, xmlDoc *doc, xmlDtd *dtd); XML_DEPRECATED XMLPUBFUN xmlDtd * xmlSAXParseDTD (xmlSAXHandler *sax, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlDtd * xmlParseDTD (const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlDtd * xmlIOParseDTD (xmlSAXHandler *sax, xmlParserInputBuffer *input, xmlCharEncoding enc); #endif /* LIBXML_VALID_ENABLE */ #ifdef LIBXML_SAX1_ENABLED XMLPUBFUN int xmlParseBalancedChunkMemory(xmlDoc *doc, xmlSAXHandler *sax, void *user_data, int depth, const xmlChar *string, xmlNode **lst); #endif /* LIBXML_SAX1_ENABLED */ XMLPUBFUN xmlParserErrors xmlParseInNodeContext (xmlNode *node, const char *data, int datalen, int options, xmlNode **lst); #ifdef LIBXML_SAX1_ENABLED XMLPUBFUN int xmlParseBalancedChunkMemoryRecover(xmlDoc *doc, xmlSAXHandler *sax, void *user_data, int depth, const xmlChar *string, xmlNode **lst, int recover); XML_DEPRECATED XMLPUBFUN int xmlParseExternalEntity (xmlDoc *doc, xmlSAXHandler *sax, void *user_data, int depth, const xmlChar *URL, const xmlChar *ID, xmlNode **lst); #endif /* LIBXML_SAX1_ENABLED */ XMLPUBFUN int xmlParseCtxtExternalEntity(xmlParserCtxt *ctx, const xmlChar *URL, const xmlChar *ID, xmlNode **lst); /* * Parser contexts handling. */ XMLPUBFUN xmlParserCtxt * xmlNewParserCtxt (void); XMLPUBFUN xmlParserCtxt * xmlNewSAXParserCtxt (const xmlSAXHandler *sax, void *userData); XMLPUBFUN int xmlInitParserCtxt (xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN void xmlClearParserCtxt (xmlParserCtxt *ctxt); XMLPUBFUN void xmlFreeParserCtxt (xmlParserCtxt *ctxt); #ifdef LIBXML_SAX1_ENABLED XML_DEPRECATED XMLPUBFUN void xmlSetupParserForBuffer (xmlParserCtxt *ctxt, const xmlChar* buffer, const char *filename); #endif /* LIBXML_SAX1_ENABLED */ XMLPUBFUN xmlParserCtxt * xmlCreateDocParserCtxt (const xmlChar *cur); #ifdef LIBXML_PUSH_ENABLED /* * Interfaces for the Push mode. */ XMLPUBFUN xmlParserCtxt * xmlCreatePushParserCtxt(xmlSAXHandler *sax, void *user_data, const char *chunk, int size, const char *filename); XMLPUBFUN int xmlParseChunk (xmlParserCtxt *ctxt, const char *chunk, int size, int terminate); #endif /* LIBXML_PUSH_ENABLED */ /* * Special I/O mode. */ XMLPUBFUN xmlParserCtxt * xmlCreateIOParserCtxt (xmlSAXHandler *sax, void *user_data, xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, xmlCharEncoding enc); XMLPUBFUN xmlParserInput * xmlNewIOInputStream (xmlParserCtxt *ctxt, xmlParserInputBuffer *input, xmlCharEncoding enc); /* * Node infos. */ XML_DEPRECATED XMLPUBFUN const xmlParserNodeInfo* xmlParserFindNodeInfo (xmlParserCtxt *ctxt, xmlNode *node); XML_DEPRECATED XMLPUBFUN void xmlInitNodeInfoSeq (xmlParserNodeInfoSeq *seq); XML_DEPRECATED XMLPUBFUN void xmlClearNodeInfoSeq (xmlParserNodeInfoSeq *seq); XML_DEPRECATED XMLPUBFUN unsigned long xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeq *seq, xmlNode *node); XML_DEPRECATED XMLPUBFUN void xmlParserAddNodeInfo (xmlParserCtxt *ctxt, xmlParserNodeInfo *info); /* * External entities handling actually implemented in xmlIO. */ XMLPUBFUN void xmlSetExternalEntityLoader(xmlExternalEntityLoader f); XMLPUBFUN xmlExternalEntityLoader xmlGetExternalEntityLoader(void); XMLPUBFUN xmlParserInput * xmlLoadExternalEntity (const char *URL, const char *ID, xmlParserCtxt *ctxt); XML_DEPRECATED XMLPUBFUN long xmlByteConsumed (xmlParserCtxt *ctxt); /* * New set of simpler/more flexible APIs */ /** * This is the set of XML parser options that can be passed to * #xmlReadDoc, #xmlCtxtSetOptions and other functions. */ typedef enum { /** * Enable "recovery" mode which allows non-wellformed documents. * How this mode behaves exactly is unspecified and may change * without further notice. Use of this feature is DISCOURAGED. * * Not supported by the push parser. */ XML_PARSE_RECOVER = 1<<0, /** * Despite the confusing name, this option enables substitution * of entities. The resulting tree won't contain any entity * reference nodes. * * This option also enables loading of external entities (both * general and parameter entities) which is dangerous. If you * process untrusted data, it's recommended to set the * XML_PARSE_NO_XXE option to disable loading of external * entities. */ XML_PARSE_NOENT = 1<<1, /** * Enables loading of an external DTD and the loading and * substitution of external parameter entities. Has no effect * if XML_PARSE_NO_XXE is set. */ XML_PARSE_DTDLOAD = 1<<2, /** * Adds default attributes from the DTD to the result document. * * Implies XML_PARSE_DTDLOAD, but loading of external content * can be disabled with XML_PARSE_NO_XXE. */ XML_PARSE_DTDATTR = 1<<3, /** * This option enables DTD validation which requires to load * external DTDs and external entities (both general and * parameter entities) unless XML_PARSE_NO_XXE was set. * * DTD validation is vulnerable to algorithmic complexity * attacks and should never be enabled with untrusted input. */ XML_PARSE_DTDVALID = 1<<4, /** * Disable error and warning reports to the error handlers. * Errors are still accessible with xmlCtxtGetLastError(). */ XML_PARSE_NOERROR = 1<<5, /** * Disable warning reports. */ XML_PARSE_NOWARNING = 1<<6, /** * Enable some pedantic warnings. */ XML_PARSE_PEDANTIC = 1<<7, /** * Remove some whitespace from the result document. Where to * remove whitespace depends on DTD element declarations or a * broken heuristic with unfixable bugs. Use of this option is * DISCOURAGED. * * Not supported by the push parser. */ XML_PARSE_NOBLANKS = 1<<8, /** * Always invoke the deprecated SAX1 startElement and endElement * handlers. * * @deprecated This option will be removed in a future version. */ XML_PARSE_SAX1 = 1<<9, /** * Enable XInclude processing. This option only affects the * xmlTextReader and XInclude interfaces. */ XML_PARSE_XINCLUDE = 1<<10, /** * Disable network access with the built-in HTTP or FTP clients. * * After the last built-in network client was removed in 2.15, * this option has no effect expect for being passed on to custom * resource loaders. */ XML_PARSE_NONET = 1<<11, /** * Create a document without interned strings, making all * strings separate memory allocations. */ XML_PARSE_NODICT = 1<<12, /** * Remove redundant namespace declarations from the result * document. */ XML_PARSE_NSCLEAN = 1<<13, /** * Output normal text nodes instead of CDATA nodes. */ XML_PARSE_NOCDATA = 1<<14, /** * Don't generate XInclude start/end nodes when expanding * inclusions. This option only affects the xmlTextReader * and XInclude interfaces. */ XML_PARSE_NOXINCNODE = 1<<15, /** * Store small strings directly in the node struct to save * memory. */ XML_PARSE_COMPACT = 1<<16, /** * Use old Name productions from before XML 1.0 Fifth Edition. * * @deprecated This option will be removed in a future version. */ XML_PARSE_OLD10 = 1<<17, /** * Don't fix up XInclude xml:base URIs. This option only affects * the xmlTextReader and XInclude interfaces. */ XML_PARSE_NOBASEFIX = 1<<18, /** * Relax some internal limits. * * Maximum size of text nodes, tags, comments, processing instructions, * CDATA sections, entity values * * normal: 10M * huge: 1B * * Maximum size of names, system literals, pubid literals * * normal: 50K * huge: 10M * * Maximum nesting depth of elements * * normal: 256 * huge: 2048 * * Maximum nesting depth of entities * * normal: 20 * huge: 40 */ XML_PARSE_HUGE = 1<<19, /** * Enable an unspecified legacy mode for SAX parsers. * * @deprecated This option will be removed in a future version. */ XML_PARSE_OLDSAX = 1<<20, /** * Ignore the encoding in the XML declaration. This option is * mostly unneeded these days. The only effect is to enforce * UTF-8 decoding of ASCII-like data. */ XML_PARSE_IGNORE_ENC = 1<<21, /** * Enable reporting of line numbers larger than 65535. */ XML_PARSE_BIG_LINES = 1<<22, /** * Disables loading of external DTDs or entities. * * @since 2.13.0 */ XML_PARSE_NO_XXE = 1<<23, /** * Enable input decompression. Setting this option is discouraged * to avoid zip bombs. * * @since 2.14.0 */ XML_PARSE_UNZIP = 1<<24, /** * Disables the global system XML catalog. * * @since 2.14.0 */ XML_PARSE_NO_SYS_CATALOG = 1<<25, /** * Enable XML catalog processing instructions. * * @since 2.14.0 */ XML_PARSE_CATALOG_PI = 1<<26, /** * Force the parser to ignore IDs. * * @since 2.15.0 */ XML_PARSE_SKIP_IDS = 1<<27 } xmlParserOption; XMLPUBFUN void xmlCtxtReset (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtResetPush (xmlParserCtxt *ctxt, const char *chunk, int size, const char *filename, const char *encoding); XMLPUBFUN int xmlCtxtGetOptions (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtSetOptions (xmlParserCtxt *ctxt, int options); XMLPUBFUN int xmlCtxtUseOptions (xmlParserCtxt *ctxt, int options); XMLPUBFUN void * xmlCtxtGetPrivate (xmlParserCtxt *ctxt); XMLPUBFUN void xmlCtxtSetPrivate (xmlParserCtxt *ctxt, void *priv); XMLPUBFUN void * xmlCtxtGetCatalogs (xmlParserCtxt *ctxt); XMLPUBFUN void xmlCtxtSetCatalogs (xmlParserCtxt *ctxt, void *catalogs); XMLPUBFUN xmlDict * xmlCtxtGetDict (xmlParserCtxt *ctxt); XMLPUBFUN void xmlCtxtSetDict (xmlParserCtxt *ctxt, xmlDict *); XMLPUBFUN xmlSAXHandler * xmlCtxtGetSaxHandler (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtSetSaxHandler (xmlParserCtxt *ctxt, const xmlSAXHandler *sax); XMLPUBFUN xmlDoc * xmlCtxtGetDocument (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtIsHtml (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtIsStopped (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtIsInSubset (xmlParserCtxt *ctxt); #ifdef LIBXML_VALID_ENABLED XMLPUBFUN xmlValidCtxt * xmlCtxtGetValidCtxt (xmlParserCtxt *ctxt); #endif XMLPUBFUN const xmlChar * xmlCtxtGetVersion (xmlParserCtxt *ctxt); XMLPUBFUN const xmlChar * xmlCtxtGetDeclaredEncoding(xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtGetStandalone (xmlParserCtxt *ctxt); XMLPUBFUN xmlParserStatus xmlCtxtGetStatus (xmlParserCtxt *ctxt); XMLPUBFUN void * xmlCtxtGetUserData (xmlParserCtxt *ctxt); XMLPUBFUN xmlNode * xmlCtxtGetNode (xmlParserCtxt *ctxt); XMLPUBFUN int xmlCtxtGetDocTypeDecl (xmlParserCtxt *ctxt, const xmlChar **name, const xmlChar **systemId, const xmlChar **publicId); XMLPUBFUN int xmlCtxtGetInputPosition (xmlParserCtxt *ctxt, int inputIndex, const char **filname, int *line, int *col, unsigned long *bytePos); XMLPUBFUN int xmlCtxtGetInputWindow (xmlParserCtxt *ctxt, int inputIndex, const xmlChar **startOut, int *sizeInOut, int *offsetOut); XMLPUBFUN void xmlCtxtSetErrorHandler (xmlParserCtxt *ctxt, xmlStructuredErrorFunc handler, void *data); XMLPUBFUN void xmlCtxtSetResourceLoader(xmlParserCtxt *ctxt, xmlResourceLoader loader, void *vctxt); XMLPUBFUN void xmlCtxtSetCharEncConvImpl(xmlParserCtxt *ctxt, xmlCharEncConvImpl impl, void *vctxt); XMLPUBFUN void xmlCtxtSetMaxAmplification(xmlParserCtxt *ctxt, unsigned maxAmpl); XMLPUBFUN xmlDoc * xmlReadDoc (const xmlChar *cur, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlReadFile (const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlReadMemory (const char *buffer, int size, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlReadFd (int fd, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlReadIO (xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlCtxtParseDocument (xmlParserCtxt *ctxt, xmlParserInput *input); XMLPUBFUN xmlNode * xmlCtxtParseContent (xmlParserCtxt *ctxt, xmlParserInput *input, xmlNode *node, int hasTextDecl); XMLPUBFUN xmlDoc * xmlCtxtReadDoc (xmlParserCtxt *ctxt, const xmlChar *cur, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlCtxtReadFile (xmlParserCtxt *ctxt, const char *filename, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlCtxtReadMemory (xmlParserCtxt *ctxt, const char *buffer, int size, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlCtxtReadFd (xmlParserCtxt *ctxt, int fd, const char *URL, const char *encoding, int options); XMLPUBFUN xmlDoc * xmlCtxtReadIO (xmlParserCtxt *ctxt, xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, const char *URL, const char *encoding, int options); /* * New input API */ XMLPUBFUN xmlParserErrors xmlNewInputFromUrl(const char *url, xmlParserInputFlags flags, xmlParserInput **out); XMLPUBFUN xmlParserInput * xmlNewInputFromMemory(const char *url, const void *mem, size_t size, xmlParserInputFlags flags); XMLPUBFUN xmlParserInput * xmlNewInputFromString(const char *url, const char *str, xmlParserInputFlags flags); XMLPUBFUN xmlParserInput * xmlNewInputFromFd(const char *url, int fd, xmlParserInputFlags flags); XMLPUBFUN xmlParserInput * xmlNewInputFromIO(const char *url, xmlInputReadCallback ioRead, xmlInputCloseCallback ioClose, void *ioCtxt, xmlParserInputFlags flags); XMLPUBFUN xmlParserErrors xmlInputSetEncodingHandler(xmlParserInput *input, xmlCharEncodingHandler *handler); /* * Library wide options */ /** * Used to examine the existence of features that can be enabled * or disabled at compile-time. * They used to be called XML_FEATURE_xxx but this clashed with Expat */ typedef enum { /** Multithreading support */ XML_WITH_THREAD = 1, /** @deprecated Always available */ XML_WITH_TREE = 2, /** Serialization support */ XML_WITH_OUTPUT = 3, /** Push parser */ XML_WITH_PUSH = 4, /** XML Reader */ XML_WITH_READER = 5, /** Streaming patterns */ XML_WITH_PATTERN = 6, /** XML Writer */ XML_WITH_WRITER = 7, /** Legacy SAX1 API */ XML_WITH_SAX1 = 8, /** @deprecated FTP support was removed */ XML_WITH_FTP = 9, /** @deprecated HTTP support was removed */ XML_WITH_HTTP = 10, /** DTD validation */ XML_WITH_VALID = 11, /** HTML parser */ XML_WITH_HTML = 12, /** Legacy symbols */ XML_WITH_LEGACY = 13, /** Canonical XML */ XML_WITH_C14N = 14, /** XML Catalogs */ XML_WITH_CATALOG = 15, /** XPath */ XML_WITH_XPATH = 16, /** XPointer */ XML_WITH_XPTR = 17, /** XInclude */ XML_WITH_XINCLUDE = 18, /** iconv */ XML_WITH_ICONV = 19, /** Built-in ISO-8859-X */ XML_WITH_ISO8859X = 20, /** @deprecated Removed */ XML_WITH_UNICODE = 21, /** Regular expressions */ XML_WITH_REGEXP = 22, /** @deprecated Same as XML_WITH_REGEXP */ XML_WITH_AUTOMATA = 23, /** @deprecated Removed */ XML_WITH_EXPR = 24, /** XML Schemas */ XML_WITH_SCHEMAS = 25, /** Schematron */ XML_WITH_SCHEMATRON = 26, /** Loadable modules */ XML_WITH_MODULES = 27, /** Debugging API */ XML_WITH_DEBUG = 28, /** @deprecated Removed */ XML_WITH_DEBUG_MEM = 29, /** @deprecated Removed */ XML_WITH_DEBUG_RUN = 30, /** GZIP compression */ XML_WITH_ZLIB = 31, /** ICU */ XML_WITH_ICU = 32, /** @deprecated LZMA support was removed */ XML_WITH_LZMA = 33, /** RELAXNG, since 2.14 */ XML_WITH_RELAXNG = 34, XML_WITH_NONE = 99999 /* just to be sure of allocation size */ } xmlFeature; XMLPUBFUN int xmlHasFeature (xmlFeature feature); #ifdef __cplusplus } #endif #endif /* __XML_PARSER_H__ */ libxml/xmlwriter.h000064400000047770152525225610010265 0ustar00/** * @file * * @brief text writing API for XML * * text writing API for XML * * @copyright See Copyright for the status of this software. * * @author Alfred Mickautsch */ #ifndef __XML_XMLWRITER_H__ #define __XML_XMLWRITER_H__ #include #ifdef LIBXML_WRITER_ENABLED #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Writer object */ typedef struct _xmlTextWriter xmlTextWriter; typedef xmlTextWriter *xmlTextWriterPtr; /* * Constructors & Destructor */ XMLPUBFUN xmlTextWriter * xmlNewTextWriter(xmlOutputBuffer *out); XMLPUBFUN xmlTextWriter * xmlNewTextWriterFilename(const char *uri, int compression); XMLPUBFUN xmlTextWriter * xmlNewTextWriterMemory(xmlBuffer *buf, int compression); XMLPUBFUN xmlTextWriter * xmlNewTextWriterPushParser(xmlParserCtxt *ctxt, int compression); XMLPUBFUN xmlTextWriter * xmlNewTextWriterDoc(xmlDoc ** doc, int compression); XMLPUBFUN xmlTextWriter * xmlNewTextWriterTree(xmlDoc *doc, xmlNode *node, int compression); XMLPUBFUN void xmlFreeTextWriter(xmlTextWriter *writer); /* * Functions */ /* * Document */ XMLPUBFUN int xmlTextWriterStartDocument(xmlTextWriter *writer, const char *version, const char *encoding, const char *standalone); XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriter * writer); /* * Comments */ XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriter * writer); XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriter *writer); XMLPUBFUN int xmlTextWriterWriteFormatComment(xmlTextWriter *writer, const char *format, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN int xmlTextWriterWriteVFormatComment(xmlTextWriter *writer, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(2,0); XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriter * writer, const xmlChar * content); /* * Elements */ XMLPUBFUN int xmlTextWriterStartElement(xmlTextWriter *writer, const xmlChar * name); XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriter * writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI); XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriter *writer); XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriter * writer); /* * Elements conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatElement(xmlTextWriter *writer, const xmlChar * name, const char *format, ...) LIBXML_ATTR_FORMAT(3,4); XMLPUBFUN int xmlTextWriterWriteVFormatElement(xmlTextWriter *writer, const xmlChar * name, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(3,0); XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriter * writer, const xmlChar * name, const xmlChar * content); XMLPUBFUN int xmlTextWriterWriteFormatElementNS(xmlTextWriter *writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI, const char *format, ...) LIBXML_ATTR_FORMAT(5,6); XMLPUBFUN int xmlTextWriterWriteVFormatElementNS(xmlTextWriter *writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(5,0); XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriter * writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI, const xmlChar * content); /* * Text */ XMLPUBFUN int xmlTextWriterWriteFormatRaw(xmlTextWriter *writer, const char *format, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN int xmlTextWriterWriteVFormatRaw(xmlTextWriter *writer, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(2,0); XMLPUBFUN int xmlTextWriterWriteRawLen(xmlTextWriter *writer, const xmlChar * content, int len); XMLPUBFUN int xmlTextWriterWriteRaw(xmlTextWriter *writer, const xmlChar * content); XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriter * writer, const char *format, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriter * writer, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(2,0); XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriter *writer, const xmlChar * content); XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriter *writer, const char *data, int start, int len); XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriter *writer, const char *data, int start, int len); /* * Attributes */ XMLPUBFUN int xmlTextWriterStartAttribute(xmlTextWriter *writer, const xmlChar * name); XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriter * writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI); XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriter * writer); /* * Attributes conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatAttribute(xmlTextWriter *writer, const xmlChar * name, const char *format, ...) LIBXML_ATTR_FORMAT(3,4); XMLPUBFUN int xmlTextWriterWriteVFormatAttribute(xmlTextWriter *writer, const xmlChar * name, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(3,0); XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriter * writer, const xmlChar * name, const xmlChar * content); XMLPUBFUN int xmlTextWriterWriteFormatAttributeNS(xmlTextWriter *writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI, const char *format, ...) LIBXML_ATTR_FORMAT(5,6); XMLPUBFUN int xmlTextWriterWriteVFormatAttributeNS(xmlTextWriter *writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(5,0); XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriter * writer, const xmlChar * prefix, const xmlChar * name, const xmlChar * namespaceURI, const xmlChar * content); /* * PI's */ XMLPUBFUN int xmlTextWriterStartPI(xmlTextWriter *writer, const xmlChar * target); XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriter *writer); /* * PI conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatPI(xmlTextWriter *writer, const xmlChar * target, const char *format, ...) LIBXML_ATTR_FORMAT(3,4); XMLPUBFUN int xmlTextWriterWriteVFormatPI(xmlTextWriter *writer, const xmlChar * target, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(3,0); XMLPUBFUN int xmlTextWriterWritePI(xmlTextWriter *writer, const xmlChar * target, const xmlChar * content); /** * This macro maps to #xmlTextWriterWritePI */ #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI /* * CDATA */ XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriter *writer); XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriter *writer); /* * CDATA conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatCDATA(xmlTextWriter *writer, const char *format, ...) LIBXML_ATTR_FORMAT(2,3); XMLPUBFUN int xmlTextWriterWriteVFormatCDATA(xmlTextWriter *writer, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(2,0); XMLPUBFUN int xmlTextWriterWriteCDATA(xmlTextWriter *writer, const xmlChar * content); /* * DTD */ XMLPUBFUN int xmlTextWriterStartDTD(xmlTextWriter *writer, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid); XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriter *writer); /* * DTD conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatDTD(xmlTextWriter *writer, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid, const char *format, ...) LIBXML_ATTR_FORMAT(5,6); XMLPUBFUN int xmlTextWriterWriteVFormatDTD(xmlTextWriter *writer, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(5,0); XMLPUBFUN int xmlTextWriterWriteDTD(xmlTextWriter *writer, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid, const xmlChar * subset); /** * this macro maps to #xmlTextWriterWriteDTD */ #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD /* * DTD element definition */ XMLPUBFUN int xmlTextWriterStartDTDElement(xmlTextWriter *writer, const xmlChar * name); XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriter * writer); /* * DTD element definition conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatDTDElement(xmlTextWriter *writer, const xmlChar * name, const char *format, ...) LIBXML_ATTR_FORMAT(3,4); XMLPUBFUN int xmlTextWriterWriteVFormatDTDElement(xmlTextWriter *writer, const xmlChar * name, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(3,0); XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriter * writer, const xmlChar * name, const xmlChar * content); /* * DTD attribute list definition */ XMLPUBFUN int xmlTextWriterStartDTDAttlist(xmlTextWriter *writer, const xmlChar * name); XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriter * writer); /* * DTD attribute list definition conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatDTDAttlist(xmlTextWriter *writer, const xmlChar * name, const char *format, ...) LIBXML_ATTR_FORMAT(3,4); XMLPUBFUN int xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriter *writer, const xmlChar * name, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(3,0); XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriter * writer, const xmlChar * name, const xmlChar * content); /* * DTD entity definition */ XMLPUBFUN int xmlTextWriterStartDTDEntity(xmlTextWriter *writer, int pe, const xmlChar * name); XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriter * writer); /* * DTD entity definition conveniency functions */ XMLPUBFUN int xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriter *writer, int pe, const xmlChar * name, const char *format, ...) LIBXML_ATTR_FORMAT(4,5); XMLPUBFUN int xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriter *writer, int pe, const xmlChar * name, const char *format, va_list argptr) LIBXML_ATTR_FORMAT(4,0); XMLPUBFUN int xmlTextWriterWriteDTDInternalEntity(xmlTextWriter *writer, int pe, const xmlChar * name, const xmlChar * content); XMLPUBFUN int xmlTextWriterWriteDTDExternalEntity(xmlTextWriter *writer, int pe, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid, const xmlChar * ndataid); XMLPUBFUN int xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriter * writer, const xmlChar * pubid, const xmlChar * sysid, const xmlChar * ndataid); XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriter * writer, int pe, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid, const xmlChar * ndataid, const xmlChar * content); /* * DTD notation definition */ XMLPUBFUN int xmlTextWriterWriteDTDNotation(xmlTextWriter *writer, const xmlChar * name, const xmlChar * pubid, const xmlChar * sysid); /* * Indentation */ XMLPUBFUN int xmlTextWriterSetIndent(xmlTextWriter *writer, int indent); XMLPUBFUN int xmlTextWriterSetIndentString(xmlTextWriter *writer, const xmlChar * str); XMLPUBFUN int xmlTextWriterSetQuoteChar(xmlTextWriter *writer, xmlChar quotechar); /* * misc */ XMLPUBFUN int xmlTextWriterFlush(xmlTextWriter *writer); XMLPUBFUN int xmlTextWriterClose(xmlTextWriter *writer); #ifdef __cplusplus } #endif #endif /* LIBXML_WRITER_ENABLED */ #endif /* __XML_XMLWRITER_H__ */ libxml/xpointer.h000064400000001642152525225610010064 0ustar00/** * @file * * @brief XPointer framework and schemes * * API to evaluate XPointer expressions. The following schemes are * supported: * * - element() * - xmlns() * - xpath1() * * xpointer() is an alias for the xpath1() scheme. The point and * range extensions are not supported. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XPTR_H__ #define __XML_XPTR_H__ #include #ifdef LIBXML_XPTR_ENABLED #include #include #ifdef __cplusplus extern "C" { #endif /* * Functions. */ XML_DEPRECATED XMLPUBFUN xmlXPathContext * xmlXPtrNewContext (xmlDoc *doc, xmlNode *here, xmlNode *origin); XMLPUBFUN xmlXPathObject * xmlXPtrEval (const xmlChar *str, xmlXPathContext *ctx); #ifdef __cplusplus } #endif #endif /* LIBXML_XPTR_ENABLED */ #endif /* __XML_XPTR_H__ */ libxml/xmlregexp.h000064400000004625152525225610010233 0ustar00/** * @file * * @brief Regular expressions * * A regular expression engine used for DTD and XML Schema * validation. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_REGEXP_H__ #define __XML_REGEXP_H__ #include #include #include #ifdef LIBXML_REGEXP_ENABLED #ifdef __cplusplus extern "C" { #endif /** * A libxml regular expression */ typedef struct _xmlRegexp xmlRegexp; typedef xmlRegexp *xmlRegexpPtr; /** * A libxml progressive regular expression evaluation context */ typedef struct _xmlRegExecCtxt xmlRegExecCtxt; typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; /* * The POSIX like API */ XMLPUBFUN xmlRegexp * xmlRegexpCompile (const xmlChar *regexp); XMLPUBFUN void xmlRegFreeRegexp(xmlRegexp *regexp); XMLPUBFUN int xmlRegexpExec (xmlRegexp *comp, const xmlChar *value); XML_DEPRECATED XMLPUBFUN void xmlRegexpPrint (FILE *output, xmlRegexp *regexp); XMLPUBFUN int xmlRegexpIsDeterminist(xmlRegexp *comp); /** * Callback function when doing a transition in the automata * * @param exec the regular expression context * @param token the current token string * @param transdata transition data * @param inputdata input data */ typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxt *exec, const xmlChar *token, void *transdata, void *inputdata); /* * The progressive API */ XML_DEPRECATED XMLPUBFUN xmlRegExecCtxt * xmlRegNewExecCtxt (xmlRegexp *comp, xmlRegExecCallbacks callback, void *data); XML_DEPRECATED XMLPUBFUN void xmlRegFreeExecCtxt (xmlRegExecCtxt *exec); XML_DEPRECATED XMLPUBFUN int xmlRegExecPushString(xmlRegExecCtxt *exec, const xmlChar *value, void *data); XML_DEPRECATED XMLPUBFUN int xmlRegExecPushString2(xmlRegExecCtxt *exec, const xmlChar *value, const xmlChar *value2, void *data); XML_DEPRECATED XMLPUBFUN int xmlRegExecNextValues(xmlRegExecCtxt *exec, int *nbval, int *nbneg, xmlChar **values, int *terminal); XML_DEPRECATED XMLPUBFUN int xmlRegExecErrInfo (xmlRegExecCtxt *exec, const xmlChar **string, int *nbval, int *nbneg, xmlChar **values, int *terminal); #ifdef __cplusplus } #endif #endif /* LIBXML_REGEXP_ENABLED */ #endif /*__XML_REGEXP_H__ */ libxml/xmlsave.h000064400000006624152525225610007700 0ustar00/** * @file * * @brief XML/HTML serializer * * API to save documents or subtrees of documents. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XMLSAVE_H__ #define __XML_XMLSAVE_H__ #include #include #include #include #ifdef LIBXML_OUTPUT_ENABLED #ifdef __cplusplus extern "C" { #endif /** * This is the set of XML save options that can be passed down * to the #xmlSaveToFd and similar calls. */ typedef enum { /** * Format output. This adds newlines and enables indenting * by default. */ XML_SAVE_FORMAT = 1<<0, /** * Don't emit an XML declaration. */ XML_SAVE_NO_DECL = 1<<1, /** * Don't emit empty tags. */ XML_SAVE_NO_EMPTY = 1<<2, /** * Don't serialize as XHTML. */ XML_SAVE_NO_XHTML = 1<<3, /** * Always serialize as XHTML. */ XML_SAVE_XHTML = 1<<4, /** * Serialize HTML documents as XML. */ XML_SAVE_AS_XML = 1<<5, /** * Serialize XML documents as HTML. */ XML_SAVE_AS_HTML = 1<<6, /** * Format with non-significant whitespace. * TODO: What does this mean? */ XML_SAVE_WSNONSIG = 1<<7, /** * Always emit empty tags. This is the default unless the * deprecated thread-local setting xmlSaveNoEmptyTags is * set to 1. * * @since 2.14 */ XML_SAVE_EMPTY = 1<<8, /** * Don't indent output when formatting. * * @since 2.14 */ XML_SAVE_NO_INDENT = 1<<9, /** * Always indent output when formatting. This is the default * unless the deprecated thread-local setting * xmlIndentTreeOutput is set to 0. * * @since 2.14 */ XML_SAVE_INDENT = 1<<10 } xmlSaveOption; /** XML and HTML serializer */ typedef struct _xmlSaveCtxt xmlSaveCtxt; typedef xmlSaveCtxt *xmlSaveCtxtPtr; XMLPUBFUN xmlSaveCtxt * xmlSaveToFd (int fd, const char *encoding, int options); XMLPUBFUN xmlSaveCtxt * xmlSaveToFilename (const char *filename, const char *encoding, int options); XMLPUBFUN xmlSaveCtxt * xmlSaveToBuffer (xmlBuffer *buffer, const char *encoding, int options); XMLPUBFUN xmlSaveCtxt * xmlSaveToIO (xmlOutputWriteCallback iowrite, xmlOutputCloseCallback ioclose, void *ioctx, const char *encoding, int options); XMLPUBFUN long xmlSaveDoc (xmlSaveCtxt *ctxt, xmlDoc *doc); XMLPUBFUN long xmlSaveTree (xmlSaveCtxt *ctxt, xmlNode *node); XMLPUBFUN int xmlSaveFlush (xmlSaveCtxt *ctxt); XMLPUBFUN int xmlSaveClose (xmlSaveCtxt *ctxt); XMLPUBFUN xmlParserErrors xmlSaveFinish (xmlSaveCtxt *ctxt); XMLPUBFUN int xmlSaveSetIndentString (xmlSaveCtxt *ctxt, const char *indent); XML_DEPRECATED XMLPUBFUN int xmlSaveSetEscape (xmlSaveCtxt *ctxt, xmlCharEncodingOutputFunc escape); XML_DEPRECATED XMLPUBFUN int xmlSaveSetAttrEscape (xmlSaveCtxt *ctxt, xmlCharEncodingOutputFunc escape); XML_DEPRECATED XMLPUBFUN int xmlThrDefIndentTreeOutput(int v); XML_DEPRECATED XMLPUBFUN const char * xmlThrDefTreeIndentString(const char * v); XML_DEPRECATED XMLPUBFUN int xmlThrDefSaveNoEmptyTags(int v); #ifdef __cplusplus } #endif #endif /* LIBXML_OUTPUT_ENABLED */ #endif /* __XML_XMLSAVE_H__ */ libxml/hash.h000064400000015462152525225610007144 0ustar00/** * @file * * @brief Chained hash tables * * This module implements the hash table support used in * various places in the library. * * @copyright See Copyright for the status of this software. */ #ifndef __XML_HASH_H__ #define __XML_HASH_H__ #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Hash table mapping strings to pointers * * Also supports lookup using two or three strings as key. */ typedef struct _xmlHashTable xmlHashTable; typedef xmlHashTable *xmlHashTablePtr; /* * Recent version of gcc produce a warning when a function pointer is assigned * to an object pointer, or vice versa. The following macro is a dirty hack * to allow suppression of the warning. If your architecture has function * pointers which are a different size than a void pointer, there may be some * serious trouble within the library. */ /** * Macro to do a casting from an object pointer to a * function pointer without encountering a warning from * gcc * * \#define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) * This macro violated ISO C aliasing rules (gcc4 on s390 broke) * so it is disabled now * * @param fptr pointer to a function */ #define XML_CAST_FPTR(fptr) fptr /* * function types: */ /** * Callback to free data from a hash. * * @param payload the data in the hash * @param name the name associated */ typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name); /** * Callback to copy data from a hash. * * @param payload the data in the hash * @param name the name associated * @returns a copy of the data or NULL in case of error. */ typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name); /** * Callback when scanning data in a hash with the simple scanner. * * @param payload the data in the hash * @param data extra scanner data * @param name the name associated */ typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name); /** * Callback when scanning data in a hash with the full scanner. * * @param payload the data in the hash * @param data extra scanner data * @param name the name associated * @param name2 the second name associated * @param name3 the third name associated */ typedef void (*xmlHashScannerFull)(void *payload, void *data, const xmlChar *name, const xmlChar *name2, const xmlChar *name3); /* * Constructor and destructor. */ XMLPUBFUN xmlHashTable * xmlHashCreate (int size); XMLPUBFUN xmlHashTable * xmlHashCreateDict (int size, xmlDict *dict); XMLPUBFUN void xmlHashFree (xmlHashTable *hash, xmlHashDeallocator dealloc); XMLPUBFUN void xmlHashDefaultDeallocator(void *entry, const xmlChar *name); /* * Add a new entry to the hash table. */ XMLPUBFUN int xmlHashAdd (xmlHashTable *hash, const xmlChar *name, void *userdata); XMLPUBFUN int xmlHashAddEntry (xmlHashTable *hash, const xmlChar *name, void *userdata); XMLPUBFUN int xmlHashUpdateEntry (xmlHashTable *hash, const xmlChar *name, void *userdata, xmlHashDeallocator dealloc); XMLPUBFUN int xmlHashAdd2 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, void *userdata); XMLPUBFUN int xmlHashAddEntry2 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, void *userdata); XMLPUBFUN int xmlHashUpdateEntry2 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, void *userdata, xmlHashDeallocator dealloc); XMLPUBFUN int xmlHashAdd3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, void *userdata); XMLPUBFUN int xmlHashAddEntry3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, void *userdata); XMLPUBFUN int xmlHashUpdateEntry3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, void *userdata, xmlHashDeallocator dealloc); /* * Remove an entry from the hash table. */ XMLPUBFUN int xmlHashRemoveEntry (xmlHashTable *hash, const xmlChar *name, xmlHashDeallocator dealloc); XMLPUBFUN int xmlHashRemoveEntry2 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, xmlHashDeallocator dealloc); XMLPUBFUN int xmlHashRemoveEntry3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, xmlHashDeallocator dealloc); /* * Retrieve the payload. */ XMLPUBFUN void * xmlHashLookup (xmlHashTable *hash, const xmlChar *name); XMLPUBFUN void * xmlHashLookup2 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2); XMLPUBFUN void * xmlHashLookup3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3); XMLPUBFUN void * xmlHashQLookup (xmlHashTable *hash, const xmlChar *prefix, const xmlChar *name); XMLPUBFUN void * xmlHashQLookup2 (xmlHashTable *hash, const xmlChar *prefix, const xmlChar *name, const xmlChar *prefix2, const xmlChar *name2); XMLPUBFUN void * xmlHashQLookup3 (xmlHashTable *hash, const xmlChar *prefix, const xmlChar *name, const xmlChar *prefix2, const xmlChar *name2, const xmlChar *prefix3, const xmlChar *name3); /* * Helpers. */ XMLPUBFUN xmlHashTable * xmlHashCopySafe (xmlHashTable *hash, xmlHashCopier copy, xmlHashDeallocator dealloc); XMLPUBFUN xmlHashTable * xmlHashCopy (xmlHashTable *hash, xmlHashCopier copy); XMLPUBFUN int xmlHashSize (xmlHashTable *hash); XMLPUBFUN void xmlHashScan (xmlHashTable *hash, xmlHashScanner scan, void *data); XMLPUBFUN void xmlHashScan3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, xmlHashScanner scan, void *data); XMLPUBFUN void xmlHashScanFull (xmlHashTable *hash, xmlHashScannerFull scan, void *data); XMLPUBFUN void xmlHashScanFull3 (xmlHashTable *hash, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, xmlHashScannerFull scan, void *data); #ifdef __cplusplus } #endif #endif /* ! __XML_HASH_H__ */ libxml/threads.h000064400000003040152525225610007640 0ustar00/** * @file * * @brief interfaces for thread handling * * set of generic threading related routines * should work with pthreads, Windows native or TLS threads * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_THREADS_H__ #define __XML_THREADS_H__ #include #ifdef __cplusplus extern "C" { #endif /** Mutual exclusion object */ typedef struct _xmlMutex xmlMutex; typedef xmlMutex *xmlMutexPtr; /** Reentrant mutual exclusion object */ typedef struct _xmlRMutex xmlRMutex; typedef xmlRMutex *xmlRMutexPtr; XMLPUBFUN int xmlCheckThreadLocalStorage(void); XMLPUBFUN xmlMutex * xmlNewMutex (void); XMLPUBFUN void xmlMutexLock (xmlMutex *tok); XMLPUBFUN void xmlMutexUnlock (xmlMutex *tok); XMLPUBFUN void xmlFreeMutex (xmlMutex *tok); XMLPUBFUN xmlRMutex * xmlNewRMutex (void); XMLPUBFUN void xmlRMutexLock (xmlRMutex *tok); XMLPUBFUN void xmlRMutexUnlock (xmlRMutex *tok); XMLPUBFUN void xmlFreeRMutex (xmlRMutex *tok); /* * Library wide APIs. */ XML_DEPRECATED XMLPUBFUN void xmlInitThreads (void); XMLPUBFUN void xmlLockLibrary (void); XMLPUBFUN void xmlUnlockLibrary(void); XML_DEPRECATED XMLPUBFUN void xmlCleanupThreads(void); /** @cond IGNORE */ #if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \ defined(LIBXML_STATIC_FOR_DLL) int xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved); #endif /** @endcond */ #ifdef __cplusplus } #endif #endif /* __XML_THREADS_H__ */ libxml/SAX.h000064400000000613152525225610006644 0ustar00/** * @file * * @brief Old SAX version 1 handler, deprecated * * @deprecated set of SAX version 1 interfaces used to * build the DOM tree. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_SAX_H__ #define __XML_SAX_H__ #ifdef __GNUC__ #warning "libxml/SAX.h is deprecated" #endif #endif /* __XML_SAX_H__ */ libxml/xmlmodule.h000064400000002206152525225610010217 0ustar00/** * @file * * @brief Dynamic module loading * * API for dynamic module loading. Only used by old libxslt versions * and subject to removal. * * @copyright See Copyright for the status of this software. * * @author Joel W. Reed */ #ifndef __XML_MODULE_H__ #define __XML_MODULE_H__ #include #ifdef LIBXML_MODULES_ENABLED #ifdef __cplusplus extern "C" { #endif /** * A handle to a dynamically loaded module */ typedef struct _xmlModule xmlModule; typedef xmlModule *xmlModulePtr; /** * enumeration of options that can be passed down to #xmlModuleOpen */ typedef enum { XML_MODULE_LAZY = 1, /* lazy binding */ XML_MODULE_LOCAL= 2 /* local binding */ } xmlModuleOption; XML_DEPRECATED XMLPUBFUN xmlModule *xmlModuleOpen (const char *filename, int options); XML_DEPRECATED XMLPUBFUN int xmlModuleSymbol (xmlModule *module, const char* name, void **result); XML_DEPRECATED XMLPUBFUN int xmlModuleClose (xmlModule *module); XML_DEPRECATED XMLPUBFUN int xmlModuleFree (xmlModule *module); #ifdef __cplusplus } #endif #endif /* LIBXML_MODULES_ENABLED */ #endif /*__XML_MODULE_H__ */ libxml2-config.cmake000064400000012604152525420330010366 0ustar00# libxml2-config.cmake # -------------------- # # Libxml2 cmake module. # This module sets the following variables: # # :: # # LIBXML2_FOUND - True if libxml2 headers and libraries were found # LIBXML2_INCLUDE_DIR - Directory where LibXml2 headers are located. # LIBXML2_INCLUDE_DIRS - list of the include directories needed to use LibXml2. # LIBXML2_LIBRARY - path to the LibXml2 library. # LIBXML2_LIBRARIES - xml2 libraries to link against. # LIBXML2_DEFINITIONS - the compiler switches required for using LibXml2. # LIBXML2_VERSION_MAJOR - The major version of libxml2. # LIBXML2_VERSION_MINOR - The minor version of libxml2. # LIBXML2_VERSION_PATCH - The patch version of libxml2. # LIBXML2_VERSION_STRING - version number as a string (ex: "2.3.4") # LIBXML2_MODULES - whether libxml2 has dso support # LIBXML2_XMLLINT_EXECUTABLE - path to the XML checking tool xmllint coming with LibXml2 # # The following targets are defined: # # LibXml2::LibXml2 - the LibXml2 library # LibXml2::xmllint - the xmllint command-line executable set(LIBXML2_VERSION_MAJOR 2) set(LIBXML2_VERSION_MINOR 15) set(LIBXML2_VERSION_MICRO 3) set(LIBXML2_VERSION_STRING "2.15.3") set(LIBXML2_DEFINITIONS "") set(LIBXML2_INCLUDE_DIR /opt/puppetlabs/puppet/include/libxml2) set(LIBXML2_LIBRARY_DIR /opt/puppetlabs/puppet/lib) find_library(LIBXML2_LIBRARY NAMES xml2 HINTS ${LIBXML2_LIBRARY_DIR} NO_DEFAULT_PATH) find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS /opt/puppetlabs/puppet/bin NO_DEFAULT_PATH) find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS /opt/puppetlabs/puppet/bin NO_DEFAULT_PATH) set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY}) set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR}) unset(LIBXML2_INTERFACE_LINK_LIBRARIES) include(CMakeFindDependencyMacro) set(LIBXML2_SHARED 1) set(LIBXML2_WITH_ICONV 1) set(LIBXML2_WITH_THREADS 1) set(LIBXML2_WITH_ICU 0) set(LIBXML2_WITH_ZLIB 0) if(NOT LIBXML2_SHARED) set(LIBXML2_DEFINITIONS -DLIBXML_STATIC) if(LIBXML2_WITH_ICONV) find_dependency(Iconv) list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES}) list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") if(NOT Iconv_FOUND) set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Iconv dependency was not found") return() endif() endif() if(LIBXML2_WITH_THREADS) find_dependency(Threads) list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") if(NOT Threads_FOUND) set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Threads dependency was not found") return() endif() endif() if(LIBXML2_WITH_ICU) find_dependency(ICU COMPONENTS data i18n uc) list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES}) list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$;\$;\$") if(NOT ICU_FOUND) set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "ICU dependency was not found") return() endif() endif() if(LIBXML2_WITH_ZLIB) find_dependency(ZLIB) list(APPEND LIBXML2_LIBRARIES ${ZLIB_LIBRARIES}) list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") if(NOT ZLIB_FOUND) set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "ZLIB dependency was not found") return() endif() endif() if(UNIX) list(APPEND LIBXML2_LIBRARIES m) list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") endif() if(WIN32) list(APPEND LIBXML2_LIBRARIES Bcrypt) list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$") endif() endif() # whether libxml2 has dso support set(LIBXML2_MODULES 1) mark_as_advanced(LIBXML2_LIBRARY LIBXML2_XMLCATALOG_EXECUTABLE LIBXML2_XMLLINT_EXECUTABLE) if(DEFINED LIBXML2_LIBRARY AND DEFINED LIBXML2_INCLUDE_DIRS) set(LIBXML2_FOUND TRUE) endif() if(NOT TARGET LibXml2::LibXml2 AND DEFINED LIBXML2_LIBRARY AND DEFINED LIBXML2_INCLUDE_DIRS) add_library(LibXml2::LibXml2 UNKNOWN IMPORTED) set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION "${LIBXML2_LIBRARY}") set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXML2_DEFINITIONS}") set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}") set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXML2_INTERFACE_LINK_LIBRARIES}") endif() if(NOT TARGET LibXml2::xmlcatalog AND DEFINED LIBXML2_XMLCATALOG_EXECUTABLE) add_executable(LibXml2::xmlcatalog IMPORTED) set_target_properties(LibXml2::xmlcatalog PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLCATALOG_EXECUTABLE}") endif() if(NOT TARGET LibXml2::xmllint AND DEFINED LIBXML2_XMLLINT_EXECUTABLE) add_executable(LibXml2::xmllint IMPORTED) set_target_properties(LibXml2::xmllint PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLLINT_EXECUTABLE}") endif() Copyright000064400000002411152531044400006433 0ustar00Except where otherwise noted in the source code (e.g. the files hash.c, list.c and the trio files, which are covered by a similar licence but with different Copyright notices) all the files are: Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. 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 fur- nished 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, FIT- NESS 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. usr/lib64/libxml2.so.2.10.2000075500005545440152531573270010766 0ustar00ELF>`@@8 @   hh5h5PP FF6F6PP888$$ Std PtddddMMQtdRtdhh5h5GNUL__m C|  B " d K@ Th8 iX!`C D ` 2@h7I@ALPDBRTHH@@PH@ RH p`@@1 0DH8")$@AA C6A"( $h@(! A$d@4``A" c 0 $!A  AR0@DЄ&l$8`   hQH !@D`P  )C-6"Dr0 `R @ pŕ$h2B@@@'# (CP"1@ *@@@@  H2! @T @ @ %$(@À BB  0kA8 pP H@n ,D@B PH)%h ( 0` ĠS4b T &F! AR!EHBi ($0 F,P*1!@Pa+P(T  1 @HH 6qtH ,  FJBT@B `3"@$H@@# E@#I @` eRB@'   @!P(KEa/ ਀` h!s .@ "n& AH(S `  ((Z 91D! 0)@A @@   @r($D I Pt B B @@`A1XHdÒR$!  D  Q A6X`6!B=PNTA1 $cD@B $$ (@(` @A q6@@ ,(n @! @$ @!@  2pP!0 DB fe ( Oa b)"D(`P  `0@ H %  xP  P At ) I@X0  @AR/2(@!(A2  @$a"1@$`@,0$ !!D@5 @ )|0@ 0P `@" @+&HB @ $(PB pCP; @!P!" ` @H @00JƐ|}~   #%'(,./023578:<>@ABCEJKMORX\]_`bdefgjklmnqsuw|    "%()*-024789:<>?@CFLNQTUWY\]^`bdeiklnprsuw{}~  "#$()*,-/03568:<>?BFHMPQVWZ\^_acdghjkmnrsuwz{}~    !"#%(+,.23568;<>@ADGHJNPSUVY\^_bdfhijlpruwy|~   !#$%&'()+,0123469:<@DGIKLOQSUVWZ[_`adeghiklnqstvxz|  "$(*+-02567;<=?@BEGHKLNPRVWY[^`acfgknortuw{}~  ) Q%G̺pɠ7.}4`wɛ 1>Gn>F8sU7⇐l-^c@CZ>.ZeR>.>. T>>.>ma`bpZI>.7*3H_ۥzv=Dr+λjR^W’>.uY|^D؜9'aa>.K0 no5}ji~-Z ^+fw&cqoL6T#XAVǾ>( C/O@}@L&NǹɮNZ?t/dF)__J(=g}vYf7t|7tTg8Nw/Y}w[ ccPnΎ \8һ "檔quaNWiCX0wX:|C`bД\>-L<>!b?FO"78KB{BMۡϤZy D,1$uS{N&_0 _KqWm]K*{v.@Z׷"]y$AC 8|P襪4 'iX6Vy}EyG锪xw8Ҕ-=ӑ̏|1;?z6C 5GЎ.2ZW~z͵X4]QІ ,]MUd`Wҿ;b+;UF-pVBE5*o#UQuP$>. v\qҨ7ކjOM ݄G0w h,,ya8o>.>.mf)0vU]>.biЇ~Np(.EhNZZb|ѮٝJ]GZhPtX3Pnߧq;FJ f1jH( fRdөgGHIGYu2;*tjLv]hkT߫2&MSC5p JÄZ|aLp "K3:ro*N ڂ$(by,&1Pr&bUQe F]7 iݚb#I&m]ST>]mndEt G2qVѳ3WSSI K'= oc{3)) QbN=P1Q<pBxmn5gEd 1/79^T*K+?hJ!R ]6zָ͗/i2J6 {^i(M6 4AYCŬ8^Bz2'j՜$8(<>B쐧ȌcRrIųP Jf7_ j.|I' VLS_e9S: d1n_IG/S+L`}PGUD[]uXaoubxxr >q(1:~ܼYMPM"D/q2:Ǹ?&Uu#&*g0p6jq6io g,q6ώ X"̏{.!q6sR̠q6 +}jgq6q6q65fݹ8q6Rd'ɊhQT3UAƄkVOZ\WhukT+Y"4AoO %G3|"YNU6u#z]y\vBiيhVbGjc_ތi]19<8_N6?L'0} )RLmWF^9UK:^vDş3mJ)`xV6:Y** ȸK.W19ܑQ9==""vsHۭCW4:1h} Rumj=i4 3v62v65v6PXt5v68 v^a-엓7v68v6!9v6:v68$E,x- ~`zY[N:OUgߤ_ D6(bQw7>3t=t_<lYs1V<h4T<<jn$4W<rZ5;<lu܁,A<K`<$ I݉<qXo=YxzKyc,*@(z3۽嬹hk̴D;IQI-:Vh=q~nK8d^l:[ 4ٱ; Qcُ?~O|0UE&U >f+8"dB BŅ E>.5'BIC:YB<<>.<IB<>.s1Prz6<$<SAK]<r wz6vz6&<:,<=E P- :EL{V߈\/ӡυ/47ȳ6˓XS+khi&IB+8o9(i3-!`͊gU#x4L=>ہ74ĭrڭ|!FӾ-qZZqHJ'zAQ"t<Zo*?aAo1ቈ7ehtz-0Q f/FVEc[W]Ļ|s3QG2PQwa4q. #Sɏ<ڴ~6kQ6vzo$Rȸ8GԳG_ NZHd+Dt$@LHp3REqvW.c") @!/ f̓ǭ/6ܣam*"samh6N⮫gll+t? 0lQ.Ú򠁖_KhV<}@Z2=7 f*}!D)$a~W dV%C'C2a{-޾:}6x_[tE6!( }SWxM6OԒ k}@Kv;6ϨK_nIYYs~@7E*A4nA{e,'V>ڌSz%["iԖ=C%|iݚ*f[AU'y9!P$' ߎR=ev%Vf5dS= jZJs|ܫdHwF‡Pِ,~y|!Vy9փݛa >. 26MH4Qdo;hn>.p8wTu4WMjʎ0 ox&6V8s{.+VG1ᤗNl>.r)7;& S@Nh- 2T ],7< #G>bbr/p/Mlae.ÊDR@||\+\ZdGDh@zN%5VⅾFLmKHϣ@ d*)`ݨ=-(ȳ"-G6oѤ 5L$Q2ࡪ>7!;u |`nO{5mqy=hk Š!61Z !yJvO$_9% Fa/Mf"&z S+2Ry!x|X*gF8U6t3 DB鱃O/B*a$g7$zq H e5乲z#^q 7]sZd23R=~OV8IhZJ">>qFFOfW..P+^H6oX<@[([G^zf|*_NӀj(Gԓ*djv7;'fnMrkԥb0`9'{(4G˭ܻP8J^Dx&Ν3 Ģ?*`Rg G(FgǓ]>4,\;uׂ ==3F Ijmuzr1^ ۦXv CWե%ߜEnDQ~/{OHgz(S;UƇ kWމSx qm. Y=꤀4˜{0P)2[򉩖Ȇʈ 8bNsEp*{r-A45 | ,[j >.=՞IǠ>.g^wr/n>.$k #v?vzPFv>._zԎ9>.ۓaA7TŃyK9{-'a$7pΠ[bZ{aIڰB 8eյMj*(8qM.FލDg2iiPJ&>.q?) UerwXEvXEUQf5*1>.}JiF[$; H[$넟a488V]!3oմH͞AS&G~}?td..Tq)E#,R79ˆĞ~9˘`/GߥN_qr* `9J~($"5.&_F>.&~~ÏsYC"N3YO>.ԁl ?̵KD{ p֏S>.e/RDƍM77,Eh[Mqa@sw0dk^eD[MToILV)^bх+4P1Z2y+fEC̛HVXN 0 nNbH}@ .V!羰xg)u[Y?K H^% ŀkYR`m19k kNJET)7( k"*Tھ9n* aGgs^^+x:,1sOa.(MdF.- #Ԇ.M@Y/(~(((#:M_( X"(c)0RyMMSX W"N`EYX/,%%H6-ކ4J9((jy2X"LgX,MaE(SEM9tW  (O(M9LMyX(1NW"FX _W".(h.lOnX 'J).X LgO)LX"W" X"M[Ob0>L#̆, MÆvW"F"*W"|MsL9c 06 SmB P sa g `d  46 #5 0!] P6% `Xs @C=A J } g @ /7 trY'  0[ fn P"[ Э[ f+ Z 0.  MD `O- 0& wZ `./ < m 0t  >: 0  | [   xu6K ` u 0c] P h[ / O' `Y p:  p  E pr _{ |[ u6; b 0+ #D d = k6 l((  @o 5! @V< ,P^ .g B P )_Y ;  P= Pr w | P+6L A `3x j1 4 tA/ ! G \ ^ 2;P ` w O+ #R u :->   va 6u {  < q CpC T rdH )$8 { n?  kc < R @ Q  > @ ? @: WD Y n `-\, PJ1 Ј)\ )8Q p B  q2 )  xC> 6u b, ^c= @B0 tL^ P i 0m G" d   'tx P9>  E m C~ g= @- rno K!y ap F P \7 `nGO 0 lAZ y6 PbD: gS$   f y F6 Z, 8R _#c< b& p; g: @X $ F s 2\ 0 o  `o p$4 _4] P4 \ ?6~ 1{  [ Gt U 03 иV W% . P" @sUt d %$ . i X `$ &'! TLb 9,@ PB v=& c# t6.. rSu6^ `W# p 0, `9I ` q \s6d`<6Z O 0 k K 0 H&O ${ vGV %t3 `*D e )K P9  > @, ot `#CI 0 Y 0Z @D `c c И#N n Y P К;  / C ( T"s w4/ !^ ? >   8I% `?<68  @}Yl 'mR @_#, + 938 |pV P&% pJ : !  .Rg @|  E7 mk"x eB Q b! 0X:  @95 0"_SJ p5 `a ;:    `iD  ES @) W2N s w0F u d+0 0om `z t5, 0x hn   F D 4J 7 0| B6 L%A J T l U.  ?Us p C!  }v -^ S  0; Y f `O D6 p  @ P V py tE n 4% M r `R 0`t6 t  BLh ]% v E6| k  s! " P8l 04d @ mm;  |hu6,G zX 0zS |8 I [n ; E p . б>P5  } Ј4 WMU *} O$ _= U @ 0k P2  0c k9 pNw 0 d* ` 0m h AR g Xi @: i i M vy _&v Xz# @| 3 P^  i f~ C 0W R8z ku {.l ЦR 0 Q_ 0aM \ Kp > P 12 0S+ 9  pYw! `Z  0 0+q @y=  s6pG 0 >tp 9 2 [* k Л}Q = x ` @] 1B8 }2 0  p6&  I# "2  B Q ( P: p` ] 9O R PAp3 0  M9)  Є`  \ p7 ` \ M   0Z  >K p' !q @5- @0 @ow F 0 ȇև+ cJ  M  P^[ p  P+ {b ?  ~& c @"D b G  f  p k D 0f  U  5' 0 p8 P| # xg[: gE pm 0< !B' PL 0N  FRP n_ Q !? 0@ Y * X~ `R p_#F$ & , 0|@X  p @32C R { +>hz6 @^B WJ ^ IF v gB P [( 0a/1H 0 *\  Q  v g  @2 t / ) d9 0A N 4;   @6# P@ 6L 0N K7 S  YMV ## 0 t~ W]  z @& pF @3 s| PW  >] 0 #G 0bx. @*8U6FT9  95 K   p7 xY / F* %A pN & p;b 5Q P/ N PS p  L#d + ,'4 B b  F!s 0la>  qqO r 0"@ A gz mS a ) P  5Si X " @D Z  0G 2 HˈP @J ڈZu6 02 09  "_J2 T~_ P<  0*1 M l ={& 0 <6) p =(_ d `$n 0#1 Ъ # ~+9   '% 3K D/b K(66 pg5w   <6*  F  `-  / @  F1@b ^q pK (UI IL[ j @J 9= [ $* p`5[ 0V ##Gq @Z[ c = ,pq ( `c% : dVK  )` @4=n ~ 0C~ @ORT P 0I L0U @ 9!T 9J @' Np ̀ a 0>A @I hDV T; P r R _ `S L  J  0+   `" p 6s6T 0 9G p~ |ls6<  r c 7VO& IU P 9m _ S 6m ^  IaJ qYy L~{ @{R7 vs `C/ ff^  Uc p9J 7 @y?v p* @< ] g ' ] Uk ХQ y) 1w9 poa )} WM6 v-  ' @_ ! p7 5 P  p*  @s6w (   @&>G 0 -R C` T t{i ` Їf% ( \ ` 1 C `U r  4  +  p~K P : gC Q 18 9 @Ui SA\ -e- o  "T sW K  T 9g( ` ] 1 | ' @ l =- `o cd ? < ( ~i УQ P i | Iy #F z j  0 h `  V p&"y P( 0  ,[ (/ a+j P"( | ,# yy_ ' :8 ! F @ k'hp s %Q Iob gaq pj ; *6j8 0Qi q Pj 0k P_  * j 6$  1b  C<> P !! _EE4   &% `3& 0W1 ;& 7z js & kZ` pW M @] + i Q jr )qy L/ -GG  + U@ A ) ``' g r   P YT ` 9` @4 @- n  p-'K  U $ 0 0'w " @rC$  H vh zh ĉi$ (qr 0& }} F | Q Tb pK  0  F| 9d ]2 @% r( Wp p$.  H] 1$ #v ` [\ d?h  ɂ &O oN;6 @6 E~ 2V PB ~Q ` v pC@t #. P 1y @#1! @O/ `OɅ @2qP r `Q V p*pc Л^u c 3 `oH z 0   G|N v . r'X Uu6 ,  0 0g+Z @$ ;o + 09I 0xn @ &)mK  K" vN, = #Jk Q GP j s> g  Pk 1 * V  .d `H E3 @i 44. (Rj (D Z h2v6z Z~g h @l 8 R &,  $ ou 6" 0~ :    Sz `l`K ( ? . G ? 8 K   I>5 (@4  _ 0@ Q{ 0~3 W X] PoAzA @L E q z o & Ml ``U 9$ Љ1j ФM' aH P p yO aF 4 y a]1 0d3< J{ xO" jU @Qj l  <6 P+Y P0 ; Vh kj  0 I  S f5 # `wCvY PC ` ; )  @8 Re} f ~  + 2 m& 9kI  4O W p7| p `R' `l "TG  r/ @C -: Vx m) | 0Z4 9 $>l - @l 6 p 0l 3? k p') ^" j+ ;  1u' * wT  9" t:Y 3 ^@ H O { k X I <i A M 4D ^ ! нhB Q H a 7rL `M N w  J D   H^ # #* V>   @:~s SY Lf 3" g6 PPC U ht 6Y 8 {SC_ ` ;v 8 'z, O G"DN t \ 0 ^= 3? k *& @c &Y pF/7 m  2^ 6.cP  |z on `V ##9o @.u6'  09&` T Q( on & P^W RtC V Z 0A < ) P)/ N pt @[F  F7 `wt\ P   @'.4 ps 0kL N  }% @!m   8 I p A PM o] S WR9 PE 0i $pk U 9] T8E `i ] p6- g p7 0mM `_ p p, `'~ f$ `6X16 DJd |P  @ 0wJ u HA'  ? 7  Pex `" p _ & 0,P p !r mSP * PU 9; > 3R@ @C  eP (M= 8 iR < `1 n  3x 05@; G z rm) ]-k ps 86S p#^/ 0.t #& u r7 n] RS~ $ 0 e @ f e `5 "K! @a7C} p  6/9S @ JH   P)9   #f @ H v2 @\ `G  0A L &M m @6W y>xz6y N- p6Q- @o F! VS  Qn| fi !u #l q R2 2 C0? 0 . " 9d P u P; `K  ' 0A g p8 T=B O ]* @G "J w  c @w0  P&Sb ` 9 `F, `& pq`v   / EX % W Y3I 6 k  pe iD ] 3Lu ` J Y; Ї Yk# {fts #r` PX -  :r `E9 g 42 )k 0W qC W  c M -  /k? 6 Go  ~ pQ1 yu!7 m x 0 % : ; OJ #Q rn `$ @ L M s p] 53_C S p<  !@ &r  @!V 0Q  . H = /v PcV8 P c N `z f  :C X h#ts6 p,o0 G ` rU  @J#E n Nj kN o Q @ G3 w  y9 0nu 0St `#n -a f7i 4 ds62 ` л 2 #N  0A1 p% |s6x  p, _ S Jk 1 h! .7 o[  f0 T =S ],% @G. S J& w `IQ 0 P `t tS |`# zDa 1)   ll @?@ t @T6 @P  P ! #U? 3 aL; PN O  'PD ] s` S q { !n S# U|] 5jh o r5 x5 %Y0 qSH6V )' g  I# 0y `if 6w zx  @H  U_ a< @{ G p #B N o>  Gi R  <F 4 \z p< jCO P J4O 0 5$ nG. j 0Y eA K ) `|z pscLn k_  Qn _ R \  9 K. (CC S 1 =R0= @=PA J  ]1 НP 06^ (w PKa Z N x 7 p% pZ `9Z t Я ВUr qZ <. `1  G[g @Ce R `|v[ @9 @Q -K & 5+ #  T| ЃG <Z `ZL PM  Q8 K PV* cx @  p8s" o?  J#7 0z: z  @5Y I 0 pl`x 0pu6>* Gx s ` LdT 91 j@ T;  6 )! pqs A PURh   `F @y QaJ ) 0 ?c N 0y :5 p . V4 0  &f' P& p P\  #OUu60p P  N B qcg `D# yFx Vf  CWQ 0 Az s4y p5f Ц[ `U$ )^o  = r 0 t# w^f !z PkkA -  X ' ?( _# }p: << %J  \l `L"c N#5 ` ?3  } Wvd \  }   # ~~ae ^ 4RM @' r  $7 wGkY @ L PL x p!. P9 p҉p `0'3 <) ^ P B: ! cJ< { ЁWA M l S  1  *Z % &  ! Z P K/n ZR 0_}Z 03W @[l 0}[ Ы - @L pd l Z @aV `U, {d `Z Pe 8 @`] `6&B PO ~9j pe >L M A]" @#f & `TI  @)  P)t i } H  ߁ P! p 0  ( . o pv P  0<MW )fTZ p A~ @ERS ` JRB O 5 @!fFZ pFd{ `y;s T  w P' &m @9m ` V `o @!2V QbZ b 0SH& W Py< Q8%  0* PO `Y L y  . s* zH Њ 1w 5*~ 5e L @B " rC# S TN t ? / qx@ pr  pJD   ei @<6? @. qc 01( p ك Ua `5f s  I  IY ! b;/ PCb8 z 7,6Z TR) Ptgf M l %6 j=X3  =D `[ Tu6>[ GQ  3  * <6 )+H @ < 5Y}1  `H(< qS Q= d N Py  @ 4; @o 4 >V! W/ pnk R > @- I b @    8@  [ `J/p @ cA? 2 }O hN u  ' :>pz6# Vk1  S 00Um H $ pV 6 +(9  ' Y: ^ `EK  ; m @e S 0" rSIY 6 8 e@ F p}p4  3 dF w A; tM `\ s l  5 !r'; a ă 0E__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizexmlMallocxmlStrdup__xmlSimpleErrorxmlDictLookupxmlStrlenxmlStrndupxmlDictOwnsxmlFreexmlFreeNodeListxmlReallocxmlStrstrstrchr__snprintf_chk__stack_chk_failxmlStrchrxmlBufferCCatxmlBufferAddxmlBufferWriteQuotedStringxmlGetPredefinedEntityxmlStrEqualxmlHashAddEntryxmlHashCreateDictxmlStrcasecmp__xmlRaiseErrorxmlAddDtdEntityxmlAddDocEntityxmlNewEntityxmlGetParameterEntityxmlHashLookupxmlGetDtdEntityxmlGetDocEntityxmlEncodeAttributeEntitiesxmlEncodeEntitiesReentrantxmlEncodeSpecialCharsxmlCreateEntitiesTablexmlHashCreatexmlFreeEntitiesTablexmlHashFreexmlCopyEntitiesTablexmlHashCopyxmlDumpEntityDeclxmlBufferWriteCharxmlBufferWriteCHARxmlDumpEntitiesTablexmlHashScanisolat1ToUTF8UTF8Toisolat1memcpyiconv__errno_locationxmlDetectCharEncodingxmlCleanupEncodingAliasesxmlGetEncodingAlias__ctype_toupper_locstrcmpxmlAddEncodingAliasxmlMemStrdupxmlDelEncodingAliasmemmovexmlParseCharEncodingxmlGetCharEncodingNamexmlCleanupCharEncodingHandlersxmlRegisterCharEncodingHandlerxmlInitCharEncodingHandlersxmlNewCharEncodingHandlerUTF8ToHtmlxmlFindCharEncodingHandlericonv_openiconv_closexmlGetCharEncodingHandlerxmlCharEncFirstLineIntxmlBufferShrinkxmlBufferGrowxmlCharEncFirstLinexmlCharEncFirstLineInputxmlBufUsexmlBufAvailxmlBufContentxmlBufEndxmlBufShrinkxmlBufAddLenxmlBufGrowxmlCharEncInputxmlCharEncInFuncxmlCharEncOutputxmlGetUTF8CharxmlBufGetAllocationSchemexmlCharEncOutFuncxmlCharEncCloseFuncxmlByteConsumedxmlGenericErrorDefaultFunc__xmlGenericErrorContext__vfprintf_chkstderr__xmlGenericErrorinitGenericErrorDefaultFuncxmlSetGenericErrorFuncxmlSetStructuredErrorFunc__xmlStructuredErrorContext__xmlStructuredErrorxmlParserPrintFileInfoxmlParserPrintFileContextxmlParserError__vsnprintf_chkxmlParserWarningxmlParserValidityErrorxmlParserValidityWarningxmlGetLastError__xmlLastErrorxmlResetErrorxmlResetLastErrorxmlCtxtGetLastErrorxmlCtxtResetLastErrorxmlCopyError__xmlGetWarningsDefaultValuexmlGetPropfprintfxmlGetLineNoxmlBufIsEmptyxmlBufCreatexmlBufResetInputxmlCheckVersionxmlInitParser__fprintf_chkxmlErrMemory__xmlErrEncodingxmlIsLetterxmlIsBaseCharGroupxmlCharInRangexmlParserInputReadxmlParserInputGrowxmlParserInputBufferGrowxmlParserInputShrinkxmlParserInputBufferReadxmlNextCharxmlStopParserxmlCurrentCharxmlStringCurrentCharxmlCopyCharMultiBytexmlCopyCharxmlSwitchEncodingxmlSwitchInputEncodingxmlSwitchToEncodingxmlFreeInputStreamxmlFreeParserInputBufferxmlNewInputStreamxmlNewIOInputStream__xmlParserDebugEntitiesxmlNewEntityInputStreamxmlLoadExternalEntityxmlNewStringInputStreamxmlNewInputFromFilexmlCheckHTTPInputxmlParserGetDirectoryxmlCanonicPath__xmlLoaderErrxmlFreeParserCtxtinputPop__xmlDefaultSAXHandlerxmlDictFreexmlHashDefaultDeallocatorxmlCatalogFreeLocalxmlInitNodeInfoSeqxmlInitParserCtxtxmlDictSetLimitxmlSAXVersion__xmlLoadExtDtdDefaultValue__xmlDoValidityCheckingDefaultValue__xmlPedanticParserDefaultValue__xmlLineNumbersDefaultValue__xmlKeepBlanksDefaultValue__xmlSubstituteEntitiesDefaultValuexmlSAX2IgnorableWhitespacexmlDictCreatexmlNewParserCtxtxmlClearNodeInfoSeqxmlClearParserCtxtxmlCtxtResetxmlParserFindNodeInfoIndexxmlParserFindNodeInfoxmlParserAddNodeInfoxmlPedanticParserDefaultxmlLineNumbersDefaultxmlSubstituteEntitiesDefaultxmlKeepBlanksDefault__xmlIndentTreeOutputxmlSAX2StartElementxmlSAX2EndElementxmlIsDigitGroupxmlIsCombiningGroupxmlIsExtenderGroupxmlMallocAtomicxmlIsMixedElementxmlGetLastChildxmlNodeIsTextxmlHashScanFullxmlHashSizexmlHashRemoveEntry2xmlHasFeaturexmlCheckLanguageIDinputPushxmlStrcmpxmlBuildURIxmlInputReadCallbackNopnodePushxmlParserMaxDepthnodePopnamePushnamePopxmlPopInputxmlPushInputxmlParseCharRefxmlStringDecodeEntitiesxmlStringLenDecodeEntitiesxmlBufferCreatexmlBufferSetAllocationSchemexmlBufferFreexmlSAX2GetEntityxmlSplitQNamexmlParseNamexmlParseNmtokenxmlBuildQNamexmlParseEntityValuexmlParseSystemLiteralxmlParsePubidLiteralxmlIsPubidChar_tabxmlParseCharDataxmlParseCommentxmlParsePITargetxmlParseEntityRefxmlParseAttValuexmlParseCDSectxmlParseVersionNumxmlParseEncNamexmlParseEncodingDeclxmlSkipBlankCharsxmlParseTextDeclxmlParseVersionInfoxmlCharStrdupxmlParsePEReferencexmlParseExternalIDxmlParsePIxmlCatalogGetDefaultsxmlStrncmpxmlCatalogAddLocalxmlParseNotationDeclxmlParseEntityDeclxmlParseURIxmlFreeURIxmlSAX2EntityDeclxmlNewDtdxmlNewDocxmlParseDefaultDeclxmlParseNotationTypexmlCreateEnumerationxmlFreeEnumerationxmlParseEnumerationTypexmlParseEnumeratedTypexmlParseAttributeTypexmlParseAttributeListDeclxmlHashLookup2xmlHashAddEntry2xmlSplitQName3xmlHashUpdateEntry2xmlParseElementMixedContentDeclxmlFreeDocElementContentxmlNewDocElementContentxmlParseElementChildrenContentDeclxmlParseElementContentDeclxmlParseElementDeclxmlParseMarkupDeclxmlParseDocTypeDeclxmlParseAttributexmlParseStartTagxmlHashQLookup2strlenxmlValidateRootxmlParseEndTagxmlParserHandlePEReferencexmlParseExternalSubsetxmlCreateIntSubsetxmlParseSDDeclxmlParseXMLDeclxmlParseMiscxmlCreatePushParserCtxtxmlAllocParserInputBufferxmlBufGetInputBasexmlParserInputBufferPushxmlBufSetInputBaseCurxmlCreateIOParserCtxtxmlParserInputBufferCreateIOxmlIOParseDTDxmlFreeDocxmlSAXParseDTDxmlParseDTDxmlCreateEntityParserCtxtxmlCreateURLParserCtxtxmlCreateFileParserCtxtxmlSetupParserForBufferxmlCreateMemoryParserCtxtxmlParserInputBufferCreateMemxmlNewDocNodexmlAddChildxmlParseContentxmlFreeNodexmlDictReferencexmlValidateElementxmlParseReferencexmlDocCopyNodexmlAddChildListxmlSetTreeDocxmlParseCtxtExternalEntityxmlParseExternalEntityxmlParseExtParsedEnt__xmlDefaultSAXLocatorxmlSAXParseEntityxmlParseEntityxmlParseElementxmlParseChunkxmlStrcasestrmemchrxmlParseInNodeContexthtmlCreateMemoryParserCtxtxmlNewDocCommentxmlUnlinkNode__htmlParseContentxmlParseBalancedChunkMemoryRecoverxmlSearchNsByHrefxmlParseBalancedChunkMemoryxmlCreateDocParserCtxt__xmlGlobalInitMutexLock__xmlGlobalInitMutexUnlockxmlInitThreadsxmlInitGlobalsxmlInitMemoryxmlDefaultSAXHandlerInitxmlRegisterDefaultInputCallbacksxmlRegisterDefaultOutputCallbackshtmlInitAutoClosehtmlDefaultSAXHandlerInitxmlXPathInitxmlParseDocumentxmlSAXUserParseFilexmlSAXParseDocxmlRecoverDocxmlParseDocxmlSAXParseFileWithDataxmlSAXParseFilexmlParseFilexmlRecoverFilexmlSAXParseMemoryWithDataxmlSAXParseMemoryxmlParseMemoryxmlRecoverMemoryxmlSAXUserParseMemoryxmlCleanupParserxmlCatalogCleanupxmlDictCleanupxmlCleanupInputCallbacksxmlCleanupOutputCallbacksxmlSchemaCleanupTypesxmlRelaxNGCleanupTypesxmlCleanupGlobalsxmlCleanupThreadsxmlCleanupMemoryfreexmlCtxtResetPushxmlCtxtUseOptionsxmlReadDocxmlReadFilexmlReadMemoryxmlReadFdxmlParserInputBufferCreateFdxmlReadIOxmlCtxtReadFilexmlCtxtReadMemoryxmlCtxtReadDocxmlCtxtReadFdxmlCtxtReadIOxmlSplitQName2xmlValidateNCNamexmlValidateQNamexmlValidateNamexmlValidateNMTokenxmlSetBufferAllocationScheme__xmlBufferAllocSchemexmlGetBufferAllocationSchemexmlSetNsxmlFreeNsxmlNewNsxmlFreeNsList__xmlRegisterCallbacks__xmlRegisterNodeDefaultValuexmlGetIntSubsetxmlNodeListGetStringxmlStrcatxmlStrncatxmlNodeListGetRawStringxmlNewDocPIxmlNewPIxmlNewNodexmlNewNodeEatNamexmlNewDocFragmentxmlNewTextxmlStringTextxmlNewCharRefxmlNewReferencexmlNewDocTextxmlIsIDxmlAddIDxmlNewPropxmlNewNsPropxmlNewNsPropEatNamexmlNewTextLenxmlNewDocTextLenxmlNewCommentxmlStringCommentxmlNewCDataBlockxmlSetListDocxmlRemoveIDxmlChildElementCountxmlFirstElementChildxmlLastElementChildxmlPreviousElementSiblingxmlNextElementSiblingxmlHashRemoveEntryxmlFreeIDTablexmlFreeRefTablexmlFreeDtd__xmlDeregisterNodeDefaultValuexmlFreePropListxmlFreePropxmlRemovePropxmlFreeNotationTablexmlFreeElementTablexmlFreeAttributeTablexmlReplaceNodexmlCopyNamespacexmlCopyNamespaceListxmlGetNodePathsnprintfxmlDocGetRootElementxmlNodeSetNamexmlBufGetNodeContentxmlBufCatxmlNodeBufGetContentxmlBufFromBufferxmlBufBackToBufferxmlNodeGetContentxmlBufSetAllocationSchemexmlBufDetachxmlBufFreexmlBufCreateSizexmlGetNsListxmlGetDtdQAttrDescxmlSearchNsxmlReconciliateNsxmlHasPropxmlGetDtdAttrDescxmlHasNsPropxmlNodeAddContentxmlNodeAddContentLenxmlTextMergexmlStrncatNewxmlAddNextSiblingxmlNodeSetContentxmlStringGetNodeListxmlBufAddxmlNewDocPropxmlNewDocRawNodexmlNewTextChildxmlNewChildxmlNewDocNodeEatNamexmlStringLenGetNodeListxmlNodeSetContentLenxmlAddPrevSiblingxmlAddSiblingxmlDocSetRootElementxmlCopyDocxmlStringTextNoencxmlCopyPropListxmlCopyNodexmlCopyDtdxmlCopyNotationTablexmlCopyElementTablexmlCopyAttributeTablexmlGetDtdQElementDescxmlCopyPropxmlDocCopyNodeListxmlCopyNodeListxmlGetNoNsPropxmlGetNsPropxmlNodeGetLangxmlNodeGetSpacePreservexmlNodeGetBasexmlUnsetPropxmlUnsetNsPropxmlSetNsPropxmlNodeSetLangxmlNodeSetSpacePreservexmlNodeSetBasexmlPathToURIxmlSetPropxmlIsBlankNodexmlTextConcat__xmlDefaultBufferSizexmlBufferCreateSizexmlBufferDetachxmlBufferCreateStaticxmlBufferEmptyxmlBufferDumpfwritestdoutxmlBufferContentxmlBufferLengthxmlBufferResizexmlBufferAddHeadxmlBufferCatxmlGetDocCompressModexmlSetDocCompressModexmlGetCompressModexmlSetCompressModexmlDOMWrapNewCtxtxmlDOMWrapFreeCtxtxmlDOMWrapRemoveNodexmlDOMWrapReconcileNamespacesxmlDOMWrapCloneNodexmlDOMWrapAdoptNodememset__xmlRandomxmlHashAddEntry3xmlHashUpdateEntry3xmlHashUpdateEntryxmlHashLookup3xmlHashQLookup3xmlStrQEqualxmlHashQLookupxmlHashScanFull3xmlHashScan3xmlHashRemoveEntry3xmlListCreatexmlListSearchxmlListReverseSearchxmlListInsertxmlListAppendxmlListRemoveFirstxmlListRemoveLastxmlListRemoveAllxmlListClearxmlListDeletexmlListEmptyxmlListFrontxmlListEndxmlListSizexmlListPopFrontxmlListPopBackxmlListPushFrontxmlListPushBackxmlLinkGetDataxmlListReversexmlListWalkxmlListReverseWalkxmlListCopyxmlListMergexmlListDupxmlListSortxmlFileMatchxmlIOHTTPMatchxmlStrncasecmpxmlIOFTPMatchxmlIOHTTPOpenxmlNanoHTTPOpendeflateEndxmlIOHTTPReadxmlNanoHTTPReadxmlIOHTTPClosexmlNanoHTTPClosexmlIOFTPOpenxmlNanoFTPOpenxmlIOFTPReadxmlNanoFTPReadxmlIOFTPClosexmlNanoFTPClosegzopen64filenogzdopen__xmlIOErrxmlFileReadfreadxmlFileClosestdinfclosefflushdeflateInit2_crc32xmlStrPrintf__libxml2_xzclose__libxml2_xzreadgzclosegzreadferrorfopen64gzwritexmlNormalizeWindowsPathxmlPopInputCallbacksxmlPopOutputCallbacksxmlCheckFilename__xstat64xmlFileOpenxmlURIUnescapeString__libxml2_xzopen__libxml2_xzdopenxmlCatalogResolvexmlCatalogResolveURIxmlCatalogLocalResolvexmlCatalogLocalResolveURIxmlRegisterInputCallbacksxmlRegisterOutputCallbacksxmlRegisterHTTPPostCallbacks__xmlParserInputBufferCreateFilename__libxml2_xzcompressedgzdirectxmlAllocOutputBufferxmlAllocOutputBufferInternal__xmlParserInputBufferCreateFilenameValuexmlParserInputBufferCreateFilexmlOutputBufferCreateFilexmlOutputBufferGetContentxmlOutputBufferGetSizexmlParserInputBufferCreateStaticxmlBufCreateStaticxmlOutputBufferCreateFdxmlOutputBufferCreateIOxmlOutputBufferCreateBufferxmlParserInputBufferCreateFilenameDefaultxmlOutputBufferCreateFilenameDefault__xmlOutputBufferCreateFilenameValue__xmlOutputBufferCreateFilenamexmlOutputBufferWritedeflatexmlOutputBufferWriteEscapexmlOutputBufferWriteStringxmlOutputBufferFlushxmlOutputBufferClosexmlIOHTTPOpenWxmlNanoHTTPMethodxmlNanoHTTPReturnCodestrncpygetcwdxmlNanoHTTPMimeTypexmlNanoHTTPEncodingxmlNanoHTTPRedirxmlSetExternalEntityLoaderxmlGetExternalEntityLoaderxmlNoNetExternalEntityLoaderxmlMallocBreakpointxmlMemFreexmlMutexLockxmlMutexUnlockxmlMemUsedxmlMemBlocksxmlMemDisplayLastxmlMemDisplayxmlMemShowxmlMemoryDumpxmlNewMutexgetenv__isoc99_sscanfxmlMallocLocmallocxmlMemMallocxmlMallocAtomicLocxmlReallocLocreallocxmlMemReallocxmlMemStrdupLocstrcpyxmlMemoryStrdupxmlFreeMutexxmlMemSetupxmlMemGetxmlGcMemSetupxmlGcMemGetxmlCreateURIxmlSaveUrixmlPrintURIfputsxmlNormalizeURIPathxmlParseURIReferencexmlParseURIRawxmlURIEscapeStrxmlURIEscapexmlBuildRelativeURIxmlAutomataNewStatexmlAutomataNewEpsilonxmlAutomataNewTransitionxmlNewValidCtxtxmlFreeValidCtxtxmlNewElementContentxmlCopyDocElementContentxmlCopyElementContentxmlRegFreeRegexpxmlFreeElementContentxmlSprintfElementContentxmlSnprintfElementContentstpcpystrcatxmlNewAutomataxmlAutomataGetInitStatexmlAutomataSetFinalStatexmlAutomataCompilexmlRegexpIsDeterministxmlFreeAutomataxmlValidBuildContentModelxmlRegNewExecCtxtxmlRegExecPushStringxmlRegFreeExecCtxt__stpcpy_chk__strcat_chkxmlAddElementDeclxmlDumpElementDeclxmlDumpElementTablexmlCopyEnumerationxmlAddAttributeDeclxmlDumpAttributeDeclxmlDumpAttributeTablexmlAddNotationDeclxmlDumpNotationDeclxmlDumpNotationTablexmlGetIDxmlAddRefxmlRemoveRefxmlGetRefsxmlGetDtdElementDescxmlIsRefxmlGetDtdNotationDescxmlValidateNotationUsexmlValidateNameValuexmlValidateNamesValuexmlValidateNmtokenValuexmlValidateNmtokensValuexmlValidateNotationDeclxmlValidateAttributeValuexmlValidCtxtNormalizeAttributeValuexmlValidNormalizeAttributeValuexmlValidateAttributeDeclxmlValidateElementDeclxmlValidateOneAttributexmlValidateOneNamespacexmlValidatePushElementxmlValidatePushCDataxmlValidatePopElementxmlValidateOneElementxmlValidateDocumentFinalxmlValidateDtdxmlValidateDtdFinalxmlValidateDocumentxmlValidGetPotentialChildrenxmlValidGetValidElementsxlinkGetDefaultHandlerxlinkSetDefaultHandlerxlinkGetDefaultDetectxlinkSetDefaultDetectxlinkIsLinkhtmlTagLookuphtmlAutoCloseTaghtmlIsAutoClosedhtmlIsScriptAttributehtmlEntityLookuphtmlEntityValueLookuphtmlEncodeEntitieshtmlNewDocNoDtDhtmlNewDochtmlParseEntityRefhtmlParseCharRefhtmlParseElementhtmlParseDocumenthtmlFreeParserCtxthtmlNewParserCtxtxmlSAX2InitHtmlDefaultSAXHandlerhtmlParseChunkhtmlCreatePushParserCtxt__htmlDefaultSAXHandlerhtmlSAXParseDochtmlParseDochtmlCreateFileParserCtxthtmlSAXParseFilehtmlParseFilehtmlHandleOmittedElemhtmlElementAllowedHerehtmlElementStatusHerehtmlAttrAllowedhtmlNodeStatushtmlCtxtResethtmlCtxtUseOptionshtmlReadDochtmlReadFilehtmlReadMemoryhtmlReadFdhtmlReadIOhtmlCtxtReadFilehtmlCtxtReadMemoryhtmlCtxtReadDochtmlCtxtReadFdhtmlCtxtReadIOhtmlGetMetaEncodinghtmlSetMetaEncodinghtmlIsBooleanAttrxmlBufWriteQuotedStringhtmlNodeDumpFormatOutputxmlNsListDumpOutputhtmlNodeDumpFileFormathtmlNodeDumpFilehtmlNodeDumphtmlNodeDumpOutputhtmlDocContentDumpFormatOutputhtmlDocDumpMemoryFormathtmlDocDumpMemoryhtmlDocContentDumpOutputhtmlDocDumphtmlSaveFilehtmlSaveFileFormathtmlSaveFileEncfputcxmlCheckUTF8xmlDebugDumpStringxmlDebugDumpAttrxmlDebugDumpEntitiesxmlDebugDumpAttrListxmlDebugDumpOneNodexmlDebugDumpNodexmlDebugDumpNodeListxmlDebugDumpDocumentHeadxmlDebugDumpDocumentxmlDebugDumpDTDxmlDebugCheckDocumentxmlLsCountNodexmlLsOneNodexmlBoolToTextxmlShellPrintXPathErrorxmlShellPrintNodexmlElemDumpxmlDocDumpxmlShellPrintXPathResultxmlShellListxmlShellBasexmlShellDirxmlShellCatxmlShellLoadxmlXPathFreeContextxmlXPathNewContextxmlShellWritexmlSaveFilexmlShellSavexmlShellValidatexmlShellDuxmlShellPwdxmlShellxmlRelaxNGNewParserCtxtxmlRelaxNGSetParserErrorsxmlRelaxNGParsexmlRelaxNGFreeParserCtxtxmlRelaxNGNewValidCtxtxmlRelaxNGSetValidErrorsxmlRelaxNGValidateDocxmlRelaxNGFreeValidCtxtxmlRelaxNGFreexmlXPathEvalxmlXPathFreeObjectxmlXPathRegisterNsxmlXPathDebugDumpObjectxmlXPathNextSelfxmlXPathNextDescendantxmlXPathNextDescendantOrSelfxmlXPathNextFollowingSiblingxmlXPathNextFollowingxmlXPathNextAttributexmlXPathNextParentxmlXPathNextAncestorxmlXPathNextAncestorOrSelfxmlXPathNextNamespacexmlXPathNextChildxmlXPathNextPrecedingSiblingexitxmlPatterncompilexmlPatternStreamablexmlFreePatternlibxml_domnode_binary_insertion_sortlibxml_domnode_tim_sortxmlXPathNANxmlXPathPINFxmlXPathNINFxmlXPathIsNaNxmlXPathIsInfxmlXPathErrxmlXPatherrorxmlXPathDebugDumpCompExprxmlXPathContextSetCachevaluePopvaluePushxmlXPathOrderDocElemsxmlXPathCmpNodesxmlXPathNodeSetSortxmlXPathNodeSetFreeNsxmlXPathNodeSetCreatexmlXPathNodeSetContainsxmlXPathNodeSetAddNsxmlXPathNodeSetAddxmlXPathNodeSetAddUniquexmlXPathNodeSetMergexmlXPathNodeSetDelxmlXPathNodeSetRemovexmlXPathFreeNodeSetxmlXPathNewNodeSetxmlPatternMaxDepthxmlPatternMinDepthxmlPatternFromRootxmlPatternGetStreamCtxtxmlStreamWantsAnyNodexmlStreamPushxmlStreamPushNodexmlStreamPopxmlFreeStreamCtxtxmlXPathNewValueTreexmlXPathNewNodeSetListxmlXPathWrapNodeSetxmlXPathFreeNodeSetListxmlXPathDifferencexmlXPathIntersectionxmlXPathHasSameNodesxmlXPathNodeLeadingSortedxmlXPathNodeLeadingxmlXPathLeadingSortedxmlXPathLeadingxmlXPathNodeTrailingSortedxmlXPathNodeTrailingxmlXPathTrailingSortedxmlXPathTrailingxmlXPathRegisterFuncNSxmlXPathRegisterFuncxmlXPathRegisterFuncLookupxmlXPathFunctionLookupNSxmlXPathFunctionLookupxmlXPathRegisteredFuncsCleanupxmlXPathRegisterVariableNSxmlXPathRegisterVariablexmlXPathRegisterVariableLookupxmlXPathRegisteredVariablesCleanupxmlXPathNsLookupxmlXPathRegisteredNsCleanupxmlXPathNewFloatxmlXPathLastFunctionxmlXPathPositionFunctionxmlXPathNewBooleanxmlXPathTrueFunctionxmlXPathFalseFunctionxmlXPathNewStringxmlXPathWrapStringxmlXPathNewCStringxmlXPathWrapCStringxmlXPathWrapExternalxmlXPathObjectCopyxmlXPathVariableLookupNSxmlXPathVariableLookupxmlXPathFreeCompExprxmlFreePatternListxmlXPathPopNodeSetxmlXPathPopExternalxmlXPathCountFunctionxmlXPathLocalNameFunctionxmlXPathNamespaceURIFunctionxmlXPathCastBooleanToStringxmlXPathCastNumberToString__memmove_chklog10xmlXPathCastNodeToStringxmlXPathDistinctSortedxmlXPathDistinctxmlXPathCastNodeSetToStringxmlXPathIdFunctionxmlXPathStringFunctionxmlXPathStringLengthFunctionxmlUTF8StrlenxmlXPathConcatFunctionxmlXPathContainsFunctionxmlXPathStartsWithFunctionxmlXPathSubstringBeforeFunctionxmlXPathSubstringAfterFunctionxmlXPathNormalizeFunctionxmlXPathTranslateFunctionxmlUTF8StrlocxmlUTF8StrsizexmlUTF8StrposxmlXPathLangFunctionxmlXPathCastToStringxmlXPathPopStringxmlXPathConvertStringxmlXPathCastBooleanToNumberxmlXPathCastNumberToBooleanxmlXPathCastStringToBooleanxmlXPathCastNodeSetToBooleanxmlXPathCastToBooleanxmlXPathPopBooleanxmlXPathBooleanFunctionxmlXPathNotFunctionxmlXPathConvertBooleanxmlXPathNewParserContextxmlXPathFreeParserContextxmlXPathNextPrecedingxmlXPathRootxmlXPathParseNCNamexmlXPathParseNamexmlXPathStringEvalNumberpowxmlXPathCastStringToNumberxmlXPathCastNodeToNumberxmlXPathSumFunctionxmlXPathCastNodeSetToNumberxmlXPathCastToNumberxmlXPathPopNumberxmlXPathConvertNumberxmlXPathNumberFunctionxmlXPathEqualValuesxmlXPathNotEqualValuesxmlXPathCompareValuesxmlXPathValueFlipSignxmlXPathAddValuesxmlXPathSubValuesxmlXPathMultValuesxmlXPathDivValuesxmlXPathModValuesfmodxmlXPathSubstringFunctionxmlUTF8StrsubxmlXPathFloorFunctionxmlXPathCeilingFunctionxmlXPathRoundFunctionxmlXPathIsNodeTypexmlXPathEvalPredicatexmlXPathEvaluatePredicateResultxmlXPathCtxtCompilexmlXPathCompilexmlXPathCompiledEvalxmlXPathCompiledEvalToBooleanxmlXPathEvalExprxmlXPathSetContextNodexmlXPathNodeEvalxmlXPathEvalExpressionxmlXPathRegisterAllFunctionsxmlXPtrNewContextxmlXPtrEvalxmlXIncludeNewContextxmlXIncludeFreeContextxmlXIncludeSetFlagsxmlBufLengthxmlXIncludeProcessTreeFlagsDataxmlXIncludeProcessFlagsDataxmlXIncludeProcessFlagsxmlXIncludeProcessxmlXIncludeProcessTreeFlagsxmlXIncludeProcessTreexmlXIncludeProcessNodeinflateEndsocketfcntl64connectpollgetsockoptrecvgetaddrinfo__memcpy_chkfreeaddrinfogethostbyname__h_errno_locationsendxmlCharStrndupxmlNanoHTTPCleanupxmlNanoHTTPScanProxyxmlNanoHTTPInitinflatexmlNanoHTTPMethodRedirinflateInit2_strtolxmlNanoHTTPOpenRedirxmlNanoHTTPFetchxmlNanoHTTPSavexmlNanoHTTPAuthHeaderxmlNanoHTTPContentLengthxmlNanoFTPCleanupxmlNanoFTPProxyxmlNanoFTPUpdateURLxmlNanoFTPScanProxyxmlNanoFTPInitxmlNanoFTPNewCtxtxmlNanoFTPFreeCtxtxmlNanoFTPGetResponsexmlNanoFTPCheckResponse__fdelt_chkselectxmlNanoFTPQuitxmlNanoFTPConnectxmlNanoFTPConnectToxmlNanoFTPCwdxmlNanoFTPDelexmlNanoFTPGetConnectiongetsocknamebindlisteninet_ntopxmlNanoFTPCloseConnectionxmlNanoFTPListxmlNanoFTPGetSocketxmlNanoFTPGetxmlNewRMutexxmlFreeCatalogxmlConvertSGMLCatalogxmlParseCatalogFilexmlRMutexLockxmlRMutexUnlockxmlGetThreadIdxmlLoadSGMLSuperCatalogxmlLoadACatalogxmlACatalogResolveSystemxmlACatalogResolvePublicxmlACatalogResolvexmlACatalogResolveURIxmlACatalogDumpxmlSaveFormatFileToxmlACatalogAddxmlACatalogRemovexmlNewCatalogxmlCatalogIsEmptyxmlInitializeCatalogxmlLoadCatalogxmlLoadCatalogsxmlFreeRMutexxmlCatalogResolveSystemxmlCatalogResolvePublicxmlCatalogDumpxmlCatalogAddxmlCatalogRemovexmlCatalogConvertxmlCatalogSetDefaultsxmlCatalogSetDefaultPreferxmlCatalogSetDebugxmlCatalogGetSystemxmlCatalogGetPublicxmlInitializeGlobalStatexmlSAX2GetPublicIdxmlSAX2GetSystemIdxmlSAX2GetLineNumberxmlSAX2GetColumnNumber__xmlGlobalInitMutexDestroyxmlThrDefSetGenericErrorFuncxmlThrDefSetStructuredErrorFuncxmlRegisterNodeDefaultxmlThrDefRegisterNodeDefaultxmlDeregisterNodeDefaultxmlThrDefDeregisterNodeDefaultxmlThrDefParserInputBufferCreateFilenameDefaultxmlThrDefOutputBufferCreateFilenameDefaultxmlIsMainThreadxmlGetGlobalState__oldXMLWDcompatibilityxmlThrDefBufferAllocSchemexmlThrDefDefaultBufferSizexmlThrDefDoValidityCheckingDefaultValuexmlThrDefGetWarningsDefaultValuexmlThrDefIndentTreeOutput__xmlTreeIndentStringxmlThrDefTreeIndentStringxmlThrDefKeepBlanksDefaultValuexmlThrDefLineNumbersDefaultValuexmlThrDefLoadExtDtdDefaultValuexmlThrDefParserDebugEntities__xmlParserVersionxmlThrDefPedanticParserDefaultValue__xmlSaveNoEmptyTagsxmlThrDefSaveNoEmptyTagsxmlThrDefSubstituteEntitiesDefaultValuexmlSAX2InternalSubsetxmlSAX2SetDocumentLocatorxmlSAX2StartDocumentxmlSAX2EndDocumentxmlSAX2CharactersxmlSAX2ProcessingInstructionxmlSAX2CommentxmlSAX2GetParameterEntityxmlSAX2CDataBlockxmlSAX2IsStandalonexmlSAX2HasInternalSubsetxmlSAX2HasExternalSubsetxmlSAX2ResolveEntityxmlSAX2NotationDeclxmlSAX2AttributeDeclxmlSAX2ElementDeclxmlSAX2UnparsedEntityDeclxmlSAX2ReferencexmlSAX2ExternalSubsetpthread_key_createpthread_self__xmlInitializeDictpthread_mutex_initpthread_mutex_destroypthread_mutex_lockpthread_mutex_unlockpthread_cond_initpthread_cond_destroypthread_cond_waitpthread_cond_signalpthread_oncepthread_getspecificcallocpthread_setspecificxmlLockLibraryxmlUnlockLibrarypthread_key_deletepthread_equalxmlC14NExecutexmlC14NDocSaveToxmlC14NDocDumpMemoryxmlC14NDocSavexmlStrsubxmlStrVPrintfxmlUTF8SizexmlUTF8CharcmpxmlUTF8StrndupxmlEscapeFormatStringxmlBufEmptyxmlBufDumpxmlBufResizexmlBufCCatxmlBufMergeBufferxmlUCSIsCatNdxmlUCSIsCatCoxmlUCSIsCatCfxmlUCSIsCatCcxmlUCSIsCatCxmlUCSIsCatSoxmlUCSIsCatSkxmlUCSIsCatScxmlUCSIsCatSmxmlUCSIsCatNlxmlUCSIsBlockxmlUCSIsCatNxmlUCSIsCatMexmlUCSIsCatMcxmlUCSIsCatMnxmlUCSIsCatMxmlUCSIsCatLoxmlUCSIsCatLmxmlUCSIsCatLtxmlUCSIsCatLlxmlUCSIsCatLuxmlUCSIsCatLxmlUCSIsCatPxmlUCSIsCatZxmlUCSIsCatPfxmlUCSIsCatPixmlUCSIsCatPexmlUCSIsCatPsxmlUCSIsCatPdxmlUCSIsCatPcxmlUCSIsCatNoxmlUCSIsCatZlxmlUCSIsCatZsxmlUCSIsCatPoxmlUCSIsCatSxmlUCSIsCatZpxmlRegExecPushString2xmlRegExecNextValuesxmlRegExecErrInfoxmlRegexpPrintxmlRegexpExecxmlRegexpCompilexmlAutomataSetFlagsxmlAutomataNewTransition2xmlAutomataNewNegTransxmlAutomataNewCountTrans2xmlAutomataNewCountTransxmlAutomataNewOnceTrans2xmlAutomataNewOnceTransxmlAutomataNewAllTransxmlAutomataNewCounterxmlAutomataNewCountedTransxmlAutomataNewCounterTransxmlAutomataIsDeterministxmlSchemaFreeValuexmlSchemaGetValTypexmlSchemaGetBuiltInTypexmlSchemaCompareValuesWhtspxmlSchemaValueGetNextxmlSchemaValueGetAsStringxmlSchemaGetCanonValuexmlSchemaCollapseStringxmlSchemaWhiteSpaceReplacexmlSchemaGetPredefinedTypexmlTextReaderLookupNamespacexmlSchemaNewNOTATIONValuexmlSchemaGetFacetValueAsULongxmlSchemaValidateLengthFacetWhtspxmlSchemaValidateFacetWhtspxmlSchemaValidateListSimpleTypeFacetxmlSchemaValPredefTypeNodeNoNormxmlSchemaValueAppendxmlSchemaNewQNameValuexmlStreamPushAttrxmlSchemaValPredefTypeNodexmlSchemaNewFacetxmlSchemaFreeWildcardxmlSchemaFreeFacetxmlSchemaFreeTypexmlSchemaFreexmlSchemaDumpxmlSchemaNewParserCtxtxmlSchemaNewMemParserCtxtxmlSchemaNewDocParserCtxtxmlSchemaGetParserErrorsxmlSchemaNewValidCtxtxmlSchemaValidateSetFilenamexmlSchemaFreeValidCtxtxmlSchemaFreeParserCtxtxmlSchemaCheckFacetxmlSchemaValidatePredefinedTypexmlSchemaIsValidxmlSchemaSetValidErrorsxmlSchemaSetParserErrorsxmlSchemaSetValidStructuredErrorsxmlSchemaSetParserStructuredErrorsxmlSchemaCompareValuesxmlSchemaIsBuiltInTypeFacetxmlSchemaParsexmlSchemaInitTypesxmlSchemaCopyValuexmlSchemaValueGetAsBooleanxmlSchemaGetValidErrorsxmlSchemaSetValidOptionsxmlSchemaValidCtxtGetOptionsxmlSchemaValidateOneElementxmlSchemaValidateDocxmlSchemaSAXPlugxmlSchemaSAXUnplugxmlSchemaValidateSetLocatorxmlSchemaValidateStreamxmlSchemaValidateFilexmlSchemaValidCtxtGetParserCtxtxmlSchemaNewStringValuefloorxmlSchemaGetBuiltInListSimpleTypeItemTypexmlSchemaValidateLengthFacetxmlSchemaValidateFacetxmlSchemaGetCanonValueWhtspxmlUCSIsAegeanNumbersxmlUCSIsAlphabeticPresentationFormsxmlUCSIsArabicxmlUCSIsArabicPresentationFormsAxmlUCSIsArabicPresentationFormsBxmlUCSIsArmenianxmlUCSIsArrowsxmlUCSIsBasicLatinxmlUCSIsBengalixmlUCSIsBlockElementsxmlUCSIsBopomofoxmlUCSIsBopomofoExtendedxmlUCSIsBoxDrawingxmlUCSIsBraillePatternsxmlUCSIsBuhidxmlUCSIsByzantineMusicalSymbolsxmlUCSIsCJKCompatibilityxmlUCSIsCJKCompatibilityFormsxmlUCSIsCJKCompatibilityIdeographsxmlUCSIsCJKCompatibilityIdeographsSupplementxmlUCSIsCJKRadicalsSupplementxmlUCSIsCJKSymbolsandPunctuationxmlUCSIsCJKUnifiedIdeographsxmlUCSIsCJKUnifiedIdeographsExtensionAxmlUCSIsCJKUnifiedIdeographsExtensionBxmlUCSIsCherokeexmlUCSIsCombiningDiacriticalMarksxmlUCSIsCombiningDiacriticalMarksforSymbolsxmlUCSIsCombiningHalfMarksxmlUCSIsControlPicturesxmlUCSIsCurrencySymbolsxmlUCSIsCypriotSyllabaryxmlUCSIsCyrillicxmlUCSIsCyrillicSupplementxmlUCSIsDeseretxmlUCSIsDevanagarixmlUCSIsDingbatsxmlUCSIsEnclosedAlphanumericsxmlUCSIsEnclosedCJKLettersandMonthsxmlUCSIsEthiopicxmlUCSIsGeneralPunctuationxmlUCSIsGeometricShapesxmlUCSIsGeorgianxmlUCSIsGothicxmlUCSIsGreekxmlUCSIsGreekExtendedxmlUCSIsGujaratixmlUCSIsGurmukhixmlUCSIsHalfwidthandFullwidthFormsxmlUCSIsHangulCompatibilityJamoxmlUCSIsHangulJamoxmlUCSIsHangulSyllablesxmlUCSIsHanunooxmlUCSIsHebrewxmlUCSIsHighPrivateUseSurrogatesxmlUCSIsHighSurrogatesxmlUCSIsHiraganaxmlUCSIsIPAExtensionsxmlUCSIsIdeographicDescriptionCharactersxmlUCSIsKanbunxmlUCSIsKangxiRadicalsxmlUCSIsKannadaxmlUCSIsKatakanaxmlUCSIsKatakanaPhoneticExtensionsxmlUCSIsKhmerxmlUCSIsKhmerSymbolsxmlUCSIsLaoxmlUCSIsLatin1SupplementxmlUCSIsLatinExtendedAxmlUCSIsLatinExtendedBxmlUCSIsLatinExtendedAdditionalxmlUCSIsLetterlikeSymbolsxmlUCSIsLimbuxmlUCSIsLinearBIdeogramsxmlUCSIsLinearBSyllabaryxmlUCSIsLowSurrogatesxmlUCSIsMalayalamxmlUCSIsMathematicalAlphanumericSymbolsxmlUCSIsMathematicalOperatorsxmlUCSIsMiscellaneousMathematicalSymbolsAxmlUCSIsMiscellaneousMathematicalSymbolsBxmlUCSIsMiscellaneousSymbolsxmlUCSIsMiscellaneousSymbolsandArrowsxmlUCSIsMiscellaneousTechnicalxmlUCSIsMongolianxmlUCSIsMusicalSymbolsxmlUCSIsMyanmarxmlUCSIsNumberFormsxmlUCSIsOghamxmlUCSIsOldItalicxmlUCSIsOpticalCharacterRecognitionxmlUCSIsOriyaxmlUCSIsOsmanyaxmlUCSIsPhoneticExtensionsxmlUCSIsPrivateUsexmlUCSIsPrivateUseAreaxmlUCSIsRunicxmlUCSIsShavianxmlUCSIsSinhalaxmlUCSIsSmallFormVariantsxmlUCSIsSpacingModifierLettersxmlUCSIsSpecialsxmlUCSIsSuperscriptsandSubscriptsxmlUCSIsSupplementalArrowsAxmlUCSIsSupplementalArrowsBxmlUCSIsSupplementalMathematicalOperatorsxmlUCSIsSupplementaryPrivateUseAreaAxmlUCSIsSupplementaryPrivateUseAreaBxmlUCSIsSyriacxmlUCSIsTagalogxmlUCSIsTagbanwaxmlUCSIsTagsxmlUCSIsTaiLexmlUCSIsTaiXuanJingSymbolsxmlUCSIsTamilxmlUCSIsTeluguxmlUCSIsThaanaxmlUCSIsThaixmlUCSIsTibetanxmlUCSIsUgariticxmlUCSIsUnifiedCanadianAboriginalSyllabicsxmlUCSIsVariationSelectorsxmlUCSIsVariationSelectorsSupplementxmlUCSIsYiRadicalsxmlUCSIsYiSyllablesxmlUCSIsYijingHexagramSymbolsxmlUCSIsCatCsxmlUCSIsGreekandCopticxmlUCSIsCombiningMarksforSymbolsxmlUCSIsCatxmlRelaxNGValidatePopElementxmlRelaxNGValidatePushCDataxmlRelaxNGSetValidStructuredErrorsxmlTextReaderReadStatexmlTextReaderExpandxmlRelaxNGValidatePushElementxmlRelaxNGValidateFullElementxmlTextReaderReadInnerXmlxmlNodeDumpxmlTextReaderReadOuterXmlxmlTextReaderReadStringxmlNewTextReaderxmlNewTextReaderFilenamexmlTextReaderClosexmlFreeTextReaderxmlTextReaderGetAttributeNoxmlTextReaderGetAttributexmlTextReaderGetAttributeNsxmlTextReaderGetRemainderxmlTextReaderMoveToAttributeNoxmlTextReaderMoveToAttributexmlTextReaderMoveToAttributeNsxmlTextReaderMoveToFirstAttributexmlTextReaderMoveToNextAttributexmlTextReaderMoveToElementxmlTextReaderReadAttributeValuexmlTextReaderConstEncodingxmlTextReaderAttributeCountxmlTextReaderNodeTypexmlTextReaderIsEmptyElementxmlTextReaderNamexmlTextReaderLocalNamexmlTextReaderConstNamexmlDictQLookupxmlTextReaderConstLocalNamexmlTextReaderPrefixxmlTextReaderConstPrefixxmlTextReaderNamespaceUrixmlTextReaderConstNamespaceUrixmlTextReaderBaseUrixmlTextReaderConstBaseUrixmlTextReaderDepthxmlTextReaderHasAttributesxmlTextReaderHasValuexmlTextReaderValuexmlTextReaderConstValuexmlTextReaderIsDefaultxmlTextReaderQuoteCharxmlTextReaderXmlLangxmlTextReaderConstXmlLangxmlTextReaderConstStringxmlTextReaderNormalizationxmlTextReaderSetParserPropxmlTextReaderGetParserPropxmlTextReaderGetParserLineNumberxmlTextReaderGetParserColumnNumberxmlTextReaderCurrentNodexmlTextReaderPreservexmlTextReaderReadxmlPatternMatchxmlTextReaderNextSiblingxmlTextReaderNextxmlTextReaderPreservePatternxmlTextReaderCurrentDocxmlTextReaderRelaxNGSetSchemaxmlTextReaderSetSchemaxmlTextReaderSchemaValidateCtxtxmlTextReaderSchemaValidatexmlTextReaderRelaxNGValidateCtxtxmlTextReaderRelaxNGValidatexmlTextReaderIsNamespaceDeclxmlTextReaderConstXmlVersionxmlTextReaderStandalonexmlTextReaderLocatorLineNumberxmlTextReaderLocatorBaseURIxmlTextReaderSetErrorHandlerxmlTextReaderSetStructuredErrorHandlerxmlTextReaderIsValidxmlTextReaderGetErrorHandlerxmlTextReaderSetupxmlTextReaderByteConsumedxmlReaderWalkerxmlReaderForFilexmlReaderForMemoryxmlReaderForDocxmlReaderForFdxmlReaderForIOxmlReaderNewWalkerxmlReaderNewFilexmlReaderNewMemoryxmlReaderNewDocxmlReaderNewFdxmlReaderNewIOxmlRelaxParserSetFlagxmlRelaxNGInitTypesxmlRelaxNGNewMemParserCtxtxmlRelaxNGNewDocParserCtxtxmlRelaxNGGetParserErrorsxmlRelaxNGSetParserStructuredErrorsxmlRelaxNGDumpxmlRelaxNGDumpTreexmlRelaxNGGetValidErrorstimerand_rxmlDictCreateSubmemcmpxmlDictExistsxmlDictSizexmlDictGetUsagexmlSAX2EndElementNsxmlSAX2StartElementNsxmlSAXDefaultVersionxmlSAX2InitDefaultSAXHandlerxmlNewTextWriterxmlNewTextWriterFilenamexmlNewTextWriterMemoryxmlNewTextWriterPushParserxmlNewTextWriterDocxmlNewTextWriterTreexmlFreeTextWriterxmlTextWriterStartDocumentxmlTextWriterEndCommentxmlTextWriterEndAttributexmlTextWriterStartAttributexmlTextWriterStartAttributeNSxmlTextWriterWriteAttributexmlTextWriterWriteStringxmlTextWriterStartCommentxmlTextWriterStartElementxmlTextWriterStartElementNSxmlTextWriterEndElementxmlTextWriterFullEndElementxmlTextWriterWriteRawLenxmlTextWriterWriteRawxmlTextWriterWriteVFormatRawxmlTextWriterWriteFormatRawxmlBufAttrSerializeTxtContentxmlTextWriterWriteCommentxmlTextWriterWriteVFormatCommentxmlTextWriterWriteFormatCommentxmlTextWriterWriteVFormatStringxmlTextWriterWriteFormatStringxmlTextWriterWriteBase64xmlTextWriterWriteBinHexxmlTextWriterWriteVFormatAttributexmlTextWriterWriteFormatAttributexmlTextWriterWriteAttributeNSxmlTextWriterWriteVFormatAttributeNSxmlTextWriterWriteFormatAttributeNSxmlTextWriterWriteElementxmlTextWriterWriteVFormatElementxmlTextWriterWriteFormatElementxmlTextWriterWriteElementNSxmlTextWriterWriteVFormatElementNSxmlTextWriterWriteFormatElementNSxmlTextWriterStartPIxmlTextWriterEndPIxmlTextWriterWritePIxmlTextWriterWriteVFormatPIxmlTextWriterWriteFormatPIxmlTextWriterStartCDATAxmlTextWriterEndCDATAxmlTextWriterWriteCDATAxmlTextWriterWriteVFormatCDATAxmlTextWriterWriteFormatCDATAxmlTextWriterStartDTDxmlTextWriterStartDTDElementxmlTextWriterEndDTDElementxmlTextWriterWriteDTDElementxmlTextWriterWriteVFormatDTDElementxmlTextWriterWriteFormatDTDElementxmlTextWriterStartDTDAttlistxmlTextWriterEndDTDAttlistxmlTextWriterWriteDTDAttlistxmlTextWriterWriteVFormatDTDAttlistxmlTextWriterWriteFormatDTDAttlistxmlTextWriterStartDTDEntityxmlTextWriterEndDTDEntityxmlTextWriterEndDTDxmlTextWriterWriteDTDxmlTextWriterWriteVFormatDTDxmlTextWriterWriteFormatDTDxmlTextWriterWriteDTDInternalEntityxmlTextWriterWriteVFormatDTDInternalEntityxmlTextWriterWriteFormatDTDInternalEntityxmlTextWriterWriteDTDExternalEntityContentsxmlTextWriterWriteDTDExternalEntityxmlTextWriterWriteDTDEntityxmlTextWriterWriteDTDNotationxmlTextWriterFlushxmlTextWriterEndDocumentxmlTextWriterSetIndentxmlTextWriterSetIndentStringxmlTextWriterSetQuoteCharxmlIsBaseCharxmlIsBlankxmlIsCharxmlIsCombiningxmlIsDigitxmlIsExtenderxmlIsIdeographicxmlIsPubidCharxmlIsIdeographicGroupxmlIsCharGroupxmlIsXHTMLxmlBufDumpNotationTablexmlBufDumpElementDeclxmlBufDumpAttributeDeclxmlBufDumpEntityDeclxmlSaveToFdxmlSaveToFilenamexmlSaveToBufferxmlSaveToIOxmlSaveFlushxmlSaveClosexmlSaveSetEscapexmlSaveSetAttrEscapexmlSaveDocxmlSaveTreexmlAttrSerializeTxtContentxmlNodeDumpOutputxmlBufNodeDumpxmlDocDumpFormatMemoryEncxmlDocDumpMemoryxmlDocDumpFormatMemoryxmlDocDumpMemoryEncxmlDocFormatDumpxmlSaveFileToxmlSaveFormatFileEncxmlSaveFileEncxmlSaveFormatFilexmlModuleOpendlopenxmlModuleSymboldlsymdlerrorxmlModuleFreexmlModuleClosedlclose__sprintf_chkxmlSchematronFreexmlSchematronFreeParserCtxtxmlSchematronNewParserCtxtxmlSchematronNewMemParserCtxtxmlSchematronNewDocParserCtxtxmlSchematronParsexmlSchematronSetValidStructuredErrorsxmlSchematronFreeValidCtxtxmlSchematronNewValidCtxtxmlSchematronValidateDocstrerrorlseek64lzma_codelzma_auto_decoderlzma_properties_decodeinflateResetlzma_endlibdl.so.2libz.so.1liblzma.so.5libm.so.6libc.so.6_edata__bss_startlibxml2.so.2LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.5.2LIBXML2_2.5.4LIBXML2_2.5.5LIBXML2_2.5.6LIBXML2_2.5.7LIBXML2_2.5.8LIBXML2_2.5.9LIBXML2_2.6.0LIBXML2_2.6.1LIBXML2_2.6.2LIBXML2_2.6.3LIBXML2_2.6.5LIBXML2_2.6.6LIBXML2_2.6.7LIBXML2_2.6.8LIBXML2_2.6.10LIBXML2_2.6.11LIBXML2_2.6.12LIBXML2_2.6.14LIBXML2_2.6.15LIBXML2_2.6.16LIBXML2_2.6.17LIBXML2_2.6.18LIBXML2_2.6.19LIBXML2_2.6.20LIBXML2_2.6.21LIBXML2_2.6.23LIBXML2_2.6.24LIBXML2_2.6.25LIBXML2_2.6.27LIBXML2_2.6.28LIBXML2_2.6.29LIBXML2_2.6.32LIBXML2_2.7.0LIBXML2_2.7.3LIBXML2_2.7.4LIBXML2_2.8.0LIBXML2_2.9.0LIBXML2_2.9.1LIBXML2_2.9.8LIBXML2_2.9.11GLIBC_2.2.5ZLIB_1.2.2.3ZLIB_1.2.3.3XZ_5.0GLIBC_2.28GLIBC_2.7GLIBC_2.14GLIBC_2.15GLIBC_2.4GLIBC_2.3.2GLIBC_2.3.4GLIBC_2.3-.//.//.///0////////1////2////3////4//04////1////4..//5/06//./170///8/.7/////9///1/4/////.//7//:/7///./       %) ")          '                                       )                (   % *!&'" #         $  (   (            ) *! + &  )  )   *                 + !  $  )  &              (    &)           ! )    )        ) %     &)        '%,,      !&             ) )  "zfLs$s$$$$$ȇ $ևȇ $և $ $ $$$*$8*$F8$TFL$bTL$qb«L$qīL$ūL$ƫL$ǫL$ȫL$ˈɫL$ڈˈЫL$ڈѫL$ӫL$ԫL$ իL$%!׫L$4%"ثL$C4#٫L$RC$L$aR%$pa&$~p'$~($)$*$+$ĉ,L҉ĉ ui 7(03:35? ui 42 (0 I9ii 86#3.ii 29ri 1Cui /ti .Oii -[h5`p5 x5555v5y5ɠ55555 5.5A5T5n5{5 5(50585ҡ@5H5P5X5`5h5(p5:x5X5g55555Ϣ555 55545L5X5i55555 5B(5P05\85h@5qH5}P5X5ˣ`5ݣh5p5x55ڠ5w5e5j55r55y5}55P555555w 5p(505,85@5yH5P5`X59`5h5p5x555 5515555z5555e55555555 5 (5x05 85@5h5pdp5555kd5,5595hd5 5W5H5\55b5g(505@5H5X5`5p5x555555555855h55"5: 505>85H5BP58`5Gh5Kx5f5x5m55r555@5w5}55p55 5(585@5P5X5Hh5p5x555555X555555855p(505@5H5X5`5p5x5p55555 5(55`55555" 505)85@H5/P5x`54h5x5855?55F5P5M55S55Z5550 5_(5X85f@5P5mX5h5tp55z5P55555555(55x55(505@5H5X5`5Hp5x5555555H55x55555 50585HH5P5`5h5x55555 5@55p55555"5) 5F(585M@5`P5TX5h5[p55a55f505m5`5s55x55~555 (505X@5H5X5`5p5x55555855`5555555 505858H5P5``5h5x55555555055P55x55 5 (585@5P5X5 h5p5H5!5x5%55)55-55350595`5>5(5D05@5JH5X5R`5p5x5@5W5h5]55b55h55o5 555H5r 5p05u85H5}P5`5h5x5555@55p55555555 5(5@85@5pP5X5h5p5555555555"5 5&5H5*5p(5.054@5KH5QX5h`5p5nx55t55z5 55P5555555 50585H5P5`5h50x55X555555555!5&5<58 5B(5p85I@5P5NX5h5Tp55\5H5a5f55h55555555(505@@5H5hX5`5p5x555555556t5558555 5h0585H5"P5`5'h5x5+515L55S505Y5`5^5d50x5}55 5"(585@5P5X5h5hp5555555855`5#555!55(52d05@5yH5>X5X`5\p5xx55}5 550 55X 55 55 555 5 0585H5P5 `5h5x5/x5P 55 555/5 565 5<5 5C5@  5,05 @5xP5nw`5Ip5O5U5[5J5P5U[55a5l5x5555 5(50585@5H5P5X5`5h5p5U[x5J5w5w5w55w5[5w5 5w5x55w55 55 5(5`0585z@5H5P5X5`5h5ep5x5 55x5}5e555555O55U55I55nw5555 5(5O0585U@5H5IP5X5nw`5h5p5x5O55U55I55nw5w55 5w5 5 5 55 5`5 55 5` 5 (5z0585w@5H5 P5X5`5h5 p5x5x5`5`595595`595z595e595[5555`55z55e 5(5[0585@5H5`P5X5z`5h5ep5x5[5555`55z55e55[5555`55z55e55[ 5(50585`@5H5zP5X5e`5h5[p5Jx5w5J5e5J5j5J55J55J5y5J5}5J55J5P5J5g5J5 5J(505J85@5JH5wP5JX5`5Jh5 p5Jx5,5J5 5J55J5y5J55J55J5`5J55J595J55J5 5J(505J85@5JH5P5JX5$`5Jh5 p5Jx55J5'5J55J5z5J5+5J5 5J535J55J5e5J55J5 5J(505J85@5JH5P5JX5`5Jh5p5Jx55J5y5J5X5J5[5J5 5J55J55J55J585$5`5 5 5 (5e05 85 @5 H5xP5X5`5zh5zp5Yvx5P5Yv55+5w5+5 5+55+55+5`5+5z5+5[5+5535w 53(5 05385@53H5`P53X5`5h5`p5x55<5C5<5<5e55e55e5P5e55e55e55e55e5w 5e(5 05e85,@5eH5 P5eX5`5eh5p5ex5`5e55e595e55e55e55e55e55e5J5e5$5e5z 5e(5+05e853@5eH5P5eX5e`5eh5p5ex5[5e5O5e5 5e5U5e5x5e55e5nw5e55e5855w55  5(50585@5H5`P5X5z`5h5[p5x555e5555e55 55x55e55P555O5O5O5U 5 (5O05 85 @5 H5UP5 X5x`5 h5nwp5Ux5O5x5O5x5 5x5U5x5x5x5nw5I5O5I5U55P555nw5O 5nw(5U05nw85nw@5 H5eP5X5e`5h5 p5x5x5555`5535555585w585 585585585` 58(5z05885[@58H5`5wp5Lx5465165165e5T5465365j5h#546536 505e8506H536`5rp5|x5-65`-6555-651651655546536 5`05P516X5`16`5p55,65y55465@365` 65}5546536 50585@56H5 ,6`5Pp5x5*65,5`)65 )65g5&5365P165595@565`(6 505F8546H536`5p5h x5@5653655U54653655^546536 505uH5'6`5p5x5'655'65w55@565365p55@565'6 5058546H536`5 p5x565z5`&65,5 5@565365@65 55@&65w53650&6 5058546H536`5yp5x546536555655!5 $6536 50558546P5#6`5`p5Kx5!655!65165p6555 655]5 655 6 5905p8546H536P5@6`5p5px5465365@655p5465365@655p5465365@6 505p8546H536P5@6`5p5px5465365@65J5y56565$55365@6 5U[05856H526P5 6`5 p5x546536555@56565'5565@65p16 5?05H56P5@6`51p5x5@565'6555655 546536 5058546H56`5p53x5465`65@65z5D5@565365Yv5O66616 6 06i866H636X66`63p6x666`&6666`66@666 6 66P636 606 86@56@6,H636`6p6x666,666666J6 66z636666C6666<666 &6 6<0686@ H6`6`6ep6x6466366@6666 666666@663666 6068646H6 ,6`6p6x64663666P 6466366616@ 6666606 606D866H66`6p6Ux64663666x 64663666f646636 606z8646H636`6p6x6@ 6 66066y66466366X6646636 6[06h#86 6@6nwH6 6P6 6`6Op6x6 66nw6 66 66@566 66 6666@ 6 6616 6U0686 6@6nwH6 6`6xp6x6@566 66 66I6 6 66nw6 6666@ 626 6nw06'86 6@6 H6 6P6 6`6 p6 x64663666264663666H6 6 6z 636 6p 6 60 6 8 646H 636` 6 p 6mx 6X 6z 6` 6x 6  6pC 6$% 6 6 6/x 6  6 6a 6l( 6x0 68 6@ 6H 6P 6X 6[s` 6hh 6qp 6zx 6 6 6 6 6 6pC 6$% 6 6 6/x 6  6 6a 6l 6x 6 6 6( 60 68 6e@ 6NH 6P 6X 6` 6h 6p 6x 6 6 6 6` 6 6  6pC 6$% 6 6 6/x 6  6 6a 6l( 6x0 68 6@ 6H 6P 6X 6` 6h 6p 6 6nw 6 6 6 6I 6U 6O 6nw 6 6` 6pC 6$% 6 6 6/x( 6 0 68 6a@ 6lH 6xP 6X 6` 6h 6p 6x 6 6 6 6 6 6 6 6 6/x 6  6 66pC6$%66 6/x(6 0686a@6lH6xP6X6`6h6p6x6[s666h6z6666C6<66f666 6!@6yH6P6X6`6h6p6x66e6j6 6 66666w6g66 666y66 6pC(6nr06%86m`6pCh6$%p6x66/x6 66a6l6x666666h66/6nr6pC6$%66 6/x(6 0686a@6lH6xP6X6`6h6p6x6h6<6m6X68666>6E6pC6$%66 6/x(6 0686a@6lH6xP6X6`6h6p6x6L6T6\66m6e6n6v6 66~6[s6z69666 6(60686@6 H63P6X6e`6 h6,p6x6666`66$6[666 6 66666}66y666 6(60686@6eH6jP6wX6'`6rh6p6x666g66 66y6X66y66?66666 6P(690686@6H6P6X6`6h6 p63x66e6 6,66666`66$6[666 6 66666} 6(6y0686@6H6P6X6`6h6ep6jx6w6'6r66666g66 66y6X66y66?666606m@6 `6/xh6 p6x6[s66f6966666666 6366e6 6,66 6(606`86@6$H6[P6X6`6zp66[s6966666666 6366e6 6,66 6(606`86@6$H6[P6X6`66pC6$%666/x6 66a6l6x666666f666m6 6(6@6`6pCh6$%p6x66/x6 66a6l6x6666666pC6$%66 6/x(6 0686a@6lH6xP6X6`6h6p6x6!6666pC6$%666/x6 66pC6$%666/x6 66a 6l(6x0686@6H6P6X6m`6[sh6nrp6x6h6q66666~66z6666666pC6$%66 6(60686@6\H6P6 X6`6>h6[sp6x6666m66E66pC6$%666/x6 66a6l6x66 6(60686@6[sH6 P6X6~`66pC6$%6666[s66666'66 66J6P6 61@6H69P6X6666`6666Yv66/x6 6A 6 6 6 6pC( 6$%0 68 6@ 6H 6IP 6X 6 6pC 6$% 6 6 6 6[s 6 6 6 6 6N 6'!6pC!6$%!6!6 !6/x(!6 0!68!6a@!6lH!6xP!6X!6`!6h!6p!6x!6Od!6W!6!6[s!6!6!6_!69!6!6!6!6!6!6!6"6 "63"6 "6  "6("60"68"6@"6}H"6P"6yX"6`"6h"6p"6x"6"6"6"6e"6j"6w"6'"6r"6"6"6"6"6g"6"6 "6"6y#6X#6#6y#6 #6?(#60#68#6@#6H#6P#6eX#6,`#6h#6p#6x#6#6#6$#6[#6#6#6pC#6$%#6#6#6/x#6 #6#6b$6n $69($60$68$6@$6H$6P$6X$6`$6 h$63p$6x$6e$6 $6,$6$6$6$6$6`$6$6$$6[$6$6$6 $6 $6$6%6%6%6}%6 %6y(%60%68%6@%6H%6P%6X%6`%6eh%6jp%6wx%6'%6r%6%6%6%6%6g%6%6 %6%6y%6X%6%6y%6%6?%6&6&6&6&6 &60&6X@&6H&6w`&6pCh&6$%p&6x&6&6/x&6 &6&6a&6l&6x&6&6&6&6&6&6X'6pC'6$%'6'6 '6/x('6 0'68'6a@'6lH'6xP'6X'6`'6h'6p'6x'6s'6'6'6pC'6$%'6'6'6/x'6 '6'6a'6l'6x'6'6(6(6(6(6 (6((60(68(6@(6`(6pCh(6$%p(6x(6(6/x(6 (6(6a(6l(6x(6(6(6(6(6(6[s(6nr(6m(6h(6z)6)6)6 )6|()6`0)68)6Yv@)6H)6`)6pCh)6$%p)6x)6)6/x)6 )6)6a)6l)6x)6)6)6)6)6)6)6*69*6*6*6 *6(*60*68*6@*6 H*63P*6X*6e`*6 h*6,p*6x*6*6*6*6`*6*6$*6[*6*6*6 *6 *6*6*6*6*6}*6+6y+6+6+6 +6(+60+68+6@+6eH+6jP+6wX+6'`+6rh+6p+6x+6+6+6g+6+6 +6+6y+6X+6+6y+6+6?+6+6+6+6+61,6p ,6pC(,6$%0,68,6@,6/xH,6 P,6X,6a`,6lh,6xp,6x,6,6,6,6,6,6pC,6,6b,6n-6-6-6-6 -6z(-60-68-6`-6pCh-6$%p-6x-6-6\-6n-6-6[s-6 -6-6-6>-6E-69-6-6-6.6.6.6.6 .6 (.630.68.6e@.6 H.6,P.6X.6`.6h.6p.6`x.6.6$.6[.6.6.6 .6 .6.6.6.6.6}.6.6y.6.6.6/6/6/6/6 /6e(/6j0/6w8/6'@/6rH/6P/6X/6`/6h/6gp/6x/6 /6/6y/6X/6/6y/6/6?/6/6/6/6/606 06 0606 06(06006}806@06yH06P06X06`06h06p06x0606e06j06w06'06r0606060606g0606 0606y06X0616y1616?16 16(16016816eP16`16p16x16161616I1616pC16$%161626/x26 2626a 26l(26x026826@26H26P26X26f`26mh26[sp26x26262626262626z262626/x26 36pC36$%3636@36pCH36$%P36X36`36/xh36 36pC36$%363636/x36 3636a36l36x363636363646 46 4646 46(46046}846@46yH46P46X46`46h46p46x4646e46j46w46'46r4646464646g4646 4646y46X4656y5656?56 56(56056@569H56P56X56`56h56p56x5656 5635656e56 56,5656565656`5656$56[565666 66 6666 66(66066}866@66yH66P66X66`66h66p66x6666e66j66w66'66r6666666666g6666 6666y66X6676y7676?76 76(76076@76H76XP76LX76`76hh76p76x7676N7697676q76/7676176176176876176276286.286K286b286s2 862(86208628862@862H862P863X863`8653h86E3p86@8x86\386o386386386386<686>68686 8696 96(96H96@h96 p9696@96`96P9696:6:6(:6 0:6H:6P:6ph:6 p:6:6 :6:6:6:6:6:6:6;6(;60;6@H;6@h;6p;6;6` ;6 ;6;6;6`;6 ;6R<6S(<6@SH<6Sh<6Up<6U<6 U<6h<6<6<6<6<6tJ=6=6 =60=6@=6P=6Q`=6p=6=6=6=6=6=6=6g=6=6>6>6 >60>6@>6P>6`>6p>6>6>6>69d>6>6>6>6>6 ?6&?6- ?6G0?6a@?6P?6j`?6up?6}?6?6?6?6?6?6?6?6@6@6 @6 0@66@@6OP@6`@6p@6d@6m@6@6@6@6@6@6@6A6A6 A60A6@A6PA62`A6NpA6WA6jA6zA6A6A6A6A6A6B6B6 B60B6@B6 PB6`B6pB65B6DB6MB68B6[B6bB6qB6yB6C6C6 C60C6@C6PC6`C6pC6C6C6C6'C68C6FC6`C6PC6D6D6f D6{0D6@D6PD6`D6pD6D6D6D6D6D6D6D6D6E6"E6( E600E68@E6JPE6a`E6jpE6E6E6E6E6E6E6E6E6F6F6  F6 0F6&@F6-PF64`F69pF6AF6F6JF6]F6zF6F6p6kdHp6oPp6op6pdp6 p6 Pq6q6dq6dq6hd(r6,0r6,r6r6,r6,s6P0s688s6u6yQu6yQu6-Mu6 <6<6~<6<6<6<6=6h=6m(=6q8=6xH=6|X=6h=6x=6=6=6=6=6=6=6=6=6>6>6(>68>6H>6X>6h>6<x>6J>6K>6O>6>6>6>6>6>6?6?6(?68?6H?6X?6h?6x?6?6?6?6U?6K?6?6?6{?6@6@6(@68@6PH@6X@6h@6x@6@6}@6@6@65@6@6@6@6A6 A6(A6.8A6HA6ZXA6hA6gxA6+A6A6A6A6A6CA6MA6A6B6B6(B68B6HB6XB6hB6;xB6B6aB6B6B6B6B6}B6B6C66C6-(C6l8C6HC6XXC6[hC6zxC6C6iC6C6C6<C6)C6vC65C6|D6}D6(D68D6HD6!XD61hD6xD6ED6D6_D6>D6SD6D6ZD6]D6E6&E6w(E6d8E6HE66XE6hE6xE6E6E6E6 E6E6E6E6E6F6XF6(F6o8F6HF6XF6hF6~xF6F6F6F6{F6F6F6j6j6j6j6u6k6k6Ns6Nt6Nk6s6t6k6 k6(k6 0k6 8k6 @k6Hk6 Pk6w0t6w8t6w0u6w8u6wXk6rt6r`k6lhk6pk6xk6k63k6k6:k6k6k6mk6k6k6k6k6k6k6k6Mk6xt6k6%t6%l6"l6$l6p`t6pl6aHt6aHu6a l6ht6h(l60l68l6@l6Hl6s6t6Pl6St6SXl6|`l6Rhl6xpl6xl6l6b@t6b@u6bl6y t6y u6yl6l6Bt6Bl6s6t6l6l6Dpt6Dl6l65l6xl6l6u6l6l6"l6l6m6 m6t6u6m6m62 m6>(m60m6?8m6@@m6<Hm6Pm6 Xm6`m6Ihm6pm6^xm6Hm6m6+`u6+hu6+m6Km6Lm6m6Om6Pxu6Pu6Pm6Rm6m6m6m65t65m6Tm6m6wm6n6n6n6n6s6t6 n6(n60n6Ypu6Y8n6Pu6@n6#Hn6dPn6[Xn6cs6ct6c`n6?hn6 pn67xn6n6n6t6n6n6an6bn6n6n6n6cn6n6n6n6(t6(u6n64s64t64n6n6Et6Eo6o6o6o6 o6'(o6[0o68o6'@o6Ho6Po6Xo6n`o6Lho6po6t6u6u6xo6 o6t6o6o6o6Do6ro6so6o6^ht6^o6t6o6uo6Co6~o6o6yo6o6HI6$PI6XI6`I6hI6pI6[xI6I6I6I6I6I6I6I6I6I6I6I6I6HI6I6LI6GI6J6J6J6J6 J6(J60J68J6@J6RHJ6PJ6dXJ6N`J6hJ6pJ6IxJ6J6AJ62J6|J6J6J60J6eJ6:J6J6LJ6J6J6J6J6 J6*K6gK6K6nK6( K6 (K60K6 8K6@K60HK6PK6XK6`K6BhK6pK6bxK6K6K6GK6,K6K6K6kK6K6LK6IK6K6K6K6K6K6K6L6 L6CL6=L6 L6(L60L68L63@L6DHL6PL6iXL6`L6$hL6pL6xL6NL6~L6L6L66L6L6L6L6L62L6L6L6L6L6L6rL6M6M6M6M6 M6(M6[0M6-8M6@M6HM6BPM6XM6`M6hM6pM6xM6XM6M6M6M6M6M6JM6M6M6gM6M6M6M6kM6gM6M6N6ON6@N6N6K N6u(N60N68N6@N6<HN61PN6XN6`N6hN6hpN6 xN6VN6N6N6N6;N6N6N6N6RN6N6N6N6N6N6N6xN6-O6O6nO6O6 O6(O60O6q8O6@O6dHO6PO6XO6`O6(hO6pO6~xO6O6eO6 O6/O6O6O6O6SO6mO6O6O6O6O6kO6O6O6fP6P6ZP6P6 P6@(P6a0P68P6@P64HP6PP6\XP6\`P6hP6CpP6_xP6SP6P6#P6P6P6P6JP6P6VP6P6VP6P6P6P6P6&P6Q6Q6Q6PQ6^ Q6?(Q60Q68Q6q@Q6HQ6PQ6XQ6`Q6hQ6pQ6 xQ6Q6Q6oQ61Q6Q6Q6Q6Q6UQ6Q6Q6#Q65Q6Q6FQ6Q6QR6R6QR6'R6 R6!(R6z0R6"8R6@R6#HR6PR6XR6`R6hR6pR6YxR6R6?R6WR6dR6R6PR6R6R6R6 R6R6$R6R6cR6|R6%R6WS6S6YS6S6& S6(S60S678S6@S6HS6PS6EXS6`S6hS6'pS6oxS6S6S6S6(S6S6S6S6S6S6S6 S6S6FS6pS6S6S6)T6T6T6T6 T6(T60T68T6@T6HT6PT6XT6`T6hT6*pT6xT6.T6T6wT6T6T6TT6T6T6|T6T6<T6~T6T6T6+T6T6U6GU6,U6sU6 U6+(U6f0U68U64@U6HU6-PU6XU69`U6OhU6pU6.xU6OU6.U6-U6U6U6U6U6U6/U6U6U6U6U6U6U6U60V6V6%V6V6 V6[(V60V6>8V61@V6HV6PV6XV62`V6hV6pV63xV6DV64V6}V6]V6V6V6 V6V6V65V6V6EV6V6V65V66V6W6$W6W6W6E W6;(W60W6 8W6"@W6HW67PW6^XW6`W6hW6pW6/xW68W6W6W6W6W6W6&W6W6W6W6W6W6 W6W6!W6QW6X6X6VX6X6 X6(X60X698X6/@X6:HX6PX6!XX6 `X6;hX6pX6xX60X6EX6X6<X6=X6HX6KX6?X6X6X6X6*X6_X6X6X6X6Y6AY6FY6!Y6 Y6(Y60Y68Y6B@Y6HY6CPY6XY6`Y6hY6lpY60xY6Y62Y6DY6iY6Y6Y6Y6Y6EY6Y6Y6Y6Y6Y6Y63Y6Z6Z6Z6JZ6" Z6(Z6Q0Z68Z6F@Z6nHZ6PZ6)XZ6`Z6WhZ6pZ6xZ6Z67Z6Z6kZ6+Z6Z6QZ68Z6Z6GZ6mZ6HZ6Z6Z6ZZ6IZ6[6=[6 [6[6 [6T([60[6J8[6@[6H[6P[6lX[6x`[6h[6p[6tx[6K[6n[6[6[6l[6%[6L[6[6[68[6[6[6[6[6M[6,[6\6y\60\6\6 \6N(\60\68\6@\6OH\6>P\6 X\6~`\6h\6p\6x\6\6\6\6\6\6&\6Y\6P\6Q\6\6\6\6x\6\6\6a\6]6]6]6]6 ]6(]60]68]6R@]6H]6KP]6X]6`]6h]6p]6x]6]6]6"]6G]6]6]6]6]6]6]6S]6I]6]6T]6]6]6^6^6^6^6 ^6(^60^6j8^6@^6H^6qP^6X^6`^6Ph^6p^6=x^6^6^6^6^6^6^6^6|^6^6m^6^6^6^6o^6^6U^6_6q_6_6\_6. _6(_60_68_6V@_6H_6"P_6X_6n`_67h_6{p_6Wx_6d_6_6X_6_6_6V_6k_6_6_6_6_6_6 _6Y_6_6__6`6`6?`6:`6s `6&(`60`68`6F@`6H`6P`6!X`6``6h`6p`6x`6`6`6`69`6Z`6`6)`6R`6[`6%`6W`6`6`6`6\`6`6]a6wa6<a6a6S a6u(a60a68a6^@a6Ha6Pa6OXa6 `a6ha6pa6_xa6ea6ia6a6`a6a6pa6`a6a6ga6(a6a6a6a6a6a6a68b6b6b6bb6 b6(b6V0b68b6@b6Hb61Pb6Xb6`b6;hb6_pb6xb6b6b6ab6b6tb6zb6b6b6b6cb6mb6!b6b6b6ib6b6Sc6c6c6c6t c6(c60c68c6@c6Hc6Pc6dXc6A`c6hc6pc6xc6c6vc6]c6ic6c6&c6c6>c6c63c6c6c6c6c6c6Nc6d6d6d6Fd6T d6(d6z0d68d6@d6jHd6Pd6 Xd6``d6 hd6+pd6vxd6(d6ed6d6d6Rd6d6d6d6d6xd6fd6/d6d6d6Qd6bd6Ee6je6e6e6 e6(e60e68e6@e6He6Pe6Xe6`e6ghe6pe6'xe6he6qe6e6e6e6e6e6e6e6<e6e6e6e6e6e6Te6uf6of6f6f6 f6(f60f68f6@f6_Hf6JPf6Xf6`f6hf6pf6vxf6Nf6if6f6/f6jf6f6kf6f6f6qf6f6cf6lf6ef6mf6f6Bg6g6cg6g6K g6(g60g68g6@g6Hg6Pg6*Xg6`g6hg6pg6xg6g6bg6,g6bg6Kg6Lg6[g6g6$g6g6g6g6g6og6g6g6h6h6th6h6 h6L(h60h6+8h6@h6Hh6-Ph6pXh6q`h6hh6Mph6xh6=h6 h6$h6h6h6\h6h6{h6h6h6h6 h6h6ch6h6h6^i6Di6i6 i6 i6)(i6r0i6?8i6@i6yHi6JPi6sXi6`i6hi6!pi6xi6#i6i6 i6.i6Zi6i6Pi6i6ti6i6i6*i6i6i6ui6 i6j6j6Fj6j6 j6(j60j6v8j6@j6fHj6Pj6GXj6`j6hj6pj6wxj6xj6j6Xj6zj6j6{j6Dj6j6j6?j6j6j6HHa@3HtH5B3%C3hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhѿhh鱿h顿h鑿h避hqhah Qh Ah 1h !h hhhhѾhh鱾h顾h鑾h遾hqhahQhAh1h!hhhh h!ѽh"h#鱽h$顽h%鑽h&遽h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1Ѽh2% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݿ2D%տ2D%Ϳ2D%ſ2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݾ2D%վ2D%;2D%ž2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݽ2D%ս2D%ͽ2D%Ž2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݼ2D%ռ2D%ͼ2D%ż2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݻ2D%ջ2D%ͻ2D%Ż2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݺ2D%պ2D%ͺ2D%ź2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݹ2D%չ2D%͹2D%Ź2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݸ2D%ո2D%͸2D%Ÿ2D%2D%2D%2D%2D%2D%2D%2D%2D%}2D%u2D%m2D%e2D%]2D%U2D%M2D%E2D%=2D%52D%-2D%%2D%2D%2D% 2D%2D%2D%2D%2D%2D%ݷ2D%շ2D%ͷ2D%ŷ2D%2D%2D%2D%2D%2D%2D%2D%2D%}2DH% % % H%0 f.HU2HV2H9tH=2H2H9tHf2Ht H=2H52H)HHH?HHtHM2HtfD=2u+UH=r2Ht H=>2dm2]wUHSHHG2HHHxHHHǀH1H)HCE\H}C\Ht 0HCH}`Ht HC`H}hHt HChH}PHt HCPH}HHt HCHH}xHt HCxHH[]Lɮ 11Ҿ&@AWAAVIAUIATMULSHH72Ht$Ht$HHHxHHHH@|1H)HCǃD{\MLYLHCHC`LHChHtHHpHCXӽHCPHCxHCHǃHH[]A\A]A^A_CXHCPHHCMt LoHC`MipDL 11Ҿff.HUSHHo@HtHHHHt H{HtHtHHukH{H-2UH{`HEHtHEH{hHtHEH{xHtHEH{PHtHEH{HHtHEHH[]H-I2H9_(^!T@Htfff.@AWAVAUATUSHHH|$T$ dH%(HD$81HGHE1Ht E1 AH2AIHHD$-HD$Mue@A>A&AE<_AE<A u EEA f.HDmEIM)IFdL9vL $LD$tHa jE11AVA11P11E1jjjjAVjjjjh7H`fDL1LL$L$腴LL$L$HExIM<Ay>lH@HSnff.SHtvH_XHtEHHt!HS@HX(HP@HS HtHB0HP8HC [DHC HC[fDE11Ҿ H M1[fE11Ҿ H R %1[ÐSHtvH_PHtEHUHt!HS@HX(HP@HS HtHB0HP8HC [DHC HC[fDE11Ҿ H b 譴1[fE11Ҿ H  腴1[ÐHt/HPu HSHH=HtHX@[f1@Ht_UHSHHHGPHtHxxHt 褸Hu)HCXHtHxxHtHH[]1H[]1DHtHXHtH`Ht@1ff.fUHSHHtSHGPHHt"Hx`HtHtH[]{LtHCXHtHx`Ht HзHuHH[]}ff.frf1eDAUATUSHHxH"2HHHcIԹ@<><&<"< Hf.H;tXHL)HE H9v/L, L9Hĥ2LLHH(LI<H5ۛ HIHuHH}`H5 t"H5 H Hu`HDH5gHHuhH)HHH5 []@H5? HѩHuHuH5H趩HuHHuHuPHqH5 ;@H5 |HuH H}`H5ݚ t"H5˚ HSHu`HwH5H8HuhH\H}P(H5 HHuHHtIH@H5{ @HE1H 1[]7HuPf.HHHff.HHH5:f.UHc.SHcHHLL9s~~yLZDH9slExoHH(fDLcMJM9})MKEAH9tEx)MHD@II)H9uA)D[D]DA)D[D]E1E1E1E1HAHAHHiAULc.ATUISHcHH9pHIDELMAAAAAAHL)L9L9vRELMAAAt ;Et)IAAAAAuA?AA L9wAM9v-IED$I9LDELMACL9yA))D&[)]A\A]AwAAA4f.AwAAA I)H)[D&)]A\A]1DA))v1E1fff.@H.H%HHAUATUHc.SHcHHH9LeL9IIHEEy%AIHADHEHA?AɀDHMII)M)OM9MOM9s0MEM)IEy fEExHIDHI9uL9v:L9xL9v,H9v'EExDIH[)A)]A\A]D)A)[]A\A]DIHE11ff.@HAHAHHyAULc.ATUISHcHH9zHIDELMAAAAAAHL)L9L9vYELMAAAt(Et)IAAAAAueA?AA L9wAwIM9v-IED$I9LDELMAIIE1C@M9dMhAEIMMI)I9HcIMH9E IKEfAfAuH9 ACM9A %IIA D DDA@M9r_PDI?ȀA@M9wMI)I95EA)[DD]]A\A]A^fDAwDI1AMDI˹ AMdMt[]A\A]A^A)A)I)D.D]E1E1oHAHAHHDLcAVAUDIATUDSHH,GL9HIAEMU=e=AAMM)M9M9EEMUEAAt&fDM9v&IEBEAAuA?D Au=v~=wdLCL9v[-LKMAf%A f fAfCfDLM9)D)[]>A\A]A^M9y)D)fDH9vLCfML@=wAAD=w#AA1LH)H)Љ[]A\A]A^ø11F@HcAUATUHS LAABD)HBH9>D%:2IIE1FM9I@A)EIIMI)I9HcIMH9AIKAfAEEDDD%=uH9(EACf M9A %IIA D DDA@M9r>fD0DI?ȀA@M9wMI)I9EA)[DD]]A\A]ACMfDAwEAAEII1tEA AEIIVM;[]A\A]A)A){I)D.D]E1E1_ff.@HAHA9H0HDLcAVAUDIATUDSHH,GL9D%2HI@AEMU==(AAMM)M9M9EEMUEAAt&fDM9v&IEBEAAuA?D Au==wpLCL9vg-LKAf%A f fAEfAfMfDfCLM9)D)[]>A\A]A^ÐM9y)D)fDH9vLCEt2fMfL=wIAADfMLvf.fDMfCLYD=w#AA|1H[]H)A\HLA]H)A^ø11ff.HAE11R1V1jjjjR1jjjW12Hhff.fHATAHUH@SAuRHtMHt09]N]x;IHHcm]A$[]A\1E[]A\ffUSHH8dH%(HD$(1HL$Ht$ HHtIcLHL$ Ht$LD$HD$HcHT$HD$#HT$HL$)U) Ht1Ht肙Tt8DH\$(dH3%(u"H8[]ո臥Htf>1@fff.IILHt"HHLLLкOHÐH>HtHMLLA@IILHt"HHLLLкOHÐH>HtHMLL7A@Htz~2u{WuKu <`1<'fD1u<1@1HJ2H2H<$L$ HC@L-)2H<$IIAUHcϑ2LIHH‘2AU21HCHt$xdH34%(HĈ[]A\A]A^A_ÐHu2HcH2HHf2HLc=X2H12@62(2HH$2HudDcIfHAWAVAUATUSHH-֐2HÐ2IDx1HCHL9HH}ILI)uL-~2H}D$ AUHc2J| AUP2H=M2HsHH47L12)HcHL$ H[]A\A]A^A_f.޹ÐHtf1ff.f#Hl HcH>H H܀ H H H} H H* H% HR H H߀ HĀ H H H H؀ H 1ff.fS薾H w2HtcH2Hc\21xHHHu;@t,2HH$22H2[D=2H:HHt HH 2Hc܍2H} H2賍HH5UH=| H׊2蒍H;2H52H=y xH!H5jH=| ^HH5PH=| DHŀ21H=| H+L~ 11ҾHf.AWAVAUATIUSHxdH%(HD$h1H=2]MtA<$u1L5҉2H|$hdH3<%(LAHx[]A\A]A^A_@LIeHHIDVH01HHcHTHcȋATuHf2 Ht4O2~*L|L3LI6PHI9uHH=_z H5Sz HHIH}HH2(IH8fH@ H@H 2IFIIFI^M~ 蛴fDcLH=y HItaHkHH5| L8LhtLHHtHHɞu^E1#H5>y LIH!Ht IHtHH58| HtH謰wHIH菰L臰ݑff.fHH=h2w5Hfz HcH>fH=x 脉HHfD1@H=y \HuH=y KHuH=y H6fDH=x H H2Hن2H=x HH=x HH=x HЈH=x HH=x 贈H0H=x 蟈HH=x 芈HH=x HqH=x H`H=1x HPH=Yw DHH=Nw /HH=?w HfDH=+t HH=Kw HH=^w HH=Yw HЇ|$ 臱|$ fDH=v 謇H(H=v H铇ATIUSHdH%(HD$1HMHHVHF At$$t$9|9H}M$HuHHLL$t$L(H$CCD$EH|$dH3<%(ueH[]A\D4 L$9HySC $eHD$h8fd@fAWAVAUATUSHXdH%(HD$H1HHHLw MLo(MLLc1IHu(HL$HdH3 %(|HX[]A\A]A^A_LXEM9MFK$H9H=hhLDd$HG‰D$ ۺLH H{IHL$ LL$HHwHHct$L`Hct$ LÜt^taDD$ E(ILGK$H9XLC4$觠L?f.1@LH\$HHLt PD21RPR@P1$~D$aHH H5v sWDfnQAWAVAUATUSHhdH%(HD$X1HHHLg MLo(MLA1IHEH=LAHD$AMH;D$H=v ۺHELDt$D$޸LH#H}IHL$LL$HHwH"Hct$LcHct$Lƚ}|D؋D$EHT$XdH3%(Hh[]A\A]A^A_K?LEHD$tH;D$'LC4?}LU1@LHl$ HHLr PD21RPR@P1|D$qHH H5t s7)f&1AUATIUSHXdH%(HD$H1HMKIH?A\$\$ tyHv ۋUF)ЉD$9I}M$HL$IuHULL$ wt$ L蹪HUD$EEtBteD؋D$EHL$HdH3 %(HX[]A\A]1@HUE D$UI$Hl$HLGq H21PDRPR@P1xzD$aHH H5r sDfD=衈AWAVAUATUSHdH%(H$1HgHIYHo HLH_(H?HD$4AE1HD$HD$8HD$HD$xRI$l$H@8H9riH)@ID$@I+\$HH$(}dH34%(uFH8}[]A\A]A^A_D$~ HcD$HID$(d@HB8fHfAUATUSHhdH%(HD$X1HCLo M6HHHI9AEL< t< t>@H @ƀ  H9u@tOHI) <IA$LHN  w LHHЃPAHAu1LH5LHE$AEIt$OILLH9 t HH9u۸^LH56LHf1HD$XdH3%(Hh[]A\A]  tzH D tH)ƃPt H9s u H@ƀ  @$HILfDHEL= H@ƀ  ]AML @ƀ  A8}SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1譖H8tWH$$HD$HD$ D$0HD$|HHھH8oHD$dH3%(uH[KH l2HHG|AWAVAUATUSHHT$dH%(H$1HHIHMH)KfLCPMtAx"E1C D{D$D$MeMn8MIUE1HtdLL$(AM4L1LD$ H5`f LL$(LD$ Ll$MMtLH5Wf L1ՋD$H g HcH>IcF@IVHHDHD$HtHPHLT$t|$uHD$LD$ H5e LP41LD$ MjH5Jf L1DAFE%AtAuH5f L1L|$M}LHA| LH5wHL1MtBH|$LHMt-IUHAM4H5&f L1LHL|$ H{(Ht{Dk@AcqdA9}gLHS(H5G1Hc{@HT$0wHBHH DH HH9uGHD<0^H5GLD01@H$dH3%(H[]A\A]A^A_HSHT$HLD$ L$L1H5d E1LD$ HD$fHd H5GL1fDHT$H5 L1zH(賒L M@HD$$f.H5cd L1DH5Cd L1DD$/|$$AU4H5Ad L1 fLl$E1H5c L1EDH5c L1-DH5b L1DH5Xc L1DH5b L1DH5nc L1DH5/c L1DH5b L1DH5b L1DH5b L1mDH5b L1UDH5b L1=DH5fb L1%DH5,b L1 DH5a L1DH5b L1DH5a L1DH5a L1DH5a L1DH5na L1}DH5Na L1eDT$E1L$MHLD$ H5` L1LD$ g1HT$0&uMIff.SHtHHH[fDێHb2H[ff.@UHSHHKH(Ht螎HH[]@苎Hb2HH[]f.UHSHH;vH(CHH[]fHtwATUSHHt9$Dc4H[H(贎DH[H8IH5_ ]1A\A[4H(耎H5e_ [H8H1]A\fff.@USHH>H(薍HH0HH[]fAWAVAUATUHSHH|$HT$PHL$XLD$`LL$ht=)D$p)$)$)$)$)$)$)$dH%(HD$81HD$HHD$H@8HD$HtH@HD$HHD$H|$$诌HGH5o_ H81H`2HHOAALl$ A:fDD9AEdH_2McHLHthHA\MIHLH$0HD$ HD$(HD$@D$$0HD$0xA9wyAdfˋH(cHH5+H81Ha2HH|$t?H|$sLt$Mt+L}HH52H81LsHD$8dH3%(H[]A\A]A^A_f+HË1H5H81hfDHD$HD$=HL$HcA@ HQHHL$HDHL$HD$lqff.AWAVAUATUHSHH|$HT$PHL$XLD$`LL$ht=)D$p)$)$)$)$)$)$)$dH%(HD$81HD$HHD$H@8HD$HtH@HD$HHD$H|$T߉HwH5\ H81H^2HHOAALl$ A:fDD9AEdH\2McHLHthHA\MIHLH$0HD$ HD$(HD$@D$$0HD$0訋A9wyAdfH(蓉HH5[H81HK^2HH|$t?H|$pLt$Mt+L"譈HEH5/H81LpHD$8dH3%(H[]A\A]A^A_f[H1H5 H81hfDHD$HD$=HL$HcA@ HQHHL$HDHL$HD$nff.AWAVAUATUHSHHHT$@HL$HLD$PLL$Xt:)D$`)L$p)$)$)$)$)$)$dH%(HD$(1H{w~fH|:t]HHC8HxHD$c2H|$D$H誇H5Y H81rc2fc2D$HD$H![2HHAALl$A9DD9AEdHZ2McHLHthHA\MIHLH$ HD$HD$HD$0D$0HD$ 踈A9wyAdf H(裆HH5k H81H[[2H|$u/HD$(dH3%(H[]A\A]A^A_fH|$m@蛅H31H5 H81뛐H|$ZHcC@3HSHHDHD$ HD$D$&kAWAVAUATUHSHH<$HT$@HL$HLD$PLL$Xt:)D$`)L$p)$)$)$)$)$)$dH%(HD$(1HtH $Ht9t5HD$H|:t,HA8HxHD$wH|$݄ HD$ZHH5"W H81HX2HH AALl$A5D9AEdHxW2McHLHthHA\MIHLH$ HD$HD$HD$0D$0HD$ (A9wyAdf{H(HH5 H81HX2HH<$t H|$ekHD$(dH3%(uUH[]A\A]A^A_H賃1H5| H81뫐HcA@|HQHHDHD$iiff.Hj@t Hj1HfHGSHHHt HW2H{Ht HW2H{(Ht HW2H{0Ht HW2H{8Ht HW2H{H1HHHCPH)XHC[fff.@Hi@u HiHHiff.@Ht\t HXD1ff.fHtLJ\ufHXTi@H#HAWAVAUATUHSHHHdH}IdH}(IdH}0IydH}8ImdH{HD$Ht H8V2H{Ht H&V2H{(Ht HV2H{0Ht HV2H{8Ht HU2EECECE C HEPHCPE@C@EDCDHEPHCPHEHL{HCHHD$LsHC81Lk(Lc0H[]A\A]A^A_ff.AWMAVAUATUSHHHL$ H$Ht$8H$HT$XH$HL$H$H|$L$DL$,HL$@HT$HHt$Pt@)$)$)$)$)$)$)$ )$0dH%(H$17g$HŅu)H$dH3%('HH[]A\A]A^A_Xu $t‹L$,wj:Hs_H|$kHT$ H]HHHT$0臗HHD$Ht#efHHD$XHD$0H|$tMnHR2HHAAHl$`H$HL$pL|$hLEHL$AI=fD9AE|HhQ2IcHHHthHA\LL$MHH$HHD$p0D$t0Ll$xH$A9wyAdfHl$`L|$hH|$0H|$HD$0HXHJeD$,H|$H]E$E$EtH|$`HE$E HD$@Ht Hy`HE(HD$HHt Hc`HE0HD$PHt HM`HE8$L}PE@$EDHD$ HEHdH9tdHHfHD$Ht$HH|$X<DHD$ HD$0H|$0t@H|$8u8+H8h,|HHD$8HD$0HD$XH|$8@H|$8Ht$8H;5PQ2H;5M2 H;5O2u H;5P2Ht$0E11HH!@M]H|$QMg@LMM$MUAM1fM(Mƒ AuMMg@MtM$MMEA$$HbD$,H]E$E$EMLE1Lh8Mt%AEsALLh8MuH@(HuID$@H^HEH_MVIG@HIH]HE4fHD$0H@8HHxH|$Hx4@8$$H=L t]Hv@HD$ HD$0-HL$0HHH$HDHAHT$8HD$XtAdfDH|$0HcW@ZHGHHDHHxH|$:AGp$&DEt AfH5; LqdHIU8HtBIՃMfDHD$8H;L2H;oL2HH|$X1HL$8H5% @HHD$HHJHL$XDLMu1MK;DLx~$MLD$XHL$8HHHt$0AIxHHD$8xHHD$X^fDHAu@Mt[HH`K APPjjjjAPjjjjI11111gH`HHAPQjjjjAPjjjVfDHmJ I11P111jjjjjjjjjDgHPHf.SHtzLHt tYH1AE1ǃH1RV1jjjjR1jjjjfCH`u ǃL[fHAE11R11V1jjjjR1jjjjfH`[ff.AWAVAUATUSHHHHAHHIHLJHxHt-H9t bHHhE1HD[]A\A]A^A_HPHx 諈AŅuHUHC Htv H=qD H8G H=RD Hu8uxu(HHC HֹH= C €H+CHcHHHx nL;IG IG(IG HHh8Hx(kHAD$4tKH;xAHHHx qEHHx(ekHH)Hj8fDH;DWA뵹H=WB H@8.x$xHHC fDxHHC A51H5I AH*`1H5H LAfSHtzLHt tYH1AE1ǃ 11QR1jQHjjjjjjj cCH`u ǃL[fHAE11Q11R1jQ1jjjjjjj QcH`[ff.ATUSq\='wkRq[]A\غh )‰rL sH5G H81AAH,I2HG H81裄kR~rH(>sQH5G HljIH?1)[]A\Aff.@Ht(LumLJLJLJLHHHtSHHE E11VA1P1jjjjV1jjjjaH`HfDufDHD E111PA11jjjjjjjjjaHPHSHtnHLt tR1A1APQR1jjjAPE1QHjjjV1=aCH`u ǃL[@APA11QR1jjjAPE1Q1jjjV1`H`[fDD߃AwÐ@v( f.SH50F2At [fD=Qv0tލ1[ff.fDAUATUSHHHHHLGMtyHG HtpHy HtgL)AE1HVfH9rfD@tRQtHp HVHP Q HO HG(H)HsE11HB H߾ hǃ HC8H@ f@4@86HH f.XHC8HH HQ H߉D$ D$ jB f CDž1H[]A\fE11ɾH~6 ^H[]A\LJHW81HtHJ 9uyuyuHHJ @HG8AZHt/HP Ht&:u!zuzuHHP DAQH"Hu8DHHxsHD$ fD$ DžsH[]A\fA- AZPQHu$uE1 HHH`5 Z]H2f}@tDž 1wfH}(uHE8HtHxPHtDHE(¸Aff.ffHtHHw8vHtwUSHHHH-362HtUH{HtUH{PHtUH{XHtUHCHHt H{HtH;HtdHEHH[]ff.@UHhSHH42HHteHxHHHH@`1H)hHC`HHC4HtPCdHH[]H5a6 HfAUATUSHHtuIAHxuyHQIHHtQH@I|$ HL a\EuHH[]A\A]fDDH=mHH[]A\A]H1H[]A\A] _H_H52 H81gAUATIUSHHnH^wHkPHt[LHHHt5H{xHt -BHEH{PCXH}E0HH} HH}(HH[]A\A]{\wC\H6 HcH>fD;^LkH(^LH5&2 H81UfHSH5M5 LHSH55 LjHSH51 LRHs`H{xHL[]A\A]SfDHSH54 L]MH{PCX1H5'4 1(ATIUSHtpHuu:LFHHtjHXHHX 2ME0HHH](H[]A\fD\H(]HH51 H811H574 1fDH5Q3 LycAUATIUHSHuH1LWHHH&FH%HHH4HHHxH?IL6VH{IHt Hs12LyrHCMt HY12LHLkHHx XHu M~HH[]A\A][HC\LH5/ H81H1HH[]A\A]fL>IBMtCLH53 HGL>Hn@H1n_@1H52 HFDfHATUSHf.HEHHHuHH--02HtUH0HtUH{`HtUHHtUH{HHtUH{ HtUH{(HtUH`HtUHhHtUL#MtHI9tH;UHHtUHHtUHHtUHHt3\HHtUHHtUHHtUH Ht H5#.2CH(Ht1CH@HtLg0ULMuHPHtDLg0ULMuH`HtUHpHtUHHtUHHtUHHtUHHt\HEH[]A\ff.@HtHGHHGff.@USHHHAHH\H;HYH{HǃHǃu@HhBHpEHuH{`HC HC(HC0HC8C@ǃHǃHǃHǃH0CXHCPxHǃ(Hǃ HH HxHpH[HCCǃ0ǃA<t4i]Lat 4_cHH*2ǃH-+2HHH=CChH{pHǃ@ǃPǃǃǃHǃHǃHǃHǃǃ]1H[]D4m@HH(2H4/ǃHD胋4HH)2HHH$H5|- 1U\_H)2(CDHCHHH5?- 1\HC8HC@fDHq)2PC\ HC`H9H5, 1[HCPHCXHC8HC@fDH)2(ǃ| HHH5, 1b[HCPHCXHC8HC@Hǃ Hǃ(HǃpHǃx @H(2Pǃ, H0H`H5+ 1ZHCPHCXHC8HC@Hǃ Hǃ(fHHHH#1H5' 1cmfH'2SHHtEHxHHHǀH1H)HHcxH[fDH51+ 1YH1`@Ht'SHHHt HS(2H[HZff.@HtSHHpJUH[A@ff.@HHt~LOE11I9r;Eu6LLGH)HHHIAH9rtv0LHE1I9s@Ht2HOHHH9rHfDHHE1HHtOHtJUHSHHpHgH9CxvHHHH9(u H[]@H1[]1DHH ATIUSH6HHpdgHSxHHH9HHLH4I $H9NHKpHzH9sPH 4HHH$2H<HSxHLHHcpH4HzH9t6s4HHLHH oBoJH(HB B(J8HBHH9uAo$Ao\$^ID$ HF H{x[]A\HKpHzH96HtBHTH4HKpHH9s#Ht64Hq$2HHuHCp@HCpfDAo$$&Aol$nID$ HF BfDHH5,$ []A\uVDUSHYY(H[]ff.fUSH_WXW(H[]ff.fUSH66(H[]ff.fUSH[([tH[]fZH[]f.fH9tWЃx,HHH;4t#BH@HPH9tt HЅy1HDHu8HDfDH5 t=ȃx0LHI;4AHHHI9tHȅyATIUHSHuSH PHH&"2HHHcуH,ЉLd[]A\fHHt9҉HH 2HcH4Ht?HDI9TC1H Tǃ~1HSXATUSHHHtuF9|\l6 L%U 2HcHA$HHgfffH)HcHA$Ht^H[]A\DH- 2UHt1H,UHt7Hǃ7[]A\1H߽RfAWIAVIAUIATEUDSHH(Hc,9Hb2,HcH0HHH0Hc,HH4@H#2HHH(H0HcLDufDnLLH IcL>@H/ @SHHRAE1HPH% PjjjjR1jjjV111*:H`HtCu ǃL[@H" @HwSHH}HAE1HPH PjjjjjjjjVvH4/ 'VH. f_H- fKH# o\H_# WYHt) ?XH) 'H# UH# TH" SH+ RH, PH* OH# NH- g$H! OJH" 7IH<" GHD) FH) EHT* CH) @Hl! >H|( =H! w<H* _;H+ GnH /`HT, H' H+ H "H+ !H,+ H H oH WH4) ?H5 'H 9H* 8H) 7H( 6HT( 4H' 3H' 2H4' g1H& O0H  7.H ,H% +Hz 'HH &HL% %H HK H$ Hj nH  _H' `H|) H) H H H H pH& _H NH =H ,!H"( "H' $H %H &H# 'H +H ,H# .H 0H 1H$ q2H$ `3H$ O4H % >6HL% -7Hc% 8Hj& 9H& ;H & <H% =H >H# @H CH $ EHz$ FH# rGH# aIH PJH ?KH  .NHL& OH  PH" RH% SH$ TH4 UH VH-& XHl! YH3! \H sH% bH0& Qff.HtLuAHHAHPE11R1jjjjP1jjjV1i0Hh@ufDSHtbLHt tGH11AQAPQR1jjAQAAPE1QHjjjV1/Hpǃ0[H11AQAPQR1jjAQAAPE1Q1jjjV1/Hp[SH~LHt tcH1HtAPA1QRjjjAPE1QHjjjVHH;/H`ǃ[APA11QR1jjjAPE1Q1jjjV1.H`[fDHt@HtLuqLJ*SHHtnH RHE1VA1P1jjjR1V1jjjj*.H`HtCu ǃL[DufDHHH! 1RAE1P1jjjjR1jjjj*.H`DHSHHtHHH5iJ HH5HH$H5Y# HuHHtHt Ht[H1[5DDHtLJYHuHxp5Hxx*fDAWAVAUATUSHLo8M.ImIE H)ÅIH@HAA׉H9IEOHHx L$ T$L$PHIEHx 3L$ T$t$AuhAHcD9|wHZA9~dD8du@t>D8|u@8tuIdž@IU I+U)H[]A\A]A^A_@AfEtD8|tHZA9HcӸI@H[]A\A]A^A_f.EE0CATUSHoIԉHHtH(Ht H2LHE(Dž4Džt44EÀ4ÀDžHEH 2DžHH4؃@EDžt HDž t HDž4؃@tHE@Hǀ tHE HǀHǀtJHEH 2HPpHT 2HǀHPxHǀǀ4m4Dž8@tHE@Hǀ4@ t4 t4t4t4t4t#H4Ht1=t4 t4 @t4@@Dž[]A\f4Dž7Dž<@Dž8DžDžHDžIEjf. fDH tHtHO t+WHHτuH9HDHH tt HWHDHϺH9HDff.f1-DwDAAv 29LcB yADAAAAA+H9 FTDуBLAAAFLEAAAA?A AAE ȁE A A(A AAAtA A@9f.H9LBLAAAA?AA A AAAtA AH9BLAAAFLEAAA A?EE AAE AoA AAA D!AAD!uD fAA AAAAAAD!닉مEff.USHHHcx|H9|.HT2|HcHHHt6HHcx,HcxHHHpPxH[]1HM;||ӐSHtrHLt tTH1E1QA1R1jQHjjjjjjV1$CH`u ǃL[fDHAE11Q1R1jQ1jjjjjjV1#H`[@SHtrHLt tTH1E1QA1R1jjjjQHjjjV1_#CH`u ǃL[fDHAE11Q1R1jjjjQ1jjjV1 #H`[@SHtzLHt t\HHK E11AHR1P1jjjjjjjjV1"CH`u ǃL[fDHH E11RA11P1jjjjjjjjV1J"H`[@SHtzHLt tXH11AQAPQR1jAPE1jAQAQHjjjV1!CHpu ǃL[f.H11AQAPQR1jAPE1jAQAQ1jjjV1!Hp[H>ATUHSHH79|R1~C|H}HcHH HDzHH)fDHAHH9u)։Љ3H[]A\ÉT$ 1L 1T$ H5 H81AԋfD1D@Ht#t@t;HH@S0H:1H5s H8H1[LO8MA(IAIHH9rAxIq(A"tBHH9sjDA>tXHAA'uH9s߀y'tHH9t̀8'uH@H9sy"u 8"tHH9uHDH @IIHGH9r!>t-H 8>tHH9uHf.Hff.%>wH@HsD߃A_:@(v| vqvcvXvJv<v.v  v /H߃Avލ@vӍ(vȁ_:@ f.SH52>u+=Qv0t!01[fD[f%>wH@HsD߃AI?HHH҃v|vnvcvXvJv<v.v  v 5DX߃Av@vՍ(vʁFЃ vFӃv_t:t1SH52=uc=QvV0tNvCH51߃A<vHH)HHH@H1H@1@-NHVq@ ߃AHH>߃A<vHH)HH@HvS1Hul@tb1@-uZVHN߃AwGHH8߃AvH)HP1Hw!@@-!Ѓf1DHWO fDH ȃ߃A<v1BH1 wzOЀ wHrzwDD$ E1Ҿ>HU@1DLHt,HEHHH}DLHUHHtDH}LHUHH9GHp87,H8 DE8HE8HP(H+P HH@=s =b=LH پ HHE8HP : t_@8HcL$HHP ځ  !ȃ!HEHHH}DL@4@8EIcH}D L$]yfAWIAVAUATUSH(LG84dH%(HD$1Mh Ip(AUЃ߃A<_ ЁI9AII]fЃ߃A<B<2H9HL)L9ILIW8HZ j8H1LH$H$~fI9APT@$AuL)H^I@Ld$LLHD$UAƃ>wMH@Ls=1HL$dH3 %(HH([]A\A]A^A_$P{@A4DA:tt11A4D!A:dHcD$)49IW8MHr > B8HLLHB xAƅuaIW8HcD$HJ H)HHJ AuHR(H)HAIG8HcT$LL1HP AA>&H@L9$IG8L+l$IHpLfDAuIW8HB(H+B H=~1AV1@B4B8LfDLIsH9tH H92%,h$fL8MG8Mh H& nLf.HUHSHHGXW\9|)H41H`HcH4HtiHC`CXc\H1 9wHK`HcH,эPHkPSXH[]6uH` HH@11HfDHt7GX~0HW`1HcȉGXHtHt HHwPHHf1ff.fHtrUHSHH(,H09|1H1HcH4HHt7H0(ѣ,HcH,׍PH (H[]ø1Hff.HtG(~=H01Hcȉ(HtHt HH HHfD1ff.f1Htu@~gATUSHC,ue{@~'PutH HHHH{8HG tA[]A\@CDc@H(DH5 H81tFHC8[]A\H@ fDH0AVAUATUHSHHl+tkHC8Ht5Hxt.L HC8Dp4LhMH5/ H8DL1ALu L(C@D` LDH5 H81AՋC@(~6tb=[HH(uHK8HQ(H+Q H~H[]A\A]A^@H߉D$ ,D$ H[]A\A]A^1ҾYH {@~HH{@뚃ff.@AUATUHSHH8HG 8&t:1ҾH1ۉH H1۾ H[]A\A]@x#uxxW8HHHO W8xuHG(H)H=`1AA<;PЀ wvH\PЁAO HU8HJ <;$AuHB(H)H= HE8E1H@ PЀ v1ҾHHE8HP :;H@81HP 1  AH^B<{Aq\ɁHAO HE8HH ;H@8HH H H1 fDH}8HO ,fHHHO W8xDEuHG(H)H=1AA;B< wvH\ЁAO HE8HH ;AuH@(H)H=HE8E1H@ B< vB<A~R1ҾH{HE8HP :;t1H@81HP DA'\8@؁= =o=DHHH}8HO HB8HJ H}8HO 8HG8HO 2HwH}8HO 1f.HtgHtbAWAAVEAUAATIHUDS@HH&HEDUEHLH[]A\A]A^A_f.1ff.fH'AWAVAUATUSHH6 \YIHIHt)z\t#HrPHtuYMt^IHS81Ht HB H+BHB@HHHI9rw1ҾYHH[]A\A]A^A_@MucHHS8HHt Lj L+jLj@LH@KDHH9s@1H[]A\A]A^A_IvHC8Ht L` L+`L`@LKHI9HAHD$ HD$0IHH|$@H\$HHD$ IL1ҾLD$ ܱLD$ H 1LP1ҾL蹱2@CH9 L[1LЬ1LIEP,;H|$X LLH 耬H|$X RL H H|$X ff.AWAVAUATUSHH|$HT$dH %(H$1HHD$IHH:Hn:HD$0LveHD$)D:tHI94*H]u݃dt:H|$I)HA1IHfH|$1E1H$dH3<%(LHĸ[]A\A]A^A_HcA7:uAunH<1LHD$HLCIfD}tHD$0IHHD$]H|$Hu!1H=ZINHD$L8ߍA<|_tw:trH|$HT$,L=߃AvH@v=(t$_tH|$LH &fDMfHt$/fIA\$cHuރcH|$IjH1IHAfoD$0dAfoL$@HfoT$PP fo\$`X0fod$p`@fo$hP$AG`IHIA/uA^: D9|HW1ELIcHuH01LH1DL-IcDL$IHnHT$IHcHI)IH IHt ItLH)H)HօHDL$u:LD D9|$H1ELIcDL$DL$HtBIIDC/C,DuuIcA1:DHD$0HD$H|$1H:1Lfot$0A7fo|$@Afot$PAw fo|$`A0fot$pAw@fo$AP$AGdAG`:LIH51 u=Qd0X!0*Dff.@AWIAVAUATUSH(EdH%(HD$14H8%Hw HH,hHŀEuHG(H)H=Ѓ߃A<v_:H?H^@Ѓ߃A<?B<2*~^II)L9TIDIW8HZ Db8H0H|$dH3<%(H([]A\A]A^A_A4A%%,hD$uHG(H)H=AH\$LHuAA6>߃AIG8l$HH 9 @8HcLE1HHHH >wH@HI@Af߃Av3I?HHHHуfDAdFAHcD$D)ƍL9MIO8Hq > gA8HLHHA h>oIe;l$IG8Hp HH+HHcH9|?> Iu ~ H)ƉHHH L1>!=$D߃AvA$@cIG8l$HH 9 >@8HcLE1HHHH vAƃ>wH@LI@AD߃Av%A@vA(v A AdAuIO8HA(H+A H=AE1HcD$)t9IO8MHq > A8HLHHA Aƃ>:I+A0H5$1D4LA=Q:A0-AH51DH5g1DH51DLI8Hw FH nL1H@L1H@LA_+A:!A$@A$(A$=A$ A$=A$A$=A$=A$=~A$=kA$= XAA D1fLAAuIO8HA(H+A H=JANE1A4A8oA4A8AFЃ AFӃA:A_ArHӃ2z h-= XL(LH?HHHу 1LHD$HD$@4@8oH5S1dA$=QA0A!0A1Y@4@8A$(AA_uA:k1HЉHUHSHHuHW8HB(H+B H=LC8Ip t-}H@8uBH D9@8u0HHuHH9HDH[]fD@u<>wH&@HsHIP H)A@8H[]DKTfD1ff.AWIAVAUATUSHdH%(H$14%%,hD$ uHW8HB(H+B H= AwLd$L11LLl$ nAfD|$HcÃDt IG8HP : @8Hct$LHLHP AƅuAAuIW8HB(H+B H=ALL1AƃcA4D dJAugIW8HB(H+B H=*L|$"@HcDLIG8HP : @4@8 1LXA7f.E1H$dH3 %(LHĨ[]A\A]A^A_ÐtH|$ pID$HcHϻ1IHHcHt$ H9@AuIW8HB(H+B H=A1L$C 9|!H۸1LL$HcHIHcL|$udD7IG8HP : th@8Hct$LHLHP A;\$ uA4D.d=hDDIG8HP : u@4@8@LfDHd nL蔙Hݹ1LCHcAD51LH1LE11LAVAUATIUSHuHW8HB(H+B H=H(HHC8H@ Ht 8:I$[H]A\A]A^8:uSH;HHtHHE1E1H{ 6[HI$]A\A]A^fvfD1[H]A\A]A^fHHIHt HC8H@ 8:I,$LTtE1E1HH H袢HjIHq11H=lHIHLHMH1Lf.E1MHH HH+HH}11H=lLHHIHMt Ht1LI,$H,11HHALIHD111LH뒐AWIAVAUATUSHHHt$dH%(HD$814HD$0%HG8EH@ AAʚ;D$<"t<'HT1dIH6IG8AALJ HD$&LLt$,d1LLD$D$ u B+9T$uHD$I9G8AC9|#H1$LHc$H;IHcL|$,6IG8HP : :@8HcL$,HAHP uH@(H)H="LL…u0AuIW8HB(H+B H=>LLD9= ==HcAA1Ҿ%L蔔L-ݴ11H$LAUH$HL$8dH3 %(SHH[]A\A]A^A_fDIIG8HP : @4@8fDLHt$HF(H+F H=LA1L-(1KLȾHcAAtD$9LHl$0DLd$0A$Lu%fDHT$0HBHD$0Z%t &u܀x#tHHLHD$0jL-1HHAUHT$0:;%uAPuA@u1ҾXL1afHݹ %L謪1L-16fD1Ҿ$謒1,DAE1E11ɺLLAH|$HL$L!1LH$L-1H$Ho WL誨11L1HcAAVfAWIAVAUATUSH(HW8dH%(HD$14%%,h$D$ HB uHH+rHD$<"t |$'(LHA1dIHLt$L1AdALJ L1D$D$W @ƃ@u Bw9T$CD9|&H91ET$LIcT$HIŃ2~JAu/I8HG Hw(H)H+GH=H{A1HcL|$'IG8HP : +@8Hct$LHLHP …u]AuEIG8Hp HP(H)HIHH+PH~H@(H)H=~fDLL;$= ==Hc1Ҿ,LADD$ AXHL$dH3 %(LH([]A\A]A^A_f)IG8HP : @4@8fDI8T$AT$hIG8Hp(H+p HOLT$軹T$:fL訹AIG8Hp @HR(H)HI8kIG8H@ fDI8Ozf.1Ҿ+LE1.fD$ HcLADAH nLH-1LE1D$ AmH1LE11L\D$ ADH1LE101L.!@AWIAVAUATUSH(4HW8%EA,hD$HB AĀuHH+rHD$<"t |$'LHϭ1dHHIG8E1dALJH@ D0IcE1HD$IG8HD$@HA%E1L"Iw8HF D0EuGAurHKw8CA<uHˉW8< uȋG4HٍP)fD HG8G4< teLG IM)EIHHH9A< H&HH_ 1DLLLL$L$~L$LL$I-HHt IDLI8Dg4Do8AH_ < <<<&Au$HG(H)H+_H0H=At|I8HO P%P_Dg4Do8HL[]A\A]A^A_-G8HHHt IHIp8uH[]A\A]A^A_L1Ҿ>HIG8HX H[]A\A]A^A_I8AI8UHG(H+G H=ALñI80I8豨AIW8HB(H+B H=L肱AHtIDLI8Do8Dg4B{ eHCHKG4HG G8W4)ʃ HG8G4< tHHt IDLIp8H_ HH)݅IHO HHH9tFHLƧI.HHGIHH[]A\A]A^A_Hu$AWAVIAUATUSHXdH%(HD$H14H8%HG MIIʚ;8HHH PLAI~8IG8Hw DPDW8fDz HrG4LJHw G8BAH|$^AIV8HB(H+B H=L/1Hj PLDJG4MPD)B IG8G4A< tnH:1Nd!dH $HHT$LHIv8H $H<(HHT$Hv H<-LbdHp1H$LH$HHIF8HHHp DMMHG(HH+WH)H~3H=I~8%AI~8Hw HG(H)H=zLI~8Hw eI~8Hw >A}-Lb-,H1HL1ɾ-Ḩ ėHݠ1HPv P_LW4I)B IG8G4A< tD$(9GdtLH ZI~8Lo IEG8HG A}tzIHtSHHtGALuA--_HEL9r&H,1ML$,HLL$,H HÃ|$<H<+HD$@HcT$DH$D$ -L.HG1H3@4@8LզH|$ƝAIF8設HHH|$蔝AYIF8;+IF8t$(;pdtH ZL8LIHFHH6AL(I~HA-2-)1ҾPLL$,zL$, @4@8w=v8A =v*A=%@4@81LHf HŚ1H=vY =vL=L1H +Eu HH' -L:1AA „riH1dAd1HHrL认4H5eNfDATUHSHHtmƒ߀XSу߀MuyK΃@LujL$AF9|-H_1H<$DT$L$HcDT$HH$IcH<$|$,/DAD$0D$,HcD$4D$02~LAu,I8Hw HG(H)H+wH(H=AHcD$41Iw8H~ ? F8HLHF Ht$ADAE9KAA=A =A=H$IcL?H$H ALJHvH1HD萑AF4F82H|$nAIw8HF(H+F H=L@=A =A=H$IcIG8ALJHH 9 @8Hct$4HHH IHt'ALuHHIDH4$H~1H<$= =vs=t1Ҿ?L@^ALJG6@4@81@4@8<腏1H:~1H<$1L芯H ?Lu$@4@8HHIDH4$f.AWAVAUI ATUSHHG~1HHIE8H@ PЀ ELߤIE8H@ 8.E.LA A豤IE8H@ D AD$< v2Yf.CA9H1{1EHIcHtaHHDdLD{YIE8H@ D AD$< vMcBD=fH|1H1HH[]A\A]A^A_H|1H11LfD1L@AWAVAUIATUSHHG8H@ ؃߃A<H|1 IHLA IwIE8H@ (@Hc˃߃A<v7E<2v ALH[]A\A]A^A_fIsf.A9Hy1ELIcHIA,LIU8HB (@u.Au#HJ(HH+rH)H~?H~(H?I}8|Au IU8HB HJ(H)HL輅IE8H@ fL1HD$QHz1LHD$H[]A\A]A^A_1ҾOuZH1[]A\A]A^A_1L 1USHH螷H{8HG 8e-xn#xcxoxdxixnxgHPG8HW xH)HC8H@ 8=H`HHC8H@ <"/<'1Ҿ!H~Y6 tu1Hy1H1eH5q HRHC8HxPHt Hy1HC8HhPH覂HvHHr{yǃ @1HH[]þ1ҾKH1XHzH肒HHC8H@ 8'ulHZ6 *HtH5q H)uaH{(HHx1Hk(hHHHHC8H@ 8"t1Ҿ"H7XHx1H1&H5p H赕tH5p H袕H{(HuyHC8HHiHx^HH# QoH{(H=/HH H1 nfHW8HB 8<[x?QxxGxm=xl3H &H&HHHATUSHHJ B8x%HǃMH=IHH)RHC8HL`Xq ~Hu?HH{8HW 1Ҿ9HcVHK8HA >t'HtfDHA Ht>uHԝ[]A\f1Ҿ8V@H ~ AHmHH=} Iz>>HBG8HG zv蠌gH1Ҿ9|UH$KH} AH;mHߌ eH"mff.fATUSHdH%(HD$1HG8H@ 8%t'HD$dH3%(oH[]A\f.H舜H@HHT/D EHC8H@ 8;HJHHHHHH{HЃIVH@\E1HH H߾{xfD1ҾHT@L {HH5J| H81A1@{0t DEDEuHHHz Hj111H訑ǃrfH{ HHEL9r&Hmj1MT$LLT$HIAA2~MEEu0Iw8HF HN(H)H+FH=Hl@AE1|$4I<.IG8HHP : @8HcL$4Ht$LHHP $…uMAu3IO8HA HQ(H)H+AH=YH'Ht$LӜH90= ==A.HL$/LHs aHj1LA"D$(Ai|HHIG8HP : @4@8H|$ T$2lAT$wIG8HH(H+H H^LT$tT$IH|$ kAIG8HP(H+P HLtH@(H)H=I8kHL$H AL`f.fRx>\$,9_dtLH Z aI8HG HPG8HW xIHpELE`HHPI1Ht$>DHL$H&q /L_Hh1LfD1Ҿ.LH@1L&D$(AA.I8D$,9GdtLH Z `I8HG G8HPHW xtl|$(vqHhh1IHxALiHHYILHt$F1L耙Hh1L[~H|$H5>p =vseAL< wH HsH< H5UA H'SHC w#H HH =HP@< wH Hs.H< v<'t<"uHzH HZ8tjH uE1LH^o L]jfDH$.f}fHHCwH)kHH < v4E1LHn L]vjHof1HHHsH비uHIH4kH-f1HIff.AUATUSHHH8dH%(HD$1HG 8D9hdtH} ZH)\HHHt"LuH@8HtH{LH$HMt H[d1LH<$HgHBd1YvuH| AH[;1Ҿ0HC'1Ҿ1HCH{8eH{8HG| AHb[zff.AWAVAUATUSHH(H8dH%(HD$1HD$HD$HG 8HL%H{ rXHkH|$t6HEPHt%HHtH{LHt HxHMt H@a1LHt H/a1HH|$Ht Ha1H|$HHa16r<"<'Ht$HDHHCHiIHI~@t1Ҿ\HN@LjHC8H@ 8>t'H葝H{8HG 8Nu xDHHt+Lu"H@0HtH{E1IHL$LЃ{tVHCHHxhH5y \t5H{LsI~PTHL$E1ILHsHx AH=W^vD9hdtHy ZHWH׆H{8aH{8{xAxTxAHPG8HW xH4taH8HIH6L)LJPMH{HHT$LAHx AHTVFHg AH;V뉾_un11H5bg L藂IFPH='x kHCHǀ@YHf DHUHT$HD$HPHHtH@(HtH{LHH9[LHQaHA>H'HBf AHJUH5rf H5HHJf [HjGH|$1ҾTH=Ht$HIHHt(LuH@0HtH{ME11ɺLHCHt[HxhH5v \t*H{t@HkH}PtsME11ɺLH~1탻 MH=jv UiHCHǀ@Hv AHT/11H5Ke H耀HEPqHHLtH@0HgH{E1IHL$LIHHd [HE5H|$tm1&Ht$HnIHtHHt(LuH@0HtH{ME11ɺL1탻K1ҾTH3;낐ATAUHSHH8HHG 8#t(HcǃHHED[]A\ÐPRIuFxMuxPuxLuxIuxEuxDuHPG8AHW xuDFwxImxXcxEYxDOHPG8HW xHA蓗#Ht AHQ fHHt QD[]A\xExQxUxIxRxExDHP G8 AHW x pp/AWAVAUATIUSHHW8HB 8(n E1E1L=Wt LЀLxL耔HHLMuHHHsHxtE1LHLCI$H._u HX1HLID$8H@ <|Z<)LLHH[]A\A]A^A_DHp_HHtMtI.IIIHH+JHHR(H)HH8ZLHr DOLm1Ҿ017ZLM1Ҿ1L17Lӑ/ff.AWAVAUATIUSHHW8HB 8(+E1E1L=r L~L蘔L_HH)LMuHHHsH蘕tE1LHLBI$HN]u HW1HLID$8H@ <|Z<)1Ҿ3L6fDH]I$HH\u HV1HHMt II~IIsHH+JHHR(H)HH8X1ҾCL5HL[]A\A]A^A_L}1Ҿ2E15LE1fUHSHHH8HG 8NuxOt5H襍HHE Ht H[]DH1[]xTuŀxAuxTuxIuxOuxNuHPG8HW xt$Hzt$HNHEHt 늾lHp AH߉D$ LD$ ]SHHH8HG uHH+WHC:IuxD{HH[鶄fDEtcNuxMu݀xTu׀xOxOuǀxKuxEuxNuHPG8HW x#kfDxN{xTqxIxI]xTSxIIxE?xS5HPG8HW x{HW(H)HH{8Ht$nUH{8Ht$HG @xDxAxTxAHPG8HW xH[DxRW8t7HHHO W8xt @ixEt2xEuxFuHHHO W8xu{xFuȀxSuƒHHHO W8xREfxKxExNxSHPG8HW xxTxYHPG8HW xff.AWIAVAUATUSHXH8dH%(HD$H1HG 8A AHD$@uH@(H)H=HD$8LHHAuIW8HB(H+B H=L蝍\Ht$ LqD$AuIW8HB(H+B H=LRHt$(LAą|$tH|$@HtHiBAIG8uHP(H+P H;H@ 8>tL3IH|$8HALH@@HLREHWILL$PL$Y^AtFHD$@HD$HtAAI(I(HLTHH|$@Ht H$O1AIG8HP(H+P HLYIG8%`HW跈MLzYLmY#L`YaLSYIG8Hj ALFH|$@Ht HuN1H|$8HtDIW8HB 8>eD$ 9BdtHj ZLELu;Hi ALEHW DLE Hsi ALvEvdWHsi DLNEULHi A5EH|$8H..L:XIG8UI(HtoHLSHt_A"HcL$I(HL{I %VI(H1Lk~I HD$4LHHD$CTIHIH5VIT$4LIVII LLJRHH@9E|Hk HHH4HJ1HHW`I E1HLLvOCHt$HSIIHHUIT$4HImUIkEHHDLhLl$L`LfIL‰D$45UUHct$4 HcHLHAHAHA t>HT HA(U"H`J1HHtgH"HEHA(HTIKILTII TI H1L`|HJ1Hff.fAWAVAUATAUSHHH8HG uHW(H)H 8#xPxCxDxAxTxAHPG8HW x#HOHS8HB u-HH+JH~HJ(H)Hf<)tvH{<(1<|H+v1Ҿ4H|)11ҾEH1_)HH[]A\A]A^A_DH@TH{8HG D9bdtHf ZH@HpH{1kHHyHC8H@ 8*uEHpu_1kHH1H{8IE1HG |H'pH{1M.kH{IHOLkIEHtLh MoM} MH聅H艃IHHeH{8HG WHW(H)HCHRH{8HG .fDjHHLxIG Iv)x*Mt"H{LFjIGHtLx H{8ED9gdtHHFd Z$?H{8HG G8HPHW x,^HHMd D>H{H1sH{TH{8HHS8HB !H{LesaAWIAVAAUATUSHt$ EIG8EHP uHH(H)H:(LځIHDIHiIHIW8EHB EuHR(H)HtJI1HH4$Ht H{hHL$dH3 %(DoH[]A\A]D9`d~HvcHH4$HtJLu@H@HHt7HtHF HH{HDH4$HtH~ vhfH]afATDHiZ ZH3izTvzYlHBG8AHG z"<%@2{@(HyY HA2HX AHA2HX DHA`2zLfDSHW8HHB uHR(H)H~68 H$H9tLH~V Z.I}8L IGG8HG AMfDM^GxNxOxRxEHPG8HW xLsIE8HP :[9XdtHU ZL8.L^AELEu ADžLI}8E1ADžHW <]uz]tVL]I}8HW to<uMt%HrG8Hw BtqIHufDELE:9_dtHT LZ0-I}8HW HBG8HG z'8L&LI}8Hw ufDLgL1Ҿ_L)?@KL1ҾSL>1Ҿ;LK}HD$ff.@ATUSHHH8dH%(HD$1H$HG G8 HP HW x HsqH{oHHHXHPqHHTIH$MǃL`HHhqHHt"HHtLuH{LH$HЃtHC8H@ <[t <>u*H[HD$dH3%(ukH[]A\f1Ҿ=H1.JfH74/ @ǀ@@u  xdHt$H+PHP@|$HIpPHH|H|$ HS8HB uHR(H)H>/u x>HlHC8HP Hp@HH+HHL98H~HH(H)HH-:HC8HP  >fHHt0H@pHt'LuT$H{LHt$Mt=D$~4I^HIlH;Ht H.1HH9uH\$(dH3%(HD$H8[]A\A]A^A_fDH|$ HH.1t@z>")ft$9pdHH|$ HN H%D|$D$MHMdDIM9tI?HTltHH1H-1H|$ H07 AH\%HH(H)H H{8S/HC8HP MD$L$9|6H+1LHcL$HHt$HIƉHcT$HI,HHT$ IDt$ITIDfDH7HC8H@ HH(H)H H|7HC8HP nCfHy+1IHtbHǃD$*1Ht$xHL DH#_H1]H|$ HH1~]H|$ D$H^>=ff.AVAUATUHSHHH8DdH%(HD$1HG EuHW(H)H8H[]A\A]A^HPG8HW xLmL MLC8Ix uI@(H)H=t5Au@8LH@1@8HHuHHBqIL9uHS8HB(H+B H= HgH{8HW < @<@tHw<>1ҾIH It-MDELHL 3 H HJ MEr"HHt+HHtLuHMH H{HUЋx~2HHcxH<HL:HDHpUHH"H84H{8HG .@LmL MLHjIHD@R<:JBHJ:A6@8LD2@8|HHuL;,$AMEDHBG8HG z]h?NHH3H83LC8Ix b@<>H&@HvHIH AH)A@8tu9DHO81HQ :vzezrzszizoznSHBHHHA A8zt|HdHC8H@ 8=uyHOHdHC8H@ <"|<'ueHNH9HS8HD$HR :'tx1Ҿ"HHD$H[þH=r1ҾKH11Ҿ!H1HgNH9HS8HD$HR :"uHENHD$ff.AWAVAUIATUSHH8Ht$HHT$PdH%(HD$x1HG HD$8<AHPHMEG8HW xt$ EHH+oE GdEHt$hLD$DlHD$HIU8LHB H+B)cEIU8EHJ 1@>HD$pD$<1HD$HD$dHD$ HD$`D$@D$8HD$(&@HL$pHT$IHhLbIE8H@ 8=LLLbbHT$ Ht$(LHŋD$d5ADžIH9D$pH6t$`rIHT$pL9H9RDKMt S;T$|2DLDL$0JAMSDL$0D$IHcL$8Hcҋt$dI֍y4H M$HD$pMDIDIE8ILIIcH)HcL$`|$8D$<HH*1fEEuHP(H+P HA>HH >./u y>L`+ IE8HH HHH+pHp@L9 EEuHr(H)H;1@>@/@ @@@u @ABdIED$`L+zD$dLz@Hl$h$EuHB(H)H=Ht$L[iIHI(H7L_IE8H@ 8=VLJL_HT$ 1LHt$(RH^IT$`H+IM9yI9 M9 |$` Mt A:9 E1E1LHD LV T$dt>H"1H1IE8HADžHD$pI9IE8y>kHЋt$D9pdDL$8EtCt$8IVNH It8H HtHxHH)HzHzH(H9uI H HT$hHt$&HDEMDl$@HhE1D$IHUHMIHT$pHu H9l H91ufH9I9 uI;TuAH(E9'Dl$@MhD4$9pdI H@ LIE8fDLH? LE1)1$IE8HpIcى|$8I0H)HcL$`HH*1t$`EH1< u@H< tf.H< uu)HcɃH| $HD$0H L\$0LLLL\$0/D$`H9l$0tHz1HHl$0ADžIH9D$pMAH5R L]t$`H>$H5 HHD$0Z]LL$03IpMH1LfDHIT$`H$(IH 8tOHHD$0'LT$0H* H8G HLT$0(LT$0M9 |$`t$@tRAIHH<H HT HHz9}L1L-D$@H' LxHD$H\$xdH3%(HD$@ HĈ[]A\A]A^A_DH08D$`}L(IE8`L(SL'IU8HHJ HHG(H)H=I}8I}8Ho H+oHB(H)H=L'IU8HJ 3I}8HW aHj& LSHD$t$<D$81H,DI tHI|FHt HM1HH9uD$1MT1MtLLHEIDHt\I1 @H9~HI;uItI9tHtI9DuHE1IH> LfH9lHl$hLHTIHu HdHD$HH(HD$PL IEHLMALغDD$@I}EACHIAV)HcӋ\$ L SPHt$(LHAH ?fLx#LL$MLH$H\= H$H5# LXAt$`HHHD$0ZLL$0H5N LLL$0XLL$0K )HcHt$`HcHt KH## DL1IE8I9E1E11ɾH-; LMgC;D$SC$I Ht$pLK\KtHLHL$(LL$ 7HL$(LL$ HCAy0Hc$PHcITKTPHcITKT D$AH(E9' b@EtIAIHH4H9 'HT2fHH9J A9}HLHL$ L $vI9GL $HL$ CDHHITLL $L $AH(AE9'PCLLL$HL$ $LL$}AMHL$ D$pHI|LD$LH]: L $L $HpLH5! LL$0VLL$0IpH ALIE8EtLAIHH<H HT HHzzA9}1LL $CT1L $HcITH9{CLLT$0LT$0HAHLT$0!LT$0t$@tKAIHH L9$KHT HL9b,9}LLkH5 HHD$0TLT$0L1LHQ6 DL WLD$HE1ɾH9 3Hl$hvH8ME1LdH8 LHD$XLT$0XHD$XLT$0LH5; LT$0SLT$04E1E11ɾH6 LQE1E11ɾH6 L0Ht$pLLE1E11ɾH6 LUHE1E1AV\$ SP LE1H4 LfLL$0LL$0LE1H{4 LbLL$0PMHD$1LEM9iE1E11ɾHc5 LHLE1E1cH5 LLT$0LE1E1dH4 LHD$XLT$0HD$XLT$0D$D9BdI D$@D$<HtbD$81ME1LcH5 LLT$0H5 LDL$dH1HD$1D$8$f.AVAUATUSHHPDdH%(HD$H1H1HD$HD$D$ 9(v 6kh7DxEtHp0t HUHCHC8DDh4EHc'HHDEHHHL$HT$E)DLsPEt DCEH{8HG /O>PHPG81HW xHL$HdH3 %(gHP[]A\A]A^HL$ HT$HHt$H6fHS8HB H+BHB@HD$(HcB4HD$0Dx~ŃHHcxH<HL:HDHpE1EHIH4 H HHq6x~2HHcxH<HL:HDHpD9tD)HHT MChwHS8Ht$ HLt$ HB H+BHB@HD$8HcB4HD$@pBB&fHPG8HW x2HHt,HHt LuH{HL$HHT$HP5x~2HHcxH<HL:HDHpD9tD)HH3MShHS8Ht$ HLt$ HB H+BHB@HD$8HcB4HD$@JADH?H@xH2L$H{HfDN%@USHHH8HG uHW(H)Hq8<Hx/>HPG8HW xH HOHŅuHS8HB(H+B H=HHJH{8HW < @<@tHw<>1ҾIH^Ht,HLHH L  H. LEE1HHt H@xHtLu H H{H3x~2HHcxH<HL:HDHpH[]fHH߾J[Hd0 ]vfDHH{8HG zHBG8HG zh#V#iUSH8dH%(HD$(1Hc(~"HHoPu.HtChu=HD$(dH3%(u\H8[]fDH@HHt+H1븐HS8HHH,$HB H+BHB@HD$HcB4HD$ S>ff.GwNH5 HcH>Du@t HG8H@ @< wH&Hs51Ҿ@1Ҿ@1Ҿff.AWAVAUATUSHHHG8H@ [t?>t"HH1Ҿ=[]A\A]A^A_DHH[]A\A]A^A_"2fLJDw@ 2HC8Lx YHߋhdL`@LhGH H4HC8{@HH ~Hxt 9<9hdt5IA]uD9s@H1H;GHC8H@ LHH+pHp@L)IL9uH- HD9s@~>HHC8HH y!ty[jHHC8HH UHC8H@ @]Of.ATIUHSHHdH%(HD$1HS8HB uHJ(H)H@H{(<HCH4HxPSǃHǃEHC8HP D <%HD`dH+hHh@u1H@(H)H="HCHC8HP :lH AHHB YLH{8HPt1HW < rH1 AHuHS8HB(H+B H=NH>Hk8H2*H߉E`>H{8HW $1Ҿ9H]HK8HA >t!HtHA Ht>uHH[](fDH7 AH/H&Hz>bHBG8HG zH[]ÐHC8H@ fD1Ҿ`H!@H&HHP H1Ҿ99HH[]'H[](E1HHM H߾aNfSHt/H/=uUHS8HB HR(H)H~58sAWIAVAAUATIUSH(Ht$LD$Ht E1DHHA:HHǀ8M5HHD$%H9D$t H0H;H0HHxHxHHǀHH)1HAH)AoAoOHAoW P Ao_0X0Aog@`@AooPhPAow`p`AopxpAoAoAoAoAoAoHD$HtHCH|$H|$"HH8HH|$HD$>HT$HBHH*H} HHT$*%HT$HH EMHs8HtDHHt3H*{1H5o ,Hj*_D1H,HN*H129ff.@HtSH>ǃo[fff.@AWAVAUATUSHHHIIHDLLHDM#IHN5IHUHL8I9t H0I>H|0IHHxHHǀHH)1HIooKHoS P o[0X0oc@`@okPhPos`p`o{pxpooooooMtMfLLu$@AWHAVAUATUSHH HII0HH4MtH8Ht H0L+H[H5IHt HHHGH@ H:H{LLIH"HH$HC8Hx H@(H)HnI|$Hk0LHH=1 ID$4HC8H@ ID$HID$ID$ ǃPIHCH6HLH5( Hǀ@HHLID$XE1&H{HCLgXHGXMtpID$@ID$Ht`DH@@H@0HuHDMtHH+Mt Hh0LE1HL[]A\A]A^A_fDE1HCMtHH*fHE1*FH߉+I|$~M|$fDH5 H1$Muf.HH1_#ff.@1DATIUSn-HHu>ǃ1HLGHtbHHHtH[]A\D1҉HfLHuHtHH[]A\f.H1v)@H5 12#1%DHtoHtjAUIATIUHSHHHtRL Ht H2HCLkLLk  HLHLHC(H[]A\A]1H5O "HL[]A\A]p ATUSHt{~wAH+HHtdDH1HIHtG?HHt/L I|$ HH@OHH$H[]A\@LH((1H[]A\ff.AWIAVAUATIUHSHH(~6=HtHEAHXH H߉EHH9MHLDL`HtAE1E1IH5& H(HH5^ H H$H5 HEHE~0IHAJT J4 IE;|IL+HHAGICA44IHHHGH{11H H$HG HD$H!E1H{HHGHG HCHHp AǃEǃAEA8H߉8I H I(H(&HC8HP <<tvHCHHH9KPt1ҾUHHCsH|HPLrLuMtSIAt%AWtIwHtH~Pt A~fIF(Mv0MuHCHxE1HGHCH $HHHL$HH EAHHI\L+HHǃHǃ Hǃ(l$MtLHD[]A\A]A^A_DAYATFz/1ҾVH/vf.IXHX]PH=% IHHǀ@H{Lc11H0 L$Hu:L+HAHǃs#LfDAHD$H$L+HAHǃ#LHA!1ҾUHXHxE1ff.AVAUATUSH0dH%(HD$(1HG8HD$H@ 8&x#HHHhC]H}E\HOHSLH9HDу_1H H߾YH?H}PHL)H=?HGH<H11HHHMH^ HHEPHt1H1HDHEEu DžHHSHHHDLEu HuH{HD$(dH3%(H0[]A\A]A^ht˃=ALU @XHl$tLH H1HHoHH_LQH{HCHmPH3HH'LML H1H{HAH}HcH@D$HD$HHHLHt$H{xhH{P]H|$s@fEX1HHߍHHcHHe LeLu HEHE Mu4jHH=H{PL1M9GMM;Ml$0HsLID$0ID$($HtH8uI$H1H/ HHH^HHNDKEA#@Hl$HYH HcDHHHLH{H4HKLMxHLH{H9HHDȋD@HD$DPu`AXZH?H}PHL)H=?HGHt<HtAY1ҾYHVHH|$11HHI[H|$Wf4tHcHHSH9HDу7LMxHHH{HD@Dju`AZA[Y1ҾYHzE11HH=EH|$HE\w H}lHD$HuHcHHNHuPHL$HAAH|$Hp t EX1HHߍHHcHH)LeMu(H{PHlL9e Md$0MtgHsLwHtH8uI$HHH5 Hu~uHFHU H9t zuHBH{PHǃuDžڃHuPHXHuHtxuHxuf@rDsH}EtktbHG0tSHsPHKHDžHP0Hp(HH@HtHDHE H|$EtDžeHuDžH|$Ho(Hu@H9w@tlHD$Hx0HuHE HD$AVIAUATUSHG8D(HP uHH(H)HMn8@ AwHӋhdH+XHX@<&1LIF8AHP HH(H)HHH+HH~Hp(H)H~BfHH@H9c9hdZLH  [L]A\A]A^fDLhIF8HP HH+HB@ID$H9CPt1ҾUH$SDHHs8HHHt HF@HHHF H+FHH\H|$tHD$HHǃHǃ Hǃ(HCpHEpHCxHExHHHCpHHCxHǃT$ LID$PID$X#T$f.HL$(dH3 %(GH8[]A\A]A^A_fDYfH|$tHD$HHLID$PID$XHxHS8HB HJ(H)HP1MI$HtHhXHt I|$H1ҾLRLI$HtH@hHtI|$АH$dH3%(H[]A\A]A^A_DEG0IG I+GA)?@L([H5< H81AADŽ$ADLIL$8HH7 Hx IL$8HQ H+Q)ЃFHQ J:<@ƀ?^@Uu1ɺ>?L 4LA$ADŽ$ADŽ$L(sH54 H81AADŽ$ADL(;H5 fL(#H5 H81AADŽ$A[DSL(H5 Au)E$E9HD$8HI;G E$Eh Ic$(LH@I$HtOA$(? I$0HcA$(H<tHt9I$ H >]]LDD$TDD$A$M|$8Mw MM/ ' LD$DL$A9I$HE HH A$L LI+WH~ uIAE4AE8Mu 9~Mw A>< IDŽ$@AADŽ$fA IG 0P@</; 3 ADŽ$ A @HD$@Ew4HD$HE$AIG 8<2u(E$EVHT$8H9@H7E$xEnI$p0[LE$E`HL$,HT$HLHt$@蓥IA$MgE$Et;A|$t2It$Ht(ID$PHtH;FuI${A!$I|$8HW  LH ILLA$x~6I$HcA$xH<HL:HDI$pHL$HHT$@ELE$LE)AʩADŽ$ADŽ$DL@IL$8HHHx &IL$8HQ H+Q)Ѓ~HQ J:<@ƀ?>@5u1ɺ>?LEl L A$&ADŽ$ADŽ$ f L(H5\ {IG I+GAŅI$@HH9IDOHx IID$8HHx ,DDH9v1IcA</"']*VH94A|]LA}HcA>o .I&IITDFA)A4H92@>, @ 21HA(fDAMIH9s'AMIcIA:>H9~IDŽ$@@L(#H5, E$EAEIG @< ?L荴L-A$nADŽ$ADŽ$IDŽ$@IDVH9sIT:!ADDH9IcI$@H9wDADDH9]It$8HHx 1Hz IID$8H8Lh L+hIt$8LLHHx f.H8IDŽ$@AHIMw AFH\$PHEL: HPAFPAFP1|H E1HH+ LfD1AH9( Hc`AIG H|$PT$PPT$QPT$R@D$STLE$DLpA$aE$(EADŽ$AGfq0HA H+A)Ɖ@q0HA H+A)Ɖ}@Aw0IG I+G)ƉA|$@lA|$@L軹E$ELIf.AdMo@Mw?Ilj|$gLADŽ$ADŽ$IT$8MM)HB MH+BHB@L9aE$11A$M|$8yfH=% 4ID$ I$H[sDI&HIA|-RA|-FAuH9r NfHDAqHH9/:-uz-uۀz>uA͉!u@tz- A$ADŽ$u ADŽ$HT$Ht$L!#@z-z-u>--L華LA$k!u$@tJ-D?ADŽ$;fD"A$LHHDDL$I|$LDL$nfDz>rHBG8HG zA$I$Ht,HHt A$LuI|$HL$HLHT$@A$D)~I$I$A$HA$x~6I$HcA$xH<HL:HDI$pA$(ADŽ$EAAE$fLfDIDŽ$@LA$ADŽ$PI$Ht7A$Lu+HHtI$`I$hI$XI|$ADŽ$PLA$&ADŽ$AIDŽ$@A$DȃM|$8L!t!ZRP-[u xC|$IA}A|$@…t A+HIDŽ$@1LhI$HtLhXMtI|$HAH=s ID$ H1LE$1ɺ>?L٫}ADŽ$z-nu>--L蛫LA$wz-Ru>--LKzL{A$'1ɺ>?L 11Ҿ>Lf.11Ҿ>L迪fD$9BdH\ L远LE$~zO(zCzTzY zPzEu11Ҿ>L)*ADŽ$PLADŽ$IDŽ$@EA$ID$8H@ 8[8ADŽ$PI$Ht6A$Lu+HHtI$`I$hI$XI|$ADŽ$PLAADŽ$lfDIlj|$@&u11Ҿ;L2*LbHHDDL$I|$LDL$yHH@xHA$LtI|$Le1Ҿnx-L|$IAzH@--LHA >[IT$8Hj u|L}ADŽ$ADŽ$A-Ml$8Mu Mq1Ҿ,LbŅI$Ht)E$LEuHHI|$LA$IL$8EHQ HDuDA8HHQ H9: uA4A8A$x/I$HcA$xH<HL:HDI$pA$tZHD$0HI9fDHA 8FH4ADŽ$Hc11Ҿ<L蟦9f1xDxAxTxAx[HP AG8 IW x tnADŽ$A;HIMu HHRI|$LAADŽ$LD[L H#AWAVIAUATAUHSH8A4HE„tD$,HD$E1Iv8HH^HH-Hz HD$IF8Lx L+xHHx wAHD$IF8H8tHIv8HT$LD$HHx DL$EAdžLH8[]A\A]A^A_ÐtHL>MItI HtvI(toJDLHD$ IF8HH H+HHL$9Iv8I HL$HT$ D$DL$EpIv8Ht#L>MtI WIEuIEH=wsHD$HtiM~8DIH)xWHtRArAYp G^UDDLLc1AM~8Mt*IW IG(H)H= I+WH~ A6t7AtALVNLAH LDL$ϔLLcL$롃L>MfDLfDHHGHvH8H5 cHZAZIF8DH8HG8)H9DBD93DHD)DL$ Iv8HT$LD$HHx DT$DL$ E%1LDL$>ALcL$yAH8[]A\A]A^A_DH#H5n H81LݽH8Q[]A\A]A^A_fL8HAE„HcҾ>HLc1HcҾ>L$L$Hu-HcD$,| VD$,Ff.f.|$,EIv8HHHHx IN8HQ H+Q)AÃtt1ҾLGAutIHtH@hHtI~AdžAV1N.EtAtt1Iv8HtHHtGHx 襵H HIF8H8HX H+XIv8HHHHx lErF0HV H+V)IF8H5 HH@H8RHIF8H5 HH@H8/Ht+A1ҾL AIF8H5 HH@H8Hu-A-MAWAVIAUATUSH(Ht-HHt%x!AF w;MHƾ#u+H([]A\A]A^A_@ tMv(MtAFuM@ W uց HHuIHKHHt IHIEpHt?H{(Ht H!0IEpH3I}pHC(6H:HH1҉H趞H^LkI~@1ǃǃ+HD$HHt$LA~D$uKtA} H"T$HH[HC8HP <<57HCPHL91ҾUH軎CDHt$HV0HF0Iv HHB8IHB(HR0HuLt$D$LvLD$It HǃH߉D$D$f.Mn@MxAEf.YHS1 z/-1ҾVH蚍yI?ID$1 LHLt$fHD$xHD$L``MuEqHIt$HHʶIHHHt'M$$Mt.HIl$HuMT$fDLXD$ʐHD$H@(HD$HYgHr I1ҾUHmAWAVAYAUATUSH((MtIM HLLLL$AIIH脸IHID$HD$MtHM,$HD$MtM|$H= 賸HHǀ@HH&I$HI$%I$H5 I$H5Qa I$I$$H5 I$ڴADŽ$8I$HCP11Hk HHEPHCXHEXSHHHHD$HT$LHHEHHIl$H< HX@HC`LHE`E$ADŽ$ADŽ$ADŽ$ADŽ$#LsLHCOLsID$8HP <<HEI9D$Pt1ҾULAD$utE$EDDH|$t|$`t\Mt HD$I$LHEPHEXHtHE`H讵H(D[]A\A]A^A_@E1H|$tHELxHD$L8Mt$LHIG(M0MuHEH@Zz/1ҾVLf1ҾL!Hn 11H^HHHHHT$HT$LHIl$LADŽ$ADŽ$E$ADŽ$ADŽ$ML51ҾL聗V@MtHD$I$f.LHEPHHEX0AwD1ҾULLAKfHjqHff.HtSHH[#1ff.f0tÐHծ0t H鴭@苵&1H20H9tU H8tJkQǺRݴg0HJf.1USHHdH%(HD$1޺HsHC8HfHbHHtHhXHtH{HՃ$HS8H{(HB HR(H)H" HiHHtH@hHtH{HCH6HxhH5Z  DSEHSHtFD΃Et D0Et61Ht$dH34%(H[]@HP(H+P H!H賯fDcH蒯HC8H@ KfHJ(H)H81LHHtLHHDLHHE1[]A\A]A^DL`[1]A\A]A^D1DL@HfDHAWIAVEAUMATIUHSHHL1HH辻IHtVHHtq1LHHtoHHLHDLLHE1[]A\A]A^A_ f.HtHH1[]A\A]A^A_D1DL`fDLPHfDHtwHtrAUAATIUHSHHH_1HHHt-HH肢HDLHA[1]A\A]BfH1[]A\A]1ff.fHHAWAAVEAUMATIUHSHHeH轩H1D耻HHtP1HHKHt6HHˡHDLLHA[]A\A]A^A_fDHH1[]A\A]A^A_1ff.fHtGAVIAUEATIUHHSH舫EMLHH[]A\A]A^f.1ff.fHAVEAUIATIUSH@H蘨1HHtOH@1HH"Ht-HH袠DLLHA[]A\A]A^cH[1]A\A]A^D1DAWAVAUATUSHD|$PHHHHIIMLD$~H֧H1LLFHHtN1HHaHt\HHHt$DLHHA[]A\A]A^A_f.MtLAH1[]A\A]A^A_@HfDHH-Pуtw.HHt8t3Gƒtnv.HG8HuHG(Ht xtfDHH@GpfuHG0HtOHZHPHHDHÐWpftHÃu+HGhHuHH8HtHGHuHt[ATIUSHH0Ht@H/HHuI<$Htf.H/HHuHL[]A\ff.@AVIAUMATIUHSHHHtq:DD9}/?HcH HL!L,1;[]A\A]A^fDC HH:0B4HcHHEHt;;f.Hً00HEHt:AHL 11ҾYhL fDAWAAVIAUIATEUSHHHHCHtaHfHS@H@ H;HtqAHGH8HLpLh@ D`$H[]A\A]A^A_fH0(HfH@ @H;HuHHCDH0HHHt7fH@HE%HSHPHHCI@L} 11Ҿ17Ln 11ҾHD$ٕHD$ff.@USHHtuH_`Ht HH[]fHى0H0HHtOfH=$ @@@ H= HC՘HCHH]`H[]1@L̶ 11ҾmfAUIATUHSHHH9tzGIԍPwtfHm(Ht_L9tZEPvYtTuH]`HufMt LSuHHtH{HuMu1H[]A\A]@I9tH[]A\A]ff.HAVAUATIUSH;v@IA Md$(MM;d$@A|$uIl$`Ht#11EHLHtiHmHtIEHtHHtDcuHHtHCH}HpH9u11EHLDHt@ fD[]A\A]A^f[1]A\A]A^1fUSHHHtHtHHŽt HH[]HtHHH[]ՑDHH[]rfAWAVAUATUSHHHILcHH|$qLIfM4HI~HtI9sH0HHtPHLH+:Ht$LH|+ܩBD3HH[]A\A]A^A_@1@HL 11Ҿ@HHHtw<:tptlATUSHDHHXt:ut.IH1I$Ht+H|HtBH[]A\H1[]A\D1L= 11ҾHD$^HD$뾿L 11ҾHD$8I<$HtH0I$HD${@Ht7Ht2<:t+t'fHt:ut H1ff.fAWAVAUATUSHdH%(HD$1HHA< H&HHH< ߃Av<_ufHHf ȃ߃A<A<2 E w*H&f.H,H vLd$H1L舓=` af؃߃AHcD$L1IIHH62f؃߃Av gHcD$L1HHÁ~H5Ʉ0ڿuύ=Qv0tvH5g0訿uH5%0薿uH50脿uE1HL$dH3 %(H[]A\A]A^A_Ƀ߃Av<_uH@1tLd$H1L(=H50=Q0!0zSH6HDCӃ2vhI?vmE I&IHcD$L1HHb= v1I@I@HwI&Is1HcD$L1HH= fIrύ@b(E_7fDHwEE1FfDAWAVAUATUSHdH%(HD$1HHA FH&HHH у߃Av_ulHHʃ߃A&QӀ2E w(H&HH vLd$H1LXÁi ؃߃AHcD$L1IIHH2f؃߃Av oHcD$L1HHҎÁ~H50誻uύ=Qv0tvH57~0xuH5~0fuH50TuE1HL$dH3 %(H[]A\A]A^A_ÉЃ߃A<v_uH:E1tLd$H1LÁH50ú=Q0!0pIDHHDCӃ2vxI?:E I&IHcD$L1HH=q v1Iyf:Hʃ߃Av _\HH DHʃ߃AvQӀ2HrEx @IH^I&Is1HcD$L1HH,=> Irύ@(_AWIAVIAUMATIUDISHHHJHt 9x]IEHt HHIt$MrAHE1LL6IHIEHtIHHu?HHt09k$}{ uHCI|$HpH9t 趪t҉k ALLLHM>H1[]A\A]A^A_DHCHxHtC?t>T$PtHxt/It$LL$H97LL$f.HHt{$|{ tHHuIL$It$M?ymylyUHI;DHL5HHt:AHLLHtCI1H[]A\A]A^A_L~H[]A\A]A^A_HCLcI1ƃHT~ff.@HtSfDH(~HHu[fDAVAUATUSHt 1HXH[i0IIIHHHHxHHHH@xH)选1HCMt LHsH2;LfT$HǺIE1rAUATUSHHHr`0IIHxHHHxHHHH@p1H)xHCHtRHHtFLjHCMt L8oHCPH]a0Hk@u#HH[]A\A]DLoHCfkoH8t`oHHH[]A\A]D1@Lq 11Ҿ6k@HH1ff.@ATUSHH8_0HIxHHHxHHHH@p1H)xHCH(nLcHHCHI`0u H[]A\snH8thnHH[]A\1@L 11ҾFj@ATUSHHh^0HIxHHt{HxHHHH@p1H)xHH_0CHkLcHuH[]A\mH8tmHH[]A\1@Lŋ 11Ҿ~iff.UHxSHH]0HHtmHxHHHH@p1H)xHH^0C Hk@u HH[]lH8tlHHH[]ÐL 11Ҿh@UHxSHH\0HHHxHHHH@p1H)xHH]0CHCHt HkHCPH]0uHH[]lH8tlHHH[]ÐL] 11Ҿg@ATUSHH\0IHxHHHxHHHH@p1H)xHCHk@A<$&t%LjHCH"]0u>H[]A\@Il$HcwHcA<;t9HaHCH\0tkH8tkHH[]A\ÐpHaHC@1@LK 11ҾfeAUATUSHHHZ0IHxHH HxHHHH@p1H)xHCHk@A<$&tOLiHCHHx~HtHPPHCHC HSPH[0uFHH[]A\A]Ml$LvHcA<;tALo`HHCfDiH8tiHHH[]A\A]DpL-`HHCQ1sfL 11ҾveKSHHpHtHX@[DAWAVIAUIATIUHSHHH\Y0DD$ `DD$ HHH{H1HHHCXH)`HCLc(M|$@LsHL{@EMIHL`cHCH HL言HC HCHfDA1HH[]A\A]A^A_f.HiX0DD$ `DD$ HHH{HLE1HHH)HCX`HCHC(LsHELkHt=HLHC HCHt!HP0HX(HtHHP0HX(HuHC Mt2IT$XHuf.HHB0HuHZ0HS8Hu7HX0!gH8gHI|$@HL}uIt$@HH1aLXfHCHG@HtHH@^ZHX0L1IDI\$X:fDAtBL 11Ҿ`b AuID$@HtHL]uHW0Lf.HtHE1H11ff.fHtE11DHtAl@1DHU0ATIxUSHHHxHHHH@p1H)xHHV0CHCMtL[HCPHV0uH[]A\ eH8teHH[]A\LM 11Ҿ`@SHH_HtHX@[UHxSHHT0HHHxHHHH@p1H)xHHBU0CHCHt HcHCPHU0uHH[]dH8tdHHH[]ÐL 11Ҿ_@AUIATUSHxHHT0IHHxHHHH@p1H)xHI\$@AD$MtLYID$PHU0uHL[]A\A]CcH8t8cLHL[]A\A]DL߁ 11Ҿ_@SHH}HtHX@[DHt?UHSHHtDH;k@t HHuH[0HuH[]HGAVAUATUSLg@I9tfMtM$E1HtLHItgtRI~HtHzIVLLIVP1LIFIn@IFP[]A\A]A^IFfDH_XHuEDH{@H9t HtHHSLgHk@HCH{HCzH[0Ht{PuI~@HofDAF(Htt HG @1DHtOO1 w=H%B*t.HW1Ht#1ɃzHR0HHuf.1DHtGO1 w?HB*t/HGHt&xu @xtH@0Hu1ff.HtGO1 w?HB*t/HG Ht&xu @xtH@8Hu1ff.HtGO1w?Ht/HG8Ht&xu @xtH@8Hu1ff.HtGO1w?HAt/HG0Ht&xu @xtH@0Hu1ff.HCG7USHHHo@HHEPHt0HwHx`_H9HEPHsHxx_H9vHEXHt5HsHx`p_H97HEXHsHxxV_H9DHK(HS0HC8Ht&{H9YH9Y HC(HtHB8HC8HtHP0HC8HC0H[]@HG@HtH9xPH9XX{H@XnfDHO(HW0HG8Hf뀐H9YXmHQXdDHA VHQ<HEXHs1Hxx腄H@PfHEXHs1Hx`]HEPHs1Hxx=rHEPHs1Hx`8HKAUATUSHHHN0LH{xHt`dHHCxHtW~LkXHkPHǃI9tMtLHCXLRPHtH{PԂHCPH4PH{HtbH{`HtfH{hH+MtJHLSt7H{HH-M0HLSH{&f.H{hH-uM0UH{HtMuUH{pHtMuCUHHtMuNUHUMuUH[]A\A]fDH{pH-M0HtHL5SHHtHLStzHUHL[]A\A]yf.XH8CXH4fH-L0"@H{pH3HLRsfDH@H{pH>AWAVAUATUSHHG"Lo@MtMHSE1f.tpH4L0:PYL=K0H{Ht(Ct tMtHLQuH{AHAMtFIVLCHtHt HLs0Hk( MHVMuMHIHE1HH{XHtZhCPt L=J0t H{`H cDHIHR1VH8t VHCtwL=lJ0f.H{PHHCXH9MtHLfPu2H{PL='J0ACP?fH[]A\A]A^A_ÐCPH[]A\A]A^A_cHUSHHHJ0H@Ht`Hu[{PH{Ht^H{HtdHtHHOuPH{H-mI0UHEHH[]1tUH8t UHH{@Ht{Pu@H-!I0HHEH[]fH(eH{HaafDff.@HtSfDH_0WQHHu[DHHG(HHHPXH9tYHt%HB0H9u@HP0H9tHHuHHfHW0HP0HtHB8P1HHJ0HHXHtHA8HP1HøfDHGHH0ATUSH Hk@H%HXL%G0H{Ht`uSH{Ht)Ct!tHtHHMuH{A$I$H[]A\H{L%AG0HtA@#\CPw(H{XHtzdH{`Ht,`|tH{PHcZHCXH9MHtHHL5H{PA$(RH8t RHHk@CHH{hHL%nF0A$H{`Ht HuEA$CH{hHHtHH[Lt?H{`HtvL%F0HHHup1[]A\fHuPp[1]A\Hrv.u HLsHSHt2Bt*HӃrwHsPHtLDpHSHuH9tHS0HBHfDHuH}@ZHHXHEHLH[0Hu,@H]HCPvtH[0HCPwHLfDH]H{tHLrH[0H{uHsPLSoߐHHS0HH[(H9u|tf1ÃfHtGHtBUSHHdcHHHyH8HH []Df.USHHGH]f HHcH>@HPHtyH[]tD@HwH@YHtXqHHtKH1bHHxHFHHiHL[]A\A]A^A_E1ff.@AWAVAUIATAUHSHHLXMtNH!@IHt1IHrt!IGHHxH9Hr M0MuEMe@MI|$PIEHHHxH~AH5u HoIuHoIHH$HI|$P1HLhMIHI|$XHtH1HLEMIDIH,qu;M0M$IHuH$HtHH20DE1HL[]A\A]A^A_MuH$HIH5B HptPI|$PH ui HLLIHH<$tH/20H<$MtIXuxI}@LDfIHD$HL8MufDIM}Mt[IHptIEI|$PHLHHKIHu+I|$XHtIEHLHHKIHtfDHq10H|$H<$)1I|$XHH fh HLKIH<$HzH10H|$H$HhH^ff.AUATUSHHFIHHtIH5g HoAEMMd$(MAD$PuI\$`Hu)OHtH{t HnuHHt(H{HuHuH{tHH[]A\A]DM9oI\$HHaH{HtxHOH{DH$nuMd$(M8H1H[]A\A]MtI\$`HuHL[]A\A]qA}t2Me@MuHH{<H1.00HHtFfH=? @@@ @=H=:f HC0=HCIE`HI]`L\ 11Ҿ9ff.fAVAUATUSH+~IIHHH5> HlEuLD@Hm(HEPuH]`HtADH{Ht+LltHSAuHtHL衣t~HHuI9tH]HHzH{HmL-l]HSAu HJHLG6@A}t?Im@Hu1H[]A\A]A^fHtH]`Hu[H]A\A]A^BH;,00HHtFfH== @@@ J;H=Dd HC:;HCIE`HI]`xLZ 11Ҿ7YAWAVAUATUSHHdH%(HD$81HIE1~Hu%HHtzuHRIjIHt+HL$8dH3 %(L'HH[]A\A]A^A_fLMMI21L"Z 2L/LHL<HuRHLY L1R22.XZLHLLMDjMuALY L122v.@HuLHIIfE1HdefaultIH$<DHF~<H3 )H9~@AWAVE1AUE1ATE1UHS1H(H4$H|$H}HEu5L5)0PAHHPAIH9A EdHuHH;3AT$HDH<HH9tAH9uE9}UHEHt}tHGHEHufDH9,$t:HE0HuHE(DHHEH;,$tHE0HkHE(HuDHt H)0H1MH)0$L$H([]A\A]A^A_LHHEHE9=HUHH4$H|$HHE9XEHD$Hc'0HMcN<LHT$HHHH8'0HT$LLHT$HIIcA}IHuHH4HUHL}XM@IHEu5L5'0PAHHPAIH1A EIwHH93AT$HDLHH9tt%H9uA9t(M0MdMIIGHA9uIWHH4$H|$/HHtE9|ZEHD$H&0HMcILLT$LT$HT$HHH%0HT$LLHT$HIt@IcAIIwHH4IWHC17M1NH;$B@L^U 11Ҿ1HG'0HH([]A\A]A^A_E1LU 11Ҿ1H([]A\A]A^A_LE1XLT 11Ҿm1H&0LzAUATUSHHteu_HtZH_XHIHu 1H[0Ht'H{HdtHH[]A\A]fMl$@MtI}PHuD1HH[]A\A]It$HcIHHtH{XtHH[]A\A]I}XHtIt$H0IHHu1@HtuHt f1ff.fAUATUS1HH~HzHt HBHHIHHrH}(HHP0IHu@H9s@tHFHE(Lc8HC(MtbIT$0HS0I\$0HS0HtHZ8H{8u HtHXXMtA}uHH[]A\A]DLpFHH[]A\A]fHk0H]8fD1i/I\HWHFH9ATUHSHHtfLc(Hu@Hk(H9s@tHEL9E{H}tnHE HX0HC8HH] H[]A\f.t{H} HtuHCH9GxH9oHsP[H$IHE fDH]H] HH[]A\@H}Pu9{bH1[]A\@HPzHFH9GlHsPHZHHH1@uH}XHCHHsHHPH-HtVH9tQxtHHD$WHD$HY+HUXHu >fDHHB0HuHZ0HHS8@H9ufD1DH]XH@1H6-nH~O wwATUHHSHHtbHtdHGPHXH9HK@Ht(HHtHƉT$ #(T$ HCPHH(@HCPfuH[]A\Lg H@,HHtHHp;H9uMtI;l$0uHHL[]A\/@H{PH:HCXHCPff.Ht/Ht*UHHSHH;HHH[]+[Ht}Htx~trH9tmATUHHSHUCt[Hu@H9s@tHBHU(HE0Hk8HC0HS(H]0HC0HtHX8HHtH;j tu[]A\1D}HE0HtxuH@H9EuH{P\.HU0HHrP|\H}0HI*H 0LHEHE0HZ []A\HH[H]A\>fDHsPHr,HEPMtSHLn4HLHL)-IH yJ LG&HIVHl$HEHpPLHD$HL$DžHHEufDHHp0Hh(HuHE cM+H'0LE1H I LL%HI(,AUATUSHHH0IHI`HHHxHHHH@X1H)`HCM~IHtrH#HCLk@Mt=LL+HC HCHt!HP0HX(HtHHP0HX(HuHC HT0uHH[]A\A]H(HCfk(H8t`(HHH[]A\A]D1@LF 11Ҿ6$@ATIUHSHHHt7HHt+"HHSHHuH[]A\fDHPHHtHk@MtLH|*HCHt;HP0Hu HHHJ0HX(HHuHZ(HHS []A\DHC H[]A\Hff.ATI1UHSHHtFHh@Mt=LHO?HCHt6HP0Hu;HHJ0HX(HHuHZ(HS H[]A\DHC H[]A\Hff.HHSGHt^ǃ uPu?H|$19HHHHD$H#Ht$HFPML>+IH|$LHHHt H}MALH*IHd0LInII9LI9tHLHL)#HrOqH|$H|$H5z 8HD$H}L9XE<#"11PL ItP1M9vAE<;uHt'Ll$.LA#LHHD.IIcEff.Ht}Htx~trH9tmATUHHSHKBCt[Hu@H9s@tH.HU(HE8Hk0HC8HS(H]8HC8HtHX0HHtH9jtE[]A\1D}tZH}8HtuHGH9EuHsP`DHh2HE8fHZ[]A\H}8HH[]A\DH{PHuPHHHHIH 0LH2HTfH+UHSHHGH~H9HG(H|HxtuH@ HtlHx0ueHH@{EtWHs@H9u@tH<-HS(HH]8HE0HU(Hk0HtHj H[]ÐHHK0HufuHEH9CuHuPHBH0HH1[]HHHH[]@1DUSHH}Htx~trHHH?HHi,H{H](HtXHu ){t"H[0HuHDHH[]HHHH[]1HH[]HkHk 1HH[]ATUSHHIHFt~HtgH t~Lg0LI|$8I|$0Hu@t'fDHk(H9s@t H~+Hu@H[0H{0uHk(H9s@tH]+H] H[]A\ÐHuH1H[]A\fDxHGH9FjHvPAI\$0LHt /IH} C.H] fDSHHHtOHHtt H[~uHWH9VuHvPH|$@H=H.HD$HH[AWAVAUATUSHHt-IHGH9 HcH>fE1HL[]A\A]A^A_H[]A\A]A^A_!H[]A\A]A^A_}4DHHL[]A\A]A^A_H10AIHxHHmHxHHHH@p1H)xHCHsLm@H;50Le(EH;5O0H;5R0Ht/MIHHECTH{PH„t M;H0HL/!IH9E}Cƒ<3HKHHt3HQHLHiHEHSЃ.LCMDIA7LLǹLLL$L$L$LL$HIIA I9tHIG8Lx0My AxJI@H=MIDHuCpfEpEHp0IVH8GH8DH{`H1HKHHE`HHEP>fMt L;k@KHuLe(HEHE IMU@H8Hf.HKHH)HsXHMHL~HrI|$@1HHL`(HCHHHPI|$@LIHCHMVHpI}I?LmHH{Ht?Hu@HhHE HEHtHH0Ht HHH0HuHE toI|$@tgH{@Ht^HxtWHs(HtNH%tBHsH{@2HHt(It$@1HH HE0HfD1HH[]A\A]HrHtW1 HHtH{HE(HEHHtHu@HsHE 1HEH f.HB(HtwHx@뚐H{@HPHs(OLHu fIHHW(HuI9|$@HPIDHpHEHufH{HEHHgfDHBHu11 HfDHSHI|$@L/HEHfDHH1off.@AUATIUSHHHtuAHt<1E1DHE0Hh8H[0HHtHLa8Ht HuIfE1HL[]A\A]ff.@H1HHff.11ATUSHHHhA HHCH{EHt H&/HEH{pHt HEpHHt HCHEHCLELEH{PHE HEHt!3HEPHtkHHHEPHh(H{`Ht U)HE`H{Ht5HHHE HEHtHP0Ht HHP0HuHE H[]A\H1[H]A\f1H#HtHHf1HfHt7u1Ht,H1ҹ|HtHH˘1HÐ1ff.fHt7u1Ht,H.HtHH}D1HÐ1ff.fHtGUSHHt(H-9 HH5% H=Hu H[(Hu1H[]1ff.fAUATUSHHtmHudL- DLH5?/ Hf=HHt5H5 H9Aąu@HH5 9HH=/uKH[(HuHA[D]A\A]@H/HAHD[]A\A]HD[]A\A]AWHAVAUATUSHH BIHHt ~-MDA} YH)C 1L5 "fH[(HCuLH5d H0H}@LHC HCHt!HP0HX(HtHHP0HX(HuHC {PtXH[]A\A]A^@[LLLHE1]A\A]A^ܛ@1H}@HCPEHu@HL1ff.fHt GwUHh HSHHHH@ 4Ht$HHHH[H. ]fH[]fHt GwUH SHHHH@3Ht-t1u$H HHH8) H[]DH[]ÐH HAUATUHSHHOwSHu2"t?HHt H/HHHH[]A\A]H{@H H2IHtHUIHt5HLH_ HHH/LHH[]A\A]HHLHH^ []A\A] fHǃNAWAVAUATUSHdH%(HD$1HHHHu_Ht$HI@IHt7t$HH{@HHIjIMt H/LMu1LH1HAHL$dH3 %(u-H[]A\A]A^A_fLLLHD1ff.@Ht1D1DHtOGP1wDHWPHtA2@t9@ w-H&HsHt< w Hr1Df.HGUHSHHXHHGH9t-HK@Ht6HHt*HƉT$ T$ tH{PH HCPHCPHHHCPHHCXH[]f.H/S HHtE@C { CHX/HHt6HCH[fDL 11Ҿ&@L 11ҾH_/H1fDUSHH9wtH/H HHtk@EHu%E HEHEHH[]@Hy/{} HEHt81HH[]@L 11Ҿ>@L 11ҾHw/H1uff.HttHHGHfD1DHVH9w>Ht9UH SHHH/Ht"XX @H(H[]1DL 11ҾHD$YHD$fHtGv twwff.HtOUSHHH-g/WHEt#H;Ht tHEHH[]DHHuDHtHHtWGttHa HDHWHtH)HG f.H1W9AT)UHSHGWH?HtGuRHKHtIC IH3I))C L9w)H# HCSHDc )k H3[]A\CH[]A\ff.ff.@HO1DG WEA)A9ATUSH9A9wGָGdHH/H;HtJHHCk []A\DExC4HHSHtH)HIHHt7J< HCH;뛸LB 11Ҿ{L; ff.HtGHH>HtfH|$M@fDHsPHt'HD$8HHa%HCPIGPH|$xI9uBAHC0HTIG(AHtLx L`(H[(II9DCA@vAuHtHHtHGHtcD9p$|]Hw!HH0HHGD9q$|1HHHHuHGHH0HGJf.HO@D9r |B HHufDIwH/xIHHxHHHH@p1H)xHH|$2Mg(HM|$H\$XHSHHH|$xDD$HHEHt$HH|$(H`~H|$0MpHD$xHSHHt HH1Ht$X{HEPLD$@HL$pH|$0iY^H$D$HIGHAO{3HCH$u {ME1HH@LH@L|$fDHL$gHD$ H|$H9HxPHsH|$ "H)HPPIGIG IWPHC`AHpDL$HE-H|$!H|$(H|$x HD$xEH|$0H%LHC`I`H$HH/L|$HHLd$PLd$(H\$XILl$h+I|$H$HH$H0AIHf@@ @H$HxHt@IEH$HxHt &IELmLMjHD$xH$Ht LMH|$0ELHH:L|$@H|$xM@HtMt I9~D$FD$H\$I fLt$(L|$@H|$xf.HHx uH9PuH@D$HIGH;Lt$(L|$@1oL`(H[(I%LHH{$|{ uHCHzHpH9t H$tDs L|$HLd$PH\$XLl$hHSHHhH\$XHD$xH$H|$(HHGHHJHHRHSHH|$0AHH$FH#H|$xLt$(L|$@HnM|$XHHcHOHtHwHHWHCHIG!HIGPHCXHIw(HH|$ LHsH{@HHqHt$ 1HHHsH,/HEfHsH|$8}IGtHsPH|$8aIGPI`H$$H|$1{HHEt$XHxXKHCPIGPHCIGHC IG iL 11ҾLt$(L|$@L\ 11ҾH|$xLt$(L|$@LY H\$XD$H%HL|$@oLt$(L|$@H|$xGL|$@H|$xH|$xL|$@H9AH/HLt$(L|$@H|$xL|$@AWAVAUATUSHhdH%(HD$X1HH͋JHӃHIIMMt I9h@HC@HtqMtdL9kI9b wH੾uIH|$XdH3<%(Hh[]A\A]A^A_f.IMu럐HC(L9tHt HjKHk@MI$H;dKLkMtKHH LHCMtI$Ht L7u H/LHsPMHI$@HCHHtlHPHt :x LHM MA~LH5 LL$ LL$ HKCIHL{HLkMtKHH LHCMtI$Ht LGu H /LLkCPHCXMAU.AYfDH}PIEPIEIE IuHhHtkHPPIEIE IUPPIIm@rLwIuPHt>Mt9I$Ht,t#HIuPHR DIEPIEHuDIE0HuMm(L9ufD1 f1HsPHtHttHHsPH HCP1DHD$HHD$PD$MtHI9$D$MIGHD$HMt 1IHt$HHT$PHHD$Ht$AHT$(Lt$ ILIDH9h@9Lh0MIt$@DH9IE0HIAUIE@uH9Mu@DfDCAH}PHCPHCHC vHsH2HtHPPHCHC HSPEDLkM7HHLHCMtI$HtL,H/L1E1>PIMu@H5~ HcH>Ll$IUHHH|$Hu@HD$ H H xH|$H@IUHH|$HHt HHMIGHHJLHRLIUHH|$AHHD$PQ=HQ HD$PIEHt$MEMtzIHLƺL$IE`HD$PHLl$HT$PHl$0Ll$5AHѾL=;H$HD$PHHT$PHSHD$HHtH(Ht3HEHzHpH9tHT$Pt ] HmHt}$|} u뿋D$=MEMttIH LƉL$HH2LOHIIMMTLtL]MtLLXxL]MtLL<4L]u}HMLE1H@HHUI׋R(uKMI_MgMoMw 1IAG(E MtM9H[]A\A]A^A_fDIMuIHIOHtAH9uM9guM9ouH}H޺诿HH@H9H/0HtML]I*DwIHHLL$LL$H@HHUB(IׅHHuNfDM?I?t?IHtILtILuKM?I?ufDIH5IL!IL H$Ht IwI Mw 1qfDHL $LIGLIGL $IGH}L/IH{fDH}LIHkSfDM9gWM9oMH$HFI H8II11ff.fMI1ff.@HHAUIIIATHIUHSHHwH@HIC(tnI{tOH fHHt@H9huL9`uL9huH@ BH{LtH{Lu-HHtH{HuHHu1H[]A\A]HC D1D111DAWAVAUATUSHL|$PHxHoLc_HcoDHrLfHHkHHt/fHIIHILHAl$H1HuHHHHH\:H1AHjHt+IIHIIMI]L1HuIHIHIL1HtMHiHt+IIHIIMI]L1HuHIHINT:L1Mt5AIhHt(@IIHIIMI]L1HuIHIHIL1MtMAIiHt*fDIIHIIMI]L1HuHIHINT:L1Mt5AIoHt(@IIHIIMI]L1HuH1ILL$IMHH RHHA(I΅uWM6MtHIVHHtIVLLtIVH|$LtIF 1H[]A\A]A^A_AHkHHE1E11j H@HE1jHfHHAWAVAUATUSHHHDGEHT$IE1H4$fIE9f~vIK,dHHs(tAF L;AH{ Ht+H$HKHSLCHt$AF D9t IHH9t3MtLAM?H{ Huf.H[]A\A]A^A_ÐK(Hu I9]AI{fff.@H(dH%(HD$1HT$HH4$H5@HD$dH3%(uH(fDHM HHDWEAWAVIAUIATE1UHSH(LL$LD$H|$!fDHD$ID9`HD$HOdIN<AG(tѐIHtIwH\tKMtIwLGt6MtIwL2t!I HtIOIWMGHt$HD$IHuHD$ID9`eH([]A\A]A^A_ff.@H(dH%(HD$1LL$IL$L%HD$dH3%(uH(vfDAWAVAUATUSHHHIINIHIHtjAV~b1fDHA9n~NIH\mHHËC(tHsH{ L;AHKHSLHsIL(Mu멐AF AD$ HL[]A\A]A^A_DE1ff.HtG øff.fHHAWAVIAUIATIUSHHwL$IHHL<@IL|$M}AG(1ILHIIHtILtILtH$HtI HtIwI}IG tpI?Ht3HH/H}LAm 1 fDH[]A\A]A^A_HtooL|$M}H/AoOAOoW AW IHt Hת/IHt HŪ/IH_H/QAG(\DI11I1f1H9Bff.ATUSHtOHIHHH9u<@HH;]t/H{LUxH9]tH{LUu H[]A\D1H[]A\ff.ATUSHtOHIHHXH9u;H[H;]t.H{LUH9]tH{LUu H[]A\@1H[]A\ff.AUIATIUSHH-0/UHHt]fH@UHHt^HH@H@MtLkMH5IEHsHH[]A\A]fDsH( H5 H81SH(H5 H81H/H1ff.fHt'H.Ht H@H1Hf1ff.fHt'H^Ht H@H1Hf1ff.fHtgATIUHSHHH9u HH;]tH{LUxH/Ht6HSL`H HH HAHHP1[]A\f.HH5 H81Ӹff.HtoATIUHSHHXH9uH[H;]tH{LUH/Ht-HL`HHHBHHX1[]A\fDfkHH5\ H81Ӹff.HtWUSHHIH1Ht.HKHUHEHHPHtHHk/HH[]f.1ff.fHtWUSHHIH1Ht.HKHUHEHHPHtHH/HH[]f.1ff.fATUSHt3IH1 fLHu[]A\1ۉ[]A\HtgAUATUSHHHH9t?L-[/IH+IT$HCH(HEHtHHHAUI9,$uH[]A\A]ff.@Ht/USHHH-/H;UHEHH[]DHt HH9DHtHH1ff.fHtHH@1DHt(H1HH9tf.HH9u@øfUSHHu:HHKH(HUHEHHPHtHH/HHH[]fH[]fUSHH莻u:HHKHhHUHEHHPHtHH/HHH[]H[]fHtGUHSHH'/HHt0HHhHHHBHHXH[]@1DH+H5 H811fHtGUHSHHHXH/Ht,HHhHHHBHHXH[]1DHH5 H811fHtHGf1ff.fHt;H7HH9t4H HHJHBH HHH9uHPHHHHHtOHtJAUIATIUHSHHHH9u fHH9]tH{LAԅuH[]A\A]fDHtOHtJAUIATIUHSHHHXH9u H[H9]tH{LAԅuH[]A\A]DHtOHtJATIUHSHHH9u;HH;]t/HsLCtL[]A\Df[1]A\fSH蓧H[Jf.USHHt1HwH1胾HHtHHPu HH[]f1HH[]@HtWUSHHt H[]fDH`HHtH谿HH腼HH[]f.D1ffDfD1fLcLcIIL9L9IH1fDA>tbA&ttA DHIM9v2L9s-EAHLHEIFHEIFHEH9tcHlH9uH=@ LtLEAF0z@fDHcLHAT-R@H=? L0LAF0HEbDUH8SHHw/HHH@0f@@ ݼHC Ht}1HHkHtQHC(HtNH聈HCHCHC0HH[]fHC(fDH{ GH/H1HH[]L 11ҾNff.UH8SHHg/HHH@0f@@ ͻHC Ht}HHkHtNHC(HtKHnHCHCHC0HH[]fDHC(fDH{ 7H/H1HH[]L 11Ҿ>ff.Ht_SHH(Ht ՅHC(H{HtHCHtH;H{ Ht 装HC H4/H[HUSHH\H8tQHHH[]HH[]鰻USHH/t7HtA>DNII(I DLkI 誗> H=1L}y II(kH=?D)IcMgIM~BItTI(軴I?HAAą1Ҿ E}AG4 HD[]A\A]A^A_I gI?HAAąxI Hc AW0D)A9DOEg0Aޅ또IIcD)AIŅtDI(Hc謘f.I DLu]ItFI -H=AG4ADcIG(0f.DbAD1ҾAI|AG4ff.AWAVAUATUSHdH%(H$1HoH_IH_IHSAׅ~jS AHsA;S8rH3HtHcAǃts1H{萊ulS uH{LA$HCH$dH3 %(DH[]A\A]A^A_@HH߉ADžy@HLHHL APH  HH( 1A{X ZHzML$H߾1La H  Hq n{Hھ z'A AWAVAUATUSH8dH%(HD$(1HeG4IWIHKH H>If-LE1҂ŅxEg4E HMLDHD$$HD$HD$ HD$fI l$$D$ 'VI3I(I HL$LHt$HAօHct$ I 薒I ͒H=w 9l$$1Lxy lII(萒H=HcT$$IOI)H~_IHL$I(֯HL$I?Hщ 1Ҿ L$xL$AG4 AfH\$(dH3%(DH8[]A\A]A^A_f.I d貕Z~A9hfDIHcT$$I)I SH='DAI HL$I?HщI HcD$~L$I(HcD$`L$AG0)9иOAO0|@I 迩HL$LHt$HAօxhHct$ t_I vIt?I 覐H=AG4A۪IG(bf\$ AUDI 2D1ҾAvAG4?ff.@HtOG4uHHtCUHSHHH'HƅH[]fHHH[]fATUSHko4`H(HtHuuHCHH{ ]HH=4H{ LcѬH;HAԉŅH{ HcpS0)9C0[]A\t61H4uy1ҾjuC4[]A\@H{(HCHHH{=HuS0S0[]A\f.苎HH=wfH{(LcH;HAԉŅy"1Ҿ tC4 rDH{(Hc脐뀽GC46fATUSHHHt@HCE1HtH;AH{(k0Ht sHC(H{Ht%H{ Ht rHC Hxl/S4HHuEAE[]A\н[]A\ýUSHHHH-,l/HtUH{Ht ~HEHH[]HEHH[]ff.ATUSHt{Hj/AHHHtgH@fHyHCHtwAD$v1&HCHtMH[]A\DD#DHC1@Lš 11Ҿu@H1@L 11ҾuH1z1鵦DAWAVAUATAUSHH(q/Ht$5H$HsIAD$D$M7I}HH5K_ ƨI}D$HH5&_ 表Lt|$w |$Hc\q/AAHL-`q/Il-fHUHHAH ATHEHtHЅtHi/H9EuDH肥HDD$11H{LHsH?|$w D$eHcp/AAHL-p/Mt(HAVHHuAAI AIHtHЅtHWh/I9uDHǤHfHh/Ht$HHt$H|$Ht$kHt$HHtIcH3HIIEHCIEHCH(H[]A\A]A^A_1@+fDHih/H DHHH H|$ΈHHtqH(H|HCHHCgDHIHH|$臈HHtL(H5HCHHCHg/HHATAUHSHH8tDHHH[]A\DDHH[]A\fDAVAUATUSHdH%(H$1H HD$HHIH_HILkL}  {8wHHKHC0HC0HHHC0uHK(HC0HHHC0uLkL H}D)M$LHL$AL2AIHt0HE1g8cLjH f/H|$HH$dH3%(DmH[]A\A]A^fH3HHH}H\$HL d M1WH HH# AmX ZHm[H{ H{ ISE1H}MH\$f.Ll$HALPH LPL ʛ H 1uHmLH AllH\$A1H ѝ H HmHھ 0lH}AyuH5^ H5R UHSHdH%(H$1Wm/HHHHiƄ$Hڋ H!%tDHJHDщ@HH)HH9v%</u/tsHH9u/tjHE|HtFƄ$H`/HH$dH3<%(u8H[]#H$1fDD$\tff.ATUSHHtHHt H !b/H9Ht H[]A\HH8Ht@d=HH8誇H5s HI8HHH8IHt*HkHHHH譙H{PHH8dHH`H{Ht H;b/H{HtH)b/HCH7pHC#fDHSHt?H5 HPxH1vH5 LaH)a1H5 HxE1LHŘ H!LoHCPff.fH=e/@Hue/@ATIUHSHHt tLHH[]A\%>e/fDH HHt(HHLe/HHH`/H[]A\fL 11Ҿ1dkfAUIATIUHSHHH5 HHctPH5 Hct8LLHIH9t HK`/HHL[]A\A]HھE1gH9u@HuLL1H[]A\A]WH5 H3ct#H5 Hct LLHHE1Gg\fAUIATIUSHHHt4HLLHHt4HH豕I9tHE_/HD$HHD$H[]A\A]Mu3MH` HLDH5ca LcuH1[]A\A]fDHLH[]A\A];4x4H[]A\A]fDUHSH2HʉHH5 H8HH1[]USH-i/H蓉H5Ҙ H8HH1[]f.HATUSHHH9=Ki/{إZHkuh:i/H;CCZHSH`uH=i/tHCH-i/H)i/H=h/Ճ[H]A\`fH#H(軈HH5 H81[]A\L%h/H(脈LH5i H81ށ$fˁ.fD談H(CH5 H81hSH=4h/菐H@h/H=!h/[SH=h/_Hh/H=g/̂[H~'Ht*H2H=N yfSH5 H= }HHt,H= H23H[ kf.[ff.HtH2H=Ö fDSH5  H= |HHt,H= H2賗H[jf.[ff.Ht'Lf/H f/Hz 1fDff.@ff.Sf/uqf/zH=j HTf/\HtHH8f/H5[ 1H=Q \HtHHf/H5D 1[DfAUIATAUHSHe/HH}(舂HH<HhH=e/HZHLkDc }e/He/le/HCH}e/HH;ce/Hle/w:H=Ke/&8e/H;CtzH(H9e/tHH[]A\A]He/sH8DH܄H5ݔ H811'zHH[]A\A]f~H(H9d/uL-d/L 芄HLH5ĕ H81A}HH[]A\A]f軃H(SH5| H81yff.1H5c ff.AUIATAUHSH#d/HH}(踀HH<HhH=c/HZHLkDc c/Hc/c/HCHc/HH;c/Hc/w:H={c/V~hc/H;CtzH(H9Oc/tHH[]A\A]HIc/rH8tH H5] H811WxHH[]A\A]fK|H(H9b/u)L-b/L 躂HLH5 H81A|HH[]A\A]fH(胂H5 H81wff.AWAVAUIATUHSHHib/L$H Ls(b/L{L9[{إZCZH=b/cH=a/HCH-b/H)b/|H"Hu(LIHRH9a/HZIl$H=a/I$D$Mt$Ml$AD$ H-a/Ha/H;-ua/H-~a/w$H=]a/I(4|HL[]A\A]A^A_fH-Aa/ofDLE1%[H`/M|$HHT$ILHT$H8H5 14z#zfDE1H蘀H59 H81uHt9HJR/H8H Q/H0HR/HH

~tOA%A7HcSA D=HcDAD7D@IEAD$ZI|$@S9DkHcD#H\$Mt$@IW7IcōNAUIHvN߀>wzI@0AA6D$@E}A9|HHH4A6HHt$HHAHfD@~t@%Ƀ7@HcAEH@ L҃T:7TDUfAA9IcDM|$1ۋD$MI|$S9kHcDkHcD/D/M|$ H\$MuTf.IcAuIHAv%J߀>H@HfDAAEuD$A9|HHWHAHA|$(9I|$S9EHcDkD/CH\$HD/M|$fAEuD;t$ IcōJAuIHv'J߀>HCHA롐~ʉ%7mfHt$HcHH fA9IcAD@I\$H;Et[HD$IHD$*fDIAwIcAIGH)H@4A?t"D9t$Ht$HHGHEL$(EPT$AF 9|"Ht$HHEL$(T$HD)IcL 1HcHHJF,0M|$0D$MI<$AHt /D$H\$EuA9}OIcōJAuIHv!J߀>wQHCHEDAD$AfHHH4AH~tʉ%7HcAU@ D5HcDD7D@Ht$H[HHAI|$PA]9McHD$BD=?Ml$PHD$A}Mu#q@IANJT=LL) A>tP;\$|Ht$HHwxHWHs%0HcɃHc@ D D˃D07DpLHHAHi~t%7Ht$HKHHHt$H-HH%0I<$HteS9}xM|$0MAADHt$HH?HHt$HH!HjM|$0MIAAOHt$HzHAHA];\$}~AIcITAEAWHTAEAWAHTAD$ʉ%0HcAU@ D5HcED87Dh^SHt$HH@Hdʉ%0ʉ%0UHHSH;XHt&HHHxWHA/HHH[]H[]fHUSHHH-cA/H?HEHtHEH{HtHEH{ HtHEH{0HtHEH{@HtHEH{HtHEH{HtHEH{8HtHEH{PHtHEHH[]fDHH/uH/tI./u"fDHIAP/ux/HPtHA/IHBRDHz/tA/HBIRA?/um.ug.uaWt/uTH@H/x.ux.uH/rjH9tDHHWu1H/PAHp@.ux.uDHA/t;Et6fDH@uHfy.uHqH9uqE1Dt@4H@uH9sy/HAtDH8/u H9u1HH9tsrx/uYz/t HHPH9upUDaH9PHH/u H/tH0HHwfHATUHSHHHHQHH@yHH̓H;~@%uDCEHDEXAA AwDSAjEAR@ vv EZAwA7fDMIĉ1ExCHu&H=/A|$Dd$ Hct$ HHHE'EH[]A\SjA@ vAAAAAAxDAWaA DF@ wVAGDHHDAfH=/~t$ Hct$ HH=:y 1aDw AGDAAAwAGD1ff.fHAUIATIUSHH.H,dH%(HD$1HfDƒ߃AlPӀ2Hv<=^<@MI|$ Ht Hl;/HH)AD$Hp1HMID$ ;@ImH,$E<[NPЀ pH(HH߃AHӀ2H<=rMtXI|$Ht H:/ID$I|$Ht H:/H4$H9H)AD$HH?ID$H,$}:Im1H|$dH3<%(H[]A\A]f<%uHsHs/tHt4H}0Ht H7/H4$H;H9tQH)EHt0 OIA$Ѓ߃A<vB<2w(HI%uID~t݀%AD$DHA ߃A<HtkCHt ["HS8HtH4/HCHH}LH)9HC8H{PHt H4/H}LH)9HCPLe[1]A\DB<uHffDAD$DHA ߃A<9IBf.1IFHC8[IATIHUHSH>HOHfЃ߃A<v$B<2w*HHЃ߃A<w܀%uHf~tۀ%u~CDHA ߃A<vzf.MtDAD$Ht\!vIT$@HtH)3/HAD$HH}HH)ti,8ID$@H]1[]A\@B</HHt$ 1LtH1LH\$ xH\$ ;/tHtCH}0HtHa0/H\$ H|$H9H)HEH\W5H\$ HE0H\$?=#d1Hr~A|$/Ht$HGHt$Ht$?9#`1H:rf<~<%SJЀ v߃ASJЀ z߃AkH-H}0HtH./Ht$ H|$H9jH)EHE3Ht$ HE0f<~<%AD$PЀ v ߃A<w{AD$PЀ ߃A<YfDHE0%P߀H0H}0Ht H+./HE0@!<H:H}0Ht H-/HE0DHHt$HH\$JHH\$DHHt$HH\$HD$qDHHHt$Ht$Ht$DHHHt$Ht$JRHD$uDHHH\$H\$HHH{m1)?H\$ HE0IHLd$Ld$LH}LH!@1>Ht$ HE0HE0HH @H;E(tK=@USHHt1HYHHt!HHFtH6f.1HH[]@ATUSHtKAHxYHHt8EuHH9uH[]A\@HHf.H51H[]A\ff.AWAVAUATUSH(dH%(HD$1HU?I9IE9D$HcHp+/IHBIA\$1Ll$D$)HcՍCDEL<vPC<>HCHr5LHT$DD$+LcD$HT$HA\$DIA\$yHcA/HL$dH3 %(LH([]A\A]A^A_LLHt@A\$I9f.~tQfD7IfDE1H=f H)/LE1gH=tf V%E@H@ ~7V0C׃s7 CS0CAx:ATUSH dH%(HD$1H{HVHHg@HHH6=H+HtCH5e Hf8IH*H1eH5 HdLHH(/H{HtAH5e 8IHHH5=Z dLHdLHHJ(/H{ HtPH5Ie 7IHwHH5Y hdLH]dH5}U HNdLHH'/H{Ht=H5d z7IHH{ HLdLHH'/DK(EH{0Ht2H5d '7IHHHcLHHc'/H{PHH5C cHsPHcHH{Ht.H5 6IHtkHH`cLHH'/H{@Ht=H5! 6IHt4HH5! %cLHcLHH&/H1#H=c $H0H&/H1HT$dH3%(H H []A\fDH{8H#H5xc 5IHtHH54 bLH}bLHH &/fLd$L 1 L(HH5 ,bLH!bH-fHH5W bHfH1/H=|b 1H/Hs%/16DAVAUATUSHto?IHutHt_*SHHtRLH73tH{@HtH%/HC@H};HIB/H8/E1[L]A\A]A^ÐRHHtHH2uH}u}MRHHtLH2AąlRIHH}H:IH.H.L.[L]A\A]A^fDHH2HIm.[L]A\A]A^H:HIN.Hq:HI6.H..[L]A\A]A^fH}0H;rHt H /IEH}PHH /IEPH}@Ht H /IE@H}Ht7L% /A$IEH}0HtA$IE0L9IH}HtWL%h /A$H} IEHtA$IE E(AE(fDH}8HeH, /IE8SfH{H>H /IEH}0H?/\ 3DpH{0Ht2AH'#/IcIIE0HDHS011HfDIc tuAD$DH/tfD Ht/utIDFED9}Hc)HAHHS0H< IU0@< HH9uIcHS0HcIE0HE0HkIU0tYu#H{t/HE0IU0t7H)@IU0:HE0OHH0uIU0Hc I}07*fH}H}xHt Hf/IEH{HHL/IEH{0Ht H6/IE0H}PHH/IEPH}@HzH/IE@hHE1*H*AH{HtJH/IEH{ Ht H/IE C(AE(IU0H/IE0{(rH=^] H{HtJHM/IEH{ Ht H7/IE C(AE(H}8HtH/IE8{(H{PHH{8HuHE1)ff.AWAVAUATUSHH?HHQMIH;.HHQ-H}MIH}.HH1-u2I4$HI}Ht 6H,H@L)L) fDH,ID$0efD1HH[]A\A]A^A_@H,HL(1@Hx,IE0UIt$I}*6[It$0I}0t\Aƅ1I}0Il$0HHNE1<.u}/Du EH./8KOʸfDH,LD8Tt|/T@Hf|/HPYHЉLcuJD0H/AքuEuXEH7HH5oZ ,HŅ2ID$0$@H=Y *H @Hx7CBD0LH5Y +LHH/ HńFLcH O/t{1<.OHHot+H{HL%'/HHLu)H{fH{L%/A$H{Ht HuA$I$H[]A\fHuH{Ht*L%/fL%/L%/ff.@Ht`ATUSHHtOHL%b LHHHt-HsH!BH;u[HH5< ]A\X[]A\f.Htktb&߃A @(_: f߃A_:@(=vz vo=vbvW=vJ=v==v0=v#= v v1DfSH5 /Iu+=Qv0t1[fD[fHtktbN߃Av|@vq(vf^FЃ vVFӃvN:tI_tD1D߃Av&I?HHHЃu =v捆=vٍv΍vÍ=v=v=v=v= v p1f.NӃ2dH?HHЃ;@SH5F /WGuc=QvV0tNvCH5 /%Gu1H5 /GuH58 /G[[fHt+fff.@USHBHtH}HCHt:,HCHH[]fDH}HHuH}HCHuHCHH[]DH5 12먃t t&tH5{ @H5 @H58 @AVL5 7 AUIH5'] ATIULS| MEH5\\ LI I9H] Hu4fuLEH9k I9HC HHtlHËEPw;uutLL wkI9t"HU Ht;u}tH5P\ L HmI9tH'[]A\A]A^ÐLH55 Au[L]A\A]A^D1H'F 13fDHu(HtL:H5 L( HuL:t&t HkSH5Z L Hk;H5Z L Hk#ff.AUI1ATUSHHdH%(HD$1Ld$LLHcl$Bu&1HL$dH3 %(H[]A\A]DHDH1LsLHcD$Huۃ u`fDLH1CHcT$HӃ tLv@H1LLHcD$Huۃ t1>DAUI1ATUSHHdH%(HD$1Ld$LLHcl$2uHL$dH3 %(uDH[]A\A]HDH1LkLHcD$Hwu1%DAVAUI1ATUSHHdH%(HD$1Ld$LHcD$HÁ? w:I&fDIs$HL1HcD$HÁ v։LuHL1HcD$HÉLuۃ u`fDLH1kHcT$HӃ ttiLpt<@H1L;LHcD$HGuۃ t1D1HL$dH3 %(uH[]A\A]A^øDAUI1ATUSHHdH%(HD$1Ld$LLHcl$uHL$dH3 %(uDH[]A\A]HDH1LkLHcD$Hwu1%D wcH X HcH>Ht;H3Ht+HHtHHt H1DfH(dH%(HD$1HtH4$H5/HT$HHD$dH3%(uH(aAUATUSHH}H_XHttAI1AfDH[HHtC{Pu~EtHLKLjMD$H @ 1oH[HXZHuH[]A\A]H1[]A\A]ÐHU/SpHHt5HxHHHH@h1H)pHH[H5i 1USHHH- /HXHEHtHEH{(HtHEHH[]ff.@AUIATIUSHdH%(HD$1HtLv+w+Mt~1H@ 1t1H @ 1^1HL$dH3 %(HfH[]A\A]f.1Hw? 1H.0HHfHC(CC+CfMtH.0HH+fHt$LHC(CCCHHtwT$Mt.LL HLHC( HCfDL^HHC(RHCfH5Y 11Mt#LLc HCf.L HC f.H10"AWAVAUATUSHHUE1HtLL5_.H|$H0AHHf@@ HsECEHMLHs(HEHtL|HE(HsHKH|$AHEHtHh L{MI0AHH f@@ AIwAGCI]Lk HMLIw(HCHtLHC(IwHtCH|$HCHtHh MIMXHH[]A\A]A^A_f.HCf.Iw(HtMuH HC(@H Iw(HCHkH HC(ZfDHEH5 1aDHs(HsMYH HE(YHx Hs(HEHu>fD1 fH1@fUHpSHH.HHHxHHHH@h1H)pHCEHH}CHHt; H}`HCHt: HC`H}P7HCXHCPHH[]ÐH}`HCHuHC`DH5 1H`AUIATUSHHHtL1 HHHCHuHCHuHsMHL L%.H{A$Hs(HtLusH{(A$I$Lc HtkMtfI9\$t~ID$HI\$HYHLMfDL%Y.I$Ht HI$H{(HtI$Lc HuHH[]A\A]L%.P@ID$}H1H9 1[]A\A]fHt[USHH/H{@HsP'H{H-.HtUH{`HtUH{hHtcHEHH[]@ff.@f.H1&fff.HAWAVAUAATIUHSHcAHq A)A1EA$uzIT$1ɉH{H )ƒ1&D | IT$tzH)fH H)Hv)EAD$_>H[]A\A]A^A_uHc H#PCDATAHLfA~HcЀ|.tH ...@뫐IT$1ɉHqH )ƒ1D , IT$A(fDLA$qI|$I|$(AHAD A9Mt$(MtHLH|A:fDIt$HHb1DH@?ftH(+fTf)f|[1ɉHT/QfH*fL3fA E9;HHE ...EHQ@HC@ATUSHH $HdH%(H$1HH{HC`HHVHUH}PHHChHshH{`#H{`)HEhH`uKHChH{`D$ HC`D$ H$dH3 %(HĠ[]A\Ld$HUPLD$HLEMjH 4 HHߺC@H{`HChXZHC`1iHLEHE1jH 4 HLY1^9ff.Ht Ht~t 1f~Hu*HFhHtASHH%u!C@[f.[f ff.AWAVAUATUSHH $HH $HHHL$HHdH4%(H$8'1HHHHEPIH}hAH$HEHD$HPIE H}h11IE(;%HHH$IHD$HEfAtLNAAuNIFHtEHxt>LL+IFLpMEfAuLX3ADžDMF0MIcu ~OVIM(HHc‰H)։1҅tHTIUHHHtLr0MHH9uA} 11HxPAǃA@HEADDI}(IE HtH.IE(H$8'dH3%(DiHH'[]A\A]A^A_@AIFHI~HtqHpHthLd$2LvIH1HHL;|$M;~HQ.LAE1 fH1HcvfDHl$ H$HD$ L$Ƅ$HtcLH!ʁ t€DHHHD@ֺHL))ƒ1z~.qLD$MHIH 0 ATHt$LE1 XZL H!%tAADHJHDщ@HCDATHBfDBH{0t$ L)fzHH[0H_L H!%tDHJHDщHL))fA H/ LH!ʁ t€DHHHD@HL)BfDH{ $L Hc $HCHHHxHT$# T$Hc $D A9:HCHHtTHpHtKLH!%tDHWHDHA:fDLH!%tDHWHD@HsHKH{0XA fDL)H.f.L H!%tDHJHDщ@H???H{0HB L)frHA .H5QA L}D A9f.LH/H}hAH`AHMIjH /- @MHHl$ H$HネD$ Ƅ$AWAVAUATUSH8H<$dH%(HD$(1HHHIAMƃmM?LHt$ 5LMPLE@HILEMzHT$ Mt@M@PMt7IxPLLL$VHT$ LL$HItDPHEE1@LLLD$LL$LL$LD$HHExH H|$ HtH9.HD$ H$DcHH@0LsPMtIF HE@Hk(HC@HE H)HX0HC8H] Mt H.LHL$(dH3 %(HH8[]A\A]A^A_fDMH<$1ɾHD+ 1@H}@L /HCPQMtML1:IHEPHJLE@HT$ MXH.LL$pLD$LD$LL$HI"HxHLL$HLD$H)HpH@hHHACLL\$L\$LD$HLL$IC&HT$ LLLLD$IS`L\$L\$LD$MCXLM=H<$1H* 1۾&EMH<$1H"* 1۾fH<$1H[* 1۾fH] H]H<$1H) 1۾DHXXHD$1LH@XHE@LL$H@PHxPtLD$LwHT$ ILL$DHHE1MjH|$H q< Y^Mt H .LH|$ HH.1f.H<$H5) PMufH<$H5 0MufHE1ɺMjH|$H ; H;XZL\$LM1@H<$H5 ML\$t:H7.L$LL$H|$ HHt L$HL$L18H.6fDH5uH5HHUHSHHFH t H5: HHu`HtHNH5 HHuH3H5 HtHuPHtHHHH5; []NfDu[H5t: 7Hu`HtHH5 HHuHHHH5@: []fDH1H' 1[]DH59 Hu`HtH[H5 HHuH@HHH59 []{ff.HHH ff.HHtHtHH5HDUHSHH.HHt%fHt HHCHH[]H5 1Ht?USHHH?HtH-j.H{HEHtHEHH[]@H_ATUSHG@HHLH{`HtHspMHtLH-.HsHtLHshHtLHsXHt LtqHEH[]A\@SH{`HtUHspH-j.HEHt HHEH{HtHEH{XHtHEH{hHtDH{XUHEH[]A\@H{hUV@H{U-@H-.H{pUDUSHHtIHHuHHt5H;HtHEHH[]fHHH[]1HH[]ff.UHxSHH.HHHxHHHH@p1H)xHCEPH}`CPETCTuH}pHC`Ht HCpH}Ht HCH}hHt HChH}XHt HCXHH[]H5 1AWAVAUATUSHHH$H|$ HL$L$LD$HD$dH%(HD$81HiH|$]IHQH~@HE1HtHAF MtLDH{@Ht H9_XHCXHD$(HGH.xIH HxHHHH@p1H)xHAGEwPHC@IG@HHt$HHt$HIGLHIGh|$IGpAWTHT$IW`MtLHOIGXIGpIWhIwMHH|$(_HD$0HkPHHt$0L HT$0HHHD$IDHHD$#IHH@.pIH HxHHHH@h1H)pHAEH|$3H|$0IE%HT$0LHIE`Ht$AEH$H|$0Ht H.HD$Ht HH.AIH5_ u}IhHtH5F udImXL%2 HuHH}LuIhHLHEHHuIGHL}HDIEXIGHM}XHC I_(HCLx0IG8L{ HT$8dH3%(LHH[]A\A]A^A_ÐH|$ 1ɾH H|$E1fHs@HtH1HHCPHH5Z 1RfDH|$vH|$IGhLIGh\$IGpAWTHT$IW`MDL3IGXIGp/fDHGPH:HxXH-HT$Ht$LtHfDL{ L{HMHAUL|$0H  LL$LF_AXMt HD$ @@H{@E1fDH1VHD$(HCXHH|$ H5 E1H|$*HMHjLD$H  H|$0YYL^E1LHMHjLt$0H  LL$LaXZMAF@fH|$ H5 H|$EiHEH(IGHM}X2fDH5y 1hH5EH5HHt~UHH5f/ SHHHupHH5M HHuhHtHH5 HHuHo}P EPH1 HcH>H5#/ HHu`HDETVMH5/ HEDH}XtH5 H*HuXHNHHH5. [] fH5' Ht@H5 H\@H5'. HD@H5. H,@H5. H@H5- Hy@H5- Ha@H5- HI@H5- @1H 1fD1H 1DH5- H@H5r- H|ff.HHH^ff.HHtHtHH5H-DAWAVAUATUSHHHHL LvHMHIHIMH.HHH@fLHMt LHCHt HHCHLLudHH[]A\A]A^A_f.Hv@HtH1IIHCHHUH5 L1訿fD1@LH 1H1ȾwH5) La`ff.H5`H5U HHt~UHH5~+ SHHHuHZ H}t[H5 HHuHH}H5ֹ tHrHuHHHH5+ []QH5 ff.@HHHff.HHtHtHH5HDAWAVAUATUSHHH:HL~xIIIHM H:.0HH'L_Ls(HCHE0t HEtSLkHCI}(HLLC AEPHH[]A\A]A^A_1@IIuHHCHC@LkI}(HCCHLLC yH1zH1JIIFxHH5 H1詼?@H5Y H葼'@H HCQHIu(E1jMH ( H茾XZWDH5%PHHATUSLgxMtyHHvHHt`HHLHtHHIHtKH$HHH<$H-!.HHtULUHL$dH3 %(HuAH[]A\@H$HHH<$HHtH.f.1HtHPHtIf1ff.fAWAVAUATUSHHAHAHLbMt;HBHIIHHH~PHtcLxMtZLLWIHtHL[]A\A]A^A_DH{XLeHtLL IHLeH{P@LpIHuH{XLEHt/LSHtAEI낐E1yLEHE1HjH  LXZFDAE4AUATUSHdH%(HD$1H$HH_XHtIIHHIGLHHtLH$HH}H<$L%.HHtA$HA$HL$dH3 %(Hu(H[]A\A]ÐH1L3HfD1ff.@AWAVAUATUSHdH%(H$1HlHjHH\HBHIIHtPL@MtGH= H€u,H= L€uMI|$PAT$ MIUHM}Lt$Ht)HrLt$HtL2LdHkIHCHLD$PHt+HpLD$PHtLH2LD$,LD$HMt H1L9tH9ktH.HD$HHD$M9tM9}tH.HD$LHD$Ht xP1H$dH3 %(HĘ[]A\A]A^A_I|$X uHH= HsH= tMzI}H5m mfDI|$PHLLD$sLD$HI|$XHHLLLD$-ff.fHATIUHSHHtiH{PHtr{ tNMtIHUIt$Ht@P[]A\fDH{XHtHUIt$Hu[1]A\DHZ@HtH{PHuH{XuD1DHHHtHXHtHHD1DHtHHHtf1ff.fAWAVAUATUHSLH(H|$HT$t* dA-H(D[]A\A]A^A_LIHD$HAI&CM<w!@IAtC<v t uALHHtx\t,HMjLD$ H H|$HE1藮XZtA v)fMmH.H|$ fIsIA wHMjH 3 LD$ @LH-Hx\uQAH~PLHuH}XHt HnHuHIٺjH < LD$ HIٺjLD$ H c H|$HE1蓭Y^7}Lt$HIٺjH  LD$ E1 ELHH`Ht2fDHOP ATIHUSH`tzLGXMt#HWHv8Leu A|$@KPHk`HtEfHSIt$8LLE+uA|$@uAD$@fDHmKPHuă u*HspHk@HHt9H}P`HtxHte[]A\HspH}X;HuHspfH{(HttwHIH  1jLCLY^f.H1LjLKpH  LCܫAD$@XZg@AD$@HAHsprHKL[HI ]A\Ԫ@HtBHFPHt1Ht,ATIHUHSHHHt[]A\DfH{XHtHHMttHE1IjH J HLX1Zf.Ht\tHWPHtSHHw@HwtC@[fHtqUSHHHPHtSH]Ht0PHv H[]@H H[]H{XHt HHuH[]ÃfHtH1齹D1DHtH1鍸D1DHtH1}D1DHtH1D1DfDH1лAWAVIAUATUSHXdH%(HD$H1MH MHH{IFHIHMHHpHI~HT$2HT$IH7H{PHH]D$Ht0L;|$M9~H.HD$LHD$iH{XHtHL D$HuL;|$tM;~tH.LfDH{PHIvHHtzD$xPt|L|IHtlH|sLt`L$tXLLuIHMNIjH 5 LLʧAE@XZfDH{XHu/E1HL$HdH3 %(Lu1HX[]A\A]A^A_IvHD$H9ff.AVAUATUHSHPdH%(HD$H1HH HIHHFHHILFHtAHpHt8Lt$2LLHtWLCL9tI9tHH.LCI}PHL2HtExPtOLHtHHD$HD$HL$HdH3 %(u=HP[]A\A]A^I}XHu1@HsHHu1fDAUATUSHdH%(HD$1HH~PIHH5H@HUXuPHH$AąiA}PHuXHtUH]`HtLfH{u6HHuXHuHupLMIH } HLRXZE1HL$dH3 %(DH[]A\A]AuЋETHupw~H{PH1HD$AAHuLEpH  LH_AX H~XUHADHIHjLEH l Ll}PAYAZE1fDHHLjLMpH LE+A[XjHCPD$HugH{XHWHupHts1H hD$-HHLjLMH  LEp賣Y^@HMpHxXLL$1L"1DL$1HAuH LEpHupE1DfAWAVAUATUSHHeHNPHHHzHHIH|$AHsHHHt#H9tHx`Hs`H9e}HsI|$XHHt&H9t!Hx`Hs`H9t 0t MHHD[]A\A]A^A_HjPHg}]HEHP8Lut/MA>IFHL8LuuLhMAIFHv8t6\@MvMA>IFH8HxL?tHEHp(IFHx(&tHELCLH(MHH AUH|$HE1[AZA[jfDMHHsEvHIE1HjH|$E1H _HsAXBI~L@LuH~XDE17HE1HjLCH 0 E1H|$藠XZ_IL$PrfDADHMH 2 jHEI~(Hp(BHELCLH(Mt.HH AUH|$HE1Lu]A]HMH U j͐AWAVAUATUSHXH<$dH%(HD$H1HH~PHIHMHMID$HyHpHUHcIL$HHHqHHT$2HIkIH'HEHHUH{PH"HHLLD$LD$HIM9tPM;D$tIH%.LMu8HUID$H{PfDHMHHHIH?IHAvPLH߉uPD$MD$A~TrAFP5PY  A~TlANPHUMHH<$#D$H~XuD1H\$HdH3%(HX[]A\A]A^A_HhIH)H{XLEML$H@LL;IM~`Mt#IL5M?MuHAt$LMLH|$MH K^_D$@HH LjH|$ML$LEXZfH<$HLH.HAFPD${@I~XLTHAvXML$LLEH H|$蒜AXAYD$EH{PLM~`HMuDM?MILtAFPH<$HLH辻HAFPD$@IvXLzHAvXML$LLEH H|$›A_XD$@fH{XLEML$Ht(HEHLLHHIMML$LEHH LjH|$WY1^HH{XLHHAt$LMMH|$H  LAZA[D$LLD${LD$HIH{XHHULQLD$IM9M9D$HAt$LMMH|$H 4 LwZYAFPD$@H{XHt'HEHHULHHLD$I}fDID$M9tI9tHZ.L5HUH{P;~ff.AWAVAUATUSHHXdH%(HD$H1H"IH{PHHMMH.HHEMHI|$HEHT$2HH$H IT$H{PHH 3e HHD$LD$HIL;$tL;EtHI.LMAvPLHLD$MD$HEMHIH 0 jHL讘XZA~TAAFP  {A~T`IT$ANPMHHL#D$HEL;$tI9tHz.LHEH{PIT$HH d HIH H{XMD$HuHt$H c LsIMMD$HuMHIH jHL襗Y^1HL$HdH3 %(@HX[]A\A]A^A_H{XHZc HIHRH{XHuHiH.c IHD$gIV`Ht+HzLH$]H$HHuML$HEM HMH \ PHL論Y^D$@Hb !@Hzb HHD$LD$HIGH{XHLHEb LD$IL;$1L9E"fDI~XLMD$MNXHEMNHH # AQIHL֕XZD$GMV`H{PLL$Y1^HWP~USHHoHHteHMHHtyHtfH{XHcʉSPH IHH4LHFHMtAxHtgHLHFHOHSHH[]@H}Ht11tRSPt1DH~D$ HcKPH{XD$ HH IHH4lHuD$ HE1ɺH = HLFjXZD$ AWAVAUATUSHxdH%(HD$h1D$,HtkH~PIHHHtR{CH HcH>f.HE1E1jH 9 DHLXXZ1HL$hdH3 %( Hx[]A\A]A^A_H~Xp뽐HE1E1jH HE1E1jH xHE1E1jH `HL$,HHLmIHKAD$PAEH,mLHsHLL蚫NHE1E1jH H{5H{HH{PHE1E1jH  zfHE1E1jH `I|$(ID$ HtH.ID$(MmXMu 9DMmHMAETuI}hHH5NU Ls`Mt IvI}uM6MuLCMMhIEMJHH o PHL1Y^fDHE1E1jH ^ `I}hHSH5T 7 Ls`MuM6MIvI}tIvI}XHMNH jLCFL{XAMu)@HxAM0Mt@IuItIuhHcIGHHuHCHHuADDfDIEMMhLCAEtmHLHPH f )_AXI}H5nS u|I}hI}H5NS I}hH HLPH 輋AYAZHE1E1jH HC`HHxVHHuHIjH HC`HuHHHxuHpI}XHE1ɺjH k LCQIEPHt 8&LsMHD$0HD$f.Mv0MhA~uI~IFHH|$HHpHHT$2HD$HfM}PMA<tG1H 1҄HL$H9L$bHD$I9FSH.H|$@IGHt88uMMuHL$H9L$tHD$I9FtHR.H|$M}PMtOAtpt1H L%IGHt܃8~8uMMuHHLjLD$H 1LK舄XZqIHt$tYfIHt$DHxHt$qDHxHt$DHE1ɺjH S LCH{7HE1ɺjLCH ^ HL1豃A_X|$,FH=HH HI0HyuHAP wH wHruASHE1H + jLCL ]Hs1A^{HkH3MA< HEHt8Hxt1HLTHEHhHMw}LH੘tHm0HuAT$ I|$(rHcHcHH)1҅tHTIT$HHHHj0HuSHH9up让ID$ I|$(HtHT.ID$(E1PH jLC0At$ 1@AWAVAUATU1SHXdH%(HD$H1HIHHEIH)HpHHCPHHxHŅID$HHtaHpHtXLt$I|$2LiIHHCPLHxM9tM;|$tHJ.D$ LD$ t0HCPH5~ Hxtt@I|$H5y _t+HL$HdH3 %(ujHX[]A\A]A^A_fHCPHMD$LH $ LLHjvXZf1H 1L1L ~§fAWAVAUATUSHHBHvQHtpH~PtYt;HII}tNHmHtHLLHm0!HuH[]A\A]A^A_H~Xuf1@LuXMtHIv1LLHLILIc!Mt H.LMv0MuLu`MTf.HEHMNM1HtHHHLL謚M6!Muff.fHtGUSHHHtAo0HډG0HHs8H5C@ݟk0C@H[]1D1H_ }H1[]ff.HHAVAUATUHSLnXHLfPHVXHFPtYH{xHt aHCxHHtXHǃHHHH7HHAD!LkXLcP[]A\A]A^D1ff.fHHATUHSLfPHMHs8G@I|$XHtHH5$菞I|$`HtHH5{vLeXMt2I|$XHtHH5TI|$`HtHH5@;C@[]A\1DLfXMtHs8G@f1ff.HAUATIUSHHHFPH&HxpHAH~XH{xHt HCxHHtHǃHLHLAHHLHuHLX!D!H[]A\A]HHHCPHHxhHȪHHCXH .HCXH-HCPHHpHH LzH1[]A\A]fH~X1H z1HHxhHH~X1)HCXl1DHHpH L`z1HHhVHAHAH9AUAATIUHSHHt~v4w!HH蓜I|$DHH耜H[]A\A]u~uE1L- HcID9~dJtLtE1HcЅL@HcID9~@fAWAIAVAUATUSHH|$H$HT$H߉L$,Ht$ dH%(H$1ED$lHHI H|$pH|$H|$HHvHD$xKLl$Me(ID$@It$HxPHHHD$H@0HD$XHD$8H|$ tHD$ H@8HD$8ID$I}@11H HD$@ID$ HD$HIHHL$ IWL`(HD$IO0IG8HT$PHLx0HD$ HLx8H}PHT$lH0D$lHD$1E1L<$HHD$0H9l$l~}HH $LIt$@H|$HAtEt-HT$0AFL|$L, IM9tI7H;LtHHL$AFJ9D$,LcH9l$lL<$DHD$Ht HL$XHH0HD$ Ht HL$8HH8HD$@LID$HD$HID$ HD$PIGH$dH3%(H[]A\A]A^A_Ll$ID$@HxXHtrIt$HHt`HD$XH|$Ll$ Me(ID$@It$HxP覴HHt7HD$XM|$ @M|$$FL<$Ll$ a1H.@H=.@Hݗ.@H=͗.@AUATUSHdH%(H$1HIHHA|$ tHCHHtHxH5, SH H5 HHHtUH5 H&tHˋ.H1H5 HueH.Hf1H$dH3 %(H[]A\A]fLf@M/HCHH3>H H5 HIHtrH HLHtqHLH1H߹LW čHLƄ$!Hʊ.HL(fDH.H H5 Lě@USH(tvHxnHHtH@xHt H H{Ћ(~6H0HcЉ(H<tHt9H HuH[]ATIH=G U1SH-HH{Ht LtHcH-[HD(]A\ff.fSHtZLHt t>A11APQR1jjjAPE1QHjjjV1ѣCH`[@APA11QR1jjjAPE1Q1jjjV1蔣H`[ff.UE11H S"HHAH >tHE8H@ uH[]DAUIATUSHxdH%(HD$h1HG8H@ H҃߃A€1wHHH!I?1Hfڃ߃Av9HӀ2viIHzHt$hdH34%(ueHx[]A\A]Pw DLH-Hdt'IE8H@ f.Ird1ИSHW8HHOPHB Htwhu 8te[DHH+BHB@HFHcB4HHF 赹~Ft0HHHHDHHC8H@ 8uH[HǃHC8H@ tATE1UH&SHH8HO < v D[]A\@Hst6< tOHQG8HW AtV1AAHf.&~BH{8HO < uHQG4G8HW AuH{8HW 듐H(H{8HW zAWAVIAUL--ATAU1SHH|$I,LHHHM|I7Zu6IwH|$Hx&t2HkL9rH1[]A\A]A^A_yH9vI@H[]A\A]A^A_ff.ATIUSHm@HL5tkHHtH@xHt H{HЋ(~;H0HcЉ(H<tHt9H HMtH Hu[]A\ÐH[]A\4@Ht(LuqLJLJLJLHHHtWHH E11VA1P1jjjjV1jjjjӞH`Hf.ufDH E111PA11jjjjjjjjj耞HPHUHSHHG4~l }(,H09|-H.,HcHHH0Htu(HcH,׍PH (H[]ÐH5 Ht-C4H5 HlC4 `C4L1HV1fUHSHHH9|5tqHcH4HHՀ.HHHtVHcfoEHHfoMJHM HJ HPH[]D @1H1f.5 u Y.u@ATUHH5n SHH_u!(H5V H>t []A\DH53 H!u・(H5 HuH5y HuH5s Hۿu{4 (g1L% 7H0H5 H<虿WH9(%H0LH! LfDI9HuHH{޸t1[]A\HEPxtHxPuH#-H5 LL9H3HH 茸t1@AWAVAUATUSHL8MIoIG H)ÅL@HAE1I96IAHHDH<$Hx T$ @t$ ^HIHx 迚T$ H $t$ AHcAE1A9HAXA9~{ATEt"tA'tt !u|>uH[]SHtbLHt tEHAE11ǃ 11QR1jQHjjjjjjj CH`[DHAE11Q11R1jQ1jjjjjjj ّH`[AWIAVAUATUSHHG8H@ (@"t @'LlIG8L` LpM9A$@8E11*LH$IG8H@ tE@8tm<@< @t̓ <vH LAf.@t+E11Hy L,H1[]A\A]A^A_ÐL蘝EuIG8M)HxH[]LA\A]A^A_0{E11ɾ+H? j@uLK1AUATUHSHHH8dH%(H$1HW D"Ex<u H9W(]H$dH3 %(Hĸ[]A\A]HPu!HHtHxuHG(H=D H軭ǃH{8HW D"Ex u H9W(EpDA@B"<Dvc~kH5Tp.euj=Qv]0tUvJ1HL$dH3 %(H[]A\A]A^A_H@Hrȉ؃߃AE11Ll$D>H5o.ŪuQ=QvD0t<v1H5Rm.蓪uH5n.聪fI8HG Ad>EEVHW(H)HJHcT$Հ8 G8ALJH1AHG tLLI8L9gLH@Hrx؃߃AO@@(1%CЃ CӃ :_IG8Hp HH+PHcH9IH)ƉLwHcT$AՀ8 G4G8@E1VI8HG fD$C& H5l.裨+>fDE11Hԁ L2@l(]Q_H:?~ff.ATUHSH8Hw uHG(H)H=~wЃ߃A<v_:t1H?H^Ѓ߃A<v'B<2vH9_(t$D[H]A\@Hs(H@[1]A\þH}8Hw rH;_(tIHI)DouHU8HZ Db8[]A\ff.AWAVIAUATUSHHG8H@ @8 LHHLunLvIHt"HHtALuI~HLHHt Hi.HM2Hi.LHH[]A\A]A^A_DE11H L= DLIF8H@ t<>u<>WJHE11L豏EuoIF8H<$H+|$HxTmIHtOLDIF8H@ <"t 1<'LHEtE11H L,ME11H LGE11E11H* L+EuL1FH H{AWAVAUATUSHHH8dH%(H$1HG HH+WH~HO(H)HpDEHt$ HAƅHE1Ld$Hl$ L- AjA=A =A=DL HH{8HG uHW(H)H8 G8ǃHcT$ HЃHG 7HH,Aƅ!A</HC8H@ x/|$ u\Ft<AWLcAVH IcDHHt|DH{LE1+G4G8FIcDL肚B8@|H{8HG AA  AV HE1HH{L@߃A<Et;HHt3Lu)IcDHHHt$H{DH$dH3%(H[]A\A]A^A_H HS8H Hr HgbH E1LHH׻ :D$ #6nHHQHt$H{D>ufAWAVAUATUSHHdH%(HD$81uIH8HG 8IG8HH 9 @8ALJHct$(HAHH Ht$,LÅA-u >IG8HH 9 /@8ALJHct$,HAHH Ht$0L4AąA--E1u A>BHt$4D$dHcD$0Ht$nfD LDD$H DD$D$,D$(D$0D$,HcD$4D$0EA-A-DE A>@@I8HO 9 G8ALJHAHG tHt$LFAu}I8HG HH+OH~Hw(H)HAuI8HG(H+G H=AEEHt$LAA--A!u A>T$AE-9|3Hw^.҉L$HDD$HcT$HnDD$L$HA A@ƃ  ȄG|$(IcHAD6IE1T$AE9|+H].DD$HT$HcDD$HHDAkA=vA =oA=SH@LE1H-Hu HG_.HDG4G8DDD$#DD$AWfDD$4QifDuD$(hI8HG @4@8E11H LpEL݅IHtHHtALu IHHO^.HD$AH5 L{D$A@4@8IcHE11HT L-McTBD-TH].HH5޵ LD$AnMcBD-ff.AWAVAUATUSH8DdH%(HD$(1EuIH8HG 8 H?].dIH:IG8H@ < 1HL$E1ALHt LE1zAt EEHt$$LSAHD$$11AdHD$@EA>uED9|HZ.ELIcHIŃ2~'A(I8HG(H+G H=PAA A AV Є_DH LI8HG 8 ]G8ALJHcT$$HAHG t Ht$LEAƅI8HG HH+WH~HO(H)HnAuI8HG(H+G H=[E1AEEHt$LAEHcAD-A>MHL$E1/LHb HZZ.LE11H L.D$A|$$HcLuaD6I8HG 8 G4G8f.A=vA =vA=)D踎91fD$$kcfD&ppH&HIG8H@ @8IHALHHILHt$D1L&HX.LD$Adf.D$$sH@8HP IHTALEHH5I1Ht$#1LD$A{iff.AWAVAUATUSHH(H8dH%(H$1HG HH+WH~HO(H)Hz1tTHt$HE11Lt$ E1Ll$D<&~&|$BD, MHc~ HcH;D tDLE"1H{8HG 8 G8HcT$AǃHHG Ad?HH+WH~HO(H)HuH{8HG(H+G H=D|$E1<<<ƒ @ƃ !!ʄH߾ H iH{8HG 8  G4G8LH߉L$ L$ Hc0HcHHHHH{LfDtLH H{8HG HH+WH~Hw(H)HuH{8HG(H+G H=LHXHcL3Lf.=zj X\D|$fDE1H{8E1HG ^fD6kfHcH;D tLH$dH3%(-H([]A\A]A^A_j@+^fDHHH{LH߉L$ HHHoL$ H{L]DǃMf<D$]|Ld$ HL7t>HHt HHH{LHHuH-H3dff.AWAVAUATUSHHtMIA\E1L5&-@t4LcM9s)KH:yHc(ƒHcH)HL,@HI9H0LH4(ЏtLAHc(ƒOHcH)HL4/fH0H<(@A9HL9 H0LH4(WtH-ܾ hf.HHtH@xHt H H{Ћ(~6H0HcЉ(H<tHt9H HH LӎuoH SRHzx pL LHH߾LQH5< L聎q[1]A\A]A^H HtLLtH HtL0tHHtH@xHt H{LЋ~(LHHHHDH(5H0HcЉ(H<tHt9H HfE11H H߾IHC8H@ <>t#t@HhvHC8H@ t<>u<>E1LHT H߾L61H5 LxH5 L\DL LLHHG iHǃHtwATIUHSHrHHnt [1]A\H{Hu0H[HtHHL9uH[0Huf.[]A\fDf.HtWATIUHSH^Hu 2fH[0Ht'HuHLt[]A\f.[1]A\ff.HtW?ouRnuLATH5 UHSH-L fDH3HHIuL9u[1]A\f1D[]A\ff.ATH53B IUH-8-S1t-HuHLՊtH[H-[]HA\D[1]A\ÐHݦ-"1@t%H9wrHRH-H@1DAWHAVAUATUSHXHt$HH|$HT$ HL$dH%(HT$H1HHwHnHHD$H|$L|$LcHD$ Lc'N4ML91HHD$0HD$(DMH]AAAKALH)H9I9vGEH]t3Dt$HCuA?A I9wAwzIGL9s^EHIL9OED+\$+l$ HD$DHD$(1H|$HdH3<%(MHX[]A\A]A^A_DI9yE+l$ D+\$DDD $$TD $HHpHH4$ZLcKD/I9vA&IOH4$LHH0lHLLy;6fDAwA@AwVALl$(LH LyLLNHD$1HD$ML+\$H+l$ DHD$(1E1zZf.AWAVAUATUSHhHt$HL$DD$$dH%(HD$X1HcHZIHNIHBHcLc)LIHD$L92HD$@HMHD$8DMH]AAvpAjAuLAH)HEHUƃ@u*H\ @A?A H9tZHBtHD$M)L)D HD$(H|$XdH3<%(yHh[]A\A]A^A_fI9Aw1D9L$$t*Dȃ< H&HMEM)HI9~$Hl>.LHcHIcIL4AMn5A6Ht$L1=#?IȀANAFL;gIG8HH 8AH|$8dH3<%(LgHH[]A\A]A^A_fD<&y#Ht$LQRH|$0IH)LEL)HH9HT$~)HM=.LHcHT$HHcIL4AuIFA6IA1AMD$,= AM@I?΀Avy@INEA&IHM)I9H<.LHcHIcIL4p AIDI?ȀAFyF@A +f.LfIvwOAIMEM)HI94I?I΀AvAF== AII?΀Avyk@A&Ll$0IvA}uAH;.LHcHtgIcIHIAEHrA}tkIEM)HI9HA ?IȀANAFH5O LԷH}<.LE1IA H52 L蓷yMfAWAVAUATUSHH(HHG8H H@ 8<JcDLD$ EyH!HD$HNLt$H5s LyLH߅D$=LHBD(D$EH|$H5 yH|$H5 yxHPH{8HW <>@ńE1@ fDEDd$@A L$Mt9A~3AFI]HIlfDH;Ht H9.HH9uD$H([]A\A]A^A_M_L$ AF9|6H7.LHcL$ HH\L$ HIʼnIcH $AHIlILIDIDfz>E11H!B H߾DgDH:`HC8HP <>wH&@HsyfDH`HHC8H@ <"<'}1H[H$HE11HK H߾)ŮO`H7.IH-HǃD$ H`_'HH$HC8H@ 8'E11HF? H߾(5D(Ex1@H9(`H0H5 HH5 LuSH51 L^SHE,$H,$IMgMtCI/HtH5 L/SuH5 HSuIMgD$ MuH4$Ht|$ tHT$Ht$H衱HH~H@pHlH{LHt$YHL$E1 HHF 詫D$HHڶ1H[H$H1H?H$D$ HHL$E1 HH )(D$)D$Ht$H覰HHH@pDHtE11H H߾D輪HC8H@ <>t1u$+H[HC8H@ t <>t uD$AE11Hs H߾VD$fUSH(dH%(HD$1HG8H@ 8&x#HHt$rFH|$Ht 0H蟳HHtGHHt;H5) H{HH|$HMH{Ht$HD$dH3%(H([]D+[t׃D$HcHDHHtHHtHt$H{fw@t$ D$H|$DH?Ȁy^=vg= T$H|$ƃH?΀@7y f?΀D$@t$?ȀT$D$fHرHH|HHlH{H5B' UD D$f T$tB@AVAUATUSHH0H dH%(HD$(1I"?D(Hŋft9H{8HG 8fHTMt A~ }KhHt H-.HH ;D(Hj@HHYHhtH?D(E;DHC8H@ 8>wHSjf.ANE1IHLHP *H LishH{E11H' H߾DHC8H@ 8HRHC8H@ 8tH賣HLH*E1LHC H߾!{LH^H0(=H0HcЉ(H<tHt9H HHHtH@xHt H{LЋ(mH0Hcȉ(H<tHt:H H2HHA8HQ Hug;AWAVAUATUSHHHdH%(HD$81HHG8HhhtHP H+PHP@Hc@4HT$HD$ HH WHNHn+IH2HK8HQ aHPMt A|$ ~H b7H{8D(HD$HLg H$_(~ A9}HC8H@ 8HtHt H(.HH{8HG L9ID9(A<$H 6D(HŋtH{8HG 8<V@AHHtH@xHt H{HЋ(~<H0HcЉ(H<tHt9H HfDHD$8dH3%(HH[]A\A]A^A_DHC8H@ 8>uHNE11H H߾臝Dz>FE1IHHHK \H H-eshZHS8Ht$HHB H+BHB@HD$(HcB4HD$0HCPHD$Y!H Hdl@HtHl(jf(A9|H5Ҏ HqduH5 H^dtJH蒾\H{8HG(H+G H=</HC8Lp A<uH H|$txChu1A<$tH#.H|$WH8fDHcG4L+gHt$Lg@HHD$0HCPLd$(HD$UHC8L` f.A<$HݘE1HHn| H߾!覙H)(EH0HcЉ(H<tHt9H H H|$bHHA8HQ H3ff.HtRfff.@USHHdH%(HD$169cHH{8HDC4ǃEZHHtHhXHt^H{HH{(HHC8H@ 8?HHtH@`HtLuH{HC8Hh }<@H谚HC8H@ 8<HGHC8H@ 8.HHtH@hHtH{4BS1HL$dH3 %(gH[]EWIHKH{@H{ H3H{((L`HIIG8L` L+`WGIw8H{ LAL1EE1Mw8H&HdHt>IALJAGALJHtH@hHtIfA4uVIHtMAtu<;Hu2I_H G H H5F H(HCPDpAHt$XdH34%(Hh[]A\A]A^A_fDE11H @LMw8ALJILJ@MHA!EIHHx ;9IV HI+NH)HH < ~HJ<<!z- H`fE11H 'E11H LMw8ALJILJ@E11HT E11H Hu11Ҿ>L LA(Mw8ILJ@A^fDE11H GLIH\Hx 7IV HI+NH)HH8B:<H&Hs.L胎IHgHx ^6IV HI+NH)HIHtHHPXHHT$tBQIHT$HIHtH@`HtELEuIIV :9E1ILLH4 {I LLNAwhsHt$LیafDI H5v Nn|$<|$!B:5IW8HHR JL)!LY@?u11Ҿ>LLzMw8ALJnfDL蛔cL+Mw8ALJ8MG8LD$V謎IHtHHtIH4$ALJILJ@ fDLL{Mw8ALJoIcF0z/NALJ Mw8ILJ@/z-:uLJ2L躩Mw8ALJfDL蘍IHHtIH4$IF JL褒xpLMw8ALJ,@Mw8IF 8>L3Mw8fD1ҹ>L<@A4,DJLL蠭ALJA!DLز|$/u|$<4AILJ@8IF(I9F rA)f{IF A0@t$@<I;F(|$&Luy>=IHA@8IH HtH@xHt ILMG8A(I0HcA(H<tHt9I HQLD1HD$Hx IHtH@xHt ILA(I0HcA(H<tHt9I HsE11H LQQx-uLސLNALJ~Ju1ҹ>LrjLE1H a Hx ~L蔜L@A(XE1LHja L!HD$~HD$t$߃A<w(u @ALJILJ@ZIHt(ALuHHtIH5g L/11Ҿ<Ll_f.AWIAVAAUEATMUSHHt$H$$D| HHIHHAtH}t ǃM?L+gI9t H.H;L-.AUHH2AoAoWPAo_ X Aog0`0Aoo@h@AowPpPAo`x`AoOpHpAoAoAoAoAoAoAoAoHD$HtHCM5L*HhAUIHIfH@@8@(@H@XH@H@H@ HH@@HIE0AE8Mt L{FIEImH} L,LHE~WL<$MtNHs8HtEHHt=Hx LDIHC8H8Hh H+h.=8.ff.@Ht_HtZUSHH_Ht;H;HHu.fDHH;HtHuH[]@H1[]1DHt'Ht"SHH6F6t"{ [@f.[fHHAUAATIUHSHH_8Hu~I\$(HufHHH;HuEt'I\$0HuHttHH;HuH[]A\A]HtHH;HuuH []A\A]H[]A\A]øf.fHATUSGHt:t 1[]A\fDHG(LgHx[L]HA\ fDLgt0HG(HxLH4¸u[]A\LHHC(Hxx[H]HA\'ff.HUSHH%H @HHHuHC@HC8ǃxH"HpH{ CXHCPǃ(Hǃ ǃHt%HtHHH{ H-H{(HC HtHH-HHC(HtHHZ-H`HǃHtHH1-HhHǃ`HtHH-HǃhH{HtHHCH{pHC0H-HǃHHS-Cǃ0HHChHǃ@HǃLHǃHǃǃǃǃHǃ3.H HtH5 -Hǃ H(Ht1Hǃ(H[]HǃpH{(HC HHHHHC(H0HHtyH`HǃH/HHuH` HhHǃ`HHHJ HhfDH@H{(`HHOzfH_@@t#H@Hǀ4@HLJ@ t.H HǀHLJHǀ4 @ƀLJHH-LJHH4ƒt4-t4-t 4 t4 - t4 - LJ8LJƀ4/LJHIff.AVAUEATIUHSH$C4Ht>HQHt1HH!Ls8I~PHt H-Ls8HIFPMtHk8HtH}t^Hn.HkHCEu58t#HtHH9uHǃH0[H]A\A]A^@LHEf.HtgAUAATIUHSHH HH߉Ht%HDLH[E1]HA\A]H1[]A\A]1ff.fATAUHSH HHHt[D]E111HA\T@[1]A\fAVAAUEATIUHSH@ DHHHD8H;HooHJoP R oX0Z0o`@b@ohPjPop`r`oxpzpooooooDLHHE1[]A\A]A^6fD[1]A\A]A^DAVAUAATIUHS 18IHt[H@8HHt>1LH8HtLHHyDLHHE1[]A\A]A^DL$[1]A\A]A^D1DL$HH5fDHAWIAVEAUMATIUHSHHN L1HHIHtV8HHtq1LH,8HtoHHHDLLHE1[]A\A]A^A_f.HtHH1[]A\A]A^A_D1DL#fDL#HX,fDHtwHtrAUAATIUHSHHgH1HHrHt-HHHDLHA[1]A\A]fH1[]A\A]1ff.fHHAWAAVEAUMATIUHSHHH=H1DHHtP1HH6Ht6HH+HDLLHA[]A\A]A^A_FfDHh"H1[]A\A]A^A_1ff.fHtGAVIAUEATIUHHSH EMLHH[]A\A]A^f.1ff.fHAVEAUIATIUSHH14HHtG1HH5Ht-HH DLLHA[]A\A]A^+HP![1]A\A]A^D1ff.fAWAVAUATUSHD|$PHHHHIIMLD$HVH1LLHHtN1HH4Ht\HHAHt$DLHHA[]A\A]A^A_Zf.MtLAH1[]A\A]A^A_@HX fDHAWAVAUATUSHH_HtlH- H[0HtW{uH{HtHp/XH{H5gT X/H{H5G @/uMH[0Hu1H[]A\A]A^A_H{HtH5G /uH[0Ht{uHkXHtE1E1Hm0HtHEHtxuHx0uH}H5QI LhP EAMtH}H5AI q MDMtEtH5vI L)HHH  t H t tDH[H-S HuH[0H{uH{HtH-uH{H5AF -tH[Hu1H5YH L AAH5{ L(HH5RF L(HH5T L{(Ht H H5A L^(HuH57 LJ(Hff.@AWAVAUATUSHdH%(H$1D$ HIIH5 L Mt-H|$ Md1L dƄ$I]HH-l DH[0Hk{uH{HtH,  H{H5#Q  fH{H5}D uH1ۃ}MDH}H;H5HD ADž$HUXHD$E1fHR0HHBHtxuHx0uH@PHzHT$H5F HD$_ HT$DL$AH|$t-HzH5F DL$HT$& HT$DL$LDt$MjEaMhLLMHE1 AH$dH3 %(DHĘ[]A\A]A^A_HkHuHm0Ht}Hm0HuMtHt1LHB 1/H{HHH HHD H5D HT$ H5D H}4H[H-O Hu+H[0H{uH{HtH.H{H5EB uHH[(%@MD$fDH HH|$H5-D HT$eHT$AD$2HT$ H5D H!ZH f.UHH=lU SH-HHH{HtHuH[]H1[]ff.@Ht{AUATIH5 UHSHH'HCHHt HpHtH'H59 Hs'HsHg'H{t H{'+tH[]A\A]HsL1IHH5S H'H{Ht(H} LH-HHL[]A\A]HC(HtHxHuH{H5U A$L< wH&fHs H< vH5 H} IHoHKH-Lef.HHH5 []A\A]7&H{H5hS gH{H5R OH{H5HC(H5 Hxff.AWAVEAUATIUSHH(Ht$HL$MHM|$(AD$M H HcH>DIIH#xuIW BH5 H%IGHHt HpHtH%H5 H$IwH$H50 H$A}Mo0MAEPtHtHUHt :p@M9H([]A\A]A^A_M;}("I}HL$Ht$ELH%M9tMm0MfEt IHH5 H$IGHHt HpHtH#H5 H#IwH#H5& H#M95Mo0MWIAGIo( pH5 H#I;WTIGHG8p>H5 HY#*HD$I}H$H5 H1#IEHHt HpHtH#H5Φ H#IuH"Iu`HtHImXHtfHt$HHHm0HuH|$yHD$x u^I}HD$x H5 H"IEHHt HpHtHm"H5$ H^"IuHR"H5 HC"EIU0HHD$Hxu"BtMtIGHt 8pM9_BLIDIaM93fIuPHcIEH;(-t H;-t:MIH5L tIuPfDIuPHH[!fDH5HA!IuH5!H5 @I}H5+ H!IuH!I}PtH5 H IuPH H5* H |@I}PmHH5 IuPH H5H >fDHt$LH#ImPHtpH5 HX HuHL H}htsH5~H6 HuhH{ H}pH5G tH HupH{ H56 HIUHM9}(BLIH}pHtH5 MtH5IH5I IuP1H|$z HH.HHsH -HAELvH5 HGI}H5 H(IUB?I}HD$H8H5 \HD$H5D H8n@H5 HEtQHD$IUxBHI;U IMH9pH5Ͳ HlIUBAEwAWIAVEAUIATIUSHHHH1uBHLHHt_ELLH1HH[]A\A]A^A_v fDHHHuI1Ҿ{H  H1[]A\A]A^A_H=rLHH^H=~ 4HJff.A1_ ff.@AVAUATUSHHHIItH HHHi-8HHfHh H@(H@H@H@H@0LA1LLHI#H-HHH%D)HcH=w?[]A\A]A^@L} 11ҾiH뺐A1ff.@Ht/UAH1SHHnF gkH[]DA111Jf.AWAVAAUIATIUSHHHMMLHHHE1LrHHtbHD1L H" H}(HH}(A$I0DHHHH[]A\A]A^A_l @HA$H[]A\A]A^A_f.HhIHRI1Ҿ{H { 2@H=R,IHH={ I@H} H} IA$*ff.@ fA1Hff.AUIATUSHH7HMHMHHt}HE1Zu=LLz HHHH1HH[]A\A]H IHuI1Ҿ{H z mH=IH{H=z Ig@H[]A\A]HHAUATUHSHH%HMIHHE1Vu9SHHLHHtSHH1HH[]A\A]@L IHuM1Ҿ{H y mH1[]A\A]H=IHoH=xy I[@fHHAVAUIATAUHSH!HHE1]uHHLH1LHHtXDHLH[H]A\A]A^HIHuI1Ҿ{H x e[1]A\A]A^DH5LQH=IH\H=ax IHDf.RfHA1Q1R1jjjjjjjjVL11HhÐHA1Q1R1jjjjjjjjVL11fHhÐH7Ht(Gp~!1$2)‰HH|uDH_ff.@AUI&ATLb(UHSHHHu*y|Hw 1LHI9t.tdLE< wIsCLƿ HI9uHMH=0+ H[]A\A]fLhfDH[]A\A]DHH=v fHtQt@UHHv SHHHOH}K\wH5 HcH>@uHH=_v HMH=v fDHK`H}HtHv 1PH}HKhHtHv 10H}HKHHtHv 1H}{t HKPHtHmv 1H}HH []HMH=u 6AHMH=u !HMH=|u HMH=pu Hu HHHw IQA11P11jjjjjjjjR1HhfHHNH L:} IcL>fDfHH ,u HUDHH >u H5DHH 3u HDHH t HDHH u HDHH u HDHH t HDHH t HuDH H=t fHH t H%DHH t HDHH t HDHt o@HH=\s QHH=t 7UHSHHuzEH}uvH}uVHMH;HH4t 1NHUHfDHK0H/ufDHk`H HHLHmHuHSHHt HLCOHr;DHsL[]A\(HkH;-=-t4H;--t+I$HH5H9[]A\f.CHs(ƒHH9^I$I$H w DI$Il$xwfDA$UADŽ$DSHs(H tAH9^ t ~kHt H9^XIHK0Hp@HSHHkfHKH; -Hw [L]A\HKHHw DI$I$H lv _f.HHH k 1HC@H @I$I$H k f.HkHHk %HK0H?fDI$I$H u fHSHHI$I$H v XS%HHj LEfATUSHH $HdH%(H$1HHu^Hx}uUH}tsHHH$dH3%(HĠ[]A\Htу}tHHH u n@HHH u In}Hw3EHH'p H HcH>fDH=j }t5HUPHt,I侈$LH3LƄ$GH3 DH H=i GHUHH3)*H H=!i @H==i #DH=i D H=h UHSHHH}uqHMH;HHh 1HMhH;HtHh 1H;HMpHtHh 1sH;H HHH[]fHtK~tHHHH &h []HH=h QfH[]fuH H[H=g ]GHO(H= &fDUHSHHtBHCt*H[Ht!tEpHHH[0HumpH[]ÐuHMH [H=g ]ATIUSHMt I|$LH[]A\eDH H=f 7IT$HH3 Il$HtCpfHHHm0HukpI|$xHHH f LH[]A\fDH/[]A\f.uH []H=!f A\ifAVAUATUSHHt0NHHσH5k HcH>Dt[]A\A]A^D3H H=`e []A\A]A^fDEuHH H=Mg fDDEuHH H=g fDHH[]A\A]A^=D H}HHH p []A\A]A^qDEuH<} HMH  H}p HH[]A\A]A^fDE H}@CpH}PtDEkpuHH H=d MDH}@M}CpuLe`Mt(LHM$$Mu}_LeXMrLHEMd$0MuEE)HHMH;1Hc CDEHHMH;1Hc  DEHhH H=c f.DEPH(H H=hc f.DEHH H=c Rf.DEH H=b gfHH[]A\A]A^mDHbH H=@b @RH*H[-H9EH w H=a t&HuPHEXH91 H: H3 4GHH[]A\A]A^DH H=-a Ih@H}@tOCpfDEHH2_ []A\A]A^@DEuH H H=jb fDHuH}@{IHDEHDEAL$\H;H5f HcH>HH=+b :f.IL$H;1Hl IL$`Ht-u H)IL$`H;H@a 1^IL$hHt-u HIL$hH;Ha 1'IL$xHt-u HIL$xH;H` 1I|$PuHH H=` 9IT$PHH3 HH=` H!H=j HH=j HH=^` lH` 1 T@HH H=_ _HUP"fDH}[H H=_ HUHH3)}\w3E\Hc HcH>H H= _ fDHM`Ht,u HHM`H;H^ 1HMhHt,u HHMhH;H^ 1HMxHt,u HcHMxH;H^ 1H}P2uH,H H=d^ HUPHQH3 dH H=] H H=] H H=] jH H=V] LH H=,] .qfHHH H=n HEHHt$HPHtH_H3:rHUH@H3 SffDHH H=[ :fHM`HHHHH .f H;H[ 1HMpH$H;H[ 1j}P H;w3EPH` HcH>H H=j[ H;Le`MtxAL5X[ IL$At8HB[ 1M$$Mt4AAH;IL$AuL1M$$MuH3)H;ET+d:H}Xt/H"HUXH[H3"nH;H ^H H=WZ H;H H=< H;HH= ^H;H H= =H;HH=H;tHH= H;SHH=t H;2HH=L H;HH=|H;H H=Z wH;P H=ZX YHHH c 1HHH 6c aHHH :c =HH=X H;H H=X H;HH=xX H;H H=~W lH H=jW NfHtKUHSHHjC u'H[HtEpfHHH[0HumpH[]ÐtDHH=S AUATUHSHHHLf(I&Hu-ytHR 1HHI9t*t\< wIs?H HI9uHH=m H[]A\A]fDHfDH[]A\A]DH1-H(;HH= R ff.HdH%(H$1HtnHD$xIHDŽ$I@IHlHDŽ$HDŽ$HDŽ$f HH9uH<$LD$lT$pH$dH3%(uHĸOff.@ATUSHdH%(H$1HD$pHHHD$xHCHSlHDŽ$HDŽ$HDŽ$HDŽ$fD HH9uD$lH<$HtmHHHEPHt|L``Mts$HH5LHEX$HtlHh`HtctHH5qHH$dH3%(Hİ[]A\H $H=_ HEX$HuuH $H=_ H $H=U rbH $H=qU SfUSHdH%(H$1HtHD$xHHHDŽ$HEHMlHDŽ$HDŽ$HDŽ$@ HH9uD$lH<$T$pHtfHHH[0HuH$dH3%(u Hĸ[]f.HdH%(H$1HtnHD$xIHDŽ$I@IHlHDŽ$HDŽ$HDŽ$f HH9uH<$LD$lT$pH$dH3%(uHĸff.@HdH%(H$1HHD$xIHDŽ$I@IHlHDŽ$HDŽ$HDŽ$D HH9uH<$LD$lT$pH$dH3%(uHĸHE-H8l0USHHdH%(H$1HHD$xHHDŽ$HEHMlHDŽ$HDŽ$HDŽ$ HH9uD$lH<$T$pHtfHH5H[0HuH$dH3%(uHĸ[]Hp-H8\[ff.HdH%(H$1HD$pHHD$xHAHQlHDŽ$HDŽ$HDŽ$DŽ$fD HH9uD$lDŽ$H<$HtHH$dH3%(uHĸH-H8X|ff.HdH%(H$1HD$pHHD$xHAHQlHDŽ$HDŽ$HDŽ$DŽ$fD HH9uH<$HD$lDŽ$PH$dH3%(uHĸH-H8]衼USHHdH%(H$1HD$pHHD$xHEHUlHDŽ$HDŽ$HDŽ$DŽ$f HH9uD$lDŽ$H<$HtLHH H[HtbD$pfHHuH[0HuH$dH3%(uPHĸ[]H H=O VH-H8H $H=O +d@HdH%(H$1HD$pHHD$xHAHQlHDŽ$HDŽ$DŽ$HDŽ$fD HH9uH<$HD$lDŽ$@$H$dH3 %(uHĸH-H8V芺f.Ht?w9GH;R HcH>DHW1Ht3DHR0Hu1DHPHtffHt7Ht:UHSHHH{ICHR HcH>DHH=) onfD{t0H{XHaH{`HnH芭HM H1{wCHQ HcH>H{HtH蟽HH []\@HsPHtH'DHKLCH_HM H1H{HtHCHHtHHHzHHL 1H{[fcpEeCtvyafi-VYNFIF69T&)dh ?--LHK H1CfHK HK HDUHK SHHHHD؃ <HO HcH>f;H(HH5K H8HH1[]f H(HH5K H8HH1[]fH(sHH5J H8HH1[]fH(CHH5J H8HH1[]f{H(HH5J H8HH1[]fKH(HH5J H8HH1[]fH[]fHtWH-SHG tLtHw@HHH޿ [fH1HH޿ [žDHHH޿ [韾ff.@ff.HtgUHSHHtaB tAUATIUHSHHB t~ tAH5F HBIHt:It$HHLR1H[]A\A]DHwHħyHsHH5cF H81ӸHwHL}Df.HUSHHHwHtIHt<;t7F tW t:UHH5N H81ӸH[]HHuHx1H[]HyH(HH5E H811ȸ@USHdH%(H$1HHHHD$HHHD${HHD$ Ht}u0HsH|$H$dH3 %(uNHĘ[]DH1NHHt&HsH|$HHD$ 蹠D$ 褯@HsHjAWAVL5Ȁ AUIATIU1SHH%HCt^HtYHËSЃ uIL$(H=Z SHCу uHuH1[]A\A]A^A_@I9tHC0HuHC(@HC0HHC(HtHtHI9uE1~)fIL$(LAEA9uHCHI|$(Ht!HHHtHB 1I|$(HKHX| 1zDI9ff.HtZHtUUHSHHaHHt5HH> H1pH-ƃ0H1H[]øfAWAVIι<AUIATIUSH8dH%(H$(1H$@HHDŽ$0/ > HDŽ$8HHMMDHMH-8HH@ HLhL`0Lp(éH{HH{sHCHH$0L$0H&H$HCL H;CH LHMH@HHH@HHLAQLXA I1ҝZYƄ$#LS0IH} t ufH t t wH0(Lt$0LD)H7H wHruHcD0 t u@H t t w$E1Hr-H$$fAH wHsLH=H@ IcƄuH='@ LWH=@ L9H=? LT H=9 LH=L,H=? LH=? LH=? L$[L0H5\N H81A3H-HH$(dH3%(q H8[]A\A]A^A_D$0fDL1L>  KA$? > AD$5DHK(+H=G HK(.H=G HK(H=J> HK(+H=G HK(2H=G HK(PH=G HK(OH=H jHK(H== PHK( H=3H 6HK(#H=AH HK(,H=OH HK(=H=eH HK(WH=H HK(QH=H HK(OH=I HK(QH==I HK(?H={I fHK(CH=I LHK(0H=I 2HK(KH=I HK(H=< HK(>H= J HK(5H=/J HK(,H=MJ HK(AH=cJ HK(1H=J |L脘H$11HH{C H>-H;HHt H*-HHMyL!lH$11H8wH4-L0 H=; LH=; LH=; LH=; L$HS11HfH$HHD$I賾L0諾1LH0LLCLI؟ML'IoHHT$bHT$1LH0PHsLtH tzH-H8Hp: 1 LLzH$11HH{ HSH$1H訫H$-H9 H81H}H 1r$(H{(1#bL{MUL$?L HhAGt,IW uaHIAGuIPLHLH{(H1 H11L1HxAG둃tHuIG0HI`IPLHt3I(詽H{(H?1 H1_IW(11HAG%H$HT$(1D$(H5 úH{(t$(H=LH= L[H=n8 L$贻L0LH5F H81AHSH4$1H趰rH{(H $H,p UTHsL$LHVXIH28 H: HcH>IW(L HP(HHHELx0Mt H=7 L+H=z7 L$M覺L0>H5L7 H81A~L{L$LM H!%tLD$(LDHJHDщ@LH1L)HIHtrIGIG Ht$(LHS11H*L莐H.LxHl[LbZIGH8}H@HHCHt*xu$lL0H5A6 H81AHCLuHCH@(/HHL$¹LHL$H54 H81L8蝹LH54 H81AIGHt8~E1H@11HJIIGD90e譸HHL$@LHL$H53 H818耸HHL$LHL$H53 H81 SHHL$LHL$H53 H81&HHL$蹸LHL$H5B3 H81HHL$茸LHL$H53 H81HK(H= 'H$5IH8IFHT$L@LH{LD$HD$IHL$LD$uXMyMǾ=LHt`Hx H|$ݍHuH{HT$LtJH{(LD$L1HNB HM-LHK(H=A )H"-LS螶L06HT$H5BA H81AqHK(H=2 RHsHCH$HFUH{(1IHL\H=2 LH55 L H5LD$T$D$$HS11H葱H{sHxLx`MwH{HjL52 HM?MPH{IwIWHuL#HsHCL$LHF5IH8 H4 HcH>H51 L$HS@HsL$LHVIH8 ZH4 HcH>IH5J L&u]$HSu11HxHsL$LHVHD$H8 w_H2 HcH>谲L8HLH5/ H81A茲HHL$LHL$H5- H81H|$菪UHHL$LHL$H5- H81+HHL$農LHL$H5W- H81HHL$蔲LHL$H5- H81pԱHHL$gLHL$H5, H81C觱L8?LH5, H81AHD$HxE1@Et#HK( H=. HD$H@H@11HJI賜HD$H@D90H{H$?LIGLD$L$莱L$LH5- H8LD$1AɰHHL$\LHL$H5- H81THGH>H9mGH< HcH>HHIIH(HI(H9uM9Z8t?M9Z0XA{ IS0HuDHR0H(I9uHG8Hu2fHP8H HЃxuAHxPfNIE1E1'fNE1E1E1ҺH˜-411EAGu8~u2HWPHy)HNPHy HF@H9G@uH9fH9~8H9~0 LV(MpI9L1HH9HA(HuL_(MIL9eM1fDMI9MH(MuL99fDI˃IK(9u9| IIz(9uDHG(ANAvGI1H1H9A9MDfNHE11E1ҺIHH˜AHV8HuHB8HCHƒzuHzPH%H9q]ASHG(HuEDH@(H3H9u+1AzISPHIBPHIr@I9s@H9DH@(H xAfDHWPHHNPHHF@H9G@H9J|E1E1E1Df.HR(Ht zH1E)f.HHv( Au4HJ(Ht+H9uf.H9HI(HuGHHG(HV([HA8Hu%fxH@8HL9uiH1LI H91I1LIff.@AWAVAUATUSHH)HHLbHIII9LvH^IJDJ4HH$L9uy!HL9HtH|uLcL)M9w1DJDIH$JDJDH$MJDIM9rHH[]A\A]A^A_f.L9ufDHL9tHtH|XtyL)f.INd?Nl?M4$ImLHumMuI,$`@L)5M(=fHtHGHuHu 1fDH@ff.HHWHHtq~tHFHtHt t@HHJH9tX@HF0Ht%PHƃttfDHtHV0Hu:Hv(H9uHBHtPu 1fH@H@Ht'HGHt H@HtHt@t1ff.fHt'HGHt HHQtH90t Ht HF01DHA0Ht>HOHt5HtIFu.HF0Ht@H91tHV0HuZHv(Hu1fDHFHtfDHqFtuHHtxtH@HF(HufDH@HHOHHFHF8HxuaHP8HuUHP(HtiHHpH9t]H;WHtDHHH9HB8HJ(HtHP HOHHt HHP HuH6HtFu1HqHtFttHV(HWHCDH[Hv(FHGHHOHHHt'HGHt HPHtzuHtHF0D1DH;tHBXff.AUATIUHSHLo8 tu t`I\$Hp=EpHcEu`HcEt#HLH)HIUH4HtpH[]A\A]DHcF~t=I\$HuHLH)HIUH45HcEtf.HcHH)IMHу: uHH9JuHzuF t^SBF FfHcE`HcE&H_Hރ BE EfDHtGHWHu>Ht9HBHt0xw*HH50 Hc H>fDHHtxuf1DH@(H@(Ht?xuH@8 tSH54 HH蕷uHC[H@H@(1[@H@HSHWHFUHSHHHteHH9pt+H9tGNw?Huhut%HC(H[]f.HHtxuf1H[]HBHtxwHH5G/ Hc H>DHF(HtxuHx? tH53 蔶w1H@(fH@(HtZxLHx? `H5}3 DLHEH@H@(HH$1'D1HDHtHGHtHtd@1DH@H7SWH H {. HcH>DHSHJ1Aqv!HrHtWtRNtJHqwHrPHt>@tAFHrAHuH9t%Hr0Ht0NHfHCHu81[@HtHr0HuHR(H9u[HCPHtt@[D賴HtPH1H[HtS[[ff.HHGHt.HtEN1wHtHF0Htxu xtrH@0HuH@HtۋH wHbu"t Hf1DH@HtxuxtH@0HuHUSHH_HHt7HSzu7HHHt8HcHH[]H1[]Ht Ht-H]HsH;HuHHx-HdžHtH:tHH|uHx-nHt HDt-HEHǀH1[]f.1ff.fAWHBAVAUATUSHHD$H9IH^fIlM,HLtby^I6HM$tokLHtkI߅ydMlHt!HDI4ItHt HI9vI,$HH;\$vH[]A\A]A^A_ME1IH$E1IK4$D(H$L)Hv7MHN< K4HuLL)HvL<$f.IO$L9+Qf.AUIATUSHG~tL%r-1IEH,I$HUHtHzHt I$HUHI$HHA9]I}I$HtI$HL[]A\A]fDL%!r-ff.@Ht[SHH?HtJH{Ht|HH HHHt HLH$dH3%(uH[]A\A]DH~fHtGHHAWAAVAAUEATAUSHHo8Eu9$H}HcEHH)H׋T$PH} DsD{D#DC DkSHtAT$v>A t8HL$XHKHL$`HK PHC(UH[]A\A]A^A_fH|$XHt$X5vH|$XHCHl-HcMHHH)HMH|$`HH} Ht$`uH|$`HC Hjl-HcMHHH)HMHCfH?BuDD$ H}uHcHH)HHj-HDD$ HHt-HEEH|$`HCOHC UEH5O' HATUHSHH?Ht^s HcC9;H~i-s HcHHHtzHcKQH DPHljSH(1[]A\@Aԅt)HcHHi-HHtIDc fDAH=40 'H=!0 C H=/ {@U0SHH-~i-UHHtcfH@(0@@H HUHCHtAHcK1HHH)HāCHH[]H=% dfH=% TH j-H1@AUATIU1SHH_Hh-PHCHf@@ @0@@HCHcC JH L,A9,$~UID$L,CtHc9~HC=b4H_g-H{HcHHt-HCHcc뙐A$HH[]A\A]f.H=$ DH1[]A\A]H=$ +H1[]A\A]ff.ATUS1Htm~ugHHt_tYHg-HI0HHtEf@@ H}@Ht vHCH}Ht vHCL#H[]A\H=@$ fHHAW1AVAUATUSHHHOHL$ HrHc9L~MvAOu?MOBLQE1ItKLDH;HH9uID9DH-af-HUHD$0HHD$ Hc8HUHD$8HHD$ H|$01HcH~Ic?HUHD$HIc?HUIHKIcH|$1Hv~HD$ 8HD$0Ld$81HD$fDHHD$(HD$ H@H<1A$A7}E1D$DIE97~NH>CDA9$uHD$H8\HD$J4H*HD$H8荤1L$9tL$HD$ HIHD$981fDH-e-HE~+E1fDHT$0Jt1H[]A\A]A^A_H5 LQu8DːAVAUATIUSH[H%dHt1[H]A\A]A^f(HdHu޾@HcHHuɾ:HcHMtAT$Xtx:tM$H|H4a-HcHIH1At$XH¸~EFMD$PH|1IHJI HRITHH9u6HHIHHHLLIGLHHa-Ht H+t=H~wfMtMAT$XH1ɺLHHHt:HX(Lh M}L裐pH1ɺ1譎E1HjH5& L@H5) L*f.H_-SHHt)f 1H#CH[H=% fHvHyfff.@AWAVAUATUSHHdH%(H$81HIIH?VHƹ:HHHD$ H?HD$()HHHHH!H1fHcI9IHMFL9HD$0H\$8I9fLHL(LH)H9HGIH9H\$@HHD$HI9LHLLH)H9HGIH9H\$PHAHD$XHD$0HD$HD$ HD$I9fDA~6AIcHHH|Ht(L7L9T H9LHLSLH)H9HGIH9LIHHT$HHHBI9wIvALH\$Hl$ HH\Ht$DHLIHCHHIuH|$(HtQaH$8dH3%(%HH[]A\A]A^A_LHLL-f.HD$HIcH9D$8HIHL$HLlML9wjBD$H9vnT$HL$LHt$IU IUfAoE(A)ET$IItUIM Iu0I}L1tLM9]vL9vH9(BD$HL$Ht$LoIU0IU DHT$8HD$HH I9H9ADHI&AH5W-D躒uVA=QvHA0t?Av3H5DU-D脒u H5V-DqfHc|$2HcÃD| H}LH8AǃcLD,PH]W-IcIHHcHt$ HxfD>HcD$HELHAAVD߃Av(A@vA(vAC D9|+APH4T-ELIcHIƋ|$HcLZDQAH5 V-DA=QA0AD1H$dH3 %(HĨ[]A\A]A^A_DMrjD߃A8A@(A(A AGӃ2vbA:u |$A@XH|$ YIHcDL҉Hc|$fDHHf.A@A(AA_$A:H5S-D聏4@H5QT-DaA=QA0AH5Q-DH5R-DlH5%S-DUHcLADAGӃ2v'A:u $'AHHf.H)S-LHד1H S-H$LH賓H$\H蝓HH苓16cff.@HWH`H9r IHhI)L9wHHh1ÐHHh+HÐDHtKUSHHGP9G(|kPH[]fD H5V zkPH[]ff.@AWAVAUATUSHhdH%(H$X1HHHAׅH|$HfDB HB A9~~PHcHHDD;gH} w|EH HcH>EiEZdEf. 3-HٺH= H$XdH3%(sHh[]A\A]A^A_HٺH=< 藌LeEH$1H@ H@ A9D-PHcHƄƄMA$ID$H8HeMHHJ 1AozID$HHpVH$1@A9׍J@ A @HAuҍBHHcƄƄHfLf0HLMuDHٺH= WrfHٺH=! 7EHمH=.fDHٺH=C Hu HcH޿ viHٺH=! 跊fHٺH= 藊LeEH$1 fDB HB A9PHcHƄƄM A $H H11L$蘊H$EoHD$A9,$HLcMHHH 1RID$H4EH$1fDA9׍J@ A @HAuҍBHHcƄƄHFƒ tEDH߃tb轉HDH cHٺH= #>fDH|$HbHٺH= Kuf1H|$MHٺH= 诈1H|$HabHٺH=8 x&H=^ ]xHٺH= ?ZHٺH= !f.1H|$ fH H=  臆H$dH3%(HĘ[]A\A]A^A_HH= >fDH dHcCx&HAOLHH)HIT$HHcCqHAOLHH)HIT$H{FH H=! 譅pHH= 菅RHC DK HKHIH HH1مHK LCHH_ H1譅C HXH= HCDC HH= DsDkHD$HC DD$HD$躄DD$A H JcH>HH=H) 聄DHH= c&HH= EHH= 'HH= { HH= CH=hbDC HEH=8 蝃`C :HH=, Y@LkHH=U 31LHfbHH=  HH= H H=C ̂Aw*HHJcH> H=9 蜂At\AFAuH H=r cHD$HtHHH1H|$HH[H= nH= SH= ف8H= 辁H= 裁HH= 腁HH= gH H= IxHH=c +ZH H=! -H0HcHHHtTHC0C(c, fDHW0HcH,ʍPHk S(H[]GøH5 H5@HHt`HW1HuRf.HJ0Ht5HʃzuHHHHJPHJHuDHtHJ0HuHR(H9uHff.@HHH9WF  NH9~8H9~0u LV(M6L9eL1 HH9RHA(HuL_(ML9M1fDML9IMH(MuI99fDI˃IK(9u9|fIIz(9u}DHO(t7H9QHv(H9tWHF(H9HHHHIIH(HI(H9uM9Z8t3M9Z0tdA{t3IS0HutDHR0HtHt9~t:~-HGH;0HH@HH9pt~H9u1fD~ATIUHS1fDH9]~?HEH؃xuI9t I$HtH;uHpI|$tt[]A\f[1]A\ff.HH6H-z#~AUIATIUHSHHc~Q1 DH9~@HEHHtxuL; uHpI} tHcMH9Et19tlHEQLHLUH1H[]A\A]@HA4-PHEHtlf@@ @0@@HEHcME 똁R H}HH4H3-HteHcMHEa1nH=XH=Dff.HHHc~6HGH;0HQHfHH;pH9uATUHSGHu\H%3-PHEHf@@ @0@@HEHcME {QL$t#U1I$[]A\9t/HG{QL$uH;UHI$1[]A\f1ÁH4 H1-HHcHHteHcMHE~H=VxH=QdfAWAVAUATUSHH3I1IL9IHAL< H&I&t< w HrfDH< wIsHLL)7IHt)HL8Ht PtTtXH2-L< v)fI߄uHL[]A\A]A^A_HsH< wH@(HtHLypH&HH< HrE1눐HHATUHSGHt)Hc9HG}JL$tZ 1I,$[]A\H0-PHCHf@@ @0@@HcHC}C JL$uH} HI$1[]A\f.=MH@/-HHcH4HtHCHccAH=67H= #AWAVAUATIUSHHIHA$AUD$ E1L4@IEJ,D$ ~xID$HH9uD@L9t[ID$HHH9t)xu}uHMH9uHuHxontIE9}HL[]A\A]A^A_@AD$uoH.-PID$Hf@@ @0@@ID$Ic$AD$ }rHt7A4$IH+E9}uIc$9t8ID$}rHuH}A4$HIHE9}2=\4H?--I|$HcHHtID$Ic$Ad$_H=E1:15IHATIUHSHHHtHMt+L*HH }-HH[]A\>6fDHa-H[]A\QD RHHHu[]A\ÃfHHAUATIH5SUHLSH;ZugHEPHt"HC 7SHHHH-Ht1f@D@$HX(@@@4H[fDH=-HD$ߤHD$ATUSHtcH\-HHHHooKHoS P o[0X0HC@HE@; wH^HcH>@1H[]A\fDH{ '!HE H[]A\=L >H5PH81AH[]A\Hs1eEHEH[]A\fHC(HE(H[]A\H=3ԣqff.@Ht{HtFHXt<tUvt>u)Hv uSHvH1H[HHH(FfDvh1ff.fHtgATIUHSHHHtHHt[]A\H{HtHtHLOH[]HA\[1]A\f1ff.fHt'HHt H11:f1ff.fHUSHHƒu6CHtK HtH-HHH[]fDH--HUt@HH[]DHt.?H-HHH[]fH HtHUHAUATUHSHH EH1ۅBfDH9]~/HHUH)HHxHtۃ8 u2H9]H} HwvHeHcH>[H]A\1@H~H F(HEHcM(9H1HHubH{Ht=H-H[]A\HH~ Ht Hh-H}HE,9G}y1H覢tLcMDA<$1DHA9,$ID$Hj3C 룐 11H5F3@Hu.G(9GP}6HG Ht t3 YKf FKfD6KfDUSHH>HHtBH@H{Ht9f*HHE"H{HH[]H{f{HH"ff.HUSHHtt1HH߾ []~JfDHHwHH!C(9CP}(HC Ht t-HH߾ []2JfHH߾[]JDH=H{HH@HtPtJH@HBtvu4HrfDw Hr> t2HH!D+HH H{HH[]fDH USHHtt1HH߾ []NIfDHHw[HH C(9CP}(HC Ht t-HH߾ []IfHH߾[]HDH HwDHHcH>f *L * HH5/H81AHH [H]A\[H]A\H~7 IHHMt[LH]A\UD~x8IFI뽐HG(9GPAWAVAUATUSHH83IHTH{LHHtjHp HCH8H{HHHcH{HH[]A\A]A^A_f >fD>fDH[]A\A]A^A_Ð1IIEHtb~\1DH@H<IHCLH8qLIHSLI(,Mt H,LIEH9(H{L?H{L3HHH[]A\A]A^A_jf.HH߾ []A\A]A^A_=ff.fHtGSHtGu*G(9GP}b1HthH{HH=I @SRHHH5vH81H= [H'GfDH w1ff.fATUHS"Ht;HHIH9C tH}HL[]A\HC fD HE1H5DHtE fDHUSHH? w<HlHcH>fH(HH5?H81H!HH=Ρ []HH[]fDH?HHHtHH[]&HGHŐH=a T@fuHD$!L$ff.EхH ƒfHtHHÐ1ff.fHt1D1DHt? wHHcH>1DH SzHHH5H811[@HGG@G~ff.ATUHS Ht38HuD`H}H#D[]A\H0A } HE1H5pHtE ff.AWAVAUATUSH(dH%(HD$1HHGP;G(UAHC Ht 8H8I&D$%HD$HtrM} AtfI@Ht$Ht$fDƒ߃Av#HLH?C<~tLHIAuH(H{H8HH HUH{LHD$dH3%(H([]A\A]A^A_fD v*@f*@H<%t]EP܀ H.P0T$AHHt$H0P7< GºD$AOʃ߃Av0 wAWу߃A0 P7< wff.HufG(9GP}nAUATUSHH4HHtl8t'LcHkLHLI3LHHH[]A\A]k )fD(fDHH߾ []A\A](fHu^G(9GP}fSHG HHt18uH1҅‰P[DHC Ht8tH߾ [j(f. V(fDF(fDff.@Ht7UHSH?tH1*HH HH[]Dk*ff.HtOSHHXHttHHrHH~H,H[HfDH,ATIXUHSHHt\fH@P@L`L Hh@ @0@@{HC8Ht?HtHHHt Hx H[]A\DH5&HwH-!,H{0UH1UUHSHHG0HW(~;1HHE09](~"H}H4HuHH}HE09](H,HH}8Ht"HG(HtHnH}8HG(- HHH[]Ha,ff.@HHWHHNHF8HtxuMHH@8Hu>HF(Ht,H H9AHrHt~txt HH@H;N@tDHHP HuH9t#H9u |@H9tHv(HufHHF8|@HrFt$JHHtxu.1f.HF(HuHHHHt'HGHtSH0HH߷H[Hff.@HHHʃ߃Av _HUSHXHf. ʃ߃AvFQӀ2v8 =wFHD(Hs6HH)ƅt#HHkH]H[]HsHH1[]H1[]11UHSHHHXHtH::t H[]@HEH8tHHHH[]ff.@HHHʃ߃Av_@ƀ:@tiH?USHXH ʃ߃Av>QӀ2v0~DHHH)HPwBHJH]H[]HsH묾ÐH[]ЉH"H1[]1H< w!H&fHNH< vPЀ v PӀ/U1SH<-PЀ =ff fDHYfH_0*GPXр v<.ƒ߀EtH11< w%H&fDHH< vH,H[]fC<-x<+H1H1Ҁ w@?BTPHHЀ vqDHutfWRf$؅E*$H[]YHH<09)H<0trHЀ v .D9}%0fHY*HXـ vf\$*$'\$$^؍PXӀ cDHPЀ vƒ߀EKfDH,CHf.f<.u>G0< -HffĨC1H3Hf1wHtWSHHHt-HH,HD$D$H[H,H[H,@AWAVAUATUSH8HT$ HL$H$xHD$H`$OHD$ LxL|$M8EE,HD$HhHHcEAH<AH,HHDAH$E1D D$,%f.HT$H$H$9HD$H4$H@H< D$yuŋUE1Q>fDBUu)EEtytu1Bf/D$u~ID9}EuHEJ< BH=ǘm@H|$ fH|$\H81[]A\A]A^A_EuStO1Bf/D$tHc,$HH|$ H|$$H8[]A\A]A^A_DEut1\$fB/%D$,1d$fB/$fDAmD1gHu.G(9GP}6HG Ht t3 Yf FfD6fDATUSHHIH@Ht|~v1fH@L$HH,@SHjBHmH5H81HQ,[HGf.H Wfff.UHSH>HtA8Hu)@H}HD$JD$H[]DHPfD H5HfHtE ffHt7UHSH?tHHHHH[]fHAUATUSHHtjG(9GP8 LcHH8t!HkLHLI5LHHH[]A\A]mDHGHxHt[HHH{袽HH7H ,HHH[]A\A]fD HH[]A\A]fHTHm@ffL$H:ff.AWAVAUATUSH(HQE1*L~MAAD$I1ۉD$lD$t#d$L$f.E„T$\$f.E„tADHA9IGHCE1A%f.HHAUATUSHHHIHHt{MtvI9A$UƉуtt*HLHH[]A\A]ft HLIԃ 'HHcH>fD1DH{Ht'H7 H*1H[]A\A]DLfDIt$ 1H mH{HD$ H{LD$ H[]A\A]fDAD$1HHTf{L(?HH5H81A1@1LHshufDHU1Ht 1A9D$K@1@fL(ff.AUE1ATUSHHtjHtcHHIHHMI9A$UƉуt,t7LHHE1AHD[]A\A]ft HLIԃ 7HHcH>fDIt$ HNkAH{H,H{L HD[]A\A]fH{Ht'HH߾ E1HD[]A\A]ÐLؿfDL(3H6H5H81AE1hLHfAPHU1Ht 1E1A9D$A#AD$HHAfE1MtKHtFu1DH4$H߾LHHDDH[]A\A]A^A_H$HDD[L]A\A]A^A_X+E4$L(DH5UH81AH{H4$0H{L$H߾ H1[]A\A]A^A_fDH$HhHE~zE1DHEJ<3HtVH{HHD$-HHHT$H,HH{LUHHDDHu ID9}1H{H4$D$[H{LOD$H[]A\A]A^A_@H$HhHtU~E1HEJfDHt )fHt8tN4HC Ht8t6HH߾ []A\HHC Htԃ8uEHH{XH$袳HC fHHC Ht8{&@H{߭HHu:=B~ M55DT$f(fA(fA(fTf.v-I,ffAUH*f(AfT\f(fVd$\f/D$fA(fA(fTf.v-I,ffAUH*f(AfT\f(fVf($$\f/rXXf/f/,t(1Xb=~ 5fHG(9GPSHG HH}8u`Hˊf(fTf.v3H,f%|fUH*f(f(fT\fVH[~HC Ht8tH߾ [2f &fDfDff.@HG(9GPSHG HH}8u`Hۉf(fTf.v3H,ff(%fUf(H*fTXfVH[HC Ht8tH߾ [Bf 6fD&fDff.@HG(9GPSHG HH8@f/߈%ψr f/ˈf(-f(fTf.v3H,f-xfUH*f(fT\f(fV\f/rX DH[DfHC Ht 8PH߾ [fD fDfDY@[f1HteSH5HEt[f.H5$H!uH5HuHH5~[Ðff.@AWH&AVAUATUSHH8H/dH%(HD$(1}HHHЃ@ G„u tHH+@9A<O1@H@/ HE1E1 jjjH߉ROH3H H&HHHЃ G„O tHH3HHO H&HHHЃ G„utHH+MҀ$("A< M.'-"$Ht$ HIH&HH& HHHЃ GƄ*tHHHHt$ HH+HH HC8HE1E1 H@t$(UjMH H+H&MHHHЃ G„KfDtHH+HH&H+MHHHЃ G„utHH+H߾V{H+})cHH&H+MHHHЃ G„jf.tHH+H5,D A$=Q A0 A$ HHD$(dH3%(C H8[]A\A]A^A_H}"H;HP<< @ p@@ f<'uH)貾HH8HqH{H螢IHHC8HE1ɹ AHߋpjATjKH ! H",HH+{MHH&HHHЃ G„tH+HMH&HHHЃ G„fDtHH+MHH << @ p@@ fǘ{<"uH߾{%H3I&L‰HH҃< GׄutHH3H&<[uEHHH3HHH҃< GׄufDtHH3SwH@LA5D߃Av'A$@vA$(v A~I@AD߃Av'A$@vA$(v AHcD$ HLHTUAă>wIsH3HH)H+IHHH5oZLHH,HH5ۮ,DuA$=QmA0`A$OH5g,D8H5 ,D!H5,Dy &@AD$Ѓ AD$ӃA:A_AfDHɭ,H|$ Hu[H3Hc.t&/t! vQ(u~LH(ucHl,LHMH-U,LUH|$ U9H&Hs"Hc.t/t wHHrLJH{L輝H1DA_xA:nff%|vHH,<*H/LH+Mf.AVAUATIUSHH& HHHЃ GƄuf.tHI$11AH&-uBHDI$)؉ HHHЃ GƄutHI$L:AT$I$H& HHHЃ GƄu^tHI$AD$u=t9ID$8p3HE1AjjjL=H []A\A]A^I&|uID$8HE1E1 LDpjjjg=I$H  tHBI$JHHLHHЃ GƄuf.tI$HJLID$8DE1HE1LPjjjz.7HH&I HHHЃ GƄuD@tHIIF8H LAA pjjj/H H[]A\A]A^A_HR,HHH[]A\A]A^A_H!I&ACLHH҃ GׄutHIӀ(:u @qD$ E1IV8H&DzBHHH҃ GքtHII8@HAI*LHHoH&IHHHփrgA[uD1LfI8[tIF8PHE DSLAUUDL$,7.H RH-,LUHEUHH&I HHHЃ GƄtHIHH5H߽I IH&HHH҃ GքtHIH57\HDA IH& HHHЃ GƄtHIH5\HH5\H߃EAH5\HA vA mA bH5HA @H5[HgH5~[H߅0PA AH5&[H(H5"[H߅AAH5ZHH5ZH߉H5 H߅A}ArH5ZHAPH5 H1uH5ZH߽YH5H߽=Hޘ,HHL[]A\A]A^A_~:z:H,HH1I$D$ )aHE1IHPIx*L诼D$ IH'I~Ht3PuII1LKHHu LIIL#H,HI)f"u'HIH @ƀ @ y@@ $@}'uH)Hlj荜HI8tHIH]IH&HHH҃ GքtHIH,HE11LI";E SE1AHD$ E1IYD$ HE1D$ I1HIHIH2@ @@ ~@@ @udt@"uLLLE11ID$ LHIeUSHHHH& HHHЃ GƄu@tHHր/OHCu@HH& HHHЃ GƄutHHH[]H&/uz/HH HHHЃ GƄuFfDtHHHC8H HAApjjj&H HH HHHЃ GƄYtHHHH HHHЃ GƄgftHHԀz/tJHH&H HHHЃ GƄxf.tHHHH&H HHHЃ GƄu@tHHHC8H HAApjjj%H ff.Ht'Ht"S> H+MHcH>D1DH~ 1Ht 設[fDHFHtg[F[f1[*Glf.FE3H˽6HNH5+TH811[D1[@Ht'Ht"> w}HLHcH>f.1DHV 1Ht}1:@HFHt׋@F@HGf*@l1f.FESjH6HNH5bSH811[@ff.@ATAUHSHHHCH`uMU v_ uaHcEt@HHK8H)HHQH,HCH`tHs>y1 @1u H[]A\ÐHH%CHrHH8EHH٠H{HD$ iD$ H[]A\@H}EuoH[]A\bfHcE[HK8HHH)HHQH4Ku 1A1HHS@HHH[]A\-DEGHأ:HWAWAVIAUATUSHX9LHcHL$HHK81MDL$LIWIhMDD$(HID$HT$8IAGhIHT$@HH)H|$0HD$,HT$ iDD$L$H9hT$(9\t$,D$9tIEH|$HcH,H8D$,D$t$(9D$AEID|$D|$D9QJEgHD$IEJ,Efl}Int HE@HtIHt$ HSYa+IEHL$}HlH蘢_D$,AAF ~:L$,9~0 H7,I~MHcHHIFAnHD$8IGHD$@IHD$0IGhHX[]A\A]A^A_DIEHL$}HH~HXLD1[]A\A]A^A_TEMMD$L#E;&IcHAHE9&IFH<(HtuwDMDd$MHMDd$MfDMMvH5NH6AWEAVEAUIATUHSHHDd$@tuHW8HcHHRH)Hƒ8HOpHAppHPHATDMxHCKpXZu AUuH[]A\A]A^A_@HEEDHH[]A\A]A^A_fD苶H(#H5 SH81վ HH[]A\A]A^A_f.fAWAVIAUATUSHHG DD$Ht8t) L1:HĨ[]A\A]A^A_fDF L~HII͋^D$@FL|$XD$DHF HD$PHGHD$趿HD$ MtHD$pDHOE1H$Hϊ,HD$fHD$ H@HD$0H!HD$0HcEIV8HJHH)HыHT$xD$(w&HcBtHH)HHt 8  DŽ$1D$lDŽ$HD$H"D$1툄$HD$HD$(HD$8H@HD$`AFD$hHD$0HT$HH|$(H@HHT$HBDŽ$E1LMIIGH`LLHD$IHMtI<$HtH9@MtIuHtL9@VwVH CHcH>苳LL$<0HEH5IH8L$1AAG+Mf.A~uH|$PtIvH|$PtD$lD$hD$h;$uLH|$(MLI脘MH|$8Hh Ht$(H$HD$8D|$E[@HT$0HD$HHD$H9.@sMH(/H DH5hIH81HD$ Pt,Ht$ HF(HtIV BHB(HF(FHt$ H|$7xH|$8SHD$(HtH9D$8tHҵL|$Ht$8LbLHEHD$`IIGHH,ILJ|$@AF |$@ vIvH|$PH|$XIFHHHpH|$pT$DAN@Hਫ਼#|$@ D$lD$hD$h;$D$l$\@|$@AFi|$@ v5H|$XqIFHH.HE1E1H$H,HD$f.HJE1H$H,HD$DHqE1E1H$H,HD$fHyJE1H$H,HD$}DHQJE1H$H,HD$UDH)JE1H$H,HD$-DHJE1H$H7,HD$DHCE1H$ D$DH}HT$H ,HD$HiE1E1H$HD,HD$f.HiIE1H$Hǁ,HD$mDHAIE1H$H/HD$EDHIE1H$H,HD$DHt$ H|$1wt8fL0$fDHxBAGMHL$(HD$xD HtXEND$HPpEvHL$PD$E?AYAZAvHD$(DEH|$8HPHt$(H$HD$8L$L3DŽ$D$lDŽ$HD$xrH\$Ht$ H&sH11]LH_f.;L$Dm|$DbDHD$(HtHD$81HD$8fDIvH|$P! H|$XIFHH8Hx(f1詇HD$(H1@H|$PI~HHt$P蔿|@D$lD$hD$h;$VLMH|$(IHD$LHpwAFfH|$(L$MHD$8HHHt$(H$HD$8fDBf.|$DD$l-HD$H|$(LHpÛx/$t$eH|$(LXy@$MAG=2Ht$ H|$1pLSDHAL$PHL$8_AXHD$(HD$(HD$8H@HN8E@f/H2 Hf/ ,f*ȉ$f.1D$lDŽ$ fDHD$H|$(LHpz$'DŽ$H NHD$(HD$(HD$8HD$ xHD$(HD$(HD$8OHD$xHc@t9HD$lDŽ$H)HHHD$x2D$lDŽ$HD$xHt$ H|$nHD$(HD$8fAWAVAUATUSH(odH%(HD$1HHIIH`p=PA<$L{8pA$H $8HcH>fDIcT$HHH)IWH4LUDKAEtif1HL$dH3 %(H([]A\A]A^A_fHC*xH{p=?UDHC Ht 8DIcT$HHH)IWH4LkADž]HHI H{HH8MA>H`H@tPHtHc0HHT${)HT$IvHsHc6HHT$Q)HT$_HBIvHHT$HT$HHBHۓH{LlE9~AD$AT$AD$AT$H{Cl=p@pWDH3@fDIcD$"KHC H8HxH?H{p|@SmIcD$IHIcL$H)H4׃t >HŋCH{1틇pIt$hHH蛒H{pfIcT$HHH)IWH4wsŅ HE11LLwH{ŋpIcD$DCEIcD$t+HHH)HIWH4{H{HwMfDHH{pfDLHH{pp5HHH)HIWH4r9HHH)HIWH4L'1AT$tHC Ht8BL`MjAALH߹A$BID$H{HIpHXiH{LLi H?LHxHt )HC HxHGHIHH)Hǃ8aHc@THH)H׃8 HC H@H@HIj1cff.AWAVAUATUSH(odH%(HD$1usHHIH`HuDpBA<$Ls8p A$H5S1HcH>DH#C1HL$dH3 %(H([]A\A]A^A_ÐIcT$HHH)IVH4 D[EuIcT$HHH)IVH4DdkuHAHI6H{IHJ 8A M8 A>. H`2 H@HW Hc0H"_ IvHC I}H LH7H{LeHKD勁pPpDH{pH]H蒵DIcD$t+HHH)HIVH4sŅ[IcD$HHH)HIVH4K$HKŋpP@IcT$HHH)IVH4PKAŅIcD$t,HHH)HIVH4SAAD$ X    @HKD틁pPIcD$E1t%HHH)HIVH4H{AIt$ H23HIt$H{H虜HHHD2HKpPIcT$HHH)IVH4 ŋCHHC Ht DxEHKpPfDIcT$HHH)IVH4DkEAH|HC HtxtHIcT$HIHH)IVH4bD[EH&HC HtAU PH{LbHKpPIcT$HHH)IVH4DSEyIcT$HHH)IVH4DKAEIED$ HE蛤DH{XHHbHKpP8HXHKpPfDIcT$HHH)IVH40D{EIcT$HHH)IVH4DkEAD$ HkHKpPfIcT$HHH)IVH4{ŅIcT$HHH)IVH4csAT$At$ HIcD$t HHH)HIVH4ŋCHC H8HxH?r~HKpPIcD$zHHH)HIVH4DCE11E1LHHKŋpP'It$\fIcD$t HHH)HIVH4DSEIcD$t-HHH)HIVH4DKElH{HwuB3IcD$I~HIcL$H)H4׃tPHS AT$HK H9HqHDH߉D$A HKpPD$C(IcT$D{PCPHHHH)IVH4{AŅC(SPAL$ 9~JHS0HH<H4HD2HHH)HTHHxgH9uID$(H{HZMt$0HIL$HAt$ LHT$HHHCHT$HkHuCP9C(DHm;E$$L(ϗDH54H81AC E1fD1fHKŋpVDL]H{L\ HIt$|HHƬ茖H($H53H81C eL0H5^3H81AC DH\k2Mt$ Md$H(LLH52H81CHH)H׃: :HcBHk8Hǃ? H  HHH5,KMAD$uHcHk8Iv~DMt$ ML蚧IH9It$H{HHID$(H{Mt$0\\r HD mHKpPRLHKpP8HȞIcT$HIHH)IVH4EDsEuH HC HAU!PH藪HzHKpPHC Hs8H腧HC HP8Gf.HBH 8 3f.@HT$HHD$;{AHS H:HzH?0fDHD=HKpPIt$葙HDqHKpPH臬HKpPmMt$ Md$H(莓LLH50H81DHI}IvHtH>qIEHyIvHHtHc6HAyH{LXgMd$L(LH5/H81Aվ HkpIct$HT$HHD$Hk8IvS{?HC H8HxHH?.vfDAWAVAUATUSHoHHIIH`p=PA<$L{8pkA$H "HcH>fDIcT$HHH)IWH4Le{AŅtK1H[]A\A]A^A_DHxH{p=_UDHC Ht 8dIcT$HHH)IWH4LkADžuH腚HIzH{HH8MA>H`H@tPHtHc0HHT$HT$IvH"Hc6HHT$HT$HBIvHHT$nHT$HHBHK}H{LUE9~AD$AT$AD$AT$H{Cl=p@poDH裥XfDHH{pIcD$CHC H?86HxH)? FsH{pd@It$QHH[|H{p9fIcT$"HHH)IWH47SŅrHE1L1L7H{ŋpIcD$s/IcD$t-HHH)HIWH4KfH{HwS7fDLHH{pIfHHH)HIWH4RYHHH)HIWH4L>HSH{LS H菣DHxHHctxqHC HxHcHWHDI^H{HD=SH{L1SH{p_HBfDATUSHdH%(HD$1HHG8HHH0Hp(HH{t=HHcPH H@HH)1H4+YfH$HHcP<HKDpH H@HH)H4HCDp1H|$dH3<%(1H[]A\H)`,PHC0HH HC HC(HC8CPHp(HHcPHKDpP1ҹ5[HC8fH15H4$tHu(HC8HtH{JQHx1H芋H5(H81ӸH5"HfqfDAWAVAUATUSHHnIHWHIAsL%^,XA$HHHxHHHH@P1H)XHPA$HC0HDH Lk8DHHC HC(CPHkSAŅt3E1MtsM&HC8HvHD[]A\A]A^A_fDH谓IHtHC(~蜉S(L8T$ -T$ H5'H81ALHOElRL8H5C'H81ANA[H E111PHA 1j1Ajjjjh7P1jjxHPHJ^,HHH5 D1% AVAUATIUHSHHtH[]A\A]A^DqHLpIHtHDpHKDpAEIE8I]8;~=HcCx5HH)HHSH4HDpLDpIE8LtL]kHCH[]A\A]A^DH諺bfD7H5>LgLOtH[]A\A]A^Lx~H1邆fH1dH%(HD$1HH$vH$HL$dH3 %(uHm1@HUSHHHwHMHHt%H{8HtׁHk8HH1[]HC1HtpH肹HCHtpSu\H:ulHS8:~HcJxHtpHHRHH)H4=HCHmpbDH[]fHH߾[]DAUATUSHHHHnHHCmHHtkH1QqStHbrHH[]A\A]@HxHHC(~`Dk(L DH5z#H81AH1[H]A\A]HE111PHA 1j11jjjjh8P1jjtHPXf.ۄL sH5"H81A%ff.@HtHtHH9W@u H~1DHt?UHSHHHxHHH[]^fDH1[]1D7SH Y,H5H%vHU,HH5svHW,HH5nuHV,HH5OuHW,HH5@uHU,HH5- uHU,HH5uH"W,HH5ֻuH$V,HH5uuH>V,HH5a_uHPY,HH5IuHV,HH53uHHPH5\uHV,HH5uHV,HH5tHX,HH5tHtV,HH5qtHX,HH5tHU,HH5AtHS,HH58tHV,HH50mtHV,HH5&WtH(T,HH5AtHU,HH5+tHdT,HH5tHS,HH5sHU,HH5sH[H lH H5khff.UHxSHHU,HHHxHHǀp1HH)xHH+1HCHCHC HC(HC@HHC8HCHHǃHC`HCh豄HH[]H=fHHeTE11WA 11P1jjjjW1jjjjpHhDAVIAUIATUSHHHsHHhhLcH{ADŽ$ A$ADŽ$cHSH3I$HCH)L@H(L8Hte[H]HA\A]A^DHA E1AUAVjjjjAUjjjU11111oH`[]A\A]A^f.HA AUAVjVjRAUjjjU뻐ATUHSHHHZHHlHT,HH_EHUAf LxHCLsHHD$HL3A>/HD$&HHHHD$HCHD$HGHH3HM,LLHM,HXLH=9GHM,CL(H=#HC cH5  L蛋txL[HLsHL3L\$HD$qL\$HIH LHHЃ AGĄuFftHH1HLHlH.=t,HD$L[LHHL,HL,LLHLH HHЃ AGĄu)tHD$LHCHD$HH?L,H{LL\$LT$NHD$L\$LT$HH L,L[LvHD$L[HTf.G@~AHWH1HcȉG@HtHt H Hw8H8HHtHK, DHHIHtGPHHI11RA P1jjjjR1jjjjeHhHHtGPHA 1APQH1jjjjAPI1jjjR1eHhff.fHtKUSHHHHtVH-J,H;HEHtHEH{HtHEHH[]ff.@ATIUHSHH5dHdHt[]A\f.A$tHH5VH6HuHH[]A\"`fHt7Ht2AUATUSHLfH.MtHt W\BwH[]A\A]ÐHO`HwHLOPLGhHIHtH{xHtWIEx뵐HsHtlHtK\;H\u'H{hHtXHphHtOЇuK\fwHv_LCHHL[H m]BA\A]H{`Ht Hp`HuH{PHtHpPHuAWAVAUATUSHHt}IHtuIHtmHHteI1E1HE0Hh8HH[0Ht*HLLLCHtMuH[0HIHuHL[]A\A]A^A_E1ff.Ht;Ht6Ht1Ht,At$ tHR]fHI'1ff.fUSHHtqHF,HxHHt`HxH@HH@p)Hx1HH+HCCHCCPHH[]1@HH1DHATUSDO@HE~HxDC@EH{HL%DG,HtA${ HS~#1fDHH[/,AG$ IG(H,Ic$HIG0HAG$IcW I(9|IH?.,AG$HH4IG(HIcw$I0HIG0HI(IcW HH>IcW H|$XHIG0H=HAG H$uDoH5[HR@HL$0H\$XHL$IIGLHH Hp#H$fH.^HD$(HHD$pIG`HD$PHhHu8Hm0H#}uH}HtH}H5TFmtHEHH5Hx.muHEHH5Hxmt}H}CI?A_PpIHIGhI`AID$h~Ht5Hv@Ht,Ht'S1HexSP [[ÃDHUSHHHH-S ,HtUH;HtUH{HtUH{ HtUH{0HtUH{@HtUH{xHtUHHtUHHtUHHtUHHtUHHtBHU{(C,uC(HEHH[]8fff.@1H ;c1҃u HDq8HDATUHSH dH%(HD$1f? AAbÃz11VPuID$H 1J&7HL$dH3 %(|H []A\߉‰D$1OD$xHD,ZŃu0# t sH|$\$fT$`NŃtwHBf|$HL$LD$ ߾D$ Y:D$uwf AafH^1 %6HHXH1 $H1 $h6"T$uHVG.AWAVAUATUSHHdH%(HD$1IC,RL{@MHkXHsPIH95HcS`HHLH9sSL)LkHLsXC`HHcH,LM)M)HC@HmHcMcMcHILHsPLkHHCX{(1ɺʼnCd(ub!h~KlstBH%1 #HL$dH3 %(AH[]A\A]A^A_D uC(`L$fD$L| 81@H)LHcHL)4MHcL{@HHsXHsHHsPHsPDH,HHC@HthC`HIHCXHCHHCPKHHCP L11Ҿ v%H,LCdL11Ҿ ?%Cd+ff.ATUSHH $HHWXdH%(H$1IHL4f.HPHUX< t?< HHL)H=VHH9UPuHt tRHEXL9tGH!,LH$dH3 %(u(H[]A\fH,Ƅ$L1*HHGHHtzAUIATIUHSH_P)fDHh~ ËEp~9HEHIEA$Ep~9H[]A\A]1H[]A\A]HÐAVfAUATAUSHHdH%(H$1)D$P)D$pHDŽ$DŽ$N&f1HT$ HHL$)D$ HD$)D$0)D$@D$(VH\$HDLl$pLd$PfADS4HsL8Lfl$RuQH[(Ht{tt{ uދSHsL7Lfl$rtH|$D$ R[D$ fDH$dH3 %(HĠ[]A\A]A^ÐH6HHH@H0H1Ll$`fALt$pafHcScH|$ 7D$ fDd$RfT$PH|$PD$TQHCHH4(Htg{t}tX{ uRHcSHCLH4(6foL$` LfD$pL$xfDd$r느H|$Ht!ZH1 K#Ht#~tHtH%HwHE1 \@H}1 H|$Y1fHM뭃HHHE&ff.AWAVAUATUSHdH%(HD$1II1I 9~UHcA<$1)LHc:(IDžۃu )8 uLA$`L$fD$E9HL$dH3 %(u2H[]A\A]A^A_@1Hz uAD1&@AUATUHSHH,HHHxHHHǀH1H)HCPChH;C(CpHtH@,HH{HtH',HCH{HtH ,HCH{ HtH,HC HHcUHHtkH8Ht[HxtTL%,A$LmHLMtA}[tSA$HCH}0I$HtvH}8HCHtA$HC E(uHHH[]A\A]fC#~HcA|]upI}GHC뎐LA$HCH=UPL11Ҿ @H=m,Ht0HH,HP,N,Hf6,DSHH=,HtHu,H,,HH߾SHHtxH0HtHH=u1H{Ht(HI,H,C(t'H[,BfH zH[![fDH [QF,uH=2,t.,DHH=C,P6Ht8*tDH=, HtH,H@H= HtDxuHDAUATUSHHH$A1HLcHHt~HCPH+CXHw1GW uHHHCXLkP1I)D)HcHʼnWH/DHW)ՅG uuHcHkXA)DH[]A\A]H(~4HsXHCPH)L9|LH)2LkXHD[]A\A]HsXHCPH)L9}LcMH@ y|ff.Ht2fff.@AWAVAUATUSHHH|$0Ht$HT$HL$LD$8LL$ HH\$H4HHHEHD$ JH$H<$D$, YL<$LEHHYH* ,LHH3HH=L{M] L5C,LMZ5$,LDdH|$C(GA$HD$ Ht HEdHD$HtH8Ht EdH{ Ht EdH|${H{IoAE{PE|$/tH=,E|$:tE|$@H{,McLIH H=_,HSCHKPHLLLRP1QLL$(HaH LcO4LLK LL)H)Mt.LLH1$LHILL)H)ƋCLKPHLHPLh1HIXZLLHfLL)IH)1!LLL)H)HD$Ht6LMt.LLBH1~LHILL)H)HD$ Ht%HLHx1O!LHILL)H)H|$L{(>D$L1LH Lc0LLc8C,rLLeC,t$Ht$LKC,H\IHA>6LH=rɅAVIFr@ wD4Htrz@ v.x4  L=G ,LAHIH]HuCh-,cdfDHl$, H<$Ht H ,H,HHH$SH<$H|$0HHf1HHH[]A\A]A^A_@H t t0 vf. HLJz@ vt KhL=1 ,slf H5L\ AŅiAF Mf < t< uIA$< t< tH{xL= ,HtAH,LLHCxA$<;wHfDH<;wHsD)HHt t$(At$(LH{xH5bHBHPL`L;w HrH;wHsAE)HHtADLHfPz@ vHzf.4HxtrPB< HSHz@ v; H5[L AŅH{x AF Mf < t < uDIA$< t< tHx,LLHCxA$<;gH<;wHsHD)HXL=,t$(At$(L H{xH5CaH[AH{PL`L;fDH;wHssHCXLHCHH~,JLLH13 HIOfsLA2DDŽ$HL1Lc0LLc8C,HLL;fDRLQLL$HLL1 Y^LcO4% H5hL AF Mf < uIA$< t< tHL=I,HtAA<$/Hg,LHfD1HLERLL$8H HlH<$H/H,!HH1HL=,HqH5cLuAFMf< u@IA$< t< tHL=A,HtAHj,LHH=635HsHYALHNAHH5L.AFMf< t < rIA$< t< t[L|$MtH{xHH,IHD$8HtH $HtHH<$HtHH\,H~VH1L911Ҿ }HD$8HoHcHD$HiH5L,AFI~< u H< t< tH5c:QHx,pǃHH)H@@pHH@HH8H@P@H8L=1,H5>LhI~ 1@$CpHHIHtHMtIHE111jHHAQME1HfDHHtHE1E111^ff.AUATUSH(dH%(HD$1HD$HIHI"&HHH=LÀۅuhHT$ Ht$HE1CHcT$ ~Ht$E1HAAHXHL$dH3 %(Du^H([]A\A]AL12ÅzH MtI}HtHU,IEA{ff.ATUSH dH %(HL$1HD$HHHHH=¾ÀۅuhHT$ Ht$HE1#HcT$ ~Ht$E1 HAAH8HL$dH3 %(DuFH []A\DHǺA1|1ÅzHAfAsHtGhøff.fHtH1DHtGpøff.fHtH1DHtH1DHtH1DAVAUATUHSHH?HtHS+HH{HtH:+HCH{HtH +HCHH@HHH8Ht|HxtuL%+A$H}HA$H}0HCHA$HCE(tCLm Mt3:LIHt>HLL)I~HC A$HC([H]A\A]A^[]A\A]A^LA$HHC []A\A]A^DH=u;f@ATUHSHHDAoLcA[DE9KA>EZHcIHH)}1HcD DAIcD DƄLcIcHHH9f.HH)HЀ Ny@ w5~DWA w'~-DAЍDGtH9v[HH9tO> uHH9wDAtAwAw E9[]A\DH9wDRE)J HIc.E1+HDž)AHNHII)DH9vU~ u CD@ t8H1H9u@ t&1@ [HѺQH)]A\qHvH1 DžHH=,HtHE+H,H=,HtH%+H,H=,HtH+H,,HfAVAAUEATIH=,UHSHHtH+Hm,H=V,HtH+H=,H=.,HtHr+H,MtH+LH,HtHy+HH,HtHa+HH,[]D5,A\D-,A]A^fDATUSHHHH?HHQ;HHH0HtzL`MtqH;<ueH{L,AąuRE(uFH{HtHn+HCH+H}0HHt1HCHD[]A\;CtH{AH=e6HCƐSHH=,HtH+H,,HH߾X:HHtxH0HtHH=u1H{Ht(H+HP,C(t'H[7,fH) H[[fDH [,tÐHH=,Ht8*ttH=THtkHH=OHtHH+Hw,H=:HtHH+HK,a,H@xuH=DHuff.fH5+ATUHSHHHxHH1H1Hǀ1H)HCHHǃHǃH$ IHt$HHQH+LH[]A\DHtHH(H[]A\L11Ҿ @HUSHHHH-O+HtUH;HtUH{HtUH{ HtUH{(HtUǃu+ǃHEHHǃH[]ΐff.@Htt ÐUSHdH%(H$1HHHl$ 1HD$HD$HHHc LD$H ?)ѺH1H T 1t:ttMHH$dH34%(u9Hĸ[]HX1 D$ ID$ @SHdH%(H$1Htqt/ H1ɺ$QUITfD$D$*Åx$1H$dH3 %(u)H[@H1 ɻ/ff.@AVAUATUSHdH%(H$1HHHL5d+MD%L+ELk0H{8DDLH1H)HC01ҾHǃH /7ŃML3H H H@AH{4fDC0Lt1ƒA4@49rfA1ҾfDc2A6ŃDL.H&H=H+Ld$@L &+MLd$@1LYL Ƅ$L H!%tDHJHDщ@LH1L)ŅH%tV ǃH$dH34%(H[]A\A]A^ÐL )+ML1Lp0Ƅ$L H!%tDHJHDщ@LH1L)ŅH$f+Ld$@LK HCMzHL羐PL1eY^Ƅ$L H!%tDHJHDщ@LH1L) ŅH$LK(ML1LƄ$L H!%tDHJHDщ@LH1L)ŅhH#+1H=+fHD$)D$HT$HL$)D$ )D$0D$H1-u9H|$Ht/GHu>fDEt-Hm(Huw2H1 dE=fA} Hu_.HI}HHS0HLILLH) H)։HfDc21Ҿ72H|$De1qH1 BǃIDg[~+LK ML1LƄ$L H!%tDHJHDщ@LH1L)FHF!MpLK(ML1L'Ƅ$L H!%tDHJHDщ@LH1L)H H H{w ?fES0TfATfILPL1foD$P)D$@@fLK1LLƄ$L H!%tDHJHDщ@LH1L)YŅ?HWn=+x@S0TfATH{1?fL +M`foH fA|$A)$cHI}HHS0HLILLH) H)։HfDc21Ҿ Y.foֿ fAD$A)$:S0TAT벐fo fAT$A)$.S0TATH1 >HϽ1 u H1 ]S-H1 @H@HV1 DATIUS>(~RMtM1HHt>Hw+LHCHt!kHxH[]A\f.H!1H[]A\ff.USHdH%(H$1HH1HHILH1fƄ$H H!%tHDHJHDщ@NjH1H)#Ņx=H%tH1@H$dH3%(u1HĨ[]H1 } ff.USHdH%(H$1HHIHH1LH8Ƅ$Hڋ H!%tDHJHDщ@HH1H)Åx7HtB1ۃH$dH34%(u,HĨ[]Hm1 U@AUATUSHdH%(H$1HHHl$@1Hf{0 H9/*AD$fD\$@DE,f{0 A Ƅ$DŽ$PASVfD$L$L H!%tDHJHDщ@LH1L)|HOt(ǃǃHcHPЀ wHPЀ vuf{0 rLd$ H5lID$IL$LPID$ML$ PMD$1 ^_LH$It$fD HHHH9u$D$D$fD$BT$HT H$dH34%(H[]A\A]ÐA Ƅ$DŽ$EPSVfD$:f A 'fDd$@D$Ld$HL~1HT$fL$BUHLL f{0 )L$HL"D$KLPD$RPD$_PD$fPD$mPDL$t1 H0Ƅ$L H!%tDHJHDщ@LH1L)HMǃ4f.1HT$ H5%; D$ oC8fD$HfD$BHu.L$ LL$HH1UMLʶLXZH1 &H` iOHH5Hl1 D$ D$ HĶwH kfDAWAVAUATUSH(dH%(H$1HRHE1AHl$4LHDǃH$HD$HHcAL$BL 2L?)HLH TDHHcHI ?)1ILL ĐTŅxUtDGDD$@:@:7E1|$@ vNGHFDGЍy@ vD$@H1 u H t 1D$L) t) HcǃH  uHcD$LƄ< u H t tH|$(D\$LH$VL$HHQRH$RLAPPLD$hHL$HH|$`HD$XLT$pH0D\$LLT$@L1$|$@ wkE1NGHFDGЍy@ vDD$@:u5NH^q@ w4Htq y@ vE1H1D$@,HD$@1rATUSH@dH%(H$81HEHIH&HH勻1ɺHTYPE I HD$H$DHMM,H1L,Ƅ$+H H!%tDHJHDщ@HH1H)xdtrHzueH$8dH34%(ucH@[]A\HDfLK%H1 @eǃT@AWAVAUATUSHH $HHt$HT$dH%(H$1HtHH]H|$\HHfHE1Hl$0Ll$ L$(fDH8VEHD$ 1HHD$(HHcMH ?)ѺH1H T01 ADžl1ɺLWAąLH|$HD$ETHADǃH$dH34%(Du{H[]A\A]A^A_HADH1 HD$HD$LH|$HD$ЋAIǃo5DUSHHtf1tHtT~HHc1ɉ<Ņ~H[]DuHH[]DHإ1 ս@SHCHtVH5vHufDGU1HLSHHHHEpHHPHCHu fDHHHuHH[]HXH[]@GGGs@Hi LHff.HHE11WA11P1jjjjW1jjjjHhDAWAVIAUATUSHHD/Ht$A"tA't A IH+2IHB1A2H-s+If@?D9|"H+ELIcHAIAIHA6HcLcHc|=tA t D8A u wH&HsCA wH&LHr3H8+LH1[]A\A]A^A_fAA tIFE8.uHL$L9H[]A\A]A^A_DH=gHD$OH+LHD$H[]A\A]A^A_AH=/1HHD$PAQAPQH1jjP1AQAAPI1jjjR1HxATUSHdH%(H$1Ht}HHHJxf1H1:AąxSHl$0H+H} HHtaHDH{DH x Hc+H+H@1H$dH3 %(Hu&HĠ[]A\@H=$Dff.fHI+ATAUxSHHtaHx H@HH@p)Hx1H+H HCXDcht H[]A\ NHC`H[]A\fH=TfUISHHdH%(HD$x1Hʃ߃Av(Q@?wH1Hr_t :1I?H ALHHdtmʉI,߃Avڍ@vύ(vāQӃ2w IrfD3HH\$xdH3%(HuHĈ[]1'S H5HHdH%(H$1AYS HK =w9t5py+tY:td;t%H=vfHrH$dH3%(H[fH 뀉H/4/hH:4:H@2t@3tTH%!QBtWFti7tt3tw5uω%DQHfQAtBt1Fu?D+:1/멉;롉'뙉#d@Ht+HBHtx t1HH@0H1ff.fHtcAWAVL5AUIATIULSHHH4$H|$H9kHtHHuH[]A\A]A^A_@{ wߋCIcL>D1HLL|HS H5HIHS(H5LpH<$Lt1HiLL$HS H5^HI.HS(H5멐HML1LHS H5&ILHS(H5anfDH9\$HD$HX1HCLLI1HLLlHS H5HIvH{(t-HpLLHtHK(H}2HLC8hDH;LILLH<$L1HLLHS H5HIHS(H5NfD1HLLHS H5PHIHS(H5ȦfD1H/LLLHS H5'HIVHS(H5%fDH!L1L HS H5IfHL1LHS H5IH*H5zLH_H5_LHt7Ht2G w'UHKHSHHHcH>f.H H=MwH` vHH޿ []cH H=cDHH=6zfHH= gZfHH=G:fHH1DHH=cfH H=vfH H=hfH H=@fHH=*zfHH=gZfHM(H.dH1kHM HdH1M+Lk0L LH5H81ALc0H(LH5H81ifH5LtKANfD +E,L 3HH5څH81A@HL1E1jMtH % ^_fAWAVAUATUHSHdH%(H$1G@2HӍPIW@H`ID$E1E1HD$5@ u#I} Iu H߉ADMmMtgAEuI} ;D$~Iu H߉D$nDL$HD$DEL$IDMmDL$HD$MuDH|$5+HD$Hx0訶HtHct$HHm@H$dH3 %(H[]A\A]A^A_fDAIu Hl=+ m@H$dH3%(I}0H[]A\A]A^A_EWIE1M$$MA|$ uI|$ IIt$ H߉uEL|$ AFMlI|$0I7uIM9uA2I|$m *+I|$1HHZDE1H"IE1@gM$$MtNAD$uI|$ qIt$ LBu1A|$8M$$AMuE HfHH{u{8uH{ Hs LuELl$ AD$M|DH{0IusuIM9uA2\H{f+sH{1LH\dIt$ L+m@H$dH3%(NI|$0HAMkIIM EuwM$$MtgA|$uI|$HteMtHLH}@2~1L HD$Lp )H5H8L1ALfE@E@1aL8I|$Hjm@H1HE1H R{1jLG vAX1AYIT$0IcAHT IT$0L(HT$xHT$H5H81AI|$HiMl$ H?LH5dH81LMu0Me HLLH5zH81L3I|$zfHS0IcAHT HH{ HS0L8HT$HT$H5H81AH{HZff.@AWAVIAUATUHSHHHQIHt 8HE H5|Hy H5|L]u @HHt0{uH{HtILHIHuHCx@2~@E1Mt Hy+LHL[]A\A]A^A_fHH{HtDH`2+IDžu+LHHEIMtH+LHH("LH5y~H81LLHIfDLINj+t(M5L LH5B~H81AHLHtI1HHIff.ATUSHHH<-<gL(cLH5SuH81A@1DH}`|HHܪ+ATUHSHuN;t)H{`Ht2HHHt"[]A\ϤH{pHHu1[]A\L HH5sH81A1ff.fHH?tH`HH5fAVAUATUSLwp1H誢HHH WmHmHH5oHH趯1H5k1IHt`1HkoHHʜIHtdL``HHsE1LLLH1HHt1HH[H]A\A]A^fD[]A\A]A^L覨@HAWAVAUIATIUHSHH?xLH5wA t@E1E11LHH{`IHHLH[]A\A]A^A_@LH5ouLH5ouLH5 tLH5uXLH5o1USHHLWHLNH^MAHMD_1A9SHc HA9EM1MtIpL tMtM@HHL[]fH=J1H[]fL L˽E1MvHtL YtMO1H[]H:,AVAUATUSHHIHLVHnMHHHDA:E1L[MDAMcDIExvO N41MtIqLt1MtIqHAąt9IEHHSL[H9]J2A\A]A^DH=HE1![D]A\A]A^DL!AL7HtE1}LA@LLE1}AfDAH9t'Ht%Ht HvH ~f.1øH9tgHHtIHGHHVHH9tlHttHt2HxthHzt$UHSHHHrHx}tH[]øf.1DHuH{H[]u}DHvHc}ff.fHt#SHHH5m藣u1[1DH{H5mup[fDUSHHHHHH~ H}tOH5C;HuH{ .H{ H5_"HuH{ Ht2H lH[]@H5CHuH{ HuH5ӡH[]H=/CH1[]ff.'AUATUSHHHHHH~ H5FZHEHHtHx~HuH{ 3H{ H5O#HuH;HHt71HL-c+HIAUMH{ LڠLAUH{ H5 àH[]A\A]H=BBH1[]A\A]HEHH{ HpH{ H52$o*f.H=B$1HHdH%(HD$81HtHt~t(×HL$8dH3 %(uAHHfDoFoNHHv(D$HHp(Ht zuHR(H$HsDHH}AE11HAPA1W1R1jjjjP1jjjh|Hhf.HtlAVL5JrAUIATIUHSHHHu-DH=@@1HL$XdH3 %(Hh[]A\A]A^A_FH5EHcH>fALc`Mu@M$$MI|$z~I|$iIH H8z LOjDH=@4fH=@tf.H=@Tf.H=`@4f.HsHHHE(HD$XdH3%(IHhH[]A\A]A^A_E}(H}  H5?uH} HshHCPH} Ht 8 M( H5l?;1&@EH{PH HH%H} HH^+H1DEU}(H}  H5>貛H{PHt.HHH} H臛H ^+HE(H}  H5>`1KfH=E111RA1PHAP1jjjjR1jjjhCxH`DHE0f)D$0)D$@H PHT$8HD$0D$E}}8Co H51A{HD$HiIE1DM|$`MufM?MtxIWH{@HmL9uLuHEHtH}HLЅtH}0LEIXwM?DDMuDMd$(MZEtEAu?fH5q+)r+)r+H}0)q+~uHH=q++Lt$HH5LgL|E{0 H51yIH E8XL{XMs HD$E1HD$XIHHtQ:tHH|$ M H|$u+IH5蹙tL|$M0M3EuHEHtH}HLЅtLLz{H|$Lc{]fDH}0HLD$%D$3@E,D$tHE(H} H5u%HCHHt.Hxcu~!HCHH} HpH} H5HsH} @HE0Hb PPPKLsXMt4HEHtH}HLЅt LLtzMv0MuHH5Le1bwLyEVHsHtHP EQHE0HHT$0HT$8P1@ H5H1wHD$(H HE@H~L8MrAD$E1@E1AH{@LHiIHt`HuTHEHtH}HLЅt;H}0L/E' IsED$D$DHE@N< IMH5M8LTH5 L=ALsXMt4HEHtH}HLЅt LLxMv0MuEzHs(HtqHEHthHV(H}ЅuZLs(MtQM~XMt6IHHttLLhH8M0MuMv(MuE1HH5L;cLuLwH} H5AHsHH} H5:ΔHCHHt.Hx r~!HCHH} Hp觔H} H5Z藔HsH} 芔H} H5zD$?E,E(0D$E1LCHD$MqLLD$ kELD$ thHEHtLLD$ H}HLD$ t,LULMH}0LLLLD$ LD$ H}0LHLD$ LD$ IxpED$D$LcXED$ MfDHEHtH}HLЅLULMIt$HH}0LL/It$HH}0HAEu|$ tIt$HH|$(vID$HHxRpED$D$fMd$0MtVI|$HHtWID$HHtHx puID$HHxoED$D$D$t|$ t D$D Dt$ t D$SLt$(HH5L|`LtH5ө,1DHH5L>`1rLtf.H=3H=6HH6A61PAE11j111jjjjjjjhnH`Lx^fDEWH|$Ht$LNtMLL:tH|$lHD$Lx(M$HD$H}HpHD$HHD$H@(Lp(MHEHH }S+HL$(XfDH|$LCH+LL|$(HD$ AH|$AHD$ HD$Mv(MwHEHjIV(H}LЅUHJcH5kL]HtHpH} IHHxmOHA|.AH5LHI!H= 2 H52̏RH{@1H cD$IH hH5G蔏1DH54|H{PHHH} HVHQ+HH} H|$(L$rH}0HLD$D$H5<2PLLqIH5HҏMH=0fLULM)f+LLH5f+)f+H}0)zf+uHH=cf+H=0]IH5,Z8VL|$vH=0*H=0fDfH5e+)e+)e+H}0)e+|HH=e+`hH|$Lt$LULMHS(H LL'IHAL|$L|$'@LULMHS(H DYLLHD$HH=i24H=o/HO+HD$(H|$H5 HD$HL$1HHpH\H|$IHD$(MLLoIG0ELMLUHS(LLLT$H gXLL$LL$LT$HHS(LLLT$H LL$LL$LT$HHS(H =LLHD$HH=.HD$(H|$E1H=T1LULMH|$(LLD$ nLD$ HD$(H|$H=a1drLt$(LE1AH|$AH=1=KC_H=%.'AH=-H=0E1 H={0Lt$(LE1AH|$AH=0H=Y1H=-H=d0H=-~H=-jHLwmLL$LT$@HL]mLT$HS(H LL$LLLL$LT$HIfAWAVAUATUSHLd$PMHHA̓I|$tDL$ IMƿPHUK+H4$H4$DL$ HHf@L @@,@H=g,HߺHHC0H /HHH f/1RH=)/Gu)L1L1fDHtoxkATLcUSHI|$HH!H+HtMEt1t-At$H@  Ht H9uB H[]A\fD111HD$xHD$Ht.?t"HH>u)S1 S1fDH9t7Ht@Ht51fHt )t1Døff.H9t/Ht#Ht1fHt8t1@fIHtdHt)Ht$DHJttHH8t119:u1 DHt(LA8 t1fHLDf.H9t7~3Ht?Ht1DJ1I9tHt# )tfD1DføfH9tGHtPHtE1L $+ fHEt IAA )tD1Døff.H9tW~SHt_HtQDRL *1f.I9t"HEt2 IAA )t1DføfHt$t@8u 8tHu1fDH@u>Ht9t5t.FHL@tHH9ut HHf1HS1HtTH=F؉[fHtoATUHSHt#HH0^AHEtu1fD1[]A\ÐDHH~tfDHt8EufDH1DHAUIATUSHHtaHH]AHEtMtDH-(Ht-AUL8LuDLHEuHfD1H[]A\A]1ff.fAWAVAUATUSHHIHH\Aƅxr)A9fH7@+HcMcHItHT$HT$HIteJ<8LdBT5HcAHL[]A\A]A^A_f.IE1HL[]A\A]A^A_F11IrfAWAVAUIATUHSHMLHH[ADž)D9|xHcMcHD$I|H?+IHt_LHHDcHT$LHcK<4 cAHL[]A\A]A^A_Hx[ÅPfDE111rDHH[]A\A]A^A_EfDHH[]A\A]A^A_NfHt'Ht2>Ht"f.H:u)^H@1@HHNUHSHHL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1HtqHtlHcIIHH$HHHD$HD$ $D$0HD$lDHL$dH3 %(uH[]tP@Ht7Ht2UIHISHcHHHlDH[]øf.Ht)y"@t tuHt'UHSHHfHHH߉[]z1HDH1@HHt-OyuzO@t#HHuH=GfDu@уtWH@u WuWHu1ff.@Ht"Ht-~x(fHt tOu܉t%G? ÃtOut'G % G? Ãj<_G<PG % W? G% Hu fHyƒt?ƒtMHD$fHtGøff.fHt$G8uOQvVvvt#DHW0wHtrHGHGff.HtOUSHHH-3+WHEt#H;Ht tHEHH[]DHHuDHtgG8u`HHtXO H9O(tvwWHG t?trHW HG(H=HCG Hv/G@HYHHG(H=wBG 1҉WfHO(f.HWHtH)HHG(HW vG 1DHG8W H9W(t WH9W t HHW H9r|H)ATUHSHGHW H?H47HKHHC(IH3I)H)HC(L9wgHcHCHS HHC(HS LHC(?1DHW(WH9W MTfHW HNѐHC(H3H)HC(H=HCC HwSH[]A\@CH[]A\fbHHC HC(HS fDH#HcƅuDATUSO8HO H9O(t wHO(KH9K t wHK SHK(Hs HH)H9HHH9RH9H, HHHHHg.+H;HHH@HHHk(HHBʼnC HC H=HBHHSS8tG[]A\f.1@H<0HodHHHCE@HSHSH)IHt=HHJ< HCH;;fHD0H=wSHwJHH;HGHP-+HH5HA1f.H5H!1H5P]H 1@HHtLF8uEH>Ht=V H9V(tvTHV DFL9t AvHt%j1DLF LHuH*+H`jHV(f.HtG8uH@1DHtWG8uPW H9W(tv/OHG wH9u HHHO HDHW(f.1ff.fHG8HO(DG L9t AvjDOHW AwL9uDH)H9v\HHHW HW(HHCщW HW HGщWDLO LLG(Lf1Ht,W8u%W H9W(tvOHG wH9u!OHG HW(vHO Hf.Ht?G8u8HG(O H9tv,wHW wH9u8H9s HH)1DwHHW HO(vHHw H9sfHt4W8u-W H9W(tv"OHW wH9u&1HDOHW(HW vH1HO Hff.@AUATUSHHDg8HEHW H9W(t SH9S t Cu HHK(H9wHU HHHBLH{HMI)I93H(+It-HMHCLHDE1HD[]A\A]HW(SH9S f.CHS fDH{ vQH9HHHHH9wHf.HE HHHBLMqH+K HcHd*+HIHt`H3HS HKH)+H;HC ADHHH9w*f.HH9HyH5WHpHA[D]A\A]@H9'+HLIHtL+HHk(HCHC k H=wCAPDCA9fDHU H6HfDH5H@HS LTZHCHS HZH)+HHC I8H]HSAUATUSHHiHH]Dg8EPIO H9O(t KH9K t {H{ HC(HcH)H9r;HHH9{Ht=u HH0H{ H;HL3YHS HHHS HC(H=HC‰C HC H=G‰CHD[]A\A]DHK ,HO(LA…x*%HD[]A\A]H5 HAH5UHAkH5 HAQff.HtgG8u`W H9W(tv?WH9W tvt8Ht37fHW f.HW(f.f.]AVAUATUSHwDo8HEgHW H9W(t UH9U t }0"H&H'H&Ht|H5HL5QHLLc<"uH9tHHH)6LH6LfHU iHW(DH5%HPHH\H5%HP[D]A\A]A^H9tHHH)U6HH50VP[D]A\A]A^f.HH5 1PHHf\Aff.HtwSH@HH#+HtdDC {HX0@8ILHHx CHL@(C։H PSPHHHSHPH[1DLQ11ҾHD$9.HD$fUSHHW H9W(t WH9W tvgG8HHo0HHG H=w`HW(HwsEU CH߉EHHEHCHEH"+HH[]fHW f.HW(oH5 HHE@H5 HC E EtH1(HH[]@1uUSHHHt~o8uwW H9W(tvFWH9W tv%HtH3HtSu1H_H[]HW f.HW(f.3H߽^븐HtgHtbG8u[O H9O(tv:WLG wI9uHHV HVLHV(HW IHO(f.f.HHtpHtkW8uHH=gOH H=GOHH=['OH H=-OHH=NHH=NHH=NHH=wNHH=FgNH H=GNHH='NH H=NH H=MH H=lMHH=EMH H=MHH=gMHH=GMH H='MH H=]MH H=1LHH=LHH=LHH=LHH={gLHH=KGLHH=#'LHH=LHH=KHH=KHH=gKHH=8KHH=gKHH=GKHH='KHH=qKHH=JH H=$JH H=JH H=JHH=gJH H=GJH H=n'JH H=>JH H=!IH H=IH H=IHH=IHH=ygIHH=PGIHH=('IHH=IHH=Hff.@=USHHHco0Hz +G0`HC8H'HcS0H1HRH#C4H{8HcЋK(HRH,HS HUSPUQU HSHcR(~H}HHHs@:.C4C4H[]f.G4H89D-C0HH4@H +HHS0HC8HLm1H<)HcHRH.#C4H{8@fHq +HHS8HEHcC4H@HHxHt_HCHcP(H;fDH51 C0-fDH51S0C0fDH5X1UHSHH +HHtaHxHHHH@x1H)HHtDHHHHt9HHCHkHCHCpHH[]fDH+HQ +H1H|HsHjMaAWAVAUATUSH(*LWM;MZHM._pArXMtHcA<AArXE11 @t^DnEDDHAD~1A9B@|+DMcC<tIB`J4HcǃI4ArX9AID9~gtc1f9~YDfADHAD~2A9B@|,AHA<uIB`H4HcǃI4ArXAHD91H([]A\A]A^A_fMLg 1A<$AA\$~L$II1HL$E1t$ DIT$ H[HHcHHHHzHpW4wV4Hc@ Iv+D\$ EI HtHv0HHt9H~,H4$DR(IcAHE`HR HAE@AT$KD99H)ID$ 1D9HcHxGH0Ht?LFMt6Xv(DH EyI~HH Ht9DHA9T$BDLgxMe(fH'HFHH8;1LLL$1H8HH5W1LL$AfIN@ q@H80LLL$n1_P^H$~(IcAH ˅tJHv H1H\$fDLg MMfDAArXL븃AUATIUSHL-+AT$LHPIE~<1fH,HtH}HtIEHI|$PIEHA9\$LHtIEAT$ttIHL[]A\A]I|$HtAT$IEuI|$ HtAT$IEuI|$HtIEHL[]A\A]f.HATL%+USHH?HtA$H{XHt&KT~1H*t1@LFf.Ht<|u~|u HLH|LHAWAVAUATUSH(L~HMIHN`H GPD$FXH LL$HI$PDpL|$E1ɉT$T$HHc‰T$MIH$Ht Lu,IAM9IGTEE~D9U@|JwH$[@HA~AuC@4wHCCH1CH5fCH[H5!]A\fDHPHWx{uHHGHC8H@( @@rtr@tt\@n DDHSHEjE#^HS_<&HC8HCfA A CH5SDHHC8H@r@t@uH(HCHPHSx\HPHSxuH`-=w} HS8B,HS.f.@nu*@, HS@, HSf.D`,HS@, HSykCH5Hs8@H%H *HCHt%~.PSE1E1jHVZYHeHC8ff.ATL%USHH HwdH%(HD$1Hl$f<\(X[uH1Hct$AHCHA-u&HPH+H;Ssx]t@<^t <[Hs>-HNHH+H;CsF[HKVЃ\[DD$ 1)HH1DD$ AE9+CH5HHs<]<-„tt SHD$dH3%(sH []A\HxHsfHSHs8EjHYHs_CH5)HHsifCH5HZHsAHFHCDNAAf.CH5ZH HsHcD$HHCSHs8j5DHsA D$DA D$qDA D$YDCH5>HrHsY@USHHHWo<^tI<]u/4<-uHBH+H;Csz[tLHHS<]tKtH[]H1HWGHSkHCHHSfHCk8]u HHCCHHH5t[]@AWAVAUATUSH(HT$L$HIHwIHH~HMHW :D$D$fIU MXEu(DZAE,E9HB IcHRH,Lc}ExJHcUH]W4V4IE@4IEH@0H;0| ;pfIU DZAE(DpEu(E9EuVIE D@EAE9H([]A\A]A^A_fH(HL[]A\A]A^A_;s | fD|$tIE HAEL@IUhAEHIcEPHHHBL"IU HD$M|$vmE1I}@D$tIE 8D$rIHt H*LIIE IExIE@(D$3HcIIu@H D$M|$E1IEHtHtHL$HtHSXHsI}AE(IU 9B~EMLEL%HcE xIU@HcE=U4w IU@IEHcUH@HHt :H}AEIU AE(IMhHL$H$A]PKAMPA;MLHD$D$NIu HD^MdE[E1HV KvL[]A\- D1jA߃Av/@v$(v A1E@ʼn[]A\ýff[]A\D[]A\D[]A\eD[]A\u#D[]A\ED[]A\D[]A\D [H&HHHՃ>D wH&HHHՃ@ f 1 @!f.919@!@؃߃Av@ ADpؽ߃Aw@h(1_Aă:A E!f[]A\D[]A\DL[]A\f[]A\uD[]A\D[]A\D[]A\D[]A\"D[]A\UD[]A\D[]A\D[]A\D[]A\uD[]A\DŅ8xŅ' A1f1 @@[]A\D[]A\D[]A\ D[]A\D[]A\D[]A\D[]A\MD[]A\D[]A\]$D[]A\-D[]A\}D[]A\D[]A\D[]A\#FAąH5!*A,=Q0H5*zH5c*dH5*E1AHCЃ ?C(9E(t1H([]A\A]A^A_fDHHHIf.u,uh19s,DM(DS(&fDLeLk01DM(M9DS(1E9 1@A4fDH…GDM(DS(@Ay12A@A ArA1@A}t1A AjAN1A@AA~A!1@Am 1Ai1jA1O@A@1҃AAE녃1AAEn{Ӄs1AAERo뷃k벃e1AAE1d#_@уElL@AWAVAUAATUSHHt:~t4F~-AHILd@1IHE HH8tHL9uHD[]A\A]A^A_Hc@xIWXELH4DvDDfAWE1IAVAUATUSH(DOxGTAfIGXN$MA|$E1I\$ KDmL4I>A~MAE1HL@HHH9I\$ HCtHHtA;FuIH9t8Htȋp;ru uHrHxE1H9tC A9F uCA9FuHCH9uIE9l$!AGTID9HD$D$IGXH|$L,MAA}6HD$E1I] KvL$I<$A|$MAF1LT@J UI<$H9tHt3H $H $tAD$Ld$CD$HH9tvI] HStH3HuIcD$tIwXLH $H4 IcT$LD$IGXH4螳H $uHLd$AD$H9uIE9uHD$Ht@HD$HD$A9GTD$AGpH([]A\A]A^A_Ëz,9x,HL$LD$D $)D $LD$HL$D$ff.AWAVAUATUSHH(HtyHIA IHAGILHaIALLLEH4AGHk0#E1H(D[]A\A]A^A_@DaEcyYH(HHLzHk0L@HIHDHH虲HLH;fDAG&AG uAGALLLEHEAGHk04HAGHIw@H9Aw u I8H袲Iw@HHcHChIHAG DAGBH菺IW0Iw@DHܺAW  IGE1AGHk0F@AGLLHE1$fAGALLLEHfAGLLH蚹Gv5H HHH議AG1HE1Iw0.HS0Iw@H[fH訸HHHHA@HHݸAGw.AGIw0HH许fu#AGIW0Iw@HE1耸HHHtCHH蘯AGIW@HIw0(H5HAGDIw8HHH*`IHtHxHHHH@X1H)`HAGAFAGAFAG AF AGAFIcGLH<H*IFPH`AOLE1HHt$HD$HFHD$HN*Ht$HHWHD$HHD$H~HAHtHL$WHL$HAHFIFPIH$H I<$AMIANLE9oL~)IOPN$J4J H $HIL$$1IF1LHAFIw0XHLk0茮HHcHChLIHAG DAGBIW@ٶHLHDhIw0HH H5HLAw$GH5A蹮H5ǸHHD$谬IFPHL$IHH5HL$苬HL$HyHt0H*HL$HD$HL$HD$HIFP1IoH*@ATIUSHHHo0)teDHCHK8<|@<)@u1҄uLHHxMCHk0HC8u HuH1[]A\LHH߉D$ 讴D$ H[]A\ÐH[]A\fAUA1ATUSHHHG(Lg0-Hk0EtEHC8|tHҪHC?*tHS8HtDHS8HtBfDCH5Hz-D<[0HH{8mHCX@HLcHCLŅJHS<,E1<} CH5NHEtuHS8H Bj Db DCH5H躩UCH5ߴHE1蜩HC8}HHCAHBHCz}LAąxHC8}:HHCCDHHHSCHC8H.HHC8]uUHHCHHScCH5 H1ȨHAHSCH5H蚨5 AVAUATUSH[HH0L5*IIHAHH4HxH@HǀH)1HHC`HCPH}HHC0HC8HHkHC(Hc}(LkLc~vHAHC@HHcU(1HHxHcU(HC@HHHCHHChCpHǃǃH[]A\A]A^DHC@HǃH_HȐHEHHC :1@H51H5y1H;*H1vff.@HATL% *USHW8HI$H@HtCHt1s0~*1fDHLmH|Ht I$HS8H9k0HH{@I$HtI$HShHt9KL~)1@HHH< Ht I$HShH9kLHI$HHtI$H[]A\fff.@1EDAWAVAUATUSHHL$dH%(H$1HTHIFIIH#HLH(HHD$H**{HcIHHD$ HL$HD$HcLLHcHHL$vHL$LHcA|I|\ADIvH~HtkHL$LLKL;|$tH *D$LD$H$dH34%(uoH[]A\A]A^A_L|$ L|$ZfHT$LLfH떸A~fMIHH1fHt8HttHHH϶fHAWH AVAUIATUSHH=HMUIMHH11!H޿ 4AM1H׮HEUEDHʮ1HIE HٺH=LHٺH=jAGuAO EGHHX1-AG5H޿ HA9mAMHH1E1H޿ EMEIEHٺH=N$MfA$AL$ED$H1HE1MAT$h?xHH1HEHxDEHH߾1IE9t$IT$ KvHپH=lH,º 6HEJEt"Hك_H=>M xH=H1\MV4HٺH=HEHMHIH E9t$%IE9}BAM(HUH11L%AM(~4IE0LHHHDHD1A9m(H[]A\A]A^A_@H,HH1gHEWfDHٺH=Of.H=ګDHٺH=1wfHٺH=֪W9fIG@IW0HߋJD@H1fDHٺH=A$ HٺH=@IOHH1>AGAO,HQH1fAOLHH61E1ALCfDAvHI谧ANEF HH1E9gLIGPHٺ H=ЩN4A6tHٺ H=DHٺH=kAGfDHٺ H=9AGfDHٺH=wAGfDHٺH=ܨOAGvfDHٺH='AGNfDHٺH=AG&fDHٺH=ƣAGfDHٺH=i2f.HٺIH==E9}I@HHٺ[H=]A\A]A^A_AAWAVAUATUSHdH%(H$1HHHHH|$8HD$0HGHc(H$DŽ$HDŽ$HD$PHD$XHD$`HD$hHDŽ$D$xHa*HHD$pH$HcS(1HHD$0Ld$,Hl$0DHT$PHHc$H$9u :$rHcD$XD$,9kH|$p_9;HJ H4@HHD$XHD$Pt D$,$D$0~HD$hHSH-*H|$pHUt0L$`~(1H [H|Ht HUHD$hH9\$`HM>MHc$H$>EG Eu2A~*A~D$\D$,H7fD$XJD$X9}.HJ HH4@t,D$XD$0fDuHD$PpHD$4蜱D$0D$\9~HJ H4@tL1LAŃtTtEW EHT$PD$XJ.@D$X9BH8AO AGHSIcvH9|HD$PT$XHD$XHD$HD$T$HD$PT$HD$Hc$H$T$XHD$PIfIcF=U4HL$pHHD$hD$0HH|$PAH|$pHt H@*D$0tfu1$H$dH3%(H[]A\A]A^A_fD@HD$p1yfH*#H=HD$0D$XH*HH@EOE9&fD$9IcF DA~HD$hHbffDD$05HD$hH2D|$XHt$PW;V[HIcF ?HT$pLA:(fD19@IcF xHT$pH,A)$@AO A@H51lHT$PJ&ff.HATL%*USHH?HtA$H{Ht*s~1HH~XE$tHt9C4'HcIt>uHtHUEMcHRXJfDHc|$PHt$@HL$0LL$(DT$ՒLL$(HL$0HvHcUDT$LML\$HIHt$8H~Ht$8ID9^Hl$`L|$XMIIAF8HAN1MM݅ (I~HL\$HMLIJHIGHLt$ I1LL}LƄ$譯LLLIG HEtLMH$dH34%(HH[]A\A]A^A_@LH $脱H $HHD$HHL$kIDL $D$xH*HcL $HL$HHt{McHHLL $L $HcT$LB |J| Lct$BD3I_Lؚ1fH]0L訚莱ff.AWAVAUATUSH8HHAD HADFE=D;L$p2D$p&Ht$DMHL$IH螊IHMt A?H|$ɭID$HD$xHID$XEAD$ D$pAD$jHcHChIHЋT$p(PMtFHt$LLHAMRLHGLk0ujHt$LH߈XDHDD$kHHI DD$LLHt$AHLHLs0MuE1H8L[]A\A]A^A_LH|$IHD$(HDHL$D$$xH*HcHL$HItIHcHt$HHHL$qHL$HcT$(LA|I|UHcD$$ADMt$|LhNAWAVAUATUSHHHAD HADEE9 EIEEHL$HHuIHH|$诫EEoHIGHD$PIGXAEAG VHcHEhIHD DhHtrGrBHGHDs(uHG0ftكuHGhÐu HGfD1DHG HG@ff.AVAUATUSHHtzHG@H}D@E~tHADNND fHI9tWH93uwAw/H9SuH9u fDuH9S uH9K(uD1H[]A\A]A^fH_(HtIIԉIOfDHHtHH{HtGuLLHtHfH9SFH9KhHH֋HHSHHHnHQH4HHfHbHaATUH-*SHHHEHtHELc MtI<$HtHELHEH[]A\DHt/USHH-*f.HUHHuH[]HQPHtHGHtHHtH ff.@HtHGHtH@Ht H 1DHtHGHtH@Ht H 1DHtHGHtH@Ht H 1DHtHGHtHHt H @HtHGHtH@ Ht H 1DHtHGHtH@(Ht H 1DHtHGHtHHt H @1DHtHGHtH@0Ht H HtHGHtH@HHt H HtHGHtH@8Ht H HtHGHtH@PHt H HtHGHtH@XHt H HtHGHtH@`Ht H HtHGHtH@hHt H HtHGHtHHt H @HtHGHtHHt H @HtGHH t?HtHHtHHO8HtHtHAH1HtHcI4H f.SHHHt^H*H[Hff.ATIUSH_HH-u*H;HEHtHEHI\$(HtH;HEHtHEHI|$0Ht H5<ǠI|$8HtDHUHHuI|$Ht˸[HEL]A\fDH-*ff.@UHSHHHHtLw HcW9$w HH*HcHHHtDHcSJKH,1H[]f.HI*HHt3C HcSLօ11ҾӕC L11Ҿ譕ATIUSHHHtFw HcO9$w HH*HcHHHtFHcKQSL$1[]A\fDHz*OHcHHHt/k HcKL11ҾC LDŽ11ҾݔHGPHHtHH5B,DATIUHSH?HHtH*HEMtUH=pLHEH H5HEHHHEHt#HHE[]A\f.HHuH}H5([HE]A\ff.@HHHRvKw&uHv fD=t1fwCH5HEf.sRtM1guHvpvtK=uHR3vtuHRHR Hv(,HRHfDHvhH@Hv`HvHfD1fUHSHH>dH%(HD$1H$HH;H5CHHHHHH;HvH5HHdH<$HHt H*HHT$dH3%(u*H[]D-HWH5~HEiff.fAUATUSHdH%(HD$x1HD$H\HHAԅ0H|$HB HB A9~~PHcHHDDLkMA}AEHHcH>fDIUIu`H|$HHH1MH|$HtH*HD$K tHH1K$?#tHrH1H AEwI}Ht AT$HH{Ht DHuHD$xdH3%(HĈ[]A\A]HH=L'2fHH=fHH=zfHH=afHH=Eg=fHH=7Gf1H|$HH=~EDUSHHtEH_XHHu7H[0Ht'H{HuH{HtHH[]fD1HH[]@Ht{HtvATIUHSHwHHtH{XH蝒Hu:H{`϶~*H{`Mt9LyHtH@P[H]A\HxX`1[]A\f1DH5~3H fH8H=yI豌HILHPHp wH;H輺H<$HHtHY~*H$HH51|H荺HDI1fDH=24H~@蓨H+ HyH5>H811Lf.HcHH=xIH,ϋLHHUHu H;HH<$HHtH~}*H$HH5{xH貹H5|HH蠹H胎AWAVAUATUSHhL$L$L$L$dH%(HD$X1HtfHA׃t~LG$HwS HSH{(ARIAVH1AUATAQAjjAVAUATjjUAW+HpHD$XdH3%(Hh[]A\A]A^A_@HGGlShHD$HC HD$HCHD$HPEHHLT$8HT$HHt$PHXLL$0DD$,HL$ D$(HL$ DD$,LL$0LT$8L\$PfD[HHvH5<H81 @HGHD$;fHwHS0HD$(LH[MtVEtQ1ARAVAUATAQD$PAP1jAVAUATAPIHASUAWH$H$H|$x處HpiLT$8HT$HHt$PHXLL$0DD$,L\$ L\$ 1DD$,LL$0LT$8MEuDD$HMXL[`OfDD$(fDHKPHOHI8HBLYD$(DxHHt HJH HKPHHI8Hq8LYDA4t$(1I4@HHIAHtFG$HwP HWH(AQAPQH1jjjAQAAPMjjjAR1Hh@111HЉLMLL$Ht HfD{ff.AWAVAUATUSH8t$ dH%(HD$(1HD$ HHAHA8Ld$ HEHD$D$LHeLl$ Au)<$t#LsLl$ ~HA|0H}HMt;H5[ڴLHEH˴HEH|$ HtHfx*HD$ HsHHH迗Aƃ.CH@LDHH'H_HHtw|$ ,|$ ALl$ H}MH@LH|$ HENMuH|$8H= ,ÅH|$ HE#DH}1HT$(dH3%(H8[]A\A]A^A_IqH|$ HH;w*D$ H$H}H$D$ HtD$ H$D$ H$H|$ $Htq$yID8.:Ll$ -DHHD$ӠHL$IHD$ HHD$HL$IHD$ fDH}HtHpv*K覇fDHATIUHSHHtH5H膴urHt]HuHqtH}8LAHu>H}`s~.H}`HtMHHtH@P[L]A\Hx8@1[]A\fHLņHuyH5p̄f.1ff.fAWAVAAUIATUHSHL~LH4$H)IE0IwHx0HIW`zHHI}xEH$P$1@)H$H Op SyI}xD$ 趢IOMG`MI}x1LIE1xI}xLHHHCp~BDHI}x1LJIHHL@`IxI}xLHHCD9xË\$ I}xLLFvI}xHL5H$1S IH[]A\A]A^A_fDD1LuMG`IOMI}xHHIE1xHCD@E~fDHI}xHLJIHHL@`IwHCD9xH$1S dI}xHLKIwH<$KLE1ɺ IH HNH1[]A\A]A^A_DHxHIOMG`M1L;wI}xHH茑HCxE1f.HI}x1LJIHHL@`IvI}xHH=HCD9pYff.HtKATL%rr*USHDH{HkHtA$H{8Ht艕HHA$Hu[]A\Dff.@LT$Ht"HGHtH@@HtH f.LȫtAwPw*GXÃu Gx@f.GXff.@HtKUSHH-nq*HHEHu HHEHHuH[]H[]ff.@t91 w,H&HsfHt< w Hr1Df.HHtiUSHHZHtB*fDt4H[HtKHCt(t#Hs H{uхtѸH[]ÐS 1@1H[]fff.@Ht#G tHGHt1vfDfHw HAVIAUATIUHS1 H9]~gI$H؁8uxuLhMtM9t2AEHuIupHt¨tHVLAEHAuHHt[]A\A]A^[1]A\A]A^1ftAWX@u,1€u%tu1t.t1ff.HtuHHHH@1HfAVE1AUIATE1UHSfIEJC@t'H{Ht HQn*H{ Ht H?n*C@tH{(Ht H&n*H{0HtưH{HLIHHChH)KpHD9ur[E]A\A]A^fHtGHGHt>Ht4S>H֘/pHhH5b.H81[f.ff.@HtGHGHt>Ht4SޗHv'pHOhH5.H81[f.ff.@HtGHGHt>Ht4S~HpHgH5-H81[f.ff.@S:HҗkHgH5^-H8I1[Ax0t9}뱐ff.@HtWSHGHHtHHtH H(t&HC x0t9} [K[fDff.@AWAVAUIATIUSHF@HdžH~HtL=k*AID$I|$ HtL=k*AID$ AD$@I|$(HtL=_k*AID$(I|$0HtID$0I\$hHHk8Ht/{ eL=k*H}IHtIHHC8H{@HtH58sHC@HCIHtHCILMtTHC(LsHsS0h1fDHHHHھ I0Hھ H(HH[]A\A]A^A_fDH@HھD1@AG$Lb11ҾArff.@UHHSHH[f*HHtQH@@f@@ @0HCHtHHC(HtjHkH莖HH[]@L1t11Ҿq@L9t11ҾqHf*H1fDL1t11ҾVqH1yHye*SHHtIHx H@HǀH)1HHHt'H[fLs11Ҿp@Hf*H1ATIUHSaHHt(HHJMtLHEoHCPH[]A\fAVIAUIATIULSH8HHyd*HtRfLh0@HS0LpHz8L` Hh(tHJ@HHB@H[]A\A]A^@HB8f.HtC$Lg`11ҾHD$oHD$H[]A\A]A^fDAWAVAUATUSHHHHc*MMIAHHHHx H@HǀH)1HD+LsT$@LLcHt~uDHE0HھHx H@KH}0Hھ H(6HH[]A\A]A^A_@HMLHHHHHt\DžHE0Hھ Hx HHD1@E$L_11ҾJnoDHc*H1Wff.fAUATUSHHHH=b*HAI(HHfHh Hھ @H@@D IE0H@ HxH AuHH[]A\A]fDI}0Hھ H(HH[]A\A]DH1H[]A\A]AE$Ldp11Ҿ1mff.@AVAUATUSHtsHLa*AAIH0HHtYDh Hھ D`$H@Lp(H@H@HE0Hx HHH[]A\A]A^f1@E$LQ]11ҾzlAUATUSHHtqHtlH`*IAHHHHt]fD(Hھ @@$@@4@DL`HE0Hx HHbHH[]A\A]@H1H[]A\A]ÃE$L\11ҾkSHHH_*HtH@HH[HtC$Ln11ҾHD$hkHD$ːHHAVIAUIATIUSB,HZ0F,HtJ1f.HEHHHt-LIHHSHPHuHIE0HHuI}8HtH-4`*@HUHHuI~8t+LIE8Ht2IV8HRHP1[]A\A]A^IE81[]A\A]A^D[]A\A]A^ø@H^*AVIAUIATAUH0SHHtNLh Hھ LpD`H@(H@HE0Hx HH[H[]A\A]A^HtE$LHm11ҾiH[]A\A]A^fATUSHtgH]*IHHHHtSf@DHھ @$@@@4L`(HE0Hx HHH[]A\D1@E$LY11ҾiSHH?HtpS9~itHDBA9t7~5)Hc΍rHHH @H;HHTHHHH9uDC1[H ^*H1HC[Ll11Ҿzh[UHSHHH\*Ht]H@HhHHtHH@u}t H[]fDǃ@H[]Ht ClChHLk11[]gSH(HH[*Ht%fH@ HX@H[Lk11ҾHD$agHD$f.HtkUSHHH~wHHt1HH1HXHq\*HHH[]HHٺ[H=W]Aff.@AWAVAUATUSHHdH%(HD$1HHHH=WHMHtaH YH1KHHtHWH1)M H5RHcH>f.Hٺ H=.WgDHٺ H=rWGHٺ H=rW'}\w9E\H HcH>DHٺH=VH޿ {uHM`Ht9HJWH1H@P[H]A\Hxpa|H{}HTMH5H811[]A\f.[HH]A\H{pH4aHucf.H5Lakff.@UHSHHP*HHtQHxHHHǀH1H)HHH{xӀHH[]fHtE$LN11Ҿ[HH[]UHHHSHnHt7H}HHsZHHHP*HH[]f.1HH[]@AUIATIHUSHHHz@Q_Ht\LHH~HHHP*Ht"H޺LYHHHmP*HHH[]A\A]f.HC@LHHAWAVAUATUSHL$DD$DL$ H\IHP?u1H[]A\A]A^A_fHH5GMgI&Af< w!H&HAGI< vM fDMAD$Mt$< wIsM9eLLL)qTH5LHI菍t;u Mt HO*LAD$MQH5yLLAtL$u ȉDH5]LLH5|LL$ DMHN*LH[]A\A]A^A_f.t L$Dl$A ʼnD DED$ D+t |$P*D$P L$tD`H5zKL)9|$P.D$P D$PDUHSHH(HV(HdH%(HD$1H|$HD$HD$HCHHSHHpH|$BjHL \E1jHٺ Pt$ H|$(H HtHM*HD$H|$Ht HL*HD$dH3%(uH([]H|$1}]f.AWH1EAVAUATUSLHHDL$L$H|$H|$0dH%(HD$81HD$(HD$0 H|$0H蜈H5KHHD$0興D$HD$0E0EA=H=I)ZHD$(E|$L-K*1D|$ M$MA$H= IYA<$H+$AD$#<*IL@H:uD)9\$T$H=1IzYT$HLiH5IH茇IH|$(L|HHD$(Mt LAUH|$(H[HD$(HtHAU9\$ HCI9HH=HXHD$(fA|$oLaIA$t<|uD)1hA<$HH|$(h<*H=7HXI#@H|$(H5藆HD$(HCI9RH|$(H5HtH|$(HD$(dH|$0HXH|$(IHD$0HtAULL$0HD$(jE11ɺOjjjH|$0H H|$0AUHD$8dH3%(HH[]A\A]A^A_t L<|L1H= DWT$HA|$tA|$ H|$(H5FIl$rHD$(AD$I9}*HAUH5H3L-H*IHD$01TZATAUHSHH1H dH%(HD$1H|$HD$HD$.H|$H5jW轄HD$IHtHSHs H|$NLL$HjHE11jDjSH|$0H HtHH*HD$H|$Ht HG*HD$dH3%(u H []A\YfAVAUMATIUHH=ESLHdH%(HD$1Lt$@H$UHHԃH5}HŃIcL$HHH8HHHtRjED$HAVI1ɺUAUPH|$ H HtHG*H$Ht HG*HHD$dH3%(u H[]A\A]A^Xff.fAWAVAUMATAUHSHHH(LD$H|$Lt$`L|$hdH%(HD$1HD$1LD$H|$L迂H5|HHD$諂HE1HHD$IDjAWAVAUH|$0H Ht H F*HD$dH3%(uH([]A\A]A^A_:Wf.AVIAUAATIUHSHLH dH%(HD$1H|$HD$_H|$H5CHHHD$HH5CǁHHD$CX@HkHH5{脁HE1LHD$IDjjjAVH|$(H Ht HD*HD$dH3%(H []A\A]A^fDHH5BHHHD$fH5EHHD$HD$HSHH\$HfH|$H2_H|$H蕀H58EHHD$聀H|$HHD$HHD*HL$HH5BAHHD$CXzHH5AHHD$nH5.BHH{H\$HD$QHD$:@HH5AHHD$!@HQHD$TfATIUHSHHH?dH%(HD$1H$HtHC*HMA<$t|FH=APH5CHHHLHZH;H~H5CHH~H<$HHtHzB*H$HfƫHnPH5@CHH~HLH޸H;Hs~H5CHHa~H<$HHtHA*H$@H}IuLe(H=<OIL$HHHHqIT$H謷H;H}H<$HHtHA*H$HH5tBH}H}BH<$HtHUA*H$H#\HL$dH3 %("H[]A\fDgvuVH=?OH5AHH8}HHIT$It$pӶH;H}H<$HHttH@*H$H^fDAD$X@4H=>{NHHIt$|HH5;AH|HH}H;H5C?d|HMHHHHqHUHH;H9|H<$HHtH?*H$HH5@H |HMfHMH\fAD$(H==t!H==tH==H=HEpMH5:HH{HfDz "H=>&MA<$HHHH@It$H+{HRAD$XH=5LHAD$X@M.H;H5<zHAD$XCH;H5h?zHHIt$ f.LH赶 HuHzHc@H=<HyHHIt$H=4<dKH56>HHyHHIt$`IT$H;HfH=;$KHHgfH=:KH'H;H5:yH@H=&;JHHYH5x;HxHaH=;JHHH=;JHHH;H5;xHH;H5r:xHH=:OJHHH=;8JHHNHMATIHUHSH1HdH%(HD$1HH$zL$HMH J HH<$Ht H;*HD$dH3%(u H[]A\Lff.AWMAVA1AUIATIULSHHdH%(HD$1HH$HtYHLV:ULL$LLDHwXZH<$Ht H:*HD$dH3%(uBH[]A\A]A^A_@L $MtHLJAWHL-JjKff.AUIATAUHSHHHHRHdH%(HD$1HH$A}jHsHL$HIH ID=H<$Ht H:*HD$dH3%(u H[]A\A];Kff.AWMAVAUATUSLHHH|$H|$0H$t$HL$HT$1L$L$dH%(HD$81HD$(HD$0-H|$0H5uHH|$(1HD$0H|$0HuH|$(H?9*HD$0HtHD$0HD$(H586HfuLHHD$0VuH5xoHHD$0BuE1HD$0IAVAUATUHL$8T$4H|$(舻H H|$0HD$8dH3%(uHH[]A\A]A^A_IfAWAVAUATMUHSHH(Ll$`Lt$ht$L|$pdH%(HD$1HD$HuHt ?H|$HHLD$շH|$LD$LctH5nHHD$OtHE1HHD$IAWAVAUATT$$蘺H|$0H Ht H7*HD$dH3%(uSH([]A\A]A^A_fHLD$胢H|$1HH1H|$H54sLD$HHD$CHfAVIHAUIATIUHSH}ut[1]A\A]A^fDHH=VCYuuID$0H@ HX(Hu 1HHt({wHsH&uuHHuf.MMDHtHD$ LqKH|$HlH5/HHD$lH|$ HD$H}HV0*oLD$DHHEH5 BklHD$1H|$H5OlHHD$fH5-4lHHD$H|$H5-lHD$DIT$I$Ld$ L薥H|$ H=HD$ H|$H5-kHD$eDH5.kHD$Zu@DAUATAUHSHHH5.HIŸMLH0I@ H21ANЀ w`DJLBAI= <0D)9 rHNЀ ApHNЀ v@ w&H&DHH2@ vjIE1Lj1Ҿ HjARH H[]A\A]DH&LH2@ Hr@t>LAO@wAtA9hDL¸*LDIHff.AWAVAUAATAULSHHH5,HGIƸMtcHL H5(HIiktU@A@t0jIE1Lj1Ҿ HjAWH H[]A\A]A^A_A7@ L:AOЀ 2rLBN= 0EA)D9 rHNЀ AxHOЀ vA9ʼnAA9A @ H&H2@ Hr@Ef.H&LHsDH2@ Hr@L@JLANLIHEA2AWMAVIAUATMUHHSHH(Ht$dH%(HD$1IICO:HA>H Ht$H/2HI$H'4HT$HI$4Iv(I~@H@;Ht{HpH3IHL$dH3 %(DH([]A\A]A^A_DSjE1LjI1Ҿ jHSI$Dm H 랐RjE1LIH<S1P HSDm H bDIv(I~@1q:Ht\HpHHt>u/HD$t HIH2I$2HIfHA:AVMAUIATIUHHSHHHs0M[MLHH]A\A]A^f.AUMATIHUHHSLHϤHt"HMHL[HH]A\A]l@IE1HH[]A\A]ff.AWAVIAUIATIHǘUSH-HtCH5HHftH[]A\A]A^A_@H5Hift1ԐH5 HQfuH5˓H>fŅuӿPLLIУjE1MjH1ҾjLSaH kAUIHATIUSHBH5+HHet*Ht Ha'*HH[]A\A]H5H߉euH5HteuH5HaeuOjE1LjI1ҾjLSH nff.AVAUIHATUHS BHH `Aąuc}PuHt H&*H[D]A\A]A^HPIHtHi&*HLHu@1HH/HtKEPf~OjSIH8PE1H1j LA H cNjISHq8SHHH5R͡HtHH[@1[@AWMAVMAUIATIUHSH(dH%(HD$1H\$hH|$HD$HD$HH|$LLIjLE1SE11ɺ PH.8HAUt$(P_H|$8H0HtH %*HD$H|$Ht H$*HD$dH3%(u%H([]A\A]A^A_D|$`/H^5fHtkHtfGXu^ATUHSH8HGXHsxHt5HH}@jIHt*HHH{8L[]A\jL1HjLCxH #HeHC8ZYHuH{huH{xu-LHC8@HwhHtHWpH}@rHt-HC8A@HwxH9뮐ID$8HC8DHSHLChHHHLKpH !PjHsx_AXHHC8Pff.@AUIATA1UHSHHHR(dH%(HD$1HH$H"j1jHE1E1AUDHst$ P)H|$0H0Ht H"*HD$dH3%(u H[]A\A]3f t"@tSIH~G19|[1DLH5!qH߾ H 5H [LH5!AH߾ H z5H [AVMAUMATAHUHSHHHQ(dH%(HD$1HH$H5j1jHE1E1AVDHAUt$ PH|$0H0Ht H!*HD$dH3%(u H[]A\A]A^2ff.AWAVAUMATIHUHSLH(Lt$`L|$hH<$H|$t$ LdH%(HD$1HD$H=L//HHT]H5vWHE]HHuMt LЋHjE1E11AWHAVAUt$0SH|$0T$HHHYEuSH5HXHjHE1Ij1ɾLXZHt6Hw*HHH[]A\A]A^A_H5UHXH@H[]A\A]A^A_fAUIATIUHH=*SHH.*HHSXH5uRHDXHËEt9tdHtH*HHH[]A\A]fDH[]A\A]DjIE11jHAUATNH jIE11j HAUATH qDE11fDAWIAVAUIATUSHHHLcE1LII1J, %OL(YuTH9~,HExH4MuHuHDH[]A\A]A^A_fDID$M9tvIfHExf.HHt]H\UHHtu5^X u*H FX@u(tPHf1H[]DH~8uHtH,H5&,f.HvpH>FXt t4uÃ@t`HF8MX@HE8f.MXv@+tHupFXHtH+H5+R?D0MX&HJH+H5]+ATUHSLcA9[HHA9C4$H/*HcHHHHA9}*IcD)HHTH@HHH9uL%*A$HH#HcHHJHtH{H{ HCHǃH)1HCXH[]A\L% *PA$HHHt^f@@ @0@@Dž *HA*H511두H*H5H1hsElL(*Eh11Ҿ.IElLEhԃElL*EhATUHSH H,Hc(9H:*,HcHHH H8L%*pA$HHHx H@HH@h)Hp1HHc(H H(HH[]A\fDHǍP(H{u\H[]A\fDL%I*A$Dž,HH HBElL()EhAH1HH5H[]A\ElLEh11Ҿ{XfDElL(Ehff.AW1MAVAUATUSHHXH|$Ht$0HT$dH4%(Ht$H1H:D$ MtA@{E1=UAKD9~RHIcL$L,AE=uMDH蘳LLKD9MNEgEA9A/McHl$@IIN4(HIVH| HH9t}HHIH;QuHqpI9vuHD$@H_IVj1jH|$IL( lH|$PXZHtH)*HD$@DL裲AIAhK@A}MmMAEHIUPHpHD$HH't$ ufH|$0{H|$HHw@跮HnHt$H|$HD$HH褯KHt$HL$H@(A(HIUPA,;B,PHq0LY8IMLJ0MRHEMKH|$HHL$LL$ (HL$LL$ Hq0IHH~H>u~fDHH&IHHuMH>L9Nu HHHHL9OuHH^*D$ @MmpMAEIUAD)H Ht$H Ld$(LL|$8MIEnL$(HHS HcK9,HH *S HcH4HHUHcKyA9}pAHcE)HDH)H4@HH HLHH9uHD$(HL$({D$HDA9G5EA{L$DH譯@Ht$HdH34%(HX[]A\A]A^A_H *HHCC HcKfDH|$Ls1@H0Hq0LJ0LY8HI@M@89LR8M@MLT$ LT$@8MtIBI9CIHtU@M IzI9yt{LH9xtpHHuMHD$ HD$EH|$HD$ jHB8HD$HHHD$LHMMfIHr *LL$ HL$LL$ HL$MtHq0HH|$$H|$H`"H5"L|$8EvH|$ `H(HB0HLl$ E1LLd$MH\$(HHl$8HHt!HOH;HuGH;Ht:HHuL/MM,$L/H x *LHtBHC0IH?HB8HD$HNHqHy0HLd$Ll$ H\$(Hl$8LHt$ICHVH9@H@@tHu>H@IS Lm0KHy0HYHB8HD$ HqH|$E1E1H "!蠐D$ 3L11Ҿ TL11ҾC )t@HNpHt7VH1t@HE1VHHVPRHf1ff.fAWAVIAUMATUSHHt$L$HL$LD$dH%(HD$x1HD$ HDzH|$ HL*|$0H|$ H5A,$EH5aHHD$ EHHD$ TwHHyEH5 HHD$ eEHD$ T$+AH5R H2EHD$ LLl$0Ld$P@LtLI1 LL$1LLstc LL$ |$AfjjAUATT$$E1HپLL%(*H H|$ A$HD$xdH3%(/HĈ[]A\A]A^A_DH5)H1DHD$ ?HHD8%H|$ H5)CH5HHD$ CHHD$ uHHCH57HHD$ CHD$ H5vHL|$(1CLt$L%+*HD$ HD$(H\$IMpH̗I]xAH1f.;thH[HuuMmpMtA}uLt$H\$jE1jUHLt$(LL$@T$$\H HkHA$_H{81LDHtaHH5OBHHt$(BH58HBH|$(HHt A$HD$(H[HDDH=HjAUATt$(fkH5IH5nH5tsH5tdH5tUH5tFt.A$H5HAHD$ IjjjjH5 fHXAHD$ IjjAt$t$(fDH|$ H5l'AIHD$ rf.LH5vAIHD$ L@LH5@IHD$ ,@Lt$H\$MtHH5?L HtHA$jE1HپjLjt$(LL$@T$$H H5QHa@HD$ Ijjjt$(f.A[DIAWAVAUATUSHHH|$Ht$dH%(HD$81:HD$0)LIMLMjX%uH@Y@H@pHi.uރ8A1HtH"MMHD$0Ll$ MAHD$(|LD$(EHLD:GtH$jLjjAuLL$@LD$PHT$0H|$(D$8H D$DMmMI}=r=v=lEILDD8EnH|$tH|$HH5!HL$8dH3 %("HH[]A\A]A^A_Ã@L$H\$LDH{-wR1LLkAƅOt8$tjMMLjjsHT$0H|$(H ADHHuH\$MM~x11MuLMMt0A?uI8Hrt=MMuЅu#MvpMtA>u1f.M1MMt,1DIV:M6MutMpMtA?uDH|$HjHSH5x'R1K$!jE1MLj0jjHT$0H|$(RH 00D*f.Hz@L$HxkI^M6MLl$ AEX@`MMP1BAmLTA]H|$H^HoH5lFH|$H3HH5A0$t2jME1Lj/jSHT$0H|$(H / UCff.AWAVMAUATIUHSHH|$Ht$DL$dH%(HD$x1HD$hMUI8D$(Ht AIA$HHӲHDAD$X0HD$ $u:D$EuHD$ AD$[tHL3A$HD$ HtHŃiM|$pMujf.MpMSA?uHD$DADT$(EHL$1HLv AD$[H|$ tH|$ HN)H|$hMI>1HL$xdH3 %( HĈ[]A\A]A^A_Ð@HD$p$HD$ ID$8HL$pHHD$8I&HL$XHD$@HD$HE< w H&HGH< vH LCL{< wIsL9LH)wHD$@IËD$(jjDL$,LD$hHT$XHt$ LL\$`H|$HD$@A[XL\$PMt H)LHt$pHt)H|$hH|$8[4HD$pHD$8HD$pDT$0ECLfDjE1jDL$,[A$.+D$EH5L7H;H5-H9l$ H5uH-HH|$ HtHH)HD$ H;HEH;l$toHLt-HEPIHT$HxwRHt$ H;7-H9l$ oLH-HnH5>-HHT$(dH3%(uH8[]A\A]A^A_ff.fAWAVAUATUSH(dH%(HD$1H7FHHV@I1ۉFB~}HD$L%=YHD$@HL}Mw HEPvH@PHHHt{H:LL,HU@H9ZH](H1HL$dH3 %(YH([]A\A]A^A_fD}MwHEPvH@PHPXH@XHuI H$KH$HHH`H) H5LoAG8D}Mw HEPvH@PHPpH@pfDAGH}MwHEPvH@PHPHH@HfDAG[@}MwHEPvH@PHP8H@8fD}MwHEPvH@PHP@H@@HUPMwHBPHP}fHPPH@PYfMfH H5LHU@GLxHH8HsHtFufH|$LHD$jdA?HƃtWWILXHLLjL HjVH|$0H HHc)@A-L HLDwAWAVAUATUSHH(HL~IMt"A?.H _VHcH>AH(D[]A\A]A^A_AGXYIn$LH{x Df ?~ A% 1@L1) EAOH{xIƃMG`IOMH{x1L}H{xLHH%H1H{x,HE} EHH{xLA H{xHAU$HD$1@H{x)AE AOu H{xD$`A,I2Mw0M%DMFH{xM1H .HH{xLHH M6MuDt$H{xHLDH{xDLHT$*AE E1HD$HHH{xHD$AU$HD$EU 1@H{x)EAOu H{xD$ZH{xINHIELpMZE1HLHHH{xLDDMvMuH{xHt$HDt$HLH{xDH{xDLHT$)AE1EM EH{xHT$AHt$NfHH9F F$H=?w ~ #H{x1HH{xHIAE$PAE pD$IELxMKE1LHMAEMuLD|$LH{xLDH{xLD1(Ee HEtIfH{xHLA;fDIoAHHH{xIIHD$4HH{xHI'@HU L9L9jHmHHELHtu@ZtNjU$u H{x`HHH߉\rf.72QHHtJE1HHE1H5RnfHH51H*f.E1AHoHH5WfL@`HHPAjH{xLL_AX1A} H{xH H{x@HIAE p8D$IEHhHAE1HHoHmEEHuHD|$LH{xDHqH{xD1H`&HAf.IG8H H{xL@MLH HHf.H{xHt$HDt$HLH{xDH{xDLHT$%HHL@`PLjH{xE1L(Y^r@A-H 4HHEIoAH{E1HHHmEEHuXf.IEE1L`M@HD$LHHHH{xHT$DDMd$MuDA,Mw0M;L%HMFM1H{xLHH{xHT$HHM6Muq@H(H1ɺ[]A\A]A^A_nH{xHT$HA@@HH{x11AU HH{xHt$HAD{IHIEHhHAE1HH|HmEEHuHH{xL)HH{x1Em HEfDH{xHT$HnfLH{xM1LHeH{xLHHH{x1HME1H ۠4H{xLHH~HD|$LH{xDHH{xD1H"HIOMG`M1LHsIG8HuH{xL@MHHT$H 8HJMgM!AE1LHMd$EEMuHH{x1E] HE H{xHHAxLH{xM1LHLt$H{xHHL=H{x1HME1H iH{xLHH lIOMG`M1LIOH{xMHMG`HHqHLAHAfAVAAUIATIUHSHHtxHCHHCHHtHCH{8HHtI|$ HC8Ht[D3Lk(Lc0C C1[]A\A]A^HA)@HHt5f@@ @0mHH5HL11Ҿff.AWAVAUATUSHLL|$ME1HAD$E1DtgIGHAO$IcW 9.HHy)AO$HcH4IGHtIcW JAO D,AMMt^M9tjHI8HP Hp]X]HH5H߉D$D$H[]A\A]A^A_fLLd$M9uD$H[]A\A]A^A_@Hq)IGHAG$IcW %@D$uHB@uB@D$fIw(HFH@Lp8MufDM6MIw(LHuH[]A\A]A^A_@H1[]A\A]A^A_L11Ҿ]Lf.AWAVAUATUSHxLdH%(HD$h1MHMHH$Lh8HD$`HD$HD$XHD$ M&A-Lt$H<$Mo($IG0EGE+E@EĉD$IE(HYEE0E9McN N$MHcD$I<RIEH|$HD$`HpATIW0HLbLJIUHJjjPH1ҾUH$H Ht H)AG iMO(IQII(LjHA+QA9Q0HcL$I<$HKA}H|$LHD$`SHHLjILL1jUjdH$H Ht H)I<$HEH)I$/A}H|$LHD$`RHHLjIL1jUj١H$H HHM)AG ,fAF\IHD$HHTH59H赾eIELD$(H@Hcx@H)HLD$(HIIEL1LD$(H@HcP@H*LD$(IIE(N H<$H$Lcl$KAG cfIG(H|$HD$`H@HpQIW0HLLJIW(HRHJjjPwHHx0IEHE11LUHHHjjjSAG H AG A CHcHAE0H)IE(HvIcU01HHIE(jfDHH5H$$CHHR)DD$(AU0HcH4IE(H)Au0HcT$(9fDHH9AE@D$~8H?t$HGVHTHHxH9uIA8HD$HjA}tHD$P'H\)LL$(LL$(HIQfH@A}HHHc9JHLT$0H#)HcLL$(H4LT$0HHHcLL$(JLABHEpH|$LLL$0LT$(IH@ABI$IBI$JLT$(LL$0A}HD$`Iy@ IRL$HLL$(Ht$AH)LL$(Ht$`IHD$Iy@LL$@AE/LL$HHIUL(H|$`H@H)LL$(LL$(HH$H4$HD$HHHP0HVH@0HHt{Hc9@HHo)LL$HcH4HHbHcLL$H4$JH4DP NH)LL$@LL$HH<Dž(HcA}H)LT$0LL$(LL$(LT$0HHDžHcHD$8HHLL$0L@ HpLD$(LD$(LL$0HHLT$8Mt>HLƺLT$8LL$(HD$0lLL$(HL$0HILT$8H8WTH71H9~H; uL9DuABHLT$@T$8LL$(LD$0GLD$0H8LGT$8LT$@LL$(ARIy@L$I$HLL$(Ht$AHD$`LL$(Ht$`Iy@LL$0@H|$`LL$0HD$(HtH)LL$0Ht$(H]D$Lt$(LL$HLl$0HHl$8H\$@HHD$HcUHHLpD$~ILo11ҾH)I<$I$?ElL Eh11ҾPH<$BElLEhElMLMEh11Ҿ)MMABMM׃ElEhLAWAVIAUATUSH(LdH%(H$1AG@ $?IW8HJ\qz IHtIIdžIGPH HHtAW@փ$ [AG@ulIW82r\7$A$1HLLx$$-U@AqA90AMghMtI@nI I`tIc~I@LLaAIHt;Pu@HHuIAHcHIH$dH3 %($+H[]A\A]A^A_ÐAAdž0$@AdžIdž$딐LZf.LhhMH$Lt$MHD$8H$HD$@HD$xHD$HL|$X MvM A~ uIF8HtHtIVHRZ@\$H\$HH^`Ht*HRHHRH9Su=DH9S.HHuD$`1HD$PsL$Lt$(HD$L$ HHL$HHD$0HpL|$(H|$8HDŽ$HDŽ$IGHpBLt$0Ld$E1L$Ht$@HIVLHLAIIGHHULLUEH$]A\HtH)HDŽ$H$Ht H)HD$(HD$HL$H@89HLt$(HD$PHZH5:H;FfDA$FA0$G@H(H [dL|$PMLt$IEHx?Iu8Hr^gHL$Du@L;@HD$IcUHH,L}`Mu^fDIHlII;uIG HHL$ HHD$@H\$8HD$HD$(IELl$XH@@@D$D$0HD$(HL$HLhD$ yEwE\HD$(H\$HIGHAOIcW9.HH)AOHcH4IGHIcWJAOHHD$HD$9D$8`Ll$Xf.MmMcL|$PLt$@IHj`HI1E1E1L|$`HDLt$(HD$PH`HD$HUuHE Ht`DXEtWHD$(H}DDEHDHHH9xu@tH\$(;DHmHuL|$`Lt$(?It AG"HI}@IGF A_AGHHFHH56IE@MmMfjIHIu8INj^}HhL$AHt$HH|$HH|$PHt$x!H|$xIHtH)HD$x1M IcMHS|$HLz~CDt$ E1DWIT$M9IJDHpKHxDuMmMut$`HS E11DBEHHHH J LyL$~DDl$ E1IT$M9 IJHpKHx!DuHU ID9rH4Lt$@L|$HE1MK|$Hh]Dl$Eu\$0E1fD^IUL9HIJDHpKHxCuLt$AFh$@H|$Ht HD$PLh`Mu-DMmMI9}uAED$0IE HD$ HH H\$ CD$_HHD$ IEHD$@G@D$HD$Ll$XHHEHT$L4MtDL$En|$0 HD$HD$9ELl$XxLt$fD-yÁ$"DŽ$ IpIG8H\5MmMZDHC H h1D$`C<D[HD$PE1ILt$L|$8L%J)4HIL0H$Ht HC)H9kHCL$LAH|$HHPA$H$LhI"HuIH$LLwfDE1LJ|$HD$HIGJLhtRDd$E|Dd$01tVHCI9tcHIDHpHDHx@uIEHpHEHx{@uIE9w^I Hl$HH IGH4()6IG IcOIWHHD$@HHLH *AG@IW8B\IO(HLL$L|$XLt$f;dIHE`HIu8^HEHpIHxd?^ID9d$ [ML|$HfD$@L$cL$HIOHcEtHHt L$HL$L$LHE L$IE HE H|$HYHD$PH@`HtIEHD$PLh`9fHl$hLE1MIHL$ |$Dl$8DN<KDD$EE1IL9IGJ0HpID$J0Hx=uLt$(.fDHD$ IpH$H$H$LD$xHIp11d$AG@1Ls1AG@OLS$PD$'rXZ$-IO(LL$$H0H5L9D@-/IO(LL$D$EZIGPHHt4@Xt.AG@%$IG8@\[A$THIG HHH5r-LIGpHAG@L|$Hf.Lt$IF8DPEDIGHHpID$HHx;t tl$8I9l$VLMIƉЋT$Hl$h9MyIW8eB\ $AIIGPI8HMHH$IGHHx@THHHw)HIH@KHl$hE1HL$@Dl$8EJ,L$tFE1eDtaII9tSHEJ HpIFJ Hx6:ut@HEHHpIFHHx :Lt tD|$8AID9|$0[T$0IHl$hA9ZHD$@McJ6IO(HLLX$H<H)L$L$HIEUHuHljL$AUAUHcUHL$ $-bAG@`L|$(HH|$8HDŽ$HDŽ$IGHp/Lt$0Ld$E1L$Ht$@HIVLLIIGHHAUUDDL$`EJAB\ƒH $uIz8HH $IH E11jLN1LjjH A$ A-jALj"AB\ƒtHD$XH@HD$@HL|$XIcWAG9|<L$8H|$@AGHH4H)HD$@IGHqIcWL$8Ht$XBFHD$@L4SI(HMO(APB1IGPjL1jL~H A$BuH@E11jL1Ljj~H A$@9I(HfMO(ARA1IGPjL1jLR~H A$ALHYH5KeHH5LOZL$ AMHL$XHHA L$ DfDIGPHIGHx@(HH|$@H)L$8PHL$XHHD$@HAL$8HD$X@HcP6Lm11ҾLt$(L$Lt$LgH+H5L\gHOH5LALLt$(LHD$@D$ Lt$(L@xR0t9}CSHHA@ t A@AHH~tH[HHH5wD$ ~D$ H{PChH[fHtOATAUHSHGHHtHHtH H(Ht[DH]A\@[]A\HtOATAUHSHGHHtHHtH H(Ht[DH]A\@[]A\0t9|wLJ0UHSHHHHxu-HH5_HGHox;H[]@HHHx tfDHH&H5ChH{PH[]d@HtgAUIATIUHSHHHGHtHHtH H(HtHLLH[]A\A]fH[]A\A]Dff.@AWAAVMAUIATMUHSHHt$Ht$HHHpDx@XHhL` Mt,H5RHt9H{ H5^yC\Ls(K@uQH[]A\A]A^A_fH5HAtmH{ H5-tK@C\Ls(f.CX1H[]A\A]A^A_C\1Ls(K@CXfDH5Ht-H{ H55C\Ls(K@@HH5VH{ t)H5RmC\Ls(K@AH5DC\Ls(K@MHH5LD$`D$HAVAHAUATAUSH9HIIIwiHc tZH1LHŅt2CXjILjL@jATE11ҁ!|H []A\A]A^ÐHqH5L腔H"H5aHxH5۲LDfHAHAuNHtIAUIATIUHHSHH7[MtI$HLHH[H]A\A]f.ATUHSHH9HMHHu>*HtLHH[H]A\GMtI$[]A\fDMtILCHE1ɺ H H4MtIff.fAWAVAUATUSHHiH`HD$IHI\$XL-eHu,YfDHxLTt HHU`H[0Ht/HCHHuH{H5X#tHCHHuH[0HuLHL-1ɇMt$Mu!(f.Mv0M I~Ht3I~H5װuCI~HtI~H5˰uL E1LL Hq두IFHH5]Hx\tM~XMu/\DHxH558t LH9_M0Mt/IGHHuIH5/tIGHHuM0MuѿgLE1HHH_Mv0MHD$H[]A\A]A^A_fDIFHH5HxM~XMu(fDILlM0Mt5IGHHHxH5;>tLH?^M0MuM~XMuUM0MtIIHtILtIGHH5HxtȿV1LHHMv0DIH5ЮH5H)PHT$HHHx H@HH@H)HP1HHU HDmH$LeHE(HC0Hx H@9AGLH|Ml$M I}HtRI}H5I}Ht3I}H5GtIEHH5|Hx{yL E1LL HfHT$dH3%(HH([]A\A]A^A_D1@IH5{0IEHH5Hx=LH'Mm0HEMfDL !1LHL> eHHC0H Hx(68LHK{H5{LIH11ҾH?AHEHHLLHH HL@wHEHLLHHH vi:H%LHdL1HHMm0HE0MtwI}HtI}H5u}L #E1LL Hd0C$L11ҾҪ*HzLHdL E11L HdIEHH52Hx1gE1L=ףNIIMm0MI}HI}L{IEHH5ثHx_LHHlHtU@PU@MuHE8I舰AWAVAUATUHSHH3H(H|$HH4$HMHtH5IHIFAŅ{H$E1@(HH5!HHIJHMtH5Ht%H$@,H(D[]A\A]A^A_H5?HHD$H&< w H&HCH< vI MAFM~< wHsL9gLHH)H5HH1uH5 H}jL E1Lj1ҾAjSH|$(KjH H)HAFL&fDH5LH$@(lH5|H4HD$HH$H@0Ht#H;PuwfDH9PgHHuH|$HT$;HT$HJHPH$HHz0HT$HHHD$ @gH\$Hc;H$HB8HHHPH5LtH$@(bjL TE1Hj1Ҿ A jATH|$(hHD$ H @(!H5CH?1҅H|$HLH(HD$HHHHB0HD$HD$H)HAAAVHAUIպATUHS9HI]XIHL%}HxLtuPH[0Ht[HCHHuH{H5oNuH{H5=:uH{H5&ufHH%MH[0HuLHtLLHcuOI]Ht8H{HtH{H5ãu;L -E1HL H^[L]A\A]A^fE1[]LA\A]A^ÐHCHH5}Hx|tH޺HH[0IFHu[L]A\A]A^ff.@HHG8HtHG tDHO1HtHyXHt H:Ayu֐ff.@xR0t9}CSHHA@ t A@AHHbtH[HHH5D$ }D$ H{PChH[9fHtOATAUHSHGHHtHHtH H(Ht[DH]A\@[]A\HHa)HHtH@@f@@ @0HDHtWATUHSHHt&H}0L%')HtfHA$HHuH}8I$HtI$[H]A\Dff.@HtGSHH8HtuH{@Ht臜H{ Ht)&H)H[Hfff.@AWHAVAUATUSHHHT$Ht$L$ dH %(HL$81HHHD$ HHHLLaXH[ANXMDH\$HHqHt$HHMN`MFhH FmI~`HLDEAFXH2IvtII~hIVIH|$0HD$(HD$0L IV`IvhH|$(H7 j HSHL$ ILM1tH|$8Y^HtH)HD$(H|$0Ht H)IF`IFhDHD$HHHL$ HHyH~ HyH5|$ C|$ HL$ HHyHHyH5ΒHT$ HVHzHt&HzH5z?HT$ H)HzHt&HzH5hM:HT$ HHzHHzH5MHD$ H5H@HHxHT$ Ht$HIF8HD$ H@0HD$ f.HxHuHMd$0MRID$HHuI|$H5huI|$H5rufDLHmF|$ |$ t |$  A>! HL$ Ht8|$ L +t|$ L tL tHT$E1 H/X1HL$8dH3 %(XHH[]A\A]A^A_f.A>Ht$HHRW}DHL$ HHt(HyHh HyH5ypb HL$ I~` HE1H$DHyH50HT$ H HzHt&HzH5HT$ H} HzHt&HzH5HT$ HP HzHt&HzH5LHT$ H# HzHt&HzH5~|HT$ HHzHt&HzH5]O'HT$ HHzHt&HzH5"ZHT$ HHzHt&HzH5׋]HT$ HoHzHt&HzH5HT$ HBHzHt&HzH5SHT$ HHzHt&HzH5\nHT$ HHzHHzH55=HD$ H5!H@HHxL|$ MQHH%Lx(H<$HL^?IHrIHIH5IHIH5Q<IHIH5!qyIHIH5NIHIH5-+#IHIhH5IHIEH5~IHI"H5IHIH5vIHIH5Q|IHIH5GYIHIH5.6~IGHH5HxbLHhLk-MoMtEI}HtI}H5HMOLjLLHXZMI\$HCL|$ IIO0HL$ HHyH$HT$ mf.HD$ H5<H@HHx7IHt$ HmLHbmHD$ H@0HD$ H<$HKLeHL$ HHyHHyH5=HD$ H5H@HHxbHT$ HHtHt$HHT$ HJ0IHL$ 3HL$ HHyHHyH58/DHL$ DHHT$ HD$ H5H@HHx}I~`HT$ <HHT$E1ɾ LHJHT$ HJ0HL$ KHT$E1ɾ HL,J[HD$ H5nH@HHxiHT$ Ht$H*SIF8HD$ H@0HD$ HD$ H5H@HHxHD$ H5H@HHxHD$ H5ϑH@HHxHT$ Ht$1H>IHHt$1HIFplff.AWAVAUATIUSHxHt$L$ dH %(HL$h1HHD$PMHHDl$ EHLM1jHt$ HXZHM|$XEE\Mt`L5 HxLu&M0Mt7IGHHuIH5XuLH6M0MufDHLHH^HMl$HHD$MI}H+I}H5I}HI}H5%I}HI}H5NI}HI}H5AƅL 0E1LL HGDT$ EtDEt AHD$H&jE1LxLj1Ҿ HtaAYAZ1HL$hdH3 %(H= Hx[]A\A]A^A_H5LHH[HL$PHHHut-DEVH|$PH5YHH_HMHjLHL$`Ht$ Y^HH(M|$XMXL5@EE\MuwHxL$uPM0Mt[IGHHuIH53VuIH5 uIH5dֿufLH3M0MuH5>L]IHHHL 0HHuXAHD$XDHǹhA0_AXjL E1LjH Hjt$hMH fIEHH5 Hx Ht$LHAMm0MZ8IEHH5Hx輾L.ANX@M}XIFpMu*@HxH5uxu>M0MIGHHuIH5TNuIH5΄:uLH;2fIEHH5 Hx AƅbL.ANXLt$@cM}XIFpL5̋Mu,:f.HxL贽u@M0MIGHHuIH5S芽uIH5.vufLHu1IEHH5MHxL9LHMm0HE0ML E11L HE1ACz@E1QHD$@0tMXtMX bMXVfDjLHE1jL1Ҿ \_AX.LHUXH51L&HD$(HDHt$(H)HT$XHl$HHHT$0HD$@HT$`HD$ HT$8Hx`fD< w H&HGH< vI IAFIn< wH&HsH9WHH)茂LL$0LD$8HIHD$HT$(LHp0QulH|)IHH|$ H@HtaHD$ LHL$`HT$XHLD$ -LD$ HI@LD$ Mt H|)LAFHHD$@LHLH@LHVHt$LHMN`MFhH EqSM}MIHt7IH5荺}IHtIH5wn-I~`L E1LL H~@I~`Mm0E1?M}MtcIHt7IH5+IHtIH5]L E1LL H@H|$(uHD$@Hx8xjE1L4Lj1Ҿ HYA[A^OtM}Hl$HMC)I~8H5LHjE1LBLj1Ҿ HVYA_XfDIGHH5HxgLH,LH!ZM0M?M~`Mj1E1LjL龸 HXXZMN,IGHH5mHxlLE1ILIIFH@IHm0HbH}HAH}H5%~)HEHH5Hx Ht$1HHvHtMuHT$@HB8IGHH5Hx轷LHH|$@HXM0MfDHl$HMBHy)L1C$L11ҾHl$H莃 IGHH5&Hx%I~`tLjL龸 E1jLȤ1H6WY^M0VLILIʼnLM Ht$1LHHIF8fAWIAVAUIATUHSHHL$H$DD$8LL$ dH%(H$1HHL$H$HL$HfDHxHHxH5h--IEH}HxHrHxH5 }ZIEH5H@HHxݵ:HI]M AHH{H<H{H5g蜵HDŽ$I]HDŽ$EHfH5*HIHHL$LD$HHLMLHLH$}?eLsXL%MugHxLu@Mv0MtKIFHHuI~H5*δuI~H5J躴ufDLL(Mv0MuHLaPLcMt>I|$HtI|$H5coL yE1LHھ L:AH$H$tIHt Hp>FLIHtQIG0I\$(L Hx( HD$ HtHD$H8H~LiI]HC0IEHS1H$dH3 %( HĨ[]A\A]A^A_HDŽ$HDŽ$fD HHD$H8HiHDŽ$HDŽ$T1HC0IEMIEH5݀H@HHxزI|$HtI|$H5 zL qtE1LHھ L25|$8 |$8 Dd$(EHD$@HHHH$H$H|HH9H9uH9QuH9quH$HDŽ$jL1jILHھ )H$AZA[HnHo)`H5$tKI|$H5 DuwI|$H5m֭I|$H5轭SH|$XL8H5lHHD$h蔭ID$dHD$PLLEHMd$0M|$0 |$<HjE1HjL b1Ҿ PLjp;H AG$D$0;D$`FD$(5D$d'Hbm)(IHfA$L AD$AD$AD$$IG0Hx HH5DL$(I\$H$ID$H$ID$EIG0L Hx(gfDAG$/H|$XLH5sHHD$hmD$<HI|$H5Kr$H|$HH|$XLWD$0HD$HD$<pHL>IHIG0L Hx(-D$<LH$H$AD$0G HID$HD$HHtID$8|$0uAL$ LSMIIzHZIzH5uLT$0LT$0 IBHLD$HL$LHLBCHD$xH$HD$PH$HLC IHD$LT$IBHH5eHxLT$ LLHLT$MR0ML|$8Ht$8HHC0HD$8H@0HD$8IH5]裖LH|$ HAjHsXEHHD$8ZYLT$(Dt$H_\LHV1IBHH5dHxLT$LֺHLH|$H?7LT$MR0MRLL kE11ɾ HLE11L J H1L|$8jL ȇjjARE1L1Ҿ H#H IBHH5YcHxX LT$LLHhLT$MR06IBHH5cHxLT$zLֺHIH|$H<6LT$MR0MKD1kIBHH5bHx赔 LT$nIBHH5bHx芔LT$ -jL ҆jjARJg1HAWAVAUIATUHSHXHt$DD$dH %(HL$H1HHIHMtAEH5 ZHH5 HHIHt D$D$(H HLu/LuHD$Mt/IFHHD$Ht!I~H5i^uHD$ DT$E6}HL$@HLHYIL|$@M$M3HS)HHq H{ HھHHCHǃ)1HL{ID$0Lk`HkHHx H@XID$0Hھ Hx(BL}XI$HD$ HD$MML-``'fDHxLTM0MIGHHuIH5FX&uIH5QuIH53(uIH593uIH59X֑uIH5Y‘nIH5Y誑V|$Iv H5R臑3IH5RoIH5|WLLMM0MDD$EKX"Ht$HLLKxLH 5R)H-XHL*tKXH5dWHIHH|$HJHAHsXjHEȹI^_t,jL E1Lj1Ҿ LjAWH @H5WHIH H|$HHjHsXAHA IZYH`WHL!)tKXH5OHIHt*Ht$HKpHLLCh*(HKpLHLL|$H0HLH5UHH+IHt9HLHZL UL1LL0 .MIFHHt=I~H5VIFHHtI~H5UIFH+E1L=ZV@I~L̎I~HI~H5R詎I~HI~H5 V膎LMMv0IUMIFHIHI~LEI~HI~H51R"I~HI~H5UIFHH5[Hx{I~HLMRMv0HMOHD$HC0D$uQHD$ HXHCAD$$11ҾLUYH|$tHD$ H@H|$1HL$HdH3 %(HHX[]A\A]A^A_H lRHL@1HLtLD$,!T$HLD$,+L$,T$HLHD$ HDL$(EHD$8HD$@MtAEHt$HL$8LLLD$@$HL$8LHLHt L kRH1LLq +LmXH$Z"f.HxHMm0MIEHHuI}H5uI}H5QҋuI}H5!辋uI}H5L誋uI}H5L薋uH CL L)MtL PE1LH LD$ D$,HL$8HT$@L!HH\$ HL$ I|$0HCHHKH(D$(;H|$H|$}D>uHL$@HLH˜3H5HDIHI$HH5vIHHfM$Ll$@MHJ)HHH{ Hھ HHCHǃ)1HL{`ID$0LkHkHHx HHID$0Hھ Hx(oL}XI$HD$M6@IFHH5WHx茉 LLĜMv0HD$fDLLeDIFHH5=WHx<YIFHH5WHx1IFHH5VHx LC`Ht$LLKHHIFHH5VHx謈LC`fIFHH5}VHx|LLC`fDL |E1LH LfDHD$@0tKX@tKXKX DKXHHD$@0E1fHD$@0tKXUKXIHMHLG DH5FH胇ujL PNE1Lj1Ҿ LjSH rjL W{E1Lj1Ҿ LjAWH IFHH5 UHx H{hE1L?{LH L Mv0MIFHfDHxH5T谆tH{hthE1LwfAD$$11ҾLNRH|$Ht$1LLHC8aHt$1LLHC8F YH5LIH56MIH5G@AWAVAUATIUHSHHxHt$ DD$dH%(HD$h1HD$Ht$S H JLH@1LLKmHAADDLH,$DDLHKHD$H}HT$M|$XE Dt$(HPML-RDHxLԄuPM0Mt_IGHHuIH5讄uIH5E蚄uIH5E膄ufLHM0Mu@LH- M|$MIHtIH5,O8HHD$`1E1D$,HD$8HD$\HD$0~IH5,6IHeIH5J̓IHBIH5I誃IHIH5I臃IHIH5IdIGHH5IQHxHIHIH5a5%=IHtuIH57JIHtVIH5HIHt7IH5HȂpIHtIH5H詂HtM#InIM0Mt(IHxL xE1LL HL$(T$,tH{0HT$ H(D$HD$HED$HD$HL$hdH3 %(HD$Hx[]A\A]A^A_fMt$XL-OMu ODHxĹu&Mv0Mt1IFHHuI~H5要uLHMv0MuD$(HD$HD$IHhIGHH5EOHxDOIGHH5OHxJIGHH5NHxEIGHH5NHx̀HL$0Ht$ E1LH\HH|$\\$,IGHH5}NHx|4IGHH5UNHxTNHt$ LHLHHDD$,EHHoHP:bHMHUHP H9QGHp(H9q 9gHH9M @HD$`H|$8QLJuWIjjjH1L H$H Ht HA)H1H@IGHH5-MHx,EHRH|$ FMoXH-LMu0f.HxH~|Mm0MIEHHuI}H5~uI}H5?~uI}H5?~uI}H5}lz~uI}H5)Df~ufLHetIGHH5=LHx<~oHt$ LH HvIGHH5KHx}SDIGHH5KHx}LH HL$M0HAt(Mzt$(d@HD$hMtD1IHD$,Ll$\(Ld$0E1MLl$ #@HEHM0MIHIH5U/}IGHH5JHx|E1LLLHHt|$\Ax ~3HD$ L1E1jLq HjHD$0@ ZYx$~5HD$ E1L1jLq HjHD$0@$AZA[HHT$HHBDDt$,Ld$0L orf.H CLHLHL'6A*AfLH@1LLcHLHH @ʼnD$@LH߉‰D$DHt$ LHߺWIHLHH͝MWMtIIjHHt IzH5/FLT$H14{LT$HuiLL @E1L HNIL$@T$D1LT$H fLHHHOLT$HLhLP-16IBHH5HHxzLT$HvLֺHLT$HHMR0MQIiHhǃHD$`H|$8IAPLojjj"MDt$,AWAVAUATUHSH(L$ dH%(HD$1HHD$HBHH6LL}XIL-GAL$XM[fDHHmML$`HLMD$hH H>u I|$`fHEHD$HHxHqHxH55DAyHD$$Hƒ|$ HE1HT$LHI$A Lt[HL$HtQHyHt"HyH5W?x3HL$Ht(|$ L `otL jE1H H1HL$dH3 %(QH([]A\A]A^A_HxLdxu@M0MIGHHuIH5o:xuIH5K&xufLH%H@HH5EHxw_HD$f.|$ HxHt&HxH5=wTHD$H HxHt&HxH5=wfHD$HHxHSHxH5>`wtHT$(fDHHzH_HzH5K6$wu/HD$H=qDH!HHHD$H5DH@HHxvtHD$HAHLHHT$HR0ID$8HT$oHt$HӉLHHD$HP0HHT$1HD$H5NDH@HHxIvHD$HAhHD$H5DH@HHx vyHD$HA)HD$H5CH@HHxuHT$LHÌID$8HD$HP0HT$uHD$H5CH@HHxuHD$LHt0HLH蛛HT$HJ0I$HL$w11 HAWAVAUIATUSHdH%(HD$1HMCIH7ILH5:荲HHaG_HHLH1ԆH$HH(5)M$@HHfH@4@@@<HX Lh0Lp(A$ID$0HL5$BHx H@ID$0H Hx(I]XHu!jfDHxLsu@H[0HtKHCHHuH{H59suH{H5 sufDHLH[0HuLLYI]HH{HtuH{H5Y>es=H{HtVH{H5m2FsH{Ht7H{H5;9'sH{HtH{H5#9s(L jE1HL L#HL$dH3 %(HH[]A\A]A^A_D1@MHHLI$I$HAADŽ$5DH8LLvfHCHH5=@HxwI~0HtyIHt5IHtsvfbuyLI-KD9kcCH[]A\A]A^A_Ds#tr<r7L^f.I~Hξf?袙IH e1Ҿ :fI~Ht肾I~0H%HW Ht HEI~0L%/)A$IN8HsHy L9HtHL$EHL$HA$LMuL\$HH$AL`D$fHHT$5HT$HуPIDL9q HE1L ^jjjH$t$01HH D$H .@HILJ`1jHjjH$MH @E1E1H _1Hĭuf.HD$pID$HMAV8pIvHe\HILn]1j HjjH$H -LHH[+IM.HE0HHD$HH%)XIHHx H@HH@P)HX1HM~E.^IF@H)LIFHHHE0HPHzHL_EAH@ 8vH@PIFPHD$HH!L[HE0LHxKu6fDL$H<$1H([]A\A]A^A_H$I^AF0IF D$M~M~tAF<AAF8MH<$O1MNIF AfL`(HD$hI9FIHE0H@PfHHLHH9KHHzuH9ZuHrH9t$huIT$fDHAPHHt@HzH9|$pt%HH9HHJ HuHzuDR8EtHrIT$H&HZIHH[H5*H (HU*L$0L$Ht 8L$HHIjL[1ɾ jjH$|H L$L[AUALpHD$IFPLxHD$Hx`HLML`rH\H5)H7LjHILYjjj'LZMLI^AF0fDLA)11Ҿ-@H<$gaIHHD$H(4fDE1T$E11LALL\$AL\$HHH$?H=(0L\$HH|(Hq")LWHH$`H$IօIrILY1t$x HHT$pWAXAYLY轸HHD$HHiL^(11Ҿv,H5^HIFPH$LxHE0Hp*HHD$Hx`HfDH'H5'H EHYHD$H6'fAWAVAUATUSHHDEtH(Ht 5?HC(HHC0ǃHǃHǃǃ@HtjcHǃHHt%L% )@H/A$HHuHǃHHtbDEL%[ )1fL,HI}A$LA$9HA$HǃHǃHHtQDE~$1fDHH{`HHtL%)A$HC`HHL%)HEHD$SDL}8Mt!} I?I$HtI$LH}@Ht H5֍3HLA$MtRHE(LuHtU0I $~'E1J!11Ҿ%@HtGUHSHHH`Ht H;)HtHL(HC`H[]ÐHC`H[]Ðff.@HSAVAUATUSHHHt\HHtfHHHDEH-)E1@N,II}ULUD9HUHHt4~'E1JfDE1Ht$dH34%(DH[]A\A]A^A_H9HC@HHAEtEtE1HvD@HH5TXC4>t LnpMMHH=hVIHHKHs(jLjALC8LZYHLAODL8Lw"t!=LLH8HtJ;HH ~HDHHS(L*OjQPLKL龵HH A^IHAH{8fLAuH{H5RHC4AJDAHHHS(LjL0NHjjLKhH HtHH5H}DADH{H5Q0C4@IUIHH$uHHS(LjL9MHپjPLKH|$ H HH4)DHusLAA@HtHH5Lx=LAH>IH H5H81;ɀHHS(1jLK LjPLKH fHHHS(LMjjjLKHxHqKH5%HA\#ff.Ht Wh1Ht'HwHWHOHHt:Ff.ff.@Ht'HwHWHOHHtBf.ff.@Ht/Hw HGHGHWHHt ?fDAWAVAUATUSHdH%(H$1>YFXH@O$Lfp @HFX$F\MdA$t AD$Z@dLMu7HDŽ$^f.@uM}MMtI}?GXuM}MMuHDŽ$LcpMA$tA$-SXt AD$XTH$L蔆jLsK1jIHھ HTH$^AXHPH)E$9$E HpH?HHtHPL IUMMH!)HtmIL$HHIIL8M$$MuDH6I}GXw@1H$dH3 %(Hĸ[]A\A]A^A_DE$L11ҾJHDŽ$;tf L{xMIDA.AFY@MvpMuHH5H2@ Lk8M AE A- AUX€;€ IHu @HH HpFYuH$EjL|J1jIHھ HH$A\A]HE$HL5LMWXfH$L调jLGjI1Hھ MIuIT$H9t1H5MmM$$MuLcxMA$-vHL H1Md$MuӅLkxDu$LcMtmHH7HU@HP(LHHLGPdMmMuHH@(E$A9tU 86LcpHI$IHu f.MM.MuHD$E1H=ruHD$ HD$(HD$HD$HD$hHD$p@Hr- wHcH>fDHt$HHuH|$M!H|$(H|$ AA!MAHHD$HH=tHD$`HD$8HD$XHD$@HD$PHDŽ$HD$xHD$0fDHq HcH>Ht$6fDI(Ht$hfDHt$(fDHt$pfDHt$fDIHt$ fDHt$@H HLH|$0AE!MtHL$H L$J j E E HD$HtHt$@HHD$HtfHt$PHt\Hv8Hx8n ~t9HD$PH0t-HT$E1ɾHLJHJ(jjXZMH|${ HD$I}8Hp8qH|$ HD$I}8Hp8AMHD$(HtHp8I8QHD$8Ht'Hp8I8mB[Ll$HMt7Iu8I8<tAE1LLHHD$XHtHp8I8tLl$`Mt8Iu8I8KtAE1LLH!HD$H"HL$ HtHq8Hx8HD$HHt,Hp8HD$Hx8T/HD$8Ht$Hp8HD$Hx8Ll$XMt>HD$Iu8Hx8itHt$E1LAH=Ll$`MtCHD$Iu8Hx8!t#Ht$E1LAHDLl$ MMt4Iw8I}8WtE1E1LLHHD$`Ht,Hp8HD$ Hx8oHD$8Ht$Hp8HD$ Hx8WHD$XHt$Hp8HD$ Hx8)TL|$HMt=Ll$ Iw8I}8tAE1LLHL|$(M2Ll$Mt4Iu8I82tE1E1LLHHD$XHt,Hp8HD$(Hx8h}HD$8Ht$Hp8HD$(Hx82L|$`MtHHueDHHTLhAU9u @M?MuKX@ HHtHP: HHuHspHt?-t4> HfD-t8 H@pHuNXHCx1E1H)fDtDH@HuӹAאHt$PfDHt$0fDH$Ht$XfDHt$xfDHt$HfDHt$8fDHt$`fDLMu @MmM(I}?GXtܩ@uH(I}GX@jE1Lj1Hھ HZE$YRfDHv8Hx8c AHD$@D@0E/HT$HE1LAHJ(jj#^_@H|$0Ll$0cf$HE1LIM(D$L]@D$jj_AXD$$D$[H<H5HDHH5AH+DLcpA<$AD$X@` CH$LKvjL:=1jIHھ H H$A[[HH`(fAUX@^HL'JH/HD$pE1E11HD$hE1E1HD$HD$ HD$(HD$HD$DA$.H$LaujL9IjfDjE1LjsDH$AL-:HD$H$HD$MMA7LhuH|$HSHHHDŽ$HDŽ$軺H|$1L謺A?HlHsHjHjE1E1 Q1P$AU H$H0HtH(HDŽ$H$Ht H(E15DEfAAAH fDtKXEKX KXHD$0I}8Hp8]HT$0AE11LHbHD$0DX0E0IM(jE1L=jL꾵H>AYAZDHD$ D$8jHL$(HƋ9jL<HHHI(jIVXZD$@HD$D$D$8LjA?HAjIO(jLVIL<HY^D$D$5HspKX^fDH(Hi IWHHPMIIfDH|$@HD$@HD$jDMd$8M A$t A$- M9t1LLHt# LcxMu/fMd$MA$-vHL HA1DH|$P HD$PHD$DH$HHEqjL91IjHھ H$LqjLg61IjHھ KXf.HspLcpA$.LAT$X€H$LpjLr51IjHھ CfDA$.H$LHpjL61IjHھ AB4A9E4AJ0^AB4A9E4PIM(jLE1jMྵHXZ+KX CXHD@Y@H@pH .uyfR4HspKX+H$L;ojL251IjHھ HD$HE1HD$`HD$8HD$XHD$@HD$PHDŽ$HD$xHD$0CHT$8LHAAqHD$8@0IO(jE1L8jLHOA]XkHI.KXHHtAHpHt0FYt*H$njL61IjHھ HHuHjE1L1jHھ HA^E$A_TLM68uLMH@pHuL%5LH5KHYMmMuH|$pu Ht$xDHt$pHt$hH$HHEHL$hH|$hH$LljL31IjHھ HT$HHt$AAHHD$HDX0EHT$E1ɾHL6HJ(jj^AYAZH1H5QH_LT$IM(HE1jL6Lj^_LT$HD$xHp8HD$pHx8 b H|$htH$TDHT$@Ht$AAH1HT$E1ɹLAH\HT$PHt$AAH4^HT$E1ɹLAHHT$`Ht$ AAHHD$`D@0EdHT$ HE1L 5HJ(jj^_9HT$(E1ɹLAHf19.HHHMHUHHu%%HUHu(HQ6H~LkxMLHIH9tHھ HE$E$ KXHT$XHt$(AAHHD$XH0XHT$(E1ɾHL3HJ(jjXZ-HT$XLHAAZHT$ Ht$E1HA5GKX2KX$A$.LxKHT$8Ht$AAHPHT$xHt$pHAAHD$x@0HT$pE1ɾHL2HJ(jjA[XH$LhjL01IjHھ NH$Ht$hHAA'H$DP0EHT$hE1ɾHL[2HJ(jjAXAYHH57,RE$L2{HT$8Ht$ AAHKHspH$HDŽ$HDŽ$gH$LIgH$LIqgAVL.1ATIHھ H1H$AYAZHtH(HDŽ$H$HtHg(HDŽ$H$HHT$XHt$ AAHHt$xDHt$pDu$LcHspH$HDŽ$HDŽ$fIt$H$InfIuH$IZfAVL.1IATHھ HT$8Ht$(HAAHT$pHt$hE1ɃAHH(-H5H+E1E1H .1 Hu{3AWAVAUATUSHXdH%(HD$H1>tQFXH@uDIHnp$ @FX|$Hx}DeXt A@ADd$t,1H\$HdH3%(HX[]A\A]A^A_DC\HspDHt$t - L{8CXM A? C\1ҨM H{pH|$@H|$HD$8tHD$@Z@ HD$LLCXMLHuMLHL?IE_MdCXAGEt$ELGE1Ll$(MHAHD$ LMIIEJH/ELRIHt$ IzH4 HH9HHIH;yuHIpI9Jpu@IE9}Ll$(MMCXHD$HHtyLM AF,;B, uXI~0AF,Ht&L%H(H/A$HHuIF0I~8HtH(IF8LspMAƒtA-CX LMtAoƒA-L9$AFY,D$A9E$AE H|$G\ƒPSX f HD$Hx8z HqHD$H|$@HD$@HPH`jL-jI1LHھ RH|$PA\A^H\H(AE fDLH]DeXADd$"fAD$1 At$LLHL_A9l$~UI$L4MuIHHugE1LHLW1AGDžEL%(I?I$HtI$LHǃ@HD$-HCX AjE-CXH~fLMYAoLI?HD$@Dd$LcHD$ILl$J47HNfDmLAIcHcHHRL;BuHRpH9QpuHD$@H|$(aHH1jI LjjH|$(H|$`H HtH{(HD$@LDI?IDJ47HN>HA`HuCH@8Ht/t(-tu-wAyLl$LspACX%tA-AFYMLH1ALLaAXAYA-C\ƒAF\ƒl uI~8%wjE1L2j1ɾHLAE Y^tZf.KXz@HNjL)jLKL1Hھ Q_AXfDKX-HCXHt}\HHfHxH5.L1C\T@HHH5.LDMu"HT$|HT$HIH1LZMHrHELVH|HH9HL;QuHIH9NpuHA`HGfDEuCA`MAT$11fHD$@H|$}]HH1jI L .jjH|$(UH|$`H HtH(HD$@LKD}\ tC\Ls8MtIFHt 8LHE8HtHHHt 9qIWHBHCpHD$\@LH igC\-E\C\HE8HC8HHHCpHD$AFYkHHt I;&C\hH{8sAV\9u jE1L|-j1Hھ LAZA[AE KIOrt+Aw DHytKHsHLrIH.HKHIu@LQIGH L{8CXC\@H}\:tu - jLi(jLKfDHD$@HVH|$@H:XHKHL$jIjQHD$@tYHD$H|$@HPHWjL%jIL1Hھ iA[]H|$@HoHD$@HD$H|$@HPHWjL%IjHKXHLM$HǃHIu@LKH1jLL5|AYAZHHmA>LppHCxHExHHCxHHǃHt AFZ@HL/jHLNHCpHD$@tHCpC\HD$M~0Hj0MAHA8t/I~8LB8HM8tHqI@H9GcMI~8LB8MHHGM(I9@HGHD$H|$@HD$@HPHUjL"IjHHSHE1Lm*jjjHپLAE H kHsHL|IHHKHIu@L{IIGHL{8HE8LHsHH$P |ID$IGH@HSHU8HRLpHPHCpHD$ HHSHE1L{)jjj1IHHt HxpjLx#jLKDoPdA~\jE1L*j-@u-IA~\H{8jE1L'jHE1L&1jHپ LjjYH AE HHMMIELDE11%DD!I;At+OHmH HEHu׉ADjE1L'jjE1L&jHD$@&LLOHHHE1L{#jjjH1ɾ LkHCpHD$(H HGHE1LC$jjjLMHHNH9MteHH9HtZHHufHULfH;Pt,HHuLJ{HHUHPIV0HIF0HmHu8H6H|'MIxt LEWIxEILH}4HmHuHMt!L%(LH/A$HHuIF0L}zIF8HH@{HRfDMt!L%V(LH/A$HHuIF0I~8nIF8H@AF\wI~8jtjE1L&jIH1LAHD$8HD$@IH|$@ SHH|$8HRH1ҾWILLw%jjUաH|$XH HtHP(HD$8H|$@Ht H4(AE HhH5LþVMHHMH}AF,DHD HMt-L%(LIHH/A$HHuIF0HLLHT$QxIF8HHT$HR8HRHPFAF,ML%6(LH/A$HHujE1L%jHH5v!L覽9Ixt EHHLwIF8H}AF,MsL%(LH/A$HHuIIvE1E1H Ll^OjLjLKpLAF,뙐Ht+>HuFtGX%@utt 1DHHDHHHHH$H5sHfH9gAUIATAUHSHH>t FZ@}t EZ@  AuHspHtFYtH[]A\A]DH9>u -tDHLst~}tiEXHHu*fDDHL:tEHmHHU:tBZ@uLHtBHU@.uCXtH1[]A\A]@HHU@fDLH-fH []A\A]1ff.fAWIAVMAUATUSLHH$H|$t$>Hl$@HEIDE1HD$H$HD$ HD$xHD$0@IN$A|$0uYHhS]MD$HIpH|HH93HHRH9ruIHpH9Jpu@IE9nHl$@1H|$(t5H9},sHD$89H\$(1M(9K(H$dH3%("HĘ[]A\A]A^A_fHtIEHHpp;thHt$H|$ HDŽ$JLHa=jMLjL RHt$0H|$0YH$H Ht H1(ID9c,@Ht$H|$ HD$xHDŽ$dJH|$0LHTJHL1jILr Ut$0H|$0+H$H HtH(HD$xH$HWH(IE9nEHT$PHt$@LLL$0d7H|$h|$dLL$0 HT$HHt$@LHD$x-7D$dtHD$hH9D$xHt$H|$ HDŽ$ZILH;jMLjL  RHt$0iH\$1-H\$(1M(9K(HD$(H@8HtHU8HtHZH9XhHD$(HH0Ht/Hu0H=HQHfH;PPHHuH\$H$HDŽ$HF;H3j9t$(HD$@ MHt$H|$ HDŽ$GLH9jMLjL RHt$0H HH\$H$HDŽ$HdE;ItT8HDL$fDH@8Ht/t(-tu-wLSHMffDLu0I~0H(IHH@L(^IFHt6HE0IU`LIuHx0HH5!HHLP4AuXLfDH@8H~-ouԃ-wTfDLH5iEMIxDAE\ƒuI}8VqIMHjE1LjL HNAXAYDA-GjLHAjLL^_RjE1L1jHھ HAZA[H|HHH5HH5H˪KfDAE\ƒfIv8H|$H$HD$HD$x(HA 6XLLDH IF0HE0Hx0OL11ҿ^AuXAWAVAUIATIUSHH(Hn(dH%(HD$1HH@L|$HLHIHHLHD$H!(Ht$HҨH|$IHtH(MH{(Ht$LMIEHeM At$XIT$8"HHHD$IELHPHo9HH1jILJ1j<j躊H|$0H Ht H5(ChIE*fDH1Ҿ IH}HcHHHHL$dH3 %(IH([]A\A]A^A_1@H HD$fDJXEρBZ@HT$LLHD$W8HHHIjLH1j;j蔉H|$0H Ht H(Ch DHI1jHL!Hj j@H HH5$H߉D$XHcHD$HHAWAVAUATUSHXHO0dH%(HD$H1HA(H $Hm DhErHA IHHD$H H$Lp8Mt{Hl$@L%MnIN(IV I~0Au,HHjAE7[FX@ @FXIupM6MuHLH$ILJH@(HHHIH\$L$0AH\$(D$4H\HD$@HD$ K=u/HUHuI@=H A IL9ImEM=uEuH}uH} LeMw@H|$M M Iv I~` H|$I~`(Ht$H H@PLHxHyH HEPLeHIL$HHL$Mw@LMtHID$ IvHHD$82HL$IHHL$HHuHIƐMt$HFH 8] p@9u@qHD$@H|$ HP Hp(n4HLHjIL1j j踅H|$`H HH/(H}p!EX@H}8Hu`HHUhI@YGHE8HtLMhLE`HLHE8HUHH Zjj—Y^SULH褘A uFHuLkA uL@AO$Hl$(tpfDHH9Hu>uF[ uL講A uDHE1Lr 1jH LjjzHEHH H@LN LFLHHUjH Œj+AXAYH5ϭHL$IHu ELeHt$HU(MjPLL$ Aw$1ۅHl$Dd$0 HA9~^Ht>uHHtFXtL蛓A uLMhLE`HLHUHjH jjAYAZA$1ۅHl$Dd$0HA9Ht>uFZ@uL蛠A u|@AO$IG0HX8HuGf.u'LBpLIpqPrPL@A^ZHHHKHtHSrwHAEG$1HELd$Dl$0HA9M4A>uIV`HINXHHuH@8Ht(8t!-tu-wIvhjLMjA躱_AXt,HE1ILj1Ҿ LjjwH A 9H5AhHE8H}8 AT$1LML$ MD$jH cRHGHE8XZEO$1H-ELl$Dt$0fDHA9KMdA<$uIL$8HtID$H8HxXt@yt AD$ uI|$@tqHP`HHucHv8Ht(>t!-tu-wIt$(jAMD$@jL3ZYID$HHt @x A H$Eo$H@(EEo w-HE1L1jL LjjuH EW$HD$@E1HD$(EtGDID9t$0HD$J,}uLepMtA\$~σD$I $HcHHD$ HD$ H4LFDkIxIcf.HHHRH;zuHRpI9PpuHD$@H|$(&HHU@LjILHj jtH|$`H HtH[(HD$@LNtVI $Hl$ D3I@`Hu9@H@8Ht$t-tut6-wӃAyA I@`HtD\$ED$AO$IG0HX8H8H$HP(HЋL$41HDHH9H H4)>uFZ@uLYA H$HP(HHD$@H|$($HHU@LjILHj jcsH|$`H HtHޫ(HD$@LYMA$HHR~FBIHlfDII91I<$?uGZuLlA uE1#x@APE1LjjjL1Ҿ LrH HE1VLCjjjHH5L譏jE1L|j L1Lh^_I|$@)ID$ILHXjjA$tH$Eo H@(cлH$t$0HP(HЅt$4HH5LA$L%Ft9HH9`L+A}uIuAE\wIGxIGxHH虬Iu8LI覼IIxIx IHtPH虬t"IMHjE1MjL LAYAZILJIxIGx)IMHjLE1jL$ LχA[A]MmL0XLH5H81AHtHw(HWHHt ~fDAUATUSHHB4IIHHz H0HHzBHHHC0HKLm@HHSHsHE0HSHs(H'CHLLHEH Aąu,E$C$HEHCHHE0HD[]A\A]fC HE1[D]A\A]HH5蔌AHtHhH5xAnHtH0H5XANyfAWAVAUATIUSH(dH%(HD$1HHD$HD$MAHH5I\$XIAL=sHuh@HxLdu@H[0HtKHCHHuH{H5s{>uH{H5*ufDHH%YH[0HuLHрH5L"HH\HL$HHHt5D} EHL$dH3 %(DH([]A\A]A^A_fI|$@LӴIHH|$HLHH (HRHH޺^HHD$Hߥ(HuPH|$HD$E1E11PDHjATHT$(oyH ADž(HT$HHz HzHHcHUHT$Ht#z4uHz tLHJf.I\$AHH{HtH{H55AL DLL$A)HLLS1j HjjlHT$0H Ht J4EI\$A HL5DžHm@H{LH{HPH{H5yH{H-H{H5ȩVH{H H{H5d3H{HH{H5HCHH5HxH{HH{L=H{HtuH{H5H{HtVH{H5 H{Ht7H{H5x H{HtH{H5fY1H[0H\H{HHDžL DžE1HL HA AgD@HLHfHCHH5ͮHx+HCHH5Hx&HCHH5}Hx|#LL$AIjL8L1j H|A[[o@HCHH5Hx(HCHH5Hx>HLHi@HCHH5Hx%HLH=K@HCHH5HxLID$@H|$HHfHCHH5=Hx<HLHiHCHH5 Hx HLHf9HLL1j HjjgHT$0H HtB4A "I\$A =fDA DHCHH5uHxt3H[0H&f.H7DB4HrEAE0AAt^LHE1jLL1j H3~A_X&HDžDžfDLHAE0Au09fHT$fDHL1Lj HjjLL$(fH D} ADHD$L1Ҿ LBHLHt$\}AYAZfDr4HYH5HAD'ʯf.AWAVAUATIUHSHHhHW0Dn0dH%(HD$X1HB HD$HF HD$E H} HEI|$ Lc@HHj HtH5VHVH} E4QHD{$HIwŃH5 LHHD$t/Ht$1HHŃLLH5XL}HtHHHHD$ DIIt$0HHD$IŃLD$HL$  H5L!HtHHHHD$ HIt$0HHD$1IŃLD$HL$  H5ȥLHtaHHHD$ HHIt$0j AHAHD$(NLY^Ń)L\$LT$ O H5`LPHtkHHHD$ HH@It$0jAHAHD$(KXZL\$LT$  D;{$u fD;{$tk :M~MJC$1L5iD$HD$@HD$ HD$HHD$(HD$PHD$0'ILTIH IH5sYIHIH5WIGHHIH5UaIGHHxH5BE= IHtqIH5&IHtRIH5ѣ'IHt3ILIHtIH5M0MIH1HHT$PHL$ HT$(DHIH5w?IHIH5]T\IHIH5m1IHtuIH5IHtVIH5 IHt7IH5 IHtIH5IW(LE1 L H]M0MIHL5eufH'M0Mt_IHtILLIGHH51Hx0LHhI|$(uM0ID$(MufC$Hǃ9D$k HC0HL$HH HD$El$0ID$ HL$XdH3 %(c Hh[]A\A]A^A_@ǃCǃ D;{$Rf.IGHH5]Hx\IGHH55Hx4IGHH5 Hx LHDI|$(H&IGHH5ţHxC$IoXHD$@HD$HD$8HD$PHu&@HxH5uxuTHm0Ht_HEHHuH}H5kRuH}H5A>uH}H5*ufDHH%IHm0Hu肿LD$ LHHHxVLD$(LHHHL| IoHt`H}HtfII~(HS HsIHCPH]PHH;CX HC8HD$H7 A(tzI H)}\ HAWHfDH(H}\ H9uH1~\HAWHH0H~\H9uILM.LjhMfDA<$IHt$HUI9usL;efHmHuHNH5^L_kHHH5#LAEkCA(~aI LAx\HH4HfDH(HU\tIH9uu5DH)HU\t)H9uIF(LH5Hx`LH](E1HL$8HD$EHL$I@< w#@H&HLH< vHHH< wH&HsH9IF(HH)Hxx܎MeHD$8IIF(HD$HZ MMI0MtMtILLC4It$E1E11t$LھLjATL\$ XH A…HT$8L$HIG0Hx 'HB H~J4uwIG Ht$LIGX AƒAG$Et EW @Ht$8LEW EAG$AFlIGXA<EAU\C< w&H&HH< vHHH< wH&HsH9IF(HD$H)HxxD$HD$EfDHP AFl1LEՃ}\ E#Adž0EfhEEVhf.9IHE1L1j1Ҿ$LjjKJH IcIEnhHHIA0J@K@EIfEA@HD$4 HHkpHIHHQ Hq A~hAA90IH]PHHHE8HD$HHD$@XAʼn$A It0L趡IǂHB8HD$A($HD$8K->D$$E E1H$dH3 %(DeHĸ[]A\A]A^A_ÐHI11jE1LLj1A1j^HIcIH HHIJ@K@A0g@HE1L1j1Ҿ6LjjGEnhH E IHHCIHCM I]IT$0HLAHkCHEC NMd$IMIHD$HB8ID$HHHHIǀHHUHH9uH;HHHufHI~(HHHNfH@@@@ @0MIHXhf$WLMjL1Lj-8^_D$fHAt9p{(HU HuI~(HTIHEPH8M HE8HEPHD$H|$J@HE1L1j1ҾSLjASjEH DGEHD$D $HHD$EHHD$@Dl$,1HHD$$HHD$ HD$D$E1HH(LkEwIL9d$ aI N< A\uIuI8u誻tIupI 虻tIE`AGXI_PMoHIG8HH9l$fA(Dl$,Hl$H? $4 E11L$D<$fDHI9I L<AXuIw HA)uHx(D IW IwI~(IGHHN Hx($AGX HI11jE1L-Lj8A8jCIcIH HHI+IGXHH5ƅLA`II~(HS HsIHCPH}PA0A96HH]Pf.IHB8HD${(JA(t9I ~0H0~\ HHH0H~\o H9u-IɣIHC8HHEPDfA(~;I H0~\HH@H0H~\_H9u-`HE8ArHE1L1j1Ҿ2LjjAH {fHUjE1Lj1ɾWL_3AXAYfDC0tPH{8thLeHIU`@XHXPHP8IULhHHPIUpHP L`eH@XHXPLhHvI}Xug@ILe(KjALjLE0H1LzIcIAXAYHICXp HE1L1j1Ҿ7jjLs@I A(H IHf.AA0mDJ@HE11jLg1ҾTjLATj?H AfDHT$8HLHD$8觳0HD$8IHJ@HD$IM@I A(DH|$HD$@HE1LZ1j1Ҿ5LjA5j%?H ,@A($FE1At.IcILH1E11jLVLjj7H A(HLJ(1ɾRjL&Ljr`17H A(^H1E11jLLzFLjjZ7H A()IcILHD$8HIHBHHPHppHL1jILW1jLj6H|$XH Ht@Hjo(A(B\HD$HKLq&A(tDH@`AGXIG8Hu6fDH@8H#0- uԃ-wfDH}0CXrHdHE1LI1j1Ҿ9jjbDLd$@HL$81HHT$4LL$0M藍ATD$@1LNx1ɾOLPDL$Ds!AZEnhAIA[QAFlLx11AFhx-D$EFH|$$HH5xLQRHYvH5BwL6RHwH5'wLRvL(艘fDH@8Ht/0t(-tu-wHI9uJL"A(AGX L8褖,dH}fH50,H81AHGvH5$vLOHBH5 vLOfAGX衕L89>dHfH5+H81A&HJH5uLO |HH5tLcOHH5"tL$EO$A=HcH5wtL$OpHH5tL OHH5ytLNqHzH5&tLNH7H5tLNTH4H5wsLANHMH5sL~NAM@AME0LjjjZY ff.@AWAVAUATUSH0HD$`D|$PH$9| HLL$EHIRIHH/Dž(H}P貄MuAEI] AM@ EFAT$Lt$IExHHMdfAA984HǍ Hf(HcAHIExH A HcH4H<IHIN9HDIH 8AM9HjHg(PIExHIHƺfLAU1HLCH EWH(H9$uBH|H[]A\A]A^A_E~H$AGL%6h(HHD(H$L[ L+[A{MEHcA$IHEeE^1DAt HcHD98LCHcA48D9}@&uA|8#uA|83uA|88uA|8;uAD &HH56rHKHH5HzKEhH}PH[]A\A]A^A_ElLYEh11Ҿ'qH^H5HK룃ElLEh뿃ElLEhHNH5WHJ`f.AWAVAUATUSH(D|$`D$hLT$pHHHWMEIHt$HHt5LMt)HH HARLT$(PD$,AWALT$8D$4H H(Ht9D|$`Ht$MELT$pLHD$hH([]A\A]A^A_H([]A\A]A^A_ÐUSHHHW(HGhLJLJ0HLJ@HtHz`H5Ho1H[]HLJHtBDžHHC(HtsH+HE0Ht^HS(HE8fH={"HHt>HKHSHHsHSHs H0HrHHsH5oHH*ff.AWAVAUATUSHH/H{0H}LMǃME1L0t;~.AwnFFIG0HIH H2BChH[]A\A]A^A_諡IHZHE1L1j1ҾHjj*H HAMtAD$@ t AD$@IWPAHs,IGH>Aw$HL;xHxM9H߉D$ DAD$  H{HH{PHHKIHHǃ(LxAGpAD$IGID$IGHHt H@ID$ IoXAL$@ ǃ(HuDHm0HtLuHMtMvHuH}@ГHMMHAT$IHuD$ HVT@H+mH5lAHDlH5+l.HiH5lHFH5kf.Ht'HtHGHHtHGH1Ht HWHøf.Ht ttffHtøf.Ht/Ht*~u$H(tHF@HwpHHG0mDfHtwHtrUHSHHHHs0躝HCpHtHHH[]@HHHE1jLz1ɾPjj&ChH([]f.HAVHAUATUSHH.IIIHHHm](0HHH{H1HHH)0H!CǃH}L(LkHkt HHC(H}t HHC0H}t HHC8H}t H4HC@H} t HHCHH}(t HHCPH}0t HHCXH}8t HH}pu H}x,1H[]A\A]A^fHZ(0HHtH{HHHHH)0HH!CHHkHHHHHHHǃL(LkHCHLc M&f.HtO?!CuGSHH(9HCHSHHt HCHS HHZ(H1[fDfHtHPHXAWAVAUATUSHHEH<MIAHH(IHHM7LH5MoHALJHD$cDHLҜHHLNjL{PIWLHk8Hg`IHtgIHHk8Dc@HCHŅuHCPPuDHCPLHCHHC8#fDHCPHCHHC8HD$LI軐H[]A\A]A^A_f.fHt2Ht-SHH1~HtHE111H[錗[ÃÐHtHGPf1f.HDBA wDAEHA vHAT@иDBA wG ЈG1H@HDBA wDAEHA vHAT@иDBAwGf% 1fWHff.@HJЀ wHDAA v fDx:uDDQADƒ W ʈW PJЀ wHDIA wTQЃ;O?? ʉWx:wPJЀ gHDIA UfɍTQ*HPOx.tdAt<Gf/d r- f/vGffHf%f=w"H1ËG%=0u ff.GztŸHP @ HЀ   ^Ӄ0fH*YXOHЀ vHff.@H<+t6v$<-t0f.?f.~\(tÐAT(US{1Ҿ-H=֯HM\(H@p@\H&\(HH\H\(L%C((Hh8A$LRHH>f@$@@HEHHH@HHE HkA$L1fHH@$H@@@4@DHX(HEA$fHH>[(@ .H=@@0H@@HX(HH=-HHZ(HZ(H=HZ(aHZ( H=sOHZ(BHZ( H=mHxZ(#HZ(H=HaZ(HeZ(H=8H2Z(HFZ( H=H Z(H'Z(H= HY(HZ(H=HY(HY(H=ޭHY(iHY( H=ĭHY(JHY( H=HHY(+HY(H=H!Y( HmY(H=PHX(HNY(H=^HX(H/Y(+H=FHX(HY(,H=1HX(HX(H=AHfX(qHX(H=nHwW(RHX(H=HW(3H=ѬHHW( H=ɬHHW(HW(%H=DHW(#H=:HHW('H=HH]W()H=oHH:W(HFW(!H=pDHW(n&H=:HH W(S$H=,HHV(8(H=HHV(*H=HHV(HV("H="GHhV(HTW(H=ܫHV(H=իHH&V(H=HHV(HU(H=EHU(oHU(H=\HU(PHU(H=BEHNU(1H=UFHHkU(H_U(H=HDU(H@U(H=ҒHU(H9V(H=HT(HT(H=HT(HP8HU(HT(H=HT(HP8HU(eHvT(U(H]T(HP8[]A\@Li[1]1ҾA\IfU(uÐUSHHsU(HXH`U(HX8HCH@HxXHCH- >(HxUH{UHUH%U(H=.U(H5H@8RU(H[]fHt,?u',wHHcH>D1D1Ðvځ1Ð1Ð1ÐnT(St.HCHcH>D;mfHT([H T([HyS([HqS([HR([HR([HR([HR([HR([HR([HR([HR([HR([HR([HR([HR([HiR([HR([HQ([HQ([HQ([HQ([HQ([HQ([HyQ([HqQ([HiQ([H Q([HQ([HAQ([H9Q([HQ([HQ([HQ([HQ([HQ([HQ([HQ([HQ([HaQ([HIQ([HIQ([HQQ([HYQ([HaP([HQQ([1[ff.HtHt Hw1fHtHGf1ff.fHt'1.w H%@HsHGf1ff.f1Ht?tG@1uEH>8(S0HHt%fH@$@@@,HX[ff.@UHSHHHt HhHtHXH[]ff.fUHSHHVHtHhHXH[]fHtAUATUH-kSHHL%|8(@;.I$w.HcDH>fH{HtI$H{HtI$LkHMt LfDH[]A\A]DAWAVAUATUSH(H9PvufG(uH([]A\A]A^A_H $VHD$H@ \$;@ 2IHHnIHTPЃuAT$At$(fHL$I fk<*AT$\I f(fAd$(fuffAT$HL$f-=HAHH*f(^f(f(fTf.v3H,f5^fUH*f(fT\f(fVĬAG$Y܃\X H,AAD AGn$H,I\$I_uI|$HI_fAg(AT$(fAG(%= AG(AL$ XH, $H*^n $f%H,f.zt2f(=d^f(fTf.Y\AO AD$f-G5'?HH*f(^f(f(fTf.v3H,f5fUH*f(fT\f(fVYAW?\H,? AGmAD$f-H,%=}HH*f(^f(f(fTf.v3H,f=5fUH*f(fT\f(fVYAW\H, AGvlAwED$H,@t A fAt fALǃHD$Ld$AH ףp= ףHHL49M^fDAA AHރiHHHH?HHH)HHHH9=HcHCL97HHHHH?HHH)HHHH9HEgI)ƸEf%=IIEH*f(^3f(f(fTf.v3H,f-fUH*f(fT\f(fVDY\X @H, AAjH,HMIGMEArAGDLd$f% AfA tiAGuXffA.w zLuJ tLAWt?ffA 'E1H(L[]A\A]A^A_A LItH|$?tDI_EMEgAf%C5#AŃ*f(^f(f(fTf.v3H,f5fUH*f(fT\f(fV\$ $/i\$ $ H,Y\X zH,H HOиHHNHJHHIHhHHHH?HHH)HHHH9"H]DHHHH?HHH)HHHH9HcHfH@GHII?HHHL)HHHH9u"HL)HHHH)HH Hrf.IGHM3EH,f5fUH*f(f(fT\fVIGLE1qQfDDǃIfAH ףp= ףHHHHHH?H)HHHH9thHcH~9MH ףp= ףHHHHHH?H)HHHH9t`H0@WH{XH8HܗH51ӻH[]A\A]A^DHMuA+uAA9EH[]A\A]A^HMuA,tHtLUMtMYAl A.iH%@LU :A A AA w"H&DHs IA vA< wH&Hs IA< vH&@t; IrI{9ARACIIuńA< wH&Hs IA< v1ۄDH6M-D9tA@ v AHHL[]A\A]A^HMAAHDYHMHRcHH9IAH9AA(E(UA9 ~H ߞuMpg1-fHM A M A\I wHEIQf(H^H)H,fH*HMI+IY\HHxf/ _HٻH*HHHH?HHH)vH6S\2H9RHHFHHIHHHLIIpH*HHHH?HH)HRHH)H~H4LD`LL9u I9H99 H9ffDHMA AE fZ]$A bfAZI$L$]L$f(]1ۅ*fDHM AEA;A.HMAtAIqH}L $(fL $IqH}f1LfL $IHA\$HfH]IHAUL $fHH9 AUfffAEAu(?kHHs AIHEHufH{%ILe1MH$dH3 %( Hĸ[]A\A]A^A_DHHuH=%IHEf.G-< ok 1ocLcLk)l$0Dt$H&E1H&tD v3KHsAH w HrH w@HHsHKtH wf.HsH C vuE}A?LL9ufDH9t H}tH9tK1LHL;&t fH}uH9uH9tH}tH9 (LHD[]A\A]A^A_H&HfDH C HrLQH(LAff.fAWIAVEAUATIUSHHh5(H $dH%(HD$X1TMMHLDHtHEAt4AEӃv AA.H A.FH yDHcH>f1A$< w$H&H IA$< vLE1߃AHЀ < w'H&DHH< vAHtHn(HAHt$XdH34%(Dy&Hh[]A\A]A^A_f.DL$V7DL$@1Ht0$t&.蝺IHLIEL+Ht H(HE1hDL$LA0DL$HEHPA.H yDHcH>HeH"H$Hp@H`L1AC_͹IH0 Mt H(LMtH(LHoH(HAx1Ld$(A$< w)H&HsID$HD$( 1A*IHHT$(<-I0H<$< [Lt$(L~FHD$(PՁtD1A$ hH&LH3fH N7-PHHHȀIJՁJЀ vfDHHHPq@ v.u%JHpA< GHH A< vȃ< @H&H,@IA< Hr HHvD`Hf1HtIHOBf.1H$HqHx@fL<$HLAH=(LGE1A H$@P1L"AƅH<$Ht$(L&L|$(IMH4$LH~@-HrHHx IH|$(Ht HN'H$Hp@HKEZL1A:AHS覰IHMMnMtM~L3E1f1A<$HL I!TILtCPߍHހ]L@H?Cу{<@ut_HuL@LIHC'MLHF软IH!@1Ld$A$ w3H&H ID$fDHD$IĀ T -PE1+u MT$LT$HL$(HT$ Ht$H|$谦AŅHD$ H&HsHHD$ HHrA" >!u EvH#蟮HEDD?D1Ld$A$ w3H&Hy ID$fDHD$IĀ L -E1+u MT$LT$HL$(HT$ Ht$H|$舥AŅHD$ H&Hs'HHD$ HHrA%#')u)HD$ H D$(VHD$AH=HOHHT$HPHT$ HPHT$(Dp,HP Dh-H1L2AAHt*Et%IHHLXIGL;H$HLECE1x6xPI)L艰HHIw@1LH<HIH'AMH$E1@P1L1AƅHIHwLIEL+1L<$HLAH=/(LWE1MKA@H$@P01LQ1L<$AMI@LVIH=I@H~LIH'Mt A\A@1L0AAHt*Et%IHPL`IGL;H$HTEKE1x>L螮H $HHq@H1HH'HH$E1@P1Ld$A$< w)H&HsMT$LT$A< gHL$(HT$ Ht$H|$螡AąHD$ H&Hs%HfDHD$ HHrA&$(*uHD$ H D$(nH|$_HqHHT$HPHT$ HPHT$(@,HP D`-HD1A<$@,LE1f諯x ?AH:@uDD<@DE1HY,ШHD$H*H'C|5HcHHHD$HHA$t"xHIA$uHD$DxHDLl$01Ll$(A$< w"H&HIA$< v<- E1<+IA$<0 fDIA$<0tAE1 D$H7讧IH!D$EAEt^HT$(AE9Wz0AHHD)HHx0uHHD$()F4H9uHT$(ELAD$,AD$-A EL$,L#DL#kH}1IHJDHW$IEIHuLHHIEhL1*<-t2D0< 9H ƒ߃Aw<-u݃ 11@1Ll$0Ll$(Lc1HxޥIH:=DHO$A觥HH{LHEH+IIAIIIIIIIqII9I I IIIiI9IIIYIIiIIHIH%H$AHIIL_I)M9LHGHkH|$/f.EHD$(H D$ H D$pH$LHx@= I8-H<$HHD$(誎HD$(PՁtfH舏H{IHt IFMt.MuH[MHti;.vHQIMufMH0H{IHt OIFH{Ht=IFLE1[L]A\A]A^fE1ff.HtWHtRHH?t 1ɃDAt 1AƒRI1HjHDf.HUSHHDA wIH YNHcH>H[HDH5H81Ӑ1H[]ttHo8HtE!ÐHw8LDtv)Hw8L$tǃt,HG8Ht8W߃w@,uMtAJ vuHPAQAH--H9.+fMOMt'I@HtAJ:J wLEH{@L/DHEs0HL0Hw8L j+bHw8L?*7DE,^Mt A+tQ,tLwѸHH!&tbE1;MLLAHHUAt_A(H9+H(H'BH5OH81DHk81fD&H9JGDHC8AQMAASH8H裩ZYP{ 'H9DAH,.H91MIMALmDHk8ÃHt'Ht"HȉHPIjD1ҋ?ըHøf.HtHG8HtH@f1ff.fHHtE1Hcff.fGIHHHuHt1HE1E11L@IHыE11L+fH=tB=t=udHG8Hp1H9rE@HG8Hp1H9v'Hu DHG8Hp1H9t̸&HtH1(Hu@H1H1wHtHt }DfH HBUHSHHHtDu/HHtftQHEH1H[]fDH[]DHHt7tRtuHHEf+HEDH=H=qHEHuH{DHEDH{HE1_@HEDfHt@1f.1?ff.f1Off.f1f.P1f.p1f.01_ff.f!1off.f1 1ff.f%1ff.f11/ff.f11ff.f%1ff.f(1f.@1ff.f1f.31f.01ff.f1f.1f..1ff.f01?ff.fN1Qf.41f.1ߦf.1_ff.f1off.f 1/ff.f 1ff.f$1?ff.f 1/ff.f1?ff.f1f.1/ff.f1Off.f 1ff.f'1f.`$1f.21f.1f. 1off.f%1_ff.f1_ff.f01ff.fp1f.1f. 1ff.f 1ff.f1f.011_ff.f1f.1+f. 1ff.f1off.f1ff.f1f.@01_ff.fP1_ff.f/1ff.f11ff.f/1f. 1ff.f01_ff.f11ff.f1ff.f1ff.f1ff.fǀ11ff.f1f.1f.!1Off.f1Off.f1ff.f1ff.f1f. 1ff.f1f."1f.'1/ff.f)1ff.f&1f.+1f.#1f.1f.1f.1f.P!1?ff.f1ff.f1/ff.f@$1ff.f 1ff.f1/ff.f1ff.f = f1f.1_ff.fP1/ff.f 1ff.fP1ff.f1Off.f1ff.fp 1/ff.f'1ff.f)1ff.f*1f.1f.1f.1Off.f1ff.f`1ff.f1ff.fP1/ff.f1_ff.f 1ff.f 1ff.f1?ff.f1ff.f1f.1ff.f1f.1ff.f1f.1?ff.f1f.M1?ff.fG  $~tt1fxv1t)#v 1f.f.ƒ# ƒ3wHH ¸t1Jff.1( 1) HAWAVAUATUSHDwL/Ax?IE1 @D}E9|*C,>LHcHLH3t yDuE9}H1[]A\A]A^A_@HCH[]A\A]A^A_D1ff.fH5Վ'PH5'@H5u'0H5E' H5'H5'H5'H5'H5U'H5%'H5'H5Ō'H5'H5e'H55'pH5'`H5Ջ'PH5'@H5u'0H5E' H5'H5'H5'H5'H5U't4t, ff.vQ_tLT tD0t<v1v&?e ff.= tt1: @f!wHH f ttt wÐf./ _  Ё0 ff.fp1f. 1/ff.fSH=b'Ht[[ff.SH="'Ht[[f.fUSHHHtAHE8Ht1HHCPHt#HS8HtHR Ht:/u z>tfDEH[]ffPrDHHtH@@HtDff.@USHHHtYHCHHtIHHt$8|$8W|$8WHHEPH Ht"HU8HtHR Ht:/u z>tDCH[]f.fPrDHHtH@PHtDff.@HHtH@XHtDff.@HHtH@`HtDff.@HtHHHHt HHG0HpAVAUATUSHh HDgGHHAD{HSlH9vH;H{0yAHSlH9uDcDHSlHH9{6slH{ 1ɺHClHC t9@tFHC @Dc1[]A\A]A^@H b{tHHAD+klslH{ DHPHACClHC EhPt@DcW@DcE@HS Hz,A {lHaslH)H=H)Cl+HAD+slslH{ 1DHhDslHC rff.@ATUSGHHopt=t[]A\HHtHHH9uHǃfHG HtuHUHHHzHoH5fzHHuHH{ HHIHwHǠHS !Mt H'LC7@HC HHpHMHpHHqHS !Cff.@AWIAVAUATIUSHHD$HtHG HD$Ht HHD$MAGH$ uAGKBIWHt L9z(?I_0Mo(H8'PMwXIPL9tƒtHft8t3IHt*HD$HtHH訽u IHi'AGu{MtvID$ Htl<caH@Iw0<L@IHH$HbMYHIEMH$fHٶ'LII_0Mo(IfIwXHHn0L4HHuAGIPPL9tAH@At ƃurt I`HtcAGf.kH8t `LAG4fIPL9tH@ƃ@ttHD$HtHHu IPHɵ'AGP\H$IH[]A\A]A^A_HL[]A\A]A^A_CHL[]A\A]A^A_ff.fATU1SHtHo HtHHt}H'HIHsHtLH{HtHtnHH/t[Mt;ID$ Ht1Hc&HPHK0HPH[]A\fDH'H[]A\HDH{H'뙐H8XHIfAVAUATE1USHtLg MtM$FCJQHHHvtHtH9^(CHCHT'zCLkXHH{PL9tXtPHtKMtHLu H{PH'SЍJDtwH{`HtCt2t-H{Ht$MtHL船u H{HI'CHHE H<cH@HK0H@<[]A\A]A^HsXHLv0HlLMuSH{PЍJL9HA@AփD軾H8w謾HhfHY'H[]A\HA]A^fH{PL9H@ƃ@ЃDf.[H]A\A]A^0[H]A\A]A^P[]A\A]A^s;fDUHSHH~bH9|-HH'HcHHHtbHcH,ȍBHH[]@H!'LJ PHHt4vfH3H5;\H811뜐{HH5\H811yff.ATUSHHHH}1HkCtCtw HsPHKH[0HuH]HEHNH[]A\fDH{wHHI H"'L1H[]A\ff.HGAUATUHSHHH0'H{xHtHHCxHtLkXLcPHǃM9tMtLZHCXL躱MtH{PHHtHHH5C^ǃ1C[]A\fDuH i֐fDHs LLǃHVHH$HǃǃwHVHǃ~H:HHǃSHǃ%ff.HATIUI SHt HMtH HHHHtuHǃHǃHtOHǃ1MHHHHtHHH5HHHtHHH5WHHH諭HHt/HHu?HHǃ[]A\fDLǃHtHHHH5 HHtHHH58ǃ1HǃC[]A\DfHtøff.Ht?HGpHt6HtfDH t!SH`x HCp[fD1[@1DATUSGHHoptMt[]A\HHtHuHC HHp*tŃ@HG HtuHUHHtmHzHtdH5aH8HuH,H{ HHIHwHǠHS !Mt H'LC/@HMHpHHHS !CHHH'HC HHHpHAVAUATUSH|HHCpLh@IHH1HCpHhHu/fDH3L譻LEHHm0HtdLH贳I1HHoE11LLHuLHgL_1H[]A\A]A^ÐIIL>H[]A\A]A^fATUSH耿HHtbH{pHo@tbH I1HHE11LHHt8H+HL>HH[]A\fDIfDL1H@HHGpHSH_xHHD؋Ctt]t81[@HcHHH5]H811[DH ttH{[5DH{PHt[1ff.fAUATUSHHL-'IHPAUHHHxHHHǀHH1H)PHHCdHǃHǃHk0HH91HAUHC(H HHC(H5HPpHS8HPxHppH5HS@HpxFHCHHCPHH5HSXHHHHHS`HHC0HCpHx HCxjH8HC0Hx SHHC0Hx H{(M1H¹HHC HShHkǀHǀǀ8CǀHǃHǃ0Hǃ8HH[]A\A]f.HH5HSHHHHSPH5HfH{(M111.HChHC DHfDHTH'HsH H5EH81H1H[]A\A]D1;H(H5LEH81H(H5,EH81HɟH-b'H{(UH1Uff.AT1UHSHt9HHI HHHH@ HtH[]A\D1H[]A\fDH舽Lc HI$tHtH'HH[]A\DHtH軦I$АLhfDHSHHGpHGxHHtȽHǃH{ HHHthDE~\~-fDHǠ111H{ HHHח'H{ HLJLJHC HpHtt0H@H{01HtCu[[k1[HhHC ¸ff.HUSHHHHt)HǃHHtHǃHHtHHǃHHt#HǃHHt״HǃH HtH8H,~*1HHHx@HHkHtHxHɞf1Hf1ff.fHttHOpHtkyueHQ`HGx1Ht~@H9~HuHtHWxf.HQXHt9 ݐ9tHR0Hu1ff.fATUSH dH%(HD$1HD$HtFHHt>HWpHHtzt71HL$dH3 %(H []A\fHt$H賸H5EIHH|$HEptVHX`Ht&DH{HtLoHHuH'LH|$HN1G@HXXHtH{LtHCHHtHxHt$H[0HufDHHEpuPL`XMI|$HtID$HHHxMd$0Mu1DH@`Huf.HHmHxuHExZH]xH'LH|$H,D$ D$ fLex ff.fHHu4Ht/AUATUSHH_pHt{t1H[]A\A]@fHIH5ߖHIuDH[XHtH{HltHCHHtHxLSujH[0Hu1fH5BHA+IEpLDHX`HuZHuHHFH{MuHt HtI]x HtHWpHt1ztHJ`HtHOxDHRXHtHWxDHtlHGpHtcxu HWxHtOJt/1t1DHR0HtHWxDHHuHPX1Hu+DHtHWpHt1ztHxtHGxff.HtRHWpHtIATUSHoxHt5Et$t7HE0HtHGx[]A\HEHu[1]A\LHMtII|$PHtID$XH9tHފ'LH}ID$PHHCx[]A\fHuHz@sHf.Ht9HwHtHvpHt'Hԓ@Hw Ht HvHu1ff.HtbHGpHtVHOxHHD1yuEWt:HQXHtHR0HuHQ`HtHHu@1øff.@HHWpHt*HGxHHDƒx@H 5HcH>1Dff.f.f.f.SHH¸tH{p耖 [f.G f f. f. f.f.HtHWpHt1ztHxuHzutHuߋ(Brff.HHGpHSH_xHHD؃{CHF4HcH>@HCHHt HxHH{[H=K3[ӕH=b=ĕH{t_H5HHHs[HH=2[铕H=2[郕H=2[sH=2[c1[@1DKH5BHHlHs[H_HtWHWpHtNHGxHHD‹Pt#wHxf.HxHuH=a<Ô1ff.fHtOHGpHtHHOxHHDȃyw5AH2HcH>fHqH髏1DHH51鈏HQHHH5;HQHHAHtHrHtHHHH5)1 HH51HH51HH50ȎH5:鯎ff.@Ht/HGpHt(HWxHHDЋBtw;HBfD1DHBHuHH5:?HtGHWpHt>HGxHHD‹Pt3w#HPHHtHRHtH陒f1DHxtH=:uDHtGHwpHt>HGxHHDƋPt3w#HpHHtHvHtHp1DHxtHH59IfHt7HWpHt.HGxHHD‹Pt#wHPHHt Hz鱑1DH=霑ff.HtGHWpHt>HGxHHD‹Pt3w#HPHHtHrH镌D1DHH5pHtHwpHt1金1ff.fUSHHtQHwpHtHH1NHHt6HHHHH'HH[]f1HH[]@Ht2Hpt(HWxHtR1D@1øff.@HtHGpHt9HWxHHD1ztDHzXu1Hz`f1ff.fHt4HWpHt)HGxHHD‹H1wHੜ1ff.fHtPHWpHtGHGxHHD‹Hw4H˜uu6tHx5DHPPHu1@HHP(HpHtHz@D1@ATUSHH_pHttHoxHHD1ۋMw_H੘ubtnHEHt xIHHtl臵I$HI$ھHHtrH[]A\f.H]PH[]A\@tH]H[]A\D1@d薟HI$Htb1HlpI$H)4 dR1I$H0YHx0HXPBH(藪H58+H81"@1HÐH"fHtHpHtIf1ff.fUSHHtIHHpHt=HHt0HH4HHH~'HH[]1HH[]ff.HtHfD1ff.fHfHtwHO Htn~3uU4tkA41u+t71u uǁf.f.ǁ1A41Dt>1f4tFǁ41Gfz1fǁ41f.HtOHW HtFtI~tRu5Bfu#u1fDfGff.HtHG HtH@8Ht@4Ð1ff.fHtHG HtH@8Ht@8Ð1ff.fHtHGxHtDHGp1ff.fHtGHGxHtFP t tfHrHP(@Ht@zufJrHR(Hu1DHGpHuff.H HwHGxHNHG H AWAVAUATUSHH/LopDghXLHuefDqv !HJPH9tHt H;H(H胾HCpHHHx0HS 9jXAtLpMtHtA~cI~0Xk"HC HxP; {HyCH[]A\A]A^A_Ð1t}HGpA @D@t|PvjHHHtkQHHOpGfw(HuHFHPHGpGvظf.IHH0HtHOpQHGf.HH(Ht/QЃ 6HOpHȃG\@GPIfALpMHw @HfLspCC@HPH+LrLspM*CE1E1ǃǀMI~0t{(uq{t]AFufIFHHtxHxH5&C艶H GH{HHspH |LspMtafAFsLspAFtlDKE|Ct HD,E~Cm{H[]A\A]A^A_HHt L9pKu,1;H[]A\A]A^A_Hx0AxuHxDCED@~ @r<Lp0CLsp(DEM~8MAAGrM9LLD LHLsp@HPHtHRHSpLspMpDG1fDHx0DsEt x@~@rt @Lp(LspMtAF ;t&H{ 1H5 *CLHCpǃMtJ@u@D(Eu4DEu(A}t!AEruLLHC1fAS+x!HHCpDE]HHM+5HHH GD@fAFH踕HLsp?(1{'M1@H9,{H8HspH<4uH'UfHS HzSM@fIGHt:IMM9vAGuIGHt xcM9QIG0HuDtCM93IG0HuM(AGu܋L{pH*AG@HHtL;xu\H1HcȉHtHt H HL8Ha@LspHP`L2Lsp(HCpAaxjHx{TH^HCpC(볃xI~P跌IvPH߉9\IP蛌IwPH߉IGHNA}HpL{pH,D@Eu*D(EuuM~ Mt AGr|CIw Hu/MHHt$Ht$HƼIw H#Frt@r2($CInLsp!HxLHIGLxLIFHxHxLH޾HCpH@LpLspM~zH1HcȉHtHt HHHHHCp@rHCpH5;H@HHxY1LLHuLsphHC HxDH Hǁrff.HW1SHGpHHtHH0t2HtHKpC[GHCpHH0HuH@(Ht x tXHHCpCnC[HGH@HtHGpG[fC1[DHtDHt=t*HGpHt)HP01HtHWpGD1Dff.fHtlHuXUSHH_pHt{uGt HCrtH[]@H9]pt"HڜtH[]fDSHĸDH)H UHH1SHHHH*HH0~\H8,9|-Hk'0HcHHHtH8,HcH,׍P,H[]Hl' ǃ0HH8Ht 0y著H)H5H81ӸoH(H5H81Ջ00dfDHt/HGHtDHG HtH@HtLJ1DATUSH_HHHD'EDHHt#HǃHHtHǃǃH!HHHtHH}H5vH>HHtHHH5zǃHǃCD[]A\f.[XfDHHt?HǃHHtt&HǃǃE1[D]A\fDӐAsDATUSHHHH8D'EHHtHǃHHtHǃHǃHt興HǃH腤HHiHs HHVpHHHHH5sHtHHHH5(HHtHHH5-HǃCD[]A\{fDHHtםHǃHHtt>HǃHE1ǃHt]HǃvDs{뻐A^HA#HHǃ<{Hǃ%HAHǃf.H12f1%DH1f1DHtHWpHtHGxHHDƒxHt9HwHtHvhHt'Htq@Hw Ht HvHu1ff.Ht)HGHt@Lf.HG Ht H@HuHtTHGPHtHHBHDHW8Hzt B4fHcG@~HWHHTHuøff.fHtFHwPHt1uHG8H@Ht HuHcW@~HGHHDHu1H@SHG HHHHLJL sHǁLaLLLH EHHHǃHHHt'H H5HʎHH19uHHHHϹH5ȻSHH1[遨HIb'HHc'HHe'HH_e'HHǃHǃHHǃHt11HHH1tHHu [H11L@SHG HHHHLL HǁLLLLH ŷHHHHǃHHt"11HTHHH5#sHHH11HH[H5 H`'HǁHHb'HH:d'HHc'HHǃHǃHHǃHt11H蓌HH1sHHu[@H11$HH1[RfHtUGtt:HW 1Ht tD1ff1øff.Ht HHHt HHff.fAWAVIAUATUSHHeDHIÍEHGLJDGHtH0CHt:Ls0CHH14H{(HmHC(H5"HPpHS8HPxHppH5qHS@HpxHCHHCPHH5eHSXH*HHHHS`HHCpHCxMHC0Hx ނH H{ HLy1cHHD$tH{ uHT$HIMLHT$聢HT$IFIHz LH{ LqClLs Mu1ȋH`H5 H81Ӹ^Ls HIH-H<H9t貍Ls IHH IAdžAdž8AdžAdžHtHǃ A4ǃH8ǃ(r,HcH$H8,H<HHus@tCH{ OMtL"iHt H{ HaMtHC Hh8Ht H}HC1H[]A\A]A^A_uHc,H8HH<DHH5¡HSHHHH59HSPHfǃHH5Y-hH@H]'HHC(HcDHǃ,1fDHHIL'H{ HH@VCHC0Hx nHvyHC0Hx H{(M1H5zIHC HHChd}HHHcfLlHEH{(M111yHChIHC w}ILs IHrHlHZfHtH HtfHUSHHH\'HPHHHxHHHǀHH1H)PHHC0ǃHChHCpHCxHkHC|HHH[]1@H(談H5$H81ff.ATAUHS HHtEH11H#H[]A\ff.AVEAUIATI1UStHt?LHHHHt9HELL1H…H[]A\A]A^fD1H[]A\A]A^fH舊fDHt?AUAATIUHSHH,vHELHH߉[]A\A]c1DAVAUATUSx`H1AIIHtHH@HHHHt=HELH1HH[]A\A]A^f.1H[]A\A]A^fL訉fDAWAVAUATUSHHtlH1EMHICIHtCHHpHHtHHELH1HQHH[]A\A]A^A_MtHA1fLfDHHUHSHHH0HtЈH{ Htr1HǃHC0HChHCpHCxHkHCt H[]HS HtHHtHH[]DxHH1[]øff.fHtXHtSAUAATIUHSH1HHHtHELHH[H]A\A]߂H[]A\A]Ãff.Ht]HHtUAUI1ATHEULSHH HtHEHHL[H]A\A]jH[]A\A]ÃfDHtGHtBAVIAUEATIUHHSHrEMLHH[]A\A]A^|Df.xaHt\AU1EATIUHSHH蒙Ht&ELHHH@HH[]A\A]闁H[]A\A]ÃAWAVAUATUSHD|$@HtXHtSIHHH1LHHMMHt"HELLHH[]A\A]A^A_HtLH[]A\A]A^A_GP~ySH_XHcЉGPHHHLHDHHOHCt;H{Ht HV'H{ HCHt HV'HC C[fHGHAVAAUIATUS;wP}kHcAH,HI]XHCt;H{Ht H+V'H{ HCHt HV'HC CAH(E9ePEuPEIEH[]A\A]A^Ht7USHHH-U'H?HEHtHEHH[]f.ff.@HUSHHOb@uKuWH5%HcH>H{0uKb@fKbH[]ɀfKbH1[]Hk0HtwH_uRHm@Huf{`tHk0fC`Ht:H"uHm@HuuvfKbH1[]Ð\fDu8Ho0Ht/HuBHm@HuCb@f%DfCbDH{P1H{fDuCb fCb̓fHt;Wb1u,wUH SHHHcH>f.u Sb1fSbH[]H0t׃uSbfSbH[]Ho0HtHOuHm@HuHo0HtH'uHm@HuiDgfDf.HtSSHHHtH{HtH{8Ht1;gH{0Ht1+gHR'H[HHgAVAUATUS?HHo(t{HtfL%@DLAQ1APQ1jjjAQAAPMjjjRLeHhHpfE111HAUDjATIUSHH-C`ftn91H[@Ht/t+PtHs0t'LH[@HuH[]A\A]@DLmfDfk`Hs0LNfS`|HsLCLE1H KH[]A\A]f1ff.fH鄌@HMAWAVMAUIATIUHH5USHHLD$ZIHHHH5}CL谇t\Lk1HLHru|HT$LHLKH߉1H[]A\A]A^A_fH5CLAt DH5BL!tlH誄H5BLt @1fDH$dH3%(H[]Hl$ILf1HF|$nHƄ$|_H|$HD$]^xHl$ILIHl$ILHl$ILl@H=( _H=^H=^Hl$IL @Hl$ILX@Hl$IL@Hl$ILY@Hl$IL@Hl$HIRL1HEXZ|$ALXH1DjfDHl$HIRLf.Hl$IL @Hl$IL@H=a]Hl$IL@Hl$IL@Hl$IL@Hl$HIRLHl$IL\@Hl$HIRLHl$ILY$@H=)\H=\Hl$IL @H=|\H=d\oHl$IL^@Hl$IL5|@Hl$HIRL$Hl$ILD@H=V[H=[QfHt+w!UHHSHHHcH>@HH={Hs0HHH [H=`]T{@H H=$7{Hs0H;HH [H=] {@H H=zHs0HHH [H=]z@H H=wzHs0HHH[H=[]|z@H H=_zHs0HcHH [H=s]4z@H H=zHKHtHpH1xzHH=ܑyHs0HHH [H=Q]y@H H=AyHs0HHH[H=%]ly@HH=OyHKHtHH1yHH=yHs0HHH[H=v]x@HH=5xHKHtH(H10yHH=xHs0HHH [H=]lx@H H=OxHs0HSHH [H=}]$x@HH=xHs0H HH[H=]w@cfHfHKH5H8HI1[]AH H=wH{tRHH=gwHKHtHH1wHKHH1wHsHH2Hs0H&HH [H=]vHH[H=;]v[eHeHCH5H8HI1[]AHH[H=]yvfHH [H=]QvHv0H[]T@H H=<'vHs0H+HH[H= ]uff.Ht3UHSHHHHH[@HuH[]DAVAUATUSHHHIHA,$Ew2HcH>H E@HY:'HzH81u1[]A\A]A^fDMd$0LE1MgLLH^Ņu)HMHLWMd$@MuLfDLHtfA|$`gLIl$0LfAT$`O\HHHǾB]H;HHtHHHm@HuHHHpeHOXH`kID$hBfDMd$0MiffDHH1kVHvHHcH>fDHH1#VIt$0HHHHE1HH HJHH11UHDLMt1IL$Ht'HLM1MD$9;LHAD$b@t fA|$`vLH;LtDMd$0M_LHŅLMd$@Mu;fDHH1 UIl$0IHHHtHHHm@HuHHL1THL1TH[]A\A]A^DIl$0H*HH7Hm@HuIl$0LH/HHHm@HupLIl$0LHtHHHm@HuHHL1T"IwLIl$0fAD$`YHHDHǾYH7HHtHHTHm@HuHHH%bH)hID$hH7H1QLLZH /H #H 9H  H YH H =H y$H bH 9H H 7H H H {$H {H ;8oH cLL1I|$hx8ID$hLYfHUSHHHt:IL A1уtpwIcL>fDM@0MuиH[]H1[]Ih0HtHH|uHm@HuH[]LhA@b@tfAx`uAqHǃHHL[]ÐATUSHHWpHIHt~HRHH6DHQ1'8HHH@0f@@ oMCH{0 oUSo] C[ HcU~=HtF9}'HcuH0'HHHtIEH{0CHcUHu0HSH[]A\fDHc}H0'{HHHC0HuH5?LqC1@H5LIAVAUIATIUSHdH%(H$1H?H^XHG1hHwHH[0HHuIUpHt~HRHL47fDH/'8IHH@0f@@ IF IF(MID$M&IFAFtFI~0HA9nAnID$XHtIV0@HH@0HHuAnH$dH3 %(LHİ[]A\A]A^f.IE0I^IfH0WnHH1@H-'HcHHIF0AnAnHHcIN0HH,H$HyHHHTHTH)H)HAn&fDMAFHH<H(.'IF0HfH5LE1O@ff.@t91 w,H&HsfHt< w Hr1Df.HBv_H#H9tjHP@HtXHЋJv7t3 wHH0HtHDHB8HR@HuHȋJw1H9tHP@HuH@8Huff.HHtHW@HP@HtH;~0t-H;~Ht7H;~PtHfDHW@HVPHW@HV0HW@HVHH'AVA AUE1ATIUHSH+f{`tHLfs`Hs0H[@Ht?PtHk8tFuyHtEPvBIH[@Hu[]A\A]A^<HtՋEwI uLHHIlDHs0Ht HL HsHHt HLHsPHt HLPwvHS0HHz@t:H!ЄEP@HL \HC@MiHB@HIU@fHC0H8@HsPH7H!ffHS0IHtAL$DucLuGHS0HKHLB@HLC0LHH@HCHMuNjP]DHLC0LMtIp@Huf.IIp@Ht3AT$DuHCuHF@I@@HCHHF@HsHIp@Hu͋\f.E[]A\A]A^IIEHU0H[0HC@Hff.@t#ttt u uf v1H&taf. vSWHGHDŽt@H&HsH@H vDH&H9tDu<HsHH wHrtHr vHDHHsf.PHH v HHsH݄iAWAVAUATE1USHHt,IIHIHk0HCHMt)Ht{tvHHuHD[]A\A]A^A_@Ht݃{uH{H5ftQHCHH5Hxft9HAS]HMfH{H5fH{Hg{]H{H5nfEHCHH5pHxgf)HShHtVHBHT$HtHH@Ht?HxH5P/fHT$t&Hz-f1LLHPDDHSLLL~DDDHCHH5HxeH5+HM=HnHHD$HT$LHeHT$uH'''H7HA[HLHT$IHtIFPv-Pv%w&AuH~PHttDHv0HuHff.HG HtWHW(Hu L@H8uH9u8uHH9uHG 1HG 1fHG 1HG(ff.fHtBSHH5HOdt[fHH51d1[fDff.fUHSHH>HH8uH)؍xHcH&'H v\@H&H  Ht( w-Hs'H wHruH[]HH&HsH wHryQH5HHD$HD$@AUATMUHSHH5HHbtHLH[]A\A]bH5FHbLHbueHH1IML1lHHtDMt?HL1bbH$'LHt H#'HH[]A\A]Mu@fMtL1HHtHH#'USHHH-p#'H0HEHtHEHH[]fHAUATIUSHHHtpHopHtQHcUMHE9|(D, HH!'IcHHtVHEHcUDmJML$H[]A\A]D(HHCpHuHL[]A\A]0HHH5[]A\A]_ff.@HGH>AVIAUIATIUSHcNHF9#1H9 H,HtI9HMI9 $uH}I9|$u͋uA9t$uAL$;MuH}(I9|$(uI|$ Hu H9t#`AL$~BIt$0H}0HH9HHHH;T~H9uLL%1[]A\A]A^f. HHc'HcHHtKIEIcUA]@f.JAML$и[]A\A]A^IEIcUH5LnAWAVAUATUSHHAIH|$H1E1E13Hv@ w HC0HI9trHC@HHËEtA uMD9$Ha'LuHcHHIIcAI\IDI9uHL[]A\A]A^A_f.I9tHC@HmH[8HuHlH M`H'XIHtQ bHDHY8HI@HuH|$H5UH^'LE15H|$H5b0E1Ht'HHH5a+$0HHfDf.Gcu~ATIUHSHF0HHH0u5Hx0Ht\H-HtOHC0H[XHu[]A\fDHwIE1H /[H]A\fDHsM[HE1]H :MA\fDIHwE1H UHHSHHHfObHE0Hx8[x H[]@HE0HsHx8-HtHPXHSXHXXH[]LCE1H MtHHJ1[]0E1H @AWALAVMAUMATUHSHDHHT$LHt{IċCDtiH{HHDl$1HtmC HI1AVA1AUATjjjAVAUjjjAW7H'LHHx[]A\A]A^A_D{DfH[]A\A]A^A_ÐHsf.AWE1AVE1AUATIUSHGP\DAEtfDHXH#ST9SPH'DD$ STHcH4HHCXHHcSPDD$ HHDHCHHtHS`Ht H2H9pSH{XHcCPHL4A.EMfMn AFHC`HHH@IVIFCPLsHH[]A\A]A^fDH1f. C8HCHIHHH5[]A\A]A^\@HDD$ @HCPHI'DD$ HHHCXtHcCPSTHCH9f.LH'LIF<'AFIF IFIF;(AUATIUHSHHHvHtHz WSHsID$HH >HHxVHCPH6oHXPHDm8DE8H"f.LHHBY9H[@HuHtE8u H=DDm81H[]A\A]HIHSHHE11ɾhH1[]A\A]HHSHuHCPHH[]A\A]fIL$HSHE1 D$ D$ H[]A\A]@HX0HDm8DE8Ht*LHH"tex!H[@HuHnDm8efDHDm8H[]A\A]Hu=fDE1Ht1DHf.IT$E11ɾH)1fHKIT$E1HD$ D$ Xf.E1HEP%1H蓿fDIT$4y@HA$&HaH5H81Ӹff.fSLO`AIIqHtH8IAHuyAA~7Iy0H7Hu^HHHHtHuH9u1ۉ[DЉEtIHVE1LHH[ûջEtHHIE1LHPf.HHGhHDE~S@BLXAZ1HD`Eu[HHH9t:HI AHtAHyu͋I9|EtΉIcHHH9uA9~u[@IcѾfDIӾ[HG`eDATIUHSHdH%(H$x1H$HHEDŽ$ tF tAO:>H> H8HH5[11A<$HEHHHDHD$@HEHt 8 HD$xHT$0LHStH}PHtLtf.A$t ID$HiHHDHD$@HHD$xID$H8HD$xHT$0HHtI|$PHHfH$xdH3 %(HĀ[]A\H}0G>1f.HHD$HT$xfDhHD$(!#HtsATIUSHt?H?Ht6H6Ht.LHu4@HH3Ht$H}u[]A\f[]A\fDHH}tI4$fHt t tfDFb uWDuAWAVAUATE1USHHFHHtH@@AHuHF0Htf.H@@AHuH'HIc$HIHc$HHM}HMtAA.fLHM@JDIcIMt UDt1Mu0LIfLHMv@IIM4EDt1L%'HL$HH$I$L4DH}HtI$HI9uHfAMb H[]A\A]A^A_H7'HHHH5[]A\A]A^A_DAWAVE1AUATUSHXHAHI@AAD‰D$ Ѓ ED‰D$AMA@oI}0AU`fƒf5Mm@At$At+AAADAMxHXD[]A\A]A^A_ A:O~tB@-IuE1E1BH H41@@@t#IuE1E1GH EHDfDIuE1E14H jHI}0sA} IuHIELHߺMAH HLE|AU`f8Iu0AMHfAU`PfAU`@AAt't"At E1&ADA DE1AGt6@@@@ r@@@@@Eu I}Iu0AMH߃1K@@Iu0AMH߃Ɖ>fLH%@K@@IuHAM1HEEIu0AM1H+IuMEE1ɺH H߉D$诿D$fD@>@ @RIu0AMH߃CE1E1H #HߺMF@@@Iu0AMHߋT$ ^fI}PiE1E1I}IuCH q H̾;IuE1E1-H H袾@IuE1E1@H HzDIuE1E1?H HRDIuE1E1>H H*kDIuE1E16H bH9DIuE1E1+H HڽDIuE1E1FH H貽QDIuE1E13H bH芽D@@Iu0AMHߋT$LH߉D$ID$IuE1E17H H"@IuE1E1HH ,IuE1E1H y,HܼIuE1E1.H H貼DIuMEE1ɺH YH艼@IuE1E12H HbDIuE1E19H rH:DIuE1E1EH HDIE8Ht 8EIu0H3@Iu0HIuE1E1CH H螻-IuE1E10H 3H{@tIuE1E1AH HRAMuIuE1E11H kH+IuE1E18H HIuE1E11H ]HIu0HIuE1E1HH vH覺AMH H艺AIuE1E1/H H[IuE1E15H XH8IuE1E1;H HAEb  CDD$0LnD$IE0HtH@@D$HuHc|$H'T$HT$HHD$D$$HD$IE0HH|$Dt$HLl$8Dt$$Iʼnl$@Hl$H|$(Dd$4!L`AMm@HD$(MCD]H1LH|$(HHtHHuE1HrLHRH6Ht :1Ht6uI$HtItAcH|$Hًl$LDl$0H\$8HD$D|$(H'Hu1HuH[]ÐH1[]AWAVAUATUSHHHT$dH%(HD$81HX~IIHE1<H5`HI?yH'LHmXHt0H}H5cIHuE^HmXAHuIuLIHALDHE@HL{0H[XHtLHC0HtHx@tHpL蠺Ht+HS0HP0HuIG0HL{0H[XHu@M}0EuWI|$hVEL$`H\$ HLt AAAD$`1I|$hLH<HD$8dH3%(2HH[]A\A]A^A_DH54L=tet81ufIuLD$E1LH гSIuLD$E1LH z訳IuLD$MLH Z耳CIH'AE1NIuE1IغH L: 4ID$hHIuE1E1H oLDUHHSHHIILJHxI~@LLHHD$)IHPE1MH LL胝H&HD$LEM^LH LHD$OHD$LEMLH ?L'In(H}L-Hm(H}LH0HtLHH5RIfH&LXLl$LE1MH ЭL蓜LILJE1IH yL)LYHTHH"1HCHH5HxxfHi&HHAWIHAVIAUIATULSHHHLD$HH&8IHH@0fH@@ M|$LHI$HD$ID$H=&Mt$ Ml$ID$(Il$0xa1H[]A\A]A^A_fDf.H(cHH5IH81ոH5 1݌H()HH5?H81I<$H&HtLbAWAVAUATUSHHFDD$4^HG0Hm1H@@HuHcHHV&HIHHHD$HH3&M~0HM%D$E1Lt$[LH@SDLuID$hLHIFM@AUHH&HMAտIHEHKD1A?M<$D$sID$M1Mt IHGHD$8HL$HHIF(D$t$fANb|$4|$4u HD$8@HH[]A\A]A^A_fT$ Lt$ HD$8HuL|$8D$ fIGAGAAG6H\$IGHD$ADl$0AHHD$(@HD$D|$$JlLED9|$  JD$0HL$(LD)IDL$-@HH}HpH}HL9HHtHp^uIvH|$E1E1H 躍H5HEEH-&Ld$1HUfDIHtHxHt HUIHHUHA9H|$HH[]A\A]A^A_H5H~Dl$ IvH|$E1E1H IHtHHuE1I@Hl$8LfDHHAHtAtouHpHPLH}HtvHt:u\1% uHHHuL$$9L$ HD$8HL$Dl$4T$HHIF(I>H}L1H5 fHt:u&1H5 HHzPDEmfH5~ HHHH5C[]A\A]A^A_1 HD$8HtKH\$8f1HCCC4 HL$HCHKI^(HD$8@H5ʌH裊H&H1ff.fHtBSHH5ZHt[fHH5#B1[‰fDff.fAWH AVAUIATUHSHHW`Lb A}AEHcH>@Iu L4|IuHIu HHIMLHHHOMFHLL%|&LAA$HA$EfH}`跮E1HD[]A\A]A^A_I]0Ht*HHAƅuH[@HuHU`Lb MtA<$tDu81DE8f.L9b(t>I9t9I]0HuH[@HHHxtHE`L` UPDu8=1HE1~.I]0Dm8DE8HHH#AƅHE`H[@L` HuDm8AHq@MA$< w+H&HsIf.A$< #E1AAufI]0HcHHxH[@HuBfHJLLHAƅ&H}`ʬDLM}0Lj(pHHH& H@t kHHuHM`HHA(;uH9uH9t H:tHQ MH9t4LHAƅHM`M@HQ MMHA(H9uHA fMm0ME111ҾHA9'@MA<$ ]8Iu0H؃E8]8HE`L` EPfI]0HHHu;H[@HufD{HA#HcH5H81AqfDHHpHHt5H ffDHVH@ BH8Ht#E1H9Q(tE11ɾHAfH9&HHE`L` Lh(IE(HELP M8HxHE`HMMEHIMIU 0A^_ vHU`HB LH I@IHDDm8MP9H=HH(E111ҾHAMt:H-<&LUHdHUYfMNLHLHH7H&H&HHH& IuHE11ɾHAxfAWAVAUATUSHdH%(HD$1H$HLj(IMIEHIHrHHRHII}Ht :1HЉÅdtrIVAHLóH4$HtIE0HtI}HL$dH3 %(DH[]A\A]A^A_fDHHЉyA1HLXfDI^HHu;uDHSHK IIvI}L $1H[@څHt(t$;u7IE(HuH[@1HufDtf.Iv01HID$`LLx Lp(Hh H@(ID$`Lx Lp(IvHE11LsH4$HtIE0HtI}лff.HG`PAWAVAUATIUHSHH~P/m1HuPHE`H9XPHP0L,L4MtIvI|$W tI|$IFHHt?uHt Hp2 tI~@IvHU`Md$0HHB LzHZ HLrH$1HB(Mu)Md$@MtLHKtHU`Hz HH_&D$ HU`D$ H $LzHJ ulHJ0J)jH[]A\A]A^A_fE1~?fHP0JN4MtLLH{t@HE`ID9hʸH[]A\A]A^A_fDHfHII~@IvHU`Md$0IHB LzLj LLrH$1Mu+f.Md$@MtLHtHU`Hz HtHH3&D$ HU`D$ H $LzHJ H=~IHtH5{L {AG AGPI^0Ew8$DAG8H%1Dt$5H@ IW`H HLwH[@Mg`H, LL+HLIAŅtIw`LjLL-AAGLAEu"MW`MtIrI8D $講D $IBD$PAG8@AG~-E1f.HFLHJI蹘IwhD96LHmIGh$H,$HcD$IULH4KH,$InhIF`AED$NfMD$JLlHDt$EHLLNIohIG`Ew8$A9GP4$LdAHl$@HAIHMIG`LLLHHAuuIG`H@DH&D $LAGD $]IGhHMo`EwLLA$AG8HD$IG`HtHs0HDL$$HL$DL$HA$tLTwIGhE1Ew8HCHHHPH肷HrHD1H5,]H`HuHsHH5 ]LDd$@MIE1ID$(1ɾ'LH\$0HPDL$@ HC(E11ɾHPsHD$0E1HL`Iv0HLDL$ DL$I`HStE11ɾL蓕IGhAH6D EE1EIGhID9(H@1LJIG`ךuIwhEE1HVH\$E1LMEJ4HHshHVJID9&HC(E11ɾHPPHC(E11ɾHP9LL觌A_8A9oPLoYAGoHFLHIG`[IGhOD$wHEHLHIG`[I`IhDH*HYH5jH81Iw`L݅IG`EIohD$ AG8HL![IwhHtL[IGhff.AWAVAUATUSHHIHHE1E1AfHm@AHt } uHLHm@EEHuEu$Qf.HLExQH[@Ht/; tI|$`uI|$huE111ҾLAٌHD[]A\A]A^A_t AAE1HAVAUATUHSHLǁHK}HHrFA|$H}hHnHH5oH2HHZLHuHHuHLk`HC`HHZAƅHC`HbHChHDc81HChH9(H@1HHHC`H@uE1Hsh~%1HFHH4HDHsh9.HXHChESDc8@>#t1HHIqHB&H81KDtǃ[]A\A]A^ÐCD%ǃHDE111ҾH褊C8uH&@H&HHpH810H@Hu'Hs`H;tnLk`[]A\A]A^ǃ@IT$E11ɾǃHf.ǃDc8C8uHTfC8H߉C8EA(Dff.HtSHHt^:t9HHoH&H81CDuCD%[fHHet扃[f>#tHHIoH9&HHoH81AUATUHSHHtHE1AHHxAH[@Ht(H}`uH}huE111ҾHA耈HD[]A\A]ft EfDHA[D]A\A]E11ɾ%AHY3뱐HUHSHHHt|PH}HtH}0HtDH8RHHuH}8HtHxHHuH}HHt?E@~1fDHu)H~@u >u;H~@t4Hv0HuH@H߹![H]A\A]A^DHpf.1HSAWAVAUATUSH(dH%(HD$1HH~HIHH~t ~IE1H nH޺[L1?THL$dH3 %(HH([]A\A]A^A_ÿ IE8ID$0Hx8H/E1E1H \kJHLS@1@H5tH{HH{O{EH5-GH{HH{"{H5BH{HH{{H5H{HH{{H5nRH{HH{{H5LRH{HH{n{dH5_f>H{HH{A{7H5M9aH{HH{{ H5= H{HH{{H5QH{HH{{H5 zH{HH{{H5H{HH{`{VH5X H{HH{3{)H5P++ H{HH{{H5P6 H{HH{{H5TP H{HH{{H5T H{HH{{uH5Ow? H{HH{R{HH5JHCHH57XHx.HkHY HL. HHzH@0Ht)Hx@t"HLVHtHU0HP0HE0HLUHHU0HP@HE0DH{HCHH5WHx|HLHrHCHH5UWHxLHLYUHH LkID$XHE8M Et$@HLLDAD$@cHZ Mm0MM Et$@HCHH5VHxHLTHHH{E1E1H PH޺LN{f.HCHH5UVHxL_HLYTHHH{-E1E1H .PH޺ULON f.HCHH5UHxHLSHH5HsHtfLAHE0HCHH5UHx|HLSHHHsHufDLCE1ɺHH iOLzM6DHCHH5UHx HLSHHeHsH,HCHH5THxHLRHHHsHB1L HE0HCHH5eTHx\PHLiRHHHsHufHCHH5THx -HLRHHe H5HxHEHK HCmH}1u H{tE1E1H MH޺OLKMl$0I}8HHuH>wID$0HuHx84H; HPXHUXHhXKf.HCHH5%SHxjH5H襬IH Hql1L=HH$HG HLPHH| H=&LhH$HEHrH HPHE(H: HuHx҃L $LEWHH bLJL{MJHD$L-fIL H<$H5RHL PIHtHH5LlIFHL跰H|$IF  HD$Lt$Lp@M0MlHCHH5uQHxlHLyOHHH5HE1ժIHHj1L'HIH LmH=&LLuģIHHE(H@H HuI}Aǃt%LEMWHH aLHHCHPw Hx0E1E1H aH޺TLH\HCHH5=PHx4HLANHHHsHxDHCHH5OHxHLHfHCHH5OHxLkhMHLMHH IEHI}tIH H5%UHL=UHHHߒ&A\$@LL AD$@IE A\$@HtMHXHtDHCH{8IEt5IT$0Ht+E1Hz8H{8LH5XtcAIEH[(Hv{lLH.HtHH5STLH$cH $H&HA\$@LL AD$@IE A\$@HHXHHCH{8IExIT$0HjAHCHH5MHxHLKHH=H{E1E1H _H޺LEfHCHH5MHx|Il$0Ml$8LHsIl$8Ht Il$0Ml$8HHhIHCHH5%MHxIl$8HHLKHHg H5HzHEH HEfH}1TH{tE1E1H IGH޺(LDMl$8I}8HHuHH7pID$8HuHx8-HLEE1H ^$HL1tD0L$E1ɺ"HH \LJDM0Mu@M0MILufDE1E1H vFH޺LCLuHLt$LL5Ht2Jw(Hˆ ~veI}0fE1E1H ZH޺LvCDE1E1H EH޺#LTC@IH5}BMGE1ɺLH [LCE1E1H KEH޺&LBE1MH }ZH޺XLBE1E1H DH޺NLBLEE1ɺ%HH \LBLEE1ɺLHH YLmBhE1E1H XH޺LKB IE8ID$8Hx8HZE1E1H YH<$H5aZfH}H5ADŽ$=H=|IGH$H=A2HE jE1MH ZH޺XLA(H&H<$L1HL5GIHI_E1HE0HuZIE@IH[0HtfHLHtMuIF0IL$E1ɺ\HH XL@HE(QE1E1H ALL@M0MyE1E1H sZH޺'L@OL$E1ɺHH `XLp@E1E1H }BH޺VL1L@H=G軙IE1MH WH޺\LE1@HE(&E1MH WH޺LE1?H艦HE HqMAMMvMmHL$HuI}IHD$HAуLMLE HH XLe?!HmE1HIH >UHE0Hh8E1E1H UH޺L?t譛H}H5ZH5mLL豬E1E1H UH޺L>E1H `>HLJ>\M$E1H1H >Lw>3HD$H%HEHE1E1H WH޺`L>> H$ۿH$HB8ID$0Hx8E1E1H vU1JL=fAWAVAUIATUSHHCHHM}HCXHE8MHLH¤Ht M0MPHCPHCPE1L%9H$fDLHHHt-Hh8wIcL>DHEHHB@HUH@M0MuH$HCPHH[]A\A]A^A_DE1E1H sXLHtuIV@I)fHU0I@E1E1H VLH#HtWH{E1E1H ;H޺HHD$8HD$E1E1H ;HQ8E1E1H ;;1R8fAWAVAUATIUSHHH1A3fE1H THL V8DH[0HH{HLCt˃{uH5LH{HLCt{uH56L6H{HLCw{mH5lQL~u:LCQE1E1H :1 7H[]A\A]A^A_fHCHH55?Hx,tHChHHx"IHHxH5;IvHvLHsfHLDi@HCHH5>HxHsH>LOtlfHCHH5e>Hx\H5hHIHHW1L7HL4LLs.fDE1E1H 1LLK.Ht*@t @t 1øS&t 1ۉ[ 莯Hw&HtdL K/LT/H 1H1H5YH=FӛE1E1H 6THRH5XH=15講[&YHH5JH81ӻZfHՏ&tH=&H5"&HUSHH}H&w&HHHtlHxHHHǀH1H)HHH肢HHCHHHH[]fD1@H5/1+ATUSH~{Htv&AHHHtoHxHHHǀH1H)HHDΡHHCbHHH[]A\@1H[]A\fDH5(/1*USHH}ӏHHtkHu&HHteHxHHHǀH1H)HHǃ象HHHH[]Ð1HH[]@1H5v.B*H HATL%*v&USHHHtA$HHt%H{hHt1蔊H{pHtH/$HHuH{xHtH/0HHuHHtA$HHtA$HHt,~1HH@HCpLeHǃHE0HCxHCpHE8HCxE@HHEHHǃuEH[]A\DHHE111֧HHH=y辁H=yH諁H1H-HHHEHPHV0HpHH^E1E1H E1H'*HL*+LHAH 'HLEv'H~HHǃ[]A\H1覡LHǃS~fD1H12~Hǃ}fHEHpH~HǃO@LE11HH zD)&&E1E1H D1)H&HtHwHWHGHHt&HtHGHHtHGH1Ht HHøff.HtHwHGHGHff.@HHUHH SHH=V)HHEHHH(HCPH1bHmHHH=,)輬Hٺ,H=C裬E wt"HٺH=CqHٺH=UXH}H H=(4HuHX0Hٺ H=(HHٺ [H=(]HٺH=b(׫afH޿ cHmHHH[H=']闫H#H=TBoHٺ H='Ohf.H=B*DHٺH='fHt7Ht:HvHt 锰@H H='ǪH#H=A韪ff.@HAH8UHSHHHHtRHEHHuHǃHHPHt H[]HC(HH@HH@HHxhHthHH5ўHtbHH HSDHtHUHE11ɾ&D$ FRD$ H[]H1SIE111Ҿ"H R+ff.HtrSHHHtZHtUtA< w*H&HsfHt < w HrHH5B x[fD[ÐHE11ɾ'HV%VQ[ff.@ATUSHtpHttHto~uHHcЉHH L!HtUHDHH11LRt>L^v[]A\[]A\@E1HLJE11H4 H߾jPUSHHtqHtgHtbHr(HH:HtNHhHH߽HC`CD;t7Hs`HGHC`H[]f.H[]f{DfUHSHHi&HHHxHHHǀH1H)HHk(2HHCƕHHCHHCPHHCXHtEC@HChHCpHǃCDHH[]ÐH5"1HCUSHHHwhHt1*HspHt6~)1fHFHH1tHtHHtwsHHUHEHH[]H-h&Y@ff.@HtHwHWHHGHtHwHGHGHff.@Ht&HtHGHHtHGH1Ht HHøff.AWAVAUATUSHdH%(HD$x1HIHHG(HHs0HHhGDH1g6HuHHC`I贺LK`MI}IqH{8@HLH߽+DHC`HJ{@H1 HrHLHHCHD$@HD$HCHD$HH$!HChH+L{8E1AL@H@LN Iq?HHLθDDIiCHChD90ALK`M{@CD1@AD$ƒt u]u ID$hID$HuC@HP0Ht-HЃxuHPH@hHuI9tHP0HuH@(Hut\HL$xdH3 %( HĈ[]A\A]A^A_@LH}BHC`'HChHfD띐tE111Ҿ#HGJLK`MH1 HrHLHHCHD$@HD$HCHD$HH$0AD$ƒt gDE111Ҿ"Ivf.@~.FHt@HDAA ADA1H9uA:D DAAA1~-AHLHDAA ADA1H9uC 1ЉHcHtxHH ~QHcT7HW HWHWHWHWHWHWHWHWHfDwH G7HcH>1ff.fMcI ~Hc Hȹ )D~lH: w`H5 7Hc H>J HJHJHJHJHJHJHJHJHHfHkL ! iL6AOcM>ADFDID)AHHc Hȃ 1w HwHwHwHwHwHwHwHwH7Hf.z k T ff.AVAAUIATIUSHHLCHCL)H911LCHCL)H9HCHH9HBHHuHHt H9H,HҸHEB,H9HBH+`&H}0HHt]L@(HhH@ L@HD((DHCI$HI$HLL$HkIHEHCEHC [L]A\A]A^E1p~(FHL@HЉ ‰1H9u҉ 1ЉfAWAVAUATUSH(HHHGH_HD$HIH/_&IHILIGHL1HwIoHLt$ID$ILMf.IvH1IHIIGLxH^&Ht$ HIWI~Ht$LHxA~HpH2xH0@HI M9EFEtMOHiAW0AvI~IxHZ7AoI Ao^XIWLHHrM9|L5^&LEMu>fIp1HIHIGHЋHttHIpILMMM(MWHuAW0ApIxIH1҉HIIGHHЋHuAoLAoHHIWHBHrAMMkH L9H|$AD$H([]A\A]A^A_@D$KHHƃHIfDcHHƃH11E11D$L5n]&rD$mHD$D$IGWfD1fSyt&t[|H\t&HtHǻ蒐1H=4t&.t&inH=*t&t&[ff.@s&St1H=s&5H=s&nH=s&蛂[;fs&uÐHH=s&qs&HÐUSHts&H-Z&@UHHH@8H@@UHC HCHC(Ht?HxHHǀHH)1H?C0HH[]fHy[&H1HH[]+;ݐr&SHt.Ht2H=r&͎H={r&>1[f.ۑuɸ[UHSHNzHHtHuHH[]E0Hk(HC0HH[]@HcAUATUSHH=q&u WH=q&H=q&xH{(HtHSHH{sE1L%Z&IL9kvVCtOLHHЋHtH8kHtf.H/A$kHHuHSIL9kwHA$H{ HtH/A$HHuI$HH[]A\A]fDH=p&H[]A\A]fH[]A\A]DL%IY&L%8Y&{H+H"AWAVAAUIATUSH8Ht$9IE8H A? IEAU0HD$H=&EmH|$D1ALHt$HHT$HT$IUJH*H1EHEHHHtHHL9buD9ruHJHt$LHHL$ sHL$ t]HEHHHuL9eD9uHMHt$DHHL$ sHL$ uvDH91H8H[]A\A]A^A_HhAIE8HfDH|$DSIăHHD$HT$IUJ11M}(MH|$MGI_L1MIHIWBL:M7DHD$(IHLHtYIL9ZuD9ruHJHt$L\$ HT$(HHL$zrHL$L\$ IHLHufM9_u E9wjHT$DIu8I} HHHHD$H:U& HL$HqHHDpH@L`HEAEHFIEH= 6H4@LHL$HdHL$fAW0H|$DHIÃHDItwEAW0H|$D1ALIHQHD$IEHHDpH@L`1HD$E1LMHIOHt$DHHL$pHL$p)1H1E1H1I6fDAWAVAUATUSHHHHIAՅIG8HA?MwAW0IE+DH1ALIHIWJDHD$LLHBM]I9uD9juHjHT$HL$HoL$uDH9V@1HH[]A\A]A^A_@H dAIG8H"fDDH]HIăHIWJGIo(HtLEIIL1IHHHMEAuWHH)HAHt1I9uD9iuLyLHLnuLI9 D9iLaDHL{nIDI97D9j-HjHDHKnfDU0DH:ILHItEt$U0DHtA@1E11E1@HcHHWHAWAVAUATIHUSHH8HT$Ht$8bHI-bHH$ID$8HtDH9H9A??H $D)9M\$Ft)ED$0DHT$4$H|$IIL1I\$IHT$HHӋS1H;tOMHHH;t3L9{uD9suHSHt$H|$wu@HHH;uML9KuKD9suEHSHt$LL$ H|$vLL$ t$LCfE1H8L[]A\A]A^A_11M\$(MMT$M{IILH1IHISBIׅH:trLH\$ EHLL$I@M?HI?t3I9_uE9guIWHt$H|$vtMG:LHLL$H\$ EII9OMT$L1IHT$D$M|$ EO\MdMGIGL)I911f.MGIGL)L9IGM?H9HBHMuID$8Ht H9HHHH?H9HM&LT$(Ht$ L $IH6Ht$ L@(L $H@ L@LT$(HpHD0(IGID$ IM|$ Ht$LLLL$(L$LT$ pLT$ MWLIBHt$IGA:IzpMoL$IELL$(IGAEIG HH M&LD$ L $L $LD$HiL@DpH@LHHAD$H?ID$H= .H4@LL$H(L$IKI8EC04$DLL$ HT$H|$LT$LT$LL$ HfDL|$IM|$MGEwIAGMO6fL9sJ4H~0HcVE9w6IWHt$LL$H|$rMT$LL$ E1LfEC04$DLL$ HT$H|$LT$LT$LL$ HH4HH>@HHt?u;HG Ht@HP(H9rH9psHHuH(Hu1Døff.HtHW(GHt BøÐHtHG8Hw8fD1DHtHW 1Ht@HBHHu1Df.DHtHGHtxL1ff.fHtHGHtHxPf1ff.fHtHGHtHxXf1ff.fff.ff.SHLHuiH1Ht t]APA1QRjjjAPE1QHjjjVHHdH`ǃ[u[DHAPA11QR1jjjAPE1Q1jjjV1dH`[ff.HtLuAHHAHAP1PR1jjjAPE1P1jjjV1'dHhfufDHtLuAHHAHAP1PR1jjjAPE1P1jjjV1cHhfufDATUSHtcHO8HHtGHIHt>HHHЉHHHIhHMt HH&LH[]A\H1ff.HtH.ZfD1DHUSHHt0st)HsHt=H~PH9q!HC(HtHsHt H~pHCHHtJK@~CHHt;HxPHt2HkHtH}ptu+H[]ÐUHEptHkHtՋuˉH[]fDHFpHC(lHC(HEKff.HUSHHHoPHtOhuRǃt,Ct%HsHtH~PtHHW!HH[]L@HG8HHP H+PHc@4HVH.HF !yUSH8dH%(HD$(1Ht/OhHHoPtHunǃu"H2LHD$(dH3%(umH8[]CtHsHtH~PtHHV!f.HG8HH,$HP H+PHc@4HT$HD$ JxgWHtGUSHH>#Ht%GHH{PH_Ht$H[]D XHfDHH[]jf.SHLJHH1Ht tcHHjHPAE1VjjjjP1jjjjH_H`ǃǃǃL[fHHjE11PA11V1jjjjP1jjjj_H`[fDHUSHHW4t;HoHDž4HH[]H PHHCH41H{(Ht6RHEpC0EL8HkHuH[]fHEpfD11HHCH1HHH5u[]fHC8H)HxHkHHCHfDHHurGAWAVAUIATUSHH8Ht$HL$dH%(HD$(1G4HPHD$ IMC4t MHSPHsHMǃHL$cIt ǃMMED{4Hl$ EH{PHtrHH{HRHHyH{PLXMtJ@IHt2IwL]t"IGHH}H9Hp?M0MuH{PH1LQHHcDSE4DK4E>M#Mt HA&LH|$ Ht HnA&HD$(dH3%(yH8[]A\A]A^A_fHt$HT$ dIHU8bH|$ H5[E1HL$H#HgL@&H|$ ILT$Ht LT$IHD$ LH|$NI@H}xH{P8@MtH{L?gHEHE HtHh(DC4EsHsHH~PKLE1E11ɺLH迁HHsPH{HHD$HT$EOLD$HI|L?&LLT$ALT$HSPHsLMHLT$BLT$L!A@SPHEHxHx0H|$H5L`P[}LVxHsHHL8HCHH5aH|$ H>BfDYfDH|$H|$LIIH{LOHEHHP0Hh(HtHHP0Hh(HuHE H}IL*HHoDCEu ǃLH=&LNfDA<$xA|$mA|$lA|$nA|$sA|${Lu2E1E11ɺLH9HH&}JH{P1H^[IHt=t4{t.HsHt%H~PtHSPHL$HI_B!L<&LT$LAMLT$t LALT$I9]HARfDHL$ HMH!H{P}m}l}n}s}{Lu2E1E11ɺLH~HHI}Z~H{PLHZL;&H|$ ILT$AMLT${HsHH~PHSPHL$MMH@LT$!fDHjHxHSPMHL {!HSPHsML.;&HsPH{HI`#HsPH{H_iHsHHLJNE1LHH߾E1LH H߾%}HvCIHt/H8t LD_MLH\H߾dqMLHH߾cU$HH57H:&LMLHBIHtlH8t>L4DKHH5 kH9&H|$ LMuBHHtHHtH{HH5dZ1HH.HHH{HH5 1AWAVAUATUSHdH%(HD$x1HGIH;HGHH+DHLgPEt HxXpHT$8LHX\H{11HHD$^HD$HH{HGHMLDǃt"HC8Ht@4HL$=OfApHt$HJUBMtA|$Ht$LDrs4HCHxPHHD$8Ht$HH$BuD$IHnHD$@Ld$ MIfDHCMwXxL6MuUL@H5juHCINhIVIvpHxPQL9HyMvHMI~XtI~hHuI~H5 uuuDHt.HuHUHt!Hf1HHHuHUHu勓t H|$8Ht H6&HD$xdH3%(HĈ[]A\A]A^A_DH|$8Ht H6&H5 H.@cPJfDH@PHt/HxH|HxPqHxXfHx`[E11H H߾^gǃ0I~hIvhI~2LGIHOH&H}HL}IIHLstM9!M;nH5&LMvHM |$u*HCH$Ht$HxXrD$IHgLd$ HT$8HHuHEHHLmH'fIuIEIHkHb>xu݀~mu׀~luр~nuˀ~suHHHL$8IVXH $LHHxXMLd$(MvHMI~XtHCINhIVIvpHxXNL9uHCINhIVIvpHxPeNHuI~hHBH5H?pIvH3pIMH~H}HqLeII|$HVLqtH3&L)fHH{Ht$DHuMtH{HT$8LDHT$8HHHPHt:uHxt H|$H6H C4HuHUHHHu01HHuHUHHH>xuӀ~mù~luǀ~nu~sufH5HLd$ =HxXM&H|$1tPHL$8E1HHRH$TH$H fHt$KtH\$HfH{WH|$8H HHsHMP~!HsH-I!ǃtCLd$(MwXfHCH$Ht$HxXnIH$D$cMFpLHHSuI~G?I?H5)HLd$(MwX<=Bff.fAVAUIATAUHSH@HHC0<H@H{H1HHHCpH)xH8McCD5A\AU wjH&HsZA;T<HLPMTILIG0HHH)HP1`IIGXHAGHSHCPIwHIW@8IG(pHPXMwHu{fDHHB0HuH-&Lz0IW8eCD[4ELH)A}bHHIGIG Ht IW@Lx(HP@DS4EDEDCEHCHHxP{HH$/I9v$}&HEulfHx&\I9uA}HSPHsILH<$ l!DHD$HdH3%(HX[]A\A]A^A_DuϋSPuIGHtxuHx0uHhPL9HsPH{LPHsHLH5`HLH)z@8H{P1Lt]`;IM)H5H\HuIGH338IfDL 9IGHCPHPXHLxXH0+&a9H8R9L}H{H.IGHIO@HP0HH@Lx(HtHf.IG yLHH)y/HSPHsLIHH$i!L $MH-!*&LUHLE1ɹHH)E1jH7YI^HkH(Hl$2LLHHD$;LL$HIHSPHsMHǃH<$LL$JLL$It ǃM9,I9#H-B)&LL$LULL$Mt LUMHSPHsMLH<$LL$hLL$!H-(&HsPH{LMHsHLH8|A>iA~dA~HaE1HH2H߾LHH)r-HSPHsLH<$IHD$gLL$!H-(&U9DAWAVAUATUSHH$HT$HL$D$($D$,H$HD$0HHGPIIDLHD$ H|$iH|$]A8.IHt$LGM@HtIM2A8I1L1S.IMHHLH5[]A\A]A^A_f.At@Au6IIwHXEIwH4>AA!HH[]A\A]A^A_fDHGHxXH@PHt,HxHHxPHxXHx`E11H8L ALJM@MI|$LID$0A<HH)I@1xI$ID$pHIGAD$ID$@A8Mt$H&&D(EEEtIG8Ht@4=OfAD$pH|$ aEE1HHDHD$IHD$8@IH|$t L9l$uID$HEO4IEuMEEtAAt9IwHt0H~Pt)HL$H|$8IILA*A!f.HH;\$t5L+Hk1LHBHtMcID$`\fALJLLjAzHD$ HtxLH|$ a^L$,tT$()AE‰D$(H|$t I|$HNt$(D$(H\$0HHl(&HKLC HHLH(H9HsH;HtH{uA8t'HICHoHsH;fD11w5IHtHKLC HL1:Hc#&LwfHt$11L/5M@HMI|$LID$0A<HH)I@1xI$ID$pHIGAD$ID$@A8 HH #&IT$D(E61H8'1LDE8IEu H011GI.fD1L1GI@H<HKLC 1HL4fDIL;LVHHL[]A\A]A^A_ZGf.IHT$Ht$ m2ID$HHH|$H5X_ID$HHjH\$1LH?HFHE1HtmHLn+ALJhAG[LC/ID$HUIHT$L1ID$Hd1HLLf.HHGPH AVAUIATUSL` HMt1A9L$H4*H[]A\A]A^ftKH*H9HSPHBHB HP(HR@HP@[]A\A]A^f+fH&I9D$t_LHHSHP@H{PH9HCPHxW[]A\A]A^f.tID$PIL$XH9N9H5HHcH5)94/~ 69|E9 ?D4 IcHH &HDHcID$PHcHL@ID$PHc(7fLL,ugHCPHxI|$P69H5KH[]A\A]A^HHy$u`ID$PH5HH5AH,ID$XID$PtI|$P+ID$P`ffHtHGHtvAVAUIATIUHSHHb@IHtZC4u &HGXHc &HG`Hh &HGhH &H &HH`&HHHH &HHN &HH &HH &HH1fH &HGpHGxHH &HLJHLJf.f.Ht t@USHH5&8uHǃH[]@H &HH[]H%HH8fH6(Hv &HGHLJHHy&HGHG(Hv &HGHGXH &HG HG`H &HLJHGhH2&HG0HGpH &HG@HGxHl &HGHHH&HG8HH &HGPHLJHH &LJHH &HHi &HH&HHff.HHHOUSHQBHtAUIATUSHHHxHH1IHPuiH]ŅxoH;H57x\H;L7xKH;H57x6H;HS05xAD$H[]A\A]Ð1@吸f.AWAVAUATUSH8dH%(HD$(1HIH:HHIHH=pIHtH5H5HH5IH}L|$Ll$H}Ht$HD$ g HHD$t5L5V%LAHD$LHx/trfDMtSH%IHL8LIFHH}H}LIF L5%HtHH5ӹH4HLH4HHILA۸IHL$(dH3 %(uMH8[]A\A]A^A_HHHE%LHHw] ff.fATIUHSx)LH,xH x []A\fAWAVAUATE1USHH@H{usH{2H.HHtrHxH}IH{ILLH,H-L%LAULUEx8H{E tHD[]A\A]A^A_fDH{GZfH{AHCATUSH HHcHt6H-IHt&@tt[]A\1H_%HHH{H@ CuH;H53x[]A\@H(xHXŅuH;H5_3^SŅuAD$ZH;H5130H5FqH[HHH>AUATIUSHHHHtsH{,IHtc@1uLHbH;H5i2SŅAE f.1H%IHLIEHAEH{LK CuTH;H551x-IuH;1xH[]A\A]ftH[]A\A]@H8@H Ņ@H;H5i1HH@HH*H%LW@f.AWAVAUATUSHH H:HIHI1HtHH5H/HH/HHH#L=9%HAAEMtoH%HHtkH= MtH5H1HL$dH3 %(H([]G0D$ 1FD$f.H;Ht$C,Ht$ŅxsHt$D$>FDD$ 1F [F1fD$D$ 1F uDD$ 1F ]~ff.AUATUSHHHIHt~AՅxwHHtYH!%HHfŅxHCu)H;LDK)x/H[]A\A]f.C 1@̐HHH5tff.fUHHSHHHHH[]5DUSHHHt>HHHHt+HHpHH%H[]ffHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$H$HD$HD$ D$0HD$)HL$dH3 %(uHKff.HHATUHSHHwHt2H"Ht%@t]txItpMu'[1]A\@HHÅ۸I[]A\HLI9tHk%L@HHsHH1Hx [[1]A\@H16 I끐f.ATIUHS=x)LH< xH>x []A\fUHSHHtHHt6H.HHt&HHHH_%H[]@fHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1HtQHtLH$H$HD$HD$ D$0HD$HL$dH3 %(uHfD@AWAVAUATUSH8dH%(HD$(1HtIHHtALcEx9A̅x2HHHt1HIHt$HHD$yfDD$SLL3MtHtHD$!E1L4$1HD$HD$$L-^EHD$fD1D$#fD$!A9 HT$C1HH)ڃLHc؃@A9ĈLH@uT$!0?ADD$$D$"@<@ HcATT$%T$#@@ HADD$&D$'=uD$&=AG~$H<$HE"AE1HT$H<$#"AAA9f.EwD$DHL$(dH3 %(u4H8[]A\A]A^A_Ð?ADD$'^fDC OgAWAVAUATUSHHtIHtDx@xAUIH5FATUSHLHb:H{Ht4H$IHt$x@HHcH>fD1H%IHLI$HAD$H{L2H;H5I4$H;xyH[]A\A]@1H~xZH;H5xEAD$ODHHLDHŅyffDHyH [HۼH=HHHy%Lf.f.USHH}HHHt\HTHtO@wTH;H5 2eŅx?CtH;H5Ix%H{H[]Ð1H[]DfATIUHSMt0MtLHtHt []A\ATUSHtCHHHHIHt*HHHlLH %[]A\fHHL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$H$HD$HD$ D$0HD$HT$dH3%(uHH!ATUSHHHt6HVIHt&A|$waAD$HHcH>1H%HHH{H@uH;H53xV[]A\1Hx>H;H5Ax)AD$HHDHŅyHѹH|rff.USHHtQHHHt@HHt3xu-H;H5K.ŅxH{H[]fDH[]fATIUHSt0MtLHtH't []A\USHHHt>HHHHt+HHHH%H[]ffHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$H$HD$HD$ D$0HD$HL$dH3 %(uH{ff.AWAVAUATUSHHH>HHIIIHtHHH%HHLHEHuEH{HFH;H53vŅH;LM_MKH;(H˹AEH;H5|D$L{0H;L|D$xH;LEAŅbH;LJJSH;H50D$ L$  ADd$Dd$EAAH;LH;LAH;LAAlH[]A\A]A^A_HҧAMtNjCH;H\x`H;H5x'xKDlL{03DH3D$ L$ HHfD:fDHvHH߽H-HpH%HHH߽Aff.HH>AUIATUSHHHHHt%H IHt+@ttH[]A\A]fD1H?%IHLdI$HAD$ H{LCu;H;H5y'lxH;L[uH[]A\A]fDHR@H;H5JŅ1SuAD$4f.H;H5?HγHHHHA%Lff.USHHtqHHHt`H( HtS@ wHH;H59Ņx3CtH;H5{xH{H[]DfHtFATIUHS Ãt)LHtHt []A\ff.fATUSHtCHHHHIHt*HHHLH%[]A\fHHL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$H$HD$HD$ D$0HD$}HT$dH3%(uH`HH>AUIATUSHHHHt%H IHt+@ttH[]A\A]fD1H%IHLI$HAD$ H{LCu;H;H5# xH;L uH[]A\A]fDHR@H;H5Y Ņ1SuAD$4f.H;H5! H>HH%HH%Lff.USHHtqHHHt`HhHtS@ wHH;H5όy Ņx3CtH;H5] xH{.H[]DfHtFATIUHSÃt)LHtHt []A\ff.fATUSHtCHHHHIHt*HHHLH0%[]A\fHHL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$H$HD$HD$ D$0HD$mHT$dH3%(uHHH:AVAUAATIUSHHHt:HJHHt*@tt[]A\A]A^E1H%HHLHEHAH{HEKCtHxAH;H5 qAH;Eu#L VD[]A\A]A^H5 /AH;@H;H5q Aƅ SuEH;H5A AH-HHHH%HAf.USHHt0HHHtHHt@tct tH[]1H;H5ՈxŋCtH;H5cxH{4H[]H;HS0WŅyff.@AUATUSHHH1L%ɭDH{/HHH@ IcL>@H;H5H;H5AŋCtExqH;H5ЛDoAH{CExND^fDH8AHAH8AHAH[]A\A]ff.ATMUHS-t0MtLHtHt []A\AVAUATUSHtOHHLLIIIHt0HILLHLH%[]A\A]A^fHLL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$I$(HD$HD$ D$0HD$HT$dH3%(uHjf.HtN:tIHtDATIUHSÃt'LH,tHt[]A\ÐDAUATUSHHtMHHLIJIHt2HHLBLHv%H[]A\A]fHLD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1H$I$ HD$HD$ D$0HD$bHT$dH3%(uHDAWAVAUATUSHHHHIIIHtHH@ t;t-HNH脾H[]A\A]A^A_MIMMpH}H5UÅL}0H}LVH}L H}L%H}H5Lu0H}LH}LxzH}LxcMH}H5׺xDH}Lnx2Mu1H}H5{GÅBDHOH|H5i誼aHvHѼff.@HL t\tMuSAVMAUMATIUHSbÃt;LLLHx&H,t[]A\A]A^@ffHD$II uMt2tMu)@tMuIM uHofHCH:>1AWAVIAUIATIUSHHHHH}IHtPy<C1tHH;H5aH;LL|H;MH5o*ZLs0H;L,<H;L'H;L H;MtfH5Lk0H;LH;LH;LH;H5YH[]A\A]A^A_MtH5c/xcH;VH;H5BŅxCCuAGH;H5?xŋCAGEH[]A\A]A^A_@f.HtH?Htf.1øATUSHHE1H-FH{HtAH Ht4xwߋ@HcTH>HxPH{AHHuCuH;H5Kx%AHD[]A\fDHy[]A\f.HyfHyfH(lH5GfDHtxw1G fDf.HtGHtBUHSHHH(Ht H%HHHC(H[]fDf.Ht@'t@"u @w01@f.HtDw?t~LFx-1 @B9HcI4f9>wf9~sJJ9~1ËFt>LFx1 @B9ލHcI49>w9~s Jf.wD߃AwÐ@v( f.H5%@1w wH&Hf.w$ ƒ Ѓ =v# =v1@f.w1ÐH5a%@w01 H5a%@w1H5%t@1v/=Qv0t!01fDf1w HS%8@ATAUHSHGHHt:w~39NHH%HcHHtQHC c)H@HH7% HCHcHHD Hh1[]A\Ãff.fAVEAUAATIUHSGHw H9|$H%HcHHHt2HCCc PSHcHHD7HoLgDo[]A\A]A^øAVAUATUSoLg ~BE,$EDUML$I@ML MIHAxrL9uGAAH9+LHH4H4%IHt^HC kcHcE4CPHSElC[]A\A]A^fDJ A0A []A\A]A^M1DHH%ATIUH@SHHt_fH(@@ @0L`HhHt/H;tAHK1HHyup8HX0[]A\fD@8[1]A\Ð1@1DATL%%USM A$HHt)fHcH@A$HCHtCk H[]A\H%H1H%fvGG G0 @AUIATIUSHHw$DG(HG0D9|)EHH^%McK4@HHt2HC0s$c(HcHHЉ(L`Lh1s$H[]A\A]øHt;USHHHH-%HtUH;HtHEHH[]ff.@AWAVAUATUSHHHt$HT$HHHD$8H ƒE1!AD$ DAA=fDC(H3StjҸDD؃SHHtED81Ht$L$HH LA}$AAE1D9DD$$MAL$Ll$0E?AV u&AT$~It$u9}]HHID$Mf8IF0Sf.Eu,ED|$$ufD11LHMLl$0LIF0Av$~ 8 AV(9.HHƗ%HcH4RHHIF0Av$Af(DFEHcHHHTLILRHHLQLR(LJ LILQDRLJ(DIDQDJAE)AE9|HH<$HH@H@Av$/H%H<$AE"T$ 8HD$H!HfH{8Ht HC8H[Hu@AEAT$EAT$HRALHAAE1A}$A~AA9jEaAL$@11LAdD\$<D\$}HD$DHD$EG$HE1HD$E9}/IcIw0H@HL,A}AUIcL>H|$Ht HZ%HL$(dH3 %(H8[]A\A]A^A_{&HCHH HpHt I}HNEG$fACI}MHCƒ fH[(H{uHsI}8utHCHHHpHtI}HttA}H|$AvHF@Cƒ t+t&H[(HtI}H Hs8H|$HD$EG$D$HHHD0HX"fD{uI}HtHs8utHCHI}HHHpwf.Cƒt ZI}OHSHuAHR0H3zuHrI}8uH$eH$t{H|$HMM1t@{f{H[(C fDLlAAEiI}@CHCHHHpH3I}HI}H%MM*DI}%sHfH|$HDEG$I}˟ff.AWAVAUATUSHHLg8HE1ML5+%I.IEHE HmI]C(HtjLe8M}0AHHtmf @@ AHC HtAL{CLcC,MuE HmI݉C(HuHL[]A\A]A^A_fH%HLE1ɰE1ff.Ht$fH8tHHuf.1ff.fHte1HW8HtZDBE~3HRuBApH HHf H uH9uHD9ALHuøff.Ht'NafHW8HtR9}tHHuøf.1ff.fHt'fH8t)G %uHHuDf.f.&#GxfsHG+HH=yvHHcH>DAE@uۺ;HfPDADfACf.ABf.AAf.A9f.A8f.A7f.A6wA5gA4WA3GA27A1'AFA0HGHG1HD8HG;HfPff.AWIAVIAUIATIUHSHHLcLc IIL9swL9srE<<<>tV<&P_P< ^LH)H~&H HH@LH)H|L)L)1AAmH[]A\A]A^A_fDLH)H~<HHAHH1LH)H~&HHC; D>HHDLH)H \<\<LH)H<uH? Ɓ !ЍV!ЄE1H nt1Hy1L)L)AAmf.<E1sH0AAHcH|D<&dAVIuDL9tLHH)HD$dH3%(H([]A\A]A^A_f.L9tLHH)轎H5iH詎IvAFI0L9tLHH)}H5hL9tLHH)UH5hL9tLHH)-H5qk@L9tLHH)H5\hC@L9tLHH)ݍH59h@L9tLHH)赍H5h@yHt H}piL9tLHH)uA<<AvA? ƁA ƒtFwPLSLHIcLI=vʍ =v=vE1H fLy蟅A6LLH裌IvH}L誋H{葔HsH}蒋H}H5e}H[0Ht&CuHKPIt$@LH}觐H[0HuH[]A\A]HUSHHo(H8HH[HôHCHHt%HpHtH艶H@:H蕴HsHiH8eHuH} HHHH[]OvfH[]fff.@HAWAVAUIATL%McU1SIHHHHG8L(VD$IcL>H|$(Hl$8H|$0tHD$HtuHxHtlH5YuHD$H5nHx@ H|$HdRHD$Ht$(Hx H|$HS)H|$ mH|$aH|$ HcHL$Ht$ Hy 8H|$HҲHE(HtHM@H9H(mH}D$HEHHzHx|$H4LqHL]HEHHt%HpHtL#H7L/HuLHM4LL9{8HE0HHm(H}u͋C4~C4胬t {8HL蟱HEHHt%HpHtLeH7LqHuLEH3LQL9@D$E1C8L96HH[]A\A]A^A_fDHRGL HE0HPHDC|HS1HH!HEH$H}PHSLHuPL̯HgLحI HI H足I HUHL衠@Hl$HH@H}(HHHHuHHl$8C|9C4HSfDH}H|HEHtH@PHt 8H}aH}Ht蛖HuH}@ޗHEHHh(H}HH}H5Mu-t Hl$(H}HH}H5yLHl$ HEHH5HxޮZHl$[H&.L{8H}~WHC4C4蹫HuFH|$H|$ H|$HL\肫HL$Ht$Hy HHLLIMDS<]tgHuLMIIM9HHLL$HzL LL$LLH[L]u{>HS]yH,L質{8H5R]LzHsHLeHh[Lq{8H@LSH}H5{HE(H5[Hx_HEHH\$HH[0HH{H54賬tH5[H@HtH5RHHD$臋HT$H#n%H뜃}HxH5TZRcHfLaHt,WBHHH@0HuH]?LHmU7H=?L貣?s4C|HS<9ƍ~LLŨLk LHL$HwLD$LL$虨LHLH)L腨HvYLqCLL$LLD$HL$C8IpH}H\$uD$fDHR*L{8tOH5ZLߩHsHt!LΩHXLڧHvdLH=L諧fts4C|HS<9ƍ~LL}jHD$H5)Hx3HD$H5HxHD$H5˗HxHD$H5HxܩHD$H5Hx迩HD$H5.Hx袩bHD$H5Hx腩EH!k%H\$HH5Vt$HVWL^QH}H5H5rH5uH}H5:ԨuH}H5XeH5觨?LH5莨&3H5Mu H5\H}H5iDH}H5,H5fDAWIAVAUATUSHH(HLnpLgHo(HD$HHD$C}Cƒ IWH]HSpMAW0 t5@u5 0Lkp1H([]A\A]A^A_f0ucM:LHmMu H}AG0LHH評1ItLkpH([]A\A]A^A_D@uLrMM AW0L$AAAA;LsMu<%DAFvH9H裣Mv0MAG4LLEu@LspMMD1LHH谔H{IHL5`H}D$H}(@ƃ@ @t$HI9I9ILJfD|$Io(H聩H}}H}(_mHD$HEHE(IHD$I1Lkp@H}(I(LLkpDHHHHshHH} nMt HHHաH} LnCLtrtMHFH詡AW0HHHphHxpgDIE@H|RH\f.HKRH;HL\IGHHt%HpHtL"H%L.IwL{8HB"L@M9u2fDM0MJA~In(t8MM9I{8uAGvH5L裟뱐C4~C4Nt {8HLjIFHHt%HpHtL0H$LIAQ]u1H:.@C|9C4HSdf.E11fA1rfE1d@AVAUATUSHdH%(H$1HLnpHHA1MtL%\HHH1IHH\$1HH1EHLd$8D$HLl$(UHHL$@ LH$dH3%(uQHİ[]A\A]A^f.HD$HTR%E1H}pHEpHt$Pfdc@1uDATUSHdH%(H$1HtdHIHt`H1HHHHT$Hl$(lHLL$0 H~H$dH3 %(uHĠ[]A\øy~bff.fATUSHdH%(H$1HHIHtzF uoH1HH1HHT$D$8Hl$(HLL$0 0H}H$dH3 %(u+HĠ[]A\fH}ɸaDAVAUATUSHdH%(H$1HIHIAHLtYHHUHLHqIHH1HH1EHLl$(D$8Ld$HHL$0 (L|H$dH3 %(uLHĠ[]A\A]A^DH^pIHLUH`q‰EHQfD`ff.1酀D1s11cUHSHHM%HHfHuuHCHtH]HHH[]HN%H1HH4=E1UA11P111jjjUjjjjh$iH`HH[]HH<E11HLPA1R11jjjjP1jjjjhH`QfUHSHHHu{HtvHHbHE 1HuH[]fHHu<1E1SA11P11jjjSjjjjh$7hH`@H!<1E11PA11j1jjjjjjjh$gHPcDUSHHtH-:M%HH?UHU1H[]H;E111PA11j1jjjjjjjh%}gHPfSHteHHZzuH[\DHHHz;1AE111PR1jjjP1jjjjh% gH`[H%;E111PA11j1jjjjjjjh%fHP[ÐHGHtPtHǃu HG0Ht&PHǃttfD tHW0HuH(Hu1DHff.SHdH%(H$1HtNHtIG uBu`LNMt5H1HL`:DNHUL%HH0"aH$dH3%(u8H[fDuHSvyH9H5 H81B\fAWAVAUATUHSH8dH%(H$(1HHu9HHt1GIIωƒtNVuNAuHH$(dH3%(H8[]A\A]A^A_VtȨ01DuHzHHD$uH$HIFH<H J%HD$A~ H=A9XILl$@AT1t$LL$LL&9LXZCjH{h1HHSPMtM1A~H IHAAUQjjATt$0AWL$HQ1jjP1cH`H\$LH$HH9EHfsHCt,H7H5 H81d@H=!8WI@LhMHH%E1Lt$ ML|$(MHD$Hl$Dt{Mv0MAFPwIvPLƄIMtLc~HAT wH&HsD %HcIH AI~HzI~H5uLUA~WI~HLI~H56'4IFHH5T8Hx uIFHH5d8HxH5L\eH{ HHD$0;qHs HI,vIċ3FIt$ L艃ILiLlHD$H|$0DH&HHATDMLt$ Hl$L|$(MID$Hl0H1L'`fD~H5)H͂IT$HHRHHHr谂IT$M9 I@H9G%LH0\HEH$HsXtIFHH56HxLuIFHH56Hx4H5[sLcIHzHL$Hs LHA@HNHEHHt8wOhHl$HD$LHEHHHpH L讁H5uH蟁HuH蓁ILAL$H5HLHEZDoA$H(T$<pT$GH|$xH|$uff.Gz]u[#f{t-E1ELLHHFHD[]A\A]A^fDEf.HG Ht8tfe{AuEfHGH{qDweE[ff.HHOHUHSHHfHs1HH{uSHHt;H{H'qHulHmH5.3H81H[]H1[]lHKmH5$3H81H[]1ff.HtdUHSHH DHHt@Hs11HztGlHlH52H81H[]DH1[]1@HHIHtIG8HwxLWpHjAAPQH1jjjjAPMjjjRL[HhDE111ff.@HHHMAWALAVAUIATIUHSLHH@LL$~jIHH?%0Htw@ IL$ HXH\$DxLhLp HX(HHu!ID$ H[]A\A]A^A_f.HHHuHH[]A\A]A^A_1DE8L/1LHD$JHD$E1IH P1LH`1ff.Ht;AUATIUH-'DSHH{t&H[0HuH[]A\A]f.H{HtH{H}{uH{HtH{H5T.}tHCHH5/Hx}uHCHH5/Hxp}jH5H\IHtnI|$@HhHt{HdH>%L(fDHCHH5U/Hx }HCHH5a/Hx|&E1E1H 0H޺LE1MH 0H޺LHD$HD$YHsAWAVAUIATUSHHHt AE=I}XH>%HtMeHMfDIl$ M4$HtEf.H}L}HtH} HtccH}(HHtHHLMuI|$HtI|$(HtZSI|$0HtIl$8Ht.@H}L}HtH}HtbHLMuLMM=Im@Ht&@H}LeHHtHHLMuI}(iHHL[]A\A]A^A_HfDff.@HtgUSHHHHtCt>H{@HtvH{XH-u<%HtUH{04iHEHH[]D HH{@Huff.@USHHH:%HHHHx H@HǀH)1H*[HHC0H&EHCh1HCbHC@HtBǀPHH[]fD1@L I11ҾE@L)-11ҾEH1RfATUSHt{~wH9%AHHHtkHxHHHǀH1H)HHk Dc((Z1HC0aHC@HtID$jMD$E1ɺLH &LH<$E1$@RIFHH5 %HxrMD$E1ɺLH &LDL$E@M4H2%HcHHAT$PID$XAd$THcH H2%AD$T HID$XHAD$PCH{Lt$IMMu"H{HtH5K#LqLCE1H I'HLH[0Ht`H-#H[0HtG{uHCHHtHxHLquHCHH5#Hx4qtCLCZ@MMLt$A<MD$E1ɺLH &LL$H<$E>L7cHCHH5"HxpH5HPHH MgHMH1%HD$(H5 HD$(H@IT$@HhHHu c@HHHuHD$(HHkL%Z"HuHm0H}uHEHHtHxLouHEHH5A"HxotD$H\$Lt$ IA~MFu"I~HtH5j!LoMFE1H %LLMv0MtaH!fDMv0MtIA~uIFHHtHxH3otIFHH5!HxoXMv0Mut$H\$Lt$ uuE1E1H !H޺LVMD$E1ɺLH "LTHCHH5!HxnHt H40%HAF<H{H*H{H5ZnHCHH5 Hx>nuHCHH5 Hx&nHKHHt!I(H9HIG0H/%H[0HH- H[0H{uHCHHtHxHm`HCHH5HxmtCH4$E1E1H z#LL11Ҿ9AD$811ҾL7,n9DD$EH<$w:MD$E1ɺ1H LE1E1E1H 1LE1[IFHH5HxluIFHH5HxlH5LKIH08yMoHMIOXIw0Hn[HHH,%@HHfHh(@@LpL`H@0HH@8IEHHu UHHHuHHD$(HCH@HuHHPHuHXInL%HuzHm0Hj}uHEHHtHxLXkuHEHH5Hx@ktE1}LEE1H q HLAHm0Ht]L%AHm0HtD}uHEHHtHxLjuHEHH5-Hxj{Hm0HuED$(H}HbH5L~j5}LE=H}H2H5JLNj}LE H}HH5-Lju:LEH$E1E1H LE1HHU7HEHH5HxiuHEHH5%HxitH5HAIIHA8HuL\HtFMHHILHAH*%L0HEHH5vHx-iuHEHH5HxiH5!/H~HHD$0HgHD$08)H5 .HSHIH8I@H"THHD$8ZRHL$8HT$0LHHHK8HPHHC8H#*%[HEHH5HxXhuHEHH5Hx@hH5bHAGIH8tfHuLHEMHHILHID$@E1E1H 1LQLE1E1H HH:)%LoH5-HFMgHHMHE1E1H IHLcAG81HھL^3~E1E1H LLEE1E1H LLHs(%LHxH5%fD$rHD$(HXI]HAG81LL!2E1MH LLnE1E1H LLLuE1MH HL*SE1E1H H E1E1H HLLE1E1H \HHE'%H|$0E1E1H MHLHtHwhHGXHG`HWPff.Ht7SHH Ht`H{HtSH&%H[Hff.@AUATIpUSHHQ%%IHHx H@HH@h)Hp1HAE1Me MA]HIE HAD$P~UID$XHHtHHpHt?1'ID$XHTHt H4HHtI} 3(A9l$PHL[]A\A]Li,11Ҿ10L`11Ҿ0LE1zCH+HGHHxHH AWAVIAUATIUSHGHocIHAT$ID$t @HXHHuf.HH|H{(L8uHs8I|$ LLHk t 5DLC(HLLLHmHuHs8I|$ ttH[]A\A]A^A_@LIHttID$FH@@HD$Ht\Ht$LLPHD$HXHtfH{(HD7t?H[HuHHHuHD$HHD$HuAD$H[]A\A]A^A_L{ Hs8HLI|$ Mt!LD$LHLLM?MuHs8I|$ tpMHNH+H5H81AD$fATAUHSHHhHt{dt H"%HChDcdHtvAtlH{;3HI03I|H!%HChHtQHsH)LchL3HIĸ: fA$AD$H{h[]A\[fDHkh[]A\HCdHCh[]A\ÐAU1IATAUHSHH D9s7DA}Ht)=…ޅu)AE<H[]A\A]DH1[]A\A]&8%aLHff.AUATIUSHL-u %AUHHH HChLHCCp1HxAUHCHLH0(k1]H{hHC8HC`HDHC@HHCPHt{dt H %HChCdHCHǃǃ(HH[]A\A]fD1L1QʼnCMH-z %H{UH1UHH[]A\A]DHQ %H1HH[]A\A]ff.SHHWHw dH%(HD$1HHL$D$t+D$HHC HCx1H|$dH3<%(uH[ËT$H0f.(H SHHHGdHWxu:w1Ht$dH34%( H []A\f.GuH-^%UHC C<UH{ HC(HHC1H{xHCxCHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃHǃ2Hǃ`CpHǃhHǃpǃ(Hǃ u.H pHMqMiCpfHHuICd4CTfHSxHHHJHKx:@aHHHHCxHHHHCxH#HQHHHHCxAT$HEwARH aHH1@{ds<&K<HHHp3HHt H HSxHHHHSxHHHCxHHHHCxHHjHHCxHHHHCxHHHHCxH@BHHHPHCxHHHHKxD HHBHSxHHJHKxDDbfH-%H{(UH{ UCH=H`HtH-j%HUH{ HtUH-O%HHHCd@HHH}CdHHEH,CdZCd8jHXH@H'Cd+1H (HH HHHH(HD9tVHHCdHHHCdEHf.fHt&Wp~WP1t~ 1Dff.USHtaH %HHtIAH HǾH1QH?HHH %HH[]fD1HH[]@AWAVAUATUSH(dH%(HD$1HGdHAԅO`Io8HD$E1HD$Ck8zA9Hs0LAFAl$ALM.L{0)k8L{A)uDHL$dH3 %(H([]A\A]A^A_ÐLwXo8G`Mft)L9D)Dk8HC0HCI)u׋SISO-8859-1&#%d;&#x%X;"%gtaposquot0123456789ABCDEF'EntityRef: expecting ';'DOCTYPE improperly terminatedEndTag: '' not allowed in contentSYSTEM or PUBLIC, the URI is missingPUBLIC, the Public Identifier is missingComment must not contain '--' (double-hyphen)'>' required to close NOTATION declaration'(' required to start ATTLIST enumerationNmToken expected in ATTLIST enumeration')' required to finish ATTLIST enumerationMixedContentDecl : '|' or ')*' expectedMixedContentDecl : '#PCDATA' expectedContentDecl : Name or '(' expectedContentDecl : ',' '|' or ')' expectedPEReference: forbidden within markup decl in internal subsetXML conditional section '[' expectedContent error in the external subsetconditional section INCLUDE or IGNORE keyword expectedXML conditional section not closedText declaration '' expectedexternal parsed entities cannot be standaloneString not closed expecting " or 'String not started expecting ' or "standalone accepts only 'yes' or 'no'Extra content at the end of the documentextra content at the end of well balanced chunkMalformed declaration expecting versionCharRef: invalid hexadecimal valueCharRef: invalid decimal valuehttp://www.w3.org/XML/1998/namespaceInternal error: xmlParseGetLasts Excessive depth in document: %d use XML_PARSE_HUGE option Unfinished entity outside the DTDxmlParseCharRef: character reference out of bounds xmlParseCharRef: invalid xmlChar value %d xmlParseStringCharRef: character reference out of bounds xmlParseStringCharRef: invalid xmlChar value %d String decoding Entity Reference: %.30s xmlParseStringEntityRef: no name Entity reference to unparsed entity %s Attribute references external entity '%s' '<' in entity '%s' is not allowed in attributes values Attempt to reference the parameter entity '%s' predefined entity has no content String decoding PE Reference: %.30s xmlParseStringPEReference: no name %%%s; is not a parameter entity xmlLoadEntityContent parameter errorReading %s entity content input xmlLoadEntityContent input errorxmlLoadEntityContent: invalid char value %d not validating will not read content for PE entity %s Name %s is not XML Namespace compliant unexpected change of input bufferFailed to parse QName '%s:%s:' EntityValue: '%c' forbidden except for entities references comment doesn't start and stop in the same entity Double hyphen within comment: 'Invalid char in processing instruction 0x%X htmlParseEndTag: ' tag htmlParseStartTag: misplaced tag htmlParseStartTag: misplaced tag Misplaced DOCTYPE declaration htmlParseElement: context error htmlParseDocument: context error htmlInitParserCtxt: out of memory htmlParseChunk: context error HPP: internal error, state == CDATA HPP: internal error, state == DTD HPP: internal error, state == COMMENT HPP: internal error, state == PI HPP: internal error, state == ENTITY_DECL HPP: internal error, state == ENTITY_VALUE HPP: internal error, state == ATTRIBUTE_VALUE HPP: internal error, state == XML_PARSER_SYSTEM_LITERAL HPP: internal error, state == XML_PARSER_IGNORE HPP: internal error, state == XML_PARSER_LITERAL quotation mark = APL quote, U+0022 ISOnumgreater-than sign, U+003E ISOnumno-break space = non-breaking space, U+00A0 ISOnuminverted exclamation mark, U+00A1 ISOnumyen sign = yuan sign, U+00A5 ISOnumbroken bar = broken vertical bar, U+00A6 ISOnumdiaeresis = spacing diaeresis, U+00A8 ISOdiafeminine ordinal indicator, U+00AA ISOnumleft-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnumsoft hyphen = discretionary hyphen, U+00AD ISOnumregistered sign = registered trade mark sign, U+00AE ISOnummacron = spacing macron = overline = APL overbar, U+00AF ISOdiaplus-minus sign = plus-or-minus sign, U+00B1 ISOnumsuperscript two = superscript digit two = squared, U+00B2 ISOnumsuperscript three = superscript digit three = cubed, U+00B3 ISOnumacute accent = spacing acute, U+00B4 ISOdiapilcrow sign = paragraph sign, U+00B6 ISOnummiddle dot = Georgian comma Greek middle dot, U+00B7 ISOnumcedilla = spacing cedilla, U+00B8 ISOdiasuperscript one = superscript digit one, U+00B9 ISOnummasculine ordinal indicator, U+00BA ISOnumright-pointing double angle quotation mark right pointing guillemet, U+00BB ISOnumvulgar fraction one quarter = fraction one quarter, U+00BC ISOnumvulgar fraction one half = fraction one half, U+00BD ISOnumvulgar fraction three quarters = fraction three quarters, U+00BE ISOnuminverted question mark = turned question mark, U+00BF ISOnumlatin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1latin capital letter A with acute, U+00C1 ISOlat1latin capital letter A with circumflex, U+00C2 ISOlat1latin capital letter A with tilde, U+00C3 ISOlat1latin capital letter A with diaeresis, U+00C4 ISOlat1latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1latin capital letter C with cedilla, U+00C7 ISOlat1latin capital letter E with grave, U+00C8 ISOlat1latin capital letter E with acute, U+00C9 ISOlat1latin capital letter E with circumflex, U+00CA ISOlat1latin capital letter E with diaeresis, U+00CB ISOlat1latin capital letter I with grave, U+00CC ISOlat1latin capital letter I with acute, U+00CD ISOlat1latin capital letter I with circumflex, U+00CE ISOlat1latin capital letter I with diaeresis, U+00CF ISOlat1latin capital letter ETH, U+00D0 ISOlat1latin capital letter N with tilde, U+00D1 ISOlat1latin capital letter O with grave, U+00D2 ISOlat1latin capital letter O with acute, U+00D3 ISOlat1latin capital letter O with circumflex, U+00D4 ISOlat1latin capital letter O with tilde, U+00D5 ISOlat1latin capital letter O with diaeresis, U+00D6 ISOlat1multiplication sign, U+00D7 ISOnumlatin capital letter O with stroke latin capital letter O slash, U+00D8 ISOlat1latin capital letter U with grave, U+00D9 ISOlat1latin capital letter U with acute, U+00DA ISOlat1latin capital letter U with circumflex, U+00DB ISOlat1latin capital letter U with diaeresis, U+00DC ISOlat1latin capital letter Y with acute, U+00DD ISOlat1latin capital letter THORN, U+00DE ISOlat1latin small letter sharp s = ess-zed, U+00DF ISOlat1latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1latin small letter a with acute, U+00E1 ISOlat1latin small letter a with circumflex, U+00E2 ISOlat1latin small letter a with tilde, U+00E3 ISOlat1latin small letter a with diaeresis, U+00E4 ISOlat1latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1latin small letter ae = latin small ligature ae, U+00E6 ISOlat1latin small letter c with cedilla, U+00E7 ISOlat1latin small letter e with grave, U+00E8 ISOlat1latin small letter e with acute, U+00E9 ISOlat1latin small letter e with circumflex, U+00EA ISOlat1latin small letter e with diaeresis, U+00EB ISOlat1latin small letter i with grave, U+00EC ISOlat1latin small letter i with acute, U+00ED ISOlat1latin small letter i with circumflex, U+00EE ISOlat1latin small letter i with diaeresis, U+00EF ISOlat1latin small letter eth, U+00F0 ISOlat1latin small letter n with tilde, U+00F1 ISOlat1latin small letter o with grave, U+00F2 ISOlat1latin small letter o with acute, U+00F3 ISOlat1latin small letter o with circumflex, U+00F4 ISOlat1latin small letter o with tilde, U+00F5 ISOlat1latin small letter o with diaeresis, U+00F6 ISOlat1latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1latin small letter u with grave, U+00F9 ISOlat1latin small letter u with acute, U+00FA ISOlat1latin small letter u with circumflex, U+00FB ISOlat1latin small letter u with diaeresis, U+00FC ISOlat1latin small letter y with acute, U+00FD ISOlat1latin small letter thorn with, U+00FE ISOlat1latin small letter y with diaeresis, U+00FF ISOlat1latin capital ligature OE, U+0152 ISOlat2latin small ligature oe, U+0153 ISOlat2latin capital letter S with caron, U+0160 ISOlat2latin small letter s with caron, U+0161 ISOlat2latin capital letter Y with diaeresis, U+0178 ISOlat2latin small f with hook = function = florin, U+0192 ISOtechmodifier letter circumflex accent, U+02C6 ISOpubgreek capital letter alpha, U+0391greek capital letter beta, U+0392greek capital letter gamma, U+0393 ISOgrk3greek capital letter delta, U+0394 ISOgrk3greek capital letter epsilon, U+0395greek capital letter zeta, U+0396greek capital letter eta, U+0397greek capital letter theta, U+0398 ISOgrk3greek capital letter iota, U+0399greek capital letter kappa, U+039Agreek capital letter lambda, U+039B ISOgrk3greek capital letter mu, U+039Cgreek capital letter nu, U+039Dgreek capital letter xi, U+039E ISOgrk3greek capital letter omicron, U+039Fgreek capital letter pi, U+03A0 ISOgrk3greek capital letter rho, U+03A1greek capital letter sigma, U+03A3 ISOgrk3greek capital letter tau, U+03A4greek capital letter upsilon, U+03A5 ISOgrk3greek capital letter phi, U+03A6 ISOgrk3greek capital letter chi, U+03A7greek capital letter psi, U+03A8 ISOgrk3greek capital letter omega, U+03A9 ISOgrk3greek small letter alpha, U+03B1 ISOgrk3greek small letter beta, U+03B2 ISOgrk3greek small letter gamma, U+03B3 ISOgrk3greek small letter delta, U+03B4 ISOgrk3greek small letter epsilon, U+03B5 ISOgrk3greek small letter zeta, U+03B6 ISOgrk3greek small letter eta, U+03B7 ISOgrk3greek small letter theta, U+03B8 ISOgrk3greek small letter iota, U+03B9 ISOgrk3greek small letter kappa, U+03BA ISOgrk3greek small letter lambda, U+03BB ISOgrk3greek small letter mu, U+03BC ISOgrk3greek small letter nu, U+03BD ISOgrk3greek small letter xi, U+03BE ISOgrk3greek small letter omicron, U+03BF NEWgreek small letter pi, U+03C0 ISOgrk3greek small letter rho, U+03C1 ISOgrk3greek small letter final sigma, U+03C2 ISOgrk3greek small letter sigma, U+03C3 ISOgrk3greek small letter tau, U+03C4 ISOgrk3greek small letter upsilon, U+03C5 ISOgrk3greek small letter phi, U+03C6 ISOgrk3greek small letter chi, U+03C7 ISOgrk3greek small letter psi, U+03C8 ISOgrk3greek small letter omega, U+03C9 ISOgrk3greek small letter theta symbol, U+03D1 NEWgreek upsilon with hook symbol, U+03D2 NEWgreek pi symbol, U+03D6 ISOgrk3zero width non-joiner, U+200C NEW RFC 2070zero width joiner, U+200D NEW RFC 2070left-to-right mark, U+200E NEW RFC 2070right-to-left mark, U+200F NEW RFC 2070left single quotation mark, U+2018 ISOnumright single quotation mark, U+2019 ISOnumsingle low-9 quotation mark, U+201A NEWleft double quotation mark, U+201C ISOnumright double quotation mark, U+201D ISOnumdouble low-9 quotation mark, U+201E NEWbullet = black small circle, U+2022 ISOpubhorizontal ellipsis = three dot leader, U+2026 ISOpubper mille sign, U+2030 ISOtechprime = minutes = feet, U+2032 ISOtechdouble prime = seconds = inches, U+2033 ISOtechsingle left-pointing angle quotation mark, U+2039 ISO proposedsingle right-pointing angle quotation mark, U+203A ISO proposedoverline = spacing overscore, U+203E NEWblackletter capital I = imaginary part, U+2111 ISOamsoscript capital P = power set = Weierstrass p, U+2118 ISOamsoblackletter capital R = real part symbol, U+211C ISOamsotrade mark sign, U+2122 ISOnumalef symbol = first transfinite cardinal, U+2135 NEWleftwards arrow, U+2190 ISOnumrightwards arrow, U+2192 ISOnumdownwards arrow, U+2193 ISOnumleft right arrow, U+2194 ISOamsadownwards arrow with corner leftwards = carriage return, U+21B5 NEWleftwards double arrow, U+21D0 ISOtechupwards double arrow, U+21D1 ISOamsarightwards double arrow, U+21D2 ISOtechdownwards double arrow, U+21D3 ISOamsaleft right double arrow, U+21D4 ISOamsapartial differential, U+2202 ISOtechempty set = null set = diameter, U+2205 ISOamsonabla = backward difference, U+2207 ISOtechnot an element of, U+2209 ISOtechcontains as member, U+220B ISOtechn-ary product = product sign, U+220F ISOamsbn-ary summation, U+2211 ISOamsbasterisk operator, U+2217 ISOtechsquare root = radical sign, U+221A ISOtechproportional to, U+221D ISOtechlogical and = wedge, U+2227 ISOtechlogical or = vee, U+2228 ISOtechintersection = cap, U+2229 ISOtechtilde operator = varies with = similar to, U+223C ISOtechapproximately equal to, U+2245 ISOtechalmost equal to = asymptotic to, U+2248 ISOamsrless-than or equal to, U+2264 ISOtechgreater-than or equal to, U+2265 ISOtechnot a subset of, U+2284 ISOamsnsubset of or equal to, U+2286 ISOtechsuperset of or equal to, U+2287 ISOtechcircled plus = direct sum, U+2295 ISOamsbcircled times = vector product, U+2297 ISOamsbup tack = orthogonal to = perpendicular, U+22A5 ISOtechleft ceiling = apl upstile, U+2308 ISOamscleft floor = apl downstile, U+230A ISOamscleft-pointing angle bracket = bra, U+2329 ISOtechright-pointing angle bracket = ket, U+232A ISOtechblack spade suit, U+2660 ISOpubblack club suit = shamrock, U+2663 ISOpubblack heart suit = valentine, U+2665 ISOpubblack diamond suit, U+2666 ISOpubshorthand for div align=center generic language/style containertext to be entered by the useralternate content container for non frame-based rendering alternate content container for non script-based rendering sample program output, scripts, etc.generic language/style container teletype or monospaced text styleinstance of a variable or program argumentHxLKKK0KMpMMKJJJPJ8JI`IXMCharset=charset =Charset =CHARSET =text/html; charset=%s@/:=?;#%&,+<>="" %s%s -> %sTrueFalseResult%s: no such node %s is a Boolean %s is a number %s is a string %s is user-defined %s is an XSLT value tree No base found !!! Failed to write to %s Failed to save to %s %s:%s > exitquitbyehelp bye leave shell exit leave shell quit leave shell relaxng%s validates %s fails to validate savewritegrepfreepwddufailed to parse content setnssetrootnsdefaultnsxpathxpath: expression required setbasewhereiscdcannot cd to namespace %s is a %d Node Set %s is an empty Node Set ------- Unknown command %s X؁8P0pЃ @`؂999XĐ`0X(ЗP@8 tV8|ϝu]xgF% _Yԭԭ ԭ ԭ 8دȯxh(88880lܮl}lll}}}}}}llllpppp@Pj=4B f>Sk@___n7Node is not a namespace declarationIncomplete namespace %s href=NULL Incomplete default namespace href=NULL Reference to default namespace not in scope Reference to namespace '%s' not in scope Reference to default namespace not on ancestor Reference to namespace '%s' not on ancestor Name is not from the document dictionary '%s'Node doc differs from parent's one Attr has no prev and not first of attr list Node has no prev and not first of parent list Node prev->next : back link wrong Node has no next and not last of parent list Node next->prev : forward link wrong Comment node has wrong name '%s'CData section has non NULL name '%s'Node is not an element declarationElement declaration has no nameNode is not an attribute declarationNode attribute declaration has no nameNode attribute declaration has no element nameNode is not an entity declarationEntity declaration has no nameEXTERNAL_GENERAL_PARSED_ENTITY EXTERNAL_GENERAL_UNPARSED_ENTITY No entities in internal subset No entities in external subset To save to subparts of a document use the 'write' command base display XML base of the node setbase URI change the XML base of the node cat [node] display node or current node cd [path] change directory to path or to root dir [path] dumps information about the node (namespace, attributes, content) du [path] show the structure of the subtree under path or the current node help display this help free display memory usage load [name] load a new document with name ls [path] list contents of path or the current directory set xml_fragment replace the current node content with the fragment parsed in context xpath expr evaluate the XPath expression in that context and print the result setns nsreg register a namespace to a prefix in the XPath evaluation context format for nsreg is: prefix=[nsuri] (i.e. prefix= unsets a prefix) setrootns register all namespace found on the root element the default namespace if any uses 'defaultns' prefix pwd display current working directory whereis display absolute path of [path] or current working directory save [name] save this document to name or the original name write [name] write the current node to the filename validate check the document for errors relaxng rng validate the document against the Relax-NG schemas grep string search for a string in the subtree Relax-NG schema %s failed to compile %s validation generated an internal error Write command requires a filename argument setns: prefix=[nsuri] required Error: unable to register NS with prefix="%s" and href="%s" Hppppj XPLUS -PLUS +PLUS unary -PLUS unary - -MULT *MULT divMULT modUNIONROOTSORTCOLLECT 'ancestors' 'ancestors-or-self' 'attributes' 'child' 'descendant' 'descendant-or-self' 'following' 'following-siblings' 'namespace' 'parent' 'preceding' 'preceding-sibling' 'self' 'none' 'type' 'PI' 'all' 'name' 'node' 'comment' 'text' ELEM VARIABLE %s:%sVARIABLE %sFUNCTION %s:%s(%d args)FUNCTION %s(%d args)ARGPREDICATEFILTERUNKNOWN %d Streaming Expression creating object cache pushing value creating nodeset growing nodeset growing nodeset hit limit creating result value tree creating node set object creating float object creating boolean object creating string object creating user object copying object truefalse-InfinityNaN%*.*e%0.*fUnimplemented block at %s:%d creating parser context processing-instruction::countancestorancestor-or-selfchilddescendantdescendant-or-selffollowingfollowing-siblingparentprecedingpreceding-siblingInternal error at %s:%d shrinking nodeset lastcreating evaluation context NULL context pointer booleanceilingconcatcontainslocal-namenamespace-urinormalize-spacenumberpositionstring-lengthstarts-withsubstringsubstring-beforesubstring-aftertranslateescape-uricreating context Number encoding Unfinished literal Start of literal Undefined variable Invalid predicate Invalid expression Missing closing curly brace Unregistered function Invalid operand Invalid type Invalid number of arguments Invalid context size Invalid context position Memory allocation error Syntax error Resource error Sub resource error Undefined namespace prefix Encoding error Char out of XML range Stack usage error Forbidden variable Operation limit exceeded Recursion limit exceeded ?? Unknown error ?? Error allocating temporary storage for tim sort: need %lu bytesxmlPointerListCreate: allocating item xmlPointerListAddSize: re-allocating item allocating streamable expression Object is an XSLT value tree : Object is a number : Infinity Object is a number : -Infinity Compiled Expression : %d elements XPath stack depth limit reached XPath operation limit exceeded xmlXPathObjectCopy: unsupported type %d xmlXPathTranslateFunction: Invalid UTF8 string xmlXPathCompareNodeSetValue: Can't compare node set and object of type %d xmlXPathCompOpEvalPredicate: Expected a predicate xmlXPathCompOpEval: variable %s bound to undefined prefix %s xmlXPathCompOpEval: parameter error xmlXPathCompOpEval: function %s bound to undefined prefix %s xmlXPathCompOpEval: function %s not found XPath: unknown precompiled operation %d xmlXPathRunEval: last is less than zero xmlXPathCompiledEval: No result on the stack. xmlXPathCompiledEval: %d object(s) left on the stack. http://www.w3.org/2002/08/xquery-functionsExpected $ for variable reference Invalid or incomplete context AeAh㈵>?$@0C?warning: ChildSeq not starting by /1 xmlXPtrEval: evaluation failed to return a node set xmlXPtrEval: object(s) left on the eval stack allocating evaluation contextallocating bufferxpointerxpath1unsupported scheme '%s' http://www.w3.org/2003/XIncludehttp://www.w3.org/2001/XIncludemismatch in redefinition of entity %s %s has multiple fallback children %s is not the child of an 'include' Invalid fragment identifier in URI %s use the xpointer attribute detected a local recursion with no xpointer in %s could not create XPointer context XPointer evaluation failed: #%s XPointer selects an attribute: #%s XPointer selects a namespace: #%s XPointer selects unexpected nodes: #%s trying to build relative URI from %s trying to rebuild base from %s fragment identifier forbidden for text: %s text serialization of document not available could not load %s, and no fallback was found XInclude error: would result in multiple root nodes creating XInclude contextdetected a recursion in %s adding URLinclude%s has an 'include' child fallbackparseinvalid value %s for 'parse' failed build URL invalid value URI %s growing XInclude contextprocessing docXPointer is not a range: #%s encodingencoding %s not supported %s contains invalid char processing textfailed to build node hxxxxxxxxxsocket failed Connect attempt timed outConnect failedgetsockopt failed select failed allocating inputallocating input bufferrecv failed Authoritative host not foundNo error text defined.getaddrinfo failed address size mismatch send failed allocating contexthttpSyntax Error no_proxyhttp_proxyHTTP_PROXYGETNot a valid HTTP URIallocating header buffer%s http://%s:%d%s%s http://%s%s%s %s?%s HTTP/1.0 Host: %s HTTP/1.0 Host: %s:%d Accept-Encoding: gzip Content-Type: %s Content-Length: %d HTTP/Content-Type:ContentType:Location:WWW-Authenticate:Proxy-Authenticate:Content-Encoding:Content-Length:error setting non-blocking IO error connecting to HTTP serverError connecting to remote hostNon-authoritative host not found or server failure.Non-recoverable errors: FORMERR, REFUSED, or NOTIMP.Valid name, no data record of requested type.Failed to identify host in URIrecv failedftpftp_proxyFTP_PROXYftp_proxy_userftp_proxy_passwordallocating FTP contextsend failedgetaddrinfo failedgethostbyname failedsocket failedFailed to create a connectionUSER %s PASS %s SITE %s USER anonymous@%s USER %s@%s CWD %s DELE %s Invalid answer to EPSV %u,%u,%u,%u,%u,%uInvalid answer to PASV bind failedlisten failedEPRT |2|%s|%s| PORT %d,%d,%d,%d,%d,%d LIST -L %s recvtotalRETR %s gethostbyname address mismatchFTP server asking for ACCNT on anonymous Failed to create a data connectionPASS anonymous@ USER anonymous YYYYYYYYYY`aaaaxbbb8chc` aXadddddde$eDedeecDdurn:oasis:names:tc:entity:xmlns:xml:catalogInvalid value for prefer: '%s' Converting SGML catalog to XML File %s is not an XML Catalog Detected recursion in catalog %s Found system match %s, using %s Public URN ID %s expanded to NULL System URN ID %s expanded to NULL http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd-//OASIS//DTD Entity Resolution XML Catalog V1.0//ENFailed to add unknown element %s to catalog Updating element %s to catalog Removing element %s from catalog Allowing only global catalogs Allowing only catalogs from the document Setting catalog preference to PUBLIC Setting catalog preference to SYSTEM Local Resolve: pubID %s sysID %s Use of deprecated xmlCatalogGetSystem() call Use of deprecated xmlCatalogGetPublic() call allocating public IDallocating catalog dataallocating catalogurn:publicid:nextCatalogpublicpreferpublicIdsystemIdrewriteSystemsystemIdStartStringrewritePrefixdelegatePublicpublicIdStartStringdelegateSystemrewriteURIuriStartStringdelegateURIENTITY %%LINKTYPE DELEGATE BASE CATALOG DOCUMENT SGMLDECL Free catalog entry %s Free catalog entry allocating catalog entry%s entry lacks '%s' Found %s: '%s' '%s' Found %s: '%s' %s entry '%s' broken ?: %s PUBLICDELEGATELINKTYPENOTATIONSGMLDECLDOCUMENTBASEOVERRIDEXML_DEBUG_CATALOGFound %s in file hash %s not found in file hash Failed to parse catalog %s %d Parsing catalog %s %s added to file hash Using rewriting rule %s Trying system delegate %s Found public match %s Trying public delegate %s Public URN ID expanded to %s System URN ID expanded to %s Found URI match %s Trying URI delegate %s URN ID %s expanded to NULL Resolve sysID %s Resolve pubID %s Resolve: pubID %s sysID %s Resolve URI %s Adding element %s to catalog file:///etc/xml/catalogXML_CATALOG_FILESCatalogs cleanup Disabling catalog usage Allowing all catalogs Adding document catalog %s Local Resolve: pubID %s Local Resolve: sysID %s 21002xmlGetGlobalState: out of memory Invalid parameter : %s Internal error : %s freeing contextadding namespace to stackadding node to stackwriting namespaces xmlns: xmlns=writing attributesnormalizing attributes axisprocessing nodeNode %s is invalid here : %s processing node listparsing namespace urisaving namespaces stack#defaultprocessing namespaces axisshifting namespaces stackprocessing attributes axiscreating attributes listprocessing xml:base attributeprocessing childrens listrestoring namespaces stacknormalizing text node XML_ATTRIBUTE_NODEXML_NAMESPACE_DECLXML_ENTITY_REF_NODEXML_ENTITY_NODEexecuting c14ncreating contextcreating namespaces stackprocessing docs children listflushing output bufferdumping doc to memorysaving doc to output buffersaving doccreating temporary filenamecanonize document to buffersearching namespaces stack (c14n)searching namespaces stack (exc c14n)Relative namespace UR is invalid here : %s checking for relative namespacesprocessing namespaces axis (c14n)creating namespaces list (c14n)processing namespaces axis (exc c14n)creating namespaces list (exc c14n)processing xml:base attribute - can't get attr valueprocessing xml:base attribute - can't modify uriprocessing xml:base attribute - can't construct uriprocessing xml:base attribute - can't construct attributeUnknown node type %d found : %s invalid mode for executing c14nxmlC14NExecute: output buffer encoder != NULL but C14N requires UTF8 output xmlC14NNewCtx: xmlC14NVisibleNsStackCreate failed xmlC14NExecute: unable to create C14N context copying canonicalized documentvغPP P P 0 M̹̹̹̹̹̹̹̹ܺ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz{\]^_`abcdefghijklmnopqrstuvwxyz{|}~growing buffer past SIZE_MAXbuffer error: text too long Used size too big for xmlBufferAllocated size too big for xmlBufferInput reference outside of the bufferInvalid low surrogate pair code unitWrong escape sequence, misuse of character '\'Expecting the end of a char rangeEnd of range is before start of rangeepsilon transition left at runtime generate transition: atom == NULLxmlFAParseAtom: maximum nesting depth exceededxmlFAParseCharClass: ']' expectedxmlFAParseRegExp: extra charactersadding stateallocating counterfailed to compile: %s add state: state is NULLadd state: target is NULLadding transitionatom push: atom is NULLpushing atomallocating stateallocating atompushing input stringepsilon charval ranges subexpr string anychar anyspace notspace notinitname notnamechar notdecimal notrealchar LETTER_UPPERCASE LETTER_LOWERCASE LETTER_TITLECASE LETTER_MODIFIER LETTER_OTHERS MARK MARK_NONSPACING MARK_SPACECOMBINING MARK_ENCLOSING NUMBER NUMBER_DECIMAL NUMBER_LETTER NUMBER_OTHERS PUNCT PUNCT_CONNECTOR PUNCT_DASH PUNCT_OPEN PUNCT_CLOSE PUNCT_INITQUOTE PUNCT_FINQUOTE PUNCT_OTHERS SEPAR SEPAR_SPACE SEPAR_LINE SEPAR_PARA SYMBOL SYMBOL_MATH SYMBOL_CURRENCY SYMBOL_MODIFIER SYMBOL_OTHERS OTHER OTHER_CONTROL OTHER_FORMAT OTHER_PRIVATE OTHER_NA BLOCK saving regexpxmlregexp.cexec save: allocation failedadd range: atom is NULLadd range: atom is not rangesadding rangesallocating rangeIsXXXX expectedUnknown char propertyExpecting hex digitEscaped sequence: expecting \Expecting '{'Expecting '}'Expecting ']'Expecting a char rangeInvalid escape valuecharClassExpr: ']' expectedTODO: XML_REGEXP_STRINGcopying atomxmlFAParseAtom: expecting ')'Improper quantifierUnterminated quantifierinternal: no atom generatedcreating execution context regexp: %d atoms: %d states: %02d atom: not once ? * + range onceonly all %d-%d char %c %d entries range: negative %c - %c start %d end %d %d counters: state: START FINAL %d, %d transitions: trans: removed last not determinist, counted %d, all transition, count based %d, epsilon to %d char %c atom %d, to %d %d: min %d max %d running regexpcompiling regexpnot %s0pP0pP000000000000000000000000000000000000000000000000000000000000000000000000000000000000pP0pP0pP0pP0*'('''(T($(((,'''*|*D************************************************************************************4*$***)))))))'t)+ +******\+L+<+,+|+l+d)(('''''*)/-.-.-/-/------------------------------------------------------------------------------------X/-----@/---/---.-------.---p/----/----1111111111111111111111z1111c11111L1?HMMMM\M4M MG    simple type definitionNot a schema componentcomplex type definitionelement declarationattribute useattribute declarationmodel group definitionattribute group definitionnotation declarationmodel group (sequence)model group (choice)model group (all)particleunique identity-constraintkey identity-constraintkeyref identity-constraintwildcard (any)maxExclusivemaxInclusiveminExclusiveminInclusivewhiteSpaceenumerationmaxLengthminLengthtotalDigitsfractionDigitsInternal Errorallocating new item listgrowing item list{MISSING particle term ELEM '%s'SEQUENCECHOICEALLUNKNOWN min: %d max: unbounded max: %d##Element '', xmlschemas.callocating attributeallocating redefinition infoallocating typeallocating particle componentadding wildcard Annot: %s Annot: empty Type: NULL Type: (no name) ns '%s' [basic] [simple] [complex] [sequence] [choice] [all] [ur] [restriction] [extension] [unknown type %d] content: [unknown] [empty] [element] [mixed] [any] base type: '%s' ns '%s' attributes: [prohibition] [reference] [use] (global)ns '%s' props: [fixed] [default] [abstract] [nillable] value: '%s' type: '%s' substitutionGroup: '%s' unqualifiedallocating schema#allextensionrestrictionsubstitutionunion Expected is one of ( Expected is ( ##other{*}{##other: ). Element '%s': '%s' is not a valid value of the local the atomic typelist typeunion typeskiplaxstrictinvalid process contentsatomic type 'xs:list type 'xs:union type 'xs:simple type 'xs:simple typecomplex typeattribute use (unknown)attribute decl.element decl.unique 'key 'keyRef 'facet 'model group def., attribute '%s: %s. '.The value '%s' is not valid. Expected is 'minOccursmaxOccurssubstitutionGroup%s, attribute '%s': %s. The definition is circular' has to be greater than less than or equal to' of the base typeInternal error: %s, xmlSchemaLookupNamespacexmlSchemaValidateNotationxmlSchemaGetFreshElemInfoallocating an element infoattr info not clearedxmlSchemaGetFreshAttrInfocreating new attribute info'] xmlSchemaFormatFacetEnumSet, 'xmlSchemaValidateFacetsxmlSchemaVCheckCVCSimpleTypecalling xmlValidateQName()xmlSchemaValidateQNamexmlSchemaFormatIDCKeySequence???]xmlSchemaAddComponentsparticle is NULLxmlSchemaBuildAContentModelxmlSchemaIDCAddStateObjectcalling xmlStreamPush()xmlSchemaXPathEvaluatecalling xmlStreamPop()xmlSchemaXPathProcessHistoryallocating a IDC keyxmlSchemaValidatorPopElemMissing child element(s)xmlSchemaCheckCOSValidDefaultcalling xmlNewDocText()calling xmlSchemaVPushText()elem pop mismatchxmlSchemaPushAttributenilschemaLocationnoNamespaceSchemaLocationxmlSchemaPValAttrNodeValueallocating annotationappinfosourcedocumentation(appinfo | documentation)*xs:nonNegativeInteger(annotation?)allocating a namespace arrayA child element is missingselectorfieldprocessContents(strict | skip | lax)##any##targetNamespace##localsimpleTypechoicesequenceallocating facetFacet %s has no value Unknown facet type %s fixedallocating a facet linkanyAttributefinalitemType(annotation?, simpleType?)memberTypes(annotation?, simpleType*)(qualified | unqualified)optionalprohibitedattributeGroupallocating attribute groupmixedabstractblocksimpleContentcomplexContentnillablecomplexTypeuniquekeyrefallocating element(0 | 1)adding groupin_memory_bufferallocating schema relationxmlSchemaAddSchemaDocno main schema on constructorxmlSchemaBucketCreateallocating schema bucketSchemas: NULL Schemas: no name, no target namespaceallocating validation contextpositiveIntegerxmlSchemaCheckFacetvalue was not computedvalidating facet valuereplacecollapsemissing baseTypeallocating a type linkNo base type existentThe variety is absentxmlSchemaCheckCOSSTRestrictsNo facets allowedan error occurredfailed to get primitive typexmlSchemaFixupComplexTypeno base typefailed to expand attributesDuplicate %sxmlSchemaTypeFixupredefinedxmlSchemaElemCheckValConstrxmlSchemaSubstGroupAddreparsing a schema docxmlSchemaParseNewDocno constructorelementFormDefaultattributeFormDefaultfinalDefaultblockDefaultimportredefineNotation has no name add annotationAn internal error occurredxmlSchemaParsein skip-statexmlSchemaValidateElemno parser context availablexmlSchemaAssembleByLocationassembling schemataxmlSchemaAssembleByXSIxmlSchemaValidateChildElemThis element is not expectedxmlSchemaValidateElemWildcardThe type definition is absentxmlSchemaValidateElemDeclThe element is not 'nillable'xmlSchemaIDCRegisterMatchersallocating an IDC matcherxmlSchemaVAttributesComplexcalling xmlSchemaCopyValue()calling xmlNewProp()p%dcalling attributes validationxmlSchemaValidatorPushElemxmlSchemaCreatePCtxtOnVCtxtxmlSchemaDocWalkxmlSchemaVDocWalkelement position mismatchno instance to validatexmlSchemaVStart[helper component] QName reference[helper component] attribute use prohibitionhttp://www.w3.org/2001/XMLSchemaInternal error: xmlSchemaBuildContentModelForSubstGroup, declaration is marked having a subst. group but none available. allocating an item list structureallocating schema construction contextallocating list of schema bucketsallocating list of pending global componentsallocating schema parser contextallocating model group componentcreating wildcard namespace constraintallocating QName reference itemInternal error: xmlSchemaItemListRemove, index error. xmlSchemaAugmentIDC: allocating an augmented IDC definitionallocating a PSVI IDC binding item%sThe attribute '%s' is not allowed. The attribute '%s' is not allowed. %s: The attribute '%s' is required but missing. %s: The content is not valid. Expected is %s. %s: The content is not valid. %s: The facet '%s' is not allowed. References from this schema to components in no namespace are not allowed, since not indicated by an import statementReferences from this schema to components in the namespace '%s' are not allowed, since not indicated by an import statementNeither character nor element content is allowed because the element is 'nilled'Character content is not allowed, because the content type is emptyCharacter content other than whitespace is not allowed because the content type is 'element-only'The character content is not a valid value of The character content is not valid.The value '%s' of simple type 'xs:QName' has no corresponding namespace declaration in scopeDuplicate value '%s' of simple type 'xs:ID'The value '%s' of simple type 'xs:ID' is not a valid 'xs:NCName'%s, attribute '%s': The QName value '%s' does not resolve to a(n) %s. The value must be greater than or equal to 1The value must not be greater than the value of 'maxOccurs'%s: The attributes '%s' and '%s' are mutually exclusive. Internal error: xmlSchemaAddAnnotation, The item is not a annotated schema componentThe union type definition is circularno node or node's doc availablea schema is needed on the validation contextlist type has no item-type assignedxmlSchemaFixupSimpleTypeStageOneunion type has no member-types assignedtype has no base-type assignedinconsistent depth encounteredallocating the element info arrayre-allocating the element info arrayelem info has not been clearedallocating attribute info listre-allocating attribute info listunexpected attr prohibition foundxmlSchemaExpandAttributeGroupRefsThe intersection of the wildcard is not expressible. Skipping pointless attribute use prohibition '%s', since a corresponding attribute use exists already in the type definitionThe value '%s' has a length of '%s'; The value has a length of '%s'; this differs from the allowed length of '%s'. this exceeds the allowed maximum length of '%s'. this underruns the allowed minimum length of '%s'. The value '%s' is not an element of the set {%s}. compute the canonical lexical representationThe value '%s' is not accepted by the pattern '%s'. The value '%s' is less than the minimum value allowed ('%s'). The value '%s' is greater than the maximum value allowed ('%s'). The value '%s' must be greater than '%s'. The value '%s' must be less than '%s'. The value '%s' has more digits than are allowed ('%s'). The value '%s' has more fractional digits than are allowed ('%s'). The value '%s' is not facet-valid. The value is not facet-valid. validating against a atomic type facetvalidating against a list type facetvalidating against an enumeration facetvalidating against a pattern facetcould not get the built-in typeThe QName value '%s' has no corresponding namespace declaration in scopevalidating against a built-in typevalidating facets of atomic simple typevalidating an item of list simple typevalidating facets of list simple typeunion simple type has no member typesvalidating members of union simple typevalidating facets of union simple typefailed to compute a canonical valueUnexpected global component typefailed to create a component hash tableA global %s '%s' does already exist particle has no termfound unexpected term of type '%s' in content modelallocating an IDC state objectfailed to create an XPath validation contextallocating the state object historyre-allocating the state object historyfield resolves to a CT with simple content but the CT is missing the ST definitionThe XPath '%s' of a field of %s does evaluate to a node of non-simple typeWarning: No precomputed value available, the value was either invalid or something strange happenedallocating an array of key-sequencesreallocating an array of key-sequencesThe XPath '%s' of a field of %s evaluates to a node-set with more than one memberallocating an IDC key-sequenceallocating the IDC key storage listre-allocating the IDC key storage listallocating an IDC node-table itemallocating the IDC node table item listre-allocating the IDC node table item listThe state object to be removed is not the first in the listDuplicate key-sequence %s in %sNot all fields of %s evaluate to a nodefailed to create a regex contextcalling xmlSchemaVCheckCVCSimpleType()For a string to be a valid default, the type definition must be a simple type or a complex type with simple content or mixed content and a particle emptiablecalling xmlSchemaCheckCOSValidDefault()The content must not contain element nodes since there is a fixed value constraintThe initial value '%s' does not match the fixed value constraint '%s'The actual value '%s' does not match the fixed value constraint '%s'allocating an array of IDC node-table itemsre-allocating an array of IDC node-table itemsMore than one match found for key-sequence %s of keyref '%s'No match found for key-sequence %s of keyref '%s'allocating IDC list of node-table itemsre-allocating IDC list of node-table itemsxmlSchemaSAXHandleCDataSectionxmlSchemaSAXHandleEndElementNscalling xmlSchemaValidatorPopElem()calling xmlSchemaGetFreshAttrInfo()http://www.w3.org/2001/XMLSchema-instancethe given type is not a built-in typevalidation using the given type is not supported while parsing a schemafailed to validate a schema attribute valueInternal error: xmlSchemaPValAttr, the given type '%s' is not a built-in type. (xs:nonNegativeInteger | unbounded)allocating a 'selector' of an identity-constraint definitionThe XPath expression of the selector is not validInternal error: xmlSchemaParseIDCSelectorAndField, validating the XPath expression of a IDC selector. The XPath expression '%s' could not be compiledallocating an identity-constraint definition(annotation?, (selector, field+))((##any | ##other) | List of (xs:anyURI | (##targetNamespace | ##local)))This is a redefinition, but the QName value '%s' of the 'base' attribute does not match the type's designation '%s'The attribute 'base' and the child are mutually exclusiveEither the attribute 'base' or a child must be presentFacet %s has unexpected child content annotation?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))(annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?))(annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*))Redefinition of built-in simple types is not supported(#all | List of (list | union | restriction)(annotation?, (restriction | list | union))The attribute 'itemType' and the child are mutually exclusiveEither the attribute 'itemType' or the child must be presentxmlSchemaParseUnion, allocating a type linkEither the attribute 'memberTypes' or at least one child must be presentThis is a redefinition, thus the must have a child(optional | prohibited | required)The value of the attribute 'use' must be 'optional' if the attribute 'default' is presentThe target namespace must not match '%s'The value of the attribute must not match 'xmlns'Skipping attribute use prohibition, since it is pointless inside an Skipping attribute use prohibition, since it is pointless when extending a typeSkipping duplicate attribute use prohibition '%s'allocating attribute use prohibitionThe attribute 'type' and the child are mutually exclusiveThe redefining attribute group definition '%s' must not contain more than one reference to the redefined definition(annotation?, ((attribute | attributeGroup)*, anyAttribute?))(#all | List of (extension | restriction))(#all | List of (extension | restriction)) (annotation?, (restriction | extension))(annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))This is a redefinition, thus the must have a or grand-childOnly the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'(#all | List of (extension | restriction | substitution))The attribute 'type' and the child are mutually exclusive(annotation?, ((simpleType | complexType)?, (unique | key | keyref)*))Invalid value for minOccurs (must be 0 or 1)Invalid value for maxOccurs (must be 0 or 1)The redefining model group definition '%s' must not contain more than one reference to the redefined definitionThe redefining model group definition '%s' must not contain a reference to the redefined definition with a maxOccurs/minOccurs other than 1(annotation?, (annotation?, element*)(annotation?, (element | group | choice | sequence | any)*)(annotation?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))(annotation?, (all | choice | sequence)?)Internal error: xmlSchemaComponentListFree, unexpected component type '%s' The schema must not import/include/redefine itselfThe schema document '%s' cannot be imported, since it was already included or redefinedThe schema document '%s' cannot be included or redefined, since it was already importedSkipping import of schema located at '%s' for the namespace '%s', since this namespace was already imported with the schema located at '%s'trying to load a schema doc, but a doc is already assigned to the schema bucketxmlSchemaGetDoc, allocating a parser contextFailed to parse the XML resource '%s'No information for parsing was provided with the given schema parser context. The document '%s' has no document elementThe XML document '%s' is not a schema documentfirst bucket but it's an include or redefinemain bucket but it's not the first onefailed to add the schema bucket to the hasha type user derived type has no base typeInternal error: xmlSchemaCheckFacet, failed to validate the value '%s' of the facet '%s' against the base typeThe value '%s' of the facet does not validate against the base type '%s'The value '%s' of the facet 'pattern' is not a valid regular expressionThe value '%s' of the facet '%s' is not a valid '%s'The value '%s' of the facet 'whitespace' is not validxmlSchemaFixupSimpleTypeStageTwoThe base type '%s' is not a simple typeA type, derived by list or union, must have the simple ur-type definition as base type, not '%s'The 'final' of its base type '%s' must not contain 'restriction'given type is not a user-derived simpleTypeThe base type '%s' is not an atomic simple type%s: The facet '%s' is not allowed on types derived from the type %s. failed to evaluate the item typeThe item type '%s' does not have a variety of atomic or unionThe item type is a union type, but the member type '%s' of this item type is not atomicThe final of its item type '%s' must not contain 'list'The base type '%s' must be a list typeThe 'final' of the base type '%s' must not contain 'restriction'failed to eval the item type of a base typeThe item type '%s' is not validly derived from the item type '%s' of the base type '%s'The member type '%s' is neither an atomic, nor a list typeThe 'final' of member type '%s' contains 'union'The base type '%s' is not a union typedifferent number of member types in baseThe member type %s is not validly derived from its corresponding member type %s of the base type %sInternal error: xmlSchemaCreateVCtxtOnPCtxt, failed to create a temp. validation context. It is an error for both 'length' and either of 'minLength' or 'maxLength' to be specified on the same type definitionIt is an error for both '%s' and '%s' to be specified on the same type definitionThe base type's facet is 'fixed', thus the value must not differThe 'whitespace' value has to be equal to or stronger than the 'whitespace' value of the base typederiving facets, creating a facet linkxmlSchemaDeriveAndValidateFacetsIf using , the base type is expected to be a complex type. The base type '%s' is a simple typeIf using and , the base type must be a complex type. The base type '%s' is a simple typeInternal error: xmlSchemaCheckSRCCT, '%s', base type has no content typeA is expected among the children of , if is used and the base type '%s' is a complex typeIf and is used, the base type must be a simple type or a complex type with mixed content and particle emptiable. The base type '%s' is none of thoseIf and is used, the base type must be a simple type. The base type '%s' is a complex typeInternal error: xmlSchemaTypeFixup, complex type '%s': the is missing a child, but was not caught by xmlSchemaCheckSRCCT()Internal error: xmlSchemaTypeFixup, complex type '%s': the ed base type is a complex type with no simple content typeInternal error: xmlSchemaTypeFixup, complex type '%s' with : unhandled derivation caseThe type has an 'all' model group in its {content type} and thus cannot be derived from a non-empty type, since this would produce a 'sequence' model group containing the 'all' model group; 'all' model groups are not allowed to appear inside other model groupsA type cannot be derived by extension from a type which has an 'all' model group in its {content type}, since this would produce a 'sequence' model group containing the 'all' model group; 'all' model groups are not allowed to appear inside other model groupsxmlSchemaFixupTypeAttributeUsesThe union of the wildcard is not expressible. If the base type is a simple type, the derivation method must be 'extension'There must not exist more than one attribute declaration of type 'xs:ID' (or derived from 'xs:ID'). The %s violates this constraintThe 'final' of the base type definition contains 'extension'The content type must specify a particleThe content type of both, the type and its base type, must either 'mixed' or 'element-only'The content type must be the simple base typeThe base type must be a complex typeThe 'final' of the base type definition contains 'restriction'The {content type} %s is not validly derived from the base type's {content type} %sThe content type of the base type must be either a simple type or 'mixed' and an emptiable particleThe content type of the base type must be either empty or 'mixed' (or 'elements-only') and an emptiable particleIf the content type is 'mixed', then the content type of the base type must also be 'mixed'The type is not a valid restriction of its base typethis function needs a parser contextThe 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the %s %sThe attribute declaration's %s is not validly derived from the corresponding %s of the attribute declaration in the %s %sThe effective value constraint of the attribute use is inconsistent with its correspondent in the %s %sNeither a matching attribute use, nor a matching wildcard exists in the %s %sA matching attribute use for the 'required' %s of the %s %s is missingThe %s has an attribute wildcard, but the %s %s '%s' does not have oneThe attribute wildcard is not a valid subset of the wildcard in the %s %s '%s'The {process contents} of the attribute wildcard is weaker than the one in the %s %s '%s'Only global element declarations can have a substitution group affiliationThe element declaration '%s' defines a circular substitution group to element declaration '%s'The type definition '%s' was either rejected by the substitution group affiliation '%s', or not validly derived from its type definition '%s'The type definition (or type definition's content type) is or is derived from ID; value constraints are not allowed in conjunction with such a type definitionFor a string to be a valid default, the type definition must be a simple type or a complex type with mixed content and a particle emptiablexmlSchemaParseCheckCOSValidDefaultfailed to validate the value constraint of an element declarationallocating a substitution group containerfailed to add a new substitution containercalling xmlSchemaQNameExpand() to validate the attribute 'xsi:type'xmlSchemaValidateElementByDeclarationThe QName value '%s' of the xsi:type attribute does not resolve to a type definitionThe type definition '%s', specified by xsi:type, is blocked or not validly derived from the type definition of the element declarationThe %s '%s' to be redefined could not be found in the redefined schemaUnexpected redefined component typexmlSchemaResolveRedefReferencesThe referenced %s was already redefined. Multiple redefinition of the same component is not supportedThe particle's {max occurs} must be 1, since the reference resolves to an 'all' model groupA model group definition is referenced, but it contains an 'all' model group, which cannot be contained by model groupsThe keyref references a keyrefThe cardinality of the keyref differs from the cardinality of the referenced key/unique '%s'Circular reference to the model group definition '%s' definedCircular reference to the attribute group '%s' definedxmlSchemaCheckAttrPropsCorrectThe value of the value constraint is not validThe attribute declaration has a 'fixed' value constraint , thus the attribute use must also have a 'fixed' value constraintxmlSchemaCheckAttrUsePropsCorrectThe 'fixed' value constraint of the attribute use must match the attribute declaration's value constraint '%s'Cannot create automata for complex type %s Failed to compile the content modelThe content model is not deterministValue constraints are not allowed if the type definition is or is derived from xs:IDparsing a schema doc, but there's no doccould not build an URI from the schemaLocationxmlSchemaParseIncludeOrRedefineThe schema document '%s' cannot redefine itself.The schema document '%s' cannot include itself.Failed to load the document '%s' for inclusionFailed to load the document '%s' for redefinitionThe target namespace of the included/redefined schema '%s' has to be absent, since the including/redefining schema has no target namespaceThe target namespace '%s' of the included/redefined schema '%s' differs from '%s' of the including/redefining schema(annotation | (simpleType | complexType | group | attributeGroup))*(#all | List of (extension | restriction | list | union))The value of the attribute 'namespace' must not match the target namespace '%s' of the importing schemaThe attribute 'namespace' must be existent if the importing schema has no target namespaceFailed to locate a schema at location '%s'. Skipping the import((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*)Failed to locate the main schema resource at '%s'Failed to locate the main schema resourceThe value must consist of tuples: the target namespace name and the document's URIThe document at location '%s' could not be acquiredNeither character nor element content is allowed, because the element was 'nilled'calling xmlSchemaProcessXSIType() to process the attribute 'xsi:nil'Element content is not allowed, because the content type is emptytype has elem content but no content modelvalidating elem, but elem content is already invalidcalling xmlRegExecPushString2()Element content is not allowed, because the content type is a simple type definitionElement content is not allowed, because the type definition is simplecalling xmlSchemaStreamValidateChildElement()the child element was valid but neither the declaration nor the type was setNo matching global declaration available for the validation rootNo matching global element declaration available, but demanded by the strict wildcardcalling xmlSchemaValidateElemWildcard()The element declaration is abstractcalling xmlSchemaVCheckCVCSimpleType() to validate the attribute 'xsi:nil'The element cannot be 'nilled' because there is a fixed value constraint defined for itcalling xmlSchemaProcessXSIType() to process the attribute 'xsi:type'The chain of IDC matchers is expected to be emptycalling xmlSchemaValidateElemDecl()The type definition is abstractcalling xmlSchemaXPathEvaluate()default/fixed value on an attribute use was not precomputedcould not compute a ns prefix for a default/fixed attributecalling xmlSchemaStreamValidateSimpleTypeValue()The attribute '%s' is required but missingThe value '%s' does not match the fixed value constraint '%s'No matching global attribute declaration available, but demanded by the strict wildcardCould not find an augmented IDC item for an IDC definitioncalling xmlSchemaGetFreshElemInfo()calling xmlSchemaValidatorPushElem()xmlSchemaSAXHandleStartElementNsallocating namespace bindings for SAX validationre-allocating namespace bindings for SAX validationallocating string for decoded attributecalling xmlSchemaValidatorPushAttribute()calling xmlSchemaValidateElem()failed to create a temp. parser contextThe document has no document elementthere is at least one entity reference in the node-tree currently being validated. Processing of entities with this XML Schema processor is not supported (yet). Please substitute entities before validation.P`p 0@?>??>>>?$???D?d?;=,> >==$<<=<\{2Q<[y1O;Zx0NN@(@8@@@C @  ( ) / / _ _ 007?&*djlV p p 446688@@!!!!! !!!!!!#!%!%!'!'!)!)!.!.!2!2!:!;!J!J!!!!!!!!!!!!!!!!!!!## ##"#(#+#{#}####$&$@$J$$$%%%%%%&&&n&p&}&&&&&''' ' ''')'K'M'M'O'R'V'V'X'^'a'g'''''''((+ +....////0000 0 06070>0?0111122*2C2P2P2`2}222222233MMƤ55OOoo++<>||~~D D R R z | @!D!K!K!!!!!!!!!!!!!!!!!!!!"# # #!#|#|###%%%%%%o&o&'''')))))))*))bbdf \\^^^^``tu00>>@@$$ ?? ii7?&*djlV55OOoo$$++<>^^``||~~tu p p ??446688@@D D R R z | !!!!! !!!!!!#!%!%!'!'!)!)!.!.!2!2!:!;!@!D!J!K!!(#+####$&$@$J$$$%&&}&&&&&''' ' ''')'K'M'M'O'R'V'V'X'^'a'g'''''''''')))))) +....////0000 0 06070>0?000111122*2C2P2P2`2}222222233MMƤ))bbdfii >>@@\\^^(([[{{::<<    E E } } )#)###h'h'j'j'l'l'n'n'p'p'r'r't't'''''''))))))))))))))))))))))))))))00 0 0 0 000000000000000>>557799;;==??AACCGGYY[[]];;[[__bb!#%'**,,./:;?@\\~~Z_  jm d e p p OOZ[JOahmn56 DE  ' 0 8 ; > A C G Q S S W W ##00=0=000EFILPRTW_ahhjk  <>@@BBDDHHZZ\\^^ ==]]``cc--  0000000012XXcc !#%*,/:;?@[]__{{}}~~Z_  jm d e p p OOZ[:=JOahmn56 DE ' 0 C E Q S T W W } ~ )#*###h'u'''))))))0000000000=0=00000>?0RTacchhjk  ;=??[[]]_e3 # *3r|p p t y S!_!`$$$$v''11 2)2Q2_2222209`if o f o f o f o f o PY )@IiqFO3 #JJ09`if o f o f o f o f o PY 3@Ii|FOp p t y S!!`$$$$v''00!0)080:011 2)2Q2_22222gi{W]oKXpp0J  < < A H M M Q T b c   < < A B G H K M p q   < < ? ? A C M M V V > @ F H J M U V A C M M 114:GN557799q~-0226799XY24RSrs   "'(229; *0/000 #efmr  > @ I L   > @   > > @ @ G H K L W W   A D   > @ F H J L W W >?,,1188VW#&)+0138eimr{W]oKXpp0J  < < > M Q T b c   < < > B G H K M p q   < < > C G H K M V W   > D F H J M U V   > C F H J M W W 114:GN557799>?q,269VY24RSrs   +0; *0/000 #'4Mh  89;>@DFFJPl!<Up4VnAZ      ""$$&&((**,,..0022446699;;==??AACCEEGGJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxy{{}}      ""$$&&((**,,..0022/``bbddffhhjjllnnpprrttvvxxzz||~~    1V      ""$$&&((**,,..0022446688::<<>>@@BBDDFFHHJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxxzz||~~(/8?HMYY[[]]__ho!!!! ! !!!!!!!$!$!&!&!(!(!*!-!0!1!3!3!>!?!E!E!!:  &(:<=?MP]0IP 578<<??֦֦!:AJnoq/MO 9 = = P P X a     ( * 0 2 3 5 6 8 9 Y \ ^ ^ r t     ( * 0 2 3 5 9 = = \ ] _ a q q     ( * 3 5 9 ` a     ( * 9 ` a 023@E@GIj!#')*PUY_FHHJMPVXXZ]` FHZlov  1@Q`lnp BDwPmpt5!8!00<0<0A000000001,1111111144MMNNף-0j(*68<>>@ACDF=PptvfoqzzYY@@FFCC,a001050;0;00000pp(O3NTVg7Rk";Vo6NPUpaz      !!##%%''))++--//11335578::<<>>@@BBDDFFHIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwzz||~      !!##%%''))++--//1136P0_aacceeggiikkmmooqqssuuwwyy{{}}      a+bk      !!##%%''))++--//1133557799;;==??AACCEEGGIIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwyy{{}} '07@EPW`gp}q q   ! !!!!!/!/!4!4!9!9!=!=!F!I!AZ  &(:<=?MP]0I 578<<??TV  9;>@DFFJPR46NPnp֦֦AZaz6Pzz1VYYa!:@Jnoq/MO 9 = = P P X a     ( * 0 2 3 5 6 8 9 Y \ ^ ^ r t     ( * 0 2 3 5 9 = = \ ] _ a q q     ( * 3 5 9 ` a     ( * 9 ` a 023@F@GIj!#')*PUY_FHHJMPVXXZ]` FHZlov  1@Q`lnp wPmptk EHMPWYY[[]]_}q q   !!!! !!!!!!$!$!&!&!(!(!*!-!/!1!3!9!=!?!E!I!001050;0<0A000000001,1111111144MMNNף-0j(*68<>>@ACDF=Pptv!:AZfsz   * . ` c j o sz   * . ` c j o ۀCcCfCoCsLlLmLoLtLuMcMeMnNdNlNoPcPdPePfPoPsScSkSmSoZlZpZsAegeanNumbersAlphabeticPresentationFormsArabicArabicPresentationForms-AArabicPresentationForms-BArmenianBasicLatinBengaliBlockElementsBopomofoBopomofoExtendedBoxDrawingBraillePatternsBuhidByzantineMusicalSymbolsCJKCompatibilityCJKCompatibilityFormsCJKCompatibilityIdeographsCJKRadicalsSupplementCJKSymbolsandPunctuationCJKUnifiedIdeographsCherokeeCombiningDiacriticalMarksCombiningHalfMarksCombiningMarksforSymbolsControlPicturesCurrencySymbolsCypriotSyllabaryCyrillicCyrillicSupplementDeseretDevanagariDingbatsEnclosedAlphanumericsEnclosedCJKLettersandMonthsEthiopicGeneralPunctuationGeometricShapesGeorgianGothicGreekGreekExtendedGreekandCopticGujaratiGurmukhiHalfwidthandFullwidthFormsHangulCompatibilityJamoHangulJamoHangulSyllablesHanunooHebrewHighPrivateUseSurrogatesHighSurrogatesHiraganaIPAExtensionsKanbunKangxiRadicalsKannadaKatakanaKatakanaPhoneticExtensionsKhmerKhmerSymbolsLaoLatin-1SupplementLatinExtended-ALatinExtended-BLatinExtendedAdditionalLetterlikeSymbolsLimbuLinearBIdeogramsLinearBSyllabaryLowSurrogatesMalayalamMathematicalOperatorsMiscellaneousSymbolsMiscellaneousSymbolsandArrowsMiscellaneousTechnicalMongolianMyanmarNumberFormsOghamOldItalicOpticalCharacterRecognitionOriyaOsmanyaPrivateUsePrivateUseAreaRunicShavianSinhalaSmallFormVariantsSpacingModifierLettersSpecialsSuperscriptsandSubscriptsSupplementalArrows-ASupplementalArrows-BSupplementaryPrivateUseArea-ASupplementaryPrivateUseArea-BSyriacTagalogTagbanwaTagsTaiLeTaiXuanJingSymbolsTamilTeluguThaanaThaiTibetanUgariticVariationSelectorsVariationSelectorsSupplementYiRadicalsYiSyllablesYijingHexagramSymbolsCJKCompatibilityIdeographsSupplementCJKUnifiedIdeographsExtensionACJKUnifiedIdeographsExtensionBCombiningDiacriticalMarksforSymbolsIdeographicDescriptionCharactersMathematicalAlphanumericSymbolsMiscellaneousMathematicalSymbols-AMiscellaneousMathematicalSymbols-BSupplementalMathematicalOperatorsUnifiedCanadianAboriginalSyllabicsxmlMalloc failed ! xmlRealloc failed ! vsnprintf failed ! xmlreader.c#text#cdata-section#comment#document#document-fragmentxmlNewTextReader : malloc failed xmlTextReaderSetup : malloc failed d,4DT,4p0@`Pppp,tt44,,,T(PPP((((((Pf88f888888PPPPP`hP0pP8hpX@(xX0(``Px0pHp8AAu)5X|~| {~|~z}~P~}~}~k{8{{P~܅&܋3lE,Ĉd,relaxng.callocating states storing states validating allocating define failed to validate type %s ID %s redefined failed to compare type %s Internal error: no state Internal error: no define Internal error: %s Extra data in list: %s Expecting element %s, got %s Error validating datatype %s Error validating value %s Error validating list No top grammar defined Extra data in the document Unknown error ! Unknown error code %d %s interleavenotAllowedexceptdatatypedefexternalRefzeroOrMoreoneOrMoreadding states getting element list Error refs definitions '%s' Error refs definitions pushing error building group nullbuilding choice combineinterleave%dxmlRelaxNGParse: %s is empty datatypeLibraryUnknown attribute %s on %s adding document allocating include Failed to load include %s nsNameanyNameExpecting an except node except has no content nothingname '%s' is not an NCName http://www.w3.org/2000/xmlnsnsName has no ns attribute Element choice is empty :/#?adding types library in interleave computation open-name-classnonameNULL definition listempty: had a child node text: had a child node Element %s is empty ref has no name ref is not empty data has no type param has no name parentRef has no name parentRef is not empty Mixed is empty start has no children element empty is not empty start more than one children grammar has no children define has no name define has no children Include node has no data Include document is empty create interleaves Element interleave is empty building parser schemasRelaxNG: no document RelaxNG has no top grammar TODO building context Detected a cycle in %s references Type %s doesn't allow value '%s' Internal: interleave block has no data Invalid sequence in interleave Extra element %s in interleave Expecting a namespace for element %s Element %s has wrong namespace: expecting %s Did not expect element %s there Did not expect text in element %s content Expecting no namespace for element %s Expecting element %s to be empty Expecting an element %s, got nothing Expecting an element got text Element %s failed to validate attributes Element %s failed to validate content Element %s has extra content: %s Invalid attribute %s for element %s Datatype element %s contains no data Datatype element %s has child elements Value element %s has child elements List element %s has child elements RNG internal error trying to compile %s http://relaxng.org/ns/structure/1.0Internal error: no grammar in CheckReference %s Internal error: reference has content in CheckReference %s Reference %s has no matching definition Attributes conflicts in group Found forbidden pattern data/except//ref Internal found no define for parent refs Internal found no define for ref %s Found forbidden pattern data/except//element(ref) Found forbidden pattern list//element(ref) Found forbidden pattern attribute//element(ref) Element %s attributes have a content type error Element %s has a content type error Found forbidden pattern attribute//attribute Found forbidden pattern list//attribute Found forbidden pattern oneOrMore//group//attribute Found forbidden pattern oneOrMore//interleave//attribute Found forbidden pattern data/except//attribute Found forbidden pattern start//attribute Found anyName attribute without oneOrMore ancestor Found nsName attribute without oneOrMore ancestor Found forbidden pattern data/except//oneOrMore Found forbidden pattern start//oneOrMore Found forbidden pattern list//list Found forbidden pattern data/except//list Found forbidden pattern start//list Found forbidden pattern data/except//group Found forbidden pattern start//group Found forbidden pattern list//interleave Found forbidden pattern data/except//interleave Found forbidden pattern start//interleave Found forbidden pattern start//data Found forbidden pattern start//value Found forbidden pattern list//text Found forbidden pattern data/except//text Found forbidden pattern start//text Found forbidden pattern data/except//empty Found forbidden pattern start//empty Defines for %s use both 'choice' and 'interleave' Defines for %s use unknown combine value '%s'' Some defines for %s needs the combine attribute Failed to create interleaves hash table Failed to add %s to hash table element %s doesn't allow foreign elements Attribute %s is not allowed on %s Attribute %s contains invalid URI %s Attribute %s URI %s is not absolute Attribute %s URI %s has a fragment ID Incorrect URI for externalRef %s Fragment forbidden in URI for externalRef %s Detected an externalRef recursion for %s xmlRelaxNG: could not load %s xmlRelaxNG: allocate memory for doc %s Failed to load externalRef %s xmlRelaxNGParse: include has no href attribute Failed to compute URL for include %s Detected an Include recursion for %s xmlRelaxNG: included document is empty %s xmlRelaxNG: included document %s root is not a grammar xmlRelaxNG: include %s has a start but not the included grammar xmlRelaxNG: include %s has define without name xmlRelaxNG: include %s has a define %s but not the included grammar Failed to create a name %s element xmlRelaxNGParse: no namespace for prefix %s Found nsName/except//nsName forbidden construct Found anyName/except//anyName forbidden construct Found nsName/except//anyName forbidden construct xmlRelaxNGParse: externalRef has no href attribute Failed to compute URL for externalRef %s exceptNameClass allows only a single except node Element %s name '%s' is not an NCName Attribute with namespace '%s' is not allowed Attribute with QName 'xmlns' is not allowed expecting name, anyName, nsName or choice : got %s Relax-NG types library '%s' already registered Relax-NG types library failed to register '%s' Element or text conflicts in interleave Attributes conflicts in interleave callback on %s missing context callback on %s missing define callback on %s define is not element xmlRelaxNGParseattribute: attribute has no children attribute has invalid content RNG Internal error, noop found in attribute attribute has multiple children ref name '%s' is not an NCName Could not create references hash data type '%s' is not an NCName Use of unregistered type library '%s' Internal error with type library '%s': no 'have' Error type '%s' is not exported by type library '%s' http://www.w3.org/2001/XMLSchema-datatypesType library '%s' does not allow type parameters Element data has unexpected content %s value type '%s' is not an NCName Expecting a single text value for content Element has no content Value '%s' is not acceptable for type '%s' xmlRelaxNGParse: notAllowed element is not empty Use of parentRef without a parent grammar parentRef name '%s' is not an NCName Internal error parentRef definitions '%s' Unexpected node %s is not a pattern xmlRelaxNGParseElement: element has no children xmlRelaxNGParseElement: element has no content RNG Internal error, start found in element RNG Internal error, param found in element RNG Internal error, except found in element RNG Internal error, noop found in element element notAllowed is not empty define name '%s' is not an NCName Could not create definition hash Internal error on define aggregation of %s Include document root is not a grammar grammar has unexpected child %s Element has no Internal error: start element not found use both 'choice' and 'interleave' uses unknown combine value '%s'' Some element miss the combine attribute Failed to allocate sh table for Relax-NG types xmlRelaxNGParse: could not load %s xmlRelaxNGParse: could not parse schemas xmlRelaxNGParse: nothing to parse RelaxNG empty or failed to compile xmlns="http://relaxng.org/ns/structure/1.0" xqjLC<5.'   xmlSAX2StartDocumentxmlSAX2StartElementxmlns: %s not a valid URI xmlns:%s: %s not a valid URI Attribute %s in %s redefined xml:idxmlSAX2CharactersxmlSAX2TextNodexmlSAX2AttributeNsxmlSAX2StartElementNsxmlSAX2InternalSubsetxmlSAX2ExternalSubsetinvalid namespace declaration '%s' Avoid attribute ending with ':' like '%s' Empty namespace name for prefix %s Namespace prefix %s of attribute %s is not defined xml:id : attribute value %s is not an NCName Validation failed: no DTD found !Namespace prefix %s is not defined Namespace prefix %s was not found Namespace default prefix was not found xmlSAX2Characters: xmlStrdup returned NULLxmlSAX2Characters overflow preventedxmlSAX2Characters: huge text nodeSAX.xmlSAX2NotationDecl(%s) externalID or PublicID missing SAX.xmlSAX2NotationDecl(%s) called while not in subset SAX.xmlSAX2ElementDecl(%s) called while not in subset xml:id : attribute type should be ID SAX.xmlSAX2AttributeDecl(%s) called while not in subset Entity(%s) already defined in the internal subset Entity(%s) already defined in the external subset SAX.xmlSAX2UnparsedEntityDecl(%s) called while not in subset SAX.xmlSAX2EntityDecl(%s) called while not in subset Entity(%s) document marked standalone but requires external subset SAX.startDocument(): out of memory xmlTextWriterVSprintf : out of memory! xmlTextWriterWriteDocCallback : XML error %d ! xmlTextWriterCloseDocCallback : XML error %d ! xmlNewTextWriter : out of memory! xmlNewTextWriterFilename : cannot open uri xmlNewTextWriterFilename : out of memory! xmlNewTextWriterMemory : out of memory! xmlNewTextWriterPushParser : invalid context! xmlNewTextWriterPushParser : error at xmlOutputBufferCreateIO! xmlNewTextWriterPushParser : error at xmlNewTextWriter! xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt! xmlNewTextWriterDoc : error at xmlNewDoc! xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser! xmlNewTextWriterTree : invalid document tree! xmlTextWriterStartDocument : invalid writer! xmlTextWriterStartDocument : not allowed in this context! xmlTextWriterStartDocument : unsupported encoding xmlTextWriterEndComment : invalid writer! xmlTextWriterEndComment : not allowed in this context! xmlTextWriterStartAttributeNS : out of memory! xmlTextWriterStartComment : invalid writer! xmlTextWriterStartElement : out of memory! xmlTextWriterStartElementNS : out of memory! xmlTextWriterWriteRawLen : invalid writer! xmlTextWriterWriteRawLen : invalid content! xmlTextWriterWriteVFormatComment : invalid writer! xmlTextWriterStartPI : target name [Xx][Mm][Ll] is reserved for xml standardization! xmlTextWriterStartPI : nested PI! xmlTextWriterStartPI : out of memory! xmlTextWriterStartCDATA : CDATA not allowed in this context! xmlTextWriterStartCDATA : out of memory! xmlTextWriterStartDTD : DTD allowed only in prolog! xmlTextWriterStartDTD : out of memory! xmlTextWriterStartDTD : system identifier needed! xmlTextWriterStartDTDElement : out of memory! xmlTextWriterStartDTDAttlist : out of memory! xmlTextWriterWriteDTDExternalEntityContents: xmlTextWriterPtr invalid! xmlTextWriterWriteDTDExternalEntityContents: you must call xmlTextWriterStartDTDEntity before the call to this function! xmlTextWriterWriteDTDExternalEntityContents: notation not allowed with parameter entities! xmlTextWriterWriteDTDExternalEntityContents: system identifier needed! xmlTextWriterEndDocument : invalid writer! > ?H>??0?H>AHBBAAABR|RSSSSRRRR[|\|\|\l\l\\\<\<\<\<\<\<\<\<\<\[0123456789ABCDEFABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/00!0)0N@@FF0010500000`if o f o f o f o f o PY )E`aKRpp  < < > L M M Q T b c   < < > > ? ? @ B G H K M p q   < < > C G H K M V W   > D F H J M U V   > C F H J M W W 114:GN557799>>??q *0/0000014>AHJ~P OQ\^1VYYa!:AJq 9 = = X a     ( * 0 2 3 5 6 8 9 Y \ ^ ^ r t     ( * 0 2 3 6 9 = = \ ] _ a     ( * 3 5 9 ` a     ( * 9 ` a .0023@E@GIi    <<>>@@LLNNPPTUYY_acceeggiimnrsuu EHMPWYY[[]]_}&!&!*!+!.!.!!!A00001,1}{zz`}}}P}{܅̄T\ąxhXH8(؉ȉEUoo_բ Ī̝̝̝y8̝̝" ̝̝ʩͱ-fAQAsustring is not in UTF-8 invalid character value creating saving contextcreating encoding buffer <>& id=" xml:lang=" lang="http://www.w3.org/1999/xhtml" />"1.0" standalone="no" standalone="yes" [ creating outputxmlEscapeEntities : char out of range -//W3C//DTD XHTML 1.0 Strict//EN-//W3C//DTD XHTML 1.0 Frameset//EN-//W3C//DTD XHTML 1.0 Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd xmlns="http://www.w3.org/1999/xhtml">?H@HCC(D(XD<FhHI\XIxIIJ8JXJ hJ xJ4LMP\TY`eLfgr(stxu8vPwx(zD}}}}}(8P|8PHt(؄x8H(XDXؑHpH(XtH Xp8XHlȷx@|hȽX(8$xX@x(hd8(8h( <( P    lXHLx4ht( ph(\!8) 8*X*x+++x-|--./H 0 0 1 X10 1D 2 x4 4 6, h8 9 h;H 8< HA C DX El E F UhVhW0(XLYZx[8\]]0^L`x`Xad8deh8fHffxg(gPhxHi(jj,kXXmm@THx8xXxȎ,Xhx 4xx0hDhxdx(XL8(8d8x Ȯ x xpȷط8ؾ$xpxx 84(HH\XH$\(xL  ( X4!h!H!!4"`""H#4#x##8#X#$$l$x$$H %4%`%%%%&<&P&8d&&&H'8'L'`'X|''8((T(p((((((h),)Xd))x))h)*(,*P**8*+(+t++,L,X,8,h -`-X-h--.<. .( .x .H / / 0p0H0 1(h1x1 2HH22($3@3hl3H3h3334,4X4X!4"5" 5#L5h#h5$5$5&5H&5'D6x'x6X(6X+ 7h+47+`7X.7X/8/,8h0H80t8H182 94l9799 :;:X>8;A;B;B(<8C\<C<XD<(E=HT=Ix=J=L=L=]>``?a?8c?dD@(f@Xf@g@iTAXkAxtLBvBwBxB8zXCH}Cx~XD8DXE`EاEETFXFhFFȭFخHGG8GHH4H`H(HH8IhI(|IHIIJ8TJJJKdKxKKKKtL8LLLMH@MhTMxMMM(NLNN(NOhhOHOOxOPxXPlP8Qx QhY@YH@YCZ(FLZF|ZGZhGZXHZI0[L[P\Q\xR$]Zp]XZ]Z]8[]\^x`^f$_Hip_hi_Xm`np`8o`Hp`p8aqa(sbsDbtb(z,ch{c{c(|c}$d8~Hd(dd(dhde4e8Xe(exeȂe؂ee,f8@fdf8f8f؆g؇`g؈ggg(gh hȋ8h`h(thxhhhHi0i؍Pipi8ihii؎i jH@jx`jjjjHjxk(kؐHkpkHkkkl( lhHlhlؒllHlxl m@m`mXmmȔmm8nh8nXnȕxnn(nHnnȖo$o8ohXo|o8oooop@pؙXplpppHppțq8qqXqrXPrrXrx0sأssȤss4tHt8tȧtt0u\uX0v|vȿvvHw8wxwwHwwxx$x8xHLx`xtxhxxxy|yyz4zH`ztzzzzxzzX{0{{H{H{x| |x@|l|(|||h|}(}t}H}}}h}}x~$~8~L~~~8HdXh0X\8@8L8(Ă80\xX8@lxĄh(@\Xp8   TxІ0HćxHH$Ȉ*, 3pH4x7>TX??HDF\FGHH(IPY(ZHZ0ZP[de (e4HeHxe\HfȐgidlmoHpqhq (rhrr(s4hsPshu|uv8w Hw whHx8yyĕyyz8z,hz@zTzhz|({X{{{̖{|H|x||0|D}Xh}l}X~(((؀`tx((\ȇh؉4p88xȐȓ؛HȜܜX(lHԝX XHdx؝̞Hؠ<(Xx|ȟh@(DXԡhh\آX@xdHX\hȶ̤X XTX\xhX@X8D(x8P xhX hԬ8\XHXxxxܮ,x|dxİ8$xHxHXX ĵ,()8*P,;TxUԺU8VLWWYHZ[м[_T(bejPn8p p48qdqqHrrxȑtpȦ(<XH$Xpxh@|H8p((tT8hx|801$x2<3<(=xEPHaLHa`bkh8x $ؤ(ȩHh88h(h 4XH\HpH,@hTxhȽ|X80DXX <8PXdxX8PhHX`x|h.8.4H.HH//334$848H4L4`85tH5h566667,(7@H7Th7h7|7777888X8x8808D8X8l989X9x99999 : 8:4X:Hx:\:p:::;8;X;x;;;$;8;L<`88>X>x>>>>>,?@(?TH?hh?|????@(@H@h@@0@D@X@lA(AHAhAAAAA B (B4HBHxB\BpBBBC8CXCxCCC$C8CLD`8DtXDxDDDDDE8EXE(xE<EPEdExEF8FXFxFFFXGhG,xG@H(H8HHHXHhH xH H4HHH\HpHHHHII(I8IHI$XI8hILxI`ItIIIhJJJ8KXKxK(KHKhHLxLM8MhM M M4XP|QT$U`hXhY(ZL[\\] ^L_x`abbhc cLdXg8iXii<jhklXmpdqrtu$xw`xxHyy8z$|X}}x~~,@hTp(h؅,X@T(hX|ȇxȈh؊H\p(ȋ؋ȍ0(DXdhțH ȝ4HpȡH,DXXؤ|hئ,ȭXخh`XDȱ(,(X H` X  8 L  x H X`  Ⱦ 84 H X  0 H|   XH8xxP(x`t(h hL0H8Lx lHxxHH<X$ t8 X$%<+,h.<33x:@<X?]`XaHbXe`ffgg<(j؀8H(L  Ȑ  ȑ x!(P!!!H"h"("ؘ<"("""#<#(t##X#x##$X`$t$x$8$X$$<%P%xp%ȭ%%خ%(%x0&&X'`'ؽ'8'X(x(0(D(X(Hl(X(h(H)D))))*<*Xh**+h++8,T,,X4-X-h-x-8L...xL/8/H08H0x01x1h2x202D2X28l22h2222X,3`3(3x348$4x\4445X45P5|5556@6X 6 6 787\777h8Hd88x8D9h999$:L:hx:(::X ;8; T; ;!;$;H%4<%`<X&|<&<8'<' =8(8=(d=H)=)=(*=*>,T>x->->(.>.?04?0h?0?81?1?H5(@7@7@7@X8 A9(A:AX;A;A< B<(B>Bh?B@B@ CXA`CB|ChBCBCCDETD8FDFDH EI4E(JpEXJEJEJEKEKELFLFL,FL@FMTFHMhFhMFNFNFxO@GPGPGPG(QHxQ,HWxHXZH\IX`I8fTJHgJXgJgJgJhK8hKh(KiFAA  ABB C CBH T `?^FBB B(A0A8H Q G 8A0A(B BBBD < h@HBBA A(Dt (A ABBD $xBEJ AA LHDCBBB B(A0A8G 8A0A(B BBBH I1ET G P0IFEDG Y AAE SAA$I'EDG TAA8IKAA f NDK ZIB$PJ.EAG WDALx$JFBB B(A0D8G$ 8A0A(B BBBJ LLFBB B(A0D8G$ 8A0A(B BBBJ L$OFBB B(A0D8J 8A0A(B BBBJ LhQUFBB B(A0D8G 8A0A(B BBBD S'HP H FSYJHT1HP H IhT#(T,L<T6XBB B(A0D8GP8A0A(B BBBJHUFEB B(A0A8G 8A0A(B BBBA d]HQI A(B0B8B@BHBPBXB`BhBpVD A D B A(B0B8B@BHBPBXB`BhApH OH B(B0B8B@BHBPBXB`IDld]A_[ A(D0B8B@BHAPDXB`BhBpVO J DL E(D0B8B@BHAPDXB`BhBpIAH]gBBB B(A0A8D@U 8D0A(B BBBH l _A_Z A(D0A8E@BHBPBXB`BhBpVO J DL E(D0A8D@BHBPBXB`BhBpIA4L`FAA ] ABH ABd`uLM I(D0B8B@BHAPDXB`BhBpIDWOL B(B0B8B@BHBPBXB`IDl0\aEmA A(D0B8B@BHDPEXB`BhApXO E BK A(D0B8B@BHDPDXB`BhApKAaQX G ^b 8bFBA A(D0 (D ABBB 0bmDJ CAAHH @D8cEAG AAH sRLJKHfFAA G  AABF YEJKPxjFBA A(Gd (A ABBE ]RLJK(l[@lm/`Tm#ODD F0E  AABJ Z  CABH   AABJ F0ToPo (\oJAG `DA( oEID i DAH \84pFBA A(D0J (D ABBG O (D ABBH D (F ABBI LpFBD A(D0m (D ABBI  (D ABBK ,qFDA C ABG LdrFBD D(D0 (D ABBA m (D ABBJ ,hsOAA ABu!(u'EAD  AAF z|LM G ${1JYH{!JP0\{4D{[ODK c AAE DCAH@||XDA ABHH AB$}#ECD RCA$}#ECD RCA$}#ECD RCA08}DEAF V CAJ OCAl}h<L~OHDD X CBC HS 8\BAA { ABF A ABA H7BEE E(D0D8G@ 8C0A(B BBBC lH% wMM H(B0B8B@BHAPDXB`BhApOaEZPM H(B0B8B@BHBPBXB`BhApH4ZYM F(D0B8B@BHAPDXB`BhApKx܊A_L B(A0A8D@BHBPHXD`EhBpBxAKK D DF B(A0A8D@BHBPHXD`DhBpBxAKAplAAI A(B0B8B@BHDPEXB`BhApWK D BK A(D0B8B@BHDPDXB`BhApKA G l\ZPG I(D0B8B@AHCPDXB`BhBpIaFPDM J(D0B8B@BHAPDXB`BhBpI,PJ D F J `H`PBBB B(A0A8DP 8A0A(B BBBE s 8A0A(B BBBK ,xBAA  ABJ ؐ(T(<ACG k AAA lhTA_L I(D0A8E@BHBPBXB`BhApXO G DL C(D0A8D@BHBPBXB`BhApKAlA_L I(D0B8B@BHAPEXB`BhApXO G DL C(D0B8B@BHAPDXB`BhApKAlHԔA_\ C(D0B8B@BHBPBXB`BhApXO G DM K(D0B8B@BHBPBXB`BhApKAx$A_L B(A0A8D@BHEPBXG`EhBpBxAXO K DF B(A0A8D@BHEPBXG`DhBpBxAKA@4 hLAD G0S  AABA pH0x ԕdi] (Qu J F Yg P FJL BBB B(D0A8G^ 8A0A(B BBBD ,!+AX G F,L! *Ar E r N P H F G |! SAo H Z!`)<!|Y\N F(A0A8D@BHBPBXD`DhBpBxBIh!DND B(B0B8B@BHAPGXB`BhBpOD G BL C(D0B8B@BHAPDXB`BhApKD\"p"0"ODG GAAEF L"bBEE D(D0 (A BBBF (A BBB#4C#pJC(8#An A Q O F J XLd#WBBB B(A0D8G 8A0A(B BBBJ H#BEB B(A0A8D`| 8A0A(B BBBI 4$<NDG Y AAD pC 8$ĭC0L$JDG cAAAF $lS<$SAA [ABEP wAB\$HAOBB A(D0G@ 0A(A BBBE T 0A(A BBBD u84%8fFBA D(D0z (C ABBE Pp%lsPEE E(G0D8K@IHHPU8A0A(B BBBK|%EKBB B(A0A8G@ 8A0A(B BBBE V 8A0A(B BBBH H@HD&hRFBB B(A0A8G 8A0A(B BBBE L&|FBB B(A0A8G 8A0A(B BBBD H&<FEB B(A0A8D` 8A0A(B BBBI 4,'ADG  AAG k FAF Ld'FEB B(A0A8G 8A0A(B BBBB `'H_BBB D(A0O (D BBBD s (L BBBC S (D BBBC L(DFEB B(A0A8Dj 8A0A(B BBBG Hh(|FEB B(A0A8D` 8A0A(B BBBC H(FEB B(A0A8D` 8D0A(B BBBI )\FEB B(A0C8DPJ 8D0A(B BBBE } 8A0A(B BBBA _ 8A0A(B BBBA  8F0A(B BBBB H)T FBE B(A0A8DZ 8A0A(B BBBG 8)DFAD ~ ABD S ABJ 8 *GFAA > ABG  ABH L\*{BBB B(A0A8GL 8A0A(B BBBI * #H*<FEB B(A0A8DZ 8A0A(B BBBG H +LFBB J(A0A8D@ 8D0A(B BBBA xX+FBB E(A0A8DP 8A0A(B BBBJ  8A0A(B BBBA P 8C0A(B BBBA (+EAG I DAA 4,CdAA ABJP 08,FAA D0u  AABK <l,`|FBB A(D0 (A BBBJ 0,9FDD G0  AABH H,!FEB B(A0A8DT 8A0A(B BBBE 8,-P)RFBA A(G@u (A ABBD Hh-t+/FBB B(A0A8G`G 8A0A(B BBBJ 8-X3FGD z ABB  ABD H-4FBB B(D0A8D@ 8D0A(B BBBF H<.p6FBB B(D0A8D@ 8D0A(B BBBA 4.8EDG0p AAF D CAH ,.8EG E DK _ CF \.|;3FEB B(A0A8Du 8A0A(B BBBD +GPAHP/\BFBB B(D0A8G@ 8D0A(B BBBF H/EGBEE B(A0A8DP 8D0A(B BBBD /LE]Y0M80MFBA A(G0| (C ABBK 8P0MzFBA A(G@ (A ABBH 0@QE~ E H0R!BBB E(A0C8DP 8A0A(B BBBI 00V~FAA G0  AABJ L(14XFBD A(G0 (D ABBC  (D ABBJ Hx1YRFBB B(A0A8Gpr 8A0A(B BBBG @1^BBB A(D0G@j 0A(A BBBD $2TbRTK ADA t02cvBBB E(A0A8G$ 8A0A(B BBBF INAR HEAE D2vBBB A(A0GU 0A(A BBBD 42{AAG k AAJ D IHK ((3|AADPQ AAG T3h} h3d}`|3}BBB B(A0A8G@Y 8K0A(B BBBJ D 8D0A(B BBBG 03, FDD G0  AABG D4EAG / CAH a CAC ^ CAF P\4'EAG  DAK d AAB { DAH D FAE 4ED G H4AFEE B(D0A8D`c 8D0A(B BBBE 5 !JSCH854FBB B(A0A8D@ 8D0A(B BBBD @5 FBB A(A0D@ 0A(A BBBE H5tFEB B(A0A8D@ 8D0A(B BBBG 6(6ē 8<6FDC J ABF r ABK x6D X6@PED D(D0I(A ABBP0R(D ABB46FAA h ABE VABH 75BEB B(D0D8GP 8D0A(B BBBF \l7i FBB A(A0D` 0A(A BBBH AhCpPhA`hCpNhB`L7BBEB A(A0 (D BBBK  (A BBBH 08tEAG c AAF uAAHP84NAG | AAD  HAK xA HP>7FBB B(A0A8D`h 8D0A(B BBBI > P>cKED D(G0V (J DEBF D(C ABBD4?GFDD \ DGK ACBHjFBB B(A0A8Dp 8A0A(B BBBG dxKWxAp}xMUxApPLCdHCXxDCWDG  KAK AKAS D LFJ |KAԑxDD)(DXEID m DAD ((DIJAG kDADTDiKAA  ABF o ABF x F <FdEAD n DAC K DAH FDA(LFEID  DAH |GHFBB B(A0A8D 8A0A(B BBBB $MZBgMWDmMZALL8ēLtSKG kH ~ KAN  OO)H(4OTFBB B(A0A8D@ 8D0A(B BBBK tHPDP0@PSKG YKAN ДPP)TPFBB B(A0A8D@ 8D0A(B BBBD HNPSHA@P|R0dxRXAA h ABK S RCJg G CE SOBB E(A0A8DPj 8F0A(B BBBI XP`YXBPeXI`YXAPNXM`]XAP|XM`^XBPIPPYXM`^XAPL`LVIIE D(A0 (A BBBH  (A BBBK X8ĖXFBA A(DP (A ABBA X#0XFAA D0  AABE HY#T\Y=BBB B(A0A8D@g 8D0A(B BBBF HMPPHA@8ZFBA A(D@ (A ABBB L,[FBB B(A0A8G 8A0A(B BBBI <@l]ODD s ABS ] CBF `]+]#|^JBBB B(A0D8G`k 8D0A(B BBBA hJp]hA`Q hJpR S hJpN DhJp]hA`O hJpN X(_`GA ABAH k(N0R(A P(L0^(A yHG@Ha^GD VABFP i(M0S(C șa7Z\@a~JAG g AAE N AAH ZFAA(b< bP,bd8bxDb @b\oED D(G0s (A ABBD @H0pP܉_FHB B(A0A8G 8A0A(B BBBA   , @܌ <T،FBA A(G (A ABBJ $xAAD AA(SBKC wIBlAmA A(D0B8B@BHDPEXB`BhApRA E BK A(D0B8B@BHDPDXB`BhApKA$XDKAML nAA8lBEA A(D (A ABBH @Aa F b F (̐BDK W ABE \ BBE I(G0C8DPK 8C0A(B BBBI T8F0A(B BBB4lБBDA  ABB DABd8qLM I(D0B8B@BHAPDXB`BhBpID[OL B(B0B8B@BHBPBXB`ID( ADG p AAB (8TADG  AAF HdoZAK q ABF \ HBB HB8 PDA e CBA hFBHD E @DKAA a ABG GPR 0LADQ O AAI DHA@aHG aFBGV  ABA |ħBBB B(A0A8DP 8A0A(B BBBC J 8F0A(B BBBG M 8F0A(B BBBA $DmAAG aAAll@A_Z A(D0A8E@BHBPBXB`BhBpPA F DL E(D0A8D@BHBPBXB`BhBpIA`ܨpYBEB B(A0A8D@ 8C0A(B BBBB ^ 8A0A(E BBBE P@l<BBA D(Jf (A ABBA UEJKHXBEB B(A0A8DP 8A0A(B BBBD @ܥBAD r DBI Q CBA ABd$hBBE B(A0A8DP 8A0A(B BBBG  8A0A(B BBBB LBBB B(A0A8J 8A0A(B BBBH Hܪ5BBB B(A0A8DB 8A0A(B BBBF H(ԳUBBB B(A0A8DpD 8A0A(B BBBD Lt=BBB B(A0A8J 8A0A(B BBBD īؽDثԽxFBB B(A0A8D@X8D0A(B BBBL BBB A(A0r (A BBBG  (C BBBH 8pKDD T CBD AFBG80fKDD j FBK ACBJ<drVHD oCBJH AFB4(_FKH r AFF ACB`KLtFEB B(A0A8Ds 8A0A(B BBBF LĭFBB B(A0A8D1 8A0A(B BBBC 8@MID  ABB { ABB P +(d(FAA i ABD P EDD V CAI  CAE  CAH d CAH LBJB B(A0A8Fg 8A0A(B BBBG H4(WBBB B(A0A8G`i 8A0A(B BBBD (<AAD@ AAF @ BBB A(A0G` 0A(A BBBE L|FBB B(A0A8G 8A0A(B BBBF @(TEAG0E AAD \ 8XFGA A(D0 (D ABBD 4аFAA h ABE SDBLdFEB B(A0A8Db 8A0A(B BBBG HX5FEE E(D0A8DP 8D0A(B BBBE L=FEB D(D0 (D BBBB S (D BBBC  L(FBB A(A0y (A BBBD v (A BBBC 8XtFED D(G0J (D ABBC  4kOAD x FAE DCAH  GOTMPFh4 XED D(D0h (A ABBI d (F ABBA D(F ABBAP0P OAC S ABG R FEK l FBD YDE4سD NAG l AAD XH  r<$BBE F(D0 (D BBBE PdsKED D(G0` (J DEBL D(C ABBD4GFDD Y DLI ACBH FEE D(D0 (A BBBK A(C BBB`<NBE D(D0Z (A BBBJ I(C BBBFH0x<OEE E(D0D8G@K 8P0A(B BBBO N8C0A(B BBBFH@PPED D(G0n (P CBBG D(C ABBDlpXEE E(D0D8G@C 8S0A(B BBBK L8C0A(B BBBH<LSKEE D(G0X(C BBBT lWEE D(C0Q (A BBBH I(C BBBF`xFBB B(A0A8DP| 8J0A(B BBBO O 8C0A(B BBBE dܷ@OBB B(A0A8D@{ 8A0A(B BBBH sC@LDFBB B(A0A8G* 8A0A(B BBBA 08QEKK b FAD DCAtȸdGBK D(G0R(A ABBIH0J (D ABBE  (K ABBE H@iFBE B(D0A8G` 8A0A(B BBBA `"FEE E(D0A8G@G 8D0A(B BBBK t 8C0A(B BBBH "<"FBB A(A0 (A BBBE D#(X#FJIG VAAF`#FBE E(D0A8G@ 8A0A(B BBBI S 8A0A(B BBBK $$H$FEA A(G0_ (D ABBL d(F ABBT\%XBA D(G0P (D ABBI t (C ABBD p\X&XBE D(D0S (D BBBL q (C BBBF @'4,'?DP C(D0B8B@BHBPBXB`BhApT4d'?DP C(D0B8B@BHBPBXB`BhApT 'A\\'JLE D(G0v (A ABBN T(A ABBFA08'YPG p`  IAH 4L)>DN K(F0B8B@BHBPBXB`BhApK)9`+eADG o FAN I AAE K TAH M IHJ Q KHL kTA(,|ADG K AAG ($.zKBD A(D0 (A ABBE ^ (D ABBI x (A ABBB a (M HBBF K(M HBB</ZFJ z LHH D AAJ `H/BDA  ABM B ABK . DBL 4@l4PBAA G L'u  AABH Hx6IADG  GAG V TAE d AAJ QKHĿ70ؿ7ADD C AAB WFML 77BDA | ABJ  ABK J ABK SFI\8BBB A(A0C (A BBBF Z (A BBBG g (A BBBJ { (A BBBF K (A BBBN g (A BBBJ  (A BBBJ k (F BBBI ( ,GyFDG {AABLLGFBA D(D0 (A ABBK T (A ABBF 0HK A 4HFAA G  AABA (\JEAG AAA KK A 8KK A (THLEAJ AAA LK A MK A (tN<EAJ AAA OK A LPg8PODJ ch  IAI P,Sld8SgEHG J FAK ^ FAK ^ FAK ^ FAK ^ FAK ^ FAK DAA(8TQh G VRTT4TJDD G CAC PH DLTJDG @ CAG ^CAFH ICA$HUoMk H KMK E $UJt B `H0VXDA j ABF b@VaBD D(G0B (A ABBF P8\0WNAG D AAD b AAD n(WEAG AAF ThXXBI E(D0C8G@i 8C0A(B BBBE ,YgODG  AAA G\LYOFBJ E(D0A8G & O W A n 8A0A(B BBBH oHLuBBB B(A0A8J@ 8D0A(B BBBK  v% v4hw3Hw=\wpLxXyB8yBBD D(D0t (A ABBF zy[ L CE@t{k[DG } AAK V AAH C <|-8P|bJ E X H U K XCU C D}@~#NAD G AAD D CAH CAKHVBFB B(A0A8DH 8A0A(B BBBH 80BEA A(D0j (D ABBH laFSdrЁUHBEF J(A0A8D` 8A0A(B BBBB 4Ѓ;DM K(D0B8B@BHAPDXB`BhBpI84؃BBA D(G (A ABBF pl HxBEE E(D0A8DP 8A0A(B BBBJ ,BAD a ABE (܆AFD l DAD X,`"FBD C(G0 (D ABBK P (C ABBA P(C ABB,4BAA x ABA `bDB B(A0A8F8A0A(B BBBFHt@?bBB B(A0A8D@8F0A(B BBBDH@f 8A0A(B BBBH 8BBB D(A0X (D BBBC ̎NHp H !LqFBB B(A0A8G9 8A0A(B BBBH PL8dxxt1FBA D(N0 (H ABBI K8H@NHKPDXD`BhApDxBBBI0D (A ABBD K8I@HHBPAXB`BhApBxBBBS0D (A ABBG K8L@HHBPBXB`BhBpBxBBB htWiPfRLaBBB B(A0D8G 8A0A(B BBBF OtZ8 44QFCG O AAG ]AAIL@\FBB B(A0A8G 8A0A(B BBBH HBEB B(D0D8J 8A0A(B BBBA 0FAA D  AABE ,̪NG s AG Y CD @qT\0XSDG [AAAS qد(a^AG mDA4(JDD \ DAE QAA`,FBB E(D0A8DP 8A0A(B BBBI  8C0A(B BBBA 4jBED A(D0S(A ABB$ThADD \AA8FHI j ABD f ABG 8,PVDD G FBC ACBJLhwED D(D0 (A ABBE vF0P$WUAD b ABA jABCC tF H 0OBBB B(A0A8D@ 8D0A(B BBBH DX4(XAD o ABA b ABK xF HFBB B(D0A8DP 8D0A(B BBBE 8cAD n AAA W AAF X<(QDD L0S AABDH04hNDD W DAF QAA(LvEID I DAH <RDG gDAW T DAG d p!BBE E(D0G8D` 8A0A(B BBBE ~ 8A0A(B BBBH (t8vEID M DAD XFBA A(D0` (D ABBI D (D DBBH D(C ABB hEL w AG  ,K4hDHtFBB B(A0D8D@8D0A(B BBBDFBB E(A0F8D@8D0A(B BBBLTzFD D(F0o (F ABBH D(C ABBD8(FBB D(A0(D BBB$d&EDG IGA 4(LoiDG `DA8FBB D(A0(D BBB$&EDG IGA0 4(D8oiDG `DA4p|~OG0R AG D AK sFADsPDD ^ ABG J GBM ACBJ4[JDG ` AAI DIAP,)JWG4l@WG0R HH D HL sFA1J\JHaDD q ABK K ABJ ZFBAl48XBK G(D0Y (D ABBN D(H ABBGH0P(A ABB1JbDpH I G  |reS reS (ThEK } AB Lz` ZVU|PRVR4EID G DAB T DAG $RgWh H thEL w AG {(0,nEID B DAG $\pRhVj F  hEL w AG \@FAA n ABG Q ABD d ABA Z ABC L ABA vRD8dsKDD ^ ABD ] AEE ACBJ3HNAG x AAH T DAG [AAS DH mP#MNh|AjE(drFAD f ABD H2FBB B(A0A8D`- 8A0A(B BBBG X\BA A(G0}(G ABBp0D(I ABBl[_ F a(EJDD cDAFYJC,MID ] ABF (xEDD  DAI 0 )D(1SRL`L}AH W AAA LA D CAA DCA0QADG ] AAE WDAPFAH  AAH LL D FAE QCAAP8JCD0 AAJ  AAL L0\E00 (,lJD q AH OAHdpBBB B(A0A8Dp 8C0A(B BBBD H 8A0A(B BBBF <4bAA G0o DABW0 tHLJD lAEtyoH(EDD0s AAF (|IJDD aDAH| 4OBA A(G0[ (D ABBJ B (A ABBH I (D ABBF XH0H`xBBB B(A0A8D`H 8D0A(B BBBE 8BBD D(G0 (D ABBH t8ZBA A(G@E (J ABBG pH@d (A ABBF C (A ABBG \FEA A(D0s (D ABBC d (D ABBC e (D ABBB @VBE E(D0A8GPbHPe 8J0A(B BBBH H 8G0D(B BBBM M 8C0A(B BBBG  8A0A(B BBBE <ZBE B(D0A8GP8A0A(B BBBCHPh 8D0A(B BBBK < 8J0D(B BBBE @qQd K a0`EAG0N AAC dDA0xEAG0N AAC dDA0EAG0N AAC dDA00EAG0N AAC dDA<0EAG0a AAH e DAN YAALpREC G0U DABk0f  IABF cq D a h cq D a(4 7c F esN 4HqLY K vJXBQB B(A0A8GpnxMBBVpPx`ABIpi 8A0A(B BBBA x[BBIpJx[ABIpx^BBIpxZBBLpxOMBIpx^BBIpM xMBBE tTfBGB D(A08K@BHBPV0A (A BBBA X8Y@DHBPM0h8P@BHBPM0x8K@BHBPH BGA A(G08V@BHBPL0T (A ABBA H!BEA A(D0g (A ABBA 8U@BHBPM0Hd8#QBGB A(A08V@BHBPL0K(A BBBDL$BJA A(D08U@BHBPM0\(A ABB%*Ab E A8%UBIA (U0B8B@M }ABhT&BBB A(A08M@JHBPI0M (A BBBA }8V@BHBPL0s(F BBBT<(LDD (M0G8B@I r ABE A IBE D(M0G8B@I ) BGE B(A0A8DP'X^`BhBpIPD 8A0A(B BBBA N 8D0A(B BBBB YXL`EhApNP 8I0A(B BBBE H$2eAFG  AAA Y(^0B8B@I  (^0B8B@I <H4OaHY G L L D D L T j F CD4jE``5FDD G0  AABB _  AABE M  AABG d  GABJ t6KBE B(A0A8D 8A0A(B BBBF p8I0A(B BBBN<p9'BEE E(A0D8G@GH[PXHA@Q 8A0A(B BBBE D 8P0A(B BBBK d 8D0A(B BBBO l: BBE B(A0A8Gi 8C0A(B BBBG &KRBWQKBH4hGBBB B(A0A8D` 8A0A(B BBBJ HdY44#*;DM K(D0B8B@BHAPDXB`BhBpI4l#*;DM K(D0B8B@BHAPDXB`BhBpIX#*KEA A(L@ (A ABBH (A ABBAC@8$l,HDOP F(D0B8B@BHBPBXB`BhApK4<$,;DM K(D0B8B@BHAPDXB`BhBpIDt$,KAA n ABB K AFF P$-KBE E(A0A8G@r 8A0A(B BBBD Y 8H0A(B BBBF 8H0A(B BBBD%.X@X%d.AAD  GAG R CAJ B CAA L%@/`BBB A(A0 (D FBBG P (D BBBF %P098&|0}DG UAAAX LAA <&0JFZHHQ<`&1AAD f FAE i FAH PCA&1 L&1@FBA A(D0 (A ABBD P (C ABBH '2HPA G 8 ' 3FDTI C(D0B8B@BHAPDXB`BhEpI<\' 3tGIE D(D0L(A BBBA('`3RAAD v AAA '3^BBB B(A0A8D 8A0A(B BBBD ; 8D0A(B BBBH WIHDBBBADBBEIC JCMHBBBBBBEIH( G@FBB B(A0A8DP 8C0A(B BBBF (I&HB [H)(IFBB B(A0A8DPs 8D0A(B BBBF `P)IFBB E(A0A8DPN 8D0A(B BBBH p 8A0A(B BBBA 4)xJkFAA { ABJ D AEF )J:<*JODA L0M AABGC0@*,K:T*XKTh*K>|*K*LLW*Ld*Lw*`M<*MX*MEX0+M{KAD k ABB x<D+(NOEA A(D0l(A ABBD`+NFBB B(A0A8DP 8D0A(B BBBK T 8F0A(B BBBM t+OFBB E(A0D8FP 8D0A(B BBBD s 8A0A(B BBBK D8D0A(B BBB`,OH(t,OEDG AAH (,PFOJV NAAA,P8(, Q;JDG IIA - Q -Q4-RH-Ss(\-T^NAG vDAG-4T\d-TOBB B(D0A8D@ 8F0A(B BBBE N8A0A(B BBBA.U8.UFAA  ABC C DBA T.XV/Amp.lV/Am.VL A (.0WREAD  DAG .dXK4.XJIG0J AAJ PH0$/Y8/$Yd0L/YYJAG j DAG P/YH/xZjYAD rp p ABE K ABJ 4/[,bAA ABIP 0],0^@0^cT0x^h0_`|0`_0\_~0_qL04``FBA A(D0 (D ABBH < (G DBBE L1DcFBA A(D0  (D ABBF x (D ABBA X1dvl10e L1,eFBB A(A0 (D BBBD c (D BBBK $1|fJL eADH 41gEAD  DAC n DAE (02gEAG N CAA \2`hvp2hdR2Di(2iIFAG mDAD2i[HF H(F0Z(A ABBIH083$BHB B(A0A8D` 8A0A(B BBBA Ht>h,BBB B(A0A8G` 8D0A(B BBBE L>LBDA G0h  CABD Z  AABB D FAB8?BGA A(G0r (A ABBF 8L?`BBA A(G@ (A ABBF <?$FBB A(A0 (A BBBF ,?OHA AB?d L @`FBB B(A0A8G% 8A0A(B BBBD \@p@̺G@OJB J(A0A8N@ 8A0A(B BBBE H@D8N0H(B BBBLAD$FBB B(A0A8G* 8A0A(B BBBG ,XA$OHA ABAApEL G W<A`bDA D0 AABAF0LAaBJB B(A0A8D 8D0A(B BBBH <LB0EAD  DAC N DAE fDAB BB&hBfJE E(A0D8G@ 8A0A(B BBBA L 8C0A(B BBBH PH4Cx}FBB B(A0A8D` 8D0A(B BBBC LCFBB E(A0A8G  8A0A(B BBBE HC|-FBB B(A0A8Dpm 8D0A(B BBBD HD`dFBB B(A0A8DPD8D0A(B BBBHhD FBB B(D0A8Dp 8D0A(B BBBD `DH1FBB B(A0A8GP 8D0A(B BBBD D 8C0A(B BBBH 0E$<EAD _ DAB FDA<LE0NEAD ^ DAC F DAE HDA\E@FBA A(D@D (D ABBE T (F ABBA H (D ABBG 0E?KDC ^ ABA G< F^ECG f DAF F DAE HDA<`F^ECG f DAF F DAE HDAF;Q[F#F(xFLF !BBB A(A0 (A BBBC y(A BBB(LGIGHA lABxG$DG KDA q ABD A CBB DABAGxT]]FG(HKBAH {AB(0H9JAD cAAD\H pH!H+H+H +H<)HX+Ht+H+I)$I)8I)LI)`I)tI8)IT)Ip)I)IVI"A\,IBDA  HBH ($JADG G AAK ,PJ<BDA G ABG J)4JBDD h ABK YEBJp(JADG0 AAF < KBBA A(G (A ABBD 0LK@\AAD ~ DAG FDADKlLDD M DBI CABJH DKLDD M DBI CABJH DLLDD M DBI CABJH DXLteKDD  CBB [ AEG AFBA8L BBA A(G@ (A ABBH LpLBBB B(A0A8DkEGBBHBBBBBBABIX 8A0A(B BBBE #BBBBKDBBBBHAB^<M`DcB A(G0B8B@BHHPEXB`BhBpIEM%HM4BBB B(A0A8Dp 8A0A(B BBBD @DNKDD j DBM C ABJ pdNBBE E(A0D8DPP 8A0A(B BBBG  8C0A(B BBBF ,NQGHA wABF OL84OxQ4HOQFAD j AAI DAAOF@O(XAD O AAB PH LAAJO=POLEB D(D0e (A BBBI A(C BBBA@P d TPh7DV F G I F8xPDEE D(D0(H BBBPQ]hKPLQ]hKPQ]hKQ-Ai$Q! 8QaJF H AGH\QPBBB E(D0A8DP 8A0A(B BBBA QND ^ F QIAG S AD HQBBB B(A0A8D@ 8D0A(B BBBG (4RAID X DAE `RHU C (RGBDD yABTR BEE D(D0L@C 0A(A BBBE A0A(A BBBHSsBBB B(A0A8D@ 8D0A(B BBBE \PSBBA A(D0v (D ABBG Y (D ABBF D (F ABBI <S\BBB A(A0n (A BBBC LSBBA A(D0h (D ABBE D (F ABBA @T,_AL a AA `dThTEE D(A0 (A BBBD K (A BBBF A(F BBBAHTIEE D(I0I (A BBBH g(A BBB,UhBAA c ABF $DUA^ A [ A `<lUP EIG J AAG N AAH TLK U fAL i AI 4U qFAG { AAE DNHHVT GBBB B(A0A8GP 8A0A(B BBBG TVX \hVTOIL  DPH [ ABB H A DGL (VYAGD q DAF @V\BKD V CBD C AFF PAD<8WRDD oAAEH D CAH DxWDBAD _ DBL j ABK A GBF 0WAID S DAJ gDA0Wh\AJD q DAK FDA8(XBEG A(G0V (D ABBK `dXBBB B(A0A8DPn 8A0A(B BBBJ f 8F0A(B BBBK 8X$ADG@THOPNXD`N@~ AAA `YBJB B(A0A8GLGBNa 8A0A(B BBBD @hYdBDD L@fHJPJXA`N@~  AABA PYBBE D(K0G@aHJPLXF`N@{ 0A(A BBBA XZBBB E(D0D8J`shBpBxBN`b 8A0A(B BBBA P\Z@BEE D(D0JPXB`BhBpNPf 0A(A BBBG 0ZHBDD G0  AABG 0Z%BGD I0d  AABA d[&BEG E(D0D8GPiXH`WXAPf 8A0A(B BBBE M XI`J D XI`B 8[|&BED D(J@p (A ABBA \[&WBEB B(A0A8GBBAW[ 8A0A(B BBBA X\'7BBB B(D0D8G`hBpBxBR`b 8A0A(B BBBC hx\(BHE D(D0Q (C BBBG h8L@BHBPV0F (A BBBE D8L@BHBP\H)BBA D(D0t (D ABBF b8J@PHBPM0D (A DBBH D8N@IHBPM0D (A DBBI d8N@LHBPM0Lt]X+pDdH D(D0D8D@DHBPBXB`BhBpBxBBANEd]x+BEE E(D0D8JpxBBBDAIpk 8A0A(B BBBD H,^0/BBD D(Q08K@LHBPI0I (A ABBF Xx^0BBB E(D0D8Q@NHKPLXB`I@I 8A0A(B BBBI h^h2 BEE B(D0G8G` 8A0A(B BBBF LhHpLxDQ`OhQpCxIM`8@_ 4FBEE D(K0S(M BBBH|_ 4dBEG G(G0N (J GBBI U(A ABBX_D4BBE E(K0A8D@i 8C0A(B BBBE ZHHPLXD`I@H$`4BHD A(D0u (C ABBH G8H@LHDPI0Pp`L5BBH A(D0t (D BBBA N8A@KHJPW0Q8D@`5,A^ I C``5BEE E(D0D8D`LhGpKxLDAN`~ 8A0A(B BBBF LHa6QTDD PABAH B(N0X(A (B0J(B La7BEF D(G@mHDPKXI`DhApN@b (A ABBA (a7OQHHl D lTbX8BEE G(D0G@mHDPKXH`DhApN@b 0A(A BBBA `lb8BBB E(G0D8G`xhJpExBDAW`| 8A0A(B BBBA $b\9 JP HDAH4bT:MW D ZFPJJ SFAp0c:+KED D(D0 (A ABBF Q (C ABBG B8K@T8A0I (A ABBG Xhch;GBEE E(K0D8F@HKPPHA@V 8A0A(B BBBC \8A0A(B BBBhdL<BED K(G0E (A ABBH D (A ABBF B8J@OHBPI0L8J@OHBPI0|d< xd<BEB E(A0A8DP 8A0A(B BBBG r 8A0A(B BBBD D 8C0A(B BBBA H e=BEB E(D0D8G`T 8A0A(B BBBE (Xe?@AAD @ CAF ,e@BAD  ABI DexBBAD  ABG ^ ABG d ABI \eC|BGB B(A0A8GAD_AB 8A0A(B BBBI \fLC_Ytf8L BBE E(A0A8JzBBBbd 8A0A(B BBBF 1EFJR BBDN  BBBE b BEDK MEDR^ BBDO PglQBBB B(A0A8DGBDa 8A0A(B BBBA WKDCS'KGBSKGAS$zRx , 0hU7 BBE B(D0D8G 8A0A(B BBBB BlAs EQ SBVBHOAO HB hBZALDVBBUAGQBN4i`KDHN FAD K BM FADHLiaBEE L(A0C8Gp 8A0A(B BBBA \itbIBBB B(A0A8D` 8A0A(B BBBG hHpLxAS`ide' BBB B(A0A8G`A 8D0A(B BBBA hHpPhB`^hEpPhA`5 8K0A(B BBBH <|jqBEE D(D0u (A BBBH jqFBBB B(A0A8DP 8A0A(B BBBC Y 8A0A(B BBBE  8A0A(B BBBE D 8C0A(B BBBA TksyBBB B(A0A8D 8A0A(B BBBD UBA[HNGQ]HNGQ YBAM ZZBBM HNLN lLBBE B(A0A8G 8A0A(B BBBB SYB HNAHOB# AJ GLNBIc KE MKIIWLNBImMKII,m,^D uAHH iA8@mYKDD k GBI AABD8|mYKDD k GBI AABD@mdDG z AAE `P eAAPmpqKED D(G0k (J ABBG D(A ABBF`PnBEE E(D0D8DPv 8A0A(B BBBC M 8A0A(B BBBI Hn8EIE D(A0_8H@HHEPX0A (C BBBB 8ofYED K(G0R(J DBB4 8F0A(B BBBH hHpPxBQ` hLpBxBF hPpThB`Hyl!BBB B(A0A8GP, 8A0A(B BBBI 0NMBMaIGBw AJ mIGBHJALLBNKLBIPHQAMIAnNMBIIOGNPIOGNLBBVI IBBB ]LSAe BB HRBgHVBČ)L̆GBBA A(D0 (D ABBC L (D DBBA  BBB B(D0A8D`2 8A0A(B BBBC hHpFxBN`hNpJxBN`hNpOhA`MhNpJxBN`hNpOhA`dhNpJxBN`hDpGhB`Dԇ8BBB B(D0D8GL_AILaA 8A0A(B BBBE LLBIPEBLMPEBLMOLBIiHLDLOLBIcOQEXMTAZNQBI|OQEURCJIX;EAG0k8E@FHBPI0{8N@GHBPI0q AAD 8N@LHBPI0xdBBE B(A0A8GLMBNNLBI 8A0A(B BBBB DMOMWpNLBMsNFANLHIMOMWNLBIMLQBKaBgNIBZDGPKINLHINFAHFAsIQBIMMLCKPIQBIFGNGN NIBJ cXLT NLBM"BFAdlfFBB B(A0A8DP 8A0A(B BBBA  8A0A(B BBBE ltFBB B(A0A8D`DhIpFxFP`o 8A0A(B BBBL D8A0A(B BBB(h$AAG I AAD XBBB B(A0A8GP 8A0A(B BBBA UXN`LhBpIP<6h7,>@@ODJ ] DAI D(K0P8B@LAAILIHE C(A0 (A BBBI f (A BBBC ԍ^RG HgFBB B(A0A8DP7 8C0A(B BBBK P BBE B(A0A8D 8D0A(B BBBH 0\`yADK W FAB DCALFBB B(A0A8D 8A0A(B BBBF (\]AGG0\ AAC L BBB B(A0A8Dj 8A0A(B BBBA H\` BBB B(D0A8G@@ 8D0A(B BBBG H BBE B(A0A8G@y 8D0A(B BBBF PnKAA G0  AABF V  AABA C0\Hi[HE E(A0D8JP8A0A(B BBBGPP$#FBB B(A0A8Dq 8A0A(B BBBC  8A0A(B BBBB _ 8K0A(B BBBE ,SO^ C RNXP }BIB E(A0D8D@ 8D0A(B BBBD ;HQPDHA@H0$BBB B(A0A8DP 8A0A(B BBBG !QBB B(D0D8DP0 8A0A(B BBBC O 8A0A(B BBBG  8A0A(B BBBA RH<#BEB B(A0A8D 8D0A(B BBBA H@2BEB B(A0A8DP 8C0A(B BBBB HDBBB B(A0A8D@ 8D0A(B BBBH ddHEOBB A(D0 (A BBBB P`0u (A BBBD $GJ| J V J XLxHBBA D(D0W (D ABBC T (D DBBA 4DHNDD  DAE QAA(|IQFAG wDA`I/BBB A(A0 (D BBBE C (D BBBK  (D BBBF H KBBB B(A0A8D`n 8A0A(B BBBA HXa<BBB E(A0A8GP 8D0A(B BBBF Hc)BBB B(A0A8DPp 8D0A(B BBBE (dADD0b AAC HpfsBBB B(D0A8DP 8C0A(B BBBC LhjBBB B(D0A8G 8A0A(B BBBD HDnBEB B(D0A8Dp 8A0A(B BBBK o9 pEO D o K <p9Hp(TpEAD z DAG 8\qFAA  ABE F ABG 4qEAD  DAB F DAE 8Xr!OHA  ABG MAB80Ls)FAA ' ABF  ABH l@vLv5xv!@vNWLS  NHE AKHt xa<xRWDG0[ AAA  AAD v(@zOb G FBA_8lzFAF x ABH F CBE 4D{EAD i AAK I CAC ({EID  DAB 0 P|QNAG " DAC P@|}T}!h}5L|}bFBB B(A0A8GD 8A0A(B BBBE l<BEE D(A0 (D BBBA Ht>H\JBBB B(A0A8D` 8A0A(B BBBE qER I PGKm H 4/TZ4LEAD  DAC R DAI HPKj K O0h$LEDD V DAH VDAx@}OBA A(G0  (D ABBH K (A ABBG D (A ABBF PA0dDZXBE E(A0A8Dp8 8D0A(B BBBA FpH<FBB B(A0A8DP 8D0A(B BBBE |dBB B(G0A8GpN 8D0A(B BBBD Pp@PpLT`<tHT1###ԖЖp̖AtI A(B0B8B@BHDPEXB`BhApWK I J F RK A(D0B8B@BHDPDXB`BhApKA8t8ZYNC A(D0B8B@BHDPDXB`BhApK8\ZYNC A(D0B8B@BHDPDXB`BhApK,tFAA Q ABD З@0ܗ"NAG  AAB w AAG XH 0tȘNAG T DAI p(DEADPX AAD @fJAG f AAF PH DDAlA|D J(B0B8B@BHAPDXB`BhBpP_ C YF K(D0B8B@BHAPDXB`BhBpIAHpNAG | AAD l AAJ mKAO H BBB E(A0A8Gp 8A0A(B BBBJ L SFBB B(A0A8G{ 8A0A(B BBBF Lp,BBE D(D0` (A BBBH Y (A BBBH \BBG E(D0D8G 8A0A(B BBBF ]IK| \6FBB B(A0A8D 8K0A(B BBBO O 8A0A(B BBBG  8D0A(B BBBO XBE A(C0s (A BBBC  (A BBBJ ^(A BBBKH0A (A BBBH ,@`TTBE D(D0W(A BBBGH0[(A BBB\tfBB E(D0G8J`i8A0A(B BBBIH`LNAG M AAK o AAO DAAJH LhNAG M AAK o AAO DAAJH l$AmD A(D0B8B@BHAPEXB`BhApXY G BL C(D0B8B@BHAPDXB`BhApKAH(t[AG r AAI D LHH \LHP <t8[IG ^ AAE D LHH pX3FBB B(A0A8D`hOpBxB[`Y 8A0A(B BBBG llOBD D(G0X (L HBBH U (A ABBE (C ABBQ0OBD D(G0X (L HBBH G (A ABBK f (F HBBH z8e@AHDPBXB`BhBpBxBBBI0KH0L$NDG0] DAE Z AAD Q AAE `H0tXT#p##&0]YCG ^ AAE RAA HN8DLHI0dWEAD y DAH DAA0$GEAD j DAG DAA@@~EAG b AAG } AAI  AAH (|HBAD }AB<<sYDG ]FAHH DCAH|94 ;DM K(D0B8B@BHBPBXB`BhApK4RKN L(D0B8B@BHBPBXB`BhApKH<BBJ B(D0A8D` 8A0A(B BBBA 4L4DL E(D0A8D@BHBPBXB`BhBpI2EP A ;HV A (@fEID  DAK (sEED i DAD (kECD a DAF ,@FAA @ ABE 8p`FJI A(G (A ABBB @SFBB A(A0G 0A(A BBBF 0NAG s DAB `P$XFBB A(A0 (A BBBE I (F BBBC (xEAD g CAK hcJB L FA@aEA A(G0 (A ABBB PH pFBB B(A0A8Dp 8A0A(B BBBA (X$GFDD k ABD HHBBB B(D0A8G@ 8D0A(B BBBG 8OFAA @ FBH P ABE T aBD A(G0 (A ABBC P (F ABBE HdxRFBB B(A0A8D@ 8D0A(B BBBA 8FAA J CBI F ABG 83FAA F CBE { ABJ ((BAAD@d AAD 8TFBA A(D0a (A ABBK $+EGG IGC(WEAG u CAJ K A HXAD y CBE X ABA z CBE P(L GFDD k ABD (xDfEDD u CAA K A (,WEAG z CAE `K G HIFBB B(A0A8Dp 8A0A(B BBBB HT4FBB B(A0A8D@X 8D0A(B BBBI ( WFAA } ABH @K A 0fUDA n ABE P<gFBB A(A0I (A BBBD \@K A (xOFDD s ABD (WFAA } ABH ,K A 0fUDA p ABC P< gFBB A(A0I (A BBBD `,K A @|aLA A(J0 (A ABBE 4|EAD p CAB F CAF (OFDD s ABD ($WFAA } ABH P<K A 0l2OAA  ABD 0nEAD K CAG ICA(OFDD s ABD (,BDD  ABA <PxBEE D(D0U (A BBBA L\BBB A(A0 (A BBBG P (A BBBA <0RDI O ABG Q CBB H,pBKF A ABI 80}BED C(G0Z (A ABBA (l AFAG hDAHD <BBB B(A0A8D 8D0A(B BBBE H8BGB B(A0A8D` 8A0A(B BBBH H0BGB B(A0A8D` 8A0A(B BBBH ||]BGB B(A0A8G@b 8F0F(B BBBE P 8A0A(B BBBA  8A0A(B BBBB HBB B(A0A8G@^ 8A0A(B BBBA pY@C 8D0A(B BBBE f 8F0A(B BBBE c 8A0A(B BBBB <OBB H(A0(A BBBH ,QKHA pABID&Xl&6L FBB E(A0H8Nh 8A0A(B BBBA H+FBB B(A0A8Dp 8A0A(B BBBD HD/FBB B(A0A8D@ 8D0A(B BBBC 030t$1C`1F1H43FEE E(D0D8GP 8A0A(B BBBG 0D5 KAA  ABG X(x6AFAG iDA86IIC  ABE K ABB <7KBD A(D0p(A ABBD8 <8aDD  ABL A ABD (\9BDA P ABF ,9VDG a AAD x4$:EFDD i ABF AAB4<:EFDD i ABF AAB4(T:EFDD i ABF AAB4`l:EFDD i ABF AAB(:9JDG \AAE(:UEHD e DAE (:UEID h DAA (;UEID f DAC 8H4;mFEG G(D0l (D ABBF h;&(;1EAD [ CAA ;;H;FBB B(A0A8D` 8A0A(B BBBK 48$?BBA A(D0(A ABB8p?JAD  KFL \AAJdP@KBB E(H0C8M 8A0A(B BBBG A`NUBEB B(A0A8G`x 8A0A(B BBBJ X 8A0A(B BBBF `xRKEB E(A0A8G` 8A0A(B BBBC xA`X0ZTBA A(D0 (D ABBG D (A ABBF p8[0RIP[WZBB B(A0D8GP 8A0A(B BBBA Q 8A0A(B BBBE I 8C0A(B BBBK HPTt]kPBD D(G0b(D ABBT0D(A ABBH@]FEE E(D0A8J 8A0A(B BBBK `P^3FBE E(D0D8GP 8A0A(B BBBH D 8H0A(B BBBC @,_sPBE D(D0{ (A BBBG G84h_zFDD D DBH A ABD Lp_FBB B(A0A8J5 8A0A(B BBBI \aXaTa @PaFBB A(A0G 0A(A BBBK @,b 0T(bFAA Gw  AABA 0bFAA G  AABJ @@c$FBB A(A0G 0A(A BBBF  ,d  (d ( $d <  dEID A DAH R(K0K8H@BHBPAXB`BhBpBxEI G AAD D(T0I8F@BHBPBXA`DhBpBxBI p dEDD u CAJ D(M0K8F@BHBPAXB`BhBpBxEI Z(L0D8B@BHBPBXB`BhEpI H8 enEAD a AAA O(L0D8B@BHBPBXB`BhEpI l (eEY J GW A(D0B8B@AHDPBXB`BhEpIF A OL D(B0B8B@BHBPBXE`IF hed  eAG AG , `fBBB B(A0D8Gz 8A0A(B BBBH yK _A~H F B B B D B E D B A K@ l$BBE D(D0G@ 0D(A BBBG @ mQDG Q FAD D CAH _FAA4H TnlFDG B FAF DCAA< naD`H A(G0B8B@BHBPEXB`BhApLFt n4fHB E(D0D8GPg 8A0A(B BBBK R8A0A(B BBBDHPD8 oGBD H(G@S(A ABBKH@X pOBB E(A0A8D@< 8D0A(B BBBI P0 rqJAG B DAG P(LrEAD  DAG 8< sFAA x ABE F ABG (xsEAD u DAD LxtYFBB B(A0A8DU 8D0A(B BBBD "AJj8$؆(FBI A(F0 (D ABBA p`̇>pBE B(D0A8DP 8A0A(B BBBE  8A0A(B BBBA @BDD  ABK E ABH SABH$BGD D(G0z (C ABBF D (C CBBA XdxtBBI C(D0 (D ABBG y (D ABBF R(D ABB vAG Z AA gNm E ] C ,D|BAD  ABJ H8BEB F(G0A8G`i 8A0A(B BBBG 0V BAA G@F  AABK D@50l|EAD Z DAG FDAH/FBB B(A0A8D`2 8A0A(B BBBB 8`FAA D ABA w AEC GNU` 5vyɠ .ATn{ҡ(:XgϢ 4LXiBP\hq}ˣݣڠwejry}Pwp,y`9 1ze x "pd&'kd,<9>hd WH\bg8h":>B8GKfxmr@w}pHxX8pp (`")@/x48?FPMSZ0_XfmtzP(xHHxH @p")FM`T[af0m`sRxS~` aXx8`8`0Px  H!x%)-309`>DJR@Wh]bho 5Hrpu}@p@p     "  &H *p .4 KQ h n t z  P  ! " & 0 2 03 X9 : > D  !&!<8!Bp!I"!N5!T!\H!af!h!!!!!@!h!!""""6t"8" "h """"'"+1"L"S0"Y`"^d "0x}'"("")"*"+"h4"<"E"8H"``"#a"!d"e"2d"y>"X\"x"} "0 "X " " "#  # #  #)#/xP *# %`&/ c&6 e&< f&C@ , xnwIOU[JPU[dalxU[Jwwww[w wxw `ze x}eOUInwOUInwOUInww w    `  ` zw  x``99`9z9e9[`ze[`ze[`ze[`ze[`ze[JwJeJjJJJyJ}JJPJgJJJJwJJ J,J JJyJJJ`JJ9JJJJJJ$J JJ'JJzJ+J J3JJeJJJJJJJJJyJXJ[J JJJJ8$`  e   xzzYvPYv+w+ +++`+z+[+3w3 33`3`<C<<eeePeeeeewe e,e eee`ee9eeeeeeJe$eze+e3eeeee[eOe eUexeenwee8w `z[ee xePOOOU O   U x nwUOxOx xUxxxnwIOIUPnwOnwUnwnw ee x`38w8 888`8z8[8wL461616eT4636jh#4636e0636r|-6`-6-616164636`16`16,6y46@36` 6}4636@56 ,6P*6,`)6 )6g&36P169@56`(6F4636h @5636U4636^4636u'6'6'6w@5636p@56'64636 6z`&6, @5636@6 @&6w360&64636y46366! $636546#6`K!6!616p6 6] 6 69p4636@6p4636@6p4636@6p4636@6p4636@6p4636@6Jy66$36@6U[626 6 4636@566'6@6p16?6@61@56'66 4636466346`6@6zD@5636YvO616 i636636`&6`6@6  6P36 @56,366,66J 6z366C6<6 &6<@ `6e4636@6 66@636646 ,64636P 46361@ 6606D66U4636x 4636f4636z4636@  606y4636X4636[h# 6nw 6 6O 6nw 6 @56 6 6@  616U 6nw 6x@56 6 6I  6nw 6@ 26nw' 6  6 6  463624636H 6z36p 6 4636 mXz`x pC$%/x alx[shqzpC$%/x alxeN` pC$%/x alxnwIUOnw`pC$%/x alx/x pC$%/x alx[shzC<f!yej  wg ypCnr%mpC$%/x alxh/nrpC$%/x alxh<mX8>EpC$%/x alxLT\menv ~[sz9 3e ,`$[  }yejw'rg yXy?P9 3e ,`$[  }yejw'rg yXy?m /x [sf9 3e ,`$[z[s9 3e ,`$[pC$%/x alxfmpC$%/x alxpC$%/x alx!pC$%/x pC$%/x alxm[snrhq~zpC$%\ >[smEpC$%/x alx[s ~pC$%[s' JP19`Yv/x ApC$%IpC$%[sN'pC$%/x alxOdW[s_9 3  }yejw'rg yXy?e,$[pC$%/x bn9 3e ,`$[  }yejw'rg yXy?XwpC$%/x alxXpC$%/x alxspC$%/x alxpC$%/x alx[snrmhz|`YvpC$%/x alx9 3e ,`$[  }yejw'rg yXy?1ppC$%/x alxpCbnzpC$%\n[s >E9 3e ,`$[  }yejw'rg yXy?  }yejw'rg yXy?eIpC$%/x alxfm[sz/x pC$%pC$%/x pC$%/x alx  }yejw'rg yXy?9 3e ,`$[  }yejw'rg yXy?XLhN9q/1118122.2K2b2s22222223353E3@8\3o3333<6$>6 g 0  @ A@H`P? T p* l 7q @@2`   ` R S@S_SUU UhtJQg9d &-Gaju} 6Odm2NWjz 5DM8[bqy'8F`Pf{"(08Jaj  &-49AJ]z(2?If , dh5p5o`X(5 e 0I6dXG oyo,oo(oojo* F6-- -0-@-P-`-p---------.. .0.@.P.`.p.........// /0/@/P/`/p/////////00 000@0P0`0p00000000011 101@1P1`1p11111111122 202@2P2`2p22222222233 303@3P3`3p33333333344 404@4P4`4p44444444455 505@5P5`5p55555555566 606@6P6`6p66666666677 707@7P7`7p77777777788 808@8P8`8p88888888899 909@9P9`9p999999999:: :0:@:P:`:p:::::::::;; ;0;@;P;`;p;;;;;;;;;<< <0<@<P<`<p<<<<<<<<<== =0=@=P=`=p=========>> >0>@>P>`>p>>>>>>>>>?? ?0?@?P?`?p?????????@@ @0@@@P@`@p@@@@@@@@@AA A0A@APA`ApAAAAAAAAABB B0B@BPB`BpBBBBBBBBBCC C0C@CPC`CpCCCCCCCCCDD D0D@DPD`DpDDDDDDDDDEE E0E@EPE`EpEEEEEEEEEFF F0F@FPF`FpFFFFFFFFFGG G0G@GPG`GpGGGGGGGGGHH H0H@HPH`HpHHHHHHHHHII I0I@IPI`IpIIIIIIIIIJJ J0J@JPJ`JpJJJJJJJJJKK K0K@KPK`KpKKKKKKKKKLL L0L@LPL`LpLLLLLLLLLMM M0M@MPM`MpMMMMMMMMMNN N0N@NPN`NpNNNNNNNNNOO O0O@OPO`OpOOOOOOOOOPP P0P@PPP`PpPPPPPPPPPQQ Q0Q@QPQ`QpQQQQQQQQQRR R0R@RPR`RpRRRRRRRRRSS S0S@SPS`SpSSSSSSSSSTT T0T@TPT`TpTTTTTTTTTUU U0U@UPU`UpUUUUUUUUUVV V0V@VPV`VpVVVVVVVVVWW W0W@WPW`WpWWWWWWWWWXX X0X@XPX`XpXXXXXXXXXYY Y0Y@YPY`YpYYYYYYYYYZZ Z0Z@ZPZ`ZpZZZZZZZZZ[[ [0[@[P[`[p[[[[[[[[[\\ \0\@\P\`\p\\\\\\\\\]] ]0]@]P]`]p]]]]]]]]]^^ ^0^@^P^`^p^^^^^^^^^__ _0_@_P_`_p_________`` `0`@`P```p`````````aa a0a@aPa`apaaaaaaaaabb b0b@bPb`bpbbbbbbbbbcc c0c@cPc`cpcccccccccdd d0d@dPd`dpdddddddddee e0e@ePe`epeeeeeeeeeff f0f@fPf`fpfffffffffgg g0g@gPg`gpggggggggghh h0h@hPh`hphhhhhhhhhii i0i@iPi`ipiiiiiiiiijj j0j@jPj`jpjjjjjjjjjkk k0k@kPk`kpkkkkkkkkkll l0l@lPl`lplllllllllmm m0m@mPm`mpmmmmmmmmmnn n0n@nPn`npnnnnnnnnnoo o0o@oPo`opooooooooopp pkdoopd  ddhd,,,,P8yQyQ-M GA$3a1, dlibxml2.so.2.10.2-2.10.2-9.el8.x86_64.debuglվ7zXZִF!t/lL]?Eh=ڊ2N)ALq<9*~pn.#B αNOlPu™OϏ* &3Y`,i/>c+v!]ğ]E*5b:F O*Xt==r{/ \  S1I Q|iT@r]A g >=ϱ(& e5dhN0-%:Xa{bej(~gI)v2I;9mN\;ArDOhү&88ufIk|f|D 9vqeO-i ݰ`9 ӠUy_}3r~I%6>6dbV>o-Q:k)M;)+ԏ3sޘf0lNcEC+; *v?Hh"BxRDѩE9&[JXX3ήuIf3y˦8Mom- bda۬a>[g$oJ}#PT)ڎyꝤ]>ӜN!@~wJ.\\߸S\ԅVK ` |zABdдECdTi3F8H"C}r%Fi2]@z4gtcUhR)e L|U8gt3FMuE$[Pʼ=Tp6^u7UM-O"FC*a>qAe!s`rg3t n`\ %]7R_ӆբHYYMjEX"Z՝Ҙ,M$SbL{}@$TwsORQYQ#sK @Cr{9x6mN?؃,SAkX^p .u u7xEX]gheO/1 9r};P ~|X^R/]i-s׵ER.ޏVk)0-A8KLmG"߾q4yFYIe Y(<2%VDӊKm(T)~P&!E`Vwв-GT$F ti9*ߟX`dXqZg[W-]# At_L0N:M12ǩ0=alҙtI+bb>_a~.5E#T%YK.Q>E%<v=% SǨp4Fj 0@AF!vbmuuHXL,D ẇtHn i^W\7f0}i* (/,4yj&%qإM|S,q:@8]Lt݀= PHAg%rн `D[=&כn zaiӛ6\7Vi_bՈCJd6=4&3&]>TiHG5CՀD)ft7v;$':s8f+fdB=?pqJΌ^OAAu?KpR'7|cGrkkP Zg-8`wp6iEj={ml\4,?ۈbZ%CX7[Մ*A )ӓѽ`hR%D_R7ZgqN"44X^\5Yj 6Y1 ƈ =/6)"Vyt:4I8yZ~VedUs9pY˷Jh.8d'* *3Hc"B Q3D"Ȅ/r2AeH'2c?{1 *'W>!Ьcn:מt}Kfd/qG])g&IM ް6B' Q'GT@(16KdH8+rgYGlT3Q6&TSoɯg:FnLMpFkU^9$#s 8rpEn3K#6vէ,@{tIC/^Qm٭v~!H3o:̍yPo'2mu-7rIEOٶ'ބJw{$>د R _{i.J%jJ0x}YBpڛ6[م.]jfh 0,'4eIbPsєЍ|@=[Qٌlud8t'%kk p~{5k9El;zf5qC*auQ|V{%5r޻]L]t&K M(ePFy8yۊ^SEi:vdV+~B]xϽTɠ'c{P ۻ {?X` 6UɆ]  7}7UJDEH i /nB>w|U~P& S]\,G `XwF=E_%)ѴEVl!̬G$7q3^BzJ5s`wnJ3̩ڧĄD;$O;#F? eXkxq6߻bJDuh(pt9aA'|ȗ/R=jMƹ "`L'@9(46 Y2ouD[E-d`3WKPf__&QXm@p/'wk2yF7pP ʿbbQ[Z 1 XOO@Gj*h\W@-ՄNmԈ|=\Ŭtơ=od Dzy/Qԅ=pŕQq^ ȾTH7w-2CvhtTpۘnUkjNVmЂ\gVtҥٯמFE+7 4H@򆏽yA_ٙ6-z;qכ &BL4 PAɰỗ7Dpbb )A3| [- VSt-"hH?8?(of;nK)zݵaZPxW/!n r#v n`wT9<RTuJ,&* $+&#߱ctsy)3@6bsd2ӛT> !Hr-ڠ@d(WzǢ9T a4 -q %;d=[R@vP GJ9n-R>=K=}-LYd kX%]W.UK~ݣ}`Q!WYjA;QJ{Cb}Jo%QwÃO؈Ȼݽs$xr}i{9R7uQOHn"CUcY1= 6xk`7+] 5mVT$zFmd]VN,"!Џ#ED:V~qn {bH,( VY- AG'c(Ȑ١/fV3{|~%Q:R6 ̗zkƔ|I #1-)ZmF܆5ʰ(",_;rgmD6E:(keEʻr2ol°񫗌hK i2MVu4ԴtFh[C䬻`ⴰ{mqoZ 2"G_0=lOvhZ[[AJ- gj |h(?bOMё)0&̓]Y wg_ҔSJֿ]nUx#*Nv  bgtvt<^/ljpgpC<>Ђ8aSsiœ㺠ޭza]:k„$Wiϥz u},(f6rUo13X#,1r<ﳂp^T< z C[c7)Qw+U/H yd=H)҆\ 3!eO*9ܽ2^8GzMvn}eKGP:@BMI"6`װwpG>T1O̐s]4[[W6dc2ot} W٭m3B| 5Ⱦeo( oZ_uC$grܟ4'$'t&;Qo(ɑ `^)WZV<}4ۦEALkյYo^7vOk@^"MlX2tZjt2VlΆ!Eϩ|'_’JǕk mt_D] hDͫ߯R9"䞐λ GTPʗLUc ,@&(w+ra ?/z2]ZWT_Z+{1]@=P6|h3/E6T:B"YWC UdOX,#;A3G%YY oarтn2YtH4=(6U?44݁*?)Vv|M !t F/='[}f:(PUѨz('iT5d$fj{R?koT')zQ g{bx}S*Qe+ MX%r*ʝfၴNIuA}Y17,;o唗^[ ѰRtH%joxpW#.1 6;T1 xR_Pԃ{3KlnnQ0 oLן\|xf$!bj^_WND(XNκpbjLGP"8LEJK/rS,`k@$B}dЫj_|"ԇH=cXozdDA5bjzr0ДNmZk% ^>v iPӹ,űcp@[n )f#cK1z{O:S0]+<òG U.ز<[c01&MU5.J?dw 41`C۪n^Wڍh/|] 5vإg7ziU+O9Z#{ ݧ \DL[jNd܉ 7{fñ@~UM;-ڮ(ӅcY_N&'rzgхjaJ}XsldJ/$gmc7674ncB?^Vºƾ=՛5Q(.U3*iy64nݛ4VLrƝZ|\BJ ۓt+>,ZkM`r9QTziseZjTuߜ|X+ Qef'kj䤃uq㼥:%0 UԀ2ʹGIHAt\0kKqԇ&TEo u׃k[5=/NTwE?i&y|a"@ q_EK,YY\E;x:Ԥޱڲu"L~Q)u1~cM'~ѣAth R*9˥ >x/isxK,=|WޞE®5.z!<k#aP["'ϑ7#ctXJ9erm̞u,HS'."[XQ;Z(&lelT6+nD Ԃ iy)rz*B4v@U5RC'/s<Ċ :1^p|\mkGm=y-TΗn,-٩*2cۧdw[DHͪk N ښ,|'&nHBi.(UuCT\p_$dv~Dɱ-ԗ C4;numDjӢ4m$curIQc)~5CEbax[BcnaWc$cnSK;h%14ćb}i*ﮤgV%ǚEMlu_}!HDe]@ѿ;n? 3%9qF\t8,{ /Pg!|4+%7rMBy<<ۭCubSL7v]}:e(pt l9-k1U'n⣰hXh{c}WcML~c;PK^?`G{[oК=tM?`lUf.E[ga{ұWя0 .nB` H_h/Z%$C|4\,S8jnKSh{_;fu,ŦZHgd, Q3Q/fA*7H( EX}$2øI}; C9d>+Zĕ30-;*tŚT 2ٵDU rKm5;"tz1\sN 1dO#ۦE(l}Clr#7r?FDOP-! V6+l 7eAm?Bqvu3iOŖq;K}> Bpqmg/fԍ!].v4|U.bwyHL&N- % ^gKty*zoxlҼmlz0N]6y0MN4!{C-g߅=nBֹ[+2I~Q o8!usn_(x݋Nw8Vpz{WqsM \0Wrj V._}G۪^؁nv(T 3"KE r5OqV8wpOj%ݷfBZ|swz!0%2k!whAL XW3^:V6l-sL) ~QK{4`xn;HРCn;:At~N?d9#7LД{qXC݊ m@7 f8z8#7|CkBj 12S"ۓYH2^Ӫ 3G1rG-$/1?U4ηcƁ&2U`:lz@:BvD(-!#L#HUms\Ǚ0Bww62hw=R‘ c4 H|."Ò-`ZTtYQ߱t Mi"mJ9 ۗwf|8"ȲA\KնeC> n1W w5]?C2tn3bL]ǡ1.3j_wVҦ;{GM})w5Iԏk/|2k8pO5҆~-L-Wo0eߝDQgs0Pp |$gޡ?tTe,n!_r_xPS|3N("x8OL^wi$0.a\qW=* 60m$]K5 wQD$E+Hɋ^yyqb@\꼉a+Y*}֣j9k:/" 5"5|2,m|.UB7nѪ0fsLۃw  )778џ#ʼn a @y{xN"b-{i`xc- @hDssyXE}4-iҶo痩1(9wB=F1S9]D=" k!$NR% U61Ōqx̎"3k1p#[Z|k{G zS-}zT@}ȶaШp׍\!c8fqw1AŒ K dht|/w$R.ޒ#F4!F#`_4%O떖KAo\l(SLЬ!v{-M mw^bNb&(ObckH߂Q]<0^4;K&UZOM r+nQ 3Bt V ĘPHFl(4oF\hHb9gQ,yNwԘ,Q~<*\Z!G |(PZ1FNJ:rk\, ?j!T=L-~q5Q K@/Sk(^I>#O4\MPt>+:WVfsp0ũa 72*\?N5`* d?Ɲjp]}k;f/A1_Kf̊m? #يPB]q+Zs oȇ~9?sIQ2[Fd 0[lqNvtr*F" >LE`a:sT#À-U1}l}V]dcb}/Qì. Wz5*m9R:(Vh\ 'KjV2Gu巾襏G*\Z,MF_q ZR۠i}0 ؅<y~' r a[8)3B(^ |mjtR1xS7iVO,%PNMY`ʔ&5e]5̻i碳d:p ƉOS)2^6ENpDn1zA۪: s,0q9TsCQ/#cdI c^p TEĵ>NsUU\޾;k9՞]SZ'?l6'&s{E-B]n.1J #&;vM 0]gE//i*oY6[̶3|*+O EgnCVkLEW 0(q6Ew-eA?3cx_2=DIoMo|70ǻ}?ӓ@"&ҧ/b ʜA1j|x&qnJw"]O "g7yDHKaǨ͎diyb`^WNPhY @޺RTFT׼ BqKJqj:(t?䃃(=ifHT!M9>GOڷ?m2d{NgoXWA,-fsy>bC@VQn}b+4^|u8T_ϦL8?.#HPGl?R|lcgZ;A >1QؠrB9?Od7D?ѼNGr^Ǝg&)whh"o ;Y%p]_@S'a:JĶoO*SPE@e[S~%;9{kN5yCt= i=3MS]sCJs@js#=K,1;;.:x52 5'QdFA_fzr} D,#T ;_ мf% [|x YI/:Bjx[ՔBr~6}W5D ¤0?n dB̋;0c;7J]ֿҚ xx*sS2E~4{H!c5NmVy!Ì`Mp;؞߳$]vNأ9{Lc aMeI%QޕZMĚnwQhg\(7^gF Js_K̮u>IJ;>W7P1ט@W)x|oC%#INF\dSE!tXS~l~ހ95Ye)6ዎF} #؊ ̇n`#($W+MHB(Z$J- 3*|ɤL.tz[}ubȞ2ccמ8??Ƴ^7 m۞7:KW*%Et'kU`m{m<)d 1UcY:?)v ,fTҒqD^KCpCu}o2!ݛŨ`D bD֝kr,!2I9ڢ1w"Bo?"PqCRfy`.} ⪝5L4XB%zBYQA $E9s|ǑQMb-D (cypr^w*YlҸeѸWʐݒ} oMҷF폡$-Ns[O_ٮ @rX9QB9̆e}1Q€=- 0H^%}Nq o噐q@&q@*ݺ*`FcWJSMn<F b4 kd8^6$=(TI>%%HT4ر{['>܏-?N(G,ڤoa+h1u))pr7tHW %~~[\&haL8\fz [IK:zw&IDJ˪qv;9ur)!zxLI;deÍuήx| 7x?G4ϝFCqQ~m/#" nKvy=ؽII$:q}>5}6 DaƊѫ`|wg ˘ɐNBHIe,smS92 +benJϹ^sշJx;Zni1<$et1xS.S`gDR["qƆOz7f>jC $br [m oh6M}Ě'n04wؔұnb.Ոmߺ~"qdFpҳ?λi-׍]h +M$z&A0妶 W!Fţ5=r\ȃ!8pcTᗀO.^.W[{.RPI(}礋4"vDk˔qt`eB$ˌG[Q1}ңmycRW/ x))Bz]>Q8~ "~#KHǺѾ]$7ig:5]EOFFmōeo2OPLK7*s J!H_v18iFa`Q^^!|P:&™g(D2 Z}zj)+46/B~gQg߄)sݪiNf@XTc)a{c!KfqV_m|wG7\,oVGD gs ̷"2"F*1+'PzU#8?0ze<;G 93R/ y޲C#;q}L?r9ԕ3foY9&P z) "}sv7~kcm}Pӫ:sN&qw,CdQàuڜۣ8ž4R;BhmaC>YYԖeVrTE(>;ϝl.I}᚟6sBcO½)poJf˝pG7IE-$(3/v;+_.c?q:|X8#}ij+b }p@f\22$lsrYYZ\cb0{}k*t:svƦ6CHTR5c1OKLZ =LA,3%$+X9 lWb;\lp0!j%g+9.Nw]lum^{lU1ZF5c2hİ 3Rk5}-Ɣ4,>.V_x _⠭)B].Sh9z Z=nBz1g)TLaP{R3N^yJaOazѳSW!"Wa.]hӤ ="yN(E-_~8{M*"$6V>bHqpG.i仦PԬoukU@A*Gܬ 1kЕ!tCN~8ɟ{l& 7Vt"1 uNY] aW5Fc '&wE 7ۖPW~M\c>Yt%p.#{},.*uWevh8",R!+-P;l/ڪQǡVy>眣&}_=Ueu7 vi)Wh|ދd G^^ +pQQcǐ$8NO)Tr֦nUD:6"z#~*ɼ3 A@Yz}ƟZXx[`*s}p`.c)Бql>-yC}NjԶMBqTTn62DчO#[׵Y-HAa$E`ǵHʶ>󢋭8b' r*Q%,1쯖SX!R ^sT`F]/\ T(64*D8wUzOO#*7_|bJb*QI_G.&[n!FbFŧF;9_.w9"cO*R5mUG)D+gvl70GuʿBTO2i`{rA&XA=rn[e/c F/.aƲ.?-%c:r]ij\PyZTɊkK;Li\=b>/'BP)ΎzF{ @ ](t5͕a-1@c'-Gg_@j3d2kx̂!lhE \ʣ@c1M=4E,l::.V[Y&BIQi؇ֱUeta3$ `ۖr G#X fl(Z`ޛV#'0Q B'q$u^LE48K Õ +jXX%P{=3~yC]}JN9@ ؃k0vM_.?7ºb8!`)G"‹"|Sa#&( fNJ\k`$e{4FC`LƢ->}eN/Gc;5t D5?8hKơ3/~SG#5VA W9_I_}eٖV%JZH@ ׯ$!E[P}3 f- yR0\1e2j;ÒF"? \)U)\W`8QdZ&ddjm- T?(_xLוwUA*$`yL{6g9\j^hO7K~1V-0D!&p5L'KPNtKhv䍌2Ŷ h$^ Lc1ٛlݽGrf!3w{s3,NRЎIIkbbt;ƝnviX|(W Uw]E!ȋ/];;g;m29v~K]vc8g{4z׶a}T3Q`"1D{ˡhvMoAmpݨ {D);^c]?nȤ׳JGJq| z5ͲƺBogWZG#c%Rڛ<0$u/MHr%՞c#r%gtyyÍiH>b^щfhW5J>rLKabϸk>>]#@D[Sl'$ф` W(,BZx? (9;ѷ``-ٷ) gb15X;VW@jI,׍p>s ;oʥx7/r_9-߸wR{:bP&Bn;L.Љ4un9^݊'rU O H˼QH;D9,2+tP p\a@5}CFV%HX-?bxeuF+#a ^S-sc 1p˛IwHrO@V+*: y%!Lʎ{HY\B@8C~ {S; r1^u[6n̯ky&H=ݨ+pLIY7̝-De5>eȠL|}HXl›C8mЧEz􃜮:b_ ̄6cg*E}Of* ȚzE%F&0Gcq7gkC,*/KUD g gY~#jיS㗜t{_MyTvЕ;DJ]k$P O^[~4/ FocQn?[#*#ӥHYW{Ij- '_XAͺcvK9dQ=_b,Hr5NW6}T53WnY}!d% t(.K])`FI@z+ėǩ/s2]b\ZٽNxX<֗pv#[/o+~-=6"& ZLf )?y4ucM+N9,_Sge0]0bW|SoOѷM$sf*>trB݃$KԔT Ʊ&~l0 vQC(Zʝeq^CDSI1C(4)"Em'Vye69nRdH:ulpY-NWX FEwr&&q组wpj6I7~o#ܭib'WVVxCkMR(4j !𣇷{b%u1>K#λ{P$?4,uiϊG)h 47;sk|ҵP"yl ҆hX3vk lH0q~F`Z2gt]n>^ݴw1Y+p{`%"jU dW=;ǚaqF$]ڜ\)昛C+]UT4ius;%ed`仛t'=0}dMt/QjN4jNl,? Fk؋`&ХYgYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata 88$o``2( (5(500XXe8ojjDEoyy ,To((0cXXGmBdw,,r,,@C}0p0p0C`` dd  d d ddM`` h5hp5p5` F6FP0I60I&p6p u6u vu$u0( v\Lh7usr/bin/xmlcatalog000075500000047540152531573270010232 0ustar00ELF>@!@G@8 @@@@hh44 x<x< x<  << <  DDStd Ptd222LLQtdRtdx<x< x< /lib64/ld-linux-x86-64.so.2GNUGNUGNUJk**gzsiSQF)A K)-|BE)fUaqX98zS* I4n 9 P"kg p-;a-_I@ YH@ @ &P@   @ @ B@@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlLoadSGMLSuperCatalogxmlLoadCatalogxmlParseURIxmlCatalogResolveSystemxmlCatalogResolvePublicxmlCheckVersionxmlACatalogRemovexmlCatalogResolveURIxmlCleanupParserxmlCatalogAddxmlCatalogDumpxmlCatalogIsEmptyxmlFreeURIxmlCatalogRemovexmlACatalogDumpxmlFreexmlACatalogAddxmlInitializeCatalogxmlCatalogConvertxmlNewCatalogxmlMemoryDumpxmlCatalogResolvexmlCatalogSetDebuglibc.so.6fflush__printf_chkputs__stack_chk_failstdinfgets__fprintf_chkstdoutfclosemallocremovestderrfwrite__cxa_finalizefopen64strcmp__libc_start_mainfree_edata__bss_start_endGLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64@ii ui ti Lx<  "< !< < ? ?  ? ? ?  @ -@@ /H@ *P@ ,> > > > > > > >  >  ?  ?  ? ?  ? (? 0? 8? @? H? P? X? `? h? p? x? ? ? ?  ? !? "? #? $? %? &? '? (HH/ HtH5b. %c. hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#%, D%, D% , D%, D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%}+ D%u+ D%m+ D%e+ D%]+ D%U+ D%M+ D%E+ D%=+ D%5+ D%-+ D%%+ D%+ D%+ D% + D%+ DAWAVAUATUHSH( RA@L%L-L5IcǹLHTH:- HL#HL  HH=yHH=ftH=NH!* A9AD9+* AL=FL >L>IcŹLLDM0LLLLLL$t1H5LT$T$L LL$AE9Lt AA9;DhD9L=) w) ) Z) $EeMc3HJ|IH7LL) ID9&J|_HuJ|IHuJTH51$( x=( A9CH ( H=H}m $N1BD(DhD9%H5HH$&H$H5HH$H5HH$H$H5HH$H5HH$H$H5HpH$H5HH$QH$H5gH6H$H5WHH$H$H57HH$H5/HH$H$H5HH$H5HH$tH$H5HH$~A& GA<-EH=& uILL$L5& =& L$I01H=H I& *H=H}$$H([]A\A]A^A_ÃR& $D;& AMcƹLIJTL*LA}-LL"H5LHT$LD$DT$DDT$LD$HT$H5rLDT$LD$HT$H5KLDT$LD$HT$u5EH5 LLD$DT$DT$LD$AD9= % uD % % % $ t*=$ tH=$ Ht ?H=$ v dEu?JTJtJ|Ht :ZH10AD$ LJDLD$H8HT$HD$HT$H5IHHHT$LD$HT$H5HLD$MJtLv=# Q=# 0MLHD$tRH=HHD$Ht9HD$H0'y(H=L# H H1$=d# LVpHD$H8!=&# uH|$HAD## MJT1H5L=" HD$zH=HD$HHD$H|$1H5H@H5t" LmENlI}ADq" 8e" H=$JTH5R1J|IHJTH5M1z$HD$H5H8HHLHD$1HD$Ht^DHD$DHD$H=3! HH1$\H5feHHY*H=%LD$2LD$IIMH= H17$S$HD$H=n HH1$ AH5H=~IHt}H|$HL"#B gHD$bHD$H  H= H#`$ H= H H1)$   = tBA H=; HѾ1H;H} $Af.1I^HHPTL H  H=hr H= H H9tH^ Ht H=a H5Z H)HHH?HHtH% HtfD=m u+UH= Ht H= dE ]wHHH52 1H= HfDAWAVAUATL% USH&HdH%(H$1H$H  H=P H= HP HHƄ$IAI!%tDIWLDII)EwIcIHvA-AEtEAEA`AuL@ ufDH1@ t@ t@ H@L$@t)HHcA44HHc@ wHsL$Ƅ<21LH@ t@ ufH2@ t@ t@ w$HH$A$HH=@44Hc@ wIsHƄ 1E1HHLA~ DH< t< tHWH<'R<"IcH<< u< tHHHѨuHA}L$LLLH= LH= H= L'AH= +LHGuf.Ht<"uH<"AHfDfDIcHGuHt<'uH<'CAH3fDDALHHDDIDHH5j 1cƄ$HH\H=c ]H= Lu8AH= LH5 11_H= LENAHT$Ht$H<$H`PH=e l?L4$LIH>LGL H$dH3%(,HĨ[]A\A]A^A_H5f LuA*H=H5 LAH=H=wEDAEDADH$dH3%(zHĨL[]A\A]A^A_L4$L+IHLH51IDDfADLH51H5=LuKEH=&H<$`H=H1}H5Lt=H5LE= ~ = EtRH=7 H= VHt$H<$IHH=Pc x=Z H=]H5cLu}H=nH=H=EH=qH=xH=FlH=`H=TH=HH=4<LH51Ahf.fAWIAVIAUAATL%| UH-| SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHUsage : %s [options] catalogfile entities... Parse the catalog file (void specification possibly expressed as "" appoints the default system one) and query it for the entities --sgml : handle SGML Super catalogs for --add and --del --shell : run a shell allowing interactive queries --create : create a new catalog --add 'type' 'orig' 'replace' : add an XML entry --add 'entry' : add an SGML entry --del 'values' : remove values --noout: avoid dumping the result on stdout used with --add or --del, it saves the catalog changes and with --sgml it automatically updates the super catalog --no-super-update: do not update the SGML super catalog -v --verbose : provide debug informationResolver failed to find an answer public PublicID: make a PUBLIC identifier lookup system SystemID: make a SYSTEM identifier lookup resolve PublicID SystemID: do a full resolver lookup add 'type' 'orig' 'replace' : add an entry dump: print the current catalog state debug: increase the verbosity level quiet: decrease the verbosity levelNo catalog entry specified to remove from Failed to remove entry from %s > Invalid command %s Invalid arg %s Too much argumentsexitquitbyepublicpublic requires 1 argumentsNo entry for PUBLIC %s systemsystem requires 1 argumentsNo entry for SYSTEM %s add requires 2 or 3 argumentsadd command faileddel requires 1del command failedresolveresolve requires 2 argumentsdumpdump has no argumentsdebugdebug has no argumentsquietquiet has no argumentshelpUnrecognized command %s Commands available: del 'values' : remove values exit: quit the shell--v--verbose--noout--shell--sgml--create--convert--no-super-update--add--delUnknown option %s Missing arguments for option CATALOG/etc/sgml/catalogwcould not open %s for saving Failed to remove entry %s No entry for URI %s ;HT|<TdDtdzRx /D$4PFJ w?:*3$"\@t*DadtBBB B(H0A8Q S 8A0A(B BBBA  8D0A(B BBBE Lf FBB B(A0D8D`? 8A0A(B BBBA DD`eFEE E(H0H8G@n8A0A(B BBB "!<   X+x< < o0p  > `    oo@ oo o< P`p 0@P`p 0@P`pGA$3a1 o!GA$3a1p!e+ GA$3p1113*U+GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY*E+GA+GLIBCXX_ASSERTIONSxmlcatalog-2.10.2-9.el8.x86_64.debug7zXZִF!t/]?Eh=ڊ2N`nh߭VǙb̑{|7EX}zd3"rB0YV\LOXg l)~EZ<`,f^AFWOƟ k%psЛIx&4̦ \3ضs->\@Yb֯&>"wnxK3.i ˋJ3#Kx(Z>eԑb 1; ԏiv{MOm65w%mcݠN2c\__quA y=eowOe Fl"%hAfj6Kujg@v"jOݱ{B^'p^|I(۶y# <U%6tuF@t!69@4!6J*Mj1y@mlrW,U&[f^Dq!# %ҿ?]j2氕`4ǶTf^ Pw#/ jG]a5O.$¥M8|-Ƌ7h(uz INFojJXwC |"kdDnbuԒ0; _8Qe.@Əu^+`ZP?}@tb)_t633ᓧcd5Ihbʝ+c.Tz/q 6_R /+BV` lu >bT8dmZyU7DQBNoՄ(dY|R8#v nu; Kfh&d~ Un+h) Pč_k3!*H&M3y*D`{Iiu/EO]Z=(H:*:s#5/9 i@)8[. @\gYZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata  & 4$Go00@Q ppYao `no@ @ `} B `  @@P@X+X+ h+h+22L8383x< x<< << << <> >`@ @ @ @p @`@l pB,/B`F>usr/bin/xmllint000075500000222440152531573270007560 0ustar00ELF>P{@`@8 @@@@hh !! !! DDStd PtdQtdRtd!!``/lib64/ld-linux-x86-64.so.2GNUGNUGNUec F}WMHA K|BE)fUaqX9S C _   s 9Q  v^[   * c ^ f D Q .  r S{ t   a- } b 7  \ ? : ^  E b9 y D"  G  V " K  b (1f  q }  8o  I:  F ( Q5  r   z  m h;  K],   )    ;/ 0 q e x( ! Lt "  a J   x!! `! ! `! `! !libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablehtmlParseChunkxmlTextReaderHasValuehtmlCtxtUseOptionsxmlNoNetExternalEntityLoaderxmlParseDocumentxmlParseChunkxmlSchematronNewParserCtxtxmlParseFilexmlFreePatterninputPushxmlFreeStreamCtxtxmlXPathIsNaNxmlFreeTextReaderxmlFreeValidCtxtxmlRelaxNGValidateDocxmlC14NDocDumpMemoryxmlValidGetValidElementsxmlMemoryStrdupxmlAddEncodingAliasxmlMemMallocxmlSchemaParsexmlFreeParserInputBufferxmlCtxtReadIOxmlTextReaderConstNamespaceUrixmlTextReaderIsEmptyElementxmlXPathNewContextxmlRelaxNGSetParserErrors__xmlParserVersionhtmlDocDumpxmlTextReaderIsValidxmlStreamPopxmlSetCompressModexmlDocDumpFormatMemoryxmlSAXDefaultVersionxmlXPathIsInfxmlSchemaSetParserErrorsxmlPedanticParserDefault__xmlParserDebugEntitiesxmlOutputBufferCreateFilexmlDebugDumpDocumentxmlRelaxNGFreeParserCtxtxmlParseDTDxmlNodeSetContentxmlCheckVersionxmlFreeParserCtxtxmlNewIOInputStreamxmlValidateDocumentxmlTextReaderConstValuexmlReadFilexmlDebugDumpEntitieshtmlCreatePushParserCtxtxmlReaderWalkerxmlSchematronFree__xmlTreeIndentStringxmlMemSetupxmlXPathFreeObjecthtmlSaveFilexmlSetExternalEntityLoaderxmlCopyDocxmlNewDocxmlSchemaFreeValidCtxtxmlCleanupParserxmlSchemaSetValidErrors__xmlLoadExtDtdDefaultValuexmlNodeDumpOutputxmlStrdupxmlSchemaValidateStreamxmlStrndupxmlSchemaFreeParserCtxtxmlSaveToFilenamexmlFreeDocxmlValidateDtdxmlTextReaderNodeTypexmlSchemaValidateDoc__xmlGenericErrorContextxmlNewParserCtxtxmlCtxtReadMemoryxmlTextReaderSchemaValidatexmlSchematronFreeParserCtxtxmlTextReaderConstNamexmlPatternMatch__xmlGenericErrorxmlOutputBufferClosexmlHasFeaturexmlDocGetRootElementxmlEncodeEntitiesReentrantxmlCtxtUseOptionsxmlSchematronValidateDocxmlSchemaFreexmlCreatePushParserCtxtxmlRelaxNGNewValidCtxtxmlSaveClosexmlPatterncompilexmlTextReaderSetParserPropxmlOutputBufferWritexmlFreexmlSchemaValidateSetFilenamexmlRelaxNGParsexmlFreeDtdhtmlReadMemory__xmlDoValidityCheckingDefaultValuexmlSchematronFreeValidCtxtxmlTextReaderConstLocalNamexmlDeregisterNodeDefaultxmlDocDumpMemoryxmlTextReaderCurrentNodexmlGetIntSubsetxmlParserInputBufferCreateFilenamexmlTextReaderRelaxNGValidatexmlTextReaderReadxmlXPathFreeContextxmlGetExternalEntityLoaderxmlShellxmlXPathEvalxmlStreamPushxmlReadFdxmlStrcatxmlSubstituteEntitiesDefaultxmlMemReallocxmlFreeEnumerationhtmlFreeParserCtxtxmlSchemaNewValidCtxtxmlReaderForMemoryxmlMemoryDumpxmlSchemaNewParserCtxtxmlMemUsedxmlUnlinkNodexmlGetNodePathxmlReadIOxmlXIncludeProcessFlagsxmlLineNumbersDefaultxmlNewValidCtxtxmlSaveFilexmlTextReaderDepthxmlNewDocNodehtmlReadFilehtmlSaveFileFormatxmlDocSetRootElementxmlRelaxNGSetValidErrorsxmlRegisterNodeDefaultxmlMemFree__xmlGetWarningsDefaultValuexmlCtxtReadFilexmlRelaxNGFreeValidCtxtxmlReaderForFilexmlXPathOrderDocElemsxmlPatternGetStreamCtxtxmlKeepBlanksDefaultxmlSaveToFdxmlLoadCatalogsxmlSchematronParsexmlSchematronNewValidCtxtxmlRelaxNGFreexmlDocDumpFormatMemoryEncxmlReadMemoryxmlSaveDocxmlRelaxNGNewParserCtxtxmlDocDumpMemoryEnclibc.so.6fflush__printf_chkexit__isoc99_sscanfmmap64__stack_chk_failputcharstdin__assert_failstrtolfgets__fprintf_chkstdoutfputcfputsfclose__vsnprintf_chkmalloc__xstat64getenvstderrmunmap__snprintf_chkfwritefreadgettimeofday__fread_chk__vfprintf_chk__cxa_finalizefopen64strcmp__libc_start_mainsnprintffree_edata__bss_start_endGLIBC_2.4GLIBC_2.7GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.9.0LIBXML2_2.5.6LIBXML2_2.6.3LIBXML2_2.6.18LIBXML2_2.6.8LIBXML2_2.5.7LIBXML2_2.6.20LIBXML2_2.5.2LIBXML2_2.6.21LIBXML2_2.5.0LIBXML2_2.6.0LIBXML2_2.5.8LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64                 @ Pii  ii ti  ui      ȫL  ЫL - <ѫLJYguL!0|!{!!@!@H!0P!X!й`!h!p!@|x!!!P!|!! !`!P!!!0!!0!0!0!!!(!0!@!`!`!@h!0p!x!й!!!@|!!!P!|!! !`!!p!P!!!0!!0!0!0 !(!0!!!/!=!E!Q!\`!!!! ! ! ! ! ! ! ! ! ! ( ! 0 ! 8 ! @ ! H !P !X !` !h !p !x ! ! ! ! ! ! ! ! ! ! ! ! !! !" !# !$ !% !& !' !( !) !*( !+0 !,8 !-@ !.H !0P !1X !2` !3h !4p !5x !6 !7 !8 !9 !: !; !< !> !? !@ !A !B !C !D !F !G !H !I !J !K !L !M( !N0 !O8 !P@ !RH !SP !TX !U` !Vh !Wp !Xx !Y !Z ![ !\ !] !^ !_ !` !a !b !c !d !e !f !g !h !i !j !k !l !m !n( !o0 !p8 !q@ !rH !sP !tX !u` !vh !wp !xx !y !z !{ !| !} !~ ! ! ! ! ! ! ! ! ! ! !!!!! !(!0!8!@!H!P!X!`!h!p!x!!!!!!!!!!!!!!!!!!!!! !(!0!8!@!H!P!X!`!h!p!x!!!!!!!!!!!HH HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!hhhhhhhhhhhqhahQhAh1h!h% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D%ݼ D%ռ D%ͼ D%ż D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D%ݻ D%ջ D%ͻ D%Ż D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D%ݺ D%պ D%ͺ D%ź D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D%ݹ D%չ D%͹ D%Ź D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D%ݸ D%ո D%͸ D%Ÿ D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D%ݷ D%շ D%ͷ D%ŷ D% DAWAVAUATUHSH AL=L5$!L-!AD9~mIcL HD8-uHL€tHƹ LuAD9~J| 1LH5M uDD!E RAL%D$IcLtL,A>-A~tLLLH=H=LtH5wL>!!DAD9SD!Eu =! D !E&0Dy!EH=؂IHtL H=-H}!l=|!{5r!` !|!^l!t =! H=s!=~!=~!H=k!H=~!Ht =~! D$AL%IcǹLLlMuL LH=ȀLH=FLH=,x LH= ZH5WL+CH5?L,H5ՀLH5LH5LH5~LH58LH5 LH5|LsH5|L\tH5LE]H5L.FH5L/H5LH5LH5{LH5-LH5LH5lLH5TLv=K|!=|!A>-=|!{!w ={![ L8={!t {!D$={!5|! H=1-@u|! H5zLH5zLuH5zLxH5zLaH5zLJH5zL3H5vzLH5^zLH5PzLH58zLH5*zLH5zLH5zLH5yL{H5yLdsH5yLM\H5yL6XH5yLAH5zLH5zLH5zLIH5zL2H5xzLH5kzLH5SzL~H5GzLgH5/zLPH5"zL9tH5zL&{7y!y!q Z =x!H=y!IHHHx!HL2=x!tH=r1[*H=x!t =x!L%x!Mg=1x!Z=Dx!LIHaL(Y1LH0LYLHZx!HL=w!H=r1)fAAD9=w!=w!t =>x!T$D$ ~w! H=w!HtH=w!HtH=w!HtH= w!Ht.w!H[]A\A]A^A_H=cH=c+Ftxw2uH V'H'H5((H=(lv! V=ev! =iv!H=v!IHtL(~1LH0LLHv!HL^= v! H=y HHHH5.yH81.sv! , 11>6H=r L1HxLHuH=Q @L UH5FH81AL 9H5jH81AeLmL LH5wH81ABLmL LH5H81A1114Ht!HL-t!L LH5nH81At!Hat!1H=q!F7HuH=F ct!L5t!L(>LH54H81A.t!Ht!!ML5~t!L(LH5,H81As!HOt!H %H=1H='q!r1H=q!_+ {L5s!L(gLH55H81AWs!Hs!H5uLLtH5uL9 JD-AHys!s! s s! ] N ?  0 @1LA3L)4s!H5sLtH5psLu r!QH5[sLbtH5GsLOuXr! H5-sL)H5sLtmH5 sLtH5rLuZq!q! 3 H5rLtH5rLuSr!q! nH5rLtH5rLluq! 5H5rrLFtH5^rL3u#JD-Aq! x Hyq!H54rLtH5 rLu#JD-Ap! / H(q!H5qLtH5qLu rp!qH5qLtH5qLou p!?H5qLPtH5qL=u p! H5~qLtH5jqL u o!H5UqLtH5AqLu o!H5*qLtH5qLuo!k ҺdD‰o!eH5pLvtH5pLcu ho!3H5pLDtH5pL1u6o! H5pLtH5pLu n!H5kpLtH5WpLu n!H5BpLtH5.pLu~n! ܥ WH5pLhtH5oLUuBn! H5oL,tH5oLun! d H5oLtH5oLu En!H5oLtH5yoLu(1 @_H5UoLptH5AoL]u$ H5oL&tH5oLum!H5nLtH5nLul! $ H5nLtH5nLu^l! fH5nLwtH5nnLdu!l! -H5TnL>tH5@nL+u k!H5-nL tH5nLu k!H5nLtH5mLu(JD-H5mH=mAHk!p{H5mLtH5mLyu1l! 8H5rjLItH5^jL6u A H5hmLtH5TmLu1k!xk!KH5.mLtH5mLu@J|-AH1 $k!s1k!`H5lLqtH5lL^u j!.H5lL?tH5lL,ui!j!H5xlLtH5dlLJD-AHi!Lm}H= HBiLL1]H \ H=:i  ^ * |jXZ F& 4 "  V"R n\JN8&~Jz!uZH5 D$H5iLtH5}iLu5f! M H H=gH5=iLtH5)iLu (f!wH5iLtH5hLuf!AH5hLRtH5hL?uJD-Af!Hlf!H5hLtH5hLuJD-Af!Hf!H5hLtH5qhLuH=Л  q|H5LhLtH58hLzu%̜ GH5#hLXtH5hLEu b!H5gL&tH5gLu[J|-AHD-rb!?A?< t<:ujHH "H=F|H5gLtH5pgLu1JD-Ae!Hd!RIAtJ<:tFIH55gLNtH5!gL;zc! L9LH)iIcH a!HHcpa!H<It P]a!ALH H=kddH m H=?d0H K H=dH ) H=cH  H=caH H=c?`H Ü H=mc,H H=EcH  H=cH ] H=bH ; H=b\H  H=bs(H H=pbQH ՛ H=Gb/H H=b H H=aXH o H=a$H M H=aH + H=saH H=IacH H=!aATH Ś H=` H H=`H H=`H _ H=}`H = H=S`PH  H='`uH H=_SH י H=_1H H=_H H=_LH q H=X_H5XL51H=\!MuA>-=_!E1D$ =^!uiMtZI}LD$ D$ 9C_!~R=^!tI}WH= Hb1^!II}iMLFH5XL7^!iJD-AH^!T@1I^HHPTL6WH VH=Z H=ٗ Hҗ H9tHN Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= ydu ]wHqVHHDMLDMLDȋ]!3 tfDHH= 1AQIHAPAHz`HHVHHDHHDMLDz]!Ö tfDHH= I1APHIоH4`_Hf.SHHH:`16Hٺ:H=B`Hٺ9H=i`Hٺ7H=`kHٺ"H=`RHٺ9H=`9Hٺ8H=` Hٺ>H= aHٺ6H=3aHٺ7H=RaHٺ=H=qaHٺ(H=aHٺ6H=aHٺ<H=aqHٺ9H=aXHٺ2H=b?Hٺ$H=;b&Hٺ(H=Jb HٺFH=abHٺ=H=bHٺAH=bHٺDH=bHٺ#H=cHٺH=$cwHٺ0H=+c^Hٺ6H=JcEHٺ-H=ic,Hٺ1H=cHٺH=cHٺ>H=cHٺ*H=cHٺ*H=cHٺEH=cHٺH=*d}Hٺ>H=1ddHٺ:H=XdKHٺ.H=d2Hٺ3H=dHٺ)H=dHٺ2H=dHٺ2H=dHٺ5H= eHٺ(H=)eHٺ8H=@eHٺCH=gejHٺ<H=eQHٺ>H=e8HٺEH=eHٺ5H=fHٺ"H=2fHٺ9H=AfHٺ4H=hfH߾1H }PHfHٺ'H=fHٺ*H=flHٺ%H=fSHٺ<H=f:Hٺ2H=f!Hٺ H= gHٺDH=gHٺDH=KgHٺ>H=zgHٺ4H=gHٺ3H=gHٺ=H=grHٺ8H=hYHٺ:H=-h@Hٺ4H=Th'Hٺ;H=shHٺ>H=hHٺ<H=hH[BH=hfSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1U! uZH$H ͎ HD$H=NHD$ $D$0HD$HHھH= GHD$dH3%(u H[ifSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1T! uZH$ H ͍ HD$H=MHD$ $D$0HD$HHھH= GHD$dH3%(u H[ifSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1S! uZH$ H ͌ HD$H=$LHD$ $D$0HD$HHھH= GHD$dH3%(u H[ifAWAVAUIATIUHSH( O!H|$~0H1Ht&HfDH/HDuM-I$H HHǀHT$HHǀH`O!HT$H1L=YO!~`DI<7H5KHHHH=IHt$LLHO!IHZLI H9N!H|$tI$HL$HH|$t9I$HL$HT$HHMtLH5dL1HL$E1H(L[]A\A]A^A_HD$H`N!HD$HLLH|$IHHL$Ht I$HHL$Ht I$H N!tHL$MHzIH=7 LDLT$HIHHEMH1LT$+@ M!SDHL$Ht I$HHL$Ht I$HxM!t5MLLT$LHH= HIME1|LT$LT$L LT$H59cL1E1yHl$RSHHt) P!9|H[f.H= Hc1H1O!  ff.@SHHt O!9|H[f.H= Hb1vH1N! SfHHtI +O!9|H[f.H=) H"b1H13N! rUHSHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$11H=K!rH K!H+ K!HHJ!HS㥛 H+J!HH?H$H=> HiHD$HD$ $HD$0H)HHD$HH1HپH= HFHD$dH3%(u H[]AWAVAUATUSHHH߉ M!AŅuCH={L!t'H=aL!Htu H[]A\A]A^A_HHHIHELDHIHAHEMAW‰H5E1XZMLH5#H1u=HHH0+H HH=_H1HH K!H=| IHhE1[EH=CK!fD1H ? H=:EH= K!HJ!HHH[]A\A]A^A_% fHhH=J!H9Aą1H=J!\H膿HI苾H=J!LH9xeD9HH | +H=^H WJ!H=X 1IHBD2EuJ/H ) H=CH=I!HI!EH=I!gf. ־.H8H H I!H5^CHH10H=pI!kff.fAWAVAUATIUSHdH%(H$1I![HH1L1AŅHt$0E1A1 IHD| t$0H1LH=H!HH111-HH!HtiHHzH!H11HH n H=:BH=9H! H)H!WL=$H!H(DLH5XBH815H!HG!fDHG!HGHH!QG!H-TH!G!Ht H!u1H=6E!聼HH%}G!H-G!Ht3HH証-nG!tDG!EfDHؽŃu-D H!Eu H=F!tHCH諽ŃtDG!Et(=JG!uH=nG!PH=;A1f nG!RH=BG!H\H= L1H AfF!HLHA\H=3F!HtHF!|F!t1eHt$0LHDpH$dH3%(HĨ[]A\A]A^A_z} 1E1A H=E!HHf1H=@E!H-F!Htd%D=E!E1H=C!ZDE!tH-E!H @1H=?2PE!DE!E1H=B!LH?H=~ 1ӸE!@H=PE!VHzD!7H=~ L1H2?vHfH誾L8bLH5XH81ARD!oH螷Ff[L=D!H( LH5:XH81C!H^D!DL=!H$dH3%(H([]A\A]A^A_Dp}-V}L-w EMtL1L$LWIL11(IH 5Vu H讲@1ɉLL艹LL蔷1LL^LEfI^.D %7>!H1wf5=!t 1H袷HH4=!tD=m=!E D5=!E< D-=!EtXD%D9fDH af H=HA軩m,! @HD$LL$A1ɺ1H賡Ht$Hcп詩HH e H='BD1H=_)!誠kDL9-e +! CL6@Lt$1LAŅH=be H&H=@賨fDH?1G+!:fD+!轝IH +!tI+!+ I$,HID$HLHID$ܥ*!t*!LTӤH苡H5@H81L|*! ˦fDH=&12DH=!d HH$1H='!)DH=$1MDH c H=$#)! |@H=c HH1$uH 9*!H=rc H'%1O)!HH=Ic HH#1O)!fDH=X%1 D1H=&!DLL$A11HD$H b H=>(!@H b H==(! <@âL=(!L0#@H Ib H= $裥U(!@L%(!MA1H=%!DH a +H==C'!#@DHF=1E1L=#萛K H=a L1IrE9H'!+(!H,HH HHD1蹞)@H="TE1HH5;HH=H@'!H='!<'!DD-'!Et H5&!H譜IMHLHL;H1;1M&!fDHD$LL$A1ɺ 1E@kL #H5;H81A&!eDH _ %H=;3>fDM%!HٙHrHT$H 1H1:AŅ Ht$@E1A1sIHD \ Ht$@ME1HHLHHt$@L.DVH=^ HHŘ2ۘIHHH1H J\ LHHHH+I$HlI$oHL4@H=a^ 1芚IH|ID$E1L=,8~AfH@E1E111LJI"LLbID$D9(LAD$txH=@H=ԗoHHEHHD9ODܖH1H=k] HO#!AD$H5ӗL%.] HtH5=IMHLy #!H=#!L2(L(HH5^7H81A"!^HޕH \ H=qܟ"!(HHHHD™2HIHt` Y H1HA$HÅ,"!AH蝙}Y 1H(H!! kH=1"1H=E!萖HHAHHD1n!!5śH(}H57H81Hn!! mH[IpE1HH誛HH !!H=Z H1 !H Z H= ! fH O!!Ht.H=Z H1` !lH !!_Z t 1HH 5Z H=1H !Z t 1HH Y H=I/1Hv !Y t 1HH Y H=ߜ1HH iY H=I鳜 !OY t f.U1HHSHHHH= Y HtJH=X 1HHŒHtJH=X HH1[H"]青DH X H=^HuH[]ff.6!X t f.U1HHSHHHH=_private != NULL

%s:%d: Entity: line %d:

%c^
validity warning:

validity error: warning: error: --maxmem--debug--shell--copy--recover--huge--noent--noenc--nsclean--nocdata--nodict--version%s: using libxml version %s compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ICU ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules MemDebug RunDebug Zlib Lzma --noout-o--output--htmlout--nowrap--html--xmlout--nodefdtd--loaddtd--dtdattr--valid--postvalid--dtdvalid--dtdvalidfpi--dropdtd--insert--quiet--timing--auto--repeat--push--pushsmall--memory--testIO--xinclude--noxincludenode--nofixup-base-uris--compress--nowarning--pedantic--debugent--c14n--c14n11--exc-c14n--catalogs--nocatalogs--encodeDVEncUTF-8--noblanks--format--pretty--stream--walker--pattern--sax1--sax--chkregister--relaxng--schema--schematron--nonet--nocompact--load-trace--path--xpath--oldxml10Unknown option %s SGML_CATALOG_FILESXMLLINT_INDENTRegistration count off: %d %d iterations SAX.entityDecl(%s, %d, %s, %s, %s) SAX.unparsedEntityDecl(%s, %s, %s, %s) Usage : %s [options] XMLfiles ... Parse the XML files and output the result of the parsing --version : display the version of the XML library used --debug : dump a debug tree of the in-memory document --shell : run a navigating shell --debugent : debug the entities defined in the document --copy : used to test the internal copy implementation --recover : output what was parsable on broken XML documents --huge : remove any internal arbitrary parser limits --noent : substitute entity references by their value --noenc : ignore any encoding specified inside the document --noout : don't output the result tree --path 'paths': provide a set of paths for resources --load-trace : print trace of all external entities loaded --nonet : refuse to fetch DTDs or entities over network --nocompact : do not generate compact text nodes --htmlout : output results as HTML --nowrap : do not put HTML doc wrapper --valid : validate the document in addition to std well-formed check --postvalid : do a posteriori validation, i.e after parsing --dtdvalid URL : do a posteriori validation against a given DTD --dtdvalidfpi FPI : same but name the DTD with a Public Identifier --quiet : be quiet when succeeded --timing : print some timings --output file or -o file: save to a given file --repeat : repeat 100 times, for timing or profiling --insert : ad-hoc test for valid insertions --compress : turn on gzip compression of output --html : use the HTML parser --xmlout : force to use the XML serializer when using --html --nodefdtd : do not default HTML doctype --push : use the push mode of the parser --pushsmall : use the push mode of the parser using tiny increments --memory : parse from memory --maxmem nbbytes : limits memory allocation to nbbytes bytes --nowarning : do not emit warnings from parser/validator --noblanks : drop (ignorable?) blanks spaces --nocdata : replace cdata section with text nodes --format : reformat/reindent the output --encode encoding : output in the given encoding --dropdtd : remove the DOCTYPE of the input docs --pretty STYLE : pretty-print in a particular style 0 Do not pretty print 1 Format the XML content, as --format 2 Add whitespace inside tags, preserving content --c14n : save in W3C canonical format v1.0 (with comments) --c14n11 : save in W3C canonical format v1.1 (with comments) --exc-c14n : save in W3C exclusive canonical format (with comments) --nsclean : remove redundant namespace declarations --testIO : test user I/O support --catalogs : use SGML catalogs from $SGML_CATALOG_FILES otherwise XML Catalogs starting from %s are activated by default --nocatalogs: deactivate all catalogs --auto : generate a small doc on the fly --xinclude : do XInclude processing --noxincludenode : same but do not generate XInclude nodes --nofixup-base-uris : do not fixup xml:base uris --loaddtd : fetch external DTD --dtdattr : loaddtd + populate the tree with inherited attributes --stream : use the streaming interface to process very large files --walker : create a reader and walk though the resulting doc --pattern pattern_value : test the pattern support --chkregister : verify the node registration code --relaxng schema : do RelaxNG validation against the schema --schema schema : do validation against the WXS schema --schematron schema : do validation against a schematron --sax1: use the old SAX1 interfaces for processing --sax: do not build a tree but work just at the SAX level --oldxml10: use XML-1.0 parsing rules before the 5th edition --xpath expr: evaluate the XPath expression, imply --noout Libxml project home page: https://gitlab.gnome.org/GNOME/libxml2 failed to load external entity "%s" Ran out of memory needs > %d bytes xmlPatternMatch and xmlStreamPush disagree Relax-NG schema %s failed to compile XSD schema %s failed to compile Document %s does not validate %s validation generated an internal error XPath Object is uninitialized XPath object of unexpected type could not get valid list of elements No element can be inserted under root %d element types can be inserted under root: Document does not have a root elementfailed to walk through the doc Failed to crate a reader from the document Couldn't allocate validation context Document %s does not validate against %s SAX.ignorableWhitespace(%s, %d) SAX.processingInstruction(%s, %s) SAX.processingInstruction(%s, NULL) SAX.attributeDecl(%s, %s, %d, %d, NULL, ...) SAX.attributeDecl(%s, %s, %d, %d, %s, ...) *(long*)node->_private == (long) 0x81726354Out of memory in xmllint:registerNode() MAX_PATHS reached: too many paths Variable $SGML_CATALOG_FILES not set %s output

%s output

Schematron schema %s failed to compile WXS schema %s failed to compile PxderegisterNode;;PM@Y@ e `PXx0@@@@Ph 0Й pp8L0P@,0DPX `,@T0hp|`@0D X04 P l ` @  0L @@ zRx X/D$40K FJ w?:*3$"\V th|KM S@f|N [A EJ AA dEJ AA @EJ AA H8FBB E(D0D8D`` 8D0A(B BBBH aE` K 4`E` K x t`E` K ,8ADG$ AAA lȕCBBB B(A0A8G@Q 8A0A(B BBBD {HHPXHA@ 8D0A(B BBBH LJBBB B(D0A8Gj 8A0A(B BBBH tBBBI J(K0 (A BBBE Q (A BBBH  (A BBBJ C (D BBBK T0hIFAA G  AABJ  HW`BBB B(A0A8G L0 8A0A(B BBBF 0K0Z0A0UojƷ03XF+y6\%K,쳼};h" ,sdmXzH@U3(=X yDaD:a6kV4eM7\E%rOݒ}2WR}ACܥq+nF@l-)`B7Vq^KqC#B.zG0iPy|p/3w"-E`O54^VE"!!ƖH5HU{X7&~[Wf$@0#Ynh&PWpm'j J"sֈOK 4K–}b`B y;_&M B@k0\qZ>Hi1 Qv`jQuZ4sϳ*ƬM2 Blz?>=z;GYQ*eKH瞇 3hhS=]g4iضhhe\%8^(T? g*+6a zP( ɕ*+|r kpk$߿r~BAe_"AN¤.4k^3.Cmct5h"tA&Df(0z엎j ::ԺSԢ4FU\//lGlVTC۲fDȝ2U^ɿongxWnJ"_E4 0`ygYZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata  & 4$Go00@Q ppYxxao&%&%no&&0}''`BP.P. @ @@@@@ 0L0L XXz 7  !!!! ! 8!` `!` xa`l (/, >usr/share/doc/alt-libxml2/Copyright000064400000002411152531573270013256 0ustar00Except where otherwise noted in the source code (e.g. the files hash.c, list.c and the trio files, which are covered by a similar licence but with different Copyright notices) all the files are: Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. 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 fur- nished 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, FIT- NESS 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. usr/share/doc/alt-libxml2/TODO000064400000026134152531573270012063 0ustar00124907 HTML parse buffer problem when parsing larse in-memory docs 124110 DTD validation && wrong namespace 123564 xmllint --html --format TODO for the XML parser and stuff: ================================== this tend to be outdated :-\ ... DOCS: ===== - use case of using XInclude to load for example a description. order document + product base -(XSLT)-> quote with XIncludes | HTML output with description of parts <---(XSLT)-- TODO: ===== - XInclude at the SAX level (libSRVG) - fix the C code prototype to bring back doc/libxml-undocumented.txt to a reasonable level - Computation of base when HTTP redirect occurs, might affect HTTP interfaces. - Computation of base in XInclude. Relativization of URIs. - listing all attributes in a node. - Better checking of external parsed entities TAG 1234 - Go through erratas and do the cleanup. http://www.w3.org/XML/xml-19980210-errata ... started ... - jamesh suggestion: SAX like functions to save a document ie. call a function to open a new element with given attributes, write character data, close last element, etc + inversted SAX, initial patch in April 2002 archives. - htmlParseDoc has parameter encoding which is not used. Function htmlCreateDocParserCtxt ignore it. - fix realloc() usage. - Stricten the UTF8 conformance (Martin Duerst): http://www.w3.org/2001/06/utf-8-test/. The bad files are in http://www.w3.org/2001/06/utf-8-wrong/. - xml:id normalized value TODO: ===== - move all string manipulation functions (xmlStrdup, xmlStrlen, etc.) to global.c. Bjorn noted that the following files depends on parser.o solely because of these string functions: entities.o, global.o, hash.o, tree.o, xmlIO.o, and xpath.o. - Optimization of tag strings allocation ? - maintain coherency of namespace when doing cut'n paste operations => the functions are coded, but need testing - function to rebuild the ID table - functions to rebuild the DTD hash tables (after DTD changes). EXTENSIONS: =========== - Tools to produce man pages from the SGML docs. - Add Xpointer recognition/API - Add Xlink recognition/API => started adding an xlink.[ch] with a unified API for XML and HTML. it's crap :-( - Implement XSchemas => Really need to be done - datatype are complete, but structure support is very limited. - extend the shell with: - edit - load/save - mv (yum, yum, but it's harder because directories are ordered in our case, mvup and mvdown would be required) Done: ===== - Add HTML validation using the XHTML DTD - problem: do we want to keep and maintain the code for handling DTD/System ID cache directly in libxml ? => not really done that way, but there are new APIs to check elements or attributes. Otherwise XHTML validation directly ... - XML Schemas datatypes except Base64 and BinHex - Relax NG validation - XmlTextReader streaming API + validation - Add a DTD cache prefilled with xhtml DTDs and entities and a program to manage them -> like the /usr/bin/install-catalog from SGML right place seems $datadir/xmldtds Maybe this is better left to user apps => use a catalog instead , and xhtml1-dtd package - Add output to XHTML => XML serializer automatically recognize the DTd and apply the specific rules. - Fix output of - compliance to XML-Namespace checking, see section 6 of http://www.w3.org/TR/REC-xml-names/ - Correct standalone checking/emitting (hard) 2.9 Standalone Document Declaration - Implement OASIS XML Catalog support http://www.oasis-open.org/committees/entity/ - Get OASIS testsuite to a more friendly result, check all the results once stable. the check-xml-test-suite.py script does this - Implement XSLT => libxslt - Finish XPath => attributes addressing troubles => defaulted attributes handling => namespace axis ? done as XSLT got debugged - bug reported by Michael Meallin on validation problems => Actually means I need to add support (and warn) for non-deterministic content model. - Handle undefined namespaces in entity contents better ... at least issue a warning - DOM needs int xmlPruneProp(xmlNodePtr node, xmlAtttrPtr attr); => done it's actually xmlRemoveProp xmlUnsetProp xmlUnsetNsProp - HTML: handling of Script and style data elements, need special code in the parser and saving functions (handling of < > " ' ...): http://www.w3.org/TR/html4/types.html#type-script Attributes are no problems since entities are accepted. - DOM needs xmlAttrPtr xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value) - problem when parsing hrefs with & with the HTML parser (IRC ac) - If the internal encoding is not UTF8 saving to a given encoding doesn't work => fix to force UTF8 encoding ... done, added documentation too - Add an ASCII I/O encoder (asciiToUTF8 and UTF8Toascii) - Issue warning when using non-absolute namespaces URI. - the html parser should add and if they don't exist started, not finished. Done, the automatic closing is added and 3 testcases were inserted - Command to force the parser to stop parsing and ignore the rest of the file. xmlStopParser() should allow this, mostly untested - support for HTML empty attributes like
- plugged iconv() in for support of a large set of encodings. - xmlSwitchToEncoding() rewrite done - URI checkings (no fragments) rfc2396.txt - Added a clean mechanism for overload or added input methods: xmlRegisterInputCallbacks() - dynamically adapt the alloc entry point to use g_alloc()/g_free() if the programmer wants it: - use xmlMemSetup() to reset the routines used. - Check attribute normalization especially xmlGetProp() - Validity checking problems for NOTATIONS attributes - Validity checking problems for ENTITY ENTITIES attributes - Parsing of a well balanced chunk xmlParseBalancedChunkMemory() - URI module: validation, base, etc ... see uri.[ch] - turn tester into a generic program xmllint installed with libxml - extend validity checks to go through entities content instead of just labelling them PCDATA - Save Dtds using the children list instead of dumping the tables, order is preserved as well as comments and PIs - Wrote a notice of changes requires to go from 1.x to 2.x - make sure that all SAX callbacks are disabled if a WF error is detected - checking/handling of newline normalization http://localhost/www.xml.com/axml/target.html#sec-line-ends - correct checking of '&' '%' on entities content. - checking of PE/Nesting on entities declaration - checking/handling of xml:space - checking done. - handling done, not well tested - Language identification code, productions [33] to [38] => done, the check has been added and report WFness errors - Conditional sections in DTDs [61] to [65] => should this crap be really implemented ??? => Yep OASIS testsuite uses them - Allow parsed entities defined in the internal subset to override the ones defined in the external subset (DtD customization). => This mean that the entity content should be computed only at use time, i.e. keep the orig string only at parse time and expand only when referenced from the external subset :-( Needed for complete use of most DTD from Eve Maler - Add regression tests for all WFC errors => did some in test/WFC => added OASIS testsuite routines http://xmlsoft.org/conf/result.html - I18N: http://wap.trondheim.com/vaer/index.phtml is not XML and accepted by the XML parser, UTF-8 should be checked when there is no "encoding" declared ! - Support for UTF-8 and UTF-16 encoding => added some conversion routines provided by Martin Durst patched them, got fixes from @@@ I plan to keep everything internally as UTF-8 (or ISO-Latin-X) this is slightly more costly but more compact, and recent processors efficiency is cache related. The key for good performances is keeping the data set small, so will I. => the new progressive reading routines call the detection code is enabled, tested the ISO->UTF-8 stuff - External entities loading: - allow override by client code - make sure it is called for all external entities referenced Done, client code should use xmlSetExternalEntityLoader() to set the default loading routine. It will be called each time an external entity entity resolution is triggered. - maintain ID coherency when removing/changing attributes The function used to deallocate attributes now check for it being an ID and removes it from the table. - push mode parsing i.e. non-blocking state based parser done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt() and xmlParseChunk() and html counterparts. The tester program now has a --push option to select that parser front-end. Douplicated tests to use both and check results are similar. - Most of XPath, still see some troubles and occasionnal memleaks. - an XML shell, allowing to traverse/manipulate an XML document with a shell like interface, and using XPath for the anming syntax - use of readline and history added when available - the shell interface has been cleanly separated and moved to debugXML.c - HTML parser, should be fairly stable now - API to search the lang of an attribute - Collect IDs at parsing and maintain a table. PBM: maintain the table coherency PBM: how to detect ID types in absence of DtD ! - Use it for XPath ID support - Add validity checking Should be finished now ! - Add regression tests with entity substitutions - External Parsed entities, either XML or external Subset [78] and [79] parsing the xmllang DtD now works, so it should be sufficient for most cases ! - progressive reading. The entity support is a first step toward abstraction of an input stream. A large part of the context is still located on the stack, moving to a state machine and putting everything in the parsing context should provide an adequate solution. => Rather than progressive parsing, give more power to the SAX-like interface. Currently the DOM-like representation is built but => it should be possible to define that only as a set of SAX callbacks and remove the tree creation from the parser code. DONE - DOM support, instead of using a proprietary in memory format for the document representation, the parser should call a DOM API to actually build the resulting document. Then the parser becomes independent of the in-memory representation of the document. Even better using RPC's the parser can actually build the document in another program. => Work started, now the internal representation is by default very near a direct DOM implementation. The DOM glue is implemented as a separate module. See the GNOME gdome module. - C++ support : John Ehresman - Updated code to follow more recent specs, added compatibility flag - Better error handling, use a dedicated, overridable error handling function. - Support for CDATA. - Keep track of line numbers for better error reporting. - Support for PI (SAX one). - Support for Comments (bad, should be in ASAP, they are parsed but not stored), should be configurable. - Improve the support of entities on save (+SAX). usr/share/doc/alt-libxml2/NEWS000064400000570210152531573270012071 0ustar00NEWS file for libxml2 v2.10.2: Aug 29 2022 ### Improvements - Remove set-but-unused variable in xmlXPathScanName - Silence -Warray-bounds warning ### Build system - build: require automake-1.16.3 or later (Xi Ruoyao) - Remove generated files from distribution ### Test suite - Don't create missing.xml when running testapi v2.10.1: Aug 25 2022 ### Regressions - Fix xmlCtxtReadDoc with encoding ### Bug fixes - Fix HTML parser with threads and --without-legacy ### Build system - Fix build with Python 3.10 - cmake: Disable version script on macOS - Remove Makefile rule to build testapi.c ### Documentation - Switch back to HTML output for API documentation - Port doc/examples/index.py to Python 3 - Fix order of exports in libxml2-api.xml - Remove libxml2-refs.xml v2.10.0: Aug 17 2022 ### Security - [CVE-2022-2309] Reset nsNr in xmlCtxtReset - Reserve byte for NUL terminator and report errors consistently in xmlBuf and xmlBuffer (David Kilzer) - Fix missing NUL terminators in xmlBuf and xmlBuffer functions (David Kilzer) - Fix integer overflow in xmlBufferDump() (David Kilzer) - xmlBufAvail() should return length without including a byte for NUL terminator (David Kilzer) - Fix ownership of xmlNodePtr & xmlAttrPtr fields in xmlSetTreeDoc() (David Kilzer) - Use xmlNewDocText in xmlXIncludeCopyRange - Fix use-after-free bugs when calling xmlTextReaderClose() before xmlFreeTextReader() on post-validating parser (David Kilzer) - Use UPDATE_COMPAT() consistently in buf.c (David Kilzer) - fix: xmlXPathParserContext could be double-delete in OOM case. (jinsub ahn) ### Removals and deprecations - Disable XPointer location support by default - Remove outdated xml2Conf.sh - Deprecate module init and cleanup functions - Remove obsolete XML Software Autoupdate (XSA) file - Remove DOCBparser - Remove obsolete Python test framework - Remove broken VxWorks support - Remove broken Mac OS 9 support - Remove broken bakefile support - Remove broken Visual Studio 2010 support - Remove broken Windows CE support - Deprecate IDREF-related functions in valid.h - Deprecate legacy functions - Disable legacy support by default - Deprecate all functions in nanoftp.h - Disable FTP support by default - Add XML_DEPRECATED macro - Remove elfgcchack.h ### Regressions - Skip incorrectly opened HTML comments - Restore behavior of htmlDocContentDumpFormatOutput() (David Kilzer) ### Bug fixes - Fix memory leak with invalid XSD - Make XPath depth check work with recursive invocations - Fix memory leak in xmlLoadEntityContent error path - Avoid double-free if malloc fails in inputPush - Properly fold whitespace around the QName value when validating an XSD schema. (Damjan Jovanovic) - Add whitespace folding for some atomic data types that it's missing on. (Damjan Jovanovic) - Don't add IDs containing unexpanded entity references ### Improvements - Avoid calling xmlSetTreeDoc - Simplify xmlFreeNode - Don't reset nsDef when changing node content - Fix unintended fall-through in xmlNodeAddContentLen - Remove unused xmlBuf functions (David Kilzer) - Implement xpath1() XPointer scheme - Add configuration flag for XPointer locations support - Fix compiler warnings in Python code - Mark more static data as `const` (David Kilzer) - Make xmlStaticCopyNode non-recursive - Clean up encoding switching code - Simplify recursive pthread mutex - Use non-recursive mutex in dict.c - Fix parser progress checks - Avoid arithmetic on freed pointers - Improve buffer allocation scheme - Remove unneeded #includes - Add support for some non-standard escapes in regular expressions. (Damjan Jovanovic) - htmlParseComment: handle abruptly-closed comments (Mike Dalessio) - Add let variable tag support (Oliver Diehl) - Add value-of tag support (Oliver Diehl) - Remove useless call to xmlRelaxNGCleanupTypes - Don't include ICU headers in public headers - Update `xmlStrlen()` to use POSIX / ISO C `strlen()` (Mike Dalessio) - Fix unused variable warnings with disabled features - Only warn on invalid redeclarations of predefined entities - Remove unneeded code in xmlreader.c - Rework validation context flags ### Portability - Use NAN/INFINITY if available to init XPath NaN/Inf (Sergey Kosukhin) - Fix Python tests on macOS - Fix xmlCleanupThreads on Windows - Fix reinitialization of library on Windows - Don't mix declarations and code in runtest.c - Use portable python shebangs (David Seifert) - Use critical sections as mutex on Windows - Don't set HAVE_WIN32_THREADS in win32config.h - Use stdint.h with newer MSVC - Remove cruft from win32config.h - Remove isinf/isnan emulation in win32config.h - Always fopen files with "rb" - Remove __DJGPP__ checks - Remove useless __CYGWIN__ checks ### Build system - Don't autogenerate doc/examples/Makefile.am - cmake: Install libxml.m4 on UNIX-like platforms (Daniel E) - cmake: Use symbol versioning on UNIX-like platforms (Daniel E) - Port genUnicode.py to Python 3 - Port gentest.py to Python 3 - cmake: Fix build without thread support - cmake: Install documentation in CMAKE_INSTALL_DOCDIR - cmake: Remove non needed files in docs dir (Daniel E) - configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set (Christopher Degawa) - Move local Autoconf macros into m4 directory - Use XML_PRIVATE_LIBS in libxml2_la_LIBADD - Update libxml-2.0-uninstalled.pc.in - Remove LIBS from XML_PRIVATE_LIBS - Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS - Don't overlink executables - cmake: Adjust paths for UNIX or UNIX-like target systems (Daniel Engberg) - build: Make use of variables in libxml's pkg-config file (Daniel Engberg) - Avoid obsolescent `test -a` constructs (David Seifert) - Move AM_MAINTAINER_MODE to AM section - configure.ac: make AM_SILENT_RULES([yes]) unconditional (David Seifert) - Streamline documentation installation - Don't try to recreate COPYING symlink - Detect libm using libtool's macros (David Seifert) - configure.ac: disable static libraries by default (David Seifert) - python/Makefile.am: nest python docs in $(docdir) (David Seifert) - python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert) - Makefile.am: install examples more idiomatically (David Seifert) - configure.ac: remove useless AC_SUBST (David Seifert) - Respect `--sysconfdir` in source files (David Seifert) - Ignore configure backup file created by recent autoreconf too (Vadim Zeitlin) - Only install *.html and *.c example files - Remove --with-html-dir option - Rework documentation build system - Remove old website - Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert) - Update genChRanges.py - Update build_glob.py - Remove ICONV_CONST test - Remove obsolete AC_HEADER checks - Don't check for standard C89 library functions - Don't check for standard C89 headers - Remove special configuration for certain maintainers ### Test suite, CI - Disable network in API tests - testapi: remove leading slash from "/missing.xml" (Mike Gilbert) - Build Autotools CI tests out of source tree (VPATH) - Add --with-minimum build to CI tests - Fix warnings when testing --with-minimum build - cmake: Run all tests when threads are disabled - Also build CI tests with -Werror - Move doc/examples tests to new test suite - Simplify 'make check' targets - Fix schemas and relaxng tests - Remove unused result files - Allow missing result files in runtest - Move regexp tests to runtest - Move SVG tests to runtest.c - Move testModule to new test suite - Move testThreads to new test suite - Remove major parts of old test suite - Make testchar return an error on failure (Tony Tascioglu) - Add CI job for static build - python/tests: open() relative to test scripts (David Seifert) - Port some test scripts to Python 3 ### Documentation - Improve documentation of tree manipulation API - Update xml2-config man page - Consolidate man pages - Rename xmlcatalog_man.xml - Make examples a standalone HTML page - Fix documentation in entities.c - Add note about optimization flags v2.9.14: May 02 2022: - Security: [CVE-2022-29824] Integer overflow in xmlBuf and xmlBuffer Fix potential double-free in xmlXPtrStringRangeFunction Fix memory leak in xmlFindCharEncodingHandler Normalize XPath strings in-place Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars() (David Kilzer) Fix leak of xmlElementContent (David Kilzer) - Bug fixes: Fix parsing of subtracted regex character classes Fix recursion check in xinclude.c Reset last error in xmlCleanupGlobals Fix certain combinations of regex range quantifiers Fix range quantifier on subregex - Improvements: Fix recovery from invalid HTML start tags - Build system, portability: Define LFS macros before including system headers Initialize XPath floating-point globals configure: check for icu DEFS (James Hilliard) configure.ac: produce tar.xz only (GNOME policy) (David Seifert) CMakeLists.txt: Fix LIBXML_VERSION_NUMBER Fix build with older Python versions Fix --without-valid build v2.9.13: Feb 19 2022: - Security: [CVE-2022-23308] Use-after-free of ID and IDREF attributes (Thanks to Shinji Sato for the report) Use-after-free in xmlXIncludeCopyRange (David Kilzer) Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong) Fix memory leak in xmlXPathCompNodeTest Fix null pointer deref in xmlStringGetNodeList Fix several memory leaks found by Coverity (David King) - Fixed regressions: Fix regression in RelaxNG pattern matching Properly handle nested documents in xmlFreeNode Fix regression with PEs in external DTD Fix random dropping of characters on dumping ASCII encoded XML (Mohammad Razavi) Revert "Make schema validation fail with multiple top-level elements" Fix regression when parsing invalid HTML tags in push mode Fix regression parsing public IDs literals in HTML Fix buffering in xmlOutputBufferWrite Fix whitespace when serializing empty HTML documents Fix XPath recursion limit Fix regression in xmlNodeDumpOutputInternal Work around lxml API abuse - Bug fixes: Fix xmlSetTreeDoc with entity references Fix double counting of CRLF in comments Make sure to grow input buffer in xmlParseMisc Don't ignore xmllint options after "-" Don't normalize namespace URIs in XPointer xmlns() scheme Fix handling of XSD with empty namespace Also register HTML document nodes Make xmllint return an error if arguments are missing Fix handling of ctxt->base in xmlXPtrEvalXPtrPart Fix xmllint --maxmem Fix htmlReadFd, which was using a mix of xml and html context functions (Finn Barber) Move current position before possible calling of ctxt->sax->characters (Yulin Li) Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer) Patch to forbid epsilon-reduction of final states (Arne Becker) Avoid segfault at exit when using custom memory functions (Mike Dalessio) - Tests, code quality, fuzzing: Remove .travis.yml Make xmlFuzzReadString return a zero size in error case Fix unused function warning in testapi.c Update NewsML DTD in test suite Add more checks for malloc failures in xmllint.c Avoid potential integer overflow in xmlstring.c Run CI tests with UBSan implicit-conversion checks Fix casting of line numbers in SAX2.c Fix integer conversion warnings in hash.c Add explicit casts in runtest.c Fix integer conversion warning in xmlIconvWrapper Add suffix to unsigned constant in xmlmemory.c Add explicit casts in testchar.c Fix integer conversion warnings in xmlstring.c Add explicit cast in xmlURIUnescapeString Remove unused variable in xmlCharEncOutFunc (David King) - Build system, portability: Remove xmlwin32version.h Fix fuzzer test with VPATH build Support custom prefix when installing Python module Remove Makefile.win Remove CVS and SVN-related code Port python 3.x module to Windows and improve distutils (Chun-wei Fan) Correctly install the HTML examples into their subdirectory (Mattia Rizzolo) Refactor the settings of $docdir (Mattia Rizzolo) Remove unused configure checks (Ben Boeckel) python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS (Sam James) Fix check for libtool in autogen.sh Use version in configure.ac for CMake (Timothy Lyanguzov) Add CMake alias targets for embedded projects (Markus Rickert) - Documentation: Remove SVN keyword anchors Rework README Remove README.cvs-commits Remove old ChangeLog Update hyperlinks Remove README.docs Remove MAINTAINERS Remove xmltutorial.pdf Upload documentation to GitLab pages Document how to escape XML_CATALOG_FILES Fix libxml2.doap Update URL for libxml++ C++ binding (Kjell Ahlstedt) Generate devhelp2 index file (Emmanuele Bassi) Mention XML_CATALOG_FILES is space-separated (Jan Tojnar) Add documentaiton for xmllint exit code 10 (Rainer Canavan) Fix some validation errors in the FAQ (David King) Add instructions on how to use CMake to compile libxml (Markus Rickert) v2.9.12: May 13 2021: - Build system: Add fuzz.h and seed/regexp to EXTRA_DIST v2.9.11: May 13 2021: - Security: Patch for security issue CVE-2021-3541 (Daniel Veillard) - Documentation: Clarify xmlNewDocProp documentation (Nick Wellnhofer) - Portability: CMake: Only add postfixes if MSVC (Christopher Degawa), Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer), Use CMake PROJECT_VERSION (Markus Rickert), Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson), Add CI for CMake on MSVC (Markus Rickert), Update minimum required CMake version (Markus Rickert), Add variables for configured options to CMake config files (Markus Rickert), Check if variables exist when defining targets (Markus Rickert), Check if target exists when reading target properties (Markus Rickert), Add xmlcatalog target and definition to config files (Markus Rickert), Remove include directories for link-only dependencies (Markus Rickert), Fix ICU build in CMake (Markus Rickert), Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert), Update CMake config files (Markus Rickert), Add xmlcatalog and xmllint to CMake export (Markus Rickert), Simplify xmlexports.h (Nick Wellnhofer), Require dependencies based on enabled CMake options (Markus Rickert), Use NAMELINK_COMPONENT in CMake install (Markus Rickert), Add CMake files to EXTRA_DIST (Markus Rickert), Add missing compile definition for static builds to CMake (Markus Rickert), Add CI for CMake on Linux and MinGW (Markus Rickert), Fix variable name in win32/configure.js (Nick Wellnhofer), Fix version parsing in win32/configure.js (Nick Wellnhofer), Fix autotools warnings (Nick Wellnhofer), Update config.h.cmake.in (Markus Rickert), win32: allow passing *FLAGS on command line (Michael Stahl), Configure file xmlwin32version.h.in on MSVC (Markus Rickert), List headers individually (Markus Rickert), Add CMake build files (Markus Rickert), Parenthesize Py_Check() in ifs (Miro Hrončok), Minor fixes to configure.js (Nick Wellnhofer) - Bug Fixes: Fix null deref in legacy SAX1 parser (Nick Wellnhofer), Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer), Fix line numbers in error messages for mismatched tags (Nick Wellnhofer), Fix htmlTagLookup (Nick Wellnhofer), Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer), Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer), Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer), Validate UTF8 in xmlEncodeEntities (Joel Hockey), Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer), Allow FP division by zero in xmlXPathInit (Nick Wellnhofer), Fix xmlGetNodePath with invalid node types (Nick Wellnhofer), Fix exponential behavior with recursive entities (Nick Wellnhofer), Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer), Fix slow parsing of HTML with encoding errors (Nick Wellnhofer), Fix null deref introduced with previous commit (Nick Wellnhofer), Check for invalid redeclarations of predefined entities (Nick Wellnhofer), Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate), parser.c: shrink the input buffer when appropriate (Mike Dalessio), Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer), Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer), Fix timeout when handling recursive entities (Nick Wellnhofer), Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer), Fix null deref in xmlStringGetNodeList (Nick Wellnhofer), use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio), htmlParseComment: treat `--!>` as if it closed the comment (Mike Dalessio), Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer), encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni), xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet->val" (Xiaoming Ni), Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer), Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer), Avoid quadratic checking of identity-constraints (Michael Matz), Fix building with ICU 68. (Frederik Seiffert), Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner), Fix xmlURIEscape memory leaks. (Elliott Hughes), Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer), Fix caret in regexp character group (Nick Wellnhofer), parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio), Fix memory leaks in XPointer string-range function (Nick Wellnhofer), Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer), Fix SEGV in xmlSAXParseFileWithData (yanjinjq), Fix null deref in XPointer expression error path (Nick Wellnhofer), Don't call xmlXPathInit directly (Nick Wellnhofer), Fix cleanup of attributes in XML reader (Nick Wellnhofer), Fix double free in XML reader with XIncludes (Nick Wellnhofer), Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer), Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer), Fix error reporting with xi:fallback (Nick Wellnhofer), Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer), Fix corner case with empty xi:fallback (Nick Wellnhofer), Fix XInclude regression introduced with recent commit (Nick Wellnhofer), Fix memory leak in runtest.c (Nick Wellnhofer), Make "xmllint --push --recovery" work (Nick Wellnhofer), Revert "Do not URI escape in server side includes" (Nick Wellnhofer), Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer), Stop counting nbChars in parser context (Nick Wellnhofer), Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer), Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer), Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer), Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer), Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer), Check for custom free function in global destructor (Nick Wellnhofer), Fix integer overflow when comparing schema dates (Nick Wellnhofer), Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer), Don't try to handle namespaces when building HTML documents (Nick Wellnhofer), Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer), Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer), Reset XML parser input before reporting errors (David Kilzer), Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer), Fix HTML push parser lookahead (Nick Wellnhofer), Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer), Fix UTF-8 decoder in HTML parser (Nick Wellnhofer), Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer), Reset HTML parser input before reporting error (Nick Wellnhofer), Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer), Fix regression introduced with 477c7f6a (Nick Wellnhofer), Fix quadratic runtime in HTML parser (Nick Wellnhofer), Reset HTML parser input before reporting encoding error (Nick Wellnhofer), Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer), Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer), Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer), Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer), Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer), Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer), Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer), Fix integer overflow in htmlParseCharRef (Nick Wellnhofer), Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer), Fix return value of xmlCharEncOutput (Nick Wellnhofer), Never expand parameter entities in text declaration (Nick Wellnhofer), Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer), Fix use-after-free with validating reader (Nick Wellnhofer), xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer), Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer), Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer), Make schema validation fail with multiple top-level elements (Nick Wellnhofer), Call xmlCleanupParser on ELF destruction (Samuel Thibault), Fix copying of entities in xmlParseReference (Nick Wellnhofer), Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie), Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz), Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz), Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz), Fix integer overflow in xmlBufferResize (Nick Wellnhofer), Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer), Remove useless comparisons (Nick Wellnhofer), Fix overflow check in xmlNodeDump (Nick Wellnhofer), Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie), Fix freeing of nested documents (Nick Wellnhofer), Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer), Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer), Fix xml2-config error code (Nick Wellnhofer), Fix memory leak in error path of XPath expr parser (Nick Wellnhofer), Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer), Null pointer handling in catalog.c (raniervf), xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin) - Improvements: Store per-element parser state in a struct (Nick Wellnhofer), update for xsd:language type check (PaulHiggs), Update INSTALL.libxml2 (Nick Wellnhofer), Fix include order in c14n.h (Nick Wellnhofer), Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer), Speed up htmlCheckAutoClose (Nick Wellnhofer), Speed up htmlTagLookup (Nick Wellnhofer), Stop checking attributes for UTF-8 validity (Nick Wellnhofer), Reduce some fuzzer timeouts (Nick Wellnhofer), Only run a few CI tests unless scheduled (Nick Wellnhofer), Improve fuzzer stability (Nick Wellnhofer), Check for feature flags in fuzzer tests (Nick Wellnhofer), Another attempt at improving fuzzer stability (Nick Wellnhofer), Revert "Improve HTML fuzzer stability" (Nick Wellnhofer), Add charset names to fuzzing dictionaries (Nick Wellnhofer), Improve HTML fuzzer stability (Nick Wellnhofer), Add CI for MSVC x86 (Markus Rickert), Add a flag to not output anything when xmllint succeeded (hhb), Speed up HTML fuzzer (Nick Wellnhofer), Remove unused encoding parameter of HTML output functions (Nick Wellnhofer), Handle malloc failures in fuzzing code (Nick Wellnhofer), add test coverage for incorrectly-closed comments (Mike Dalessio), Enforce maximum length of fuzz input (Nick Wellnhofer), Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer), Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner), Add CI test for Python 3 (Nick Wellnhofer), Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer), Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer), Allow port numbers up to INT_MAX (Nick Wellnhofer), Handle dumps of corrupted documents more gracefully (Nick Wellnhofer), Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer), Hardcode maximum XPath recursion depth (Nick Wellnhofer), Pass URL of main entity in XML fuzzer (Nick Wellnhofer), Consolidate seed corpus generation (Nick Wellnhofer), Test fuzz targets with dummy driver (Nick Wellnhofer), Fix regression introduced with commit d88df4b (Nick Wellnhofer), Fix regression introduced with commit 74dcc10b (Nick Wellnhofer), Add TODO comment in xinclude.c (Nick Wellnhofer), Stop using maxParserDepth in xpath.c (Nick Wellnhofer), Remove dead code in xinclude.c (Nick Wellnhofer), Don't add formatting newlines to XInclude nodes (Nick Wellnhofer), Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer), Remove unneeded progress checks in HTML parser (Nick Wellnhofer), Use strcmp when fuzzing (Nick Wellnhofer), Fix XPath fuzzer (Nick Wellnhofer), Fuzz XInclude engine (Nick Wellnhofer), Add XPath and XPointer fuzzer (Nick Wellnhofer), Update fuzzing code (Nick Wellnhofer), More *NodeDumpOutput fixes (Nick Wellnhofer), Fix *NodeDumpOutput functions (Nick Wellnhofer), Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer), Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer), Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer), Fix .gitattributes (Nick Wellnhofer), Rework control flow in htmlCurrentChar (Nick Wellnhofer), Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer), Remove misleading comments in xpath.c (Nick Wellnhofer), Update to Devhelp index file format version 2 (Andre Klapper), Set project language to C (Markus Rickert), Add variable for working directory of XML Conformance Test Suite (Markus Rickert), Add additional tests and XML Conformance Test Suite (Markus Rickert), Add command line option for temp directory in runtest (Markus Rickert), Ensure LF line endings for test files (Markus Rickert), Enable runtests and testThreads (Markus Rickert), Limit regexp nesting depth (Nick Wellnhofer), Fix return values and documentation in encoding.c (Nick Wellnhofer), Add regexp regression tests (David Kilzer), Report error for invalid regexp quantifiers (Nick Wellnhofer), Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner), Copy xs:duration parser from libexslt (Nick Wellnhofer), Fuzz target for XML Schemas (Nick Wellnhofer), Move entity recorder to fuzz.c (Nick Wellnhofer), Fuzz target for HTML parser (Nick Wellnhofer), Update GitLab CI container (Nick Wellnhofer), Add options file for xml fuzzer (Nick Wellnhofer), Add a couple of libFuzzer targets (Nick Wellnhofer), Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng), Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz), Fix typos (Nick Wellnhofer), Disable LeakSanitizer (Nick Wellnhofer), Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer), Add test case for recursive external parsed entities (Nick Wellnhofer), Enable error tests with entity substitution (Nick Wellnhofer), Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer), Merge code paths loading external entities (Nick Wellnhofer), Copy some XMLReader option flags to parser context (Nick Wellnhofer), Add xmlPopOutputCallbacks (Nick Wellnhofer), Updated Python test reader2.py (Pieter van Oostrum), Updated python/tests/tstLastError.py (Pieter van Oostrum), Use random seed in xmlDictComputeFastKey (Ranier Vilela), Enable more undefined behavior sanitizers (Nick Wellnhofer) v2.9.10: Oct 30 2019: - Documentation: Fix a few more typos ("fonction") (Nick Wellnhofer), Large batch of typo fixes (Jared Yanovich), Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný), Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný), Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný), Fix comments in test code (zhouzhongyuan), fix comment in testReader.c (zhouzhongyuan) - Portability: Fix some release issues on Fedora 30 (Daniel Veillard), Fix exponent digits when running tests under old MSVC (Daniel Richard G), Work around buggy ceil() function on AIX (Daniel Richard G), Don't call printf with NULL string in runtest.c (Daniel Richard G), Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney), timsort.h: support older GCCs (Jérôme Duval), Make configure.ac work with older pkg-config (Nick Wellnhofer), Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer), Fix nanohttp.c on MinGW (Nick Wellnhofer), Fix Windows compiler warning in testC14N.c (Nick Wellnhofer), Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer), Fix Python bindings under Windows (Nick Wellnhofer) - Bug Fixes: Another fix for conditional sections at end of document (Nick Wellnhofer), Fix for conditional sections at end of document (Nick Wellnhofer), Make sure that Python tests exit with error code (Nick Wellnhofer), Audit memory error handling in xpath.c (Nick Wellnhofer), Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer), Fix integer overflow when counting written bytes (Nick Wellnhofer), Fix uninitialized memory access in HTML parser (Nick Wellnhofer), Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer), Disallow conditional sections in internal subset (Nick Wellnhofer), Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer), Fix Regextests (Nick Wellnhofer), Fix empty branch in regex (Nick Wellnhofer), Fix integer overflow in entity recursion check (Nick Wellnhofer), Don't read external entities or XIncludes from stdin (Nick Wellnhofer), Fix Schema determinism check of ##other namespaces (Nick Wellnhofer), Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan), Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer), Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer), Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan), 14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer), Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie), Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer), Misleading error message with xs:{min|max}Inclusive (bettermanzzy), Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin), Partial fix for comparison of xs:durations (Nick Wellnhofer), Fix null deref in xmlreader buffer (zhouzhongyuan), Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný), Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný), Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan), fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan), Fix unsigned int overflow (Jens Eggerstedt), dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer), Fix another code path in xmlParseQName (Nick Wellnhofer), Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer), Fix build without reader but with pattern (Nick Wellnhofer), Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer), Fix unsigned integer overflow (Nick Wellnhofer), Fix return value of xmlOutputBufferWrite (Nick Wellnhofer), Fix parser termination from "Double hyphen within comment" error (David Warring), Fix call stack overflow in xmlFreePattern (Nick Wellnhofer), Fix null deref in previous commit (Nick Wellnhofer), Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer), Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer), Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer), Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer), Fix null deref in xmlregexp error path (Nick Wellnhofer), Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer), Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer), Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer), Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer), Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer), Memory leak in xmlFreeTextReader (Nick Wellnhofer), Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer) - Improvements: Run XML conformance tests under CI (Nick Wellnhofer), Update GitLab CI config (Nick Wellnhofer), Propagate memory errors in valuePush (Nick Wellnhofer), Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer), Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer), Enable continuous integration via GitLab CI (Nick Wellnhofer), Avoid ignored attribute warnings under GCC (Nick Wellnhofer), Make xmlDumpElementContent non-recursive (Nick Wellnhofer), Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer), Mark xmlExp* symbols as removed (Nick Wellnhofer), Make xmlParseConditionalSections non-recursive (Nick Wellnhofer), Adjust expected error in Python tests (Nick Wellnhofer), Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer), Make xmlFreeNodeList non-recursive (Nick Wellnhofer), Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer), Remove executable bit from non-executable files (Nick Wellnhofer), Fix expected output of test/schemas/any4 (Nick Wellnhofer), Optimize build instructions in README (zhouzhongyuan), xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster), xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster), Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer), Fix warnings when compiling without reader or push parser (Nick Wellnhofer), Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer), Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer), Remove -Wno-array-bounds (Nick Wellnhofer), Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer), Improve XPath predicate and filter evaluation (Nick Wellnhofer), Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer), Disable hash randomization when fuzzing (Nick Wellnhofer), Optional recursion limit when parsing XPath expressions (Nick Wellnhofer), Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer), Use break statements in xmlXPathCompOpEval (Nick Wellnhofer), Optional XPath operation limit (Nick Wellnhofer), Fix compilation with --with-minimum (Nick Wellnhofer), Check XPath stack after calling functions (Nick Wellnhofer), Remove debug printf in xmlreader.c (Nick Wellnhofer), Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner), Regenerate NEWS (Nick Wellnhofer), Change git repo URL (Nick Wellnhofer), Change bug tracker URL (Nick Wellnhofer), Remove outdated HTML file (Nick Wellnhofer), Fix unused function warning in testapi.c (Nick Wellnhofer), Add some generated test files to .gitignore (Nick Wellnhofer), Remove unneeded function pointer casts (Nick Wellnhofer), Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer), Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer) - Cleanups: Rebuild docs (Nick Wellnhofer), Disable xmlExp regex code (Nick Wellnhofer), Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer), Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer) v2.9.9: Jan 03 2019: - Security: CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer), CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer), - Documentation: reader: Fix documentation comment (Mohammed Sadiq) - Portability: Fix MSVC build with lzma (Nick Wellnhofer), Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner), Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner), Merge branch 'patch-2' into 'master' (Nick Wellnhofer), Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka), Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer), NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer) - Bug Fixes: Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer), Fix building relative URIs (Thomas Holder), Problem with data in interleave in RelaxNG validation (Nikolai Weibull), Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer), Set doc on element obtained from freeElems (Nick Wellnhofer), Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer), Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer), Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer), Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer), Free input buffer in xmlHaltParser (Nick Wellnhofer), Reset HTML parser input pointers on encoding failure (Nick Wellnhofer), Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer), Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom), Fix xmlTextReaderNext with preparsed document (Felix Bünemann), Remove stray character from comment (Nick Wellnhofer), Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski), HTML noscript should not close p (Daniel Veillard), Don't change context node in xmlXPathRoot (Nick Wellnhofer), Stop using XPATH_OP_RESET (Nick Wellnhofer), Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer) - Improvements: Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull), cleanup: remove some unreachable code (Thomas Holder), add --relative to testURI (Thomas Holder), Remove redefined starts and defines inside include elements (Nikolai Weibull), Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull), Look inside divs for starts and defines inside include (Nikolai Weibull), Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull), Stop using doc->charset outside parser code (Nick Wellnhofer), Add newlines to 'xmllint --xpath' output (Nick Wellnhofer), Don't include SAX.h from globals.h (Nick Wellnhofer), Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann), Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)), Run Travis ASan tests with "sudo: required" (Nick Wellnhofer), Improve restoring of context size and position (Nick Wellnhofer), Simplify and harden nodeset filtering (Nick Wellnhofer), Avoid unnecessary backups of the context node (Nick Wellnhofer), Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer) - Cleanups: v2.9.8: Mar 05 2018: - Portability: python: remove single use of _PyVerify_fd (Patrick Welche), Build more test executables on Windows/MSVC (Nick Wellnhofer), Stop including ansidecl.h (Nick Wellnhofer), Fix libz and liblzma detection (Nick Wellnhofer), Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer) - Bug Fixes: Fix xmlParserEntityCheck (Nick Wellnhofer), Halt parser in case of encoding error (Nick Wellnhofer), Clear entity content in case of errors (Nick Wellnhofer), Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey), Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer), Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer), Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer), Fix -Wenum-compare warnings (Nick Wellnhofer), Fix callback signature in testapi.c (Nick Wellnhofer), Fix unused parameter warning without ICU (Nick Wellnhofer), Fix IO callback signatures (Nick Wellnhofer), Fix misc callback signatures (Nick Wellnhofer), Fix list callback signatures (Nick Wellnhofer), Fix hash callback signatures (Nick Wellnhofer), Refactor name and type signature for xmlNop (Vlad Tsyrklevich), Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey), Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer) - Improvements: Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer), Improve handling of context input_id (Daniel Veillard), Add resource file to Windows DLL (ccpaging), Run Travis tests with -Werror (Nick Wellnhofer), Build with "-Wall -Wextra" (Nick Wellnhofer), Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer), Remove unused AC_CHECKs (Nick Wellnhofer), Update information about contributing (Nick Wellnhofer), Fix -Wmisleading-indentation warnings (Nick Wellnhofer), Don't touch CFLAGS in configure.ac (Nick Wellnhofer), Ignore function pointer cast warnings (Nick Wellnhofer), Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer), Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer), Add test for ICU flush and pivot buffer (Nick Wellnhofer), Compile testapi with -Wno-unused-function (Nick Wellnhofer) 2.9.7: Nov 02 2017: - Documentation: xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný) - Portability: Fix deprecated Travis compiler flag (Nick Wellnhofer), Add declaration for DllMain (J. Peter Mugaas), Fix preprocessor conditional in threads.h (J. Peter Mugaas), Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas), Fix macro redefinition warning (J. Peter Mugaas), Default to native threads on MinGW-w64 (Nick Wellnhofer), Simplify Windows IO functions (Nick Wellnhofer), Fix runtest on Windows (Nick Wellnhofer), socklen_t is always int on Windows (Nick Wellnhofer), Don't redefine socket error codes on Windows (Nick Wellnhofer), Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer), Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer) - Bug Fixes: xmlcatalog: restore ability to query system catalog easily (Jan Pokorný), Fix comparison of nodesets to strings (Nick Wellnhofer) - Improvements: Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer), Fix mixed decls and code in timsort.h (Nick Wellnhofer), Rework handling of return values in thread tests (Nick Wellnhofer), Fix unused variable warnings in testrecurse (Nick Wellnhofer), Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas), Upgrade timsort.h to latest revision (Nick Wellnhofer), Increase warning level to /W3 under MSVC (Nick Wellnhofer), Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer), Update .gitignore for Windows (Nick Wellnhofer), Fix unused variable warnings in nanohttp.c (Nick Wellnhofer), Fix the Windows header mess (Nick Wellnhofer), Don't include winsock2.h in xmllint.c (Nick Wellnhofer), Remove generated file python/setup.py from version control (Nick Wellnhofer), Use __linux__ macro in generated code (Nick Wellnhofer) v2.9.6: Oct 06 2017: - Portability: Change preprocessor OS tests to __linux__ (Nick Wellnhofer) - Bug Fixes: Fix XPath stack frame logic (Nick Wellnhofer), Report undefined XPath variable error message (Nick Wellnhofer), Fix regression with librsvg (Nick Wellnhofer), Handle more invalid entity values in recovery mode (Nick Wellnhofer), Fix structured validation errors (Nick Wellnhofer), Fix memory leak in LZMA decompressor (Nick Wellnhofer), Set memory limit for LZMA decompression (Nick Wellnhofer), Handle illegal entity values in recovery mode (Nick Wellnhofer), Fix debug dump of streaming XPath expressions (Nick Wellnhofer), Fix memory leak in nanoftp (Nick Wellnhofer), Fix memory leaks in SAX1 parser (Nick Wellnhofer) v2.9.5: Sep 04 2017: - Security: Detect infinite recursion in parameter entities (Nick Wellnhofer), Fix handling of parameter-entity references (Nick Wellnhofer), Disallow namespace nodes in XPointer ranges (Nick Wellnhofer), Fix XPointer paths beginning with range-to (Nick Wellnhofer) - Documentation: Documentation fixes (Nick Wellnhofer), Spelling and grammar fixes (Nick Wellnhofer) - Portability: Adding README.zOS to list of extra files for the release (Daniel Veillard), Description of work needed to compile on zOS (Stéphane Michaut), Porting libxml2 on zOS encoding of code (Stéphane Michaut), small changes for OS/400 (Patrick Monnerat), relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan) - Bug Fixes: Problem resolving relative URIs (Daniel Veillard), Fix unwanted warnings when switching encodings (Nick Wellnhofer), Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard), Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer), Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer), Fix infinite loops with push parser in recovery mode (Nick Wellnhofer), Send xmllint usage error to stderr (Nick Wellnhofer), Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer), Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer), Fix xmlHaltParser (Nick Wellnhofer), Fix pathological performance when outputting charrefs (Nick Wellnhofer), Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer), Fix duplicate SAX callbacks for entity content (David Kilzer), Treat URIs with scheme as absolute in C14N (Nick Wellnhofer), Fix copy-paste errors in error messages (Nick Wellnhofer), Fix sanity check in htmlParseNameComplex (Nick Wellnhofer), Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer), Reset parser input pointers on encoding failure (Nick Wellnhofer), Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer), Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer), Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer), Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer), Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard), Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer), Stop parser on unsupported encodings (Nick Wellnhofer), Check for integer overflow in memory debug code (Nick Wellnhofer), Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer), Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer), Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer), Check XPath exponents for overflow (Nick Wellnhofer), Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer), Fix spurious error message (Nick Wellnhofer), Fix memory leak in xmlCanonicPath (Nick Wellnhofer), Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer), Fix memory leak in pattern error path (Nick Wellnhofer), Fix memory leak in parser error path (Nick Wellnhofer), Fix memory leaks in XPointer error paths (Nick Wellnhofer), Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer), Fix memory leak in XPath filter optimizations (Nick Wellnhofer), Fix memory leaks in XPath error paths (Nick Wellnhofer), Do not leak the new CData node if adding fails (David Tardon), Prevent unwanted external entity reference (Neel Mehta), Increase buffer space for port in HTTP redirect support (Daniel Veillard), Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer), Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer), Fix format string warnings (Nick Wellnhofer), Disallow namespace nodes in XPointer points (Nick Wellnhofer), Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer), Fix attribute decoding during XML schema validation (Alex Henrie), Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer) - Improvements: Updating the spec file to reflect Fedora 24 (Daniel Veillard), Add const in five places to move 1 KiB to .rdata (Bruce Dawson), Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard), Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer), Simplify handling of parameter entity references (Nick Wellnhofer), Deduplicate code in encoding.c (Nick Wellnhofer), Make HTML parser functions take const pointers (Nick Wellnhofer), Build test programs only when needed (Nick Wellnhofer), Fix doc/examples/index.py (Nick Wellnhofer), Fix compiler warnings in threads.c (Nick Wellnhofer), Fix empty-body warning in nanohttp.c (Nick Wellnhofer), Fix cast-align warnings (Nick Wellnhofer), Fix unused-parameter warnings (Nick Wellnhofer), Rework entity boundary checks (Nick Wellnhofer), Don't switch encoding for internal parameter entities (Nick Wellnhofer), Merge duplicate code paths handling PE references (Nick Wellnhofer), Test SAX2 callbacks with entity substitution (Nick Wellnhofer), Support catalog and threads tests under --without-sax1 (Nick Wellnhofer), Misc fixes for 'make tests' (Nick Wellnhofer), Initialize keepBlanks in HTML parser (Nick Wellnhofer), Add test cases for bug 758518 (David Kilzer), Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer), Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer), Allow zero sized memory input buffers (Nick Wellnhofer), Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer), Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer), Make Travis print UBSan stacktraces (Nick Wellnhofer), Add .travis.yml (Nick Wellnhofer), Fix expected error output in Python tests (Nick Wellnhofer), Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer), Disable LeakSanitizer when running API tests (Nick Wellnhofer), Avoid out-of-bound array access in API tests (Nick Wellnhofer), Avoid spurious UBSan errors in parser.c (Nick Wellnhofer), Parse small XPath numbers more accurately (Nick Wellnhofer), Rework XPath rounding functions (Nick Wellnhofer), Fix white space in test output (Nick Wellnhofer), Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer), Check for trailing characters in XPath expressions earlier (Nick Wellnhofer), Rework final handling of XPath results (Nick Wellnhofer), Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer), Remove unused variables (Nick Wellnhofer), Don't print generic error messages in XPath tests (Nick Wellnhofer) - Cleanups: Fix a couple of misleading indentation errors (Daniel Veillard), Remove unnecessary calls to xmlPopInput (Nick Wellnhofer) 2.9.4: May 23 2016: - Security: More format string warnings with possible format string vulnerability (David Kilzer), Avoid building recursive entities (Daniel Veillard), Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde), Heap-based buffer-underreads due to xmlParseName (David Kilzer), Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde), Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde), Fix some format string warnings with possible format string vulnerability (David Kilzer), Detect change of encoding when parsing HTML names (Hugh Davenport), Fix inappropriate fetch of entities content (Daniel Veillard), Bug 759398: Heap use-after-free in xmlDictComputeFastKey (Pranjal Jumde), Bug 758605: Heap-based buffer overread in xmlDictAddString (Pranjal Jumde), Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal (David Kilzer), Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup (Pranjal Jumde), Add missing increments of recursion depth counter to XML parser. (Peter Simons) - Documentation: Fix typo: s{ ec -> cr }cipt (Jan Pokorný), Fix typos: dictio{ nn -> n }ar{y,ies} (Jan Pokorný), Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } (Jan Pokorný), Correct a typo. (Shlomi Fish) - Portability: Correct the usage of LDFLAGS (Mattias Hansson), Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson), libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger), Fix apibuild for a recently added construct (Daniel Veillard), Use pkg-config to locate zlib when possible (Stewart Brodie), Use pkg-config to locate ICU when possible (Stewart Brodie), Portability to non C99 compliant compilers (Patrick Monnerat), dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat), os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat), os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat), os400: implement CL command XMLCATALOG. (Patrick Monnerat), os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat), os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat), os400: implement CL command XMLLINT. (Patrick Monnerat), os400: compile and install program xmllint (qshell-only). (Patrick Monnerat), os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat), os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat), os400: use like() for double type. (Patrick Monnerat), os400: use like() for int type. (Patrick Monnerat), os400: use like() for unsigned int type. (Patrick Monnerat), os400: use like() for enum types. (Patrick Monnerat), Add xz to xml2-config --libs output (Baruch Siach), Bug 760190: configure.ac should be able to build --with-icu without icu-config tool (David Kilzer), win32\VC10\config.h and VS 2015 (Bruce Dawson), Add configure maintainer mode (orzen) - Bug Fixes: Avoid an out of bound access when serializing malformed strings (Daniel Veillard), Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer), Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer), Bug 763071: heap-buffer-overflow in xmlStrncat (Pranjal Jumde), Integer overflow parsing port number in URI (Michael Paddon), Fix an error with regexp on nullable counted char transition (Daniel Veillard), Fix memory leak with XPath namespace nodes (Nick Wellnhofer), Fix namespace axis traversal (Nick Wellnhofer), Fix null pointer deref in docs with no root element (Hugh Davenport), Fix XSD validation of URIs with ampersands (Alex Henrie), xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat), xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat), xmllint: flush stdout before interactive shell input. (Patrick Monnerat), Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer), Fix namespace::node() XPath expression (Nick Wellnhofer), Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer), Fix parsing of NCNames in XPath (Nick Wellnhofer), Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer), Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht), Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" (David Kilzer), Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd (David Kilzer), error.c: *input->cur == 0 does not mean no error (Pavel Raiskup), Add missing RNG test files (David Kilzer), Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer (David Kilzer), Bug 758572: ASAN crash in make check (David Kilzer), Bug 721158: Missing ICU string when doing --version on xmllint (David Kilzer), python 3: libxml2.c wrappers create Unicode str already (Michael Stahl), Add autogen.sh to distrib (orzen), Heap-based buffer overread in xmlNextChar (Daniel Veillard) - Improvements: Add more debugging info to runtest (Daniel Veillard), Implement "runtest -u" mode (David Kilzer), Add a make rule to rebuild for ASAN (Daniel Veillard) v2.9.3: Nov 20 2015: - Security: CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport), CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard), CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard), CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard), CVE-2015-5312 Another entity expansion issue (David Drysdale), CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale), CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard), CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard), CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard), CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard), CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard) CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard), CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard), - Documentation: Correct spelling of "calling" (Alex Henrie), Fix a small error in xmllint --format description (Fabien Degomme), Avoid XSS on the search of xmlsoft.org (Daniel Veillard) - Portability: threads: use forward declarations only for glibc (Michael Heimpold), Update Win32 configure.js to search for configure.ac (Daniel Veillard) - Bug Fixes: Bug on creating new stream from entity (Daniel Veillard), Fix some loop issues embedding NEXT (Daniel Veillard), Do not print error context when there is none (Daniel Veillard), Avoid extra processing of MarkupDecl when EOF (Hugh Davenport), Fix parsing short unclosed comment uninitialized access (Daniel Veillard), Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta), Fix a bug in CData error handling in the push parser (Daniel Veillard), Fix a bug on name parsing at the end of current input buffer (Daniel Veillard), Fix the spurious ID already defined error (Daniel Veillard), Fix previous change to node sort order (Nick Wellnhofer), Fix a self assignment issue raised by clang (Scott Graham), Fail parsing early on if encoding conversion failed (Daniel Veillard), Do not process encoding values if the declaration if broken (Daniel Veillard), Silence clang's -Wunknown-attribute (Michael Catanzaro), xmlMemUsed is not thread-safe (Martin von Gagern), Fix support for except in nameclasses (Daniel Veillard), Fix order of root nodes (Nick Wellnhofer), Allow attributes on descendant-or-self axis (Nick Wellnhofer), Fix the fix to Windows locking (Steve Nairn), Fix timsort invariant loop re: Envisage article (Christopher Swenson), Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer), Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer), Remove various unused value assignments (Philip Withnall), Fix missing entities after CVE-2014-3660 fix (Daniel Veillard), Revert "Missing initialization for the catalog module" (Daniel Veillard) - Improvements: Reuse xmlHaltParser() where it makes sense (Daniel Veillard), xmlStopParser reset errNo (Daniel Veillard), Re-enable xz support by default (Daniel Veillard), Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard), Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance), Regression test for bug #695699 (Nick Wellnhofer), Add a couple of XPath tests (Nick Wellnhofer), Add Python 3 rpm subpackage (Tomas Radej), libxml2-config.cmake.in: update include directories (Samuel Martin), Adding example from bugs 738805 to regression tests (Daniel Veillard) - Cleanups: 2.9.2: Oct 16 2014: - Security: Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard), CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard) - Bug Fixes: fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer), xmlmemory: handle realloc properly (Yegor Yefremov), Python generator bug raised by the const change (Daniel Veillard), Windows Critical sections not released correctly (Daniel Veillard), Parser error on repeated recursive entity expansion containing < (Daniel Veillard), xpointer : fixing Null Pointers (Gaurav Gupta), Remove Unnecessary Null check in xpointer.c (Gaurav Gupta), parser bug on misformed namespace attributes (Dennis Filder), Pointer dereferenced before null check (Daniel Veillard), Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta), Possible overflow in HTMLParser.c (Daniel Veillard), python/tests/sync.py assumes Python dictionaries are ordered (John Beck), Fix Enum check and missing break (Gaurav Gupta), xmlIO: Handle error returns from dup() (Philip Withnall), Fix a problem properly saving URIs (Daniel Veillard), wrong error column in structured error when parsing attribute values (Juergen Keil), wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil), no error column in structured error handler for xml schema validation errors (Juergen Keil), Couple of Missing Null checks (Gaurav Gupta), Add couple of missing Null checks (Daniel Veillard), xmlschemastypes: Fix potential array overflow (Philip Withnall), runtest: Fix a memory leak on parse failure (Philip Withnall), xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall), xmlcatalog: Fix a memory leak on quit (Philip Withnall), HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall), Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer), Avoid Possible Null Pointer in trio.c (Gaurav Gupta), Fix processing in SAX2 in case of an allocation failure (Daniel Veillard), XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard), Fix various Missing Null checks (Gaurav Gupta), Fix a potential NULL dereference (Daniel Veillard), Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta), Add a missing argument check (Gaurav Gupta), Adding a check in case of allocation error (Gaurav Gupta), xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder), Adding some missing NULL checks (Gaurav), Fixes for xmlInitParserCtxt (Daniel Veillard), Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard), erroneously ignores a validation error if no error callback set (Daniel Veillard), xmllint was not parsing the --c14n11 flag (Sérgio Batista), Avoid Possible null pointer dereference in memory debug mode (Gaurav), Avoid Double Null Check (Gaurav), Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer), Fix xmlParseInNodeContext() if node is not element (Daniel Veillard), Avoid a possible NULL pointer dereference (Gaurav), Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard), Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard), fixing a ptotential uninitialized access (Daniel Veillard), Fix an fd leak in an error case (Daniel Veillard), Missing initialization for the catalog module (Daniel Veillard), Handling of XPath function arguments in error case (Nick Wellnhofer), Fix a couple of missing NULL checks (Gaurav), Avoid a possibility of dangling encoding handler (Gaurav), Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks), Fix a bug loading some compressed files (Mike Alexander), Fix XPath node comparison bug (Gaurav), Type mismatch in xmlschemas.c (Gaurav), Type mismatch in xmlschemastypes.c (Gaurav), Avoid a deadcode in catalog.c (Daniel Veillard), run close socket on Solaris, same as we do on other platforms (Denis Pauk), Fix pointer dereferenced before null check (Gaurav), Fix a potential NULL dereference in tree code (Daniel Veillard), Fix potential NULL pointer dereferences in regexp code (Gaurav), xmllint --pretty crashed without following numeric argument (Tim Galeckas), Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer), Fix XPath '//' optimization with predicates (Nick Wellnhofer), Clear up a potential NULL dereference (Daniel Veillard), Fix a possible NULL dereference (Gaurav), Avoid crash if allocation fails (Daniel Veillard), Remove occasional leading space in XPath number formatting (Daniel Veillard), Fix handling of mmap errors (Daniel Veillard), Catch malloc error and exit accordingly (Daniel Veillard), missing else in xlink.c (Ami Fischman), Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard), Fix a regression in xmlGetDocCompressMode() (Daniel Veillard), properly quote the namespace uris written out during c14n (Aleksey Sanin), Remove premature XInclude check on URI being relative (Alexey Neyman), Fix missing break on last() function for attributes (dcb), Do not URI escape in server side includes (Romain Bondue), Fix an error in xmlCleanupParser (Alexander Pastukhov) - Documentation: typo in error messages "colon are forbidden from..." (Daniel Veillard), Fix a link to James SAX documentation old page (Daniel Veillard), Fix typos in relaxng.c (Jan Pokorný), Fix a doc typo (Daniel Veillard), Fix typos in {tree,xpath}.c (errror) (Jan Pokorný), Add limitations about encoding conversion (Daniel Veillard), Fix typos in xmlschemas{,types}.c (Jan Pokorný), Fix incorrect spelling entites->entities (Jan Pokorný), Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard) - Portability: AC_CONFIG_FILES and executable bit (Roumen Petrov), remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov), fix some tabs mixing incompatible with python3 (Roumen Petrov), Visual Studio 14 CTP defines snprintf() (Francis Dupont), OS400: do not try to copy unexisting doc files (Patrick Monnerat), OS400: use either configure.ac or configure.in. (Patrick Monnerat), os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat), OS400: Add some more C macros equivalent procedures. (Patrick Monnerat), OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat), OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat), OS400: include in distribution tarball. (Patrick Monnerat), OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat), OS400: Add compilation scripts. (Patrick Monnerat), OS400: ILE RPG language header files. (Patrick Monnerat), OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat), OS400: UTF8<-->EBCDIC wrappers for system and external library calls (Patrick Monnerat), OS400: Easy character transcoding support (Patrick Monnerat), OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat), OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat), Fix building when configuring without xpath and xptr (Daniel Veillard), configure: Add --with-python-install-dir (Jonas Eriksson), Fix compilation with minimum and xinclude. (Nicolas Le Cam), Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam), Fix compilation with minimum and schematron. (Nicolas Le Cam), Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam), Don't use xmlValidateName() when not available. (Nicolas Le Cam), Fix a portability issue on Windows (Longstreth Jon), Various portability patches for OpenVMS (Jacob (Jouk) Jansen), Use specific macros for portability to OS/400 (Patrick Monnerat), Add macros needed for OS/400 portability (Patrick Monnerat), Portability patch for fopen on OS/400 (Patrick Monnerat), Portability fixes for OS/400 (Patrick Monnerat), Improve va_list portability (Patrick Monnerat), Portability fix (Patrick Monnerat), Portability fix (Patrick Monnerat), Generic portability fix (Patrick Monnerat), Shortening lines in headers (Patrick Monnerat), build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall), build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall), fix some tabs mixing incompatible with python3 (Daniel Veillard), add additional defines checks for support "./configure --with-minimum" (Denis Pauk), Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis), python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev), python: Fix compiler warnings when building python3 bindings (Armin K), Fix for compilation with python 2.6.8 (Petr Sumbera) - Improvements: win32/libxml2.def.src after rebuild in doc (Roumen Petrov), elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov), elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov), Provide cmake module (Samuel Martin), Fix a couple of issues raised by make dist (Daniel Veillard), Fix and add const qualifiers (Kurt Roeckx), Preparing for upcoming release of 2.9.2 (Daniel Veillard), Fix zlib and lzma libraries check via command line (Dmitriy), wrong error column in structured error when parsing end tag (Juergen Keil), doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat), Add methods for python3 iterator (Ron Angeles), Support element node traversal in document fragments. (Kyle VanderBeek), xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom), Added macros for argument casts (Eric Zurcher), adding init calls to xml and html Read parsing entry points (Daniel Veillard), Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný), Implement choice for name classes on attributes (Shaun McCance), Two small namespace tweaks (Daniel Veillard), xmllint --memory should fail on empty files (Daniel Veillard), Cast encoding name to char pointer to match arg type (Nikolay Sivov) - Cleanups: Removal of old configure.in (Daniel Veillard), Unreachable code in tree.c (Gaurav Gupta), Remove a couple of dead conditions (Gaurav Gupta), Avoid some dead code and cleanup in relaxng.c (Gaurav), Drop not needed checks (Denis Pauk), Fix a wrong test (Daniel Veillard) 2.9.1: Apr 19 2013: - Features: Support for Python3 (Daniel Veillard), Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh) - Documentation: Add documentation for xmllint --xpath (Daniel Veillard), Fix the URL of the SAX documentation from James (Daniel Veillard), Fix spelling of "length". (Michael Wood) - Portability: Fix python bindings with versions older than 2.7 (Daniel Veillard), rebuild docs:Makefile.am (Roumen Petrov), elfgcchack.h after rebuild in doc (Roumen Petrov), elfgcchack for buf module (Roumen Petrov), Fix a uneeded and wrong extra link parameter (Daniel Veillard), Few cleanup patches for Windows (Denis Pauk), Fix rpmbuild --nocheck (Mark Salter), Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard), Fix Broken multi-arch support in xml2-config (Daniel Veillard), Fix a portability issue for GCC < 3.4.0 (Daniel Veillard), Windows build fixes (Daniel Richard), Fix a thread portability problem (Friedrich Haubensak), Downgrade autoconf requirement to 2.63 (Daniel Veillard) - Bug Fixes: Fix a linking error for python bindings (Daniel Veillard), Fix a couple of return without value (Jüri Aedla), Improve the hashing functions (Daniel Franke), Improve handling of xmlStopParser() (Daniel Veillard), Remove risk of lockup in dictionary initialization (Daniel Veillard), Activate detection of encoding in external subset (Daniel Veillard), Fix an output buffer flushing conversion bug (Mikhail Titov), Fix an old bug in xmlSchemaValidateOneElement (Csaba László), Fix configure cannot remove messages (Gilles Espinasse), fix schema validation in combination with xsi:nil (Daniel Veillard), xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf), Fix a few problems with setEntityLoader (Alexey Neyman), Detect excessive entities expansion upon replacement (Daniel Veillard), Fix the flushing out of raw buffers on encoding conversions (Daniel, Veillard), Fix some buffer conversion issues (Daniel Veillard), When calling xmlNodeDump make sure we grow the buffer quickly (Daniel, Veillard), Fix an error in the progressive DTD parsing code (Dan Winship), xmllint should not load DTD by default when using the reader (Daniel, Veillard), Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera), Fix potential out of bound access (Daniel Veillard), Fix large parse of file from memory (Daniel Veillard), Fix a bug in the nsclean option of the parser (Daniel Veillard), Fix a regression in 2.9.0 breaking validation while streaming (Daniel, Veillard), Remove potential calls to exit() (Daniel Veillard) - Improvements: Regenerated API, and testapi, rebuild documentation (Daniel Veillard), Fix tree iterators broken by 2to3 script (Daniel Veillard), update all tests for Python3 and Python2 (Daniel Veillard), A few more fixes for python 3 affecting libxml2.py (Daniel Veillard), Fix compilation on Python3 (Daniel Veillard), Converting apibuild.py to python3 (Daniel Veillard), First pass at starting porting to python3 (Daniel Veillard), updated configure.in for python3 (Daniel Veillard), Add support for xpathRegisterVariable in Python (Shaun McCance), Added a regression tests from bug 694228 data (Daniel Veillard), Cache presence of '<' in entities content (Daniel Veillard), Avoid extra processing on entities (Daniel Veillard), Python binding for xmlRegisterInputCallback (Alexey Neyman), Python bindings: DOM casts everything to xmlNode (Alexey Neyman), Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling), Adding streaming validation to runtest checks (Daniel Veillard), Add a --pushsmall option to xmllint (Daniel Veillard) - Cleanups: Switched comment in file to UTF-8 encoding (Daniel Veillard), Extend gitignore (Daniel Veillard), Silent the new python test on input (Alexey Neyman), Cleanup of a duplicate test (Daniel Veillard), Cleanup on duplicate test expressions (Daniel Veillard), Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick, Gansterer), Spec cleanups and a fix for multiarch support (Daniel Veillard), Silence a clang warning (Daniel Veillard), Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard), rand_seed should be static in dict.c (Wouter Van Rooy), Fix typos in parser comments (Jan Pokorný) 2.9.0: Sep 11 2012: - Features: A few new API entry points, More resilient push parser mode, A lot of portability improvement, Faster XPath evaluation - Documentation: xml2-config.1 markup error (Christian Weisgerber), libxml(3) manpage typo fix (John Bradshaw), More cleanups to the documentation part of libxml2 (Daniel Richard G) - Portability: Bug 676544 - fails to build with --without-sax1 (Akira TAGOH), fix builds not having stdint.h (Rob Richards), GetProcAddressA is available only on WinCE (Daniel Veillard), More updates and cleanups on autotools and Makefiles (Daniel Richard G), More changes for Win32 compilation (Eric Zurcher), Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher), Bundles all generated files for python into the distribution (Daniel Richard G), Fix compiler warnings of wincecompat.c (Patrick Gansterer), Fix non __GNUC__ build (Patrick Gansterer), Fix windows unicode build (Patrick Gansterer), clean redefinition of {v}snprintf in C-source (Roumen Petrov), use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov), fix runtests to use pthreads support for various Unix platforms (Daniel Richard G), Various "make distcheck" and portability fixups 2nd part (Daniel Richard G), Various "make distcheck" and portability fixups (Daniel Richard G), Fix compilation on older Visual Studio (Daniel Veillard) - Bug Fixes: Change the XPath code to percolate allocation errors (Daniel Veillard), Fix reuse of xmlInitParser (Daniel Veillard), Fix potential crash on entities errors (Daniel Veillard), initialize var (Rob Richards), Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard), Fix problem with specific and generic error handlers (Pietro Cerutti), Avoid a potential infinite recursion (Daniel Veillard), Fix an XSD error when generating internal automata (Daniel Veillard), Patch for xinclude of text using multibyte characters (Vitaly Ostanin), Fix a segfault on XSD validation on pattern error (Daniel Veillard), Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard), Add a missing element check (Daniel Veillard), Adding various checks on node type though the API (Daniel Veillard), Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard), Fix make dist to include new private header files (Daniel Veillard), More fixups on the push parser behaviour (Daniel Veillard), Strengthen behaviour of the push parser in problematic situations (Daniel Veillard), Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard), Fixup limits parser (Daniel Veillard), Do not fetch external parsed entities (Daniel Veillard), Fix an error in previous commit (Aron Xu), Fix entities local buffers size problems (Daniel Veillard), Fix parser local buffers size problems (Daniel Veillard), Fix a failure to report xmlreader parsing failures (Daniel Veillard) - Improvements: Keep libxml2.syms when running "make distclean" (Daniel Veillard), Allow to set the quoting character of an xmlWriter (Csaba Raduly), Keep non-significant blanks node in HTML parser (Daniel Veillard), Add a forbidden variable error number and message to XPath (Daniel Veillard), Support long path names on WNT (Michael Stahl), Improve HTML escaping of attribute on output (Daniel Veillard), Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis), Switching XPath node sorting to Timsort (Vojtech Fried), Optimizing '//' in XPath expressions (Nick Wellnhofer), Expose xmlBufShrink in the public tree API (Daniel Veillard), Visible HTML elements close the head tag (Conrad Irwin), Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard), Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard), minimize use of HAVE_CONFIG_H (Roumen Petrov), fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov), Add support for big line numbers in error reporting (Daniel Veillard), Avoid using xmlBuffer for serialization (Daniel Veillard), Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard), Provide new accessors for xmlOutputBuffer (Daniel Veillard), Improvements for old buffer compatibility (Daniel Veillard), Expand the limit test program (Daniel Veillard), Improve error reporting on parser errors (Daniel Veillard), Implement some default limits in the XPath module (Daniel Veillard), Introduce some default parser limits (Daniel Veillard), Cleanups and new limit APIs for dictionaries (Daniel Veillard), Fixup for buf.c (Daniel Veillard), Cleanup URI module memory allocation code (Daniel Veillard), Extend testlimits (Daniel Veillard), More avoid quadratic behaviour (Daniel Veillard), Impose a reasonable limit on PI size (Daniel Veillard), first version of testlimits new test (Daniel Veillard), Avoid quadratic behaviour in some push parsing cases (Daniel Veillard), Impose a reasonable limit on comment size (Daniel Veillard), Impose a reasonable limit on attribute size (Daniel Veillard), Harden the buffer code and make it more compatible (Daniel Veillard), More cleanups for input/buffers code (Daniel Veillard), Cleanup function xmlBufResetInput(), to set input from Buffer (Daniel Veillard) Switch the test program for characters to new input buffers (Daniel Veillard), Convert the HTML tree module to the new buffers (Daniel Veillard), Convert of the HTML parser to new input buffers (Daniel Veillard), Convert the writer to new output buffer and save APIs (Daniel Veillard), Convert XMLReader to the new input buffers (Daniel Veillard), New saving functions using xmlBuf and conversion (Daniel Veillard), Provide new xmlBuf based saving functions (Daniel Veillard), Convert XInclude to the new input buffers (Daniel Veillard), Convert catalog code to the new input buffers (Daniel Veillard), Convert C14N to the new Input buffer (Daniel Veillard), Convert xmlIO.c to the new input and output buffers (Daniel Veillard), Convert XML parser to the new input buffers (Daniel Veillard), Incompatible change to the Input and Output buffers (Daniel Veillard), Adding new encoding function to deal with the new structures (Daniel Veillard), Convert XPath to xmlBuf (Daniel Veillard), Adding a new buf module for buffers (Daniel Veillard), Memory error within SAX2 reuse common framework (Daniel Veillard), Fix xmllint --xpath node initialization (Daniel Veillard) - Cleanups: Various cleanups to avoid compiler warnings (Daniel Veillard), Big space and tab cleanup (Daniel Veillard), Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard), Second round of cleanups for LibXML2 docs/examples (Daniel Richard), Remove all .cvsignore as they are not used anymore (Daniel Veillard), Fix a Timsort function helper comment (Daniel Veillard), Small cleanup for valgrind target (Daniel Veillard), Patch for portability of latin characters in C files (Daniel Veillard), Cleanup some of the parser code (Daniel Veillard), Fix a variable name in comment (Daniel Veillard), Regenerated testapi.c (Daniel Veillard), Regenerating docs and API files (Daniel Veillard), Small cleanup of unused variables in test (Daniel Veillard), Expand .gitignore with more files (Daniel Veillard) 2.8.0: May 23 2012: - Features: add lzma compression support (Anders F Bjorklund) - Documentation: xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä), Update README.tests (Daniel Veillard), URI handling code is not OOM resilient (Daniel Veillard), Fix an error in comment (Daniel Veillard), Fixed bug #617016 (Daniel Mustieles), Fixed two typos in the README document (Daniel Neel), add generated html files (Anders F Bjorklund), Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard), Improve documentation a bit (Daniel Veillard), Updated URL for lxml python bindings (Daniel Veillard) - Portability: Restore code for Windows compilation (Daniel Veillard), Remove git error message during configure (Christian Dywan), xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer), remove a bashism in confgure.in (John Hein), undef ERROR if already defined (Patrick R. Gansterer), Fix library problems with mingw-w64 (Michael Cronenworth), fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards), prefer native threads on win32 (Sam Thursfield), Allow to compile with Visual Studio 2010 (Thomas Lemm), Fix mingw's snprintf configure check (Andoni Morales), fixed a 64bit big endian issue (Marcus Meissner), Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard), Fix windows build from lzma addition (Rob Richards), autogen: Only check for libtoolize (Colin Walters), Fix the Windows build files (Patrick von Reth), 634846 Remove a linking option breaking Windows VC10 (Daniel Veillard), 599241 fix an initialization problem on Win64 (Andrew W. Nosenko), fix win build (Rob Richards) - Bug fixes: Part for rand_r checking missing (Daniel Veillard), Cleanup on randomization (Daniel Veillard), Fix undefined reference in python module (Pacho Ramos), Fix a race in xmlNewInputStream (Daniel Veillard), Fix weird streaming RelaxNG errors (Noam), Fix various bugs in new code raised by the API checking (Daniel Veillard), Fix various problems with "make dist" (Daniel Veillard), Fix a memory leak in the xzlib code (Daniel Veillard), HTML parser error with