diff --git a/_schema/121.json b/_schema/121.json index 4ed6948..958b009 100644 --- a/_schema/121.json +++ b/_schema/121.json @@ -1,20703 +1 @@ -{ - "index": { - "layer": 121, - "categories": [ - { - "name": "constructor", - "values": [ - "account.authorizationForm", - "account.authorizations", - "account.autoDownloadSettings", - "account.contentSettings", - "account.password", - "account.passwordInputSettings", - "account.passwordSettings", - "account.privacyRules", - "account.sentEmailCode", - "account.takeout", - "account.themes", - "account.themesNotModified", - "account.tmpPassword", - "account.wallPapers", - "account.wallPapersNotModified", - "account.webAuthorizations", - "accountDaysTTL", - "auth.authorization", - "auth.authorizationSignUpRequired", - "auth.codeTypeCall", - "auth.codeTypeFlashCall", - "auth.codeTypeSms", - "auth.exportedAuthorization", - "auth.loginToken", - "auth.loginTokenMigrateTo", - "auth.loginTokenSuccess", - "auth.passwordRecovery", - "auth.sentCode", - "auth.sentCodeTypeApp", - "auth.sentCodeTypeCall", - "auth.sentCodeTypeFlashCall", - "auth.sentCodeTypeSms", - "authorization", - "autoDownloadSettings", - "bankCardOpenUrl", - "baseThemeArctic", - "baseThemeClassic", - "baseThemeDay", - "baseThemeNight", - "baseThemeTinted", - "boolFalse", - "boolTrue", - "botCommand", - "botInfo", - "botInlineMediaResult", - "botInlineMessageMediaAuto", - "botInlineMessageMediaContact", - "botInlineMessageMediaGeo", - "botInlineMessageMediaVenue", - "botInlineMessageText", - "botInlineResult", - "cdnConfig", - "cdnPublicKey", - "channel", - "channelAdminLogEvent", - "channelAdminLogEventActionChangeAbout", - "channelAdminLogEventActionChangeLinkedChat", - "channelAdminLogEventActionChangeLocation", - "channelAdminLogEventActionChangePhoto", - "channelAdminLogEventActionChangeStickerSet", - "channelAdminLogEventActionChangeTitle", - "channelAdminLogEventActionChangeUsername", - "channelAdminLogEventActionDefaultBannedRights", - "channelAdminLogEventActionDeleteMessage", - "channelAdminLogEventActionEditMessage", - "channelAdminLogEventActionParticipantInvite", - "channelAdminLogEventActionParticipantJoin", - "channelAdminLogEventActionParticipantLeave", - "channelAdminLogEventActionParticipantToggleAdmin", - "channelAdminLogEventActionParticipantToggleBan", - "channelAdminLogEventActionStopPoll", - "channelAdminLogEventActionToggleInvites", - "channelAdminLogEventActionTogglePreHistoryHidden", - "channelAdminLogEventActionToggleSignatures", - "channelAdminLogEventActionToggleSlowMode", - "channelAdminLogEventActionUpdatePinned", - "channelAdminLogEventsFilter", - "channelForbidden", - "channelFull", - "channelLocation", - "channelLocationEmpty", - "channelMessagesFilter", - "channelMessagesFilterEmpty", - "channelParticipant", - "channelParticipantAdmin", - "channelParticipantBanned", - "channelParticipantCreator", - "channelParticipantLeft", - "channelParticipantSelf", - "channelParticipantsAdmins", - "channelParticipantsBanned", - "channelParticipantsBots", - "channelParticipantsContacts", - "channelParticipantsKicked", - "channelParticipantsMentions", - "channelParticipantsRecent", - "channelParticipantsSearch", - "channels.adminLogResults", - "channels.channelParticipant", - "channels.channelParticipants", - "channels.channelParticipantsNotModified", - "chat", - "chatAdminRights", - "chatBannedRights", - "chatEmpty", - "chatForbidden", - "chatFull", - "chatInvite", - "chatInviteAlready", - "chatInviteEmpty", - "chatInviteExported", - "chatInvitePeek", - "chatOnlines", - "chatParticipant", - "chatParticipantAdmin", - "chatParticipantCreator", - "chatParticipants", - "chatParticipantsForbidden", - "chatPhoto", - "chatPhotoEmpty", - "codeSettings", - "config", - "contact", - "contactStatus", - "contacts.blocked", - "contacts.blockedSlice", - "contacts.contacts", - "contacts.contactsNotModified", - "contacts.found", - "contacts.importedContacts", - "contacts.resolvedPeer", - "contacts.topPeers", - "contacts.topPeersDisabled", - "contacts.topPeersNotModified", - "dataJSON", - "dcOption", - "dialog", - "dialogFilter", - "dialogFilterSuggested", - "dialogFolder", - "dialogPeer", - "dialogPeerFolder", - "document", - "documentAttributeAnimated", - "documentAttributeAudio", - "documentAttributeFilename", - "documentAttributeHasStickers", - "documentAttributeImageSize", - "documentAttributeSticker", - "documentAttributeVideo", - "documentEmpty", - "draftMessage", - "draftMessageEmpty", - "emojiKeyword", - "emojiKeywordDeleted", - "emojiKeywordsDifference", - "emojiLanguage", - "emojiURL", - "encryptedChat", - "encryptedChatDiscarded", - "encryptedChatEmpty", - "encryptedChatRequested", - "encryptedChatWaiting", - "encryptedFile", - "encryptedFileEmpty", - "encryptedMessage", - "encryptedMessageService", - "error", - "exportedMessageLink", - "fileHash", - "fileLocationToBeDeprecated", - "folder", - "folderPeer", - "game", - "geoPoint", - "geoPointEmpty", - "globalPrivacySettings", - "help.appUpdate", - "help.countriesList", - "help.countriesListNotModified", - "help.country", - "help.countryCode", - "help.deepLinkInfo", - "help.deepLinkInfoEmpty", - "help.inviteText", - "help.noAppUpdate", - "help.passportConfig", - "help.passportConfigNotModified", - "help.promoData", - "help.promoDataEmpty", - "help.recentMeUrls", - "help.support", - "help.supportName", - "help.termsOfService", - "help.termsOfServiceUpdate", - "help.termsOfServiceUpdateEmpty", - "help.userInfo", - "help.userInfoEmpty", - "highScore", - "importedContact", - "inlineBotSwitchPM", - "inputAppEvent", - "inputBotInlineMessageGame", - "inputBotInlineMessageID", - "inputBotInlineMessageMediaAuto", - "inputBotInlineMessageMediaContact", - "inputBotInlineMessageMediaGeo", - "inputBotInlineMessageMediaVenue", - "inputBotInlineMessageText", - "inputBotInlineResult", - "inputBotInlineResultDocument", - "inputBotInlineResultGame", - "inputBotInlineResultPhoto", - "inputChannel", - "inputChannelEmpty", - "inputChannelFromMessage", - "inputChatPhoto", - "inputChatPhotoEmpty", - "inputChatUploadedPhoto", - "inputCheckPasswordEmpty", - "inputCheckPasswordSRP", - "inputClientProxy", - "inputDialogPeer", - "inputDialogPeerFolder", - "inputDocument", - "inputDocumentEmpty", - "inputDocumentFileLocation", - "inputEncryptedChat", - "inputEncryptedFile", - "inputEncryptedFileBigUploaded", - "inputEncryptedFileEmpty", - "inputEncryptedFileLocation", - "inputEncryptedFileUploaded", - "inputFile", - "inputFileBig", - "inputFileLocation", - "inputFolderPeer", - "inputGameID", - "inputGameShortName", - "inputGeoPoint", - "inputGeoPointEmpty", - "inputKeyboardButtonUrlAuth", - "inputMediaContact", - "inputMediaDice", - "inputMediaDocument", - "inputMediaDocumentExternal", - "inputMediaEmpty", - "inputMediaGame", - "inputMediaGeoLive", - "inputMediaGeoPoint", - "inputMediaInvoice", - "inputMediaPhoto", - "inputMediaPhotoExternal", - "inputMediaPoll", - "inputMediaUploadedDocument", - "inputMediaUploadedPhoto", - "inputMediaVenue", - "inputMessageCallbackQuery", - "inputMessageEntityMentionName", - "inputMessageID", - "inputMessagePinned", - "inputMessageReplyTo", - "inputMessagesFilterChatPhotos", - "inputMessagesFilterContacts", - "inputMessagesFilterDocument", - "inputMessagesFilterEmpty", - "inputMessagesFilterGeo", - "inputMessagesFilterGif", - "inputMessagesFilterMusic", - "inputMessagesFilterMyMentions", - "inputMessagesFilterPhoneCalls", - "inputMessagesFilterPhotoVideo", - "inputMessagesFilterPhotos", - "inputMessagesFilterPinned", - "inputMessagesFilterRoundVideo", - "inputMessagesFilterRoundVoice", - "inputMessagesFilterUrl", - "inputMessagesFilterVideo", - "inputMessagesFilterVoice", - "inputNotifyBroadcasts", - "inputNotifyChats", - "inputNotifyPeer", - "inputNotifyUsers", - "inputPaymentCredentials", - "inputPaymentCredentialsAndroidPay", - "inputPaymentCredentialsApplePay", - "inputPaymentCredentialsSaved", - "inputPeerChannel", - "inputPeerChannelFromMessage", - "inputPeerChat", - "inputPeerEmpty", - "inputPeerNotifySettings", - "inputPeerPhotoFileLocation", - "inputPeerSelf", - "inputPeerUser", - "inputPeerUserFromMessage", - "inputPhoneCall", - "inputPhoneContact", - "inputPhoto", - "inputPhotoEmpty", - "inputPhotoFileLocation", - "inputPhotoLegacyFileLocation", - "inputPrivacyKeyAddedByPhone", - "inputPrivacyKeyChatInvite", - "inputPrivacyKeyForwards", - "inputPrivacyKeyPhoneCall", - "inputPrivacyKeyPhoneNumber", - "inputPrivacyKeyPhoneP2P", - "inputPrivacyKeyProfilePhoto", - "inputPrivacyKeyStatusTimestamp", - "inputPrivacyValueAllowAll", - "inputPrivacyValueAllowChatParticipants", - "inputPrivacyValueAllowContacts", - "inputPrivacyValueAllowUsers", - "inputPrivacyValueDisallowAll", - "inputPrivacyValueDisallowChatParticipants", - "inputPrivacyValueDisallowContacts", - "inputPrivacyValueDisallowUsers", - "inputReportReasonChildAbuse", - "inputReportReasonCopyright", - "inputReportReasonGeoIrrelevant", - "inputReportReasonOther", - "inputReportReasonPornography", - "inputReportReasonSpam", - "inputReportReasonViolence", - "inputSecureFile", - "inputSecureFileLocation", - "inputSecureFileUploaded", - "inputSecureValue", - "inputSingleMedia", - "inputStickerSetAnimatedEmoji", - "inputStickerSetDice", - "inputStickerSetEmpty", - "inputStickerSetID", - "inputStickerSetItem", - "inputStickerSetShortName", - "inputStickerSetThumb", - "inputStickeredMediaDocument", - "inputStickeredMediaPhoto", - "inputTakeoutFileLocation", - "inputTheme", - "inputThemeSettings", - "inputThemeSlug", - "inputUser", - "inputUserEmpty", - "inputUserFromMessage", - "inputUserSelf", - "inputWallPaper", - "inputWallPaperNoFile", - "inputWallPaperSlug", - "inputWebDocument", - "inputWebFileGeoPointLocation", - "inputWebFileLocation", - "invoice", - "jsonArray", - "jsonBool", - "jsonNull", - "jsonNumber", - "jsonObject", - "jsonObjectValue", - "jsonString", - "keyboardButton", - "keyboardButtonBuy", - "keyboardButtonCallback", - "keyboardButtonGame", - "keyboardButtonRequestGeoLocation", - "keyboardButtonRequestPhone", - "keyboardButtonRequestPoll", - "keyboardButtonRow", - "keyboardButtonSwitchInline", - "keyboardButtonUrl", - "keyboardButtonUrlAuth", - "labeledPrice", - "langPackDifference", - "langPackLanguage", - "langPackString", - "langPackStringDeleted", - "langPackStringPluralized", - "maskCoords", - "message", - "messageActionBotAllowed", - "messageActionChannelCreate", - "messageActionChannelMigrateFrom", - "messageActionChatAddUser", - "messageActionChatCreate", - "messageActionChatDeletePhoto", - "messageActionChatDeleteUser", - "messageActionChatEditPhoto", - "messageActionChatEditTitle", - "messageActionChatJoinedByLink", - "messageActionChatMigrateTo", - "messageActionContactSignUp", - "messageActionCustomAction", - "messageActionEmpty", - "messageActionGameScore", - "messageActionGeoProximityReached", - "messageActionHistoryClear", - "messageActionPaymentSent", - "messageActionPaymentSentMe", - "messageActionPhoneCall", - "messageActionPinMessage", - "messageActionScreenshotTaken", - "messageActionSecureValuesSent", - "messageActionSecureValuesSentMe", - "messageEmpty", - "messageEntityBankCard", - "messageEntityBlockquote", - "messageEntityBold", - "messageEntityBotCommand", - "messageEntityCashtag", - "messageEntityCode", - "messageEntityEmail", - "messageEntityHashtag", - "messageEntityItalic", - "messageEntityMention", - "messageEntityMentionName", - "messageEntityPhone", - "messageEntityPre", - "messageEntityStrike", - "messageEntityTextUrl", - "messageEntityUnderline", - "messageEntityUnknown", - "messageEntityUrl", - "messageFwdHeader", - "messageInteractionCounters", - "messageMediaContact", - "messageMediaDice", - "messageMediaDocument", - "messageMediaEmpty", - "messageMediaGame", - "messageMediaGeo", - "messageMediaGeoLive", - "messageMediaInvoice", - "messageMediaPhoto", - "messageMediaPoll", - "messageMediaUnsupported", - "messageMediaVenue", - "messageMediaWebPage", - "messageRange", - "messageReplies", - "messageReplyHeader", - "messageService", - "messageUserVote", - "messageUserVoteInputOption", - "messageUserVoteMultiple", - "messageViews", - "messages.affectedHistory", - "messages.affectedMessages", - "messages.allStickers", - "messages.allStickersNotModified", - "messages.archivedStickers", - "messages.botCallbackAnswer", - "messages.botResults", - "messages.channelMessages", - "messages.chatFull", - "messages.chats", - "messages.chatsSlice", - "messages.dhConfig", - "messages.dhConfigNotModified", - "messages.dialogs", - "messages.dialogsNotModified", - "messages.dialogsSlice", - "messages.discussionMessage", - "messages.favedStickers", - "messages.favedStickersNotModified", - "messages.featuredStickers", - "messages.featuredStickersNotModified", - "messages.foundStickerSets", - "messages.foundStickerSetsNotModified", - "messages.highScores", - "messages.inactiveChats", - "messages.messageEditData", - "messages.messageViews", - "messages.messages", - "messages.messagesNotModified", - "messages.messagesSlice", - "messages.peerDialogs", - "messages.recentStickers", - "messages.recentStickersNotModified", - "messages.savedGifs", - "messages.savedGifsNotModified", - "messages.searchCounter", - "messages.sentEncryptedFile", - "messages.sentEncryptedMessage", - "messages.stickerSet", - "messages.stickerSetInstallResultArchive", - "messages.stickerSetInstallResultSuccess", - "messages.stickers", - "messages.stickersNotModified", - "messages.votesList", - "nearestDc", - "notifyBroadcasts", - "notifyChats", - "notifyPeer", - "notifyUsers", - "null", - "page", - "pageBlockAnchor", - "pageBlockAudio", - "pageBlockAuthorDate", - "pageBlockBlockquote", - "pageBlockChannel", - "pageBlockCollage", - "pageBlockCover", - "pageBlockDetails", - "pageBlockDivider", - "pageBlockEmbed", - "pageBlockEmbedPost", - "pageBlockFooter", - "pageBlockHeader", - "pageBlockKicker", - "pageBlockList", - "pageBlockMap", - "pageBlockOrderedList", - "pageBlockParagraph", - "pageBlockPhoto", - "pageBlockPreformatted", - "pageBlockPullquote", - "pageBlockRelatedArticles", - "pageBlockSlideshow", - "pageBlockSubheader", - "pageBlockSubtitle", - "pageBlockTable", - "pageBlockTitle", - "pageBlockUnsupported", - "pageBlockVideo", - "pageCaption", - "pageListItemBlocks", - "pageListItemText", - "pageListOrderedItemBlocks", - "pageListOrderedItemText", - "pageRelatedArticle", - "pageTableCell", - "pageTableRow", - "passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow", - "passwordKdfAlgoUnknown", - "paymentCharge", - "paymentRequestedInfo", - "paymentSavedCredentialsCard", - "payments.bankCardData", - "payments.paymentForm", - "payments.paymentReceipt", - "payments.paymentResult", - "payments.paymentVerificationNeeded", - "payments.savedInfo", - "payments.validatedRequestedInfo", - "peerBlocked", - "peerChannel", - "peerChat", - "peerLocated", - "peerNotifySettings", - "peerSelfLocated", - "peerSettings", - "peerUser", - "phone.phoneCall", - "phoneCall", - "phoneCallAccepted", - "phoneCallDiscardReasonBusy", - "phoneCallDiscardReasonDisconnect", - "phoneCallDiscardReasonHangup", - "phoneCallDiscardReasonMissed", - "phoneCallDiscarded", - "phoneCallEmpty", - "phoneCallProtocol", - "phoneCallRequested", - "phoneCallWaiting", - "phoneConnection", - "phoneConnectionWebrtc", - "photo", - "photoCachedSize", - "photoEmpty", - "photoPathSize", - "photoSize", - "photoSizeEmpty", - "photoSizeProgressive", - "photoStrippedSize", - "photos.photo", - "photos.photos", - "photos.photosSlice", - "poll", - "pollAnswer", - "pollAnswerVoters", - "pollResults", - "popularContact", - "postAddress", - "privacyKeyAddedByPhone", - "privacyKeyChatInvite", - "privacyKeyForwards", - "privacyKeyPhoneCall", - "privacyKeyPhoneNumber", - "privacyKeyPhoneP2P", - "privacyKeyProfilePhoto", - "privacyKeyStatusTimestamp", - "privacyValueAllowAll", - "privacyValueAllowChatParticipants", - "privacyValueAllowContacts", - "privacyValueAllowUsers", - "privacyValueDisallowAll", - "privacyValueDisallowChatParticipants", - "privacyValueDisallowContacts", - "privacyValueDisallowUsers", - "receivedNotifyMessage", - "recentMeUrlChat", - "recentMeUrlChatInvite", - "recentMeUrlStickerSet", - "recentMeUrlUnknown", - "recentMeUrlUser", - "replyInlineMarkup", - "replyKeyboardForceReply", - "replyKeyboardHide", - "replyKeyboardMarkup", - "restrictionReason", - "savedPhoneContact", - "secureCredentialsEncrypted", - "secureData", - "secureFile", - "secureFileEmpty", - "securePasswordKdfAlgoPBKDF2HMACSHA512iter100000", - "securePasswordKdfAlgoSHA512", - "securePasswordKdfAlgoUnknown", - "securePlainEmail", - "securePlainPhone", - "secureRequiredType", - "secureRequiredTypeOneOf", - "secureSecretSettings", - "secureValue", - "secureValueError", - "secureValueErrorData", - "secureValueErrorFile", - "secureValueErrorFiles", - "secureValueErrorFrontSide", - "secureValueErrorReverseSide", - "secureValueErrorSelfie", - "secureValueErrorTranslationFile", - "secureValueErrorTranslationFiles", - "secureValueHash", - "secureValueTypeAddress", - "secureValueTypeBankStatement", - "secureValueTypeDriverLicense", - "secureValueTypeEmail", - "secureValueTypeIdentityCard", - "secureValueTypeInternalPassport", - "secureValueTypePassport", - "secureValueTypePassportRegistration", - "secureValueTypePersonalDetails", - "secureValueTypePhone", - "secureValueTypeRentalAgreement", - "secureValueTypeTemporaryRegistration", - "secureValueTypeUtilityBill", - "sendMessageCancelAction", - "sendMessageChooseContactAction", - "sendMessageGamePlayAction", - "sendMessageGeoLocationAction", - "sendMessageRecordAudioAction", - "sendMessageRecordRoundAction", - "sendMessageRecordVideoAction", - "sendMessageTypingAction", - "sendMessageUploadAudioAction", - "sendMessageUploadDocumentAction", - "sendMessageUploadPhotoAction", - "sendMessageUploadRoundAction", - "sendMessageUploadVideoAction", - "shippingOption", - "stats.broadcastStats", - "stats.megagroupStats", - "stats.messageStats", - "statsAbsValueAndPrev", - "statsDateRangeDays", - "statsGraph", - "statsGraphAsync", - "statsGraphError", - "statsGroupTopAdmin", - "statsGroupTopInviter", - "statsGroupTopPoster", - "statsPercentValue", - "statsURL", - "stickerPack", - "stickerSet", - "stickerSetCovered", - "stickerSetMultiCovered", - "storage.fileGif", - "storage.fileJpeg", - "storage.fileMov", - "storage.fileMp3", - "storage.fileMp4", - "storage.filePartial", - "storage.filePdf", - "storage.filePng", - "storage.fileUnknown", - "storage.fileWebp", - "textAnchor", - "textBold", - "textConcat", - "textEmail", - "textEmpty", - "textFixed", - "textImage", - "textItalic", - "textMarked", - "textPhone", - "textPlain", - "textStrike", - "textSubscript", - "textSuperscript", - "textUnderline", - "textUrl", - "theme", - "themeSettings", - "topPeer", - "topPeerCategoryBotsInline", - "topPeerCategoryBotsPM", - "topPeerCategoryChannels", - "topPeerCategoryCorrespondents", - "topPeerCategoryForwardChats", - "topPeerCategoryForwardUsers", - "topPeerCategoryGroups", - "topPeerCategoryPeers", - "topPeerCategoryPhoneCalls", - "true", - "updateBotCallbackQuery", - "updateBotInlineQuery", - "updateBotInlineSend", - "updateBotPrecheckoutQuery", - "updateBotShippingQuery", - "updateBotWebhookJSON", - "updateBotWebhookJSONQuery", - "updateChannel", - "updateChannelAvailableMessages", - "updateChannelMessageForwards", - "updateChannelMessageViews", - "updateChannelParticipant", - "updateChannelReadMessagesContents", - "updateChannelTooLong", - "updateChannelUserTyping", - "updateChannelWebPage", - "updateChatDefaultBannedRights", - "updateChatParticipantAdd", - "updateChatParticipantAdmin", - "updateChatParticipantDelete", - "updateChatParticipants", - "updateChatUserTyping", - "updateConfig", - "updateContactsReset", - "updateDcOptions", - "updateDeleteChannelMessages", - "updateDeleteMessages", - "updateDeleteScheduledMessages", - "updateDialogFilter", - "updateDialogFilterOrder", - "updateDialogFilters", - "updateDialogPinned", - "updateDialogUnreadMark", - "updateDraftMessage", - "updateEditChannelMessage", - "updateEditMessage", - "updateEncryptedChatTyping", - "updateEncryptedMessagesRead", - "updateEncryption", - "updateFavedStickers", - "updateFolderPeers", - "updateGeoLiveViewed", - "updateInlineBotCallbackQuery", - "updateLangPack", - "updateLangPackTooLong", - "updateLoginToken", - "updateMessageID", - "updateMessagePoll", - "updateMessagePollVote", - "updateNewChannelMessage", - "updateNewEncryptedMessage", - "updateNewMessage", - "updateNewScheduledMessage", - "updateNewStickerSet", - "updateNotifySettings", - "updatePeerBlocked", - "updatePeerLocated", - "updatePeerSettings", - "updatePhoneCall", - "updatePhoneCallSignalingData", - "updatePinnedChannelMessages", - "updatePinnedDialogs", - "updatePinnedMessages", - "updatePrivacy", - "updatePtsChanged", - "updateReadChannelDiscussionInbox", - "updateReadChannelDiscussionOutbox", - "updateReadChannelInbox", - "updateReadChannelOutbox", - "updateReadFeaturedStickers", - "updateReadHistoryInbox", - "updateReadHistoryOutbox", - "updateReadMessagesContents", - "updateRecentStickers", - "updateSavedGifs", - "updateServiceNotification", - "updateShort", - "updateShortChatMessage", - "updateShortMessage", - "updateShortSentMessage", - "updateStickerSets", - "updateStickerSetsOrder", - "updateTheme", - "updateUserName", - "updateUserPhone", - "updateUserPhoto", - "updateUserStatus", - "updateUserTyping", - "updateWebPage", - "updates", - "updates.channelDifference", - "updates.channelDifferenceEmpty", - "updates.channelDifferenceTooLong", - "updates.difference", - "updates.differenceEmpty", - "updates.differenceSlice", - "updates.differenceTooLong", - "updates.state", - "updatesCombined", - "updatesTooLong", - "upload.cdnFile", - "upload.cdnFileReuploadNeeded", - "upload.file", - "upload.fileCdnRedirect", - "upload.webFile", - "urlAuthResultAccepted", - "urlAuthResultDefault", - "urlAuthResultRequest", - "user", - "userEmpty", - "userFull", - "userProfilePhoto", - "userProfilePhotoEmpty", - "userStatusEmpty", - "userStatusLastMonth", - "userStatusLastWeek", - "userStatusOffline", - "userStatusOnline", - "userStatusRecently", - "vector", - "videoSize", - "wallPaper", - "wallPaperNoFile", - "wallPaperSettings", - "webAuthorization", - "webDocument", - "webDocumentNoProxy", - "webPage", - "webPageAttributeTheme", - "webPageEmpty", - "webPageNotModified", - "webPagePending" - ] - }, - { - "name": "method", - "values": [ - "account.acceptAuthorization", - "account.cancelPasswordEmail", - "account.changePhone", - "account.checkUsername", - "account.confirmPasswordEmail", - "account.confirmPhone", - "account.createTheme", - "account.deleteAccount", - "account.deleteSecureValue", - "account.finishTakeoutSession", - "account.getAccountTTL", - "account.getAllSecureValues", - "account.getAuthorizationForm", - "account.getAuthorizations", - "account.getAutoDownloadSettings", - "account.getContactSignUpNotification", - "account.getContentSettings", - "account.getGlobalPrivacySettings", - "account.getMultiWallPapers", - "account.getNotifyExceptions", - "account.getNotifySettings", - "account.getPassword", - "account.getPasswordSettings", - "account.getPrivacy", - "account.getSecureValue", - "account.getTheme", - "account.getThemes", - "account.getTmpPassword", - "account.getWallPaper", - "account.getWallPapers", - "account.getWebAuthorizations", - "account.initTakeoutSession", - "account.installTheme", - "account.installWallPaper", - "account.registerDevice", - "account.reportPeer", - "account.resendPasswordEmail", - "account.resetAuthorization", - "account.resetNotifySettings", - "account.resetWallPapers", - "account.resetWebAuthorization", - "account.resetWebAuthorizations", - "account.saveAutoDownloadSettings", - "account.saveSecureValue", - "account.saveTheme", - "account.saveWallPaper", - "account.sendChangePhoneCode", - "account.sendConfirmPhoneCode", - "account.sendVerifyEmailCode", - "account.sendVerifyPhoneCode", - "account.setAccountTTL", - "account.setContactSignUpNotification", - "account.setContentSettings", - "account.setGlobalPrivacySettings", - "account.setPrivacy", - "account.unregisterDevice", - "account.updateDeviceLocked", - "account.updateNotifySettings", - "account.updatePasswordSettings", - "account.updateProfile", - "account.updateStatus", - "account.updateTheme", - "account.updateUsername", - "account.uploadTheme", - "account.uploadWallPaper", - "account.verifyEmail", - "account.verifyPhone", - "auth.acceptLoginToken", - "auth.bindTempAuthKey", - "auth.cancelCode", - "auth.checkPassword", - "auth.dropTempAuthKeys", - "auth.exportAuthorization", - "auth.exportLoginToken", - "auth.importAuthorization", - "auth.importBotAuthorization", - "auth.importLoginToken", - "auth.logOut", - "auth.recoverPassword", - "auth.requestPasswordRecovery", - "auth.resendCode", - "auth.resetAuthorizations", - "auth.sendCode", - "auth.signIn", - "auth.signUp", - "bots.answerWebhookJSONQuery", - "bots.sendCustomRequest", - "bots.setBotCommands", - "channels.checkUsername", - "channels.createChannel", - "channels.deleteChannel", - "channels.deleteHistory", - "channels.deleteMessages", - "channels.deleteUserHistory", - "channels.editAdmin", - "channels.editBanned", - "channels.editCreator", - "channels.editLocation", - "channels.editPhoto", - "channels.editTitle", - "channels.exportMessageLink", - "channels.getAdminLog", - "channels.getAdminedPublicChannels", - "channels.getChannels", - "channels.getFullChannel", - "channels.getGroupsForDiscussion", - "channels.getInactiveChannels", - "channels.getLeftChannels", - "channels.getMessages", - "channels.getParticipant", - "channels.getParticipants", - "channels.inviteToChannel", - "channels.joinChannel", - "channels.leaveChannel", - "channels.readHistory", - "channels.readMessageContents", - "channels.reportSpam", - "channels.setDiscussionGroup", - "channels.setStickers", - "channels.togglePreHistoryHidden", - "channels.toggleSignatures", - "channels.toggleSlowMode", - "channels.updateUsername", - "contacts.acceptContact", - "contacts.addContact", - "contacts.block", - "contacts.blockFromReplies", - "contacts.deleteByPhones", - "contacts.deleteContacts", - "contacts.getBlocked", - "contacts.getContactIDs", - "contacts.getContacts", - "contacts.getLocated", - "contacts.getSaved", - "contacts.getStatuses", - "contacts.getTopPeers", - "contacts.importContacts", - "contacts.resetSaved", - "contacts.resetTopPeerRating", - "contacts.resolveUsername", - "contacts.search", - "contacts.toggleTopPeers", - "contacts.unblock", - "folders.deleteFolder", - "folders.editPeerFolders", - "help.acceptTermsOfService", - "help.dismissSuggestion", - "help.editUserInfo", - "help.getAppChangelog", - "help.getAppConfig", - "help.getAppUpdate", - "help.getCdnConfig", - "help.getConfig", - "help.getCountriesList", - "help.getDeepLinkInfo", - "help.getInviteText", - "help.getNearestDc", - "help.getPassportConfig", - "help.getPromoData", - "help.getRecentMeUrls", - "help.getSupport", - "help.getSupportName", - "help.getTermsOfServiceUpdate", - "help.getUserInfo", - "help.hidePromoData", - "help.saveAppLog", - "help.setBotUpdatesStatus", - "initConnection", - "invokeAfterMsg", - "invokeAfterMsgs", - "invokeWithLayer", - "invokeWithMessagesRange", - "invokeWithTakeout", - "invokeWithoutUpdates", - "langpack.getDifference", - "langpack.getLangPack", - "langpack.getLanguage", - "langpack.getLanguages", - "langpack.getStrings", - "messages.acceptEncryption", - "messages.acceptUrlAuth", - "messages.addChatUser", - "messages.checkChatInvite", - "messages.clearAllDrafts", - "messages.clearRecentStickers", - "messages.createChat", - "messages.deleteChatUser", - "messages.deleteHistory", - "messages.deleteMessages", - "messages.deleteScheduledMessages", - "messages.discardEncryption", - "messages.editChatAbout", - "messages.editChatAdmin", - "messages.editChatDefaultBannedRights", - "messages.editChatPhoto", - "messages.editChatTitle", - "messages.editInlineBotMessage", - "messages.editMessage", - "messages.exportChatInvite", - "messages.faveSticker", - "messages.forwardMessages", - "messages.getAllChats", - "messages.getAllDrafts", - "messages.getAllStickers", - "messages.getArchivedStickers", - "messages.getAttachedStickers", - "messages.getBotCallbackAnswer", - "messages.getChats", - "messages.getCommonChats", - "messages.getDhConfig", - "messages.getDialogFilters", - "messages.getDialogUnreadMarks", - "messages.getDialogs", - "messages.getDiscussionMessage", - "messages.getDocumentByHash", - "messages.getEmojiKeywords", - "messages.getEmojiKeywordsDifference", - "messages.getEmojiKeywordsLanguages", - "messages.getEmojiURL", - "messages.getFavedStickers", - "messages.getFeaturedStickers", - "messages.getFullChat", - "messages.getGameHighScores", - "messages.getHistory", - "messages.getInlineBotResults", - "messages.getInlineGameHighScores", - "messages.getMaskStickers", - "messages.getMessageEditData", - "messages.getMessages", - "messages.getMessagesViews", - "messages.getOldFeaturedStickers", - "messages.getOnlines", - "messages.getPeerDialogs", - "messages.getPeerSettings", - "messages.getPinnedDialogs", - "messages.getPollResults", - "messages.getPollVotes", - "messages.getRecentLocations", - "messages.getRecentStickers", - "messages.getReplies", - "messages.getSavedGifs", - "messages.getScheduledHistory", - "messages.getScheduledMessages", - "messages.getSearchCounters", - "messages.getSplitRanges", - "messages.getStatsURL", - "messages.getStickerSet", - "messages.getStickers", - "messages.getSuggestedDialogFilters", - "messages.getUnreadMentions", - "messages.getWebPage", - "messages.getWebPagePreview", - "messages.hidePeerSettingsBar", - "messages.importChatInvite", - "messages.installStickerSet", - "messages.markDialogUnread", - "messages.migrateChat", - "messages.readDiscussion", - "messages.readEncryptedHistory", - "messages.readFeaturedStickers", - "messages.readHistory", - "messages.readMentions", - "messages.readMessageContents", - "messages.receivedMessages", - "messages.receivedQueue", - "messages.reorderPinnedDialogs", - "messages.reorderStickerSets", - "messages.report", - "messages.reportEncryptedSpam", - "messages.reportSpam", - "messages.requestEncryption", - "messages.requestUrlAuth", - "messages.saveDraft", - "messages.saveGif", - "messages.saveRecentSticker", - "messages.search", - "messages.searchGlobal", - "messages.searchStickerSets", - "messages.sendEncrypted", - "messages.sendEncryptedFile", - "messages.sendEncryptedService", - "messages.sendInlineBotResult", - "messages.sendMedia", - "messages.sendMessage", - "messages.sendMultiMedia", - "messages.sendScheduledMessages", - "messages.sendScreenshotNotification", - "messages.sendVote", - "messages.setBotCallbackAnswer", - "messages.setBotPrecheckoutResults", - "messages.setBotShippingResults", - "messages.setEncryptedTyping", - "messages.setGameScore", - "messages.setInlineBotResults", - "messages.setInlineGameScore", - "messages.setTyping", - "messages.startBot", - "messages.toggleDialogPin", - "messages.toggleStickerSets", - "messages.uninstallStickerSet", - "messages.unpinAllMessages", - "messages.updateDialogFilter", - "messages.updateDialogFiltersOrder", - "messages.updatePinnedMessage", - "messages.uploadEncryptedFile", - "messages.uploadMedia", - "payments.clearSavedInfo", - "payments.getBankCardData", - "payments.getPaymentForm", - "payments.getPaymentReceipt", - "payments.getSavedInfo", - "payments.sendPaymentForm", - "payments.validateRequestedInfo", - "phone.acceptCall", - "phone.confirmCall", - "phone.discardCall", - "phone.getCallConfig", - "phone.receivedCall", - "phone.requestCall", - "phone.saveCallDebug", - "phone.sendSignalingData", - "phone.setCallRating", - "photos.deletePhotos", - "photos.getUserPhotos", - "photos.updateProfilePhoto", - "photos.uploadProfilePhoto", - "stats.getBroadcastStats", - "stats.getMegagroupStats", - "stats.getMessagePublicForwards", - "stats.getMessageStats", - "stats.loadAsyncGraph", - "stickers.addStickerToSet", - "stickers.changeStickerPosition", - "stickers.createStickerSet", - "stickers.removeStickerFromSet", - "stickers.setStickerSetThumb", - "updates.getChannelDifference", - "updates.getDifference", - "updates.getState", - "upload.getCdnFile", - "upload.getCdnFileHashes", - "upload.getFile", - "upload.getFileHashes", - "upload.getWebFile", - "upload.reuploadCdnFile", - "upload.saveBigFilePart", - "upload.saveFilePart", - "users.getFullUser", - "users.getUsers", - "users.setSecureValueErrors" - ] - }, - { - "name": "type", - "values": [ - "#", - "AccountDaysTTL", - "Authorization", - "AutoDownloadSettings", - "BankCardOpenUrl", - "BaseTheme", - "Bool", - "BotCommand", - "BotInfo", - "BotInlineMessage", - "BotInlineResult", - "CdnConfig", - "CdnPublicKey", - "ChannelAdminLogEvent", - "ChannelAdminLogEventAction", - "ChannelAdminLogEventsFilter", - "ChannelLocation", - "ChannelMessagesFilter", - "ChannelParticipant", - "ChannelParticipantsFilter", - "Chat", - "ChatAdminRights", - "ChatBannedRights", - "ChatFull", - "ChatInvite", - "ChatOnlines", - "ChatParticipant", - "ChatParticipants", - "ChatPhoto", - "CodeSettings", - "Config", - "Contact", - "ContactStatus", - "DataJSON", - "DcOption", - "Dialog", - "DialogFilter", - "DialogFilterSuggested", - "DialogPeer", - "Document", - "DocumentAttribute", - "DraftMessage", - "EmojiKeyword", - "EmojiKeywordsDifference", - "EmojiLanguage", - "EmojiURL", - "EncryptedChat", - "EncryptedFile", - "EncryptedMessage", - "Error", - "ExportedChatInvite", - "ExportedMessageLink", - "FileHash", - "FileLocation", - "Folder", - "FolderPeer", - "Game", - "GeoPoint", - "GlobalPrivacySettings", - "HighScore", - "ImportedContact", - "InlineBotSwitchPM", - "InputAppEvent", - "InputBotInlineMessage", - "InputBotInlineMessageID", - "InputBotInlineResult", - "InputChannel", - "InputChatPhoto", - "InputCheckPasswordSRP", - "InputClientProxy", - "InputContact", - "InputDialogPeer", - "InputDocument", - "InputEncryptedChat", - "InputEncryptedFile", - "InputFile", - "InputFileLocation", - "InputFolderPeer", - "InputGame", - "InputGeoPoint", - "InputMedia", - "InputMessage", - "InputNotifyPeer", - "InputPaymentCredentials", - "InputPeer", - "InputPeerNotifySettings", - "InputPhoneCall", - "InputPhoto", - "InputPrivacyKey", - "InputPrivacyRule", - "InputSecureFile", - "InputSecureValue", - "InputSingleMedia", - "InputStickerSet", - "InputStickerSetItem", - "InputStickeredMedia", - "InputTheme", - "InputThemeSettings", - "InputUser", - "InputWallPaper", - "InputWebDocument", - "InputWebFileLocation", - "Invoice", - "JSONObjectValue", - "JSONValue", - "KeyboardButton", - "KeyboardButtonRow", - "LabeledPrice", - "LangPackDifference", - "LangPackLanguage", - "LangPackString", - "MaskCoords", - "Message", - "MessageAction", - "MessageEntity", - "MessageFwdHeader", - "MessageInteractionCounters", - "MessageMedia", - "MessageRange", - "MessageReplies", - "MessageReplyHeader", - "MessageUserVote", - "MessageViews", - "MessagesFilter", - "NearestDc", - "NotifyPeer", - "Null", - "Page", - "PageBlock", - "PageCaption", - "PageListItem", - "PageListOrderedItem", - "PageRelatedArticle", - "PageTableCell", - "PageTableRow", - "PasswordKdfAlgo", - "PaymentCharge", - "PaymentRequestedInfo", - "PaymentSavedCredentials", - "Peer", - "PeerBlocked", - "PeerLocated", - "PeerNotifySettings", - "PeerSettings", - "PhoneCall", - "PhoneCallDiscardReason", - "PhoneCallProtocol", - "PhoneConnection", - "Photo", - "PhotoSize", - "Poll", - "PollAnswer", - "PollAnswerVoters", - "PollResults", - "PopularContact", - "PostAddress", - "PrivacyKey", - "PrivacyRule", - "ReceivedNotifyMessage", - "RecentMeUrl", - "ReplyMarkup", - "ReportReason", - "RestrictionReason", - "RichText", - "SavedContact", - "SecureCredentialsEncrypted", - "SecureData", - "SecureFile", - "SecurePasswordKdfAlgo", - "SecurePlainData", - "SecureRequiredType", - "SecureSecretSettings", - "SecureValue", - "SecureValueError", - "SecureValueHash", - "SecureValueType", - "SendMessageAction", - "ShippingOption", - "StatsAbsValueAndPrev", - "StatsDateRangeDays", - "StatsGraph", - "StatsGroupTopAdmin", - "StatsGroupTopInviter", - "StatsGroupTopPoster", - "StatsPercentValue", - "StatsURL", - "StickerPack", - "StickerSet", - "StickerSetCovered", - "Theme", - "ThemeSettings", - "TopPeer", - "TopPeerCategory", - "TopPeerCategoryPeers", - "True", - "Update", - "Updates", - "UrlAuthResult", - "User", - "UserFull", - "UserProfilePhoto", - "UserStatus", - "Vector t", - "VideoSize", - "WallPaper", - "WallPaperSettings", - "WebAuthorization", - "WebDocument", - "WebPage", - "WebPageAttribute", - "account.AuthorizationForm", - "account.Authorizations", - "account.AutoDownloadSettings", - "account.ContentSettings", - "account.Password", - "account.PasswordInputSettings", - "account.PasswordSettings", - "account.PrivacyRules", - "account.SentEmailCode", - "account.Takeout", - "account.Themes", - "account.TmpPassword", - "account.WallPapers", - "account.WebAuthorizations", - "auth.Authorization", - "auth.CodeType", - "auth.ExportedAuthorization", - "auth.LoginToken", - "auth.PasswordRecovery", - "auth.SentCode", - "auth.SentCodeType", - "bytes", - "channels.AdminLogResults", - "channels.ChannelParticipant", - "channels.ChannelParticipants", - "contacts.Blocked", - "contacts.Contacts", - "contacts.Found", - "contacts.ImportedContacts", - "contacts.ResolvedPeer", - "contacts.TopPeers", - "double", - "help.AppUpdate", - "help.CountriesList", - "help.Country", - "help.CountryCode", - "help.DeepLinkInfo", - "help.InviteText", - "help.PassportConfig", - "help.PromoData", - "help.RecentMeUrls", - "help.Support", - "help.SupportName", - "help.TermsOfService", - "help.TermsOfServiceUpdate", - "help.UserInfo", - "int", - "long", - "messages.AffectedHistory", - "messages.AffectedMessages", - "messages.AllStickers", - "messages.ArchivedStickers", - "messages.BotCallbackAnswer", - "messages.BotResults", - "messages.ChatFull", - "messages.Chats", - "messages.DhConfig", - "messages.Dialogs", - "messages.DiscussionMessage", - "messages.FavedStickers", - "messages.FeaturedStickers", - "messages.FoundStickerSets", - "messages.HighScores", - "messages.InactiveChats", - "messages.MessageEditData", - "messages.MessageViews", - "messages.Messages", - "messages.PeerDialogs", - "messages.RecentStickers", - "messages.SavedGifs", - "messages.SearchCounter", - "messages.SentEncryptedMessage", - "messages.StickerSet", - "messages.StickerSetInstallResult", - "messages.Stickers", - "messages.VotesList", - "payments.BankCardData", - "payments.PaymentForm", - "payments.PaymentReceipt", - "payments.PaymentResult", - "payments.SavedInfo", - "payments.ValidatedRequestedInfo", - "phone.PhoneCall", - "photos.Photo", - "photos.Photos", - "stats.BroadcastStats", - "stats.MegagroupStats", - "stats.MessageStats", - "storage.FileType", - "string", - "updates.ChannelDifference", - "updates.Difference", - "updates.State", - "upload.CdnFile", - "upload.File", - "upload.WebFile" - ] - } - ] - }, - "constructors": { - "FileHash": { - "name": "FileHash", - "description": [ - "SHA256 Hash of an uploaded file, to be checked for validity after download" - ], - "fields": { - "hash": "SHA-256 Hash of file chunk, to be checked for validity after download", - "limit": "Length", - "offset": "Offset from where to start computing SHA-256 hash" - } - }, - "Updates": { - "name": "Updates", - "description": [ - "Full constructor of updates" - ], - "fields": { - "chats": "List of chats mentioned in updates", - "date": "Current date", - "seq": "Total number of sent updates", - "updates": "List of updates", - "users": "List of users mentioned in updates" - } - }, - "account.authorizationForm": { - "name": "account.authorizationForm", - "description": [ - "Telegram Passport authorization form" - ], - "fields": { - "errors": "Telegram Passport errors", - "flags": "Flags, see TL conditional fields", - "privacy_policy_url": "URL of the service's privacy policy", - "required_types": "Required Telegram Passport documents", - "users": "Info about the bot to which the form will be submitted", - "values": "Already submitted Telegram Passport documents" - } - }, - "account.authorizations": { - "name": "account.authorizations", - "description": [ - "Logged-in sessions" - ], - "fields": { - "authorizations": "Logged-in sessions" - } - }, - "account.autoDownloadSettings": { - "name": "account.autoDownloadSettings", - "description": [ - "Media autodownload settings" - ], - "fields": { - "high": "High data usage preset", - "low": "Low data usage preset", - "medium": "Medium data usage preset" - } - }, - "account.contentSettings": { - "name": "account.contentSettings", - "description": [ - "Sensitive content settings" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "sensitive_can_change": "Whether the current client can change the sensitive content settings to view NSFW content", - "sensitive_enabled": "Whether viewing of sensitive (NSFW) content is enabled" - } - }, - "account.password": { - "name": "account.password", - "description": [ - "Configuration for two-factor authorization" - ], - "fields": { - "current_algo": "The KDF algorithm for SRP two-factor authentication of the current password", - "email_unconfirmed_pattern": "A password recovery email with the specified pattern is still awaiting verification", - "flags": "Flags, see TL conditional fields", - "has_password": "Whether the user has a password", - "has_recovery": "Whether the user has a recovery method configured", - "has_secure_values": "Whether telegram passport is enabled", - "hint": "Text hint for the password", - "new_algo": "The KDF algorithm for SRP two-factor authentication to use when creating new passwords", - "new_secure_algo": "The KDF algorithm for telegram passport", - "secure_random": "Secure random string", - "srp_B": "Srp B param for SRP authorization", - "srp_id": "Srp ID param for SRP authorization" - } - }, - "account.passwordInputSettings": { - "name": "account.passwordInputSettings", - "description": [ - "Settings for setting up a new password" - ], - "fields": { - "email": "Password recovery email", - "flags": "Flags, see TL conditional fields", - "hint": "Text hint for the password", - "new_algo": "The SRP algorithm to use", - "new_password_hash": "The computed password hash", - "new_secure_settings": "Telegram passport settings" - } - }, - "account.passwordSettings": { - "name": "account.passwordSettings", - "description": [ - "Private info associated to the password info (recovery email, telegram passport info \u0026 so on)" - ], - "fields": { - "email": "2FA Recovery email", - "flags": "Flags, see TL conditional fields", - "secure_settings": "Telegram passport settings" - } - }, - "account.privacyRules": { - "name": "account.privacyRules", - "description": [ - "Privacy rules" - ], - "fields": { - "chats": "Chats to which the rules apply", - "rules": "Privacy rules", - "users": "Users to which the rules apply" - } - }, - "account.sentEmailCode": { - "name": "account.sentEmailCode", - "description": [ - "The sent email code" - ], - "fields": { - "email_pattern": "The email (to which the code was sent) must match this pattern", - "length": "The length of the verification code" - } - }, - "account.takeout": { - "name": "account.takeout", - "description": [ - "Takout info" - ], - "fields": { - "id": "Takeout ID" - } - }, - "account.themes": { - "name": "account.themes", - "description": [ - "Installed themes" - ], - "fields": { - "hash": "Hash for pagination, for more info click here", - "themes": "Themes" - } - }, - "account.themesNotModified": { - "name": "account.themesNotModified", - "description": [ - "No new themes were installed" - ] - }, - "account.tmpPassword": { - "name": "account.tmpPassword", - "description": [ - "Temporary payment password" - ], - "fields": { - "tmp_password": "Temporary password", - "valid_until": "Validity period" - } - }, - "account.wallPapers": { - "name": "account.wallPapers", - "description": [ - "Installed wallpapers" - ], - "fields": { - "hash": "Hash for pagination, for more info click here", - "wallpapers": "Wallpapers" - } - }, - "account.wallPapersNotModified": { - "name": "account.wallPapersNotModified", - "description": [ - "No new wallpapers were found" - ] - }, - "account.webAuthorizations": { - "name": "account.webAuthorizations", - "description": [ - "Web authorizations" - ], - "fields": { - "authorizations": "Web authorization list", - "users": "Users" - } - }, - "accountDaysTTL": { - "name": "accountDaysTTL", - "description": [ - "Time to live in days of the current account" - ], - "fields": { - "days": "This account will self-destruct in the specified number of days" - } - }, - "auth.authorization": { - "name": "auth.authorization", - "description": [ - "Contains user authorization info." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "tmp_sessions": "Temporary passport sessions", - "user": "Info on authorized user" - } - }, - "auth.authorizationSignUpRequired": { - "name": "auth.authorizationSignUpRequired", - "description": [ - "An account with this phone number doesn't exist on telegram: the user has to enter basic information and sign up" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "terms_of_service": "Telegram's terms of service: the user must read and accept the terms of service before signing up to telegram" - } - }, - "auth.codeTypeCall": { - "name": "auth.codeTypeCall", - "description": [ - "Type of verification code that will be sent next if you call the resendCode method: SMS code" - ] - }, - "auth.codeTypeFlashCall": { - "name": "auth.codeTypeFlashCall", - "description": [ - "Type of verification code that will be sent next if you call the resendCode method: SMS code" - ] - }, - "auth.codeTypeSms": { - "name": "auth.codeTypeSms", - "description": [ - "Type of verification code that will be sent next if you call the resendCode method: SMS code" - ] - }, - "auth.exportedAuthorization": { - "name": "auth.exportedAuthorization", - "description": [ - "Data for copying of authorization between data centres." - ], - "fields": { - "bytes": "authorizes key", - "id": "current user identifier" - } - }, - "auth.loginToken": { - "name": "auth.loginToken", - "description": [ - "Login token (for QR code login)" - ], - "fields": { - "expires": "Expiry date of QR code", - "token": "Token to render in QR code" - } - }, - "auth.loginTokenMigrateTo": { - "name": "auth.loginTokenMigrateTo", - "description": [ - "Repeat the query to the specified DC" - ], - "fields": { - "dc_id": "DC ID", - "token": "Token to use for login" - } - }, - "auth.loginTokenSuccess": { - "name": "auth.loginTokenSuccess", - "description": [ - "Login via token (QR code) succeded!" - ], - "fields": { - "authorization": "Authorization info" - } - }, - "auth.passwordRecovery": { - "name": "auth.passwordRecovery", - "description": [ - "Recovery info of a 2FA password, only for accounts with a recovery email configured." - ], - "fields": { - "email_pattern": "The email to which the recovery code was sent must match this pattern." - } - }, - "auth.sentCode": { - "name": "auth.sentCode", - "description": [ - "Contains info about a sent verification code." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "next_type": "Phone code type that will be sent next, if the phone code is not received within timeout seconds: to send it use auth.resendCode", - "phone_code_hash": "Phone code hash, to be stored and later re-used with auth.signIn", - "timeout": "Timeout for reception of the phone code", - "type": "Phone code type" - } - }, - "auth.sentCodeTypeApp": { - "name": "auth.sentCodeTypeApp", - "description": [ - "The code was sent through the telegram app" - ], - "fields": { - "length": "Length of the code in bytes" - } - }, - "auth.sentCodeTypeCall": { - "name": "auth.sentCodeTypeCall", - "description": [ - "The code will be sent via a phone call: a synthesized voice will tell the user which verification code to input." - ], - "fields": { - "length": "Length of the verification code" - } - }, - "auth.sentCodeTypeFlashCall": { - "name": "auth.sentCodeTypeFlashCall", - "description": [ - "The code will be sent via a flash phone call, that will be closed immediately. The phone code will then be the phone number itself, just make sure that the phone number matches the specified pattern." - ], - "fields": { - "pattern": "pattern to match" - } - }, - "auth.sentCodeTypeSms": { - "name": "auth.sentCodeTypeSms", - "description": [ - "The code was sent via SMS" - ], - "fields": { - "length": "Length of the code in bytes" - } - }, - "authorization": { - "name": "authorization", - "description": [ - "Logged-in session" - ], - "fields": { - "api_id": "API ID", - "app_name": "App name", - "app_version": "App version", - "country": "Country determined from IP", - "current": "Whether this is the current session", - "date_active": "When was the session last active", - "date_created": "When was the session created", - "device_model": "Device model", - "flags": "Flags, see TL conditional fields", - "hash": "Identifier", - "ip": "Last known IP", - "official_app": "Whether the session is from an official app", - "password_pending": "Whether the session is still waiting for a 2FA password", - "platform": "Platform", - "region": "Region determined from IP", - "system_version": "System version" - } - }, - "autoDownloadSettings": { - "name": "autoDownloadSettings", - "description": [ - "Autodownload settings" - ], - "fields": { - "audio_preload_next": "Whether to preload the next audio track when you're listening to music", - "disabled": "Disable automatic media downloads?", - "file_size_max": "Maximum size of other files to preload", - "flags": "Flags, see TL conditional fields", - "phonecalls_less_data": "Whether to enable data saving mode in phone calls", - "photo_size_max": "Maximum size of photos to preload", - "video_preload_large": "Whether to preload the first seconds of videos larger than the specified limit", - "video_size_max": "Maximum size of videos to preload", - "video_upload_maxbitrate": "Maximum suggested bitrate for uploading videos" - } - }, - "bankCardOpenUrl": { - "name": "bankCardOpenUrl", - "description": [ - "Credit card info URL provided by the bank" - ], - "fields": { - "name": "Bank name", - "url": "Info URL" - } - }, - "baseThemeArctic": { - "name": "baseThemeArctic", - "description": [ - "Arctic theme" - ] - }, - "baseThemeClassic": { - "name": "baseThemeClassic", - "description": [ - "Classic theme" - ] - }, - "baseThemeDay": { - "name": "baseThemeDay", - "description": [ - "Day theme" - ] - }, - "baseThemeNight": { - "name": "baseThemeNight", - "description": [ - "Night theme" - ] - }, - "baseThemeTinted": { - "name": "baseThemeTinted", - "description": [ - "Tinted theme" - ] - }, - "boolFalse": { - "name": "boolFalse", - "description": [ - "Constructor may be interpreted as a booleanfalse value." - ] - }, - "boolTrue": { - "name": "boolTrue", - "description": [ - "The constructor can be interpreted as a booleantrue value." - ] - }, - "botCommand": { - "name": "botCommand", - "description": [ - "Describes a bot command that can be used in a chat" - ], - "fields": { - "command": "/command name", - "description": "Description of the command" - } - }, - "botInfo": { - "name": "botInfo", - "description": [ - "Info about bots (available bot commands, etc)" - ], - "fields": { - "commands": "Bot commands that can be used in the chat", - "description": "Description of the bot", - "user_id": "ID of the bot" - } - }, - "botInlineMediaResult": { - "name": "botInlineMediaResult", - "description": [ - "Media result" - ], - "fields": { - "description": "Description", - "document": "If type is document, the document to send", - "flags": "Flags, see TL conditional fields", - "id": "Result ID", - "photo": "If type is photo, the photo to send", - "send_message": "Depending on the type and on the constructor, contains the caption of the media or the content of the message to be sent instead of the media", - "title": "Result title", - "type": "Result type (see bot API docs)" - } - }, - "botInlineMessageMediaAuto": { - "name": "botInlineMessageMediaAuto", - "description": [ - "Send whatever media is attached to the botInlineMediaResult" - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "Caption", - "reply_markup": "Inline keyboard" - } - }, - "botInlineMessageMediaContact": { - "name": "botInlineMessageMediaContact", - "description": [ - "Send a contact" - ], - "fields": { - "first_name": "First name", - "flags": "Flags, see TL conditional fields", - "last_name": "Last name", - "phone_number": "Phone number", - "reply_markup": "Inline keyboard", - "vcard": "VCard info" - } - }, - "botInlineMessageMediaGeo": { - "name": "botInlineMessageMediaGeo", - "description": [ - "Send a geolocation" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "geo": "Geolocation", - "heading": "For live locations, a direction in which the location moves, in degrees; 1-360.", - "period": "Validity period", - "proximity_notification_radius": "For live locations, a maximum distance to another chat member for proximity alerts, in meters (0-100000).", - "reply_markup": "Inline keyboard" - } - }, - "botInlineMessageMediaVenue": { - "name": "botInlineMessageMediaVenue", - "description": [ - "Send a venue" - ], - "fields": { - "address": "Address", - "flags": "Flags, see TL conditional fields", - "geo": "Geolocation of venue", - "provider": "Venue provider: currently only \"foursquare\" needs to be supported", - "reply_markup": "Inline keyboard", - "title": "Venue name", - "venue_id": "Venue ID in the provider's database", - "venue_type": "Venue type in the provider's database" - } - }, - "botInlineMessageText": { - "name": "botInlineMessageText", - "description": [ - "Send a simple text message" - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "The message", - "no_webpage": "Disable webpage preview", - "reply_markup": "Inline keyboard" - } - }, - "botInlineResult": { - "name": "botInlineResult", - "description": [ - "Generic result" - ], - "fields": { - "content": "Content of the result", - "description": "Result description", - "flags": "Flags, see TL conditional fields", - "id": "Result ID", - "send_message": "Message to send", - "thumb": "Thumbnail for the result", - "title": "Result title", - "type": "Result type (see bot API docs)", - "url": "URL of article or webpage" - } - }, - "cdnConfig": { - "name": "cdnConfig", - "description": [ - "Configuration for CDN file downloads." - ], - "fields": { - "public_keys": "Vector of public keys to use only during handshakes to CDN DCs." - } - }, - "cdnPublicKey": { - "name": "cdnPublicKey", - "description": [ - "Public key to use only during handshakes to CDN DCs." - ], - "fields": { - "dc_id": "CDN DC ID", - "public_key": "RSA public key" - } - }, - "channel": { - "name": "channel", - "description": [ - "Channel/supergroup info" - ], - "fields": { - "access_hash": "Access hash", - "admin_rights": "Admin rights of the user in this channel (see rights)", - "banned_rights": "Banned rights of the user in this channel (see rights)", - "broadcast": "Is this a channel?", - "creator": "Whether the current user is the creator of this channel", - "date": "Date when the user joined the supergroup/channel, or if the user isn't a member, its creation date", - "default_banned_rights": "Default chat rights (see rights)", - "flags": "Flags, see TL conditional fields", - "has_geo": "Whether this chanel has a geoposition", - "has_link": "Whether this channel has a private join link", - "id": "ID of the channel", - "left": "Whether the current user has left this channel", - "megagroup": "Is this a supergroup?", - "min": "See min", - "participants_count": "Participant count", - "photo": "Profile photo", - "restricted": "Whether viewing/writing in this channel for a reason (see restriction_reason", - "restriction_reason": "Contains the reason why access to this channel must be restricted.", - "scam": "This channel/supergroup is probably a scam", - "signatures": "Whether signatures are enabled (channels)", - "slowmode_enabled": "Whether slow mode is enabled for groups to prevent flood in chat", - "title": "Title", - "username": "Username", - "verified": "Is this channel verified by telegram?", - "version": "Version of the channel (always 0)" - } - }, - "channelAdminLogEvent": { - "name": "channelAdminLogEvent", - "description": [ - "Admin log event" - ], - "fields": { - "action": "Action", - "date": "Date", - "id": "Event ID", - "user_id": "User ID" - } - }, - "channelAdminLogEventActionChangeAbout": { - "name": "channelAdminLogEventActionChangeAbout", - "description": [ - "The description was changed" - ], - "fields": { - "new_value": "New description", - "prev_value": "Previous description" - } - }, - "channelAdminLogEventActionChangeLinkedChat": { - "name": "channelAdminLogEventActionChangeLinkedChat", - "description": [ - "The linked chat was changed" - ], - "fields": { - "new_value": "New linked chat", - "prev_value": "Previous linked chat" - } - }, - "channelAdminLogEventActionChangeLocation": { - "name": "channelAdminLogEventActionChangeLocation", - "description": [ - "The geogroup location was changed" - ], - "fields": { - "new_value": "New location", - "prev_value": "Previous location" - } - }, - "channelAdminLogEventActionChangePhoto": { - "name": "channelAdminLogEventActionChangePhoto", - "description": [ - "The channel/supergroup's picture was changed" - ], - "fields": { - "new_photo": "New picture", - "prev_photo": "Previous picture" - } - }, - "channelAdminLogEventActionChangeStickerSet": { - "name": "channelAdminLogEventActionChangeStickerSet", - "description": [ - "The supergroup's stickerset was changed" - ], - "fields": { - "new_stickerset": "New stickerset", - "prev_stickerset": "Previous stickerset" - } - }, - "channelAdminLogEventActionChangeTitle": { - "name": "channelAdminLogEventActionChangeTitle", - "description": [ - "Channel/supergroup title was changed" - ], - "fields": { - "new_value": "New title", - "prev_value": "Previous title" - } - }, - "channelAdminLogEventActionChangeUsername": { - "name": "channelAdminLogEventActionChangeUsername", - "description": [ - "Channel/supergroup username was changed" - ], - "fields": { - "new_value": "New username", - "prev_value": "Old username" - } - }, - "channelAdminLogEventActionDefaultBannedRights": { - "name": "channelAdminLogEventActionDefaultBannedRights", - "description": [ - "The default banned rights were modified" - ], - "fields": { - "new_banned_rights": "New glboal banned rights.", - "prev_banned_rights": "Previous global banned rights" - } - }, - "channelAdminLogEventActionDeleteMessage": { - "name": "channelAdminLogEventActionDeleteMessage", - "description": [ - "A message was deleted" - ], - "fields": { - "message": "The message that was deleted" - } - }, - "channelAdminLogEventActionEditMessage": { - "name": "channelAdminLogEventActionEditMessage", - "description": [ - "A message was edited" - ], - "fields": { - "new_message": "New message", - "prev_message": "Old message" - } - }, - "channelAdminLogEventActionParticipantInvite": { - "name": "channelAdminLogEventActionParticipantInvite", - "description": [ - "A user was invited to the group" - ], - "fields": { - "participant": "The user that was invited" - } - }, - "channelAdminLogEventActionParticipantJoin": { - "name": "channelAdminLogEventActionParticipantJoin", - "description": [ - "A user has joined the group (in the case of big groups, info of the user that has joined isn't shown)" - ] - }, - "channelAdminLogEventActionParticipantLeave": { - "name": "channelAdminLogEventActionParticipantLeave", - "description": [ - "A user left the channel/supergroup (in the case of big groups, info of the user that has joined isn't shown)" - ] - }, - "channelAdminLogEventActionParticipantToggleAdmin": { - "name": "channelAdminLogEventActionParticipantToggleAdmin", - "description": [ - "The admin rights of a user were changed" - ], - "fields": { - "new_participant": "New admin rights", - "prev_participant": "Previous admin rights" - } - }, - "channelAdminLogEventActionParticipantToggleBan": { - "name": "channelAdminLogEventActionParticipantToggleBan", - "description": [ - "The banned rights of a user were changed" - ], - "fields": { - "new_participant": "New banned rights of user", - "prev_participant": "Old banned rights of user" - } - }, - "channelAdminLogEventActionStopPoll": { - "name": "channelAdminLogEventActionStopPoll", - "description": [ - "A poll was stopped" - ], - "fields": { - "message": "The poll that was stopped" - } - }, - "channelAdminLogEventActionToggleInvites": { - "name": "channelAdminLogEventActionToggleInvites", - "description": [ - "Invites were enabled/disabled" - ], - "fields": { - "new_value": "New value" - } - }, - "channelAdminLogEventActionTogglePreHistoryHidden": { - "name": "channelAdminLogEventActionTogglePreHistoryHidden", - "description": [ - "The hidden prehistory setting was changed" - ], - "fields": { - "new_value": "New value" - } - }, - "channelAdminLogEventActionToggleSignatures": { - "name": "channelAdminLogEventActionToggleSignatures", - "description": [ - "Channel signatures were enabled/disabled" - ], - "fields": { - "new_value": "New value" - } - }, - "channelAdminLogEventActionToggleSlowMode": { - "name": "channelAdminLogEventActionToggleSlowMode", - "description": [ - "Slow mode setting for supergroups was changed" - ], - "fields": { - "new_value": "New slow mode value", - "prev_value": "Previous slow mode value" - } - }, - "channelAdminLogEventActionUpdatePinned": { - "name": "channelAdminLogEventActionUpdatePinned", - "description": [ - "A message was pinned" - ], - "fields": { - "message": "The message that was pinned" - } - }, - "channelAdminLogEventsFilter": { - "name": "channelAdminLogEventsFilter", - "description": [ - "Filter only certain admin log events" - ], - "fields": { - "ban": "Ban events", - "delete": "Message deletion events", - "demote": "Admin demotion events", - "edit": "Message edit events", - "flags": "Flags, see TL conditional fields", - "info": "Info change events (when about, linked chat, location, photo, stickerset, title or username data of a channel gets modified)", - "invite": "Invite events", - "join": "Join events", - "kick": "Kick events", - "leave": "Leave events", - "pinned": "Message pin events", - "promote": "Admin promotion events", - "settings": "Settings change events (invites, hidden prehistory, signatures, default banned rights)", - "unban": "Unban events", - "unkick": "Unkick events" - } - }, - "channelForbidden": { - "name": "channelForbidden", - "description": [ - "Indicates a channel/supergroup we can't access because we were banned, or for some other reason." - ], - "fields": { - "access_hash": "Access hash", - "broadcast": "Is this a channel", - "flags": "Flags, see TL conditional fields", - "id": "Channel ID", - "megagroup": "Is this a supergroup", - "title": "Title", - "until_date": "The ban is valid until the specified date" - } - }, - "channelFull": { - "name": "channelFull", - "description": [ - "Full info about a channel/supergroup" - ], - "fields": { - "about": "Info about the channel", - "admins_count": "Number of channel admins", - "available_min_id": "Identifier of a maximum unavailable message in a channel due to hidden history.", - "banned_count": "Number of users banned from the channel", - "blocked": "Whether any anonymous admin of this supergroup was blocked: if set, you won't receive messages from anonymous group admins in discussion replies via @replies", - "bot_info": "Info about bots in the channel/supergrup", - "can_set_location": "Can we set the geolocation of this group (for geogroups)", - "can_set_stickers": "Can we associate a stickerpack to the supergroup?", - "can_set_username": "Can we set the channel's username?", - "can_view_participants": "Can we vew the participant list?", - "can_view_stats": "Can the user view channel/supergroup statistics", - "chat_photo": "Channel picture", - "exported_invite": "Invite link", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "has_scheduled": "Whether scheduled messages are available", - "hidden_prehistory": "Is the history before we joined hidden to us?", - "id": "ID of the channel", - "kicked_count": "Number of users kicked from the channel", - "linked_chat_id": "ID of the linked discussion chat for channels", - "location": "Location of the geogroup", - "migrated_from_chat_id": "The chat ID from which this group was migrated", - "migrated_from_max_id": "The message ID in the original chat at which this group was migrated", - "notify_settings": "Notification settings", - "online_count": "Number of users currently online", - "participants_count": "Number of participants of the channel", - "pinned_msg_id": "Message ID of the last pinned message", - "pts": "Latest PTS for this channel", - "read_inbox_max_id": "Position up to which all incoming messages are read.", - "read_outbox_max_id": "Position up to which all outgoing messages are read.", - "slowmode_next_send_date": "Indicates when the user will be allowed to send another message in the supergroup (unixdate)", - "slowmode_seconds": "If specified, users in supergroups will only be able to send one message every slowmode_seconds seconds", - "stats_dc": "If set, specifies the DC to use for fetching channel statistics", - "stickerset": "Associated stickerset", - "unread_count": "Count of unread messages" - } - }, - "channelLocation": { - "name": "channelLocation", - "description": [ - "Geographical location of supergroup (geogroups)" - ], - "fields": { - "address": "Textual description of the address", - "geo_point": "Geographical location of supergrup" - } - }, - "channelLocationEmpty": { - "name": "channelLocationEmpty", - "description": [ - "No location (normal supergroup)" - ] - }, - "channelMessagesFilter": { - "name": "channelMessagesFilter", - "description": [ - "Filter for getting only certain types of channel messages" - ], - "fields": { - "exclude_new_messages": "Whether to exclude new messages from the search", - "flags": "Flags, see TL conditional fields", - "ranges": "A range of messages to fetch" - } - }, - "channelMessagesFilterEmpty": { - "name": "channelMessagesFilterEmpty", - "description": [ - "No filter" - ] - }, - "channelParticipant": { - "name": "channelParticipant", - "description": [ - "Channel/supergroup participant" - ], - "fields": { - "date": "Date joined", - "user_id": "Pariticipant user ID" - } - }, - "channelParticipantAdmin": { - "name": "channelParticipantAdmin", - "description": [ - "Admin" - ], - "fields": { - "admin_rights": "Admin rights", - "can_edit": "Can this admin promote other admins with the same permissions?", - "date": "When did the user join", - "flags": "Flags, see TL conditional fields", - "inviter_id": "User that invited the admin to the channel/group", - "promoted_by": "User that promoted the user to admin", - "rank": "The role (rank) of the admin in the group: just an arbitrary string, admin by default", - "self": "Is this the current user", - "user_id": "Admin user ID" - } - }, - "channelParticipantBanned": { - "name": "channelParticipantBanned", - "description": [ - "Banned/kicked user" - ], - "fields": { - "banned_rights": "Banned rights", - "date": "When did the user join the group", - "flags": "Flags, see TL conditional fields", - "kicked_by": "User was kicked by the specified admin", - "left": "Whether the user has left the group", - "user_id": "User ID" - } - }, - "channelParticipantCreator": { - "name": "channelParticipantCreator", - "description": [ - "Channel/supergroup creator" - ], - "fields": { - "admin_rights": "Creator admin rights", - "flags": "Flags, see TL conditional fields", - "rank": "The role (rank) of the group creator in the group: just an arbitrary string, admin by default", - "user_id": "User ID" - } - }, - "channelParticipantLeft": { - "name": "channelParticipantLeft", - "description": [ - "A participant that left the channel/supergroup" - ], - "fields": { - "user_id": "User ID" - } - }, - "channelParticipantSelf": { - "name": "channelParticipantSelf", - "description": [ - "Myself" - ], - "fields": { - "date": "When did I join the channel/supergroup", - "inviter_id": "User that invited me to the channel/supergroup", - "user_id": "User ID" - } - }, - "channelParticipantsAdmins": { - "name": "channelParticipantsAdmins", - "description": [ - "Fetch only admin participants" - ] - }, - "channelParticipantsBanned": { - "name": "channelParticipantsBanned", - "description": [ - "Fetch only banned participants" - ], - "fields": { - "q": "Optional filter for searching banned participants by name (otherwise empty)" - } - }, - "channelParticipantsBots": { - "name": "channelParticipantsBots", - "description": [ - "Fetch only bot participants" - ] - }, - "channelParticipantsContacts": { - "name": "channelParticipantsContacts", - "description": [ - "Fetch only participants that are also contacts" - ], - "fields": { - "q": "Optional search query for searching contact participants by name" - } - }, - "channelParticipantsKicked": { - "name": "channelParticipantsKicked", - "description": [ - "Fetch only kicked participants" - ], - "fields": { - "q": "Optional filter for searching kicked participants by name (otherwise empty)" - } - }, - "channelParticipantsMentions": { - "name": "channelParticipantsMentions", - "description": [ - "This filter is used when looking for supergroup members to mention.", - "This filter will automatically remove anonymous admins, and return even non-participant users that replied to a specific thread through the comment section of a channel." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "q": "Filter by user name or username", - "top_msg_id": "Look only for users that posted in this thread" - } - }, - "channelParticipantsRecent": { - "name": "channelParticipantsRecent", - "description": [ - "Fetch only recent participants" - ] - }, - "channelParticipantsSearch": { - "name": "channelParticipantsSearch", - "description": [ - "Query participants by name" - ], - "fields": { - "q": "Search query" - } - }, - "channels.adminLogResults": { - "name": "channels.adminLogResults", - "description": [ - "Admin log events" - ], - "fields": { - "chats": "Chats mentioned in events", - "events": "Admin log events", - "users": "Users mentioned in events" - } - }, - "channels.channelParticipant": { - "name": "channels.channelParticipant", - "description": [ - "Represents a channel participant" - ], - "fields": { - "participant": "The channel participant", - "users": "Users" - } - }, - "channels.channelParticipants": { - "name": "channels.channelParticipants", - "description": [ - "Represents multiple channel participants" - ], - "fields": { - "count": "Total number of participants that correspond to the given query", - "participants": "Participants", - "users": "Users mentioned in participant info" - } - }, - "channels.channelParticipantsNotModified": { - "name": "channels.channelParticipantsNotModified", - "description": [ - "No new participant info could be found" - ] - }, - "chat": { - "name": "chat", - "description": [ - "Info about a group" - ], - "fields": { - "admin_rights": "Admin rights of the user in the group", - "creator": "Whether the current user is the creator of the group", - "date": "Date of creation of the group", - "deactivated": "Whether the group was migrated", - "default_banned_rights": "Default banned rights of all users in the group", - "flags": "Flags, see TL conditional fields", - "id": "ID of the group", - "kicked": "Whether the current user was kicked from the group", - "left": "Whether the current user has left the group", - "migrated_to": "Means this chat was upgraded to a supergroup", - "participants_count": "Participant count", - "photo": "Chat photo", - "title": "Title", - "version": "Used in basic groups to reorder updates and make sure that all of them were received." - } - }, - "chatAdminRights": { - "name": "chatAdminRights", - "description": [ - "Represents the rights of an admin in a channel/supergroup." - ], - "fields": { - "add_admins": "If set, allows the admin to add other admins with the same (or more limited) permissions in the channel/supergroup", - "anonymous": "Whether this admin is anonymous", - "ban_users": "If set, allows the admin to ban users from the channel/supergroup", - "change_info": "If set, allows the admin to modify the description of the channel/supergroup", - "delete_messages": "If set, allows the admin to also delete messages from other admins in the channel", - "edit_messages": "If set, allows the admin to also edit messages from other admins in the channel", - "flags": "Flags, see TL conditional fields", - "invite_users": "If set, allows the admin to invite users in the channel/supergroup", - "pin_messages": "If set, allows the admin to pin messages in the channel/supergroup", - "post_messages": "If set, allows the admin to post messages in the channel" - } - }, - "chatBannedRights": { - "name": "chatBannedRights", - "description": [ - "Represents the rights of a normal user in a supergroup/channel/chat. In this case, the flags are inverted: if set, a flag does not allow a user to do X." - ], - "fields": { - "change_info": "If set, does not allow any user to change the description of a supergroup/chat", - "embed_links": "If set, does not allow a user to embed links in the messages of a supergroup/chat", - "flags": "Flags, see TL conditional fields", - "invite_users": "If set, does not allow any user to invite users in a supergroup/chat", - "pin_messages": "If set, does not allow any user to pin messages in a supergroup/chat", - "send_games": "If set, does not allow a user to send games in a supergroup/chat", - "send_gifs": "If set, does not allow a user to send gifs in a supergroup/chat", - "send_inline": "If set, does not allow a user to use inline bots in a supergroup/chat", - "send_media": "If set, does not allow a user to send any media in a supergroup/chat", - "send_messages": "If set, does not allow a user to send messages in a supergroup/chat", - "send_polls": "If set, does not allow a user to send stickers in a supergroup/chat", - "send_stickers": "If set, does not allow a user to send stickers in a supergroup/chat", - "until_date": "Validity of said permissions (it is considered forever any value less then 30 seconds or more then 366 days).", - "view_messages": "If set, does not allow a user to view messages in a supergroup/channel/chat" - } - }, - "chatEmpty": { - "name": "chatEmpty", - "description": [ - "Empty constructor, group doesn't exist" - ], - "fields": { - "id": "Group identifier" - } - }, - "chatForbidden": { - "name": "chatForbidden", - "description": [ - "A group to which the user has no access. E.g., because the user was kicked from the group." - ], - "fields": { - "id": "User identifier", - "title": "Group name" - } - }, - "chatFull": { - "name": "chatFull", - "description": [ - "Detailed chat info" - ], - "fields": { - "about": "About string for this chat", - "bot_info": "Info about bots that are in this chat", - "can_set_username": "Can we change the username of this chat", - "chat_photo": "Chat photo", - "exported_invite": "Chat invite", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "has_scheduled": "Whether scheduled messages are available", - "id": "ID of the chat", - "notify_settings": "Notification settings", - "participants": "Participant list", - "pinned_msg_id": "Message ID of the last pinned message" - } - }, - "chatInvite": { - "name": "chatInvite", - "description": [ - "Chat invite info" - ], - "fields": { - "broadcast": "Whether this is a channel", - "channel": "Whether this is a channel/supergroup or a normal group", - "flags": "Flags, see TL conditional fields", - "megagroup": "Whether this is a supergroup", - "participants": "A few of the participants that are in the group", - "participants_count": "Participant count", - "photo": "Chat/supergroup/channel photo", - "public": "Whether this is a public channel/supergroup", - "title": "Chat/supergroup/channel title" - } - }, - "chatInviteAlready": { - "name": "chatInviteAlready", - "description": [ - "The user has already joined this chat" - ], - "fields": { - "chat": "The chat connected to the invite" - } - }, - "chatInviteEmpty": { - "name": "chatInviteEmpty", - "description": [ - "No info is associated to the chat invite" - ] - }, - "chatInviteExported": { - "name": "chatInviteExported", - "description": [ - "Exported chat invite" - ], - "fields": { - "link": "Chat invitation link" - } - }, - "chatInvitePeek": { - "name": "chatInvitePeek", - "description": [ - "A chat invitation that also allows peeking into the group to read messages without joining it." - ], - "fields": { - "chat": "Chat information", - "expires": "Read-only anonymous access to this group will be revoked at this date" - } - }, - "chatOnlines": { - "name": "chatOnlines", - "description": [ - "Number of online users in a chat" - ], - "fields": { - "onlines": "Number of online users" - } - }, - "chatParticipant": { - "name": "chatParticipant", - "description": [ - "Group member." - ], - "fields": { - "date": "Date added to the group", - "inviter_id": "ID of the user that added the member to the group", - "user_id": "Member user ID" - } - }, - "chatParticipantAdmin": { - "name": "chatParticipantAdmin", - "description": [ - "Chat admin" - ], - "fields": { - "date": "Date when the user was added", - "inviter_id": "ID of the user that added the member to the group", - "user_id": "ID of a group member that is admin" - } - }, - "chatParticipantCreator": { - "name": "chatParticipantCreator", - "description": [ - "Represents the creator of the group" - ], - "fields": { - "user_id": "ID of the user that created the group" - } - }, - "chatParticipants": { - "name": "chatParticipants", - "description": [ - "Group members." - ], - "fields": { - "chat_id": "Group identifier", - "participants": "List of group members", - "version": "Group version number" - } - }, - "chatParticipantsForbidden": { - "name": "chatParticipantsForbidden", - "description": [ - "Info on members is unavailable" - ], - "fields": { - "chat_id": "Group ID", - "flags": "Flags, see TL conditional fields", - "self_participant": "Info about the group membership of the current user" - } - }, - "chatPhoto": { - "name": "chatPhoto", - "description": [ - "Group profile photo." - ], - "fields": { - "dc_id": "DC where this photo is stored", - "flags": "Flags, see TL conditional fields", - "has_video": "Whether the user has an animated profile picture", - "photo_big": "Location of the file corresponding to the small thumbnail for group profile photo", - "photo_small": "Location of the file corresponding to the small thumbnail for group profile photo" - } - }, - "chatPhotoEmpty": { - "name": "chatPhotoEmpty", - "description": [ - "Group photo is not set." - ] - }, - "codeSettings": { - "name": "codeSettings", - "description": [ - "Settings used by telegram servers for sending the confirm code.", - "Example implementations: telegram for android, tdlib." - ], - "fields": { - "allow_app_hash": "If a token that will be included in eventually sent SMSs is required: required in newer versions of android, to use the android SMS receiver APIs", - "allow_flashcall": "Whether to allow phone verification via phone calls.", - "current_number": "Pass true if the phone number is used on the current device. Ignored if allow_flashcall is not set.", - "flags": "Flags, see TL conditional fields" - } - }, - "config": { - "name": "config", - "description": [ - "Current configuration" - ], - "fields": { - "autoupdate_url_prefix": "URL to use to auto-update the current app", - "base_lang_pack_version": "Basic language pack version", - "blocked_mode": "Indicates that telegram is probably censored by governments/ISPs in the current region", - "call_connect_timeout_ms": "VoIP connection timeout: if the instance of libtgvoip on the other side of the call doesn't connect to our instance of libtgvoip within the specified time (in milliseconds), the call must be aborted", - "call_packet_timeout_ms": "If during a VoIP call a packet isn't received for the specified period of time, the call must be aborted", - "call_receive_timeout_ms": "Maximum allowed outgoing ring time in VoIP calls: if the user we're calling doesn't reply within the specified time (in milliseconds), we should hang up the call", - "call_ring_timeout_ms": "Maximum allowed incoming ring time in VoIP calls: if the current user doesn't reply within the specified time (in milliseconds), the call will be automatically refused", - "caption_length_max": "Maximum length of caption (length in utf8 codepoints)", - "channels_read_media_period": "Indicates that round videos (video notes) and voice messages sent in channels and older than the specified period must be marked as read", - "chat_size_max": "Maximum member count for normal groups", - "date": "Current date at the server", - "dc_options": "DC IP list", - "dc_txt_domain_name": "Domain name for fetching encrypted DC list from DNS TXT record", - "default_p2p_contacts": "Whether the client should use P2P by default for phone calls with contacts", - "edit_time_limit": "Only messages with age smaller than the one specified can be edited", - "expires": "Expiration date of this config: when it expires it'll have to be refetched using help.getConfig", - "flags": "Flags, see TL conditional fields", - "forwarded_count_max": "Maximum number of messages that can be forwarded at once using messages.forwardMessages.", - "gif_search_username": "Username of the bot to use to search for GIFs", - "ignore_phone_entities": "Whether the client should ignore phone entities", - "img_search_username": "Username of the bot to use for image search", - "lang_pack_version": "Language pack version", - "me_url_prefix": "The domain to use to parse in-app links.For example t.me indicates that t.me/username links should parsed to @username, t.me/addsticker/name should be parsed to the appropriate stickerset and so on...", - "megagroup_size_max": "Maximum member count for supergroups", - "message_length_max": "Maximum length of messages (length in utf8 codepoints)", - "notify_cloud_delay_ms": "If we are offline, but online from some other client then delay sending the offline notification for notify_cloud_delay_ms milliseconds.", - "notify_default_delay_ms": "If some other client is online, then delay notification for notification_default_delay_ms milliseconds", - "offline_blur_timeout_ms": "Delay before offline status needs to be sent to the server", - "offline_idle_timeout_ms": "Time without any user activity after which it should be treated offline", - "online_cloud_timeout_ms": "If we are offline, but were online from some other client in last online_cloud_timeout_ms milliseconds after we had gone offline, then delay offline notification for notify_cloud_delay_ms milliseconds.", - "online_update_period_ms": "The client should update its online status every N milliseconds", - "pfs_enabled": "Whether pfs was used", - "phonecalls_enabled": "Whether phone calls can be used", - "pinned_dialogs_count_max": "Maximum count of pinned dialogs", - "pinned_infolder_count_max": "Maximum count of dialogs per folder", - "preload_featured_stickers": "Whether the client should preload featured stickers", - "push_chat_limit": "Not for client use", - "push_chat_period_ms": "Not for client use", - "rating_e_decay": "Exponential decay rate for computing top peer rating", - "revoke_pm_inbox": "Whether incoming private messages can be deleted for both participants", - "revoke_pm_time_limit": "Only private messages with age smaller than the specified can be deleted", - "revoke_time_limit": "Only channel/supergroup messages with age smaller than the specified can be deleted", - "saved_gifs_limit": "Maximum count of saved gifs", - "static_maps_provider": "ID of the map provider to use for venues", - "stickers_faved_limit": "Maximum number of faved stickers", - "stickers_recent_limit": "Maximum number of recent stickers", - "suggested_lang_code": "Suggested language code", - "test_mode": "Whether we're connected to the test DCs", - "this_dc": "ID of the DC that returned the reply", - "tmp_sessions": "Temporary passport sessions", - "venue_search_username": "Username of the bot to use to search for venues", - "webfile_dc_id": "DC ID to use to download webfiles" - } - }, - "contact": { - "name": "contact", - "description": [ - "A contact of the current user that is registered in the system." - ], - "fields": { - "mutual": "Current user is in the user's contact list", - "user_id": "User identifier" - } - }, - "contactStatus": { - "name": "contactStatus", - "description": [ - "Contact status: online / offline." - ], - "fields": { - "status": "Online status", - "user_id": "User identifier" - } - }, - "contacts.blocked": { - "name": "contacts.blocked", - "description": [ - "Full list of blocked users." - ], - "fields": { - "blocked": "List of blocked users", - "chats": "Blocked chats", - "users": "List of users" - } - }, - "contacts.blockedSlice": { - "name": "contacts.blockedSlice", - "description": [ - "Incomplete list of blocked users." - ], - "fields": { - "blocked": "List of blocked users", - "chats": "Blocked chats", - "count": "Total number of elements in the list", - "users": "List of users" - } - }, - "contacts.contacts": { - "name": "contacts.contacts", - "description": [ - "The current user's contact list and info on users." - ], - "fields": { - "contacts": "Contact list", - "saved_count": "Number of contacts that were saved successfully", - "users": "User list" - } - }, - "contacts.contactsNotModified": { - "name": "contacts.contactsNotModified", - "description": [ - "Contact list on the server is the same as the list on the client." - ] - }, - "contacts.found": { - "name": "contacts.found", - "description": [ - "Users found by name substring and auxiliary data." - ], - "fields": { - "chats": "Found chats", - "my_results": "Personalized results", - "results": "List of found user identifiers", - "users": "List of users" - } - }, - "contacts.importedContacts": { - "name": "contacts.importedContacts", - "description": [ - "Info on succesfully imported contacts." - ], - "fields": { - "imported": "List of succesfully imported contacts", - "popular_invites": "Popular contacts", - "retry_contacts": "List of contact ids that could not be imported due to system limitation and will need to be imported at a later date.Parameter added in Layer 13", - "users": "List of users" - } - }, - "contacts.resolvedPeer": { - "name": "contacts.resolvedPeer", - "description": [ - "Resolved peer" - ], - "fields": { - "chats": "Chats", - "peer": "The peer", - "users": "Users" - } - }, - "contacts.topPeers": { - "name": "contacts.topPeers", - "description": [ - "Top peers" - ], - "fields": { - "categories": "Top peers by top peer category", - "chats": "Chats", - "users": "Users" - } - }, - "contacts.topPeersDisabled": { - "name": "contacts.topPeersDisabled", - "description": [ - "Top peers disabled" - ] - }, - "contacts.topPeersNotModified": { - "name": "contacts.topPeersNotModified", - "description": [ - "Top peer info hasn't changed" - ] - }, - "dataJSON": { - "name": "dataJSON", - "description": [ - "Represents a json-encoded object" - ], - "fields": { - "data": "JSON-encoded object" - } - }, - "dcOption": { - "name": "dcOption", - "description": [ - "Data centre" - ], - "fields": { - "cdn": "Whether this is a CDN DC.", - "flags": "Flags, see TL conditional fields", - "id": "DC ID", - "ip_address": "IP address of DC", - "ipv6": "Whether the specified IP is an IPv6 address", - "media_only": "Whether this DC should only be used to download or upload files", - "port": "Port", - "secret": "If the tcpo_only flag is set, specifies the secret to use when connecting using transport obfuscation", - "static": "If set, this IP should be used when connecting through a proxy", - "tcpo_only": "Whether this DC only supports connection with transport obfuscation" - } - }, - "dialog": { - "name": "dialog", - "description": [ - "Chat" - ], - "fields": { - "draft": "Message draft", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "notify_settings": "Notification settings", - "peer": "The chat", - "pinned": "Is the dialog pinned", - "pts": "PTS", - "read_inbox_max_id": "Position up to which all incoming messages are read.", - "read_outbox_max_id": "Position up to which all outgoing messages are read.", - "top_message": "The latest message ID", - "unread_count": "Number of unread messages", - "unread_mark": "Whether the chat was manually marked as unread", - "unread_mentions_count": "Number of unread mentions" - } - }, - "dialogFilter": { - "name": "dialogFilter", - "description": [ - "Dialog filter AKA folder" - ], - "fields": { - "bots": "Whether to include all bots in this folder", - "broadcasts": "Whether to include all channels in this folder", - "contacts": "Whether to include all contacts in this folder", - "emoticon": "Folder emoticon", - "exclude_archived": "Whether to exclude archived chats from this folder", - "exclude_muted": "Whether to exclude muted chats from this folder", - "exclude_peers": "Exclude the following chats from this folder", - "exclude_read": "Whether to exclude read chats from this folder", - "flags": "Flags, see TL conditional fields", - "groups": "Whether to include all groups in this folder", - "id": "Folder ID", - "include_peers": "Include the following chats in this folder", - "non_contacts": "Whether to include all non-contacts in this folder", - "pinned_peers": "Pinned chats, folders can have unlimited pinned chats", - "title": "Folder name" - } - }, - "dialogFilterSuggested": { - "name": "dialogFilterSuggested", - "description": [ - "Suggested folders" - ], - "fields": { - "description": "Folder description", - "filter": "Folder info" - } - }, - "dialogFolder": { - "name": "dialogFolder", - "description": [ - "Dialog in folder" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "folder": "The folder", - "peer": "Peer in folder", - "pinned": "Is this folder pinned", - "top_message": "Latest message ID of dialog", - "unread_muted_messages_count": "Number of unread messages from muted peers in folder", - "unread_muted_peers_count": "Number of unread muted peers in folder", - "unread_unmuted_messages_count": "Number of unread messages from unmuted peers in folder", - "unread_unmuted_peers_count": "Number of unread unmuted peers in folder" - } - }, - "dialogPeer": { - "name": "dialogPeer", - "description": [ - "Peer" - ], - "fields": { - "peer": "Peer" - } - }, - "dialogPeerFolder": { - "name": "dialogPeerFolder", - "description": [ - "Peer folder" - ], - "fields": { - "folder_id": "Peer folder ID, for more info click here" - } - }, - "document": { - "name": "document", - "description": [ - "Document" - ], - "fields": { - "access_hash": "Check sum, dependant on document ID", - "attributes": "Attributes", - "date": "Creation date", - "dc_id": "DC ID", - "file_reference": "File reference", - "flags": "Flags, see TL conditional fields", - "id": "Document ID", - "mime_type": "MIME type", - "size": "Size", - "thumbs": "Thumbnails", - "video_thumbs": "Video thumbnails" - } - }, - "documentAttributeAnimated": { - "name": "documentAttributeAnimated", - "description": [ - "Defines an animated GIF" - ] - }, - "documentAttributeAudio": { - "name": "documentAttributeAudio", - "description": [ - "Represents an audio file" - ], - "fields": { - "duration": "Duration in seconds", - "flags": "Flags, see TL conditional fields", - "performer": "Performer", - "title": "Name of song", - "voice": "Whether this is a voice message", - "waveform": "Waveform" - } - }, - "documentAttributeFilename": { - "name": "documentAttributeFilename", - "description": [ - "A simple document with a file name" - ], - "fields": { - "file_name": "The file name" - } - }, - "documentAttributeHasStickers": { - "name": "documentAttributeHasStickers", - "description": [ - "Whether the current document has stickers attached" - ] - }, - "documentAttributeImageSize": { - "name": "documentAttributeImageSize", - "description": [ - "Defines the width and height of an image uploaded as document" - ], - "fields": { - "h": "Height of image", - "w": "Width of image" - } - }, - "documentAttributeSticker": { - "name": "documentAttributeSticker", - "description": [ - "Defines a sticker" - ], - "fields": { - "alt": "Alternative emoji representation of sticker", - "flags": "Flags, see TL conditional fields", - "mask": "Whether this is a mask sticker", - "mask_coords": "Mask coordinates (if this is a mask sticker, attached to a photo)", - "stickerset": "Associated stickerset" - } - }, - "documentAttributeVideo": { - "name": "documentAttributeVideo", - "description": [ - "Defines a video" - ], - "fields": { - "duration": "Duration in seconds", - "flags": "Flags, see TL conditional fields", - "h": "Video height", - "round_message": "Whether this is a round video", - "supports_streaming": "Whether the video supports streaming", - "w": "Video width" - } - }, - "documentEmpty": { - "name": "documentEmpty", - "description": [ - "Empty constructor, document doesn't exist." - ], - "fields": { - "id": "Document ID or 0" - } - }, - "draftMessage": { - "name": "draftMessage", - "description": [ - "Represents a message draft." - ], - "fields": { - "date": "Date of last update of the draft.", - "entities": "Message entities for styled text.", - "flags": "Flags, see TL conditional fields", - "message": "The draft", - "no_webpage": "Whether no webpage preview will be generated", - "reply_to_msg_id": "The message this message will reply to" - } - }, - "draftMessageEmpty": { - "name": "draftMessageEmpty", - "description": [ - "Empty draft" - ], - "fields": { - "date": "When was the draft last updated", - "flags": "Flags, see TL conditional fields" - } - }, - "emojiKeyword": { - "name": "emojiKeyword", - "description": [ - "Emoji keyword" - ], - "fields": { - "emoticons": "Emojis associated to keyword", - "keyword": "Keyword" - } - }, - "emojiKeywordDeleted": { - "name": "emojiKeywordDeleted", - "description": [ - "Deleted emoji keyword" - ], - "fields": { - "emoticons": "Emojis that were associated to keyword", - "keyword": "Keyword" - } - }, - "emojiKeywordsDifference": { - "name": "emojiKeywordsDifference", - "description": [ - "Changes to emoji keywords" - ], - "fields": { - "from_version": "Previous emoji keyword list version", - "keywords": "Emojis associated to keywords", - "lang_code": "Language code for keywords", - "version": "Current version of emoji keyword list" - } - }, - "emojiLanguage": { - "name": "emojiLanguage", - "description": [ - "Emoji language" - ], - "fields": { - "lang_code": "Language code" - } - }, - "emojiURL": { - "name": "emojiURL", - "description": [ - "An HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation" - ], - "fields": { - "url": "An HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation" - } - }, - "encryptedChat": { - "name": "encryptedChat", - "description": [ - "Encrypted chat" - ], - "fields": { - "access_hash": "Check sum dependant on the user ID", - "admin_id": "Chat creator ID", - "date": "Date chat was created", - "g_a_or_b": "B = g ^ b mod p, if the currently authorized user is the chat's creator,or A = g ^ a mod p otherwiseSee Wikipedia for more info", - "id": "Chat ID", - "key_fingerprint": "64-bit fingerprint of received key", - "participant_id": "ID of the second chat participant" - } - }, - "encryptedChatDiscarded": { - "name": "encryptedChatDiscarded", - "description": [ - "Discarded or deleted chat." - ], - "fields": { - "id": "Chat ID" - } - }, - "encryptedChatEmpty": { - "name": "encryptedChatEmpty", - "description": [ - "Empty constructor." - ], - "fields": { - "id": "Chat ID" - } - }, - "encryptedChatRequested": { - "name": "encryptedChatRequested", - "description": [ - "Request to create an encrypted chat." - ], - "fields": { - "access_hash": "Check sum depending on user ID", - "admin_id": "Chat creator ID", - "date": "Chat creation date", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "g_a": "A = g ^ a mod p, see Wikipedia", - "id": "Chat ID", - "participant_id": "ID of second chat participant" - } - }, - "encryptedChatWaiting": { - "name": "encryptedChatWaiting", - "description": [ - "Chat waiting for approval of second participant." - ], - "fields": { - "access_hash": "Checking sum depending on user ID", - "admin_id": "Chat creator ID", - "date": "Date of chat creation", - "id": "Chat ID", - "participant_id": "ID of second chat participant" - } - }, - "encryptedFile": { - "name": "encryptedFile", - "description": [ - "Encrypted file." - ], - "fields": { - "access_hash": "Checking sum depending on user ID", - "dc_id": "Number of data centre", - "id": "File ID", - "key_fingerprint": "32-bit fingerprint of key used for file encryption", - "size": "File size in bytes" - } - }, - "encryptedFileEmpty": { - "name": "encryptedFileEmpty", - "description": [ - "Empty constructor, unexisitng file." - ] - }, - "encryptedMessage": { - "name": "encryptedMessage", - "description": [ - "Encrypted message." - ], - "fields": { - "bytes": "TL-serialising of DecryptedMessage type, encrypted with the key creatied at stage of chat initialization", - "chat_id": "ID of encrypted chat", - "date": "Date of sending", - "file": "Attached encrypted file", - "random_id": "Random message ID, assigned by the author of message" - } - }, - "encryptedMessageService": { - "name": "encryptedMessageService", - "description": [ - "Encrypted service message" - ], - "fields": { - "bytes": "TL-serialising of DecryptedMessage type, encrypted with the key creatied at stage of chat initialization", - "chat_id": "ID of encrypted chat", - "date": "Date of sending", - "random_id": "Random message ID, assigned by the author of message" - } - }, - "error": { - "name": "error", - "description": [ - "Error." - ], - "fields": { - "code": "Error code", - "text": "Message" - } - }, - "exportedMessageLink": { - "name": "exportedMessageLink", - "description": [ - "Link to a message in a supergroup/channel" - ], - "fields": { - "html": "Embed code", - "link": "URL" - } - }, - "fileLocationToBeDeprecated": { - "name": "fileLocationToBeDeprecated", - "description": [ - "Indicates the location of a photo, will be deprecated soon" - ], - "fields": { - "local_id": "Local ID", - "volume_id": "Volume ID" - } - }, - "folder": { - "name": "folder", - "description": [ - "Folder" - ], - "fields": { - "autofill_new_broadcasts": "Automatically add new channels to this folder", - "autofill_new_correspondents": "Automatically add new private chats to this folder", - "autofill_public_groups": "Automatically add joined new public supergroups to this folder", - "flags": "Flags, see TL conditional fields", - "id": "Folder ID", - "photo": "Folder picture", - "title": "Folder title" - } - }, - "folderPeer": { - "name": "folderPeer", - "description": [ - "Peer in a folder" - ], - "fields": { - "folder_id": "Peer folder ID, for more info click here", - "peer": "Folder peer info" - } - }, - "game": { - "name": "game", - "description": [ - "Indicates an already sent game" - ], - "fields": { - "access_hash": "Access hash of the game", - "description": "Game description", - "document": "Optional attached document", - "flags": "Flags, see TL conditional fields", - "id": "ID of the game", - "photo": "Game preview", - "short_name": "Short name for the game", - "title": "Title of the game" - } - }, - "geoPoint": { - "name": "geoPoint", - "description": [ - "GeoPoint." - ], - "fields": { - "access_hash": "Access hash", - "accuracy_radius": "The estimated horizontal accuracy of the location, in meters; as defined by the sender.", - "flags": "Flags, see TL conditional fields", - "lat": "Latitude", - "long": "Longtitude" - } - }, - "geoPointEmpty": { - "name": "geoPointEmpty", - "description": [ - "Empty constructor." - ] - }, - "globalPrivacySettings": { - "name": "globalPrivacySettings", - "description": [ - "Global privacy settings" - ], - "fields": { - "archive_and_mute_new_noncontact_peers": "Whether to archive and mute new chats from non-contacts", - "flags": "Flags, see TL conditional fields" - } - }, - "help.appUpdate": { - "name": "help.appUpdate", - "description": [ - "An update is available for the application." - ], - "fields": { - "can_not_skip": "Unskippable, the new info must be shown to the user (with a popup or something else)", - "document": "Application binary", - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "id": "Update ID", - "text": "Text description of the update", - "url": "Application download URL", - "version": "New version name" - } - }, - "help.countriesList": { - "name": "help.countriesList", - "description": [ - "Name, ISO code, localized name and phone codes/patterns of all available countries" - ], - "fields": { - "countries": "Name, ISO code, localized name and phone codes/patterns of all available countries", - "hash": "Hash for pagination, for more info click here" - } - }, - "help.countriesListNotModified": { - "name": "help.countriesListNotModified", - "description": [ - "The country list has not changed" - ] - }, - "help.country": { - "name": "help.country", - "description": [ - "Name, ISO code, localized name and phone codes/patterns of a specific country" - ], - "fields": { - "country_codes": "Phone codes/patterns", - "default_name": "Name of the country in the country's language", - "flags": "Flags, see TL conditional fields", - "hidden": "Whether this country should not be shown in the list", - "iso2": "ISO code of country", - "name": "Name of the country in the user's language, if different from the original name" - } - }, - "help.countryCode": { - "name": "help.countryCode", - "description": [ - "Country code and phone number pattern of a specific country" - ], - "fields": { - "country_code": "ISO country code", - "flags": "Flags, see TL conditional fields", - "patterns": "Phone patterns: for example, XXX XXX XXX", - "prefixes": "Possible phone prefixes" - } - }, - "help.deepLinkInfo": { - "name": "help.deepLinkInfo", - "description": [ - "Deep linking info" - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "Message to show to the user", - "update_app": "An update of the app is required to parse this link" - } - }, - "help.deepLinkInfoEmpty": { - "name": "help.deepLinkInfoEmpty", - "description": [ - "Deep link info empty" - ] - }, - "help.inviteText": { - "name": "help.inviteText", - "description": [ - "Text of a text message with an invitation to install Telegram." - ], - "fields": { - "message": "Text of the message" - } - }, - "help.noAppUpdate": { - "name": "help.noAppUpdate", - "description": [ - "No updates are available for the application." - ] - }, - "help.passportConfig": { - "name": "help.passportConfig", - "description": [ - "Telegram passport configuration" - ], - "fields": { - "countries_langs": "Localization", - "hash": "Hash for pagination, for more info click here" - } - }, - "help.passportConfigNotModified": { - "name": "help.passportConfigNotModified", - "description": [ - "Password configuration not modified" - ] - }, - "help.promoData": { - "name": "help.promoData", - "description": [ - "MTProxy/Public Service Announcement information" - ], - "fields": { - "chats": "Chat info", - "expires": "Expiry of PSA/MTProxy info", - "flags": "Flags, see TL conditional fields", - "peer": "MTProxy/PSA peer", - "proxy": "MTProxy-related channel", - "psa_message": "PSA message", - "psa_type": "PSA type", - "users": "User info" - } - }, - "help.promoDataEmpty": { - "name": "help.promoDataEmpty", - "description": [ - "No PSA/MTProxy info is available" - ], - "fields": { - "expires": "Re-fetch PSA/MTProxy info after the specified number of seconds" - } - }, - "help.recentMeUrls": { - "name": "help.recentMeUrls", - "description": [ - "Recent t.me URLs" - ], - "fields": { - "chats": "Chats", - "urls": "URLs", - "users": "Users" - } - }, - "help.support": { - "name": "help.support", - "description": [ - "Info on support user." - ], - "fields": { - "phone_number": "Phone number", - "user": "User" - } - }, - "help.supportName": { - "name": "help.supportName", - "description": [ - "Localized name for telegram support" - ], - "fields": { - "name": "Localized name" - } - }, - "help.termsOfService": { - "name": "help.termsOfService", - "description": [ - "Info about the latest telegram Terms Of Service" - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "id": "ID of the new terms", - "min_age_confirm": "Minimum age required to sign up to telegram, the user must confirm that they is older than the minimum age.", - "popup": "Whether a prompt must be showed to the user, in order to accept the new terms.", - "text": "Text of the new terms" - } - }, - "help.termsOfServiceUpdate": { - "name": "help.termsOfServiceUpdate", - "description": [ - "Info about an update of telegram's terms of service. If the terms of service are declined, then the account.deleteAccount method should be called with the reason \"Decline ToS update\"" - ], - "fields": { - "expires": "New TOS updates will have to be queried using help.getTermsOfServiceUpdate in expires seconds", - "terms_of_service": "New terms of service" - } - }, - "help.termsOfServiceUpdateEmpty": { - "name": "help.termsOfServiceUpdateEmpty", - "description": [ - "No changes were made to telegram's terms of service" - ], - "fields": { - "expires": "New TOS updates will have to be queried using help.getTermsOfServiceUpdate in expires seconds" - } - }, - "help.userInfo": { - "name": "help.userInfo", - "description": [ - "Internal use" - ], - "fields": { - "author": "Author", - "date": "Date", - "entities": "Message entities for styled text", - "message": "Info" - } - }, - "help.userInfoEmpty": { - "name": "help.userInfoEmpty", - "description": [ - "Internal use" - ] - }, - "highScore": { - "name": "highScore", - "description": [ - "Game highscore" - ], - "fields": { - "pos": "Position in highscore list", - "score": "Score", - "user_id": "User ID" - } - }, - "importedContact": { - "name": "importedContact", - "description": [ - "Successfully imported contact." - ], - "fields": { - "client_id": "The contact's client identifier (passed to one of the InputContact constructors)", - "user_id": "User identifier" - } - }, - "inlineBotSwitchPM": { - "name": "inlineBotSwitchPM", - "description": [ - "The bot requested the user to message him in private" - ], - "fields": { - "start_param": "The parameter for the /start parameter", - "text": "Text for the button that switches the user to a private chat with the bot and sends the bot a start message with the parameter start_parameter (can be empty)" - } - }, - "inputAppEvent": { - "name": "inputAppEvent", - "description": [ - "Event that occured in the application." - ], - "fields": { - "data": "Details of the event", - "peer": "Arbitrary numeric value for more convenient selection of certain event types, or events referring to a certain object", - "time": "Client's exact timestamp for the event", - "type": "Type of event" - } - }, - "inputBotInlineMessageGame": { - "name": "inputBotInlineMessageGame", - "description": [ - "A game" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "reply_markup": "Inline keyboard" - } - }, - "inputBotInlineMessageID": { - "name": "inputBotInlineMessageID", - "description": [ - "Represents a sent inline message from the perspective of a bot" - ], - "fields": { - "access_hash": "Access hash of message", - "dc_id": "DC ID to use when working with this inline message", - "id": "ID of message" - } - }, - "inputBotInlineMessageMediaAuto": { - "name": "inputBotInlineMessageMediaAuto", - "description": [ - "A media" - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "Caption", - "reply_markup": "Inline keyboard" - } - }, - "inputBotInlineMessageMediaContact": { - "name": "inputBotInlineMessageMediaContact", - "description": [ - "A contact" - ], - "fields": { - "first_name": "First name", - "flags": "Flags, see TL conditional fields", - "last_name": "Last name", - "phone_number": "Phone number", - "reply_markup": "Inline keyboard", - "vcard": "VCard info" - } - }, - "inputBotInlineMessageMediaGeo": { - "name": "inputBotInlineMessageMediaGeo", - "description": [ - "Geolocation" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "geo_point": "Geolocation", - "heading": "For live locations, a direction in which the location moves, in degrees; 1-360", - "period": "Validity period", - "proximity_notification_radius": "For live locations, a maximum distance to another chat member for proximity alerts, in meters (0-100000)", - "reply_markup": "Reply markup for bot/inline keyboards" - } - }, - "inputBotInlineMessageMediaVenue": { - "name": "inputBotInlineMessageMediaVenue", - "description": [ - "Venue" - ], - "fields": { - "address": "Address", - "flags": "Flags, see TL conditional fields", - "geo_point": "Geolocation", - "provider": "Venue provider: currently only \"foursquare\" needs to be supported", - "reply_markup": "Inline keyboard", - "title": "Venue name", - "venue_id": "Venue ID in the provider's database", - "venue_type": "Venue type in the provider's database" - } - }, - "inputBotInlineMessageText": { - "name": "inputBotInlineMessageText", - "description": [ - "Simple text message" - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "Message", - "no_webpage": "Disable webpage preview", - "reply_markup": "Inline keyboard" - } - }, - "inputBotInlineResult": { - "name": "inputBotInlineResult", - "description": [ - "An inline bot result" - ], - "fields": { - "content": "Result contents", - "description": "Result description", - "flags": "Flags, see TL conditional fields", - "id": "ID of result", - "send_message": "Message to send when the result is selected", - "thumb": "Thumbnail for result", - "title": "Result title", - "type": "Result type (see bot API docs)", - "url": "URL of result" - } - }, - "inputBotInlineResultDocument": { - "name": "inputBotInlineResultDocument", - "description": [ - "Document (media of any type except for photos)" - ], - "fields": { - "description": "Result description", - "document": "Document to send", - "flags": "Flags, see TL conditional fields", - "id": "Result ID", - "send_message": "Message to send when the result is selected", - "title": "Result title", - "type": "Result type (see bot API docs)" - } - }, - "inputBotInlineResultGame": { - "name": "inputBotInlineResultGame", - "description": [ - "Game" - ], - "fields": { - "id": "Result ID", - "send_message": "Message to send when the result is selected", - "short_name": "Game short name" - } - }, - "inputBotInlineResultPhoto": { - "name": "inputBotInlineResultPhoto", - "description": [ - "Photo" - ], - "fields": { - "id": "Result ID", - "photo": "Photo to send", - "send_message": "Message to send when the result is selected", - "type": "Result type (see bot API docs)" - } - }, - "inputChannel": { - "name": "inputChannel", - "description": [ - "Represents a channel" - ], - "fields": { - "access_hash": "Access hash taken from the channel constructor", - "channel_id": "Channel ID" - } - }, - "inputChannelEmpty": { - "name": "inputChannelEmpty", - "description": [ - "Represents the absence of a channel" - ] - }, - "inputChannelFromMessage": { - "name": "inputChannelFromMessage", - "description": [ - "Defines a min channel that was seen in a certain message of a certain chat." - ], - "fields": { - "channel_id": "The channel ID", - "msg_id": "The message ID in the chat where the channel was seen", - "peer": "The chat where the channel was seen" - } - }, - "inputChatPhoto": { - "name": "inputChatPhoto", - "description": [ - "Existing photo to be set as a chat profile photo." - ], - "fields": { - "id": "Existing photo" - } - }, - "inputChatPhotoEmpty": { - "name": "inputChatPhotoEmpty", - "description": [ - "Empty constructor, remove group photo." - ] - }, - "inputChatUploadedPhoto": { - "name": "inputChatUploadedPhoto", - "description": [ - "New photo to be set as group profile photo." - ], - "fields": { - "file": "File saved in parts using the method upload.saveFilePart", - "flags": "Flags, see TL conditional fields", - "video": "Square video for animated profile picture", - "video_start_ts": "Timestamp that should be shown as static preview to the user (seconds)" - } - }, - "inputCheckPasswordEmpty": { - "name": "inputCheckPasswordEmpty", - "description": [ - "There is no password" - ] - }, - "inputCheckPasswordSRP": { - "name": "inputCheckPasswordSRP", - "description": [ - "Constructor for checking the validity of a 2FA SRP password (see SRP)" - ], - "fields": { - "A": "A parameter (see SRP)", - "M1": "M1 parameter (see SRP)", - "srp_id": "SRP ID" - } - }, - "inputClientProxy": { - "name": "inputClientProxy", - "description": [ - "Info about an MTProxy used to connect." - ], - "fields": { - "address": "Proxy address", - "port": "Proxy port" - } - }, - "inputDialogPeer": { - "name": "inputDialogPeer", - "description": [ - "A peer" - ], - "fields": { - "peer": "Peer" - } - }, - "inputDialogPeerFolder": { - "name": "inputDialogPeerFolder", - "description": [ - "All peers in a peer folder" - ], - "fields": { - "folder_id": "Peer folder ID, for more info click here" - } - }, - "inputDocument": { - "name": "inputDocument", - "description": [ - "Defines a video for subsequent interaction." - ], - "fields": { - "access_hash": "access_hash parameter from the document constructor", - "file_reference": "File reference", - "id": "Document ID" - } - }, - "inputDocumentEmpty": { - "name": "inputDocumentEmpty", - "description": [ - "Empty constructor." - ] - }, - "inputDocumentFileLocation": { - "name": "inputDocumentFileLocation", - "description": [ - "Document location (video, voice, audio, basically every type except photo)" - ], - "fields": { - "access_hash": "access_hash parameter from the document constructor", - "file_reference": "File reference", - "id": "Document ID", - "thumb_size": "Thumbnail size to download the thumbnail" - } - }, - "inputEncryptedChat": { - "name": "inputEncryptedChat", - "description": [ - "Creates an encrypted chat." - ], - "fields": { - "access_hash": "Checking sum from constructor encryptedChat, encryptedChatWaiting or encryptedChatRequested", - "chat_id": "Chat ID" - } - }, - "inputEncryptedFile": { - "name": "inputEncryptedFile", - "description": [ - "Sets forwarded encrypted file for attachment." - ], - "fields": { - "access_hash": "Checking sum, value of access_hash parameter from encryptedFile", - "id": "File ID, value of id parameter from encryptedFile" - } - }, - "inputEncryptedFileBigUploaded": { - "name": "inputEncryptedFileBigUploaded", - "description": [ - "Assigns a new big encrypted file (over 10Mb in size), saved in parts using the method upload.saveBigFilePart." - ], - "fields": { - "id": "Random file id, created by the client", - "key_fingerprint": "32-bit imprint of the key used to encrypt the file", - "parts": "Number of saved parts" - } - }, - "inputEncryptedFileEmpty": { - "name": "inputEncryptedFileEmpty", - "description": [ - "Empty constructor." - ] - }, - "inputEncryptedFileLocation": { - "name": "inputEncryptedFileLocation", - "description": [ - "Location of encrypted secret chat file." - ], - "fields": { - "access_hash": "Checksum, access_hash parameter value from encryptedFile", - "id": "File ID, id parameter value from encryptedFile" - } - }, - "inputEncryptedFileUploaded": { - "name": "inputEncryptedFileUploaded", - "description": [ - "Sets new encrypted file saved by parts using upload.saveFilePart method." - ], - "fields": { - "id": "Random file ID created by clien", - "key_fingerprint": "32-bit fingerprint of the key used to encrypt a file", - "md5_checksum": "In case md5-HASH of the (already encrypted) file was transmitted, file content will be checked prior to use", - "parts": "Number of saved parts" - } - }, - "inputFile": { - "name": "inputFile", - "description": [ - "Defines a file saved in parts using the method upload.saveFilePart." - ], - "fields": { - "id": "Random file identifier created by the client", - "md5_checksum": "In case the file's md5-hash was passed, contents of the file will be checked prior to use", - "name": "Full name of the file", - "parts": "Number of parts saved" - } - }, - "inputFileBig": { - "name": "inputFileBig", - "description": [ - "Assigns a big file (over 10Mb in size), saved in part using the method upload.saveBigFilePart." - ], - "fields": { - "id": "Random file id, created by the client", - "name": "Full file name", - "parts": "Number of parts saved" - } - }, - "inputFileLocation": { - "name": "inputFileLocation", - "description": [ - "DEPRECATED location of a photo" - ], - "fields": { - "file_reference": "File reference", - "local_id": "File identifier", - "secret": "Check sum to access the file", - "volume_id": "Server volume" - } - }, - "inputFolderPeer": { - "name": "inputFolderPeer", - "description": [ - "Peer in a folder" - ], - "fields": { - "folder_id": "Peer folder ID, for more info click here", - "peer": "Peer" - } - }, - "inputGameID": { - "name": "inputGameID", - "description": [ - "Indicates an already sent game" - ], - "fields": { - "access_hash": "access hash from Game constructor", - "id": "game ID from Game constructor" - } - }, - "inputGameShortName": { - "name": "inputGameShortName", - "description": [ - "Game by short name" - ], - "fields": { - "bot_id": "The bot that provides the game", - "short_name": "The game's short name" - } - }, - "inputGeoPoint": { - "name": "inputGeoPoint", - "description": [ - "Defines a GeoPoint by its coordinates." - ], - "fields": { - "accuracy_radius": "The estimated horizontal accuracy of the location, in meters; as defined by the sender.", - "flags": "Flags, see TL conditional fields", - "lat": "Latitide", - "long": "Longtitude" - } - }, - "inputGeoPointEmpty": { - "name": "inputGeoPointEmpty", - "description": [ - "Empty GeoPoint constructor." - ] - }, - "inputKeyboardButtonUrlAuth": { - "name": "inputKeyboardButtonUrlAuth", - "description": [ - "Button to request a user to authorize via URL using Seamless Telegram Login." - ], - "fields": { - "bot": "Username of a bot, which will be used for user authorization. See Setting up a bot for more details. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot for more details.", - "flags": "Flags, see TL conditional fields", - "fwd_text": "New text of the button in forwarded messages.", - "request_write_access": "Set this flag to request the permission for your bot to send messages to the user.", - "text": "Button text", - "url": "An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data.NOTE: You must always check the hash of the received data to verify the authentication and the integrity of the data as described in Checking authorization." - } - }, - "inputMediaContact": { - "name": "inputMediaContact", - "description": [ - "Phonebook contact" - ], - "fields": { - "first_name": "Contact's first name", - "last_name": "Contact's last name", - "phone_number": "Phone number", - "vcard": "Contact vcard" - } - }, - "inputMediaDice": { - "name": "inputMediaDice", - "description": [ - "Send a dice-based animated sticker" - ], - "fields": { - "emoticon": "The emoji, for now , and are supported" - } - }, - "inputMediaDocument": { - "name": "inputMediaDocument", - "description": [ - "Forwarded document" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "id": "The document to be forwarded.", - "ttl_seconds": "Time to live of self-destructing document" - } - }, - "inputMediaDocumentExternal": { - "name": "inputMediaDocumentExternal", - "description": [ - "Document that will be downloaded by the telegram servers" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "ttl_seconds": "Self-destruct time to live of document", - "url": "URL of the document" - } - }, - "inputMediaEmpty": { - "name": "inputMediaEmpty", - "description": [ - "Empty media content of a message." - ] - }, - "inputMediaGame": { - "name": "inputMediaGame", - "description": [ - "A game" - ], - "fields": { - "id": "The game to forward" - } - }, - "inputMediaGeoLive": { - "name": "inputMediaGeoLive", - "description": [ - "Live geolocation" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "geo_point": "Current geolocation", - "heading": "For live locations, a direction in which the location moves, in degrees; 1-360.", - "period": "Validity period of the current location", - "proximity_notification_radius": "For live locations, a maximum distance to another chat member for proximity alerts, in meters (0-100000)", - "stopped": "Whether sending of the geolocation was stopped" - } - }, - "inputMediaGeoPoint": { - "name": "inputMediaGeoPoint", - "description": [ - "Map." - ], - "fields": { - "geo_point": "GeoPoint" - } - }, - "inputMediaInvoice": { - "name": "inputMediaInvoice", - "description": [ - "Generated invoice of a bot payment" - ], - "fields": { - "description": "Product description, 1-255 characters", - "flags": "Flags, see TL conditional fields", - "invoice": "The actual invoice", - "payload": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.", - "photo": "URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for.", - "provider": "Payments provider token, obtained via Botfather", - "provider_data": "JSON-encoded data about the invoice, which will be shared with the payment provider. A detailed description of required fields should be provided by the payment provider.", - "start_param": "Start parameter", - "title": "Product name, 1-32 characters" - } - }, - "inputMediaPhoto": { - "name": "inputMediaPhoto", - "description": [ - "Forwarded photo" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "id": "Photo to be forwarded", - "ttl_seconds": "Time to live in seconds of self-destructing photo" - } - }, - "inputMediaPhotoExternal": { - "name": "inputMediaPhotoExternal", - "description": [ - "New photo that will be uploaded by the server using the specified URL" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "ttl_seconds": "Self-destruct time to live of photo", - "url": "URL of the photo" - } - }, - "inputMediaPoll": { - "name": "inputMediaPoll", - "description": [ - "A poll" - ], - "fields": { - "correct_answers": "Correct answer IDs (for quiz polls)", - "flags": "Flags, see TL conditional fields", - "poll": "The poll to send", - "solution": "Explanation of quiz solution", - "solution_entities": "Message entities for styled text" - } - }, - "inputMediaUploadedDocument": { - "name": "inputMediaUploadedDocument", - "description": [ - "New document" - ], - "fields": { - "attributes": "Attributes that specify the type of the document (video, audio, voice, sticker, etc.)", - "file": "The uploaded file", - "flags": "Flags, see TL conditional fields", - "force_file": "Force the media file to be uploaded as document", - "mime_type": "MIME type of document", - "nosound_video": "Whether the specified document is a video file with no audio tracks (a GIF animation (even as MPEG4), for example)", - "stickers": "Attached stickers", - "thumb": "Thumbnail of the document, uploaded as for the file", - "ttl_seconds": "Time to live in seconds of self-destructing document" - } - }, - "inputMediaUploadedPhoto": { - "name": "inputMediaUploadedPhoto", - "description": [ - "Photo" - ], - "fields": { - "file": "The uploaded file", - "flags": "Flags, see TL conditional fields", - "stickers": "Attached mask stickers", - "ttl_seconds": "Time to live in seconds of self-destructing photo" - } - }, - "inputMediaVenue": { - "name": "inputMediaVenue", - "description": [ - "Can be used to send a venue geolocation." - ], - "fields": { - "address": "Physical address of the venue", - "geo_point": "Geolocation", - "provider": "Venue provider: currently only \"foursquare\" needs to be supported", - "title": "Venue name", - "venue_id": "Venue ID in the provider's database", - "venue_type": "Venue type in the provider's database" - } - }, - "inputMessageCallbackQuery": { - "name": "inputMessageCallbackQuery", - "description": [ - "Used by bots for fetching information about the message that originated a callback query" - ], - "fields": { - "id": "Message ID", - "query_id": "Callback query ID" - } - }, - "inputMessageEntityMentionName": { - "name": "inputMessageEntityMentionName", - "description": [ - "Message entity that can be used to create a user user mention: received mentions use the messageEntityMentionName constructor, instead." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)", - "user_id": "Identifier of the user that was mentioned" - } - }, - "inputMessageID": { - "name": "inputMessageID", - "description": [ - "Message by ID" - ], - "fields": { - "id": "Message ID" - } - }, - "inputMessagePinned": { - "name": "inputMessagePinned", - "description": [ - "Pinned message" - ] - }, - "inputMessageReplyTo": { - "name": "inputMessageReplyTo", - "description": [ - "Message to which the specified message replies to" - ], - "fields": { - "id": "ID of the message that replies to the message we need" - } - }, - "inputMessagesFilterChatPhotos": { - "name": "inputMessagesFilterChatPhotos", - "description": [ - "Return only chat photo changes" - ] - }, - "inputMessagesFilterContacts": { - "name": "inputMessagesFilterContacts", - "description": [ - "Return only messages containing contacts" - ] - }, - "inputMessagesFilterDocument": { - "name": "inputMessagesFilterDocument", - "description": [ - "Filter for messages containing documents." - ] - }, - "inputMessagesFilterEmpty": { - "name": "inputMessagesFilterEmpty", - "description": [ - "Filter is absent." - ] - }, - "inputMessagesFilterGeo": { - "name": "inputMessagesFilterGeo", - "description": [ - "Return only messages containing geolocations" - ] - }, - "inputMessagesFilterGif": { - "name": "inputMessagesFilterGif", - "description": [ - "Return only messages containing gifs" - ] - }, - "inputMessagesFilterMusic": { - "name": "inputMessagesFilterMusic", - "description": [ - "Return only messages containing audio files" - ] - }, - "inputMessagesFilterMyMentions": { - "name": "inputMessagesFilterMyMentions", - "description": [ - "Return only messages where the current user was mentioned." - ] - }, - "inputMessagesFilterPhoneCalls": { - "name": "inputMessagesFilterPhoneCalls", - "description": [ - "Return only phone calls" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "missed": "Return only missed phone calls" - } - }, - "inputMessagesFilterPhotoVideo": { - "name": "inputMessagesFilterPhotoVideo", - "description": [ - "Filter for messages containing photos or videos." - ] - }, - "inputMessagesFilterPhotos": { - "name": "inputMessagesFilterPhotos", - "description": [ - "Filter for messages containing photos." - ] - }, - "inputMessagesFilterPinned": { - "name": "inputMessagesFilterPinned", - "description": [ - "Fetch only pinned messages" - ] - }, - "inputMessagesFilterRoundVideo": { - "name": "inputMessagesFilterRoundVideo", - "description": [ - "Return only round videos" - ] - }, - "inputMessagesFilterRoundVoice": { - "name": "inputMessagesFilterRoundVoice", - "description": [ - "Return only round videos and voice notes" - ] - }, - "inputMessagesFilterUrl": { - "name": "inputMessagesFilterUrl", - "description": [ - "Return only messages containing URLs" - ] - }, - "inputMessagesFilterVideo": { - "name": "inputMessagesFilterVideo", - "description": [ - "Filter for messages containing videos." - ] - }, - "inputMessagesFilterVoice": { - "name": "inputMessagesFilterVoice", - "description": [ - "Return only messages containing voice notes" - ] - }, - "inputNotifyBroadcasts": { - "name": "inputNotifyBroadcasts", - "description": [ - "All channels" - ] - }, - "inputNotifyChats": { - "name": "inputNotifyChats", - "description": [ - "Notifications generated by all groups." - ] - }, - "inputNotifyPeer": { - "name": "inputNotifyPeer", - "description": [ - "Notifications generated by a certain user or group." - ], - "fields": { - "peer": "User or group" - } - }, - "inputNotifyUsers": { - "name": "inputNotifyUsers", - "description": [ - "Notifications generated by all users." - ] - }, - "inputPaymentCredentials": { - "name": "inputPaymentCredentials", - "description": [ - "Payment credentials" - ], - "fields": { - "data": "Payment credentials", - "flags": "Flags, see TL conditional fields", - "save": "Save payment credential for future use" - } - }, - "inputPaymentCredentialsAndroidPay": { - "name": "inputPaymentCredentialsAndroidPay", - "description": [ - "Android pay payment credentials" - ], - "fields": { - "google_transaction_id": "Google transaction ID", - "payment_token": "Android pay payment token" - } - }, - "inputPaymentCredentialsApplePay": { - "name": "inputPaymentCredentialsApplePay", - "description": [ - "Apple pay payment credentials" - ], - "fields": { - "payment_data": "Payment data" - } - }, - "inputPaymentCredentialsSaved": { - "name": "inputPaymentCredentialsSaved", - "description": [ - "Saved payment credentials" - ], - "fields": { - "id": "Credential ID", - "tmp_password": "Temporary password" - } - }, - "inputPeerChannel": { - "name": "inputPeerChannel", - "description": [ - "Defines a channel for further interaction." - ], - "fields": { - "access_hash": "access_hash value from the channel constructor", - "channel_id": "Channel identifier" - } - }, - "inputPeerChannelFromMessage": { - "name": "inputPeerChannelFromMessage", - "description": [ - "Defines a min channel that was seen in a certain message of a certain chat." - ], - "fields": { - "channel_id": "The identifier of the channel that was seen", - "msg_id": "The message ID", - "peer": "The chat where the channel's message was seen" - } - }, - "inputPeerChat": { - "name": "inputPeerChat", - "description": [ - "Defines a chat for further interaction." - ], - "fields": { - "chat_id": "Chat idientifier" - } - }, - "inputPeerEmpty": { - "name": "inputPeerEmpty", - "description": [ - "An empty constructor, no user or chat is defined." - ] - }, - "inputPeerNotifySettings": { - "name": "inputPeerNotifySettings", - "description": [ - "Notification settings." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "mute_until": "Date until which all notifications shall be switched off", - "show_previews": "If the text of the message shall be displayed in notification", - "silent": "Peer was muted?", - "sound": "Name of an audio file for notification" - } - }, - "inputPeerPhotoFileLocation": { - "name": "inputPeerPhotoFileLocation", - "description": [ - "Location of profile photo of channel/group/supergroup/user" - ], - "fields": { - "big": "Whether to download the high-quality version of the picture", - "flags": "Flags, see TL conditional fields", - "local_id": "Local ID from FileLocation met in the profile photo container.", - "peer": "The peer whose profile picture should be downloaded", - "volume_id": "Volume ID from FileLocation met in the profile photo container." - } - }, - "inputPeerSelf": { - "name": "inputPeerSelf", - "description": [ - "Defines the current user." - ] - }, - "inputPeerUser": { - "name": "inputPeerUser", - "description": [ - "Defines a user for further interaction." - ], - "fields": { - "access_hash": "access_hash value from the user constructor", - "user_id": "User identifier" - } - }, - "inputPeerUserFromMessage": { - "name": "inputPeerUserFromMessage", - "description": [ - "Defines a min user that was seen in a certain message of a certain chat." - ], - "fields": { - "msg_id": "The message ID", - "peer": "The chat where the user was seen", - "user_id": "The identifier of the user that was seen" - } - }, - "inputPhoneCall": { - "name": "inputPhoneCall", - "description": [ - "Phone call" - ], - "fields": { - "access_hash": "Access hash", - "id": "Call ID" - } - }, - "inputPhoneContact": { - "name": "inputPhoneContact", - "description": [ - "Phone contact. The client_id is just an arbitrary contact ID: it should be set, for example, to an incremental number when using contacts.importContacts, in order to retry importing only the contacts that weren't imported successfully." - ], - "fields": { - "client_id": "User identifier on the client", - "first_name": "Contact's first name", - "last_name": "Contact's last name", - "phone": "Phone number" - } - }, - "inputPhoto": { - "name": "inputPhoto", - "description": [ - "Defines a photo for further interaction." - ], - "fields": { - "access_hash": "access_hash value from the photo constructor", - "file_reference": "File reference", - "id": "Photo identifier" - } - }, - "inputPhotoEmpty": { - "name": "inputPhotoEmpty", - "description": [ - "Empty constructor." - ] - }, - "inputPhotoFileLocation": { - "name": "inputPhotoFileLocation", - "description": [ - "Use this object to download a photo with upload.getFile method" - ], - "fields": { - "access_hash": "Photo's access hash, obtained from the photo object", - "file_reference": "File reference", - "id": "Photo ID, obtained from the photo object", - "thumb_size": "The PhotoSize to download: must be set to the type field of the desired PhotoSize object of the photo" - } - }, - "inputPhotoLegacyFileLocation": { - "name": "inputPhotoLegacyFileLocation", - "description": [ - "Legacy photo file location" - ], - "fields": { - "access_hash": "Access hash", - "file_reference": "File reference", - "id": "Photo ID", - "local_id": "Local ID", - "secret": "Secret", - "volume_id": "Volume ID" - } - }, - "inputPrivacyKeyAddedByPhone": { - "name": "inputPrivacyKeyAddedByPhone", - "description": [ - "Whether people can add you to their contact list by your phone number" - ] - }, - "inputPrivacyKeyChatInvite": { - "name": "inputPrivacyKeyChatInvite", - "description": [ - "Whether the user can be invited to chats" - ] - }, - "inputPrivacyKeyForwards": { - "name": "inputPrivacyKeyForwards", - "description": [ - "Whether messages forwarded from this user will be anonymous" - ] - }, - "inputPrivacyKeyPhoneCall": { - "name": "inputPrivacyKeyPhoneCall", - "description": [ - "Whether the user will accept phone calls" - ] - }, - "inputPrivacyKeyPhoneNumber": { - "name": "inputPrivacyKeyPhoneNumber", - "description": [ - "Whether people will be able to see the user's phone number" - ] - }, - "inputPrivacyKeyPhoneP2P": { - "name": "inputPrivacyKeyPhoneP2P", - "description": [ - "Whether the user allows P2P communication during VoIP calls" - ] - }, - "inputPrivacyKeyProfilePhoto": { - "name": "inputPrivacyKeyProfilePhoto", - "description": [ - "Whether people will be able to see the user's profile picture" - ] - }, - "inputPrivacyKeyStatusTimestamp": { - "name": "inputPrivacyKeyStatusTimestamp", - "description": [ - "Whether we can see the exact last online timestamp of the user" - ] - }, - "inputPrivacyValueAllowAll": { - "name": "inputPrivacyValueAllowAll", - "description": [ - "Allow all users" - ] - }, - "inputPrivacyValueAllowChatParticipants": { - "name": "inputPrivacyValueAllowChatParticipants", - "description": [ - "Allow only participants of certain chats" - ], - "fields": { - "chats": "Allowed chat IDs" - } - }, - "inputPrivacyValueAllowContacts": { - "name": "inputPrivacyValueAllowContacts", - "description": [ - "Allow only contacts" - ] - }, - "inputPrivacyValueAllowUsers": { - "name": "inputPrivacyValueAllowUsers", - "description": [ - "Allow only certain users" - ], - "fields": { - "users": "Allowed users" - } - }, - "inputPrivacyValueDisallowAll": { - "name": "inputPrivacyValueDisallowAll", - "description": [ - "Disallow all" - ] - }, - "inputPrivacyValueDisallowChatParticipants": { - "name": "inputPrivacyValueDisallowChatParticipants", - "description": [ - "Disallow only participants of certain chats" - ], - "fields": { - "chats": "Disallowed chat IDs" - } - }, - "inputPrivacyValueDisallowContacts": { - "name": "inputPrivacyValueDisallowContacts", - "description": [ - "Disallow only contacts" - ] - }, - "inputPrivacyValueDisallowUsers": { - "name": "inputPrivacyValueDisallowUsers", - "description": [ - "Disallow only certain users" - ], - "fields": { - "users": "Users to disallow" - } - }, - "inputReportReasonChildAbuse": { - "name": "inputReportReasonChildAbuse", - "description": [ - "Report for child abuse" - ] - }, - "inputReportReasonCopyright": { - "name": "inputReportReasonCopyright", - "description": [ - "Report for copyrighted content" - ] - }, - "inputReportReasonGeoIrrelevant": { - "name": "inputReportReasonGeoIrrelevant", - "description": [ - "Report an irrelevant geogroup" - ] - }, - "inputReportReasonOther": { - "name": "inputReportReasonOther", - "description": [ - "Other" - ], - "fields": { - "text": "Other report reason" - } - }, - "inputReportReasonPornography": { - "name": "inputReportReasonPornography", - "description": [ - "Report for pornography" - ] - }, - "inputReportReasonSpam": { - "name": "inputReportReasonSpam", - "description": [ - "Report for spam" - ] - }, - "inputReportReasonViolence": { - "name": "inputReportReasonViolence", - "description": [ - "Report for violence" - ] - }, - "inputSecureFile": { - "name": "inputSecureFile", - "description": [ - "Preuploaded passport file, for more info see the passport docs »" - ], - "fields": { - "access_hash": "Secure file access hash", - "id": "Secure file ID" - } - }, - "inputSecureFileLocation": { - "name": "inputSecureFileLocation", - "description": [ - "Location of encrypted telegram passport file." - ], - "fields": { - "access_hash": "Checksum, access_hash parameter value from secureFile", - "id": "File ID, id parameter value from secureFile" - } - }, - "inputSecureFileUploaded": { - "name": "inputSecureFileUploaded", - "description": [ - "Uploaded secure file, for more info see the passport docs »" - ], - "fields": { - "file_hash": "File hash", - "id": "Secure file ID", - "md5_checksum": "MD5 hash of encrypted uploaded file, to be checked server-side", - "parts": "Secure file part count", - "secret": "Secret" - } - }, - "inputSecureValue": { - "name": "inputSecureValue", - "description": [ - "Secure value, for more info see the passport docs »" - ], - "fields": { - "data": "Encrypted Telegram Passport element data", - "files": "Array of encrypted passport files with photos the of the documents", - "flags": "Flags, see TL conditional fields", - "front_side": "Encrypted passport file with the front side of the document", - "plain_data": "Plaintext verified passport data", - "reverse_side": "Encrypted passport file with the reverse side of the document", - "selfie": "Encrypted passport file with a selfie of the user holding the document", - "translation": "Array of encrypted passport files with translated versions of the provided documents", - "type": "Secure passport value type" - } - }, - "inputSingleMedia": { - "name": "inputSingleMedia", - "description": [ - "A single media in an album or grouped media sent with messages.sendMultiMedia." - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "media": "The media", - "message": "A caption for the media", - "random_id": "Unique client media ID required to prevent message resending" - } - }, - "inputStickerSetAnimatedEmoji": { - "name": "inputStickerSetAnimatedEmoji", - "description": [ - "Animated emojis stickerset" - ] - }, - "inputStickerSetDice": { - "name": "inputStickerSetDice", - "description": [ - "Used for fetching animated dice stickers" - ], - "fields": { - "emoticon": "The emoji, for now , and are supported" - } - }, - "inputStickerSetEmpty": { - "name": "inputStickerSetEmpty", - "description": [ - "Empty constructor" - ] - }, - "inputStickerSetID": { - "name": "inputStickerSetID", - "description": [ - "Stickerset by ID" - ], - "fields": { - "access_hash": "Access hash", - "id": "ID" - } - }, - "inputStickerSetItem": { - "name": "inputStickerSetItem", - "description": [ - "Sticker in a stickerset" - ], - "fields": { - "document": "The sticker", - "emoji": "Associated emoji", - "flags": "Flags, see TL conditional fields", - "mask_coords": "Coordinates for mask sticker" - } - }, - "inputStickerSetShortName": { - "name": "inputStickerSetShortName", - "description": [ - "Stickerset by short name, from tg://addstickers?set=short_name" - ], - "fields": { - "short_name": "From tg://addstickers?set=short_name" - } - }, - "inputStickerSetThumb": { - "name": "inputStickerSetThumb", - "description": [ - "Location of stickerset thumbnail (see files)" - ], - "fields": { - "local_id": "Local ID", - "stickerset": "Sticker set", - "volume_id": "Volume ID" - } - }, - "inputStickeredMediaDocument": { - "name": "inputStickeredMediaDocument", - "description": [ - "A document with stickers attached" - ], - "fields": { - "id": "The document" - } - }, - "inputStickeredMediaPhoto": { - "name": "inputStickeredMediaPhoto", - "description": [ - "A photo with stickers attached" - ], - "fields": { - "id": "The photo" - } - }, - "inputTakeoutFileLocation": { - "name": "inputTakeoutFileLocation", - "description": [ - "Empty constructor for takeout" - ] - }, - "inputTheme": { - "name": "inputTheme", - "description": [ - "Theme" - ], - "fields": { - "access_hash": "Access hash", - "id": "ID" - } - }, - "inputThemeSettings": { - "name": "inputThemeSettings", - "description": [ - "Theme settings" - ], - "fields": { - "accent_color": "Accent color, RGB24 format", - "base_theme": "Default theme on which this theme is based", - "flags": "Flags, see TL conditional fields", - "message_bottom_color": "Message gradient color (bottom), RGB24 format", - "message_top_color": "Message gradient color (top), RGB24 format", - "wallpaper": "Wallpaper", - "wallpaper_settings": "Wallpaper settings" - } - }, - "inputThemeSlug": { - "name": "inputThemeSlug", - "description": [ - "Theme by theme ID" - ], - "fields": { - "slug": "Unique theme ID" - } - }, - "inputUser": { - "name": "inputUser", - "description": [ - "Defines a user for further interaction." - ], - "fields": { - "access_hash": "access_hash value from the user constructor", - "user_id": "User identifier" - } - }, - "inputUserEmpty": { - "name": "inputUserEmpty", - "description": [ - "Empty constructor, does not define a user." - ] - }, - "inputUserFromMessage": { - "name": "inputUserFromMessage", - "description": [ - "Defines a min user that was seen in a certain message of a certain chat." - ], - "fields": { - "msg_id": "The message ID", - "peer": "The chat where the user was seen", - "user_id": "The identifier of the user that was seen" - } - }, - "inputUserSelf": { - "name": "inputUserSelf", - "description": [ - "Defines the current user." - ] - }, - "inputWallPaper": { - "name": "inputWallPaper", - "description": [ - "Wallpaper" - ], - "fields": { - "access_hash": "Access hash", - "id": "Wallpaper ID" - } - }, - "inputWallPaperNoFile": { - "name": "inputWallPaperNoFile", - "description": [ - "Wallpaper with no file" - ] - }, - "inputWallPaperSlug": { - "name": "inputWallPaperSlug", - "description": [ - "Wallpaper by slug (a unique ID)" - ], - "fields": { - "slug": "Unique wallpaper ID" - } - }, - "inputWebDocument": { - "name": "inputWebDocument", - "description": [ - "The document" - ], - "fields": { - "attributes": "Attributes for media types", - "mime_type": "Mime type", - "size": "Remote file size", - "url": "Remote document URL to be downloaded using the appropriate method" - } - }, - "inputWebFileGeoPointLocation": { - "name": "inputWebFileGeoPointLocation", - "description": [ - "Geolocation" - ], - "fields": { - "access_hash": "Access hash", - "geo_point": "Geolocation", - "h": "Map height in pixels before applying scale; 16-1024", - "scale": "Map scale; 1-3", - "w": "Map width in pixels before applying scale; 16-1024", - "zoom": "Map zoom level; 13-20" - } - }, - "inputWebFileLocation": { - "name": "inputWebFileLocation", - "description": [ - "Location of a remote HTTP(s) file" - ], - "fields": { - "access_hash": "Access hash", - "url": "HTTP URL of file" - } - }, - "invoice": { - "name": "invoice", - "description": [ - "Invoice" - ], - "fields": { - "currency": "Three-letter ISO 4217 currency code", - "email_requested": "Set this flag if you require the user's email address to complete the order", - "email_to_provider": "Set this flag if user's email address should be sent to provider", - "flags": "Flags, see TL conditional fields", - "flexible": "Set this flag if the final price depends on the shipping method", - "name_requested": "Set this flag if you require the user's full name to complete the order", - "phone_requested": "Set this flag if you require the user's phone number to complete the order", - "phone_to_provider": "Set this flag if user's phone number should be sent to provider", - "prices": "Price breakdown, a list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)", - "shipping_address_requested": "Set this flag if you require the user's shipping address to complete the order", - "test": "Test invoice" - } - }, - "jsonArray": { - "name": "jsonArray", - "description": [ - "JSON array" - ], - "fields": { - "value": "JSON values" - } - }, - "jsonBool": { - "name": "jsonBool", - "description": [ - "JSON boolean value" - ], - "fields": { - "value": "Value" - } - }, - "jsonNull": { - "name": "jsonNull", - "description": [ - "null JSON value" - ] - }, - "jsonNumber": { - "name": "jsonNumber", - "description": [ - "JSON numeric value" - ], - "fields": { - "value": "Value" - } - }, - "jsonObject": { - "name": "jsonObject", - "description": [ - "JSON object value" - ], - "fields": { - "value": "Values" - } - }, - "jsonObjectValue": { - "name": "jsonObjectValue", - "description": [ - "JSON key: value pair" - ], - "fields": { - "key": "Key", - "value": "Value" - } - }, - "jsonString": { - "name": "jsonString", - "description": [ - "JSON string" - ], - "fields": { - "value": "Value" - } - }, - "keyboardButton": { - "name": "keyboardButton", - "description": [ - "Bot keyboard button" - ], - "fields": { - "text": "Button text" - } - }, - "keyboardButtonBuy": { - "name": "keyboardButtonBuy", - "description": [ - "Button to buy a product" - ], - "fields": { - "text": "Button text" - } - }, - "keyboardButtonCallback": { - "name": "keyboardButtonCallback", - "description": [ - "Callback button" - ], - "fields": { - "data": "Callback data", - "flags": "Flags, see TL conditional fields", - "requires_password": "Whether the user should verify his identity by entering his 2FA SRP parameters to the messages.getBotCallbackAnswer method. NOTE: telegram and the bot WILL NOT have access to the plaintext password, thanks to SRP. This button is mainly used by the official @botfather bot, for verifying the user's identity before transferring ownership of a bot to another user.", - "text": "Button text" - } - }, - "keyboardButtonGame": { - "name": "keyboardButtonGame", - "description": [ - "Button to start a game" - ], - "fields": { - "text": "Button text" - } - }, - "keyboardButtonRequestGeoLocation": { - "name": "keyboardButtonRequestGeoLocation", - "description": [ - "Button to request a user's geolocation" - ], - "fields": { - "text": "Button text" - } - }, - "keyboardButtonRequestPhone": { - "name": "keyboardButtonRequestPhone", - "description": [ - "Button to request a user's phone number" - ], - "fields": { - "text": "Button text" - } - }, - "keyboardButtonRequestPoll": { - "name": "keyboardButtonRequestPoll", - "description": [ - "A button that allows the user to create and send a poll when pressed; available only in private" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "quiz": "If set, only quiz polls can be sent", - "text": "Button text" - } - }, - "keyboardButtonRow": { - "name": "keyboardButtonRow", - "description": [ - "Inline keyboard row" - ], - "fields": { - "buttons": "Bot or inline keyboard buttons" - } - }, - "keyboardButtonSwitchInline": { - "name": "keyboardButtonSwitchInline", - "description": [ - "Button to force a user to switch to inline mode Pressing the button will prompt the user to select one of their chats, open that chat and insert the bot‘s username and the specified inline query in the input field." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "query": "The inline query to use", - "same_peer": "If set, pressing the button will insert the bot‘s username and the specified inline query in the current chat's input field.", - "text": "Button label" - } - }, - "keyboardButtonUrl": { - "name": "keyboardButtonUrl", - "description": [ - "URL button" - ], - "fields": { - "text": "Button label", - "url": "URL" - } - }, - "keyboardButtonUrlAuth": { - "name": "keyboardButtonUrlAuth", - "description": [ - "Button to request a user to authorize via URL using Seamless Telegram Login. When the user clicks on such a button, messages.requestUrlAuth should be called, providing the button_id and the ID of the container message. The returned urlAuthResultRequest object will contain more details about the authorization request (request_write_access if the bot would like to send messages to the user along with the username of the bot which will be used for user authorization). Finally, the user can choose to call messages.acceptUrlAuth to get a urlAuthResultAccepted with the URL to open instead of the url of this constructor, or a urlAuthResultDefault, in which case the url of this constructor must be opened, instead. If the user refuses the authorization request but still wants to open the link, the url of this constructor must be used." - ], - "fields": { - "button_id": "ID of the button to pass to messages.requestUrlAuth", - "flags": "Flags, see TL conditional fields", - "fwd_text": "New text of the button in forwarded messages.", - "text": "Button label", - "url": "An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data.NOTE: Services must always check the hash of the received data to verify the authentication and the integrity of the data as described in Checking authorization." - } - }, - "labeledPrice": { - "name": "labeledPrice", - "description": [ - "This object represents a portion of the price for goods or services." - ], - "fields": { - "amount": "Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).", - "label": "Portion label" - } - }, - "langPackDifference": { - "name": "langPackDifference", - "description": [ - "Changes to the app's localization pack" - ], - "fields": { - "from_version": "Previous version number", - "lang_code": "Language code", - "strings": "Localized strings", - "version": "New version number" - } - }, - "langPackLanguage": { - "name": "langPackLanguage", - "description": [ - "Identifies a localization pack" - ], - "fields": { - "base_lang_code": "Identifier of a base language pack; may be empty. If a string is missed in the language pack, then it should be fetched from base language pack. Unsupported in custom language packs", - "beta": "Is this a beta localization pack?", - "flags": "Flags, see TL conditional fields", - "lang_code": "Language code (pack identifier)", - "name": "Language name", - "native_name": "Language name in the language itself", - "official": "Whether the language pack is official", - "plural_code": "A language code to be used to apply plural forms. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info", - "rtl": "Is this a localization pack for an RTL language", - "strings_count": "Total number of non-deleted strings from the language pack", - "translated_count": "Total number of translated strings from the language pack", - "translations_url": "Link to language translation interface; empty for custom local language packs" - } - }, - "langPackString": { - "name": "langPackString", - "description": [ - "Translated localization string" - ], - "fields": { - "key": "Language key", - "value": "Value" - } - }, - "langPackStringDeleted": { - "name": "langPackStringDeleted", - "description": [ - "Deleted localization string" - ], - "fields": { - "key": "Localization key" - } - }, - "langPackStringPluralized": { - "name": "langPackStringPluralized", - "description": [ - "A language pack string which has different forms based on the number of some object it mentions. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html for more info" - ], - "fields": { - "few_value": "Value for a few objects", - "flags": "Flags, see TL conditional fields", - "key": "Localization key", - "many_value": "Value for many objects", - "one_value": "Value for one object", - "other_value": "Default value", - "two_value": "Value for two objects", - "zero_value": "Value for zero objects" - } - }, - "maskCoords": { - "name": "maskCoords", - "description": [ - "Position on a photo where a mask should be placed", - "The n position indicates where the mask should be placed:" - ], - "fields": { - "n": "Part of the face, relative to which the mask should be placed", - "x": "Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. (For example, -1.0 will place the mask just to the left of the default mask position)", - "y": "Shift by Y-axis measured in widths of the mask scaled to the face size, from left to right. (For example, -1.0 will place the mask just to the left of the default mask position)", - "zoom": "Mask scaling coefficient. (For example, 2.0 means a doubled size)" - } - }, - "message": { - "name": "message", - "description": [ - "A message" - ], - "fields": { - "date": "Date of the message", - "edit_date": "Last edit date of this message", - "edit_hide": "Whether the message should be shown as not modified to the user, even if an edit date is present", - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "forwards": "Forward counter", - "from_id": "ID of the sender of the message", - "from_scheduled": "Whether this is a scheduled message", - "fwd_from": "Info about forwarded messages", - "grouped_id": "Multiple media messages sent using messages.sendMultiMedia with the same grouped ID indicate an album or media group", - "id": "ID of the message", - "legacy": "This is a legacy message: it has to be refetched with the new layer", - "media": "Media attachment", - "media_unread": "Whether there are unread media attachments in this message", - "mentioned": "Whether we were mentioned in this message", - "message": "The message", - "out": "Is this an outgoing message", - "peer_id": "Peer ID, the chat where this message was sent", - "pinned": "Whether this message is pinned", - "post": "Whether this is a channel post", - "post_author": "Name of the author of this message for channel posts (with signatures enabled)", - "replies": "Info about post comments (for channels) or message replies (for groups)", - "reply_markup": "Reply markup (bot/inline keyboards)", - "reply_to": "Reply information", - "restriction_reason": "Contains the reason why access to this message must be restricted.", - "silent": "Whether this is a silent message (no notification triggered)", - "via_bot_id": "ID of the inline bot that generated the message", - "views": "View count for channel posts" - } - }, - "messageActionBotAllowed": { - "name": "messageActionBotAllowed", - "description": [ - "The domain name of the website on which the user has logged in. More about Telegram Login »" - ], - "fields": { - "domain": "The domain name of the website on which the user has logged in." - } - }, - "messageActionChannelCreate": { - "name": "messageActionChannelCreate", - "description": [ - "The channel was created" - ], - "fields": { - "title": "Original channel/supergroup title" - } - }, - "messageActionChannelMigrateFrom": { - "name": "messageActionChannelMigrateFrom", - "description": [ - "Indicates the channel was migrated from the specified chat" - ], - "fields": { - "chat_id": "The old chat ID", - "title": "The old chat tite" - } - }, - "messageActionChatAddUser": { - "name": "messageActionChatAddUser", - "description": [ - "New member in the group" - ], - "fields": { - "users": "Users that were invited to the chat" - } - }, - "messageActionChatCreate": { - "name": "messageActionChatCreate", - "description": [ - "Group created" - ], - "fields": { - "title": "Group name", - "users": "List of group members" - } - }, - "messageActionChatDeletePhoto": { - "name": "messageActionChatDeletePhoto", - "description": [ - "Group profile photo removed." - ] - }, - "messageActionChatDeleteUser": { - "name": "messageActionChatDeleteUser", - "description": [ - "User left the group." - ], - "fields": { - "user_id": "Leaving user ID" - } - }, - "messageActionChatEditPhoto": { - "name": "messageActionChatEditPhoto", - "description": [ - "Group profile changed" - ], - "fields": { - "photo": "New group pofile photo" - } - }, - "messageActionChatEditTitle": { - "name": "messageActionChatEditTitle", - "description": [ - "Group name changed." - ], - "fields": { - "title": "New group name" - } - }, - "messageActionChatJoinedByLink": { - "name": "messageActionChatJoinedByLink", - "description": [ - "A user joined the chat via an invite link" - ], - "fields": { - "inviter_id": "ID of the user that created the invite link" - } - }, - "messageActionChatMigrateTo": { - "name": "messageActionChatMigrateTo", - "description": [ - "Indicates the chat was migrated to the specified supergroup" - ], - "fields": { - "channel_id": "The supergroup it was migrated to" - } - }, - "messageActionContactSignUp": { - "name": "messageActionContactSignUp", - "description": [ - "A contact just signed up to telegram" - ] - }, - "messageActionCustomAction": { - "name": "messageActionCustomAction", - "description": [ - "Custom action (most likely not supported by the current layer, an upgrade might be needed)" - ], - "fields": { - "message": "Action message" - } - }, - "messageActionEmpty": { - "name": "messageActionEmpty", - "description": [ - "Empty constructor." - ] - }, - "messageActionGameScore": { - "name": "messageActionGameScore", - "description": [ - "Someone scored in a game" - ], - "fields": { - "game_id": "Game ID", - "score": "Score" - } - }, - "messageActionGeoProximityReached": { - "name": "messageActionGeoProximityReached", - "description": [ - "A user of the chat is now in proximity of another user" - ], - "fields": { - "distance": "Distance, in meters (0-100000)", - "from_id": "The user or chat that is now in proximity of to_id", - "to_id": "The user or chat that subscribed to live geolocation proximity alerts" - } - }, - "messageActionHistoryClear": { - "name": "messageActionHistoryClear", - "description": [ - "Chat history was cleared" - ] - }, - "messageActionPaymentSent": { - "name": "messageActionPaymentSent", - "description": [ - "A payment was sent" - ], - "fields": { - "currency": "Three-letter ISO 4217 currency code", - "total_amount": "Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies)." - } - }, - "messageActionPaymentSentMe": { - "name": "messageActionPaymentSentMe", - "description": [ - "A user just sent a payment to me (a bot)" - ], - "fields": { - "charge": "Provider payment identifier", - "currency": "Three-letter ISO 4217 currency code", - "flags": "Flags, see TL conditional fields", - "info": "Order info provided by the user", - "payload": "Bot specified invoice payload", - "shipping_option_id": "Identifier of the shipping option chosen by the user", - "total_amount": "Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies)." - } - }, - "messageActionPhoneCall": { - "name": "messageActionPhoneCall", - "description": [ - "A phone call" - ], - "fields": { - "call_id": "Call ID", - "duration": "Duration of the call in seconds", - "flags": "Flags, see TL conditional fields", - "reason": "If the call has ended, the reason why it ended", - "video": "Is this a video call?" - } - }, - "messageActionPinMessage": { - "name": "messageActionPinMessage", - "description": [ - "A message was pinned" - ] - }, - "messageActionScreenshotTaken": { - "name": "messageActionScreenshotTaken", - "description": [ - "A screenshot of the chat was taken" - ] - }, - "messageActionSecureValuesSent": { - "name": "messageActionSecureValuesSent", - "description": [ - "Request for secure telegram passport values was sent" - ], - "fields": { - "types": "Secure value types" - } - }, - "messageActionSecureValuesSentMe": { - "name": "messageActionSecureValuesSentMe", - "description": [ - "Secure telegram passport values were received" - ], - "fields": { - "credentials": "Encrypted credentials required to decrypt the data", - "values": "Vector with information about documents and other Telegram Passport elements that were shared with the bot" - } - }, - "messageEmpty": { - "name": "messageEmpty", - "description": [ - "Empty constructor, non-existent message." - ], - "fields": { - "id": "Message identifier" - } - }, - "messageEntityBankCard": { - "name": "messageEntityBankCard", - "description": [ - "Indicates a credit card number" - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityBlockquote": { - "name": "messageEntityBlockquote", - "description": [ - "Message entity representing a block quote." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityBold": { - "name": "messageEntityBold", - "description": [ - "Message entity representing bold text." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityBotCommand": { - "name": "messageEntityBotCommand", - "description": [ - "Message entity representing a bot /command" - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityCashtag": { - "name": "messageEntityCashtag", - "description": [ - "Message entity representing a $cashtag." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityCode": { - "name": "messageEntityCode", - "description": [ - "Message entity representing a codeblock." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityEmail": { - "name": "messageEntityEmail", - "description": [ - "Message entity representing an email@example.com." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityHashtag": { - "name": "messageEntityHashtag", - "description": [ - "#hashtag message entity" - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityItalic": { - "name": "messageEntityItalic", - "description": [ - "Message entity representing italic text." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityMention": { - "name": "messageEntityMention", - "description": [ - "Message entity mentioning the current user" - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityMentionName": { - "name": "messageEntityMentionName", - "description": [ - "Message entity representing a user mention: for creating a mention use inputMessageEntityMentionName." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)", - "user_id": "Identifier of the user that was mentioned" - } - }, - "messageEntityPhone": { - "name": "messageEntityPhone", - "description": [ - "Message entity representing a phone number." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityPre": { - "name": "messageEntityPre", - "description": [ - "Message entity representing a preformatted codeblock, allowing the user to specify a programming language for the codeblock." - ], - "fields": { - "language": "Programming language of the code", - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityStrike": { - "name": "messageEntityStrike", - "description": [ - "Message entity representing strikethrough text." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityTextUrl": { - "name": "messageEntityTextUrl", - "description": [ - "Message entity representing a text url: for in-text urls like https://google.com use messageEntityUrl." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)", - "url": "The actual URL" - } - }, - "messageEntityUnderline": { - "name": "messageEntityUnderline", - "description": [ - "Message entity representing underlined text." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityUnknown": { - "name": "messageEntityUnknown", - "description": [ - "Unknown message entity" - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageEntityUrl": { - "name": "messageEntityUrl", - "description": [ - "Message entity representing an in-text url: https://google.com; for text urls, use messageEntityTextUrl." - ], - "fields": { - "length": "Length of message entity within message (in UTF-8 codepoints)", - "offset": "Offset of message entity within message (in UTF-8 codepoints)" - } - }, - "messageFwdHeader": { - "name": "messageFwdHeader", - "description": [ - "Info about a forwarded message" - ], - "fields": { - "channel_post": "ID of the channel message that was forwarded", - "date": "When was the message originally sent", - "flags": "Flags, see TL conditional fields", - "from_id": "The ID of the user that originally sent the message", - "from_name": "The name of the user that originally sent the message", - "post_author": "For channels and if signatures are enabled, author of the channel message", - "psa_type": "PSA type", - "saved_from_msg_id": "Only for messages forwarded to the current user (inputPeerSelf), ID of the message that was forwarded from the original user/channel", - "saved_from_peer": "Only for messages forwarded to the current user (inputPeerSelf), full info about the user/channel that originally sent the message" - } - }, - "messageInteractionCounters": { - "name": "messageInteractionCounters", - "description": [ - "Message interaction counters" - ], - "fields": { - "forwards": "Number of times this message was forwarded", - "msg_id": "Message ID", - "views": "Views" - } - }, - "messageMediaContact": { - "name": "messageMediaContact", - "description": [ - "Attached contact." - ], - "fields": { - "first_name": "Contact's first name", - "last_name": "Contact's last name", - "phone_number": "Phone number", - "user_id": "User identifier or 0, if the user with the given phone number is not registered", - "vcard": "VCARD of contact" - } - }, - "messageMediaDice": { - "name": "messageMediaDice", - "description": [ - "Dice-based animated sticker" - ], - "fields": { - "emoticon": "The emoji, for now , and are supported", - "value": "Dice value" - } - }, - "messageMediaDocument": { - "name": "messageMediaDocument", - "description": [ - "Document (video, audio, voice, sticker, any media type except photo)" - ], - "fields": { - "document": "Attached document", - "flags": "Flags, see TL conditional fields", - "ttl_seconds": "Time to live of self-destructing document" - } - }, - "messageMediaEmpty": { - "name": "messageMediaEmpty", - "description": [ - "Empty constructor." - ] - }, - "messageMediaGame": { - "name": "messageMediaGame", - "description": [ - "Telegram game" - ], - "fields": { - "game": "Game" - } - }, - "messageMediaGeo": { - "name": "messageMediaGeo", - "description": [ - "Attached map." - ], - "fields": { - "geo": "GeoPoint" - } - }, - "messageMediaGeoLive": { - "name": "messageMediaGeoLive", - "description": [ - "Indicates a live geolocation" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "geo": "Geolocation", - "heading": "For live locations, a direction in which the location moves, in degrees; 1-360", - "period": "Validity period of provided geolocation", - "proximity_notification_radius": "For live locations, a maximum distance to another chat member for proximity alerts, in meters (0-100000)." - } - }, - "messageMediaInvoice": { - "name": "messageMediaInvoice", - "description": [ - "Invoice" - ], - "fields": { - "currency": "Three-letter ISO 4217 currency code", - "description": "Product description, 1-255 characters", - "flags": "Flags, see TL conditional fields", - "photo": "URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for.", - "receipt_msg_id": "Message ID of receipt: if set, clients should change the text of the first keyboardButtonBuy button always attached to the message to a localized version of the word Receipt", - "shipping_address_requested": "Whether the shipping address was requested", - "start_param": "Unique bot deep-linking parameter that can be used to generate this invoice", - "test": "Whether this is an example invoice", - "title": "Product name, 1-32 characters", - "total_amount": "Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies)." - } - }, - "messageMediaPhoto": { - "name": "messageMediaPhoto", - "description": [ - "Attached photo." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "photo": "Photo", - "ttl_seconds": "Time to live in seconds of self-destructing photo" - } - }, - "messageMediaPoll": { - "name": "messageMediaPoll", - "description": [ - "Poll" - ], - "fields": { - "poll": "The poll", - "results": "The results of the poll" - } - }, - "messageMediaUnsupported": { - "name": "messageMediaUnsupported", - "description": [ - "Current version of the client does not support this media type." - ] - }, - "messageMediaVenue": { - "name": "messageMediaVenue", - "description": [ - "Venue" - ], - "fields": { - "address": "Address", - "geo": "Geolocation of venue", - "provider": "Venue provider: currently only \"foursquare\" needs to be supported", - "title": "Venue name", - "venue_id": "Venue ID in the provider's database", - "venue_type": "Venue type in the provider's database" - } - }, - "messageMediaWebPage": { - "name": "messageMediaWebPage", - "description": [ - "Preview of webpage" - ], - "fields": { - "webpage": "Webpage preview" - } - }, - "messageRange": { - "name": "messageRange", - "description": [ - "Indicates a range of chat messages" - ], - "fields": { - "max_id": "End of range (message ID)", - "min_id": "Start of range (message ID)" - } - }, - "messageReplies": { - "name": "messageReplies", - "description": [ - "Info about the comment section of a channel post, or a simple message thread" - ], - "fields": { - "channel_id": "For channel post comments, contains the ID of the associated discussion supergroup", - "comments": "Whether this constructor contains information about the comment section of a channel post, or a simple message thread", - "flags": "Flags, see TL conditional fields", - "max_id": "ID of the latest message in this thread or comment section.", - "read_max_id": "Contains the ID of the latest read message in this thread or comment section.", - "recent_repliers": "For channel post comments, contains information about the last few comment posters for a specific thread, to show a small list of commenter profile pictures in client previews.", - "replies": "Contains the total number of replies in this thread or comment section.", - "replies_pts": "PTS of the message that started this thread." - } - }, - "messageReplyHeader": { - "name": "messageReplyHeader", - "description": [ - "Message replies and thread information" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "reply_to_msg_id": "ID of message to which this message is replying", - "reply_to_peer_id": "For replies sent in channel discussion threads of which the current user is not a member, the discussion group ID", - "reply_to_top_id": "ID of the message that started this message thread" - } - }, - "messageService": { - "name": "messageService", - "description": [ - "Indicates a service message" - ], - "fields": { - "action": "Event connected with the service message", - "date": "Message date", - "flags": "Flags, see TL conditional fields", - "from_id": "ID of the sender of this message", - "id": "Message ID", - "legacy": "This is a legacy message: it has to be refetched with the new layer", - "media_unread": "Whether the message contains unread media", - "mentioned": "Whether we were mentioned in the message", - "out": "Whether the message is outgoing", - "peer_id": "Sender of service message", - "post": "Whether it's a channel post", - "reply_to": "Reply (thread) information", - "silent": "Whether the message is silent" - } - }, - "messageUserVote": { - "name": "messageUserVote", - "description": [ - "How a user voted in a poll" - ], - "fields": { - "date": "When did the user cast the vote", - "option": "The option chosen by the user", - "user_id": "User ID" - } - }, - "messageUserVoteInputOption": { - "name": "messageUserVoteInputOption", - "description": [ - "How a user voted in a poll (reduced constructor, returned if an option was provided to messages.getPollVotes)" - ], - "fields": { - "date": "When did the user cast the vote", - "user_id": "The user that voted for the queried option" - } - }, - "messageUserVoteMultiple": { - "name": "messageUserVoteMultiple", - "description": [ - "How a user voted in a multiple-choice poll" - ], - "fields": { - "date": "When did the user cast their votes", - "options": "Options chosen by the user", - "user_id": "User ID" - } - }, - "messageViews": { - "name": "messageViews", - "description": [ - "View, forward counter + info about replies of a specific message" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "forwards": "Forward count of message", - "replies": "Reply and thread information of message", - "views": "Viewcount of message" - } - }, - "messages.affectedHistory": { - "name": "messages.affectedHistory", - "description": [ - "Affected part of communication history with the user or in a chat." - ], - "fields": { - "offset": "If a parameter contains positive value, it is necessary to repeat the method call using the given value; during the proceeding of all the history the value itself shall gradually decrease", - "pts": "Number of events occured in a text box", - "pts_count": "Number of affected events" - } - }, - "messages.affectedMessages": { - "name": "messages.affectedMessages", - "description": [ - "Events affected by operation" - ], - "fields": { - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "messages.allStickers": { - "name": "messages.allStickers", - "description": [ - "Info about all installed stickers" - ], - "fields": { - "hash": "Hash for pagination, for more info click here", - "sets": "All stickersets" - } - }, - "messages.allStickersNotModified": { - "name": "messages.allStickersNotModified", - "description": [ - "Info about all installed stickers hasn't changed" - ] - }, - "messages.archivedStickers": { - "name": "messages.archivedStickers", - "description": [ - "Archived stickersets" - ], - "fields": { - "count": "Number of archived stickers", - "sets": "Archived stickersets" - } - }, - "messages.botCallbackAnswer": { - "name": "messages.botCallbackAnswer", - "description": [ - "Callback answer sent by the bot in response to a button press" - ], - "fields": { - "alert": "Whether an alert should be shown to the user instead of a toast notification", - "cache_time": "For how long should this answer be cached", - "flags": "Flags, see TL conditional fields", - "has_url": "Whether an URL is present", - "message": "Alert to show", - "native_ui": "Whether to show games in WebView or in native UI.", - "url": "URL to open" - } - }, - "messages.botResults": { - "name": "messages.botResults", - "description": [ - "Result of a query to an inline bot" - ], - "fields": { - "cache_time": "Caching validity of the results", - "flags": "Flags, see TL conditional fields", - "gallery": "Whether the result is a picture gallery", - "next_offset": "The next offset to use when navigating through results", - "query_id": "Query ID", - "results": "The results", - "switch_pm": "Whether the bot requested the user to message him in private", - "users": "Users mentioned in the results" - } - }, - "messages.channelMessages": { - "name": "messages.channelMessages", - "description": [ - "Channel messages" - ], - "fields": { - "chats": "Chats", - "count": "Total number of results were found server-side (may not be all included here)", - "flags": "Flags, see TL conditional fields", - "inexact": "If set, returned results may be inexact", - "messages": "Found messages", - "offset_id_offset": "Indicates the absolute position of messages[0] within the total result set with count count. This is useful, for example, if the result was fetched using offset_id, and we need to display a progress/total counter (like photo 134 of 200, for all media in a chat, we could simply use photo ${offset_id_offset} of ${count}.", - "pts": "Event count after generation", - "users": "Users" - } - }, - "messages.chatFull": { - "name": "messages.chatFull", - "description": [ - "Extended info on chat and auxiliary data." - ], - "fields": { - "chats": "List containing basic info on chat", - "full_chat": "Extended info on a chat", - "users": "List of users mentioned above" - } - }, - "messages.chats": { - "name": "messages.chats", - "description": [ - "List of chats with auxiliary data." - ], - "fields": { - "chats": "List of chats" - } - }, - "messages.chatsSlice": { - "name": "messages.chatsSlice", - "description": [ - "Partial list of chats, more would have to be fetched with pagination" - ], - "fields": { - "chats": "Chats", - "count": "Total number of results that were found server-side (not all are included in chats)" - } - }, - "messages.dhConfig": { - "name": "messages.dhConfig", - "description": [ - "New set of configuring parameters." - ], - "fields": { - "g": "New value prime, see Wikipedia", - "p": "New value primitive root, see Wikipedia", - "random": "Random sequence of bytes of assigned length", - "version": "Vestion of set of parameters" - } - }, - "messages.dhConfigNotModified": { - "name": "messages.dhConfigNotModified", - "description": [ - "Configuring parameters did not change." - ], - "fields": { - "random": "Random sequence of bytes of assigned length" - } - }, - "messages.dialogs": { - "name": "messages.dialogs", - "description": [ - "Full list of chats with messages and auxiliary data." - ], - "fields": { - "chats": "List of groups mentioned in the chats", - "dialogs": "List of chats", - "messages": "List of last messages from each chat", - "users": "List of users mentioned in messages and groups" - } - }, - "messages.dialogsNotModified": { - "name": "messages.dialogsNotModified", - "description": [ - "Dialogs haven't changed" - ], - "fields": { - "count": "Number of dialogs found server-side by the query" - } - }, - "messages.dialogsSlice": { - "name": "messages.dialogsSlice", - "description": [ - "Incomplete list of dialogs with messages and auxiliary data." - ], - "fields": { - "chats": "List of chats mentioned in dialogs", - "count": "Total number of dialogs", - "dialogs": "List of dialogs", - "messages": "List of last messages from dialogs", - "users": "List of users mentioned in messages and chats" - } - }, - "messages.discussionMessage": { - "name": "messages.discussionMessage", - "description": [ - "Information about a message thread" - ], - "fields": { - "chats": "Chats mentioned in constructor", - "flags": "Flags, see TL conditional fields", - "max_id": "Message ID of latest reply in this thread", - "messages": "Discussion messages", - "read_inbox_max_id": "Message ID of latest read incoming message in this thread", - "read_outbox_max_id": "Message ID of latest read outgoing message in this thread", - "users": "Users mentioned in constructor" - } - }, - "messages.favedStickers": { - "name": "messages.favedStickers", - "description": [ - "Favorited stickers" - ], - "fields": { - "hash": "Hash for pagination, for more info click here", - "packs": "Emojis associated to stickers", - "stickers": "Favorited stickers" - } - }, - "messages.favedStickersNotModified": { - "name": "messages.favedStickersNotModified", - "description": [ - "No new favorited stickers were found" - ] - }, - "messages.featuredStickers": { - "name": "messages.featuredStickers", - "description": [ - "Featured stickersets" - ], - "fields": { - "count": "Total number of featured stickers", - "hash": "Hash for pagination, for more info click here", - "sets": "Featured stickersets", - "unread": "IDs of new featured stickersets" - } - }, - "messages.featuredStickersNotModified": { - "name": "messages.featuredStickersNotModified", - "description": [ - "Featured stickers haven't changed" - ], - "fields": { - "count": "Total number of featured stickers" - } - }, - "messages.foundStickerSets": { - "name": "messages.foundStickerSets", - "description": [ - "Found stickersets" - ], - "fields": { - "hash": "Hash for pagination, for more info click here", - "sets": "Found stickersets" - } - }, - "messages.foundStickerSetsNotModified": { - "name": "messages.foundStickerSetsNotModified", - "description": [ - "No further results were found" - ] - }, - "messages.highScores": { - "name": "messages.highScores", - "description": [ - "Highscores in a game" - ], - "fields": { - "scores": "Highscores", - "users": "Users, associated to the highscores" - } - }, - "messages.inactiveChats": { - "name": "messages.inactiveChats", - "description": [ - "Inactive chat list" - ], - "fields": { - "chats": "Chat list", - "dates": "When was the chat last active", - "users": "Users mentioned in the chat list" - } - }, - "messages.messageEditData": { - "name": "messages.messageEditData", - "description": [ - "Message edit data for media" - ], - "fields": { - "caption": "Media caption, if the specified media's caption can be edited", - "flags": "Flags, see TL conditional fields" - } - }, - "messages.messageViews": { - "name": "messages.messageViews", - "description": [ - "View, forward counter + info about replies" - ], - "fields": { - "chats": "Chats mentioned in constructor", - "users": "Users mentioned in constructor", - "views": "View, forward counter + info about replies" - } - }, - "messages.messages": { - "name": "messages.messages", - "description": [ - "Full list of messages with auxilary data." - ], - "fields": { - "chats": "List of chats mentioned in dialogs", - "messages": "List of messages", - "users": "List of users mentioned in messages and chats" - } - }, - "messages.messagesNotModified": { - "name": "messages.messagesNotModified", - "description": [ - "No new messages matching the query were found" - ], - "fields": { - "count": "Number of results found server-side by the given query" - } - }, - "messages.messagesSlice": { - "name": "messages.messagesSlice", - "description": [ - "Incomplete list of messages and auxiliary data." - ], - "fields": { - "chats": "List of chats mentioned in messages", - "count": "Total number of messages in the list", - "flags": "Flags, see TL conditional fields", - "inexact": "If set, indicates that the results may be inexact", - "messages": "List of messages", - "next_rate": "Rate to use in the offset_rate parameter in the next call to messages.searchGlobal", - "offset_id_offset": "Indicates the absolute position of messages[0] within the total result set with count count. This is useful, for example, if the result was fetched using offset_id, and we need to display a progress/total counter (like photo 134 of 200, for all media in a chat, we could simply use photo ${offset_id_offset} of ${count}.", - "users": "List of users mentioned in messages and chats" - } - }, - "messages.peerDialogs": { - "name": "messages.peerDialogs", - "description": [ - "Dialog info of multiple peers" - ], - "fields": { - "chats": "Chats", - "dialogs": "Dialog info", - "messages": "Messages mentioned in dialog info", - "state": "Current update state of dialog", - "users": "Users" - } - }, - "messages.recentStickers": { - "name": "messages.recentStickers", - "description": [ - "Recently used stickers" - ], - "fields": { - "dates": "When was each sticker last used", - "hash": "Hash for pagination, for more info click here", - "packs": "Emojis associated to stickers", - "stickers": "Recent stickers" - } - }, - "messages.recentStickersNotModified": { - "name": "messages.recentStickersNotModified", - "description": [ - "No new recent sticker was found" - ] - }, - "messages.savedGifs": { - "name": "messages.savedGifs", - "description": [ - "Saved gifs" - ], - "fields": { - "gifs": "List of saved gifs", - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.savedGifsNotModified": { - "name": "messages.savedGifsNotModified", - "description": [ - "No new saved gifs were found" - ] - }, - "messages.searchCounter": { - "name": "messages.searchCounter", - "description": [ - "Indicates how many results would be found by a messages.search call with the same parameters" - ], - "fields": { - "count": "Number of results that were found server-side", - "filter": "Provided message filter", - "flags": "Flags, see TL conditional fields", - "inexact": "If set, the results may be inexact" - } - }, - "messages.sentEncryptedFile": { - "name": "messages.sentEncryptedFile", - "description": [ - "Message with a file enclosure sent to a protected chat" - ], - "fields": { - "date": "Sending date", - "file": "Attached file" - } - }, - "messages.sentEncryptedMessage": { - "name": "messages.sentEncryptedMessage", - "description": [ - "Message without file attachemts sent to an encrypted file." - ], - "fields": { - "date": "Date of sending" - } - }, - "messages.stickerSet": { - "name": "messages.stickerSet", - "description": [ - "Stickerset and stickers inside it" - ], - "fields": { - "documents": "Stickers in stickerset", - "packs": "Emoji info for stickers", - "set": "The stickerset" - } - }, - "messages.stickerSetInstallResultArchive": { - "name": "messages.stickerSetInstallResultArchive", - "description": [ - "The stickerset was installed, but since there are too many stickersets some were archived" - ], - "fields": { - "sets": "Archived stickersets" - } - }, - "messages.stickerSetInstallResultSuccess": { - "name": "messages.stickerSetInstallResultSuccess", - "description": [ - "The stickerset was installed successfully" - ] - }, - "messages.stickers": { - "name": "messages.stickers", - "description": [ - "Found stickers" - ], - "fields": { - "hash": "Hash for pagination, for more info click here", - "stickers": "Stickers" - } - }, - "messages.stickersNotModified": { - "name": "messages.stickersNotModified", - "description": [ - "No new stickers were found for the given query" - ] - }, - "messages.votesList": { - "name": "messages.votesList", - "description": [ - "How users voted in a poll" - ], - "fields": { - "count": "Total number of votes for all options (or only for the chosen option, if provided to messages.getPollVotes)", - "flags": "Flags, see TL conditional fields", - "next_offset": "Offset to use with the next messages.getPollVotes request, empty string if no more results are available.", - "users": "Info about users that voted in the poll", - "votes": "Vote info for each user" - } - }, - "nearestDc": { - "name": "nearestDc", - "description": [ - "Nearest data centre, according to geo-ip." - ], - "fields": { - "country": "Country code determined by geo-ip", - "nearest_dc": "Number of nearest data centre", - "this_dc": "Number of current data centre" - } - }, - "notifyBroadcasts": { - "name": "notifyBroadcasts", - "description": [ - "Channel notification settings" - ] - }, - "notifyChats": { - "name": "notifyChats", - "description": [ - "Notifications generated by all groups." - ] - }, - "notifyPeer": { - "name": "notifyPeer", - "description": [ - "Notifications generated by a certain user or group." - ], - "fields": { - "peer": "user or group" - } - }, - "notifyUsers": { - "name": "notifyUsers", - "description": [ - "Notifications generated by all users." - ] - }, - "null": { - "name": "null", - "description": [ - "Corresponds to an arbitrary empty object." - ] - }, - "page": { - "name": "page", - "description": [ - "Instant view page" - ], - "fields": { - "blocks": "Page elements (like with HTML elements, only as TL constructors)", - "documents": "Media in page", - "flags": "Flags, see TL conditional fields", - "part": "Indicates that not full page preview is available to the client and it will need to fetch full Instant View from the server using messages.getWebPagePreview.", - "photos": "Photos in page", - "rtl": "Whether the page contains RTL text", - "url": "Original page HTTP URL", - "v2": "Whether this is an IV v2 page", - "views": "Viewcount" - } - }, - "pageBlockAnchor": { - "name": "pageBlockAnchor", - "description": [ - "Link to section within the page itself (like \u003ca href=\"#target\"\u003eanchor\u003c/a\u003e)" - ], - "fields": { - "name": "Name of target section" - } - }, - "pageBlockAudio": { - "name": "pageBlockAudio", - "description": [ - "Audio" - ], - "fields": { - "audio_id": "Audio ID (to be fetched from the container page constructor", - "caption": "Audio caption" - } - }, - "pageBlockAuthorDate": { - "name": "pageBlockAuthorDate", - "description": [ - "Author and date of creation of article" - ], - "fields": { - "author": "Author name", - "published_date": "Date of pubblication" - } - }, - "pageBlockBlockquote": { - "name": "pageBlockBlockquote", - "description": [ - "Quote (equivalent to the HTML \u003cblockquote\u003e)" - ], - "fields": { - "caption": "Caption", - "text": "Quote contents" - } - }, - "pageBlockChannel": { - "name": "pageBlockChannel", - "description": [ - "Reference to a telegram channel" - ], - "fields": { - "channel": "The channel/supergroup/chat" - } - }, - "pageBlockCollage": { - "name": "pageBlockCollage", - "description": [ - "Collage of media" - ], - "fields": { - "caption": "Caption", - "items": "Media elements" - } - }, - "pageBlockCover": { - "name": "pageBlockCover", - "description": [ - "A page cover" - ], - "fields": { - "cover": "Cover" - } - }, - "pageBlockDetails": { - "name": "pageBlockDetails", - "description": [ - "A collapsible details block" - ], - "fields": { - "blocks": "Block contents", - "flags": "Flags, see TL conditional fields", - "open": "Whether the block is open by default", - "title": "Always visible heading for the block" - } - }, - "pageBlockDivider": { - "name": "pageBlockDivider", - "description": [ - "An empty block separating a page" - ] - }, - "pageBlockEmbed": { - "name": "pageBlockEmbed", - "description": [ - "An embedded webpage" - ], - "fields": { - "allow_scrolling": "Whether scrolling should be allowed", - "caption": "Caption", - "flags": "Flags, see TL conditional fields", - "full_width": "Whether the block should be full width", - "h": "Block height, if known", - "html": "HTML-markup of the embedded page", - "poster_photo_id": "Poster photo, if available", - "url": "Web page URL, if available", - "w": "Block width, if known" - } - }, - "pageBlockEmbedPost": { - "name": "pageBlockEmbedPost", - "description": [ - "An embedded post" - ], - "fields": { - "author": "Author name", - "author_photo_id": "ID of the author's photo", - "blocks": "Post contents", - "caption": "Caption", - "date": "Creation date", - "url": "Web page URL", - "webpage_id": "ID of generated webpage preview" - } - }, - "pageBlockFooter": { - "name": "pageBlockFooter", - "description": [ - "Page footer" - ], - "fields": { - "text": "Contents" - } - }, - "pageBlockHeader": { - "name": "pageBlockHeader", - "description": [ - "Page header" - ], - "fields": { - "text": "Contents" - } - }, - "pageBlockKicker": { - "name": "pageBlockKicker", - "description": [ - "Kicker" - ], - "fields": { - "text": "Contents" - } - }, - "pageBlockList": { - "name": "pageBlockList", - "description": [ - "Unordered list of IV blocks" - ], - "fields": { - "items": "List of blocks in an IV page" - } - }, - "pageBlockMap": { - "name": "pageBlockMap", - "description": [ - "A map" - ], - "fields": { - "caption": "Caption", - "geo": "Location of the map center", - "h": "Map height in pixels before applying scale; 16-1024", - "w": "Map width in pixels before applying scale; 16-102", - "zoom": "Map zoom level; 13-20" - } - }, - "pageBlockOrderedList": { - "name": "pageBlockOrderedList", - "description": [ - "Ordered list of IV blocks" - ], - "fields": { - "items": "List items" - } - }, - "pageBlockParagraph": { - "name": "pageBlockParagraph", - "description": [ - "A paragraph" - ], - "fields": { - "text": "Text" - } - }, - "pageBlockPhoto": { - "name": "pageBlockPhoto", - "description": [ - "A photo" - ], - "fields": { - "caption": "Caption", - "flags": "Flags, see TL conditional fields", - "photo_id": "Photo ID", - "url": "HTTP URL of page the photo leads to when clicked", - "webpage_id": "ID of preview of the page the photo leads to when clicked" - } - }, - "pageBlockPreformatted": { - "name": "pageBlockPreformatted", - "description": [ - "Preformatted (\u003cpre\u003e text)" - ], - "fields": { - "language": "Programming language of preformatted text", - "text": "Text" - } - }, - "pageBlockPullquote": { - "name": "pageBlockPullquote", - "description": [ - "Pullquote" - ], - "fields": { - "caption": "Caption", - "text": "Text" - } - }, - "pageBlockRelatedArticles": { - "name": "pageBlockRelatedArticles", - "description": [ - "Related articles" - ], - "fields": { - "articles": "Related articles", - "title": "Title" - } - }, - "pageBlockSlideshow": { - "name": "pageBlockSlideshow", - "description": [ - "Slideshow" - ], - "fields": { - "caption": "Caption", - "items": "Slideshow items" - } - }, - "pageBlockSubheader": { - "name": "pageBlockSubheader", - "description": [ - "Subheader" - ], - "fields": { - "text": "Subheader" - } - }, - "pageBlockSubtitle": { - "name": "pageBlockSubtitle", - "description": [ - "Subtitle" - ], - "fields": { - "text": "Text" - } - }, - "pageBlockTable": { - "name": "pageBlockTable", - "description": [ - "Table" - ], - "fields": { - "bordered": "Does the table have a visible border?", - "flags": "Flags, see TL conditional fields", - "rows": "Table rows", - "striped": "Is the table striped?", - "title": "Title" - } - }, - "pageBlockTitle": { - "name": "pageBlockTitle", - "description": [ - "Title" - ], - "fields": { - "text": "Title" - } - }, - "pageBlockUnsupported": { - "name": "pageBlockUnsupported", - "description": [ - "Unsupported IV element" - ] - }, - "pageBlockVideo": { - "name": "pageBlockVideo", - "description": [ - "Video" - ], - "fields": { - "autoplay": "Whether the video is set to autoplay", - "caption": "Caption", - "flags": "Flags, see TL conditional fields", - "loop": "Whether the video is set to loop", - "video_id": "Video ID" - } - }, - "pageCaption": { - "name": "pageCaption", - "description": [ - "Page caption" - ], - "fields": { - "credit": "Credits", - "text": "Caption" - } - }, - "pageListItemBlocks": { - "name": "pageListItemBlocks", - "description": [ - "List item" - ], - "fields": { - "blocks": "Blocks" - } - }, - "pageListItemText": { - "name": "pageListItemText", - "description": [ - "List item" - ], - "fields": { - "text": "Text" - } - }, - "pageListOrderedItemBlocks": { - "name": "pageListOrderedItemBlocks", - "description": [ - "Ordered list of IV blocks" - ], - "fields": { - "blocks": "Item contents", - "num": "Number of element within ordered list" - } - }, - "pageListOrderedItemText": { - "name": "pageListOrderedItemText", - "description": [ - "Ordered list of text items" - ], - "fields": { - "num": "Number of element within ordered list", - "text": "Text" - } - }, - "pageRelatedArticle": { - "name": "pageRelatedArticle", - "description": [ - "Related article" - ], - "fields": { - "author": "Author name", - "description": "Description", - "flags": "Flags, see TL conditional fields", - "photo_id": "ID of preview photo", - "published_date": "Date of pubblication", - "title": "Title", - "url": "URL of article", - "webpage_id": "Webpage ID of generated IV preview" - } - }, - "pageTableCell": { - "name": "pageTableCell", - "description": [ - "Table cell" - ], - "fields": { - "align_center": "Horizontally centered block", - "align_right": "Right-aligned block", - "colspan": "For how many columns should this cell extend", - "flags": "Flags, see TL conditional fields", - "header": "Is this element part of the column header", - "rowspan": "For how many rows should this cell extend", - "text": "Content", - "valign_bottom": "Block vertically-alligned to the bottom", - "valign_middle": "Vertically centered block" - } - }, - "pageTableRow": { - "name": "pageTableRow", - "description": [ - "Table row" - ], - "fields": { - "cells": "Table cells" - } - }, - "passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow": { - "name": "passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow", - "description": [ - "This key derivation algorithm defines that SRP 2FA login must be used" - ], - "fields": { - "g": "Base (see SRP 2FA login)", - "p": "2048-bit modulus (see SRP 2FA login)", - "salt1": "One of two salts used by the derivation function (see SRP 2FA login)", - "salt2": "One of two salts used by the derivation function (see SRP 2FA login)" - } - }, - "passwordKdfAlgoUnknown": { - "name": "passwordKdfAlgoUnknown", - "description": [ - "Unknown KDF (most likely, the client is outdated and does not support the specified KDF algorithm)" - ] - }, - "paymentCharge": { - "name": "paymentCharge", - "description": [ - "Payment identifier" - ], - "fields": { - "id": "Telegram payment identifier", - "provider_charge_id": "Provider payment identifier" - } - }, - "paymentRequestedInfo": { - "name": "paymentRequestedInfo", - "description": [ - "Order info provided by the user" - ], - "fields": { - "email": "User's email address", - "flags": "Flags, see TL conditional fields", - "name": "User's full name", - "phone": "User's phone number", - "shipping_address": "User's shipping address" - } - }, - "paymentSavedCredentialsCard": { - "name": "paymentSavedCredentialsCard", - "description": [ - "Saved credit card" - ], - "fields": { - "id": "Card ID", - "title": "Title" - } - }, - "payments.ValidatedRequestedInfo": { - "name": "payments.ValidatedRequestedInfo", - "description": [ - "Validated user-provided info" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "id": "ID", - "shipping_options": "Shipping options" - } - }, - "payments.bankCardData": { - "name": "payments.bankCardData", - "description": [ - "Credit card info, provided by the card's bank(s)" - ], - "fields": { - "open_urls": "Info URL(s) provided by the card's bank(s)", - "title": "Credit card title" - } - }, - "payments.paymentForm": { - "name": "payments.paymentForm", - "description": [ - "Payment form" - ], - "fields": { - "bot_id": "Bot ID", - "can_save_credentials": "Whether the user can choose to save credentials.", - "flags": "Flags, see TL conditional fields", - "invoice": "Invoice", - "native_params": "Contains information about the payment provider, if available, to support it natively without the need for opening the URL.A JSON object that can contain the following fields:- publishable_key: Stripe API publishable key- apple_pay_merchant_id: Apple Pay merchant ID- android_pay_public_key: Android Pay public key- android_pay_bgcolor: Android Pay form background color- android_pay_inverse: Whether to use the dark theme in the Android Pay form- need_country: True, if the user country must be provided,- need_zip: True, if the user ZIP/postal code must be provided,- need_cardholder_name: True, if the cardholder name must be provided", - "native_provider": "Payment provider name.One of the following:- stripe", - "password_missing": "Indicates that the user can save payment credentials, but only after setting up a 2FA password (currently the account doesn't have a 2FA password)", - "provider_id": "Payment provider ID.", - "saved_credentials": "Contains information about saved card credentials", - "saved_info": "Saved server-side order information", - "url": "Payment form URL", - "users": "Users" - } - }, - "payments.paymentReceipt": { - "name": "payments.paymentReceipt", - "description": [ - "Receipt" - ], - "fields": { - "bot_id": "Bot ID", - "credentials_title": "Payment credential name", - "currency": "Three-letter ISO 4217 currency code", - "date": "Date of generation", - "flags": "Flags, see TL conditional fields", - "info": "Info", - "invoice": "Invoice", - "provider_id": "Provider ID", - "shipping": "Selected shipping option", - "total_amount": "Total amount in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).", - "users": "Users" - } - }, - "payments.paymentResult": { - "name": "payments.paymentResult", - "description": [ - "Payment result" - ], - "fields": { - "updates": "Info about the payment" - } - }, - "payments.paymentVerificationNeeded": { - "name": "payments.paymentVerificationNeeded", - "description": [ - "Payment was not successful, additional verification is needed" - ], - "fields": { - "url": "URL for additional payment credentials verification" - } - }, - "payments.savedInfo": { - "name": "payments.savedInfo", - "description": [ - "Saved server-side order information" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "has_saved_credentials": "Whether the user has some saved payment credentials", - "saved_info": "Saved server-side order information" - } - }, - "peerBlocked": { - "name": "peerBlocked", - "description": [ - "Information about a blocked peer" - ], - "fields": { - "date": "When was the peer blocked", - "peer_id": "Peer ID" - } - }, - "peerChannel": { - "name": "peerChannel", - "description": [ - "Channel/supergroup" - ], - "fields": { - "channel_id": "Channel ID" - } - }, - "peerChat": { - "name": "peerChat", - "description": [ - "Group." - ], - "fields": { - "chat_id": "Group identifier" - } - }, - "peerLocated": { - "name": "peerLocated", - "description": [ - "Peer geolocated nearby" - ], - "fields": { - "distance": "Distance from the peer in meters", - "expires": "Validity period of current data", - "peer": "Peer" - } - }, - "peerNotifySettings": { - "name": "peerNotifySettings", - "description": [ - "Notification settings." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "mute_until": "Mute all notifications until this date", - "show_previews": "Display text in notifications", - "silent": "Mute peer?", - "sound": "Audio file name for notifications" - } - }, - "peerSelfLocated": { - "name": "peerSelfLocated", - "description": [ - "Current peer" - ], - "fields": { - "expires": "Expiry of geolocation info for current peer" - } - }, - "peerSettings": { - "name": "peerSettings", - "description": [ - "Peer settings" - ], - "fields": { - "add_contact": "Whether we can add the user as contact", - "autoarchived": "Whether this peer was automatically archived according to privacy settings", - "block_contact": "Whether we can block the user", - "flags": "Flags, see TL conditional fields", - "geo_distance": "Distance in meters between us and this peer", - "need_contacts_exception": "Whether a special exception for contacts is needed", - "report_geo": "Whether we can report a geogroup is irrelevant for this location", - "report_spam": "Whether we can still report the user for spam", - "share_contact": "Whether we can share the user's contact" - } - }, - "peerUser": { - "name": "peerUser", - "description": [ - "Chat partner" - ], - "fields": { - "user_id": "User identifier" - } - }, - "phone.phoneCall": { - "name": "phone.phoneCall", - "description": [ - "A VoIP phone call" - ], - "fields": { - "phone_call": "The VoIP phone call", - "users": "VoIP phone call participants" - } - }, - "phoneCall": { - "name": "phoneCall", - "description": [ - "Phone call" - ], - "fields": { - "access_hash": "Access hash", - "admin_id": "User ID of the creator of the call", - "connections": "List of endpoints the user can connect to to exchange call data", - "date": "Date of creation of the call", - "flags": "Flags, see TL conditional fields", - "g_a_or_b": "Parameter for key exchange", - "id": "Call ID", - "key_fingerprint": "Key fingerprint", - "p2p_allowed": "Whether P2P connection to the other peer is allowed", - "participant_id": "User ID of the other participant in the call", - "protocol": "Call protocol info to be passed to libtgvoip", - "start_date": "When was the call actually started", - "video": "Whether this is a video call" - } - }, - "phoneCallAccepted": { - "name": "phoneCallAccepted", - "description": [ - "An accepted phone call" - ], - "fields": { - "access_hash": "Access hash of phone call", - "admin_id": "ID of the call creator", - "date": "When was the call accepted", - "flags": "Flags, see TL conditional fields", - "g_b": "B parameter for secure E2E phone call key exchange", - "id": "ID of accepted phone call", - "participant_id": "ID of the other user in the call", - "protocol": "Protocol to use for phone call", - "video": "Whether this is a video call" - } - }, - "phoneCallDiscardReasonBusy": { - "name": "phoneCallDiscardReasonBusy", - "description": [ - "The phone call was discared because the user is busy in another call" - ] - }, - "phoneCallDiscardReasonDisconnect": { - "name": "phoneCallDiscardReasonDisconnect", - "description": [ - "The phone call was disconnected" - ] - }, - "phoneCallDiscardReasonHangup": { - "name": "phoneCallDiscardReasonHangup", - "description": [ - "The phone call was ended normally" - ] - }, - "phoneCallDiscardReasonMissed": { - "name": "phoneCallDiscardReasonMissed", - "description": [ - "The phone call was missed" - ] - }, - "phoneCallDiscarded": { - "name": "phoneCallDiscarded", - "description": [ - "Indicates a discarded phone call" - ], - "fields": { - "duration": "Duration of the phone call in seconds", - "flags": "Flags, see TL conditional fields", - "id": "Call ID", - "need_debug": "Whether the server required the client to send the libtgvoip call debug data", - "need_rating": "Whether the server required the user to rate the call", - "reason": "Why was the phone call discarded", - "video": "Whether the call was a video call" - } - }, - "phoneCallEmpty": { - "name": "phoneCallEmpty", - "description": [ - "Empty constructor" - ], - "fields": { - "id": "Call ID" - } - }, - "phoneCallProtocol": { - "name": "phoneCallProtocol", - "description": [ - "Protocol info for libtgvoip" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "library_versions": "When using phone.requestCall and phone.acceptCall, specify all library versions supported by the client. The server will merge and choose the best library version supported by both peers, returning only the best value in the result of the callee's phone.acceptCall and in the phoneCallAccepted update received by the caller.", - "max_layer": "Maximum layer for remote libtgvoip", - "min_layer": "Minimum layer for remote libtgvoip", - "udp_p2p": "Whether to allow P2P connection to the other participant", - "udp_reflector": "Whether to allow connection to the other participants through the reflector servers" - } - }, - "phoneCallRequested": { - "name": "phoneCallRequested", - "description": [ - "Requested phone call" - ], - "fields": { - "access_hash": "Access hash", - "admin_id": "ID of the creator of the phone call", - "date": "When was the phone call created", - "flags": "Flags, see TL conditional fields", - "g_a_hash": "Parameter for key exchange", - "id": "Phone call ID", - "participant_id": "ID of the other participant of the phone call", - "protocol": "Call protocol info to be passed to libtgvoip", - "video": "Whether this is a video call" - } - }, - "phoneCallWaiting": { - "name": "phoneCallWaiting", - "description": [ - "Incoming phone call" - ], - "fields": { - "access_hash": "Access hash", - "admin_id": "Admin ID", - "date": "Date", - "flags": "Flags, see TL conditional fields", - "id": "Call ID", - "participant_id": "Participant ID", - "protocol": "Phone call protocol info", - "receive_date": "When was the phone call received", - "video": "Is this a video call" - } - }, - "phoneConnection": { - "name": "phoneConnection", - "description": [ - "Identifies an endpoint that can be used to connect to the other user in a phone call" - ], - "fields": { - "id": "Endpoint ID", - "ip": "IP address of endpoint", - "ipv6": "IPv6 address of endpoint", - "peer_tag": "Our peer tag", - "port": "Port ID" - } - }, - "phoneConnectionWebrtc": { - "name": "phoneConnectionWebrtc", - "description": [ - "WebRTC connection parameters" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "id": "Endpoint ID", - "ip": "IP address", - "ipv6": "IPv6 address", - "password": "Password", - "port": "Port", - "stun": "Whether this is a STUN endpoint", - "turn": "Whether this is a TURN endpoint", - "username": "Username" - } - }, - "photo": { - "name": "photo", - "description": [ - "Photo" - ], - "fields": { - "access_hash": "Access hash", - "date": "Date of upload", - "dc_id": "DC ID to use for download", - "file_reference": "file reference", - "flags": "Flags, see TL conditional fields", - "has_stickers": "Whether the photo has mask stickers attached to it", - "id": "ID", - "sizes": "Available sizes for download", - "video_sizes": "For animated profiles, the MPEG4 videos" - } - }, - "photoCachedSize": { - "name": "photoCachedSize", - "description": [ - "Description of an image and its content." - ], - "fields": { - "bytes": "Binary data, file content", - "h": "Image height", - "location": "File location", - "type": "Thumbnail type", - "w": "Image width" - } - }, - "photoEmpty": { - "name": "photoEmpty", - "description": [ - "Empty constructor, non-existent photo" - ], - "fields": { - "id": "Photo identifier" - } - }, - "photoPathSize": { - "name": "photoPathSize", - "description": [ - "Messages with animated stickers can have a compressed svg (\u003c 300 bytes) to show the outline of the sticker before fetching the actual lottie animation." - ], - "fields": { - "bytes": "Compressed SVG path payload, see here for decompression instructions", - "type": "Always j" - } - }, - "photoSize": { - "name": "photoSize", - "description": [ - "Image description." - ], - "fields": { - "h": "Image height", - "location": "File location", - "size": "File size", - "type": "Thumbnail type", - "w": "Image width" - } - }, - "photoSizeEmpty": { - "name": "photoSizeEmpty", - "description": [ - "Empty constructor. Image with this thumbnail is unavailable." - ], - "fields": { - "type": "Thumbnail type (see. photoSize)" - } - }, - "photoSizeProgressive": { - "name": "photoSizeProgressive", - "description": [ - "Progressively encoded photosize" - ], - "fields": { - "h": "Photo height", - "location": "File location", - "sizes": "Sizes of progressive JPEG file prefixes, which can be used to preliminarily show the image.", - "type": "Photosize type", - "w": "Photo width" - } - }, - "photoStrippedSize": { - "name": "photoStrippedSize", - "description": [ - "A low-resolution compressed JPG payload" - ], - "fields": { - "bytes": "Thumbnail data, see here for more info on decompression »", - "type": "Thumbnail type" - } - }, - "photos.photo": { - "name": "photos.photo", - "description": [ - "Photo with auxiliary data." - ], - "fields": { - "photo": "Photo", - "users": "Users" - } - }, - "photos.photos": { - "name": "photos.photos", - "description": [ - "Full list of photos with auxiliary data." - ], - "fields": { - "photos": "List of photos", - "users": "List of mentioned users" - } - }, - "photos.photosSlice": { - "name": "photos.photosSlice", - "description": [ - "Incomplete list of photos with auxiliary data." - ], - "fields": { - "count": "Total number of photos", - "photos": "List of photos", - "users": "List of mentioned users" - } - }, - "poll": { - "name": "poll", - "description": [ - "Poll" - ], - "fields": { - "answers": "The possible answers, vote using messages.sendVote.", - "close_date": "Point in time (Unix timestamp) when the poll will be automatically closed. Must be at least 5 and no more than 600 seconds in the future; can't be used together with close_period.", - "close_period": "Amount of time in seconds the poll will be active after creation, 5-600. Can't be used together with close_date.", - "closed": "Whether the poll is closed and doesn't accept any more answers", - "flags": "Flags, see TL conditional fields", - "id": "ID of the poll", - "multiple_choice": "Whether multiple options can be chosen as answer", - "public_voters": "Whether cast votes are publicly visible to all users (non-anonymous poll)", - "question": "The question of the poll", - "quiz": "Whether this is a quiz (with wrong and correct answers, results shown in the return type)" - } - }, - "pollAnswer": { - "name": "pollAnswer", - "description": [ - "A possible answer of a poll" - ], - "fields": { - "option": "The param that has to be passed to messages.sendVote.", - "text": "Textual representation of the answer" - } - }, - "pollAnswerVoters": { - "name": "pollAnswerVoters", - "description": [ - "A poll answer, and how users voted on it" - ], - "fields": { - "chosen": "Whether we have chosen this answer", - "correct": "For quizes, whether the option we have chosen is correct", - "flags": "Flags, see TL conditional fields", - "option": "The param that has to be passed to messages.sendVote.", - "voters": "How many users voted for this option" - } - }, - "pollResults": { - "name": "pollResults", - "description": [ - "Results of poll" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "min": "Similar to min objects, used for poll constructors that are the same for all users so they don't have option chosen by the current user (you can use messages.getPollResults to get the full poll results).", - "recent_voters": "IDs of the last users that recently voted in the poll", - "results": "Poll results", - "solution": "Explanation of quiz solution", - "solution_entities": "Message entities for styled text in quiz solution", - "total_voters": "Total number of people that voted in the poll" - } - }, - "popularContact": { - "name": "popularContact", - "description": [ - "Popular contact" - ], - "fields": { - "client_id": "Contact identifier", - "importers": "How many people imported this contact" - } - }, - "postAddress": { - "name": "postAddress", - "description": [ - "Shipping address" - ], - "fields": { - "city": "City", - "country_iso2": "ISO 3166-1 alpha-2 country code", - "post_code": "Address post code", - "state": "State, if applicable (empty otherwise)", - "street_line1": "First line for the address", - "street_line2": "Second line for the address" - } - }, - "privacyKeyAddedByPhone": { - "name": "privacyKeyAddedByPhone", - "description": [ - "Whether people can add you to their contact list by your phone number" - ] - }, - "privacyKeyChatInvite": { - "name": "privacyKeyChatInvite", - "description": [ - "Whether the user can be invited to chats" - ] - }, - "privacyKeyForwards": { - "name": "privacyKeyForwards", - "description": [ - "Whether messages forwarded from the user will be anonymously forwarded" - ] - }, - "privacyKeyPhoneCall": { - "name": "privacyKeyPhoneCall", - "description": [ - "Whether the user accepts phone calls" - ] - }, - "privacyKeyPhoneNumber": { - "name": "privacyKeyPhoneNumber", - "description": [ - "Whether the user allows us to see his phone number" - ] - }, - "privacyKeyPhoneP2P": { - "name": "privacyKeyPhoneP2P", - "description": [ - "Whether P2P connections in phone calls are allowed" - ] - }, - "privacyKeyProfilePhoto": { - "name": "privacyKeyProfilePhoto", - "description": [ - "Whether the profile picture of the user is visible" - ] - }, - "privacyKeyStatusTimestamp": { - "name": "privacyKeyStatusTimestamp", - "description": [ - "Whether we can see the last online timestamp" - ] - }, - "privacyValueAllowAll": { - "name": "privacyValueAllowAll", - "description": [ - "Allow all users" - ] - }, - "privacyValueAllowChatParticipants": { - "name": "privacyValueAllowChatParticipants", - "description": [ - "Allow all participants of certain chats" - ], - "fields": { - "chats": "Allowed chats" - } - }, - "privacyValueAllowContacts": { - "name": "privacyValueAllowContacts", - "description": [ - "Allow all contacts" - ] - }, - "privacyValueAllowUsers": { - "name": "privacyValueAllowUsers", - "description": [ - "Allow only certain users" - ], - "fields": { - "users": "Allowed users" - } - }, - "privacyValueDisallowAll": { - "name": "privacyValueDisallowAll", - "description": [ - "Disallow all users" - ] - }, - "privacyValueDisallowChatParticipants": { - "name": "privacyValueDisallowChatParticipants", - "description": [ - "Disallow only participants of certain chats" - ], - "fields": { - "chats": "Disallowed chats" - } - }, - "privacyValueDisallowContacts": { - "name": "privacyValueDisallowContacts", - "description": [ - "Disallow only contacts" - ] - }, - "privacyValueDisallowUsers": { - "name": "privacyValueDisallowUsers", - "description": [ - "Disallow only certain users" - ], - "fields": { - "users": "Disallowed users" - } - }, - "receivedNotifyMessage": { - "name": "receivedNotifyMessage", - "description": [ - "Message ID, for which PUSH-notifications were cancelled." - ], - "fields": { - "flags": "Reserved for future use", - "id": "Message ID, for which PUSH-notifications were canceled" - } - }, - "recentMeUrlChat": { - "name": "recentMeUrlChat", - "description": [ - "Recent t.me link to a chat" - ], - "fields": { - "chat_id": "Chat ID", - "url": "t.me URL" - } - }, - "recentMeUrlChatInvite": { - "name": "recentMeUrlChatInvite", - "description": [ - "Recent t.me invite link to a chat" - ], - "fields": { - "chat_invite": "Chat invitation", - "url": "t.me URL" - } - }, - "recentMeUrlStickerSet": { - "name": "recentMeUrlStickerSet", - "description": [ - "Recent t.me stickerset installation URL" - ], - "fields": { - "set": "Stickerset", - "url": "t.me URL" - } - }, - "recentMeUrlUnknown": { - "name": "recentMeUrlUnknown", - "description": [ - "Unknown t.me url" - ], - "fields": { - "url": "URL" - } - }, - "recentMeUrlUser": { - "name": "recentMeUrlUser", - "description": [ - "Recent t.me link to a user" - ], - "fields": { - "url": "URL", - "user_id": "User ID" - } - }, - "replyInlineMarkup": { - "name": "replyInlineMarkup", - "description": [ - "Bot or inline keyboard" - ], - "fields": { - "rows": "Bot or inline keyboard rows" - } - }, - "replyKeyboardForceReply": { - "name": "replyKeyboardForceReply", - "description": [ - "Force the user to send a reply" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "selective": "Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message. Example: A user requests to change the bot‘s language, bot replies to the request with a keyboard to select the new language. Other users in the group don’t see the keyboard.", - "single_use": "Requests clients to hide the keyboard as soon as it's been used. The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat – the user can press a special button in the input field to see the custom keyboard again." - } - }, - "replyKeyboardHide": { - "name": "replyKeyboardHide", - "description": [ - "Hide sent bot keyboard" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "selective": "Use this flag if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.Example: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet" - } - }, - "replyKeyboardMarkup": { - "name": "replyKeyboardMarkup", - "description": [ - "Bot keyboard" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "resize": "Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). If not set, the custom keyboard is always of the same height as the app's standard keyboard.", - "rows": "Button row", - "selective": "Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.Example: A user requests to change the bot‘s language, bot replies to the request with a keyboard to select the new language. Other users in the group don’t see the keyboard.", - "single_use": "Requests clients to hide the keyboard as soon as it's been used. The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat – the user can press a special button in the input field to see the custom keyboard again." - } - }, - "restrictionReason": { - "name": "restrictionReason", - "description": [ - "Restriction reason.", - "Contains the reason why access to a certain object must be restricted. Clients are supposed to deny access to the channel if the platform field is equal to all or to the current platform (ios, android, wp, etc.). Platforms can be concatenated (ios-android, ios-wp), unknown platforms are to be ignored. The text is the error message that should be shown to the user." - ], - "fields": { - "platform": "Platform identifier (ios, android, wp, all, etc.), can be concatenated with a dash as separator (android-ios, ios-wp, etc)", - "reason": "Restriction reason (porno, terms, etc.)", - "text": "Error message to be shown to the user" - } - }, - "savedPhoneContact": { - "name": "savedPhoneContact", - "description": [ - "Saved contact" - ], - "fields": { - "date": "Date added", - "first_name": "First name", - "last_name": "Last name", - "phone": "Phone number" - } - }, - "secureCredentialsEncrypted": { - "name": "secureCredentialsEncrypted", - "description": [ - "Encrypted credentials required to decrypt telegram passport data." - ], - "fields": { - "data": "Encrypted JSON-serialized data with unique user's payload, data hashes and secrets required for EncryptedPassportElement decryption and authentication, as described in decrypting data »", - "hash": "Data hash for data authentication as described in decrypting data »", - "secret": "Secret, encrypted with the bot's public RSA key, required for data decryption as described in decrypting data »" - } - }, - "secureData": { - "name": "secureData", - "description": [ - "Secure passport data, for more info see the passport docs »" - ], - "fields": { - "data": "Data", - "data_hash": "Data hash", - "secret": "Secret" - } - }, - "secureFile": { - "name": "secureFile", - "description": [ - "Secure passport file, for more info see the passport docs »" - ], - "fields": { - "access_hash": "Access hash", - "date": "Date of upload", - "dc_id": "DC ID", - "file_hash": "File hash", - "id": "ID", - "secret": "Secret", - "size": "File size" - } - }, - "secureFileEmpty": { - "name": "secureFileEmpty", - "description": [ - "Empty constructor" - ] - }, - "securePasswordKdfAlgoPBKDF2HMACSHA512iter100000": { - "name": "securePasswordKdfAlgoPBKDF2HMACSHA512iter100000", - "description": [ - "PBKDF2 with SHA512 and 100000 iterations KDF algo" - ], - "fields": { - "salt": "Salt" - } - }, - "securePasswordKdfAlgoSHA512": { - "name": "securePasswordKdfAlgoSHA512", - "description": [ - "SHA512 KDF algo" - ], - "fields": { - "salt": "Salt" - } - }, - "securePasswordKdfAlgoUnknown": { - "name": "securePasswordKdfAlgoUnknown", - "description": [ - "Unknown KDF algo (most likely the client has to be updated)" - ] - }, - "securePlainEmail": { - "name": "securePlainEmail", - "description": [ - "Email address to use in telegram passport: it must be verified, first »." - ], - "fields": { - "email": "Email address" - } - }, - "securePlainPhone": { - "name": "securePlainPhone", - "description": [ - "Phone number to use in telegram passport: it must be verified, first »." - ], - "fields": { - "phone": "Phone number" - } - }, - "secureRequiredType": { - "name": "secureRequiredType", - "description": [ - "Required type" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "native_names": "Native names", - "selfie_required": "Is a selfie required", - "translation_required": "Is a translation required", - "type": "Secure value type" - } - }, - "secureRequiredTypeOneOf": { - "name": "secureRequiredTypeOneOf", - "description": [ - "One of" - ], - "fields": { - "types": "Secure required value types" - } - }, - "secureSecretSettings": { - "name": "secureSecretSettings", - "description": [ - "Secure settings" - ], - "fields": { - "secure_algo": "Secure KDF algo", - "secure_secret": "Secure secret", - "secure_secret_id": "Secret ID" - } - }, - "secureValue": { - "name": "secureValue", - "description": [ - "Secure value" - ], - "fields": { - "data": "Encrypted Telegram Passport element data", - "files": "Array of encrypted passport files with photos the of the documents", - "flags": "Flags, see TL conditional fields", - "front_side": "Encrypted passport file with the front side of the document", - "hash": "Data hash", - "plain_data": "Plaintext verified passport data", - "reverse_side": "Encrypted passport file with the reverse side of the document", - "selfie": "Encrypted passport file with a selfie of the user holding the document", - "translation": "Array of encrypted passport files with translated versions of the provided documents", - "type": "Secure passport value type" - } - }, - "secureValueError": { - "name": "secureValueError", - "description": [ - "Secure value error" - ], - "fields": { - "hash": "Hash", - "text": "Error message", - "type": "Type of element which has the issue" - } - }, - "secureValueErrorData": { - "name": "secureValueErrorData", - "description": [ - "Represents an issue in one of the data fields that was provided by the user. The error is considered resolved when the field's value changes." - ], - "fields": { - "data_hash": "Data hash", - "field": "Name of the data field which has the error", - "text": "Error message", - "type": "The section of the user's Telegram Passport which has the error, one of secureValueTypePersonalDetails, secureValueTypePassport, secureValueTypeDriverLicense, secureValueTypeIdentityCard, secureValueTypeInternalPassport, secureValueTypeAddress" - } - }, - "secureValueErrorFile": { - "name": "secureValueErrorFile", - "description": [ - "Represents an issue with a document scan. The error is considered resolved when the file with the document scan changes." - ], - "fields": { - "file_hash": "File hash", - "text": "Error message", - "type": "One of secureValueTypeUtilityBill, secureValueTypeBankStatement, secureValueTypeRentalAgreement, secureValueTypePassportRegistration, secureValueTypeTemporaryRegistration" - } - }, - "secureValueErrorFiles": { - "name": "secureValueErrorFiles", - "description": [ - "Represents an issue with a list of scans. The error is considered resolved when the list of files containing the scans changes." - ], - "fields": { - "file_hash": "File hash", - "text": "Error message", - "type": "One of secureValueTypeUtilityBill, secureValueTypeBankStatement, secureValueTypeRentalAgreement, secureValueTypePassportRegistration, secureValueTypeTemporaryRegistration" - } - }, - "secureValueErrorFrontSide": { - "name": "secureValueErrorFrontSide", - "description": [ - "Represents an issue with the front side of a document. The error is considered resolved when the file with the front side of the document changes." - ], - "fields": { - "file_hash": "File hash", - "text": "Error message", - "type": "One of secureValueTypePassport, secureValueTypeDriverLicense, secureValueTypeIdentityCard, secureValueTypeInternalPassport" - } - }, - "secureValueErrorReverseSide": { - "name": "secureValueErrorReverseSide", - "description": [ - "Represents an issue with the reverse side of a document. The error is considered resolved when the file with reverse side of the document changes." - ], - "fields": { - "file_hash": "File hash", - "text": "Error message", - "type": "One of secureValueTypeDriverLicense, secureValueTypeIdentityCard" - } - }, - "secureValueErrorSelfie": { - "name": "secureValueErrorSelfie", - "description": [ - "Represents an issue with the selfie with a document. The error is considered resolved when the file with the selfie changes." - ], - "fields": { - "file_hash": "File hash", - "text": "Error message", - "type": "One of secureValueTypePassport, secureValueTypeDriverLicense, secureValueTypeIdentityCard, secureValueTypeInternalPassport" - } - }, - "secureValueErrorTranslationFile": { - "name": "secureValueErrorTranslationFile", - "description": [ - "Represents an issue with one of the files that constitute the translation of a document. The error is considered resolved when the file changes." - ], - "fields": { - "file_hash": "File hash", - "text": "Error message", - "type": "One of secureValueTypePersonalDetails, secureValueTypePassport, secureValueTypeDriverLicense, secureValueTypeIdentityCard, secureValueTypeInternalPassport, secureValueTypeUtilityBill, secureValueTypeBankStatement, secureValueTypeRentalAgreement, secureValueTypePassportRegistration, secureValueTypeTemporaryRegistration" - } - }, - "secureValueErrorTranslationFiles": { - "name": "secureValueErrorTranslationFiles", - "description": [ - "Represents an issue with the translated version of a document. The error is considered resolved when a file with the document translation changes." - ], - "fields": { - "file_hash": "Hash", - "text": "Error message", - "type": "One of secureValueTypePersonalDetails, secureValueTypePassport, secureValueTypeDriverLicense, secureValueTypeIdentityCard, secureValueTypeInternalPassport, secureValueTypeUtilityBill, secureValueTypeBankStatement, secureValueTypeRentalAgreement, secureValueTypePassportRegistration, secureValueTypeTemporaryRegistration" - } - }, - "secureValueHash": { - "name": "secureValueHash", - "description": [ - "Secure value hash" - ], - "fields": { - "hash": "Hash", - "type": "Secure value type" - } - }, - "secureValueTypeAddress": { - "name": "secureValueTypeAddress", - "description": [ - "Address" - ] - }, - "secureValueTypeBankStatement": { - "name": "secureValueTypeBankStatement", - "description": [ - "Bank statement" - ] - }, - "secureValueTypeDriverLicense": { - "name": "secureValueTypeDriverLicense", - "description": [ - "Driver's license" - ] - }, - "secureValueTypeEmail": { - "name": "secureValueTypeEmail", - "description": [ - "Email" - ] - }, - "secureValueTypeIdentityCard": { - "name": "secureValueTypeIdentityCard", - "description": [ - "Identity card" - ] - }, - "secureValueTypeInternalPassport": { - "name": "secureValueTypeInternalPassport", - "description": [ - "Internal passport" - ] - }, - "secureValueTypePassport": { - "name": "secureValueTypePassport", - "description": [ - "Passport" - ] - }, - "secureValueTypePassportRegistration": { - "name": "secureValueTypePassportRegistration", - "description": [ - "Internal registration passport" - ] - }, - "secureValueTypePersonalDetails": { - "name": "secureValueTypePersonalDetails", - "description": [ - "Personal details" - ] - }, - "secureValueTypePhone": { - "name": "secureValueTypePhone", - "description": [ - "Phone" - ] - }, - "secureValueTypeRentalAgreement": { - "name": "secureValueTypeRentalAgreement", - "description": [ - "Rental agreement" - ] - }, - "secureValueTypeTemporaryRegistration": { - "name": "secureValueTypeTemporaryRegistration", - "description": [ - "Temporary registration" - ] - }, - "secureValueTypeUtilityBill": { - "name": "secureValueTypeUtilityBill", - "description": [ - "Utility bill" - ] - }, - "sendMessageCancelAction": { - "name": "sendMessageCancelAction", - "description": [ - "Invalidate all previous action updates. E.g. when user deletes entered text or aborts a video upload." - ] - }, - "sendMessageChooseContactAction": { - "name": "sendMessageChooseContactAction", - "description": [ - "User is selecting a contact to share." - ] - }, - "sendMessageGamePlayAction": { - "name": "sendMessageGamePlayAction", - "description": [ - "User is playing a game" - ] - }, - "sendMessageGeoLocationAction": { - "name": "sendMessageGeoLocationAction", - "description": [ - "User is selecting a location to share." - ] - }, - "sendMessageRecordAudioAction": { - "name": "sendMessageRecordAudioAction", - "description": [ - "User is recording a voice message." - ] - }, - "sendMessageRecordRoundAction": { - "name": "sendMessageRecordRoundAction", - "description": [ - "User is recording a round video to share" - ] - }, - "sendMessageRecordVideoAction": { - "name": "sendMessageRecordVideoAction", - "description": [ - "User is recording a video." - ] - }, - "sendMessageTypingAction": { - "name": "sendMessageTypingAction", - "description": [ - "User is typing." - ] - }, - "sendMessageUploadAudioAction": { - "name": "sendMessageUploadAudioAction", - "description": [ - "User is uploading a voice message." - ], - "fields": { - "progress": "Progress percentage" - } - }, - "sendMessageUploadDocumentAction": { - "name": "sendMessageUploadDocumentAction", - "description": [ - "User is uploading a file." - ], - "fields": { - "progress": "Progress percentage" - } - }, - "sendMessageUploadPhotoAction": { - "name": "sendMessageUploadPhotoAction", - "description": [ - "User is uploading a photo." - ], - "fields": { - "progress": "Progress percentage" - } - }, - "sendMessageUploadRoundAction": { - "name": "sendMessageUploadRoundAction", - "description": [ - "User is uploading a round video" - ], - "fields": { - "progress": "Progress percentage" - } - }, - "sendMessageUploadVideoAction": { - "name": "sendMessageUploadVideoAction", - "description": [ - "User is uploading a video." - ], - "fields": { - "progress": "Progress percentage" - } - }, - "shippingOption": { - "name": "shippingOption", - "description": [ - "Shipping option" - ], - "fields": { - "id": "Option ID", - "prices": "List of price portions", - "title": "Title" - } - }, - "stats.broadcastStats": { - "name": "stats.broadcastStats", - "description": [ - "Channel statistics." - ], - "fields": { - "enabled_notifications": "Percentage of subscribers with enabled notifications", - "followers": "Follower count change for period in consideration", - "followers_graph": "Followers growth graph (relative subscriber count)", - "growth_graph": "Channel growth graph (absolute subscriber count)", - "interactions_graph": "Interactions graph (absolute)", - "iv_interactions_graph": "IV interactions graph (absolute)", - "languages_graph": "Subscriber language graph (piechart)", - "mute_graph": "Muted users graph (relative)", - "new_followers_by_source_graph": "New followers by source graph (absolute)", - "period": "Period in consideration", - "recent_message_interactions": "Recent message interactions", - "shares_per_post": "total_viewcount/postcount, for posts posted during the period in consideration (views_per_post). Note that in this case, current refers to the period in consideration (min_date till max_date), and prev refers to the previous period ((min_date - (max_date - min_date)) till min_date)", - "top_hours_graph": "Views per hour graph (absolute)", - "views_by_source_graph": "Views by source graph (absolute)", - "views_per_post": "total_viewcount/postcount, for posts posted during the period in consideration (views_per_post). Note that in this case, current refers to the period in consideration (min_date till max_date), and prev refers to the previous period ((min_date - (max_date - min_date)) till min_date)." - } - }, - "stats.megagroupStats": { - "name": "stats.megagroupStats", - "description": [ - "Supergroup statistics" - ], - "fields": { - "actions_graph": "Group activity graph (deleted, modified messages, blocked users)", - "growth_graph": "Supergroup growth graph (absolute subscriber count)", - "languages_graph": "Subscriber language graph (piechart)", - "members": "Member count change for period in consideration", - "members_graph": "Members growth (relative subscriber count)", - "messages": "Message number change for period in consideration", - "messages_graph": "Message activity graph (stacked bar graph, message type)", - "new_members_by_source_graph": "New members by source graph", - "period": "Period in consideration", - "posters": "Number of users that posted messages, for range in consideration", - "top_admins": "Info about most active group admins", - "top_hours_graph": "Activity per hour graph (absolute)", - "top_inviters": "Info about most active group inviters", - "top_posters": "Info about most active group members", - "users": "Info about users mentioned in statistics", - "viewers": "Number of users that viewed messages, for range in consideration", - "weekdays_graph": "Activity per day of week graph (absolute)" - } - }, - "stats.messageStats": { - "name": "stats.messageStats", - "description": [ - "Message statistics" - ], - "fields": { - "views_graph": "Message view graph" - } - }, - "statsAbsValueAndPrev": { - "name": "statsAbsValueAndPrev", - "description": [ - "Statistics value couple; intial and final value for period of time currently in consideration" - ], - "fields": { - "current": "Current value", - "previous": "Previous value" - } - }, - "statsDateRangeDays": { - "name": "statsDateRangeDays", - "description": [ - "Channel statistics date range" - ], - "fields": { - "max_date": "Final date", - "min_date": "Initial date" - } - }, - "statsGraph": { - "name": "statsGraph", - "description": [ - "Channel statistics graph" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "json": "Statistics data", - "zoom_token": "Zoom token" - } - }, - "statsGraphAsync": { - "name": "statsGraphAsync", - "description": [ - "This channel statistics graph must be generated asynchronously using stats.loadAsyncGraph to reduce server load" - ], - "fields": { - "token": "Token to use for fetching the async graph" - } - }, - "statsGraphError": { - "name": "statsGraphError", - "description": [ - "An error occurred while generating the statistics graph" - ], - "fields": { - "error": "The error" - } - }, - "statsGroupTopAdmin": { - "name": "statsGroupTopAdmin", - "description": [ - "Information about an active admin in a supergroup" - ], - "fields": { - "banned": "Number of banned users for statistics period in consideration", - "deleted": "Number of deleted messages for statistics period in consideration", - "kicked": "Number of kicked users for statistics period in consideration", - "user_id": "User ID" - } - }, - "statsGroupTopInviter": { - "name": "statsGroupTopInviter", - "description": [ - "Information about an active supergroup inviter" - ], - "fields": { - "invitations": "Number of invitations for statistics period in consideration", - "user_id": "User ID" - } - }, - "statsGroupTopPoster": { - "name": "statsGroupTopPoster", - "description": [ - "Information about an active user in a supergroup" - ], - "fields": { - "avg_chars": "Average number of characters per message", - "messages": "Number of messages for statistics period in consideration", - "user_id": "User ID" - } - }, - "statsPercentValue": { - "name": "statsPercentValue", - "description": [ - "Channel statistics percentage.", - "Compute the percentage simply by doing part * total / 100" - ], - "fields": { - "part": "Partial value", - "total": "Total value" - } - }, - "statsURL": { - "name": "statsURL", - "description": [ - "URL with chat statistics" - ], - "fields": { - "url": "Chat statistics" - } - }, - "stickerPack": { - "name": "stickerPack", - "description": [ - "A stickerpack is a group of stickers associated to the same emoji.", - "It is not a sticker pack the way it is usually intended, you may be looking for a StickerSet." - ], - "fields": { - "documents": "Stickers", - "emoticon": "Emoji" - } - }, - "stickerSet": { - "name": "stickerSet", - "description": [ - "Represents a stickerset (stickerpack)" - ], - "fields": { - "access_hash": "Access hash of stickerset", - "animated": "Is this an animated stickerpack", - "archived": "Whether this stickerset was archived (due to too many saved stickers in the current account)", - "count": "Number of stickers in pack", - "flags": "Flags, see TL conditional fields", - "hash": "Hash", - "id": "ID of the stickerset", - "installed_date": "When was this stickerset installed", - "masks": "Is this a mask stickerset", - "official": "Is this stickerset official", - "short_name": "Short name of stickerset to use in tg://addstickers?set=short_name", - "thumb": "Thumbnail for stickerset", - "thumb_dc_id": "DC ID of thumbnail", - "title": "Title of stickerset" - } - }, - "stickerSetCovered": { - "name": "stickerSetCovered", - "description": [ - "Stickerset, with a specific sticker as preview" - ], - "fields": { - "cover": "Preview", - "set": "Stickerset" - } - }, - "stickerSetMultiCovered": { - "name": "stickerSetMultiCovered", - "description": [ - "Stickerset, with a specific stickers as preview" - ], - "fields": { - "covers": "Preview stickers", - "set": "Stickerset" - } - }, - "storage.fileGif": { - "name": "storage.fileGif", - "description": [ - "GIF image. MIME type: image/gif." - ] - }, - "storage.fileJpeg": { - "name": "storage.fileJpeg", - "description": [ - "JPEG image. MIME type: image/jpeg." - ] - }, - "storage.fileMov": { - "name": "storage.fileMov", - "description": [ - "Quicktime video. MIME type: video/quicktime." - ] - }, - "storage.fileMp3": { - "name": "storage.fileMp3", - "description": [ - "Mp3 audio. MIME type: audio/mpeg." - ] - }, - "storage.fileMp4": { - "name": "storage.fileMp4", - "description": [ - "MPEG-4 video. MIME type: video/mp4." - ] - }, - "storage.filePartial": { - "name": "storage.filePartial", - "description": [ - "Part of a bigger file." - ] - }, - "storage.filePdf": { - "name": "storage.filePdf", - "description": [ - "PDF document image. MIME type: application/pdf." - ] - }, - "storage.filePng": { - "name": "storage.filePng", - "description": [ - "PNG image. MIME type: image/png." - ] - }, - "storage.fileUnknown": { - "name": "storage.fileUnknown", - "description": [ - "Unknown type." - ] - }, - "storage.fileWebp": { - "name": "storage.fileWebp", - "description": [ - "WEBP image. MIME type: image/webp." - ] - }, - "textAnchor": { - "name": "textAnchor", - "description": [ - "Text linking to another section of the page" - ], - "fields": { - "name": "Section name", - "text": "Text" - } - }, - "textBold": { - "name": "textBold", - "description": [ - "Bold text" - ], - "fields": { - "text": "Text" - } - }, - "textConcat": { - "name": "textConcat", - "description": [ - "Concatenation of rich texts" - ], - "fields": { - "texts": "Concatenated rich texts" - } - }, - "textEmail": { - "name": "textEmail", - "description": [ - "Rich text email link" - ], - "fields": { - "email": "Email address", - "text": "Link text" - } - }, - "textEmpty": { - "name": "textEmpty", - "description": [ - "Empty rich text element" - ] - }, - "textFixed": { - "name": "textFixed", - "description": [ - "fixed-width rich text" - ], - "fields": { - "text": "Text" - } - }, - "textImage": { - "name": "textImage", - "description": [ - "Inline image" - ], - "fields": { - "document_id": "Document ID", - "h": "Height", - "w": "Width" - } - }, - "textItalic": { - "name": "textItalic", - "description": [ - "Italic text" - ], - "fields": { - "text": "Text" - } - }, - "textMarked": { - "name": "textMarked", - "description": [ - "Highlighted text" - ], - "fields": { - "text": "Text" - } - }, - "textPhone": { - "name": "textPhone", - "description": [ - "Rich text linked to a phone number" - ], - "fields": { - "phone": "Phone number", - "text": "Text" - } - }, - "textPlain": { - "name": "textPlain", - "description": [ - "Plain text" - ], - "fields": { - "text": "Text" - } - }, - "textStrike": { - "name": "textStrike", - "description": [ - "Strikethrough text" - ], - "fields": { - "text": "Text" - } - }, - "textSubscript": { - "name": "textSubscript", - "description": [ - "Subscript text" - ], - "fields": { - "text": "Text" - } - }, - "textSuperscript": { - "name": "textSuperscript", - "description": [ - "Superscript text" - ], - "fields": { - "text": "Text" - } - }, - "textUnderline": { - "name": "textUnderline", - "description": [ - "Underlined text" - ], - "fields": { - "text": "Text" - } - }, - "textUrl": { - "name": "textUrl", - "description": [ - "Link" - ], - "fields": { - "text": "Text of link", - "url": "Webpage HTTP URL", - "webpage_id": "If a preview was already generated for the page, the page ID" - } - }, - "theme": { - "name": "theme", - "description": [ - "Theme" - ], - "fields": { - "access_hash": "Theme access hash", - "creator": "Whether the current user is the creator of this theme", - "default": "Whether this is the default theme", - "document": "Theme", - "flags": "Flags, see TL conditional fields", - "id": "Theme ID", - "installs_count": "Installation count", - "settings": "Theme settings", - "slug": "Unique theme ID", - "title": "Theme name" - } - }, - "themeSettings": { - "name": "themeSettings", - "description": [ - "Theme settings" - ], - "fields": { - "accent_color": "Accent color, RGB24 format", - "base_theme": "Base theme", - "flags": "Flags, see TL conditional fields", - "message_bottom_color": "Message gradient color (bottom), RGB24 format", - "message_top_color": "Message gradient color (top), RGB24 format", - "wallpaper": "Wallpaper" - } - }, - "topPeer": { - "name": "topPeer", - "description": [ - "Top peer" - ], - "fields": { - "peer": "Peer", - "rating": "Rating as computed in top peer rating »" - } - }, - "topPeerCategoryBotsInline": { - "name": "topPeerCategoryBotsInline", - "description": [ - "Most used inline bots" - ] - }, - "topPeerCategoryBotsPM": { - "name": "topPeerCategoryBotsPM", - "description": [ - "Most used bots" - ] - }, - "topPeerCategoryChannels": { - "name": "topPeerCategoryChannels", - "description": [ - "Most frequently visited channels" - ] - }, - "topPeerCategoryCorrespondents": { - "name": "topPeerCategoryCorrespondents", - "description": [ - "Users we've chatted most frequently with" - ] - }, - "topPeerCategoryForwardChats": { - "name": "topPeerCategoryForwardChats", - "description": [ - "Chats to which the users often forwards messages to" - ] - }, - "topPeerCategoryForwardUsers": { - "name": "topPeerCategoryForwardUsers", - "description": [ - "Users to which the users often forwards messages to" - ] - }, - "topPeerCategoryGroups": { - "name": "topPeerCategoryGroups", - "description": [ - "Often-opened groups and supergroups" - ] - }, - "topPeerCategoryPeers": { - "name": "topPeerCategoryPeers", - "description": [ - "Top peer category" - ], - "fields": { - "category": "Top peer category of peers", - "count": "Count of peers", - "peers": "Peers" - } - }, - "topPeerCategoryPhoneCalls": { - "name": "topPeerCategoryPhoneCalls", - "description": [ - "Most frequently called users" - ] - }, - "true": { - "name": "true", - "description": [ - "See predefined identifiers." - ] - }, - "updateBotCallbackQuery": { - "name": "updateBotCallbackQuery", - "description": [ - "A callback button was pressed, and the button data was sent to the bot that created the button" - ], - "fields": { - "chat_instance": "Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.", - "data": "Callback data", - "flags": "Flags, see TL conditional fields", - "game_short_name": "Short name of a Game to be returned, serves as the unique identifier for the game", - "msg_id": "Message ID", - "peer": "Chat where the inline keyboard was sent", - "query_id": "Query ID", - "user_id": "ID of the user that pressed the button" - } - }, - "updateBotInlineQuery": { - "name": "updateBotInlineQuery", - "description": [ - "An incoming inline query" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "geo": "Attached geolocation", - "offset": "Offset to navigate through results", - "query": "Text of query", - "query_id": "Query ID", - "user_id": "User that sent the query" - } - }, - "updateBotInlineSend": { - "name": "updateBotInlineSend", - "description": [ - "The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot." - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "geo": "Optional. Sender location, only for bots that require user location", - "id": "The unique identifier for the result that was chosen", - "msg_id": "Identifier of the sent inline message. Available only if there is an inline keyboard attached to the message. Will be also received in callback queries and can be used to edit the message.", - "query": "The query that was used to obtain the result", - "user_id": "The user that chose the result" - } - }, - "updateBotPrecheckoutQuery": { - "name": "updateBotPrecheckoutQuery", - "description": [ - "This object contains information about an incoming pre-checkout query." - ], - "fields": { - "currency": "Three-letter ISO 4217 currency code", - "flags": "Flags, see TL conditional fields", - "info": "Order info provided by the user", - "payload": "Bot specified invoice payload", - "query_id": "Unique query identifier", - "shipping_option_id": "Identifier of the shipping option chosen by the user", - "total_amount": "Total amount in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).", - "user_id": "User who sent the query" - } - }, - "updateBotShippingQuery": { - "name": "updateBotShippingQuery", - "description": [ - "This object contains information about an incoming shipping query." - ], - "fields": { - "payload": "Bot specified invoice payload", - "query_id": "Unique query identifier", - "shipping_address": "User specified shipping address", - "user_id": "User who sent the query" - } - }, - "updateBotWebhookJSON": { - "name": "updateBotWebhookJSON", - "description": [ - "A new incoming event; for bots only" - ], - "fields": { - "data": "The event" - } - }, - "updateBotWebhookJSONQuery": { - "name": "updateBotWebhookJSONQuery", - "description": [ - "A new incoming query; for bots only" - ], - "fields": { - "data": "Query data", - "query_id": "Query identifier", - "timeout": "Query timeout" - } - }, - "updateChannel": { - "name": "updateChannel", - "description": [ - "A new channel is available" - ], - "fields": { - "channel_id": "Channel ID" - } - }, - "updateChannelAvailableMessages": { - "name": "updateChannelAvailableMessages", - "description": [ - "The history of a channel/supergroup was hidden." - ], - "fields": { - "available_min_id": "Identifier of a maximum unavailable message in a channel due to hidden history.", - "channel_id": "Channel/supergroup ID" - } - }, - "updateChannelMessageForwards": { - "name": "updateChannelMessageForwards", - "description": [ - "The forward counter of a message in a channel has changed" - ], - "fields": { - "channel_id": "Channel ID", - "forwards": "New forward counter", - "id": "ID of the message" - } - }, - "updateChannelMessageViews": { - "name": "updateChannelMessageViews", - "description": [ - "The view counter of a message in a channel has changed" - ], - "fields": { - "channel_id": "Channel ID", - "id": "ID of the message", - "views": "New view counter" - } - }, - "updateChannelParticipant": { - "name": "updateChannelParticipant", - "description": [ - "A participant has left, joined, was banned or admined in a channel or supergroup." - ], - "fields": { - "channel_id": "Channel ID", - "date": "Date of the event", - "flags": "Flags, see TL conditional fields", - "new_participant": "New participant status", - "prev_participant": "Previous participant status", - "qts": "PTS", - "user_id": "User in question" - } - }, - "updateChannelReadMessagesContents": { - "name": "updateChannelReadMessagesContents", - "description": [ - "The specified channel/supergroup messages were read" - ], - "fields": { - "channel_id": "Channel/supergroup ID", - "messages": "IDs of messages that were read" - } - }, - "updateChannelTooLong": { - "name": "updateChannelTooLong", - "description": [ - "There are new updates in the specified channel, the client must fetch them.", - "If the difference is too long or if the channel isn't currently in the states, start fetching from the specified pts." - ], - "fields": { - "channel_id": "The channel", - "flags": "Flags, see TL conditional fields", - "pts": "The PTS." - } - }, - "updateChannelUserTyping": { - "name": "updateChannelUserTyping", - "description": [ - "A user is typing in a supergroup, channel or message thread" - ], - "fields": { - "action": "Whether the user is typing, sending a media or doing something else", - "channel_id": "Channel ID", - "flags": "Flags, see TL conditional fields", - "top_msg_id": "Thread ID", - "user_id": "User ID" - } - }, - "updateChannelWebPage": { - "name": "updateChannelWebPage", - "description": [ - "A webpage preview of a link in a channel/supergroup message was generated" - ], - "fields": { - "channel_id": "Channel/supergroup ID", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated", - "webpage": "Generated webpage preview" - } - }, - "updateChatDefaultBannedRights": { - "name": "updateChatDefaultBannedRights", - "description": [ - "Default banned rights in a normal chat were updated" - ], - "fields": { - "default_banned_rights": "New default banned rights", - "peer": "The chat", - "version": "Version" - } - }, - "updateChatParticipantAdd": { - "name": "updateChatParticipantAdd", - "description": [ - "New group member." - ], - "fields": { - "chat_id": "Group ID", - "date": "When was the participant added", - "inviter_id": "ID of the user, who added member to the group", - "user_id": "ID of the new member", - "version": "Chat version number" - } - }, - "updateChatParticipantAdmin": { - "name": "updateChatParticipantAdmin", - "description": [ - "Admin permissions of a user in a legacy group were changed" - ], - "fields": { - "chat_id": "Chat ID", - "is_admin": "Whether the user was rendered admin", - "user_id": "ID of the (de)admined user", - "version": "Used in basic groups to reorder updates and make sure that all of them was received." - } - }, - "updateChatParticipantDelete": { - "name": "updateChatParticipantDelete", - "description": [ - "A member has left the group." - ], - "fields": { - "chat_id": "Group ID", - "user_id": "ID of the user", - "version": "Used in basic groups to reorder updates and make sure that all of them was received." - } - }, - "updateChatParticipants": { - "name": "updateChatParticipants", - "description": [ - "Composition of chat participants changed." - ], - "fields": { - "participants": "Updated chat participants" - } - }, - "updateChatUserTyping": { - "name": "updateChatUserTyping", - "description": [ - "The user is preparing a message in a group; typing, recording, uploading, etc. This update is valid for 6 seconds. If no repeated update received after 6 seconds, it should be considered that the user stopped doing whatever he's been doing." - ], - "fields": { - "action": "Type of actionParameter added in Layer 17.", - "chat_id": "Group id", - "user_id": "User id" - } - }, - "updateConfig": { - "name": "updateConfig", - "description": [ - "The server-side configuration has changed; the client should re-fetch the config using help.getConfig" - ] - }, - "updateContactsReset": { - "name": "updateContactsReset", - "description": [ - "All contacts were deleted" - ] - }, - "updateDcOptions": { - "name": "updateDcOptions", - "description": [ - "Changes in the data center configuration options." - ], - "fields": { - "dc_options": "New connection options" - } - }, - "updateDeleteChannelMessages": { - "name": "updateDeleteChannelMessages", - "description": [ - "Some messages in a supergroup/channel were deleted" - ], - "fields": { - "channel_id": "Channel ID", - "messages": "IDs of messages that were deleted", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updateDeleteMessages": { - "name": "updateDeleteMessages", - "description": [ - "Messages were deleted." - ], - "fields": { - "messages": "List of identifiers of deleted messages", - "pts": "New quality of actions in a message box", - "pts_count": "Number of generated events" - } - }, - "updateDeleteScheduledMessages": { - "name": "updateDeleteScheduledMessages", - "description": [ - "Some scheduled messages were deleted from the schedule queue of a chat" - ], - "fields": { - "messages": "Deleted scheduled messages", - "peer": "Peer" - } - }, - "updateDialogFilter": { - "name": "updateDialogFilter", - "description": [ - "A new folder was added" - ], - "fields": { - "filter": "Folder info", - "flags": "Flags, see TL conditional fields", - "id": "Folder ID" - } - }, - "updateDialogFilterOrder": { - "name": "updateDialogFilterOrder", - "description": [ - "New folder order" - ], - "fields": { - "order": "Ordered folder IDs" - } - }, - "updateDialogFilters": { - "name": "updateDialogFilters", - "description": [ - "Clients should update folder info" - ] - }, - "updateDialogPinned": { - "name": "updateDialogPinned", - "description": [ - "A dialog was pinned/unpinned" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "peer": "The dialog", - "pinned": "Whether the dialog was pinned" - } - }, - "updateDialogUnreadMark": { - "name": "updateDialogUnreadMark", - "description": [ - "The manual unread mark of a chat was changed" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "peer": "The dialog", - "unread": "Was the chat marked or unmarked as read" - } - }, - "updateDraftMessage": { - "name": "updateDraftMessage", - "description": [ - "Notifies a change of a message draft." - ], - "fields": { - "draft": "The draft", - "peer": "The peer to which the draft is associated" - } - }, - "updateEditChannelMessage": { - "name": "updateEditChannelMessage", - "description": [ - "A message was edited in a channel/supergroup" - ], - "fields": { - "message": "The new message", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updateEditMessage": { - "name": "updateEditMessage", - "description": [ - "A message was edited" - ], - "fields": { - "message": "The new edited message", - "pts": "PTS", - "pts_count": "PTS count" - } - }, - "updateEncryptedChatTyping": { - "name": "updateEncryptedChatTyping", - "description": [ - "Interlocutor is typing a message in an encrypted chat. Update period is 6 second. If upon this time there is no repeated update, it shall be considered that the interlocutor stopped typing." - ], - "fields": { - "chat_id": "Chat ID" - } - }, - "updateEncryptedMessagesRead": { - "name": "updateEncryptedMessagesRead", - "description": [ - "Communication history in an encrypted chat was marked as read." - ], - "fields": { - "chat_id": "Chat ID", - "date": "Time when messages were read", - "max_date": "Maximum value of data for read messages" - } - }, - "updateEncryption": { - "name": "updateEncryption", - "description": [ - "Change of state in an encrypted chat." - ], - "fields": { - "chat": "Encrypted chat", - "date": "Date of change" - } - }, - "updateFavedStickers": { - "name": "updateFavedStickers", - "description": [ - "The list of favorited stickers was changed, the client should call messages.getFavedStickers to refetch the new list" - ] - }, - "updateFolderPeers": { - "name": "updateFolderPeers", - "description": [ - "The peer list of a peer folder was updated" - ], - "fields": { - "folder_peers": "New peer list", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updateGeoLiveViewed": { - "name": "updateGeoLiveViewed", - "description": [ - "Live geoposition message was viewed" - ], - "fields": { - "msg_id": "Message ID of geoposition message", - "peer": "The user that viewed the live geoposition" - } - }, - "updateInlineBotCallbackQuery": { - "name": "updateInlineBotCallbackQuery", - "description": [ - "This notification is received by bots when a button is pressed" - ], - "fields": { - "chat_instance": "Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.", - "data": "Data associated with the callback button. Be aware that a bad client can send arbitrary data in this field.", - "flags": "Flags, see TL conditional fields", - "game_short_name": "Short name of a Game to be returned, serves as the unique identifier for the game", - "msg_id": "ID of the inline message with the button", - "query_id": "Query ID", - "user_id": "ID of the user that pressed the button" - } - }, - "updateLangPack": { - "name": "updateLangPack", - "description": [ - "Language pack updated" - ], - "fields": { - "difference": "Changed strings" - } - }, - "updateLangPackTooLong": { - "name": "updateLangPackTooLong", - "description": [ - "A language pack has changed, the client should manually fetch the changed strings using langpack.getDifference" - ], - "fields": { - "lang_code": "Language code" - } - }, - "updateLoginToken": { - "name": "updateLoginToken", - "description": [ - "A login token (for login via QR code) was accepted." - ] - }, - "updateMessageID": { - "name": "updateMessageID", - "description": [ - "Sent message with random_id client identifier was assigned an identifier." - ], - "fields": { - "id": "id identifier of a respective Message", - "random_id": "Previuosly transferred client random_id identifier" - } - }, - "updateMessagePoll": { - "name": "updateMessagePoll", - "description": [ - "The results of a poll have changed" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "poll": "If the server knows the client hasn't cached this poll yet, the poll itself", - "poll_id": "Poll ID", - "results": "New poll results" - } - }, - "updateMessagePollVote": { - "name": "updateMessagePollVote", - "description": [ - "A specific user has voted in a poll" - ], - "fields": { - "options": "Chosen option(s)", - "poll_id": "Poll ID", - "user_id": "User ID" - } - }, - "updateNewChannelMessage": { - "name": "updateNewChannelMessage", - "description": [ - "A new message was sent in a channel/supergroup" - ], - "fields": { - "message": "New message", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updateNewEncryptedMessage": { - "name": "updateNewEncryptedMessage", - "description": [ - "New encrypted message." - ], - "fields": { - "message": "Message", - "qts": "New qts value" - } - }, - "updateNewMessage": { - "name": "updateNewMessage", - "description": [ - "New message in a private chat or in a legacy group." - ], - "fields": { - "message": "Message", - "pts": "New quantity of actions in a message box", - "pts_count": "Number of generated events" - } - }, - "updateNewScheduledMessage": { - "name": "updateNewScheduledMessage", - "description": [ - "A message was added to the schedule queue of a chat" - ], - "fields": { - "message": "Message" - } - }, - "updateNewStickerSet": { - "name": "updateNewStickerSet", - "description": [ - "A new stickerset was installed" - ], - "fields": { - "stickerset": "The installed stickerset" - } - }, - "updateNotifySettings": { - "name": "updateNotifySettings", - "description": [ - "Changes in notification settings." - ], - "fields": { - "notify_settings": "New notification settings", - "peer": "Nofication source" - } - }, - "updatePeerBlocked": { - "name": "updatePeerBlocked", - "description": [ - "A peer was blocked" - ], - "fields": { - "blocked": "Whether the peer was blocked or unblocked", - "peer_id": "The blocked peer" - } - }, - "updatePeerLocated": { - "name": "updatePeerLocated", - "description": [ - "List of peers near you was updated" - ], - "fields": { - "peers": "Geolocated peer list update" - } - }, - "updatePeerSettings": { - "name": "updatePeerSettings", - "description": [ - "Settings of a certain peer have changed" - ], - "fields": { - "peer": "The peer", - "settings": "Associated peer settings" - } - }, - "updatePhoneCall": { - "name": "updatePhoneCall", - "description": [ - "An incoming phone call" - ], - "fields": { - "phone_call": "Phone call" - } - }, - "updatePhoneCallSignalingData": { - "name": "updatePhoneCallSignalingData", - "description": [ - "Incoming phone call signaling payload" - ], - "fields": { - "data": "Signaling payload", - "phone_call_id": "Phone call ID" - } - }, - "updatePinnedChannelMessages": { - "name": "updatePinnedChannelMessages", - "description": [ - "Messages were pinned/unpinned in a channel/supergroup" - ], - "fields": { - "channel_id": "Channel ID", - "flags": "Flags, see TL conditional fields", - "messages": "Messages", - "pinned": "Whether the messages were pinned or unpinned", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updatePinnedDialogs": { - "name": "updatePinnedDialogs", - "description": [ - "Pinned dialogs were updated" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "order": "New order of pinned dialogs" - } - }, - "updatePinnedMessages": { - "name": "updatePinnedMessages", - "description": [ - "Some messages were pinned in a chat" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "messages": "Message IDs", - "peer": "Peer", - "pinned": "Whether the messages were pinned or unpinned", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updatePrivacy": { - "name": "updatePrivacy", - "description": [ - "Privacy rules were changed" - ], - "fields": { - "key": "Peers to which the privacy rules apply", - "rules": "New privacy rules" - } - }, - "updatePtsChanged": { - "name": "updatePtsChanged", - "description": [ - "Common message box sequence PTS has changed, state has to be refetched using updates.getState" - ] - }, - "updateReadChannelDiscussionInbox": { - "name": "updateReadChannelDiscussionInbox", - "description": [ - "Incoming comments in a discussion thread were marked as read" - ], - "fields": { - "broadcast_id": "If set, contains the ID of the channel that contains the post that started the comment thread in the discussion group (channel_id)", - "broadcast_post": "If set, contains the ID of the channel post that started the the comment thread", - "channel_id": "Discussion group ID", - "flags": "Flags, see TL conditional fields", - "read_max_id": "Message ID of latest read incoming message for this thread", - "top_msg_id": "ID of the group message that started the thread (message in linked discussion group)" - } - }, - "updateReadChannelDiscussionOutbox": { - "name": "updateReadChannelDiscussionOutbox", - "description": [ - "Outgoing comments in a discussion thread were marked as read" - ], - "fields": { - "channel_id": "Supergroup ID", - "read_max_id": "Message ID of latest read outgoing message for this thread", - "top_msg_id": "ID of the group message that started the thread" - } - }, - "updateReadChannelInbox": { - "name": "updateReadChannelInbox", - "description": [ - "Incoming messages in a channel/supergroup were read" - ], - "fields": { - "channel_id": "Channel/supergroup ID", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "max_id": "Position up to which all incoming messages are read.", - "pts": "Event count after generation", - "still_unread_count": "Count of messages weren't read yet" - } - }, - "updateReadChannelOutbox": { - "name": "updateReadChannelOutbox", - "description": [ - "Outgoing messages in a channel/supergroup were read" - ], - "fields": { - "channel_id": "Channel/supergroup ID", - "max_id": "Position up to which all outgoing messages are read." - } - }, - "updateReadFeaturedStickers": { - "name": "updateReadFeaturedStickers", - "description": [ - "Some featured stickers were marked as read" - ] - }, - "updateReadHistoryInbox": { - "name": "updateReadHistoryInbox", - "description": [ - "Incoming messages were read" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "max_id": "Maximum ID of messages read", - "peer": "Peer", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated", - "still_unread_count": "Number of messages that are still unread" - } - }, - "updateReadHistoryOutbox": { - "name": "updateReadHistoryOutbox", - "description": [ - "Outgoing messages were read" - ], - "fields": { - "max_id": "Maximum ID of read outgoing messages", - "peer": "Peer", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updateReadMessagesContents": { - "name": "updateReadMessagesContents", - "description": [ - "Contents of messages in the common message box were read" - ], - "fields": { - "messages": "IDs of read messages", - "pts": "Event count after generation", - "pts_count": "Number of events that were generated" - } - }, - "updateRecentStickers": { - "name": "updateRecentStickers", - "description": [ - "The recent sticker list was updated" - ] - }, - "updateSavedGifs": { - "name": "updateSavedGifs", - "description": [ - "The saved gif list has changed, the client should refetch it using messages.getSavedGifs" - ] - }, - "updateServiceNotification": { - "name": "updateServiceNotification", - "description": [ - "A service message for the user.", - "The app must show the message to the user upon receiving this update. In case the popup parameter was passed, the text message must be displayed in a popup alert immediately upon receipt. It is recommended to handle the text as you would an ordinary message in terms of highlighting links, etc. The message must also be stored locally as part of the message history with the user id 777000 (Telegram Notifications)." - ], - "fields": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "inbox_date": "When was the notification receivedThe message must also be stored locally as part of the message history with the user id 777000 (Telegram Notifications).", - "media": "Media content (optional)", - "message": "Message text", - "popup": "(boolTrue) if the message must be displayed in a popup.", - "type": "String, identical in format and contents to the type field in API errors. Describes type of service message. It is acceptable to ignore repeated messages of the same type within a short period of time (15 minutes)." - } - }, - "updateShort": { - "name": "updateShort", - "description": [ - "Shortened constructor containing info on one update not requiring auxiliary data" - ], - "fields": { - "date": "Date of event", - "update": "Update" - } - }, - "updateShortChatMessage": { - "name": "updateShortChatMessage", - "description": [ - "Shortened constructor containing info on one new incoming text message from a chat" - ], - "fields": { - "chat_id": "ID of the chat where the message was sent", - "date": "date", - "entities": "Entities for styled text", - "flags": "Flags, see TL conditional fields", - "from_id": "ID of the sender of the message", - "fwd_from": "Info about a forwarded message", - "id": "ID of the message", - "media_unread": "Whether the message contains some unread mentions", - "mentioned": "Whether we were mentioned in this message", - "message": "Message", - "out": "Whether the message is outgoing", - "pts": "PTS", - "pts_count": "PTS count", - "reply_to": "Reply (thread) information", - "silent": "If true, the message is a silent message, no notifications should be triggered", - "via_bot_id": "Info about the inline bot used to generate this message" - } - }, - "updateShortMessage": { - "name": "updateShortMessage", - "description": [ - "Info about a message sent to (received from) another user" - ], - "fields": { - "date": "date", - "entities": "Entities for styled text", - "flags": "Flags, see TL conditional fields", - "fwd_from": "Info about a forwarded message", - "id": "The message ID", - "media_unread": "Whether there are some unread mentions in this message", - "mentioned": "Whether we were mentioned in the message", - "message": "The message", - "out": "Whether the message is outgoing", - "pts": "PTS", - "pts_count": "PTS count", - "reply_to": "Reply and thread information", - "silent": "If true, the message is a silent message, no notifications should be triggered", - "user_id": "The ID of the sender (if outgoing will be the ID of the destination) of the message", - "via_bot_id": "Info about the inline bot used to generate this message" - } - }, - "updateShortSentMessage": { - "name": "updateShortSentMessage", - "description": [ - "Shortened constructor containing info on one outgoing message to a contact (the destination chat has to be extracted from the method call that returned this object)." - ], - "fields": { - "date": "date", - "entities": "Entities for styled text", - "flags": "Flags, see TL conditional fields", - "id": "ID of the sent message", - "media": "Attached media", - "out": "Whether the message is outgoing", - "pts": "PTS", - "pts_count": "PTS count" - } - }, - "updateStickerSets": { - "name": "updateStickerSets", - "description": [ - "Installed stickersets have changed, the client should refetch them using messages.getAllStickers" - ] - }, - "updateStickerSetsOrder": { - "name": "updateStickerSetsOrder", - "description": [ - "The order of stickersets was changed" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "masks": "Whether the updated stickers are mask stickers", - "order": "New sticker order by sticker ID" - } - }, - "updateTheme": { - "name": "updateTheme", - "description": [ - "A cloud theme was updated" - ], - "fields": { - "theme": "Theme" - } - }, - "updateUserName": { - "name": "updateUserName", - "description": [ - "Changes the user's first name, last name and username." - ], - "fields": { - "first_name": "New first name. Corresponds to the new value of real_first_name field of the userFull constructor.", - "last_name": "New last name. Corresponds to the new value of real_last_name field of the userFull constructor.", - "user_id": "User identifier", - "username": "New username.Parameter added in Layer 18." - } - }, - "updateUserPhone": { - "name": "updateUserPhone", - "description": [ - "A user's phone number was changed" - ], - "fields": { - "phone": "New phone number", - "user_id": "User ID" - } - }, - "updateUserPhoto": { - "name": "updateUserPhoto", - "description": [ - "Change of contact's profile photo." - ], - "fields": { - "date": "Date of photo update.", - "photo": "New profile photo", - "previous": "(boolTrue), if one of the previously used photos is set a profile photo.", - "user_id": "User identifier" - } - }, - "updateUserStatus": { - "name": "updateUserStatus", - "description": [ - "Contact status update." - ], - "fields": { - "status": "New status", - "user_id": "User identifier" - } - }, - "updateUserTyping": { - "name": "updateUserTyping", - "description": [ - "The user is preparing a message; typing, recording, uploading, etc. This update is valid for 6 seconds. If no repeated update received after 6 seconds, it should be considered that the user stopped doing whatever he's been doing." - ], - "fields": { - "action": "Action typeParam added in Layer 17.", - "user_id": "User id" - } - }, - "updateWebPage": { - "name": "updateWebPage", - "description": [ - "An instant view webpage preview was generated" - ], - "fields": { - "pts": "Event count after generation", - "pts_count": "Number of events that were generated", - "webpage": "Webpage preview" - } - }, - "updates.channelDifference": { - "name": "updates.channelDifference", - "description": [ - "The new updates" - ], - "fields": { - "chats": "Chats", - "final": "Whether there are more updates to be fetched using getDifference, starting from the provided pts", - "flags": "Flags, see TL conditional fields", - "new_messages": "New messages", - "other_updates": "Other updates", - "pts": "The PTS from which to start getting updates the next time", - "timeout": "Clients are supposed to refetch the channel difference after timeout seconds have elapsed", - "users": "Users" - } - }, - "updates.channelDifferenceEmpty": { - "name": "updates.channelDifferenceEmpty", - "description": [ - "There are no new updates" - ], - "fields": { - "final": "Whether there are more updates that must be fetched (always false)", - "flags": "Flags, see TL conditional fields", - "pts": "The latest PTS", - "timeout": "Clients are supposed to refetch the channel difference after timeout seconds have elapsed" - } - }, - "updates.channelDifferenceTooLong": { - "name": "updates.channelDifferenceTooLong", - "description": [ - "The provided pts + limit \u003c remote pts. Simply, there are too many updates to be fetched (more than limit), the client has to resolve the update gap in one of the following ways:" - ], - "fields": { - "chats": "Chats from messages", - "dialog": "Dialog containing the latest PTS that can be used to reset the channel state", - "final": "Whether there are more updates that must be fetched (always false)", - "flags": "Flags, see TL conditional fields", - "messages": "The latest messages", - "timeout": "Clients are supposed to refetch the channel difference after timeout seconds have elapsed", - "users": "Users from messages" - } - }, - "updates.difference": { - "name": "updates.difference", - "description": [ - "Full list of occurred events." - ], - "fields": { - "chats": "List of chats mentioned in events", - "new_encrypted_messages": "List of new encrypted secret chat messages", - "new_messages": "List of new messages", - "other_updates": "List of updates", - "state": "Current state", - "users": "List of users mentioned in events" - } - }, - "updates.differenceEmpty": { - "name": "updates.differenceEmpty", - "description": [ - "No events." - ], - "fields": { - "date": "Current date", - "seq": "Number of sent updates" - } - }, - "updates.differenceSlice": { - "name": "updates.differenceSlice", - "description": [ - "Incomplete list of occurred events." - ], - "fields": { - "chats": "List of chats mentioned in events", - "intermediate_state": "Intermediary state", - "new_encrypted_messages": "New messages from the encrypted event sequence", - "new_messages": "List of new messgaes", - "other_updates": "List of updates", - "users": "List of users mentioned in events" - } - }, - "updates.differenceTooLong": { - "name": "updates.differenceTooLong", - "description": [ - "The difference is too long, and the specified state must be used to refetch updates." - ], - "fields": { - "pts": "The new state to use." - } - }, - "updates.state": { - "name": "updates.state", - "description": [ - "Updates state." - ], - "fields": { - "date": "Date of condition", - "pts": "Number of events occured in a text box", - "qts": "Position in a sequence of updates in secret chats. For further detailes refer to article secret chatsParameter was added in eigth layer.", - "seq": "Number of sent updates", - "unread_count": "Number of unread messages" - } - }, - "updatesCombined": { - "name": "updatesCombined", - "description": [ - "Constructor for a group of updates." - ], - "fields": { - "chats": "List of chats mentioned in updates", - "date": "Current date", - "seq": "Value seq for the latest update in a group", - "seq_start": "Value seq for the earliest update in a group", - "updates": "List of updates", - "users": "List of users mentioned in updates" - } - }, - "updatesTooLong": { - "name": "updatesTooLong", - "description": [ - "Too many updates, it is necessary to execute updates.getDifference." - ] - }, - "upload.cdnFile": { - "name": "upload.cdnFile", - "description": [ - "Represent a chunk of a CDN file." - ], - "fields": { - "bytes": "The data" - } - }, - "upload.cdnFileReuploadNeeded": { - "name": "upload.cdnFileReuploadNeeded", - "description": [ - "The file was cleared from the temporary RAM cache of the CDN and has to be reuploaded." - ], - "fields": { - "request_token": "Request token (see CDN)" - } - }, - "upload.file": { - "name": "upload.file", - "description": [ - "File content." - ], - "fields": { - "bytes": "Binary data, file content", - "mtime": "Modification type", - "type": "File type" - } - }, - "upload.fileCdnRedirect": { - "name": "upload.fileCdnRedirect", - "description": [ - "The file must be downloaded from a CDN DC." - ], - "fields": { - "dc_id": "CDN DC ID", - "encryption_iv": "Encryption IV (see CDN files)", - "encryption_key": "Encryption key (see CDN files)", - "file_hashes": "File hashes (see CDN files)", - "file_token": "File token (see CDN files)" - } - }, - "upload.webFile": { - "name": "upload.webFile", - "description": [ - "Represents a chunk of an HTTP webfile downloaded through telegram's secure MTProto servers" - ], - "fields": { - "bytes": "Data", - "file_type": "File type", - "mime_type": "Mime type", - "mtime": "Modified time", - "size": "File size" - } - }, - "urlAuthResultAccepted": { - "name": "urlAuthResultAccepted", - "description": [ - "Details about an accepted authorization request, for more info click here »" - ], - "fields": { - "url": "The URL name of the website on which the user has logged in." - } - }, - "urlAuthResultDefault": { - "name": "urlAuthResultDefault", - "description": [ - "Details about an accepted authorization request, for more info click here »" - ] - }, - "urlAuthResultRequest": { - "name": "urlAuthResultRequest", - "description": [ - "Details about the authorization request, for more info click here »" - ], - "fields": { - "bot": "Username of a bot, which will be used for user authorization. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot for more details.", - "domain": "The domain name of the website on which the user will log in.", - "flags": "Flags, see TL conditional fields", - "request_write_access": "Whether the bot would like to send messages to the user" - } - }, - "user": { - "name": "user", - "description": [ - "Indicates info about a certain user" - ], - "fields": { - "access_hash": "Access hash of the user", - "apply_min_photo": "If set, the profile picture for this user should be refetched", - "bot": "Is this user a bot?", - "bot_chat_history": "Can the bot see all messages in groups?", - "bot_info_version": "Version of the bot_info field in userFull, incremented every time it changes", - "bot_inline_geo": "Whether the bot can request our geolocation in inline mode", - "bot_inline_placeholder": "Inline placeholder for this inline bot", - "bot_nochats": "Can the bot be added to groups?", - "contact": "Whether this user is a contact", - "deleted": "Whether the account of this user was deleted", - "first_name": "First name", - "flags": "Flags, see TL conditional fields", - "id": "ID of the user", - "lang_code": "Language code of the user", - "last_name": "Last name", - "min": "See min", - "mutual_contact": "Whether this user is a mutual contact", - "phone": "Phone number", - "photo": "Profile picture of user", - "restricted": "Access to this user must be restricted for the reason specified in restriction_reason", - "restriction_reason": "Contains the reason why access to this user must be restricted.", - "scam": "This may be a scam user", - "self": "Whether this user indicates the currently logged in user", - "status": "Online status of user", - "support": "Whether this is an official support user", - "username": "Username", - "verified": "Whether this user is verified" - } - }, - "userEmpty": { - "name": "userEmpty", - "description": [ - "Empty constructor, non-existent user." - ], - "fields": { - "id": "User identifier or 0" - } - }, - "userFull": { - "name": "userFull", - "description": [ - "Extended user info" - ], - "fields": { - "about": "Bio of the user", - "blocked": "Whether you have blocked this user", - "bot_info": "For bots, info about the bot (bot commands, etc)", - "can_pin_message": "Whether you can pin messages in the chat with this user, you can do this only for a chat with yourself", - "common_chats_count": "Chats in common with this user", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "has_scheduled": "Whether scheduled messages are available", - "notify_settings": "Notification settings", - "phone_calls_available": "Whether this user can make VoIP calls", - "phone_calls_private": "Whether this user's privacy settings allow you to call him", - "pinned_msg_id": "Message ID of the last pinned message", - "profile_photo": "Profile photo", - "settings": "Peer settings", - "user": "Remaining user info", - "video_calls_available": "Whether the user can receive video calls" - } - }, - "userProfilePhoto": { - "name": "userProfilePhoto", - "description": [ - "User profile photo." - ], - "fields": { - "dc_id": "DC ID where the photo is stored", - "flags": "Flags, see TL conditional fields", - "has_video": "Whether an animated profile picture is available for this user", - "photo_big": "Location of the file, corresponding to the big profile photo thumbnail", - "photo_id": "Identifier of the respective photoParameter added in Layer 2", - "photo_small": "Location of the file, corresponding to the small profile photo thumbnail" - } - }, - "userProfilePhotoEmpty": { - "name": "userProfilePhotoEmpty", - "description": [ - "Profile photo has not been set, or was hidden." - ] - }, - "userStatusEmpty": { - "name": "userStatusEmpty", - "description": [ - "User status has not been set yet." - ] - }, - "userStatusLastMonth": { - "name": "userStatusLastMonth", - "description": [ - "Online status: last seen last month" - ] - }, - "userStatusLastWeek": { - "name": "userStatusLastWeek", - "description": [ - "Online status: last seen last week" - ] - }, - "userStatusOffline": { - "name": "userStatusOffline", - "description": [ - "The user's offline status." - ], - "fields": { - "was_online": "Time the user was last seen online" - } - }, - "userStatusOnline": { - "name": "userStatusOnline", - "description": [ - "Online status of the user." - ], - "fields": { - "expires": "Time to expiration of the current online status" - } - }, - "userStatusRecently": { - "name": "userStatusRecently", - "description": [ - "Online status: last seen recently" - ] - }, - "vector": { - "name": "vector", - "description": [ - "A universal vector constructor." - ] - }, - "videoSize": { - "name": "videoSize", - "description": [ - "Animated profile picture in MPEG4 format" - ], - "fields": { - "flags": "Flags, see TL conditional fields", - "h": "Video height", - "location": "File location", - "size": "File size", - "type": "u for animated profile pictures, and v for trimmed and downscaled video previews", - "video_start_ts": "Timestamp that should be shown as static preview to the user (seconds)", - "w": "Video width" - } - }, - "wallPaper": { - "name": "wallPaper", - "description": [ - "Wallpaper settings." - ], - "fields": { - "access_hash": "Access hash", - "creator": "Creator of the wallpaper", - "dark": "Dark mode", - "default": "Whether this is the default wallpaper", - "document": "The actual wallpaper", - "flags": "Flags, see TL conditional fields", - "id": "Identifier", - "pattern": "Pattern", - "settings": "Wallpaper settings", - "slug": "Unique wallpaper ID" - } - }, - "wallPaperNoFile": { - "name": "wallPaperNoFile", - "description": [ - "No file wallpaper" - ], - "fields": { - "dark": "Dark mode", - "default": "Whether this is the default wallpaper", - "flags": "Flags, see TL conditional fields", - "settings": "Wallpaper settings" - } - }, - "wallPaperSettings": { - "name": "wallPaperSettings", - "description": [ - "Wallpaper settings" - ], - "fields": { - "background_color": "If set, a PNG pattern is to be combined with the color chosen by the user: the main color of the background in RGB24 format", - "blur": "If set, the wallpaper must be downscaled to fit in 450x450 square and then box-blurred with radius 12", - "flags": "Flags, see TL conditional fields", - "intensity": "Intensity of the pattern when it is shown above the main background color, 0-100", - "motion": "If set, the background needs to be slightly moved when device is rotated", - "rotation": "Clockwise rotation angle of the gradient, in degrees; 0-359. Should be always divisible by 45", - "second_background_color": "If set, a PNG pattern is to be combined with the first and second background colors (RGB24 format) in a top-bottom gradient" - } - }, - "webAuthorization": { - "name": "webAuthorization", - "description": [ - "Represents a bot logged in using the Telegram login widget" - ], - "fields": { - "bot_id": "Bot ID", - "browser": "Browser user-agent", - "date_active": "When was the web session last active", - "date_created": "When was the web session created", - "domain": "The domain name of the website on which the user has logged in.", - "hash": "Authorization hash", - "ip": "IP address", - "platform": "Platform", - "region": "Region, determined from IP address" - } - }, - "webDocument": { - "name": "webDocument", - "description": [ - "Remote document" - ], - "fields": { - "access_hash": "Access hash", - "attributes": "Attributes for media types", - "mime_type": "MIME type", - "size": "File size", - "url": "Document URL" - } - }, - "webDocumentNoProxy": { - "name": "webDocumentNoProxy", - "description": [ - "Remote document that can be downloaded without proxying through telegram" - ], - "fields": { - "attributes": "Attributes for media types", - "mime_type": "MIME type", - "size": "File size", - "url": "Document URL" - } - }, - "webPage": { - "name": "webPage", - "description": [ - "Webpage preview" - ], - "fields": { - "attributes": "Webpage attributes", - "author": "Author of the content", - "cached_page": "Page contents in instant view format", - "description": "Content description", - "display_url": "Webpage URL to be displayed to the user", - "document": "Preview of the content as a media file", - "duration": "Duration of the content, in seconds", - "embed_height": "Height of the embedded preview", - "embed_type": "MIME type of the embedded preview, (e.g., text/html or video/mp4)", - "embed_url": "URL to show in the embedded preview", - "embed_width": "Width of the embedded preview", - "flags": "Flags, see TL conditional fields", - "hash": "Hash for pagination, for more info click here", - "id": "Preview ID", - "photo": "Image representing the content", - "site_name": "Short name of the site (e.g., Google Docs, App Store)", - "title": "Title of the content", - "type": "Type of the web page. Can be: article, photo, audio, video, document, profile, app, or something else", - "url": "URL of previewed webpage" - } - }, - "webPageAttributeTheme": { - "name": "webPageAttributeTheme", - "description": [ - "Page theme" - ], - "fields": { - "documents": "Theme files", - "flags": "Flags, see TL conditional fields", - "settings": "Theme settings" - } - }, - "webPageEmpty": { - "name": "webPageEmpty", - "description": [ - "No preview is available for the webpage" - ], - "fields": { - "id": "Preview ID" - } - }, - "webPageNotModified": { - "name": "webPageNotModified", - "description": [ - "The preview of the webpage hasn't changed" - ], - "fields": { - "cached_page_views": "Page view count", - "flags": "Flags, see TL conditional fields" - } - }, - "webPagePending": { - "name": "webPagePending", - "description": [ - "A preview of the webpage is currently being generated" - ], - "fields": { - "date": "When was the processing started", - "id": "ID of preview" - } - } - }, - "types": { - "#": { - "name": "#", - "description": [ - "A basic bare type, the values of which correspond to single-element sequences, i.e. unsigned numbers from 0 to 2^32-1 which in this case represent themselves.", - "More on basic types »" - ] - }, - "Account.AuthorizationForm": { - "name": "Account.AuthorizationForm", - "description": [ - "Authorization form" - ] - }, - "Account.Authorizations": { - "name": "Account.Authorizations", - "description": [ - "Logged-in sessions" - ] - }, - "Account.AutoDownloadSettings": { - "name": "Account.AutoDownloadSettings", - "description": [ - "Media autodownload settings" - ] - }, - "Account.PrivacyRules": { - "name": "Account.PrivacyRules", - "description": [ - "Privacy rules" - ] - }, - "Account.Takeout": { - "name": "Account.Takeout", - "description": [ - "Takeout info" - ] - }, - "Account.TmpPassword": { - "name": "Account.TmpPassword", - "description": [ - "Temporary password" - ] - }, - "Account.WallPapers": { - "name": "Account.WallPapers", - "description": [ - "Wallpapers" - ] - }, - "Account.WebAuthorizations": { - "name": "Account.WebAuthorizations", - "description": [ - "Web authorizations" - ] - }, - "AccountDaysTTL": { - "name": "AccountDaysTTL", - "description": [ - "Time-to-live of current account" - ] - }, - "Auth.ExportedAuthorization": { - "name": "Auth.ExportedAuthorization", - "description": [ - "Exported authorization" - ] - }, - "Authorization": { - "name": "Authorization", - "description": [ - "Represents a logged-in session" - ] - }, - "AutoDownloadSettings": { - "name": "AutoDownloadSettings", - "description": [ - "Media autodownload settings" - ] - }, - "BankCardOpenUrl": { - "name": "BankCardOpenUrl", - "description": [ - "Credit card info URL provided by the bank" - ] - }, - "BaseTheme": { - "name": "BaseTheme", - "description": [ - "Basic theme settings" - ] - }, - "Bool": { - "name": "Bool", - "description": [ - "Boolean type." - ] - }, - "BotCommand": { - "name": "BotCommand", - "description": [ - "Describes a bot command that can be used in a chat" - ] - }, - "BotInfo": { - "name": "BotInfo", - "description": [ - "Info about bots (available bot commands, etc)" - ] - }, - "BotInlineMessage": { - "name": "BotInlineMessage", - "description": [ - "Inline message" - ] - }, - "BotInlineResult": { - "name": "BotInlineResult", - "description": [ - "Results of an inline query" - ] - }, - "CdnConfig": { - "name": "CdnConfig", - "description": [ - "Configuration for CDN file downloads." - ] - }, - "CdnPublicKey": { - "name": "CdnPublicKey", - "description": [ - "Public key to use only during handshakes to CDN DCs." - ] - }, - "ChannelAdminLogEvent": { - "name": "ChannelAdminLogEvent", - "description": [ - "An event in a channel admin log" - ] - }, - "ChannelAdminLogEventAction": { - "name": "ChannelAdminLogEventAction", - "description": [ - "Channel admin log event" - ] - }, - "ChannelAdminLogEventsFilter": { - "name": "ChannelAdminLogEventsFilter", - "description": [ - "Filter for fetching events in the channel admin log" - ] - }, - "ChannelLocation": { - "name": "ChannelLocation", - "description": [ - "Geographical location of supergroup (geogroups)" - ] - }, - "ChannelMessagesFilter": { - "name": "ChannelMessagesFilter", - "description": [ - "Filter for fetching only certain types of channel messages" - ] - }, - "ChannelParticipant": { - "name": "ChannelParticipant", - "description": [ - "Channel participant" - ] - }, - "ChannelParticipantsFilter": { - "name": "ChannelParticipantsFilter", - "description": [ - "Filter for fetching channel participants" - ] - }, - "Channels.AdminLogResults": { - "name": "Channels.AdminLogResults", - "description": [ - "Admin log events" - ] - }, - "Channels.ChannelParticipant": { - "name": "Channels.ChannelParticipant", - "description": [ - "Channel participant" - ] - }, - "Channels.ChannelParticipants": { - "name": "Channels.ChannelParticipants", - "description": [ - "Channel/supergroup participants" - ] - }, - "Chat": { - "name": "Chat", - "description": [ - "Object defines a group." - ] - }, - "ChatAdminRights": { - "name": "ChatAdminRights", - "description": [ - "Represents the rights of an admin in a channel/supergroup." - ] - }, - "ChatBannedRights": { - "name": "ChatBannedRights", - "description": [ - "Represents the rights of a normal user in a supergroup/channel/chat." - ] - }, - "ChatFull": { - "name": "ChatFull", - "description": [ - "Object containing detailed group info" - ] - }, - "ChatInvite": { - "name": "ChatInvite", - "description": [ - "Chat invite" - ] - }, - "ChatOnlines": { - "name": "ChatOnlines", - "description": [ - "Number of online users in a chat" - ] - }, - "ChatParticipant": { - "name": "ChatParticipant", - "description": [ - "Details of a group member." - ] - }, - "ChatParticipants": { - "name": "ChatParticipants", - "description": [ - "Object contains info on group members." - ] - }, - "ChatPhoto": { - "name": "ChatPhoto", - "description": [ - "Object defines a group profile photo." - ] - }, - "CodeSettings": { - "name": "CodeSettings", - "description": [ - "Settings for the code type to send" - ] - }, - "Config": { - "name": "Config", - "description": [ - "Object contains info on API configuring parameters." - ] - }, - "Contact": { - "name": "Contact", - "description": [ - "A contact of the current user." - ] - }, - "ContactStatus": { - "name": "ContactStatus", - "description": [ - "Contact status: online / offline." - ] - }, - "Contacts.ResolvedPeer": { - "name": "Contacts.ResolvedPeer", - "description": [ - "Peer returned after resolving a @username" - ] - }, - "Contacts.TopPeers": { - "name": "Contacts.TopPeers", - "description": [ - "Top peers" - ] - }, - "DataJSON": { - "name": "DataJSON", - "description": [ - "Represent a JSON-encoded object" - ] - }, - "DcOption": { - "name": "DcOption", - "description": [ - "Information for connection to data centre." - ] - }, - "Dialog": { - "name": "Dialog", - "description": [ - "Chat info." - ] - }, - "DialogFilter": { - "name": "DialogFilter", - "description": [ - "Dialog filter (folders)" - ] - }, - "DialogFilterSuggested": { - "name": "DialogFilterSuggested", - "description": [ - "Suggested dialog filters (folders)" - ] - }, - "DialogPeer": { - "name": "DialogPeer", - "description": [ - "Peer, or all peers in a folder" - ] - }, - "Document": { - "name": "Document", - "description": [ - "A document." - ] - }, - "DocumentAttribute": { - "name": "DocumentAttribute", - "description": [ - "Various possible attributes of a document (used to define if it's a sticker, a GIF, a video, a mask sticker, an image, an audio, and so on)" - ] - }, - "DraftMessage": { - "name": "DraftMessage", - "description": [ - "Represents a message draft." - ] - }, - "EmojiKeyword": { - "name": "EmojiKeyword", - "description": [ - "Emoji keyword" - ] - }, - "EmojiKeywordsDifference": { - "name": "EmojiKeywordsDifference", - "description": [ - "New emoji keywords" - ] - }, - "EmojiLanguage": { - "name": "EmojiLanguage", - "description": [ - "Emoji language" - ] - }, - "EmojiURL": { - "name": "EmojiURL", - "description": [ - "Emoji URL" - ] - }, - "EncryptedChat": { - "name": "EncryptedChat", - "description": [ - "Object contains info on an encrypted chat." - ] - }, - "EncryptedFile": { - "name": "EncryptedFile", - "description": [ - "Seta an encrypted file." - ] - }, - "EncryptedMessage": { - "name": "EncryptedMessage", - "description": [ - "Object contains encrypted message." - ] - }, - "Error": { - "name": "Error", - "description": [ - "An object containing a query error." - ] - }, - "ExportedChatInvite": { - "name": "ExportedChatInvite", - "description": [ - "Exported chat invite" - ] - }, - "ExportedMessageLink": { - "name": "ExportedMessageLink", - "description": [ - "HTTP link and embed info of channel message" - ] - }, - "FileHash": { - "name": "FileHash", - "description": [ - "Hash of an uploaded file, to be checked for validity after download" - ] - }, - "FileLocation": { - "name": "FileLocation", - "description": [ - "Indicates the location of a photo, will be deprecated soon" - ] - }, - "Folder": { - "name": "Folder", - "description": [ - "A folder" - ] - }, - "FolderPeer": { - "name": "FolderPeer", - "description": [ - "Peer associated to folder" - ] - }, - "Game": { - "name": "Game", - "description": [ - "Indicates an already sent game" - ] - }, - "GeoPoint": { - "name": "GeoPoint", - "description": [ - "Object defines a GeoPoint." - ] - }, - "GlobalPrivacySettings": { - "name": "GlobalPrivacySettings", - "description": [ - "Global privacy settings" - ] - }, - "Help.DeepLinkInfo": { - "name": "Help.DeepLinkInfo", - "description": [ - "Contains information about a tg:// deep link" - ] - }, - "Help.PassportConfig": { - "name": "Help.PassportConfig", - "description": [ - "Telegram passport configuration" - ] - }, - "Help.RecentMeUrls": { - "name": "Help.RecentMeUrls", - "description": [ - "Recent t.me URLs" - ] - }, - "Help.SupportName": { - "name": "Help.SupportName", - "description": [ - "Get localized name for support user" - ] - }, - "Help.TermsOfServiceUpdate": { - "name": "Help.TermsOfServiceUpdate", - "description": [ - "Update of Telegram's terms of service" - ] - }, - "Help.UserInfo": { - "name": "Help.UserInfo", - "description": [ - "User info" - ] - }, - "HighScore": { - "name": "HighScore", - "description": [ - "Game high score" - ] - }, - "ImportedContact": { - "name": "ImportedContact", - "description": [ - "Object contains info on a successfully imported contact." - ] - }, - "InlineBotSwitchPM": { - "name": "InlineBotSwitchPM", - "description": [ - "The bot requested the user to message him in private" - ] - }, - "InputAppEvent": { - "name": "InputAppEvent", - "description": [ - "Object contains info about an event that occured in the application." - ] - }, - "InputBotInlineMessage": { - "name": "InputBotInlineMessage", - "description": [ - "Represents a sent inline message from the perspective of a bot" - ] - }, - "InputBotInlineMessageID": { - "name": "InputBotInlineMessageID", - "description": [ - "Represents a sent inline message from the perspective of a bot" - ] - }, - "InputBotInlineResult": { - "name": "InputBotInlineResult", - "description": [ - "Inline bot result" - ] - }, - "InputChannel": { - "name": "InputChannel", - "description": [ - "Represents a channel" - ] - }, - "InputChatPhoto": { - "name": "InputChatPhoto", - "description": [ - "Defines a new group profile photo." - ] - }, - "InputCheckPasswordSRP": { - "name": "InputCheckPasswordSRP", - "description": [ - "Constructors for checking the validity of a 2FA SRP password" - ] - }, - "InputClientProxy": { - "name": "InputClientProxy", - "description": [ - "Info about an MTProxy used to connect." - ] - }, - "InputContact": { - "name": "InputContact", - "description": [ - "Object defines a contact from the user's phonebook." - ] - }, - "InputDialogPeer": { - "name": "InputDialogPeer", - "description": [ - "Peer, or all peers in a certain folder" - ] - }, - "InputDocument": { - "name": "InputDocument", - "description": [ - "Defines a document for subsequent interaction." - ] - }, - "InputEncryptedChat": { - "name": "InputEncryptedChat", - "description": [ - "Object sets an encrypted chat ID." - ] - }, - "InputEncryptedFile": { - "name": "InputEncryptedFile", - "description": [ - "Object sets encrypted file for attachment" - ] - }, - "InputFile": { - "name": "InputFile", - "description": [ - "Defines a file uploaded by the client." - ] - }, - "InputFileLocation": { - "name": "InputFileLocation", - "description": [ - "Defines the location of a file for download." - ] - }, - "InputFolderPeer": { - "name": "InputFolderPeer", - "description": [ - "Peer in a folder" - ] - }, - "InputGame": { - "name": "InputGame", - "description": [ - "A game to send" - ] - }, - "InputGeoPoint": { - "name": "InputGeoPoint", - "description": [ - "Defines a GeoPoint." - ] - }, - "InputMedia": { - "name": "InputMedia", - "description": [ - "Defines media content of a message." - ] - }, - "InputMessage": { - "name": "InputMessage", - "description": [ - "A message" - ] - }, - "InputNotifyPeer": { - "name": "InputNotifyPeer", - "description": [ - "Object defines the set of users and/or groups that generate notifications." - ] - }, - "InputPaymentCredentials": { - "name": "InputPaymentCredentials", - "description": [ - "Payment credentials" - ] - }, - "InputPeer": { - "name": "InputPeer", - "description": [ - "Peer" - ] - }, - "InputPeerNotifySettings": { - "name": "InputPeerNotifySettings", - "description": [ - "Notifications settings." - ] - }, - "InputPhoneCall": { - "name": "InputPhoneCall", - "description": [ - "Phone call" - ] - }, - "InputPhoto": { - "name": "InputPhoto", - "description": [ - "Defines a photo for further interaction." - ] - }, - "InputPrivacyKey": { - "name": "InputPrivacyKey", - "description": [ - "Privacy key" - ] - }, - "InputPrivacyRule": { - "name": "InputPrivacyRule", - "description": [ - "Privacy rule" - ] - }, - "InputSecureFile": { - "name": "InputSecureFile", - "description": [ - "Secure passport file, for more info see the passport docs »" - ] - }, - "InputSecureValue": { - "name": "InputSecureValue", - "description": [ - "Secure value, for more info see the passport docs »" - ] - }, - "InputSingleMedia": { - "name": "InputSingleMedia", - "description": [ - "A single media in an album or grouped media sent with messages.sendMultiMedia." - ] - }, - "InputStickerSet": { - "name": "InputStickerSet", - "description": [ - "Represents a stickerset" - ] - }, - "InputStickerSetItem": { - "name": "InputStickerSetItem", - "description": [ - "Sticker" - ] - }, - "InputStickeredMedia": { - "name": "InputStickeredMedia", - "description": [ - "Represents a media with attached stickers" - ] - }, - "InputTheme": { - "name": "InputTheme", - "description": [ - "Cloud theme" - ] - }, - "InputThemeSettings": { - "name": "InputThemeSettings", - "description": [ - "Theme settings" - ] - }, - "InputUser": { - "name": "InputUser", - "description": [ - "Defines a user for subsequent interaction." - ] - }, - "InputWallPaper": { - "name": "InputWallPaper", - "description": [ - "Wallpaper" - ] - }, - "InputWebDocument": { - "name": "InputWebDocument", - "description": [ - "Specifies a document that will have to be downloaded from the URL by the telegram servers" - ] - }, - "InputWebFileLocation": { - "name": "InputWebFileLocation", - "description": [ - "Location of remote file" - ] - }, - "Invoice": { - "name": "Invoice", - "description": [ - "Invoice" - ] - }, - "JSONObjectValue": { - "name": "JSONObjectValue", - "description": [ - "JSON key: value pair" - ] - }, - "JSONValue": { - "name": "JSONValue", - "description": [ - "JSON value" - ] - }, - "KeyboardButton": { - "name": "KeyboardButton", - "description": [ - "Bot or inline keyboard buttons" - ] - }, - "KeyboardButtonRow": { - "name": "KeyboardButtonRow", - "description": [ - "Bot or inline keyboard rows" - ] - }, - "LabeledPrice": { - "name": "LabeledPrice", - "description": [ - "Labeled pricetag" - ] - }, - "LangPackDifference": { - "name": "LangPackDifference", - "description": [ - "Language pack changes" - ] - }, - "LangPackLanguage": { - "name": "LangPackLanguage", - "description": [ - "Language pack language" - ] - }, - "LangPackString": { - "name": "LangPackString", - "description": [ - "Language pack string" - ] - }, - "MaskCoords": { - "name": "MaskCoords", - "description": [ - "Mask coordinates (if this is a mask sticker, attached to a photo)" - ] - }, - "Message": { - "name": "Message", - "description": [ - "Object describing a message." - ] - }, - "MessageAction": { - "name": "MessageAction", - "description": [ - "Object describing actions connected to a service message." - ] - }, - "MessageEntity": { - "name": "MessageEntity", - "description": [ - "Message entities, representing styled text in a message" - ] - }, - "MessageFwdHeader": { - "name": "MessageFwdHeader", - "description": [ - "Info about a forwarded message" - ] - }, - "MessageInteractionCounters": { - "name": "MessageInteractionCounters", - "description": [ - "Message interaction counters" - ] - }, - "MessageMedia": { - "name": "MessageMedia", - "description": [ - "Media" - ] - }, - "MessageRange": { - "name": "MessageRange", - "description": [ - "Indicates a range of chat messages" - ] - }, - "MessageReplies": { - "name": "MessageReplies", - "description": [ - "Info about post comments (for channels) or message replies (for groups)" - ] - }, - "MessageReplyHeader": { - "name": "MessageReplyHeader", - "description": [ - "Reply information" - ] - }, - "MessageUserVote": { - "name": "MessageUserVote", - "description": [ - "How a user voted in a poll" - ] - }, - "MessageViews": { - "name": "MessageViews", - "description": [ - "View, forward counter + info about replies of a specific message" - ] - }, - "Messages.AffectedMessages": { - "name": "Messages.AffectedMessages", - "description": [ - "Messages affected by changes" - ] - }, - "Messages.AllStickers": { - "name": "Messages.AllStickers", - "description": [ - "All stickers" - ] - }, - "Messages.ArchivedStickers": { - "name": "Messages.ArchivedStickers", - "description": [ - "Archived stickers" - ] - }, - "Messages.BotCallbackAnswer": { - "name": "Messages.BotCallbackAnswer", - "description": [ - "Callback answer of bot" - ] - }, - "Messages.DhConfig": { - "name": "Messages.DhConfig", - "description": [ - "Contains info on cofiguring parameters for key generation by Diffie-Hellman protocol." - ] - }, - "Messages.FavedStickers": { - "name": "Messages.FavedStickers", - "description": [ - "Favorited stickers" - ] - }, - "Messages.FeaturedStickers": { - "name": "Messages.FeaturedStickers", - "description": [ - "Featured stickers" - ] - }, - "Messages.FoundStickerSets": { - "name": "Messages.FoundStickerSets", - "description": [ - "Found stickersets" - ] - }, - "Messages.HighScores": { - "name": "Messages.HighScores", - "description": [ - "High scores (in games)" - ] - }, - "Messages.MessageEditData": { - "name": "Messages.MessageEditData", - "description": [ - "Message edit data for media" - ] - }, - "Messages.PeerDialogs": { - "name": "Messages.PeerDialogs", - "description": [ - "List of dialogs" - ] - }, - "Messages.RecentStickers": { - "name": "Messages.RecentStickers", - "description": [ - "Recent stickers" - ] - }, - "Messages.SavedGifs": { - "name": "Messages.SavedGifs", - "description": [ - "Saved GIFs" - ] - }, - "Messages.SearchCounter": { - "name": "Messages.SearchCounter", - "description": [ - "Number of results that would be returned by a search" - ] - }, - "Messages.SentEncryptedMessage": { - "name": "Messages.SentEncryptedMessage", - "description": [ - "Contains info on message sent to an encrypted chat." - ] - }, - "Messages.StickerSet": { - "name": "Messages.StickerSet", - "description": [ - "Stickerset" - ] - }, - "Messages.StickerSetInstallResult": { - "name": "Messages.StickerSetInstallResult", - "description": [ - "Result of stickerset installation process" - ] - }, - "Messages.Stickers": { - "name": "Messages.Stickers", - "description": [ - "Stickers" - ] - }, - "MessagesFilter": { - "name": "MessagesFilter", - "description": [ - "Object describes message filter." - ] - }, - "NearestDc": { - "name": "NearestDc", - "description": [ - "Object contains info on nearest data centre." - ] - }, - "NotifyPeer": { - "name": "NotifyPeer", - "description": [ - "Object defines the set of users and/or groups that generate notifications." - ] - }, - "Null": { - "name": "Null", - "description": [ - "Object corresponds to an arbitrary empty object." - ] - }, - "Page": { - "name": "Page", - "description": [ - "Instant view page" - ] - }, - "PageBlock": { - "name": "PageBlock", - "description": [ - "Represents an instant view page element" - ] - }, - "PageCaption": { - "name": "PageCaption", - "description": [ - "Page caption" - ] - }, - "PageListItem": { - "name": "PageListItem", - "description": [ - "Item in block list" - ] - }, - "PageListOrderedItem": { - "name": "PageListOrderedItem", - "description": [ - "Represents an instant view ordered list" - ] - }, - "PageRelatedArticle": { - "name": "PageRelatedArticle", - "description": [ - "Related articles" - ] - }, - "PageTableCell": { - "name": "PageTableCell", - "description": [ - "Represents a table in an instant view table" - ] - }, - "PageTableRow": { - "name": "PageTableRow", - "description": [ - "Table row" - ] - }, - "PasswordKdfAlgo": { - "name": "PasswordKdfAlgo", - "description": [ - "Key derivation function to use when generating the password hash for SRP two-factor authorization" - ] - }, - "PaymentCharge": { - "name": "PaymentCharge", - "description": [ - "Charged payment" - ] - }, - "PaymentRequestedInfo": { - "name": "PaymentRequestedInfo", - "description": [ - "Requested payment info" - ] - }, - "PaymentSavedCredentials": { - "name": "PaymentSavedCredentials", - "description": [ - "Saved payment credentials" - ] - }, - "Payments.PaymentForm": { - "name": "Payments.PaymentForm", - "description": [ - "Payment form" - ] - }, - "Payments.PaymentReceipt": { - "name": "Payments.PaymentReceipt", - "description": [ - "Payment receipt" - ] - }, - "Payments.PaymentResult": { - "name": "Payments.PaymentResult", - "description": [ - "Payment result" - ] - }, - "Payments.SavedInfo": { - "name": "Payments.SavedInfo", - "description": [ - "Saved payment info" - ] - }, - "Payments.ValidatedRequestedInfo": { - "name": "Payments.ValidatedRequestedInfo", - "description": [ - "Validated requested info" - ] - }, - "Peer": { - "name": "Peer", - "description": [ - "Chat partner or group." - ] - }, - "PeerBlocked": { - "name": "PeerBlocked", - "description": [ - "Info about a blocked user" - ] - }, - "PeerLocated": { - "name": "PeerLocated", - "description": [ - "Geolocated peer" - ] - }, - "PeerNotifySettings": { - "name": "PeerNotifySettings", - "description": [ - "Notification settings." - ] - }, - "PeerSettings": { - "name": "PeerSettings", - "description": [ - "Peer settings" - ] - }, - "Phone.PhoneCall": { - "name": "Phone.PhoneCall", - "description": [ - "Phone call" - ] - }, - "PhoneCall": { - "name": "PhoneCall", - "description": [ - "Phone call" - ] - }, - "PhoneCallDiscardReason": { - "name": "PhoneCallDiscardReason", - "description": [ - "Why was the phone call discarded?" - ] - }, - "PhoneCallProtocol": { - "name": "PhoneCallProtocol", - "description": [ - "Phone call protocol" - ] - }, - "PhoneConnection": { - "name": "PhoneConnection", - "description": [ - "Phone call connection" - ] - }, - "Photo": { - "name": "Photo", - "description": [ - "Object describes a photo." - ] - }, - "PhotoSize": { - "name": "PhotoSize", - "description": [ - "Location of a certain size of a picture" - ] - }, - "Poll": { - "name": "Poll", - "description": [ - "Indicates a poll message" - ] - }, - "PollAnswer": { - "name": "PollAnswer", - "description": [ - "Indicates a possible answer to a poll." - ] - }, - "PollAnswerVoters": { - "name": "PollAnswerVoters", - "description": [ - "How users voted on a certain poll answer" - ] - }, - "PollResults": { - "name": "PollResults", - "description": [ - "Results of poll" - ] - }, - "PopularContact": { - "name": "PopularContact", - "description": [ - "Popular contact" - ] - }, - "PostAddress": { - "name": "PostAddress", - "description": [ - "Shipping address" - ] - }, - "PrivacyKey": { - "name": "PrivacyKey", - "description": [ - "Privacy key" - ] - }, - "PrivacyRule": { - "name": "PrivacyRule", - "description": [ - "Privacy rule" - ] - }, - "ReceivedNotifyMessage": { - "name": "ReceivedNotifyMessage", - "description": [ - "Confirmation of message receipt" - ] - }, - "RecentMeUrl": { - "name": "RecentMeUrl", - "description": [ - "Recent t.me urls" - ] - }, - "ReplyMarkup": { - "name": "ReplyMarkup", - "description": [ - "Reply markup for bot and inline keyboards" - ] - }, - "ReportReason": { - "name": "ReportReason", - "description": [ - "Report reason" - ] - }, - "RestrictionReason": { - "name": "RestrictionReason", - "description": [ - "Restriction reason" - ] - }, - "RichText": { - "name": "RichText", - "description": [ - "Rich text" - ] - }, - "SavedContact": { - "name": "SavedContact", - "description": [ - "Saved contact" - ] - }, - "SecureCredentialsEncrypted": { - "name": "SecureCredentialsEncrypted", - "description": [ - "Encrypted secure credentials" - ] - }, - "SecureData": { - "name": "SecureData", - "description": [ - "Secure passport data, for more info see the passport docs »" - ] - }, - "SecureFile": { - "name": "SecureFile", - "description": [ - "Secure passport file, for more info see the passport docs »" - ] - }, - "SecurePasswordKdfAlgo": { - "name": "SecurePasswordKdfAlgo", - "description": [ - "KDF algorithm to use for computing telegram passport hash" - ] - }, - "SecurePlainData": { - "name": "SecurePlainData", - "description": [ - "Plaintext verified passport data." - ] - }, - "SecureRequiredType": { - "name": "SecureRequiredType", - "description": [ - "Required secure file type" - ] - }, - "SecureSecretSettings": { - "name": "SecureSecretSettings", - "description": [ - "Telegram passport settings" - ] - }, - "SecureValue": { - "name": "SecureValue", - "description": [ - "Secure tgpassport value" - ] - }, - "SecureValueError": { - "name": "SecureValueError", - "description": [ - "Secure value error" - ] - }, - "SecureValueHash": { - "name": "SecureValueHash", - "description": [ - "Secure value hash" - ] - }, - "SecureValueType": { - "name": "SecureValueType", - "description": [ - "Secure value type" - ] - }, - "SendMessageAction": { - "name": "SendMessageAction", - "description": [ - "User actions. Use this to provide users with detailed info about their chat partners' actions: typing or sending attachments of all kinds." - ] - }, - "ShippingOption": { - "name": "ShippingOption", - "description": [ - "Shipping options" - ] - }, - "Stats.BroadcastStats": { - "name": "Stats.BroadcastStats", - "description": [ - "Channel statistics" - ] - }, - "StatsAbsValueAndPrev": { - "name": "StatsAbsValueAndPrev", - "description": [ - "Channel statistics value pair" - ] - }, - "StatsDateRangeDays": { - "name": "StatsDateRangeDays", - "description": [ - "Channel statistics date range" - ] - }, - "StatsGraph": { - "name": "StatsGraph", - "description": [ - "Channel statistics graph" - ] - }, - "StatsGroupTopAdmin": { - "name": "StatsGroupTopAdmin", - "description": [ - "Most active admin in a supergroup" - ] - }, - "StatsGroupTopInviter": { - "name": "StatsGroupTopInviter", - "description": [ - "Most active inviter in a supergroup" - ] - }, - "StatsGroupTopPoster": { - "name": "StatsGroupTopPoster", - "description": [ - "Most active user in a supergroup" - ] - }, - "StatsPercentValue": { - "name": "StatsPercentValue", - "description": [ - "Channel statistics percentage" - ] - }, - "StatsURL": { - "name": "StatsURL", - "description": [ - "URL with chat statistics" - ] - }, - "StickerPack": { - "name": "StickerPack", - "description": [ - "Stickerpack" - ] - }, - "StickerSet": { - "name": "StickerSet", - "description": [ - "Represents a stickerset (stickerpack)" - ] - }, - "StickerSetCovered": { - "name": "StickerSetCovered", - "description": [ - "Stickerset, with a specific sticker as preview" - ] - }, - "Theme": { - "name": "Theme", - "description": [ - "Cloud theme" - ] - }, - "ThemeSettings": { - "name": "ThemeSettings", - "description": [ - "Theme settings" - ] - }, - "TopPeer": { - "name": "TopPeer", - "description": [ - "Top peer" - ] - }, - "TopPeerCategory": { - "name": "TopPeerCategory", - "description": [ - "Top peer category" - ] - }, - "TopPeerCategoryPeers": { - "name": "TopPeerCategoryPeers", - "description": [ - "Top peers by top peer category" - ] - }, - "True": { - "name": "True", - "description": [ - "See predefined identifiers." - ] - }, - "Update": { - "name": "Update", - "description": [ - "Object contains info on events occured." - ] - }, - "Updates": { - "name": "Updates", - "description": [ - "Object which is perceived by the client without a call on its part when an event occurs." - ] - }, - "Upload.WebFile": { - "name": "Upload.WebFile", - "description": [ - "Remote file" - ] - }, - "UrlAuthResult": { - "name": "UrlAuthResult", - "description": [ - "URL authorization result" - ] - }, - "User": { - "name": "User", - "description": [ - "Object defines a user." - ] - }, - "UserFull": { - "name": "UserFull", - "description": [ - "Object contains extended user info." - ] - }, - "UserProfilePhoto": { - "name": "UserProfilePhoto", - "description": [ - "Object contains info on the user's profile photo." - ] - }, - "UserStatus": { - "name": "UserStatus", - "description": [ - "User online status" - ] - }, - "Vector t": { - "name": "Vector t", - "description": [ - "Universal vector." - ] - }, - "VideoSize": { - "name": "VideoSize", - "description": [ - "Represents an animated video thumbnail" - ] - }, - "WallPaper": { - "name": "WallPaper", - "description": [ - "Object contains info on a wallpaper." - ] - }, - "WallPaperSettings": { - "name": "WallPaperSettings", - "description": [ - "Wallpaper settings" - ] - }, - "WebAuthorization": { - "name": "WebAuthorization", - "description": [ - "Web authorization" - ] - }, - "WebDocument": { - "name": "WebDocument", - "description": [ - "Remote document" - ] - }, - "WebPage": { - "name": "WebPage", - "description": [ - "Instant View webpage preview" - ] - }, - "WebPageAttribute": { - "name": "WebPageAttribute", - "description": [ - "Webpage attributes" - ] - }, - "account.ContentSettings": { - "name": "account.ContentSettings", - "description": [ - "Sensitive content settings" - ] - }, - "account.Password": { - "name": "account.Password", - "description": [ - "Configuration for two-factor authorization" - ] - }, - "account.PasswordInputSettings": { - "name": "account.PasswordInputSettings", - "description": [ - "Constructor for setting up a new 2FA SRP password" - ] - }, - "account.PasswordSettings": { - "name": "account.PasswordSettings", - "description": [ - "Private info associated to the password info (recovery email, telegram passport info \u0026 so on)" - ] - }, - "account.SentEmailCode": { - "name": "account.SentEmailCode", - "description": [ - "The email code that was sent" - ] - }, - "account.Themes": { - "name": "account.Themes", - "description": [ - "Installed themes" - ] - }, - "auth.Authorization": { - "name": "auth.Authorization", - "description": [ - "Oject contains info on user authorization." - ] - }, - "auth.CodeType": { - "name": "auth.CodeType", - "description": [ - "Type of verification code that will be sent next if you call the resendCode method" - ] - }, - "auth.LoginToken": { - "name": "auth.LoginToken", - "description": [ - "Login token (for QR code login)" - ] - }, - "auth.PasswordRecovery": { - "name": "auth.PasswordRecovery", - "description": [ - "Recovery info of a 2FA password, only for accounts with a recovery email configured." - ] - }, - "auth.SentCode": { - "name": "auth.SentCode", - "description": [ - "Contains info on a confirmation code message sent via SMS, phone call or Telegram." - ] - }, - "auth.SentCodeType": { - "name": "auth.SentCodeType", - "description": [ - "Type of the verification code that was sent" - ] - }, - "bytes": { - "name": "bytes", - "description": [ - "Basic bare type. It is an alias of the string type, with the difference that the value may contain arbitrary byte sequences, including invalid UTF-8 sequences.", - "When computing crc32 for a constructor or method it is necessary to replace all byte types with string types.", - "A basic bare type. Values of type string look differently depending on the length L of the string being serialized:", - "All strings passed to the API must be encoded in UTF-8. When arbitrary byte sequences have to be serialized, bytes alias is to be used.", - "Further details on basic types»" - ] - }, - "contacts.Blocked": { - "name": "contacts.Blocked", - "description": [ - "Info on users from the current user's black list." - ] - }, - "contacts.Contacts": { - "name": "contacts.Contacts", - "description": [ - "Info on the current user's contact list." - ] - }, - "contacts.Found": { - "name": "contacts.Found", - "description": [ - "Object contains info on users found by name substring and auxiliary data." - ] - }, - "contacts.ImportedContacts": { - "name": "contacts.ImportedContacts", - "description": [ - "Object contains info on succesfully imported contacts." - ] - }, - "double": { - "name": "double", - "description": [ - "A basic bare type, values of which correspond two-element sequences containing 64-bit real numbers in a standard double format.", - "More on basic types»" - ] - }, - "help.AppUpdate": { - "name": "help.AppUpdate", - "description": [ - "Contains info on app update availability." - ] - }, - "help.CountriesList": { - "name": "help.CountriesList", - "description": [ - "Name, ISO code, localized name and phone codes/patterns of all available countries" - ] - }, - "help.Country": { - "name": "help.Country", - "description": [ - "Name, ISO code, localized name and phone codes/patterns of a specific country" - ] - }, - "help.CountryCode": { - "name": "help.CountryCode", - "description": [ - "Country code and phone number pattern of a specific country" - ] - }, - "help.InviteText": { - "name": "help.InviteText", - "description": [ - "Object contains info on the text of a message with an invitation." - ] - }, - "help.PromoData": { - "name": "help.PromoData", - "description": [ - "Info about pinned MTProxy or Public Service Announcement peers." - ] - }, - "help.Support": { - "name": "help.Support", - "description": [ - "Info about the support user, relevant to the current user." - ] - }, - "help.TermsOfService": { - "name": "help.TermsOfService", - "description": [ - "Contains info about the latest telegram Terms Of Service." - ] - }, - "int": { - "name": "int", - "description": [ - "A basic bare type, the values of which correspond to single-element sequences, i.e. numbers from -2^31 to 2^31-1 which in this case represent themselves.", - "More on basic types »" - ] - }, - "long": { - "name": "long", - "description": [ - "A basic bare type, elements of which correspond to two-element sequences, representing 64-bit signed numbers (little-endian).", - "More on basic types »" - ] - }, - "messages.AffectedHistory": { - "name": "messages.AffectedHistory", - "description": [ - "Object contains info on affected part of communication history with the user or in a chat." - ] - }, - "messages.BotResults": { - "name": "messages.BotResults", - "description": [ - "Result of a query to an inline bot" - ] - }, - "messages.ChatFull": { - "name": "messages.ChatFull", - "description": [ - "Object contains extended info on chat with auxiliary data." - ] - }, - "messages.Chats": { - "name": "messages.Chats", - "description": [ - "Object contains list of chats with auxiliary data." - ] - }, - "messages.Dialogs": { - "name": "messages.Dialogs", - "description": [ - "Object contains a list of chats with messages and auxiliary data." - ] - }, - "messages.DiscussionMessage": { - "name": "messages.DiscussionMessage", - "description": [ - "Info about a message thread" - ] - }, - "messages.InactiveChats": { - "name": "messages.InactiveChats", - "description": [ - "Inactive chat list" - ] - }, - "messages.MessageViews": { - "name": "messages.MessageViews", - "description": [ - "View, forward counter + info about replies" - ] - }, - "messages.Messages": { - "name": "messages.Messages", - "description": [ - "Object contains infor on list of messages with auxiliary data." - ] - }, - "messages.VotesList": { - "name": "messages.VotesList", - "description": [ - "How users voted in a poll" - ] - }, - "payments.BankCardData": { - "name": "payments.BankCardData", - "description": [ - "Credit card info, provided by the card's bank(s)" - ] - }, - "photos.Photo": { - "name": "photos.Photo", - "description": [ - "Photo with auxiliary data." - ] - }, - "photos.Photos": { - "name": "photos.Photos", - "description": [ - "Object contains list of photos with auxiliary data." - ] - }, - "stats.MegagroupStats": { - "name": "stats.MegagroupStats", - "description": [ - "Supergroup statistics" - ] - }, - "stats.MessageStats": { - "name": "stats.MessageStats", - "description": [ - "Message statistics" - ] - }, - "storage.FileType": { - "name": "storage.FileType", - "description": [ - "Object describes the file type." - ] - }, - "string": { - "name": "string", - "description": [ - "A basic bare type. Values of type string look differently depending on the length L of the string being serialized:", - "All strings passed to the API must be encoded in UTF-8. When arbitrary byte sequences have to be serialized, bytes alias is to be used.", - "Further details on basic types»", - "Basic bare type. It is an alias of the string type, with the difference that the value may contain arbitrary byte sequences, including invalid UTF-8 sequences.", - "When computing crc32 for a constructor or method it is necessary to replace all byte types with string types." - ] - }, - "updates.ChannelDifference": { - "name": "updates.ChannelDifference", - "description": [ - "Contains the difference (new messages) between our local channel state and the remote state" - ] - }, - "updates.Difference": { - "name": "updates.Difference", - "description": [ - "Occurred changes." - ] - }, - "updates.State": { - "name": "updates.State", - "description": [ - "Object contains info on state for further updates." - ] - }, - "upload.CdnFile": { - "name": "upload.CdnFile", - "description": [ - "Represents the download status of a CDN file" - ] - }, - "upload.File": { - "name": "upload.File", - "description": [ - "Contains info on file." - ] - } - }, - "methods": { - "account.acceptAuthorization": { - "name": "account.acceptAuthorization", - "description": [ - "Sends a Telegram Passport authorization form, effectively sharing data with the service" - ], - "parameters": { - "bot_id": "Bot ID", - "credentials": "Encrypted values", - "public_key": "Service's public key", - "scope": "Telegram Passport element types requested by the service", - "value_hashes": "Types of values sent and their hashes" - } - }, - "account.cancelPasswordEmail": { - "name": "account.cancelPasswordEmail", - "description": [ - "Cancel the code that was sent to verify an email to use as 2FA recovery method." - ] - }, - "account.changePhone": { - "name": "account.changePhone", - "description": [ - "Change the phone number of the current account" - ], - "parameters": { - "phone_code": "Phone code received when calling account.sendChangePhoneCode", - "phone_code_hash": "Phone code hash received when calling account.sendChangePhoneCode", - "phone_number": "New phone number" - }, - "errors": [ - { - "code": 400, - "type": "PHONE_CODE_EMPTY", - "description": "phone_code is missing" - }, - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "The phone number is invalid" - } - ] - }, - "account.checkUsername": { - "name": "account.checkUsername", - "description": [ - "Validates a username and checks availability." - ], - "parameters": { - "username": "usernameAccepted characters: A-z (case-insensitive), 0-9 and underscores.Length: 5-32 characters." - }, - "errors": [ - { - "code": 400, - "type": "USERNAME_INVALID", - "description": "Unacceptable username" - } - ] - }, - "account.confirmPasswordEmail": { - "name": "account.confirmPasswordEmail", - "description": [ - "Verify an email to use as 2FA recovery method." - ], - "parameters": { - "code": "The phone code that was received after setting a recovery email" - }, - "errors": [ - { - "code": 400, - "type": "CODE_INVALID", - "description": "Code invalid" - }, - { - "code": 400, - "type": "EMAIL_HASH_EXPIRED", - "description": "Email hash expired" - } - ] - }, - "account.confirmPhone": { - "name": "account.confirmPhone", - "description": [ - "Confirm a phone number to cancel account deletion, for more info click here »" - ], - "parameters": { - "phone_code": "SMS code, for more info click here »", - "phone_code_hash": "Phone code hash, for more info click here »" - }, - "errors": [ - { - "code": 400, - "type": "CODE_HASH_INVALID", - "description": "Code hash invalid" - }, - { - "code": 400, - "type": "PHONE_CODE_EMPTY", - "description": "phone_code is missing" - } - ] - }, - "account.createTheme": { - "name": "account.createTheme", - "description": [ - "Create a theme" - ], - "parameters": { - "document": "Theme file", - "flags": "Flags, see TL conditional fields", - "settings": "Theme settings", - "slug": "Unique theme ID", - "title": "Theme name" - } - }, - "account.deleteAccount": { - "name": "account.deleteAccount", - "description": [ - "Delete the user's account from the telegram servers. Can be used, for example, to delete the account of a user that provided the login code, but forgot the 2FA password and no recovery method is configured." - ], - "parameters": { - "reason": "Why is the account being deleted, can be empty" - }, - "errors": [ - { - "code": 420, - "type": "2FA_CONFIRM_WAIT_X", - "description": "Since this account is active and protected by a 2FA password, we will delete it in 1 week for security purposes. You can cancel this process at any time, you'll be able to reset your account in X seconds." - } - ] - }, - "account.deleteSecureValue": { - "name": "account.deleteSecureValue", - "description": [ - "Delete stored Telegram Passport documents, for more info see the passport docs »" - ], - "parameters": { - "types": "Document types to delete" - } - }, - "account.finishTakeoutSession": { - "name": "account.finishTakeoutSession", - "description": [ - "Finish account takeout session" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "success": "Data exported successfully" - }, - "errors": [ - { - "code": 403, - "type": "TAKEOUT_REQUIRED", - "description": "A takeout session has to be initialized, first" - } - ] - }, - "account.getAccountTTL": { - "name": "account.getAccountTTL", - "description": [ - "Get days to live of account" - ] - }, - "account.getAllSecureValues": { - "name": "account.getAllSecureValues", - "description": [ - "Get all saved Telegram Passport documents, for more info see the passport docs »" - ] - }, - "account.getAuthorizationForm": { - "name": "account.getAuthorizationForm", - "description": [ - "Returns a Telegram Passport authorization form for sharing data with a service" - ], - "parameters": { - "bot_id": "User identifier of the service's bot", - "public_key": "Service's public key", - "scope": "Telegram Passport element types requested by the service" - } - }, - "account.getAuthorizations": { - "name": "account.getAuthorizations", - "description": [ - "Get logged-in sessions" - ] - }, - "account.getAutoDownloadSettings": { - "name": "account.getAutoDownloadSettings", - "description": [ - "Get media autodownload settings" - ] - }, - "account.getContactSignUpNotification": { - "name": "account.getContactSignUpNotification", - "description": [ - "Whether the user will receive notifications when contacts sign up" - ] - }, - "account.getContentSettings": { - "name": "account.getContentSettings", - "description": [ - "Get sensitive content settings" - ] - }, - "account.getGlobalPrivacySettings": { - "name": "account.getGlobalPrivacySettings", - "description": [ - "Get global privacy settings" - ] - }, - "account.getMultiWallPapers": { - "name": "account.getMultiWallPapers", - "description": [ - "Get info about multiple wallpapers" - ], - "parameters": { - "wallpapers": "Wallpapers to fetch info about" - } - }, - "account.getNotifyExceptions": { - "name": "account.getNotifyExceptions", - "description": [ - "Returns list of chats with non-default notification settings" - ], - "parameters": { - "compare_sound": "If true, chats with non-default sound will also be returned", - "flags": "Flags, see TL conditional fields", - "peer": "If specified, only chats of the specified category will be returned" - } - }, - "account.getNotifySettings": { - "name": "account.getNotifySettings", - "description": [ - "Gets current notification settings for a given user/group, from all users/all groups." - ], - "parameters": { - "peer": "Notification source" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "account.getPassword": { - "name": "account.getPassword", - "description": [ - "Obtain configuration for two-factor authorization with password" - ] - }, - "account.getPasswordSettings": { - "name": "account.getPasswordSettings", - "description": [ - "Get private info associated to the password info (recovery email, telegram passport info \u0026 so on)" - ], - "parameters": { - "password": "The password (see SRP)" - }, - "errors": [ - { - "code": 400, - "type": "PASSWORD_HASH_INVALID", - "description": "The provided password hash is invalid" - } - ] - }, - "account.getPrivacy": { - "name": "account.getPrivacy", - "description": [ - "Get privacy settings of current account" - ], - "parameters": { - "key": "Peer category whose privacy settings should be fetched" - }, - "errors": [ - { - "code": 400, - "type": "PRIVACY_KEY_INVALID", - "description": "The privacy key is invalid" - } - ] - }, - "account.getSecureValue": { - "name": "account.getSecureValue", - "description": [ - "Get saved Telegram Passport document, for more info see the passport docs »" - ], - "parameters": { - "types": "Requested value types" - } - }, - "account.getTheme": { - "name": "account.getTheme", - "description": [ - "Get theme information" - ], - "parameters": { - "document_id": "Document ID", - "format": "Theme format, a string that identifies the theming engines supported by the client", - "theme": "Theme" - }, - "errors": [ - { - "code": 400, - "type": "THEME_FORMAT_INVALID", - "description": "Invalid theme format provided" - }, - { - "code": 400, - "type": "THEME_INVALID", - "description": "Invalid theme provided" - } - ] - }, - "account.getThemes": { - "name": "account.getThemes", - "description": [ - "Get installed themes" - ], - "parameters": { - "format": "Theme format, a string that identifies the theming engines supported by the client", - "hash": "Hash for pagination, for more info click here" - } - }, - "account.getTmpPassword": { - "name": "account.getTmpPassword", - "description": [ - "Get temporary payment password" - ], - "parameters": { - "password": "SRP password parameters", - "period": "Time during which the temporary password will be valid, in seconds; should be between 60 and 86400" - }, - "errors": [ - { - "code": 400, - "type": "PASSWORD_HASH_INVALID", - "description": "The provided password hash is invalid" - }, - { - "code": 400, - "type": "TMP_PASSWORD_DISABLED", - "description": "The temporary password is disabled" - } - ] - }, - "account.getWallPaper": { - "name": "account.getWallPaper", - "description": [ - "Get info about a certain wallpaper" - ], - "parameters": { - "wallpaper": "The wallpaper to get info about" - } - }, - "account.getWallPapers": { - "name": "account.getWallPapers", - "description": [ - "Returns a list of available wallpapers." - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "account.getWebAuthorizations": { - "name": "account.getWebAuthorizations", - "description": [ - "Get web login widget authorizations" - ] - }, - "account.initTakeoutSession": { - "name": "account.initTakeoutSession", - "description": [ - "Intialize account takeout session" - ], - "parameters": { - "contacts": "Whether to export contacts", - "file_max_size": "Maximum size of files to export", - "files": "Whether to export files", - "flags": "Flags, see TL conditional fields", - "message_channels": "Whether to export messages in channels", - "message_chats": "Whether to export messages in legacy groups", - "message_megagroups": "Whether to export messages in supergroups", - "message_users": "Whether to export messages in private chats" - }, - "errors": [ - { - "code": 420, - "type": "TAKEOUT_INIT_DELAY_X", - "description": "Wait X seconds before initing takeout" - } - ] - }, - "account.installTheme": { - "name": "account.installTheme", - "description": [ - "Install a theme" - ], - "parameters": { - "dark": "Whether to install the dark version", - "flags": "Flags, see TL conditional fields", - "format": "Theme format, a string that identifies the theming engines supported by the client", - "theme": "Theme to install" - } - }, - "account.installWallPaper": { - "name": "account.installWallPaper", - "description": [ - "Install wallpaper" - ], - "parameters": { - "settings": "Wallpaper settings", - "wallpaper": "Wallpaper to install" - } - }, - "account.registerDevice": { - "name": "account.registerDevice", - "description": [ - "Register device to receive PUSH notifications" - ], - "parameters": { - "app_sandbox": "If (boolTrue) is transmitted, a sandbox-certificate will be used during transmission.", - "flags": "Flags, see TL conditional fields", - "no_muted": "Avoid receiving (silent and invisible background) notifications. Useful to save battery.", - "other_uids": "List of user identifiers of other users currently using the client", - "secret": "For FCM and APNS VoIP, optional encryption key used to encrypt push notifications", - "token": "Device token", - "token_type": "Device token type.Possible values:1 - APNS (device token for apple push)2 - FCM (firebase token for google firebase)3 - MPNS (channel URI for microsoft push)4 - Simple push (endpoint for firefox's simple push API)5 - Ubuntu phone (token for ubuntu push)6 - Blackberry (token for blackberry push)7 - Unused8 - WNS (windows push)9 - APNS VoIP (token for apple push VoIP)10 - Web push (web push, see below)11 - MPNS VoIP (token for microsoft push VoIP)12 - Tizen (token for tizen push)For 10 web push, the token must be a JSON-encoded object containing the keys described in PUSH updates" - }, - "errors": [ - { - "code": 400, - "type": "TOKEN_INVALID", - "description": "The provided token is invalid" - } - ] - }, - "account.reportPeer": { - "name": "account.reportPeer", - "description": [ - "Report a peer for violation of telegram's Terms of Service" - ], - "parameters": { - "peer": "The peer to report", - "reason": "The reason why this peer is being reported" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "account.resendPasswordEmail": { - "name": "account.resendPasswordEmail", - "description": [ - "Resend the code to verify an email to use as 2FA recovery method." - ] - }, - "account.resetAuthorization": { - "name": "account.resetAuthorization", - "description": [ - "Log out an active authorized session by its hash" - ], - "parameters": { - "hash": "Session hash" - }, - "errors": [ - { - "code": 406, - "type": "FRESH_RESET_AUTHORISATION_FORBIDDEN", - "description": "You can't logout other sessions if less than 24 hours have passed since you logged on the current session" - }, - { - "code": 400, - "type": "HASH_INVALID", - "description": "The provided hash is invalid" - } - ] - }, - "account.resetNotifySettings": { - "name": "account.resetNotifySettings", - "description": [ - "Resets all notification settings from users and groups." - ] - }, - "account.resetWallPapers": { - "name": "account.resetWallPapers", - "description": [ - "Delete installed wallpapers" - ] - }, - "account.resetWebAuthorization": { - "name": "account.resetWebAuthorization", - "description": [ - "Log out an active web telegram login session" - ], - "parameters": { - "hash": "Session hash" - } - }, - "account.resetWebAuthorizations": { - "name": "account.resetWebAuthorizations", - "description": [ - "Reset all active web telegram login sessions" - ] - }, - "account.saveAutoDownloadSettings": { - "name": "account.saveAutoDownloadSettings", - "description": [ - "Change media autodownload settings" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "high": "Whether to save settings in the high data usage preset", - "low": "Whether to save settings in the low data usage preset", - "settings": "Media autodownload settings" - } - }, - "account.saveSecureValue": { - "name": "account.saveSecureValue", - "description": [ - "Securely save Telegram Passport document, for more info see the passport docs »" - ], - "parameters": { - "secure_secret_id": "Passport secret hash, for more info see the passport docs »", - "value": "Secure value, for more info see the passport docs »" - } - }, - "account.saveTheme": { - "name": "account.saveTheme", - "description": [ - "Save a theme" - ], - "parameters": { - "theme": "Theme to save", - "unsave": "Unsave" - } - }, - "account.saveWallPaper": { - "name": "account.saveWallPaper", - "description": [ - "Install/uninstall wallpaper" - ], - "parameters": { - "settings": "Wallpaper settings", - "unsave": "Uninstall wallpaper?", - "wallpaper": "Wallpaper to save" - } - }, - "account.sendChangePhoneCode": { - "name": "account.sendChangePhoneCode", - "description": [ - "Verify a new phone number to associate to the current account" - ], - "parameters": { - "phone_number": "New phone number", - "settings": "Phone code settings" - }, - "errors": [ - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "The phone number is invalid" - } - ] - }, - "account.sendConfirmPhoneCode": { - "name": "account.sendConfirmPhoneCode", - "description": [ - "Send confirmation code to cancel account deletion, for more info click here »" - ], - "parameters": { - "hash": "The hash from the service notification, for more info click here »", - "settings": "Phone code settings" - }, - "errors": [ - { - "code": 400, - "type": "HASH_INVALID", - "description": "The provided hash is invalid" - } - ] - }, - "account.sendVerifyEmailCode": { - "name": "account.sendVerifyEmailCode", - "description": [ - "Send the verification email code for telegram passport." - ], - "parameters": { - "email": "The email where to send the code" - } - }, - "account.sendVerifyPhoneCode": { - "name": "account.sendVerifyPhoneCode", - "description": [ - "Send the verification phone code for telegram passport." - ], - "parameters": { - "phone_number": "The phone number to verify", - "settings": "Phone code settings" - } - }, - "account.setAccountTTL": { - "name": "account.setAccountTTL", - "description": [ - "Set account self-destruction period" - ], - "parameters": { - "ttl": "Time to live in days" - }, - "errors": [ - { - "code": 400, - "type": "TTL_DAYS_INVALID", - "description": "The provided TTL is invalid" - } - ] - }, - "account.setContactSignUpNotification": { - "name": "account.setContactSignUpNotification", - "description": [ - "Toggle contact sign up notifications" - ], - "parameters": { - "silent": "Whether to disable contact sign up notifications" - } - }, - "account.setContentSettings": { - "name": "account.setContentSettings", - "description": [ - "Set sensitive content settings (for viewing or hiding NSFW content)" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "sensitive_enabled": "Enable NSFW content" - } - }, - "account.setGlobalPrivacySettings": { - "name": "account.setGlobalPrivacySettings", - "description": [ - "Set global privacy settings" - ], - "parameters": { - "settings": "Global privacy settings" - } - }, - "account.setPrivacy": { - "name": "account.setPrivacy", - "description": [ - "Change privacy settings of current account" - ], - "parameters": { - "key": "Peers to which the privacy rules apply", - "rules": "New privacy rules" - }, - "errors": [ - { - "code": 400, - "type": "PRIVACY_KEY_INVALID", - "description": "The privacy key is invalid" - }, - { - "code": 400, - "type": "PRIVACY_VALUE_INVALID", - "description": "The specified privacy rule combination is invalid" - } - ] - }, - "account.unregisterDevice": { - "name": "account.unregisterDevice", - "description": [ - "Deletes a device by its token, stops sending PUSH-notifications to it." - ], - "parameters": { - "other_uids": "List of user identifiers of other users currently using the client", - "token": "Device token", - "token_type": "Device token type.Possible values:1 - APNS (device token for apple push)2 - FCM (firebase token for google firebase)3 - MPNS (channel URI for microsoft push)4 - Simple push (endpoint for firefox's simple push API)5 - Ubuntu phone (token for ubuntu push)6 - Blackberry (token for blackberry push)7 - Unused8 - WNS (windows push)9 - APNS VoIP (token for apple push VoIP)10 - Web push (web push, see below)11 - MPNS VoIP (token for microsoft push VoIP)12 - Tizen (token for tizen push)For 10 web push, the token must be a JSON-encoded object containing the keys described in PUSH updates" - }, - "errors": [ - { - "code": 400, - "type": "TOKEN_INVALID", - "description": "The provided token is invalid" - } - ] - }, - "account.updateDeviceLocked": { - "name": "account.updateDeviceLocked", - "description": [ - "When client-side passcode lock feature is enabled, will not show message texts in incoming PUSH notifications." - ], - "parameters": { - "period": "Inactivity period after which to start hiding message texts in PUSH notifications." - } - }, - "account.updateNotifySettings": { - "name": "account.updateNotifySettings", - "description": [ - "Edits notification settings from a given user/group, from all users/all groups." - ], - "parameters": { - "peer": "Notification source", - "settings": "Notification settings" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "SETTINGS_INVALID", - "description": "Invalid settings were provided" - } - ] - }, - "account.updatePasswordSettings": { - "name": "account.updatePasswordSettings", - "description": [ - "Set a new 2FA password" - ], - "parameters": { - "new_settings": "The new password (see SRP)", - "password": "The old password (see SRP)" - }, - "errors": [ - { - "code": 400, - "type": "EMAIL_UNCONFIRMED", - "description": "Email unconfirmed" - }, - { - "code": 400, - "type": "EMAIL_UNCONFIRMED_X", - "description": "The provided email isn't confirmed, X is the length of the verification code that was just sent to the email: use account.verifyEmail to enter the received verification code and enable the recovery email." - }, - { - "code": 400, - "type": "NEW_SALT_INVALID", - "description": "The new salt is invalid" - }, - { - "code": 400, - "type": "NEW_SETTINGS_INVALID", - "description": "The new password settings are invalid" - }, - { - "code": 400, - "type": "PASSWORD_HASH_INVALID", - "description": "The old password hash is invalid" - }, - { - "code": 400, - "type": "SRP_ID_INVALID", - "description": "Invalid SRP ID provided" - } - ] - }, - "account.updateProfile": { - "name": "account.updateProfile", - "description": [ - "Updates user profile." - ], - "parameters": { - "about": "New bio", - "first_name": "New user first name", - "flags": "Flags, see TL conditional fields", - "last_name": "New user last name" - }, - "errors": [ - { - "code": 400, - "type": "ABOUT_TOO_LONG", - "description": "About string too long" - }, - { - "code": 400, - "type": "FIRSTNAME_INVALID", - "description": "The first name is invalid" - } - ] - }, - "account.updateStatus": { - "name": "account.updateStatus", - "description": [ - "Updates online user status." - ], - "parameters": { - "offline": "If (boolTrue) is transmitted, user status will change to (userStatusOffline)." - } - }, - "account.updateTheme": { - "name": "account.updateTheme", - "description": [ - "Update theme" - ], - "parameters": { - "document": "Theme file", - "flags": "Flags, see TL conditional fields", - "format": "Theme format, a string that identifies the theming engines supported by the client", - "settings": "Theme settings", - "slug": "Unique theme ID", - "theme": "Theme to update", - "title": "Theme name" - } - }, - "account.updateUsername": { - "name": "account.updateUsername", - "description": [ - "Changes username for the current user." - ], - "parameters": { - "username": "username or empty string if username is to be removedAccepted characters: a-z (case-insensitive), 0-9 and underscores.Length: 5-32 characters." - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "USERNAME_INVALID", - "description": "Unacceptable username" - }, - { - "code": 400, - "type": "USERNAME_NOT_MODIFIED", - "description": "Username is not different from the current username" - }, - { - "code": 400, - "type": "USERNAME_OCCUPIED", - "description": "Username is taken" - } - ] - }, - "account.uploadTheme": { - "name": "account.uploadTheme", - "description": [ - "Upload theme" - ], - "parameters": { - "file": "Theme file uploaded as described in files »", - "file_name": "File name", - "flags": "Flags, see TL conditional fields", - "mime_type": "MIME type, must be application/x-tgtheme-{format}, where format depends on the client", - "thumb": "Thumbnail" - }, - "errors": [ - { - "code": 400, - "type": "THEME_FILE_INVALID", - "description": "Invalid theme file provided" - } - ] - }, - "account.uploadWallPaper": { - "name": "account.uploadWallPaper", - "description": [ - "Create and upload a new wallpaper" - ], - "parameters": { - "file": "The JPG/PNG wallpaper", - "mime_type": "MIME type of uploaded wallpaper", - "settings": "Wallpaper settings" - } - }, - "account.verifyEmail": { - "name": "account.verifyEmail", - "description": [ - "Verify an email address for telegram passport." - ], - "parameters": { - "code": "The verification code that was received", - "email": "The email to verify" - }, - "errors": [ - { - "code": 400, - "type": "EMAIL_VERIFY_EXPIRED", - "description": "The verification email has expired" - } - ] - }, - "account.verifyPhone": { - "name": "account.verifyPhone", - "description": [ - "Verify a phone number for telegram passport." - ], - "parameters": { - "phone_code": "Code received after the call to account.sendVerifyPhoneCode", - "phone_code_hash": "Phone code hash received from the call to account.sendVerifyPhoneCode", - "phone_number": "Phone number" - }, - "errors": [ - { - "code": 400, - "type": "PHONE_CODE_EXPIRED", - "description": "The phone code you provided has expired, this may happen if it was sent to any chat on telegram (if the code is sent through a telegram chat (not the official account) to avoid it append or prepend to the code some chars)" - } - ] - }, - "auth.acceptLoginToken": { - "name": "auth.acceptLoginToken", - "description": [ - "Accept QR code login token, logging in the app that generated it.", - "Returns info about the new session.", - "For more info, see login via QR code." - ], - "parameters": { - "token": "Login token embedded in QR code, for more info, see login via QR code." - }, - "errors": [ - { - "code": 400, - "type": "AUTH_TOKEN_INVALIDX", - "description": "The specified auth token is invalid" - } - ] - }, - "auth.bindTempAuthKey": { - "name": "auth.bindTempAuthKey", - "description": [ - "Binds a temporary authorization key temp_auth_key_id to the permanent authorization key perm_auth_key_id. Each permanent key may only be bound to one temporary key at a time, binding a new temporary key overwrites the previous one.", - "For more information, see Perfect Forward Secrecy." - ], - "parameters": { - "encrypted_message": "See Generating encrypted_message", - "expires_at": "Unix timestamp to invalidate temporary key, see Binding message contents", - "nonce": "Random long from Binding message contents", - "perm_auth_key_id": "Permanent auth_key_id to bind to" - }, - "errors": [ - { - "code": 400, - "type": "ENCRYPTED_MESSAGE_INVALID", - "description": "Encrypted message is incorrect" - }, - { - "code": 400, - "type": "INPUT_REQUEST_TOO_LONG", - "description": "The request is too big" - }, - { - "code": 400, - "type": "TEMP_AUTH_KEY_ALREADY_BOUND", - "description": "The passed temporary key is already bound to another perm_auth_key_id" - }, - { - "code": 400, - "type": "TEMP_AUTH_KEY_EMPTY", - "description": "The request was not performed with a temporary authorization key" - } - ] - }, - "auth.cancelCode": { - "name": "auth.cancelCode", - "description": [ - "Cancel the login verification code" - ], - "parameters": { - "phone_code_hash": "Phone code hash from auth.sendCode", - "phone_number": "Phone number" - }, - "errors": [ - { - "code": 400, - "type": "PHONE_CODE_EXPIRED", - "description": "The phone code you provided has expired, this may happen if it was sent to any chat on telegram (if the code is sent through a telegram chat (not the official account) to avoid it append or prepend to the code some chars)" - }, - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "The phone number is invalid" - } - ] - }, - "auth.checkPassword": { - "name": "auth.checkPassword", - "description": [ - "Try logging to an account protected by a 2FA password." - ], - "parameters": { - "password": "The account's password (see SRP)" - }, - "errors": [ - { - "code": 400, - "type": "PASSWORD_HASH_INVALID", - "description": "The provided password isn't valid" - }, - { - "code": 400, - "type": "SRP_ID_INVALID", - "description": "Invalid SRP ID provided" - }, - { - "code": 400, - "type": "SRP_PASSWORD_CHANGED", - "description": "Password has changed" - } - ] - }, - "auth.dropTempAuthKeys": { - "name": "auth.dropTempAuthKeys", - "description": [ - "Delete all temporary authorization keys except for the ones specified" - ], - "parameters": { - "except_auth_keys": "The auth keys that shouldn't be dropped." - } - }, - "auth.exportAuthorization": { - "name": "auth.exportAuthorization", - "description": [ - "Returns data for copying authorization to another data-centre." - ], - "parameters": { - "dc_id": "Number of a target data-centre" - }, - "errors": [ - { - "code": 400, - "type": "DC_ID_INVALID", - "description": "The provided DC ID is invalid" - } - ] - }, - "auth.exportLoginToken": { - "name": "auth.exportLoginToken", - "description": [ - "Generate a login token, for login via QR code.", - "The generated login token should be encoded using base64url, then shown as a tg://login?token=base64encodedtoken URL in the QR code.", - "For more info, see login via QR code." - ], - "parameters": { - "api_hash": "Application identifier hash (see. App configuration)", - "api_id": "Application identifier (see. App configuration)", - "except_ids": "List of already logged-in user IDs, to prevent logging in twice with the same user" - } - }, - "auth.importAuthorization": { - "name": "auth.importAuthorization", - "description": [ - "Logs in a user using a key transmitted from his native data-centre." - ], - "parameters": { - "bytes": "Authorization key", - "id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "AUTH_BYTES_INVALID", - "description": "The provided authorization is invalid" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "auth.importBotAuthorization": { - "name": "auth.importBotAuthorization", - "description": [ - "Login as a bot" - ], - "parameters": { - "api_hash": "Application identifier hash (see. App configuration)", - "api_id": "Application identifier (see. App configuration)", - "bot_auth_token": "Bot token (see bots)", - "flags": "Reserved for future use" - }, - "errors": [ - { - "code": 400, - "type": "ACCESS_TOKEN_EXPIRED", - "description": "Bot token expired" - }, - { - "code": 400, - "type": "ACCESS_TOKEN_INVALID", - "description": "The provided token is not valid" - }, - { - "code": 400, - "type": "API_ID_INVALID", - "description": "The api_id/api_hash combination is invalid" - }, - { - "code": 401, - "type": "AUTH_KEY_INVALID", - "description": "Auth key invalid" - } - ] - }, - "auth.importLoginToken": { - "name": "auth.importLoginToken", - "description": [ - "Login using a redirected login token, generated in case of DC mismatch during QR code login.", - "For more info, see login via QR code." - ], - "parameters": { - "token": "Login token" - }, - "errors": [ - { - "code": 400, - "type": "AUTH_TOKEN_EXPIRED", - "description": "The authorization token has expired" - } - ] - }, - "auth.logOut": { - "name": "auth.logOut", - "description": [ - "Logs out the user." - ] - }, - "auth.recoverPassword": { - "name": "auth.recoverPassword", - "description": [ - "Reset the 2FA password using the recovery code sent using auth.requestPasswordRecovery." - ], - "parameters": { - "code": "Code received via email" - }, - "errors": [ - { - "code": 400, - "type": "CODE_EMPTY", - "description": "The provided code is empty" - } - ] - }, - "auth.requestPasswordRecovery": { - "name": "auth.requestPasswordRecovery", - "description": [ - "Request recovery code of a 2FA password, only for accounts with a recovery email configured." - ], - "parameters": { - "400": "The provided password is empty" - }, - "errors": [ - { - "code": 400, - "type": "PASSWORD_EMPTY", - "description": "The provided password is empty" - } - ] - }, - "auth.resendCode": { - "name": "auth.resendCode", - "description": [ - "Resend the login code via another medium, the phone code type is determined by the return value of the previous auth.sendCode/auth.resendCode: see login for more info." - ], - "parameters": { - "phone_code_hash": "The phone code hash obtained from auth.sendCode", - "phone_number": "The phone number" - }, - "errors": [ - { - "code": 400, - "type": "PHONE_CODE_EXPIRED", - "description": "The phone code you provided has expired, this may happen if it was sent to any chat on telegram (if the code is sent through a telegram chat (not the official account) to avoid it append or prepend to the code some chars)" - }, - { - "code": 400, - "type": "PHONE_CODE_HASH_EMPTY", - "description": "phone_code_hash is missing" - }, - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "The phone number is invalid" - } - ] - }, - "auth.resetAuthorizations": { - "name": "auth.resetAuthorizations", - "description": [ - "Terminates all user's authorized sessions except for the current one.", - "After calling this method it is necessary to reregister the current device using the method account.registerDevice" - ], - "parameters": { - "406": "You can't logout other sessions if less than 24 hours have passed since you logged on the current session" - }, - "errors": [ - { - "code": 406, - "type": "FRESH_RESET_AUTHORISATION_FORBIDDEN", - "description": "You can't logout other sessions if less than 24 hours have passed since you logged on the current session" - } - ] - }, - "auth.sendCode": { - "name": "auth.sendCode", - "description": [ - "Send the verification code for login" - ], - "parameters": { - "api_hash": "Application secret hash (see App configuration)", - "api_id": "Application identifier (see App configuration)", - "phone_number": "Phone number in international format", - "settings": "Settings for the code type to send" - }, - "errors": [ - { - "code": 400, - "type": "API_ID_INVALID", - "description": "API ID invalid" - }, - { - "code": 400, - "type": "API_ID_PUBLISHED_FLOOD", - "description": "This API id was published somewhere, you can't use it now" - }, - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "INPUT_REQUEST_TOO_LONG", - "description": "The request is too big" - }, - { - "code": 303, - "type": "NETWORK_MIGRATE_X", - "description": "Repeat the query to data-center X" - }, - { - "code": 303, - "type": "PHONE_MIGRATE_X", - "description": "Repeat the query to data-center X" - }, - { - "code": 400, - "type": "PHONE_NUMBER_APP_SIGNUP_FORBIDDEN", - "description": "You can't sign up using this app" - }, - { - "code": 400, - "type": "PHONE_NUMBER_BANNED", - "description": "The provided phone number is banned from telegram" - }, - { - "code": 400, - "type": "PHONE_NUMBER_FLOOD", - "description": "You asked for the code too many times." - }, - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "Invalid phone number" - }, - { - "code": 406, - "type": "PHONE_PASSWORD_FLOOD", - "description": "You have tried logging in too many times" - }, - { - "code": 400, - "type": "PHONE_PASSWORD_PROTECTED", - "description": "This phone is password protected" - }, - { - "code": 400, - "type": "SMS_CODE_CREATE_FAILED", - "description": "An error occurred while creating the SMS code" - } - ] - }, - "auth.signIn": { - "name": "auth.signIn", - "description": [ - "Signs in a user with a validated phone number." - ], - "parameters": { - "phone_code": "Valid numerical code from the SMS-message", - "phone_code_hash": "SMS-message ID, obtained from auth.sendCode", - "phone_number": "Phone number in the international format" - }, - "errors": [ - { - "code": 400, - "type": "PHONE_CODE_EMPTY", - "description": "phone_code from the SMS is empty" - }, - { - "code": 400, - "type": "PHONE_CODE_EXPIRED", - "description": "SMS expired" - }, - { - "code": 400, - "type": "PHONE_CODE_INVALID", - "description": "Invalid SMS code was sent" - }, - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "Invalid phone number" - }, - { - "code": 400, - "type": "PHONE_NUMBER_UNOCCUPIED", - "description": "The code is valid but no user with the given number is registered" - } - ] - }, - "auth.signUp": { - "name": "auth.signUp", - "description": [ - "Registers a validated phone number in the system." - ], - "parameters": { - "first_name": "New user first name", - "last_name": "New user last name", - "phone_code_hash": "SMS-message ID", - "phone_number": "Phone number in the international format" - }, - "errors": [ - { - "code": 400, - "type": "FIRSTNAME_INVALID", - "description": "Invalid first name" - }, - { - "code": 400, - "type": "INPUT_REQUEST_TOO_LONG", - "description": "The request is too big" - }, - { - "code": 400, - "type": "LASTNAME_INVALID", - "description": "Invalid last name" - }, - { - "code": 400, - "type": "PHONE_CODE_EMPTY", - "description": "phone_code from a SMS is empty" - }, - { - "code": 400, - "type": "PHONE_CODE_EXPIRED", - "description": "SMS expired" - }, - { - "code": 400, - "type": "PHONE_CODE_INVALID", - "description": "Invalid SMS code was sent" - }, - { - "code": 400, - "type": "PHONE_NUMBER_FLOOD", - "description": "You asked for the code too many times." - }, - { - "code": 400, - "type": "PHONE_NUMBER_INVALID", - "description": "Invalid phone number" - }, - { - "code": 400, - "type": "PHONE_NUMBER_OCCUPIED", - "description": "The phone number is already in use" - } - ] - }, - "bots.answerWebhookJSONQuery": { - "name": "bots.answerWebhookJSONQuery", - "description": [ - "Answers a custom query; for bots only" - ], - "parameters": { - "data": "JSON-serialized answer to the query", - "query_id": "Identifier of a custom query" - }, - "errors": [ - { - "code": 400, - "type": "QUERY_ID_INVALID", - "description": "The query ID is invalid" - }, - { - "code": 400, - "type": "USER_BOT_INVALID", - "description": "This method can only be called by a bot" - } - ] - }, - "bots.sendCustomRequest": { - "name": "bots.sendCustomRequest", - "description": [ - "Sends a custom request; for bots only" - ], - "parameters": { - "custom_method": "The method name", - "params": "JSON-serialized method parameters" - }, - "errors": [ - { - "code": 400, - "type": "METHOD_INVALID", - "description": "The specified method is invalid" - }, - { - "code": 400, - "type": "USER_BOT_INVALID", - "description": "This method can only be called by a bot" - } - ] - }, - "bots.setBotCommands": { - "name": "bots.setBotCommands", - "description": [ - "Set bot command list" - ], - "parameters": { - "commands": "Bot commands" - } - }, - "channels.checkUsername": { - "name": "channels.checkUsername", - "description": [ - "Check if a username is free and can be assigned to a channel/supergroup" - ], - "parameters": { - "channel": "The channel/supergroup that will assigned the specified username", - "username": "The username to check" - }, - "errors": [ - { - "code": 400, - "type": "CHANNELS_ADMIN_PUBLIC_TOO_MUCH", - "description": "You're admin of too many public channels, make some channels private to change the username of this channel" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "USERNAME_INVALID", - "description": "The provided username is not valid" - } - ] - }, - "channels.createChannel": { - "name": "channels.createChannel", - "description": [ - "Create a supergroup/channel." - ], - "parameters": { - "about": "Channel description", - "address": "Geogroup address", - "broadcast": "Whether to create a channel", - "flags": "Flags, see TL conditional fields", - "geo_point": "Geogroup location", - "megagroup": "Whether to create a supergroup", - "title": "Channel title" - }, - "errors": [ - { - "code": 400, - "type": "CHANNELS_TOO_MUCH", - "description": "You have joined too many channels/supergroups" - }, - { - "code": 400, - "type": "CHAT_ABOUT_TOO_LONG", - "description": "Chat about too long" - }, - { - "code": 400, - "type": "CHAT_TITLE_EMPTY", - "description": "No chat title provided" - }, - { - "code": 403, - "type": "USER_RESTRICTED", - "description": "You're spamreported, you can't create channels or chats." - } - ] - }, - "channels.deleteChannel": { - "name": "channels.deleteChannel", - "description": [ - "Delete a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup to delete" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHANNEL_TOO_LARGE", - "description": "Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change)" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - } - ] - }, - "channels.deleteHistory": { - "name": "channels.deleteHistory", - "description": [ - "Delete the history of a supergroup" - ], - "parameters": { - "channel": "Supergroup whose history must be deleted", - "max_id": "ID of message up to which the history must be deleted" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - } - ] - }, - "channels.deleteMessages": { - "name": "channels.deleteMessages", - "description": [ - "Delete messages in a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup", - "id": "IDs of messages to delete" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 403, - "type": "MESSAGE_DELETE_FORBIDDEN", - "description": "You can't delete one of the messages you tried to delete, most likely because it is a service message." - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.deleteUserHistory": { - "name": "channels.deleteUserHistory", - "description": [ - "Delete all messages sent by a certain user in a supergroup" - ], - "parameters": { - "channel": "Supergroup", - "user_id": "User whose messages should be deleted" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "channels.editAdmin": { - "name": "channels.editAdmin", - "description": [ - "Modify the admin rights of a user in a supergroup/channel." - ], - "parameters": { - "admin_rights": "The admin rights", - "channel": "The supergroup/channel.", - "rank": "Indicates the role (rank) of the admin in the group: just an arbitrary string", - "user_id": "The ID of the user whose admin rights should be modified" - }, - "errors": [ - { - "code": 400, - "type": "ADMINS_TOO_MUCH", - "description": "There are too many admins" - }, - { - "code": 400, - "type": "BOTS_TOO_MUCH", - "description": "There are too many bots in this chat/channel" - }, - { - "code": 400, - "type": "BOT_CHANNELS_NA", - "description": "Bots can't edit admin privileges" - }, - { - "code": 400, - "type": "BOT_GROUPS_BLOCKED", - "description": "This bot can't be added to groups" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 403, - "type": "CHAT_ADMIN_INVITE_REQUIRED", - "description": "You do not have the rights to do this" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 406, - "type": "FRESH_CHANGE_ADMINS_FORBIDDEN", - "description": "You were just elected admin, you can't add or modify other admins yet" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 403, - "type": "RIGHT_FORBIDDEN", - "description": "Your admin rights do not allow you to do this" - }, - { - "code": 400, - "type": "USERS_TOO_MUCH", - "description": "The maximum number of users has been exceeded (to create a chat, for example)" - }, - { - "code": 400, - "type": "USER_BLOCKED", - "description": "User blocked" - }, - { - "code": 403, - "type": "USER_CHANNELS_TOO_MUCH", - "description": "One of the users you tried to add is already in too many channels/supergroups" - }, - { - "code": 400, - "type": "USER_CREATOR", - "description": "You can't leave this channel, because you're its creator" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 400, - "type": "USER_NOT_MUTUAL_CONTACT", - "description": "The provided user is not a mutual contact" - }, - { - "code": 403, - "type": "USER_PRIVACY_RESTRICTED", - "description": "The user's privacy settings do not allow you to do this" - }, - { - "code": 403, - "type": "USER_RESTRICTED", - "description": "You're spamreported, you can't create channels or chats." - } - ] - }, - "channels.editBanned": { - "name": "channels.editBanned", - "description": [ - "Ban/unban/kick a user in a supergroup/channel." - ], - "parameters": { - "banned_rights": "The banned rights", - "channel": "The supergroup/channel.", - "user_id": "The ID of the user whose banned rights should be modified" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PINNED_DIALOGS_TOO_MUCH", - "description": "Too many pinned dialogs" - }, - { - "code": 400, - "type": "USER_ADMIN_INVALID", - "description": "You're not an admin" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "channels.editCreator": { - "name": "channels.editCreator", - "description": [ - "Transfer channel ownership" - ], - "parameters": { - "channel": "Channel", - "password": "2FA password of account", - "user_id": "New channel owner" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "PASSWORD_HASH_INVALID", - "description": "The provided password hash is invalid" - }, - { - "code": 400, - "type": "PASSWORD_MISSING", - "description": "You must enable 2FA in order to transfer ownership of a channel" - }, - { - "code": 400, - "type": "PASSWORD_TOO_FRESH_X", - "description": "The password was modified less than 24 hours ago, try again in X seconds" - }, - { - "code": 400, - "type": "SESSION_TOO_FRESH_X", - "description": "This session was created less than 24 hours ago, try again in X seconds" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "channels.editLocation": { - "name": "channels.editLocation", - "description": [ - "Edit location of geogroup" - ], - "parameters": { - "address": "Address string", - "channel": "Geogroup", - "geo_point": "New geolocation" - }, - "errors": [ - { - "code": 400, - "type": "MEGAGROUP_REQUIRED", - "description": "You can only use this method on a supergroup" - } - ] - }, - "channels.editPhoto": { - "name": "channels.editPhoto", - "description": [ - "Change the photo of a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup whose photo should be edited", - "photo": "New photo" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "PHOTO_CROP_SIZE_SMALL", - "description": "Photo is too small" - }, - { - "code": 400, - "type": "PHOTO_EXT_INVALID", - "description": "The extension of the photo is invalid" - }, - { - "code": 400, - "type": "PHOTO_INVALID", - "description": "Photo invalid" - } - ] - }, - "channels.editTitle": { - "name": "channels.editTitle", - "description": [ - "Edit the name of a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup", - "title": "New name" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 400, - "type": "CHAT_TITLE_EMPTY", - "description": "No chat title provided" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - } - ] - }, - "channels.exportMessageLink": { - "name": "channels.exportMessageLink", - "description": [ - "Get link and embed info of a message in a channel/supergroup" - ], - "parameters": { - "channel": "Channel", - "flags": "Flags, see TL conditional fields", - "grouped": "Whether to include other grouped media (for albums)", - "id": "Message ID", - "thread": "Whether to also include a thread ID, if available, inside of the link" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.getAdminLog": { - "name": "channels.getAdminLog", - "description": [ - "Get the admin log of a channel/supergroup" - ], - "parameters": { - "admins": "Only show events from these admins", - "channel": "Channel", - "events_filter": "Event filter", - "flags": "Flags, see TL conditional fields", - "limit": "Maximum number of results to return, see pagination", - "max_id": "Maximum ID of message to return (see pagination)", - "min_id": "Minimum ID of message to return (see pagination)", - "q": "Search query, can be empty" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.getAdminedPublicChannels": { - "name": "channels.getAdminedPublicChannels", - "description": [ - "Get channels/supergroups/geogroups we're admin in. Usually called when the user exceeds the limit for owned public channels/supergroups/geogroups, and the user is given the choice to remove one of his channels/supergroups/geogroups." - ], - "parameters": { - "by_location": "Get geogroups", - "check_limit": "If set and the user has reached the limit of owned public channels/supergroups/geogroups, instead of returning the channel list one of the specified errors will be returned.Useful to check if a new public channel can indeed be created, even before asking the user to enter a channel username to use in channels.checkUsername/channels.updateUsername.", - "flags": "Flags, see TL conditional fields" - }, - "errors": [ - { - "code": 400, - "type": "CHANNELS_ADMIN_LOCATED_TOO_MUCH", - "description": "Returned if both the check_limit and the by_location flags are set and the user has reached the limit of public geogroups" - }, - { - "code": 400, - "type": "CHANNELS_ADMIN_PUBLIC_TOO_MUCH", - "description": "Returned if the check_limit flag is set and the user has reached the limit of public channels/supergroups" - } - ] - }, - "channels.getChannels": { - "name": "channels.getChannels", - "description": [ - "Get info about channels/supergroups" - ], - "parameters": { - "id": "IDs of channels/supergroups to get info about" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.getFullChannel": { - "name": "channels.getFullChannel", - "description": [ - "Get full info about a channel" - ], - "parameters": { - "channel": "The channel to get info about" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 403, - "type": "CHANNEL_PUBLIC_GROUP_NA", - "description": "channel/supergroup not available" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.getGroupsForDiscussion": { - "name": "channels.getGroupsForDiscussion", - "description": [ - "Get all groups that can be used as discussion groups.", - "Returned legacy group chats must be first upgraded to supergroups before they can be set as a discussion group.", - "To set a returned supergroup as a discussion group, access to its old messages must be enabled using channels.togglePreHistoryHidden, first." - ] - }, - "channels.getInactiveChannels": { - "name": "channels.getInactiveChannels", - "description": [ - "Get inactive channels and supergroups" - ] - }, - "channels.getLeftChannels": { - "name": "channels.getLeftChannels", - "description": [ - "Get a list of channels/supergroups we left" - ], - "parameters": { - "offset": "Offset for pagination" - }, - "errors": [ - { - "code": 403, - "type": "TAKEOUT_REQUIRED", - "description": "A takeout session has to be initialized, first" - } - ] - }, - "channels.getMessages": { - "name": "channels.getMessages", - "description": [ - "Get channel/supergroup messages" - ], - "parameters": { - "channel": "Channel/supergroup", - "id": "IDs of messages to get" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MESSAGE_IDS_EMPTY", - "description": "No message ids were provided" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.getParticipant": { - "name": "channels.getParticipant", - "description": [ - "Get info about a channel/supergroup participant" - ], - "parameters": { - "channel": "Channel/supergroup", - "user_id": "ID of participant to get info about" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 400, - "type": "USER_NOT_PARTICIPANT", - "description": "You're not a member of this supergroup/channel" - } - ] - }, - "channels.getParticipants": { - "name": "channels.getParticipants", - "description": [ - "Get the participants of a supergroup/channel" - ], - "parameters": { - "channel": "Channel", - "filter": "Which participant types to fetch", - "hash": "Hash", - "limit": "Limit", - "offset": "Offset" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "INPUT_CONSTRUCTOR_INVALID", - "description": "The provided constructor is invalid" - } - ] - }, - "channels.inviteToChannel": { - "name": "channels.inviteToChannel", - "description": [ - "Invite users to a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup", - "users": "Users to invite" - }, - "errors": [ - { - "code": 400, - "type": "BOTS_TOO_MUCH", - "description": "There are too many bots in this chat/channel" - }, - { - "code": 400, - "type": "BOT_GROUPS_BLOCKED", - "description": "This bot can't be added to groups" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_INVALID", - "description": "Invalid chat" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "USERS_TOO_MUCH", - "description": "The maximum number of users has been exceeded (to create a chat, for example)" - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "USER_BLOCKED", - "description": "User blocked" - }, - { - "code": 400, - "type": "USER_BOT", - "description": "Bots can only be admins in channels." - }, - { - "code": 403, - "type": "USER_CHANNELS_TOO_MUCH", - "description": "One of the users you tried to add is already in too many channels/supergroups" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 400, - "type": "USER_KICKED", - "description": "This user was kicked from this supergroup/channel" - }, - { - "code": 400, - "type": "USER_NOT_MUTUAL_CONTACT", - "description": "The provided user is not a mutual contact" - }, - { - "code": 403, - "type": "USER_PRIVACY_RESTRICTED", - "description": "The user's privacy settings do not allow you to do this" - } - ] - }, - "channels.joinChannel": { - "name": "channels.joinChannel", - "description": [ - "Join a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup to join" - }, - "errors": [ - { - "code": 400, - "type": "CHANNELS_TOO_MUCH", - "description": "You have joined too many channels/supergroups" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "INVITE_HASH_EMPTY", - "description": "The invite hash is empty" - }, - { - "code": 400, - "type": "INVITE_HASH_EXPIRED", - "description": "The invite link has expired" - }, - { - "code": 400, - "type": "INVITE_HASH_INVALID", - "description": "The invite hash is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USERS_TOO_MUCH", - "description": "The maximum number of users has been exceeded (to create a chat, for example)" - }, - { - "code": 400, - "type": "USER_ALREADY_PARTICIPANT", - "description": "The user is already in the group" - }, - { - "code": 400, - "type": "USER_CHANNELS_TOO_MUCH", - "description": "One of the users you tried to add is already in too many channels/supergroups" - } - ] - }, - "channels.leaveChannel": { - "name": "channels.leaveChannel", - "description": [ - "Leave a channel/supergroup" - ], - "parameters": { - "channel": "Channel/supergroup to leave" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 403, - "type": "CHANNEL_PUBLIC_GROUP_NA", - "description": "channel/supergroup not available" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "USER_CREATOR", - "description": "You can't leave this channel, because you're its creator" - }, - { - "code": 400, - "type": "USER_NOT_PARTICIPANT", - "description": "You're not a member of this supergroup/channel" - } - ] - }, - "channels.readHistory": { - "name": "channels.readHistory", - "description": [ - "Mark channel/supergroup history as read" - ], - "parameters": { - "channel": "Channel/supergroup", - "max_id": "ID of message up to which messages should be marked as read" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.readMessageContents": { - "name": "channels.readMessageContents", - "description": [ - "Mark channel/supergroup message contents as read" - ], - "parameters": { - "channel": "Channel/supergroup", - "id": "IDs of messages whose contents should be marked as read" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "channels.reportSpam": { - "name": "channels.reportSpam", - "description": [ - "Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup" - ], - "parameters": { - "channel": "Supergroup", - "id": "IDs of spam messages", - "user_id": "ID of the user that sent the spam messages" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "channels.setDiscussionGroup": { - "name": "channels.setDiscussionGroup", - "description": [ - "Associate a group to a channel as discussion group for that channel" - ], - "parameters": { - "broadcast": "Channel", - "group": "Discussion group to associate to the channel" - }, - "errors": [ - { - "code": 400, - "type": "BROADCAST_ID_INVALID", - "description": "Broadcast ID invalid" - }, - { - "code": 400, - "type": "LINK_NOT_MODIFIED", - "description": "Discussion link not modified" - }, - { - "code": 400, - "type": "MEGAGROUP_ID_INVALID", - "description": "Invalid supergroup ID" - } - ] - }, - "channels.setStickers": { - "name": "channels.setStickers", - "description": [ - "Associate a stickerset to the supergroup" - ], - "parameters": { - "channel": "Supergroup", - "stickerset": "The stickerset to associate" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "PARTICIPANTS_TOO_FEW", - "description": "Not enough participants" - } - ] - }, - "channels.togglePreHistoryHidden": { - "name": "channels.togglePreHistoryHidden", - "description": [ - "Hide/unhide message history for new channel/supergroup users" - ], - "parameters": { - "channel": "Channel/supergroup", - "enabled": "Hide/unhide" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "CHAT_LINK_EXISTS", - "description": "The chat is public, you can't hide the history to new users" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - } - ] - }, - "channels.toggleSignatures": { - "name": "channels.toggleSignatures", - "description": [ - "Enable/disable message signatures in channels" - ], - "parameters": { - "channel": "Channel", - "enabled": "Value" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - } - ] - }, - "channels.toggleSlowMode": { - "name": "channels.toggleSlowMode", - "description": [ - "Toggle supergroup slow mode: if enabled, users will only be able to send one message every seconds seconds" - ], - "parameters": { - "channel": "The supergroup", - "seconds": "Users will only be able to send one message every seconds seconds, 0 to disable the limitation" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 400, - "type": "INPUT_METHOD_INVALID_1192227_X", - "description": "Invalid method" - }, - { - "code": 400, - "type": "INPUT_METHOD_INVALID_1604042050_X", - "description": "Invalid method" - }, - { - "code": 400, - "type": "SECONDS_INVALID", - "description": "Invalid duration provided" - } - ] - }, - "channels.updateUsername": { - "name": "channels.updateUsername", - "description": [ - "Change the username of a supergroup/channel" - ], - "parameters": { - "channel": "Channel", - "username": "New username" - }, - "errors": [ - { - "code": 400, - "type": "CHANNELS_ADMIN_PUBLIC_TOO_MUCH", - "description": "You're admin of too many public channels, make some channels private to change the username of this channel" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "USERNAME_INVALID", - "description": "The provided username is not valid" - }, - { - "code": 400, - "type": "USERNAME_NOT_MODIFIED", - "description": "The username was not modified" - }, - { - "code": 400, - "type": "USERNAME_OCCUPIED", - "description": "The provided username is already occupied" - } - ] - }, - "contacts.acceptContact": { - "name": "contacts.acceptContact", - "description": [ - "If the peer settings of a new user allow us to add him as contact, add that user as contact" - ], - "parameters": { - "id": "The user to add as contact" - }, - "errors": [ - { - "code": 400, - "type": "CONTACT_ADD_MISSING", - "description": "Contact to add is missing" - }, - { - "code": 400, - "type": "CONTACT_ID_INVALID", - "description": "The provided contact ID is invalid" - }, - { - "code": 400, - "type": "CONTACT_REQ_MISSING", - "description": "Missing contact request" - } - ] - }, - "contacts.addContact": { - "name": "contacts.addContact", - "description": [ - "Add an existing telegram user as contact.", - "Use contacts.importContacts to add contacts by phone number, without knowing their Telegram ID." - ], - "parameters": { - "add_phone_privacy_exception": "Allow the other user to see our phone number?", - "first_name": "First name", - "flags": "Flags, see TL conditional fields", - "id": "Telegram ID of the other user", - "last_name": "Last name", - "phone": "User's phone number" - }, - "errors": [ - { - "code": 400, - "type": "CONTACT_ID_INVALID", - "description": "The provided contact ID is invalid" - }, - { - "code": 400, - "type": "CONTACT_NAME_EMPTY", - "description": "Contact name empty" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "contacts.block": { - "name": "contacts.block", - "description": [ - "Adds the user to the blacklist." - ], - "parameters": { - "id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "CONTACT_ID_INVALID", - "description": "The provided contact ID is invalid" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "contacts.blockFromReplies": { - "name": "contacts.blockFromReplies", - "description": [ - "Stop getting notifications about thread replies of a certain user in @replies" - ], - "parameters": { - "delete_history": "Whether to delete all @replies messages from this user as well", - "delete_message": "Whether to delete the specified message as well", - "flags": "Flags, see TL conditional fields", - "msg_id": "ID of the message in the @replies chat", - "report_spam": "Whether to also report this user for spam" - } - }, - "contacts.deleteByPhones": { - "name": "contacts.deleteByPhones", - "description": [ - "Delete contacts by phone number" - ], - "parameters": { - "phones": "Phone numbers" - } - }, - "contacts.deleteContacts": { - "name": "contacts.deleteContacts", - "description": [ - "Deletes several contacts from the list." - ], - "parameters": { - "id": "User ID list" - } - }, - "contacts.getBlocked": { - "name": "contacts.getBlocked", - "description": [ - "Returns the list of blocked users." - ], - "parameters": { - "limit": "The number of list elements to be returned", - "offset": "The number of list elements to be skipped" - } - }, - "contacts.getContactIDs": { - "name": "contacts.getContactIDs", - "description": [ - "Get contact by telegram IDs" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "contacts.getContacts": { - "name": "contacts.getContacts", - "description": [ - "Returns the current user's contact list." - ], - "parameters": { - "hash": "If there already is a full contact list on the client, a hash of a the list of contact IDs in ascending order may be passed in this parameter. If the contact set was not changed, (contacts.contactsNotModified) will be returned." - } - }, - "contacts.getLocated": { - "name": "contacts.getLocated", - "description": [ - "Get contacts near you" - ], - "parameters": { - "background": "While the geolocation of the current user is public, clients should update it in the background every half-an-hour or so, while setting this flag. Do this only if the new location is more than 1 KM away from the previous one, or if the previous location is unknown.", - "flags": "Flags, see TL conditional fields", - "geo_point": "Geolocation", - "self_expires": "If set, the geolocation of the current user will be public for the specified number of seconds; pass 0x7fffffff to disable expiry, 0 to make the current geolocation private; if the flag isn't set, no changes will be applied." - }, - "errors": [ - { - "code": 400, - "type": "GEO_POINT_INVALID", - "description": "Invalid geoposition provided" - }, - { - "code": 406, - "type": "USERPIC_UPLOAD_REQUIRED", - "description": "You must have a profile picture to publish your geolocation" - } - ] - }, - "contacts.getSaved": { - "name": "contacts.getSaved", - "description": [ - "Get all contacts" - ], - "parameters": { - "403": "A takeout session has to be initialized, first" - }, - "errors": [ - { - "code": 403, - "type": "TAKEOUT_REQUIRED", - "description": "A takeout session has to be initialized, first" - } - ] - }, - "contacts.getStatuses": { - "name": "contacts.getStatuses", - "description": [ - "Returns the list of contact statuses." - ] - }, - "contacts.getTopPeers": { - "name": "contacts.getTopPeers", - "description": [ - "Get most used peers" - ], - "parameters": { - "bots_inline": "Most used inline bots", - "bots_pm": "Most used bots", - "channels": "Most frequently visited channels", - "correspondents": "Users we've chatted most frequently with", - "flags": "Flags, see TL conditional fields", - "forward_chats": "Chats to which the users often forwards messages to", - "forward_users": "Users to which the users often forwards messages to", - "groups": "Often-opened groups and supergroups", - "hash": "Hash for pagination, for more info click here", - "limit": "Maximum number of results to return, see pagination", - "offset": "Offset for pagination", - "phone_calls": "Most frequently called users" - }, - "errors": [ - { - "code": 400, - "type": "TYPES_EMPTY", - "description": "No top peer type was provided" - } - ] - }, - "contacts.importContacts": { - "name": "contacts.importContacts", - "description": [ - "Imports contacts: saves a full list on the server, adds already registered contacts to the contact list, returns added contacts and their info.", - "Use contacts.addContact to add Telegram contacts without actually using their phone number." - ], - "parameters": { - "contacts": "List of contacts to import" - } - }, - "contacts.resetSaved": { - "name": "contacts.resetSaved", - "description": [ - "Delete saved contacts" - ] - }, - "contacts.resetTopPeerRating": { - "name": "contacts.resetTopPeerRating", - "description": [ - "Reset rating of top peer" - ], - "parameters": { - "category": "Top peer category", - "peer": "Peer whose rating should be reset" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "contacts.resolveUsername": { - "name": "contacts.resolveUsername", - "description": [ - "Resolve a @username to get peer info" - ], - "parameters": { - "username": "@username to resolve" - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "CONNECTION_DEVICE_MODEL_EMPTY", - "description": "Device model empty" - }, - { - "code": 400, - "type": "CONNECTION_LAYER_INVALID", - "description": "Layer invalid" - }, - { - "code": 400, - "type": "USERNAME_INVALID", - "description": "The provided username is not valid" - }, - { - "code": 400, - "type": "USERNAME_NOT_OCCUPIED", - "description": "The provided username is not occupied" - } - ] - }, - "contacts.search": { - "name": "contacts.search", - "description": [ - "Returns users found by username substring." - ], - "parameters": { - "limit": "Maximum number of users to be returned", - "q": "Target substring" - }, - "errors": [ - { - "code": 400, - "type": "QUERY_TOO_SHORT", - "description": "The query string is too short" - }, - { - "code": 400, - "type": "SEARCH_QUERY_EMPTY", - "description": "The search query is empty" - } - ] - }, - "contacts.toggleTopPeers": { - "name": "contacts.toggleTopPeers", - "description": [ - "Enable/disable top peers" - ], - "parameters": { - "enabled": "Enable/disable" - } - }, - "contacts.unblock": { - "name": "contacts.unblock", - "description": [ - "Deletes the user from the blacklist." - ], - "parameters": { - "id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "CONTACT_ID_INVALID", - "description": "The provided contact ID is invalid" - } - ] - }, - "folders.deleteFolder": { - "name": "folders.deleteFolder", - "description": [ - "Delete a peer folder" - ], - "parameters": { - "folder_id": "Peer folder ID, for more info click here" - } - }, - "folders.editPeerFolders": { - "name": "folders.editPeerFolders", - "description": [ - "Edit peers in peer folder" - ], - "parameters": { - "folder_peers": "New peer list" - }, - "errors": [ - { - "code": 400, - "type": "FOLDER_ID_INVALID", - "description": "Invalid folder ID" - } - ] - }, - "help.acceptTermsOfService": { - "name": "help.acceptTermsOfService", - "description": [ - "Accept the new terms of service" - ], - "parameters": { - "id": "ID of terms of service" - } - }, - "help.dismissSuggestion": { - "name": "help.dismissSuggestion", - "description": [ - "Dismiss a suggestion" - ], - "parameters": { - "suggestion": "Suggestion" - } - }, - "help.editUserInfo": { - "name": "help.editUserInfo", - "description": [ - "Internal use" - ], - "parameters": { - "entities": "Message entities for styled text", - "message": "Message", - "user_id": "User" - } - }, - "help.getAppChangelog": { - "name": "help.getAppChangelog", - "description": [ - "Get changelog of current app.", - "Typically, an updates constructor will be returned, containing one or more updateServiceNotification updates with app-specific changelogs." - ], - "parameters": { - "prev_app_version": "Previous app version" - } - }, - "help.getAppConfig": { - "name": "help.getAppConfig", - "description": [ - "Get app-specific configuration, see client configuration for more info on the result." - ] - }, - "help.getAppUpdate": { - "name": "help.getAppUpdate", - "description": [ - "Returns information on update availability for the current application." - ], - "parameters": { - "source": "Source" - } - }, - "help.getCdnConfig": { - "name": "help.getCdnConfig", - "description": [ - "Get configuration for CDN file downloads." - ], - "parameters": { - "401": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - } - ] - }, - "help.getConfig": { - "name": "help.getConfig", - "description": [ - "Returns current configuration, including data center configuration." - ], - "parameters": { - "400": "Invalid message ID provided" - }, - "errors": [ - { - "code": 400, - "type": "CONNECTION_API_ID_INVALID", - "description": "The provided API id is invalid" - }, - { - "code": 400, - "type": "CONNECTION_APP_VERSION_EMPTY", - "description": "App version is empty" - }, - { - "code": 400, - "type": "CONNECTION_DEVICE_MODEL_EMPTY", - "description": "Device model empty" - }, - { - "code": 400, - "type": "CONNECTION_LANG_PACK_INVALID", - "description": "Language pack invalid" - }, - { - "code": 400, - "type": "CONNECTION_LAYER_INVALID", - "description": "Layer invalid" - }, - { - "code": 400, - "type": "CONNECTION_NOT_INITED", - "description": "Connection not initialized" - }, - { - "code": 400, - "type": "CONNECTION_SYSTEM_EMPTY", - "description": "Connection system empty" - }, - { - "code": 400, - "type": "CONNECTION_SYSTEM_LANG_CODE_EMPTY", - "description": "The system_lang_code field is empty" - }, - { - "code": 400, - "type": "DATA_INVALID", - "description": "Encrypted data invalid" - }, - { - "code": 400, - "type": "INPUT_LAYER_INVALID", - "description": "The provided layer is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "help.getCountriesList": { - "name": "help.getCountriesList", - "description": [ - "Get name, ISO code, localized name and phone codes/patterns of all available countries" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here", - "lang_code": "Language code of the current user" - } - }, - "help.getDeepLinkInfo": { - "name": "help.getDeepLinkInfo", - "description": [ - "Get info about a t.me link" - ], - "parameters": { - "path": "Path in t.me/path" - } - }, - "help.getInviteText": { - "name": "help.getInviteText", - "description": [ - "Returns localized text of a text message with an invitation." - ] - }, - "help.getNearestDc": { - "name": "help.getNearestDc", - "description": [ - "Returns info on data centre nearest to the user." - ] - }, - "help.getPassportConfig": { - "name": "help.getPassportConfig", - "description": [ - "Get passport configuration" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "help.getPromoData": { - "name": "help.getPromoData", - "description": [ - "Get MTProxy/Public Service Announcement information" - ] - }, - "help.getRecentMeUrls": { - "name": "help.getRecentMeUrls", - "description": [ - "Get recently used t.me links" - ], - "parameters": { - "referer": "Referer" - } - }, - "help.getSupport": { - "name": "help.getSupport", - "description": [ - "Returns the support user for the 'ask a question' feature." - ] - }, - "help.getSupportName": { - "name": "help.getSupportName", - "description": [ - "Get localized name of the telegram support user" - ], - "parameters": { - "403": "Invalid user provided" - }, - "errors": [ - { - "code": 403, - "type": "USER_INVALID", - "description": "Invalid user provided" - } - ] - }, - "help.getTermsOfServiceUpdate": { - "name": "help.getTermsOfServiceUpdate", - "description": [ - "Look for updates of telegram's terms of service" - ] - }, - "help.getUserInfo": { - "name": "help.getUserInfo", - "description": [ - "Internal use" - ], - "parameters": { - "user_id": "User ID" - }, - "errors": [ - { - "code": 403, - "type": "USER_INVALID", - "description": "Invalid user provided" - } - ] - }, - "help.hidePromoData": { - "name": "help.hidePromoData", - "description": [ - "Hide MTProxy/Public Service Announcement information" - ], - "parameters": { - "peer": "Peer to hide" - } - }, - "help.saveAppLog": { - "name": "help.saveAppLog", - "description": [ - "Saves logs of application on the server." - ], - "parameters": { - "events": "List of input events" - } - }, - "help.setBotUpdatesStatus": { - "name": "help.setBotUpdatesStatus", - "description": [ - "Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only" - ], - "parameters": { - "message": "Error message, if present", - "pending_updates_count": "Number of pending updates" - } - }, - "initConnection": { - "name": "initConnection", - "description": [ - "Initialize connection" - ], - "parameters": { - "api_id": "Application identifier (see. App configuration)", - "app_version": "Application version", - "device_model": "Device model", - "flags": "Flags, see TL conditional fields", - "lang_code": "Code for the language used on the client, ISO 639-1 standard", - "lang_pack": "Language pack to use", - "params": "Additional initConnection parameters. For now, only the tz_offset field is supported, for specifying timezone offset in seconds.", - "proxy": "Info about an MTProto proxy", - "query": "The query itself", - "system_lang_code": "Code for the language used on the device's OS, ISO 639-1 standard", - "system_version": "Operation system version" - }, - "errors": [ - { - "code": 400, - "type": "CONNECTION_LAYER_INVALID", - "description": "Layer invalid" - } - ] - }, - "invokeAfterMsg": { - "name": "invokeAfterMsg", - "description": [ - "Invokes a query after successfull completion of one of the previous queries." - ], - "parameters": { - "msg_id": "Message identifier on which a current query depends", - "query": "The query itself" - } - }, - "invokeAfterMsgs": { - "name": "invokeAfterMsgs", - "description": [ - "Invokes a query after a successfull completion of previous queries" - ], - "parameters": { - "msg_ids": "List of messages on which a current query depends", - "query": "The query itself" - } - }, - "invokeWithLayer": { - "name": "invokeWithLayer", - "description": [ - "Invoke the specified query using the specified API layer" - ], - "parameters": { - "layer": "The layer to use", - "query": "The query" - }, - "errors": [ - { - "code": 400, - "type": "AUTH_BYTES_INVALID", - "description": "The provided authorization is invalid" - }, - { - "code": 400, - "type": "CDN_METHOD_INVALID", - "description": "You can't call this method in a CDN DC" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "CONNECTION_API_ID_INVALID", - "description": "The provided API id is invalid" - }, - { - "code": 400, - "type": "CONNECTION_DEVICE_MODEL_EMPTY", - "description": "Device model empty" - }, - { - "code": 400, - "type": "CONNECTION_LANG_PACK_INVALID", - "description": "Language pack invalid" - }, - { - "code": 400, - "type": "CONNECTION_NOT_INITED", - "description": "Connection not initialized" - }, - { - "code": 400, - "type": "CONNECTION_SYSTEM_EMPTY", - "description": "Connection system empty" - }, - { - "code": 400, - "type": "INPUT_LAYER_INVALID", - "description": "The provided layer is invalid" - }, - { - "code": 400, - "type": "INVITE_HASH_EXPIRED", - "description": "The invite link has expired" - } - ] - }, - "invokeWithMessagesRange": { - "name": "invokeWithMessagesRange", - "description": [ - "Invoke with the given message range" - ], - "parameters": { - "query": "Query", - "range": "Message range" - } - }, - "invokeWithTakeout": { - "name": "invokeWithTakeout", - "description": [ - "Invoke a method within a takeout session" - ], - "parameters": { - "query": "Query", - "takeout_id": "Takeout session ID" - }, - "errors": [ - { - "code": 400, - "type": "INPUT_METHOD_INVALID_1400137063_X", - "description": "Invalid method" - } - ] - }, - "invokeWithoutUpdates": { - "name": "invokeWithoutUpdates", - "description": [ - "Invoke a request without subscribing the used connection for updates (this is enabled by default for file queries)." - ], - "parameters": { - "query": "The query" - } - }, - "langpack.getDifference": { - "name": "langpack.getDifference", - "description": [ - "Get new strings in languagepack" - ], - "parameters": { - "from_version": "Previous localization pack version", - "lang_code": "Language code", - "lang_pack": "Language pack" - }, - "errors": [ - { - "code": 400, - "type": "LANG_PACK_INVALID", - "description": "The provided language pack is invalid" - } - ] - }, - "langpack.getLangPack": { - "name": "langpack.getLangPack", - "description": [ - "Get localization pack strings" - ], - "parameters": { - "lang_code": "Language code", - "lang_pack": "Language pack name" - }, - "errors": [ - { - "code": 400, - "type": "LANG_PACK_INVALID", - "description": "The provided language pack is invalid" - } - ] - }, - "langpack.getLanguage": { - "name": "langpack.getLanguage", - "description": [ - "Get information about a language in a localization pack" - ], - "parameters": { - "lang_code": "Language code", - "lang_pack": "Language pack name" - } - }, - "langpack.getLanguages": { - "name": "langpack.getLanguages", - "description": [ - "Get information about all languages in a localization pack" - ], - "parameters": { - "lang_pack": "Language pack" - }, - "errors": [ - { - "code": 400, - "type": "LANG_PACK_INVALID", - "description": "The provided language pack is invalid" - } - ] - }, - "langpack.getStrings": { - "name": "langpack.getStrings", - "description": [ - "Get strings from a language pack" - ], - "parameters": { - "keys": "Strings to get", - "lang_code": "Language code", - "lang_pack": "Language pack name" - }, - "errors": [ - { - "code": 400, - "type": "LANG_PACK_INVALID", - "description": "The provided language pack is invalid" - } - ] - }, - "messages.acceptEncryption": { - "name": "messages.acceptEncryption", - "description": [ - "Confirms creation of a secret chat" - ], - "parameters": { - "g_b": "B = g ^ b mod p, see Wikipedia", - "key_fingerprint": "64-bit fingerprint of the received key", - "peer": "Secret chat ID" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "ENCRYPTION_ALREADY_ACCEPTED", - "description": "Secret chat already accepted" - }, - { - "code": 400, - "type": "ENCRYPTION_ALREADY_DECLINED", - "description": "The secret chat was already declined" - } - ] - }, - "messages.acceptUrlAuth": { - "name": "messages.acceptUrlAuth", - "description": [ - "Use this to accept a Seamless Telegram Login authorization request, for more info click here »" - ], - "parameters": { - "button_id": "ID of the login button", - "flags": "Flags, see TL conditional fields", - "msg_id": "Message ID of the message with the login button", - "peer": "The location of the message", - "write_allowed": "Set this flag to allow the bot to send messages to you (if requested)" - } - }, - "messages.addChatUser": { - "name": "messages.addChatUser", - "description": [ - "Adds a user to a chat and sends a service message on it." - ], - "parameters": { - "chat_id": "Chat ID", - "fwd_limit": "Number of last messages to be forwarded", - "user_id": "User ID to be added" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USERS_TOO_MUCH", - "description": "The maximum number of users has been exceeded (to create a chat, for example)" - }, - { - "code": 400, - "type": "USER_ALREADY_PARTICIPANT", - "description": "The user is already in the group" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 403, - "type": "USER_NOT_MUTUAL_CONTACT", - "description": "The provided user is not a mutual contact" - }, - { - "code": 403, - "type": "USER_PRIVACY_RESTRICTED", - "description": "The user's privacy settings do not allow you to do this" - } - ] - }, - "messages.checkChatInvite": { - "name": "messages.checkChatInvite", - "description": [ - "Check the validity of a chat invite link and get basic info about it" - ], - "parameters": { - "hash": "Invite hash in t.me/joinchat/hash" - }, - "errors": [ - { - "code": 400, - "type": "INVITE_HASH_EMPTY", - "description": "The invite hash is empty" - }, - { - "code": 400, - "type": "INVITE_HASH_EXPIRED", - "description": "The invite link has expired" - }, - { - "code": 400, - "type": "INVITE_HASH_INVALID", - "description": "The invite hash is invalid" - } - ] - }, - "messages.clearAllDrafts": { - "name": "messages.clearAllDrafts", - "description": [ - "Clear all drafts." - ] - }, - "messages.clearRecentStickers": { - "name": "messages.clearRecentStickers", - "description": [ - "Clear recent stickers" - ], - "parameters": { - "attached": "Set this flag to clear the list of stickers recently attached to photo or video files", - "flags": "Flags, see TL conditional fields" - } - }, - "messages.createChat": { - "name": "messages.createChat", - "description": [ - "Creates a new chat." - ], - "parameters": { - "title": "Chat name", - "users": "List of user IDs to be invited" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_INVALID", - "description": "Invalid chat" - }, - { - "code": 400, - "type": "CHAT_TITLE_EMPTY", - "description": "No chat title provided" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "USERS_TOO_FEW", - "description": "Not enough users (to create a chat, for example)" - }, - { - "code": 403, - "type": "USER_RESTRICTED", - "description": "You're spamreported, you can't create channels or chats." - } - ] - }, - "messages.deleteChatUser": { - "name": "messages.deleteChatUser", - "description": [ - "Deletes a user from a chat and sends a service message on it." - ], - "parameters": { - "chat_id": "Chat ID", - "user_id": "User ID to be deleted" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 400, - "type": "USER_NOT_PARTICIPANT", - "description": "You're not a member of this supergroup/channel" - } - ] - }, - "messages.deleteHistory": { - "name": "messages.deleteHistory", - "description": [ - "Deletes communication history." - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "just_clear": "Just clear history for the current user, without actually removing messages for every chat user", - "max_id": "Maximum ID of message to delete", - "peer": "User or chat, communication history of which will be deleted", - "revoke": "Whether to delete the message history for all chat participants" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.deleteMessages": { - "name": "messages.deleteMessages", - "description": [ - "Deletes messages by their identifiers." - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "id": "Message ID list", - "revoke": "Whether to delete messages for all participants of the chat" - }, - "errors": [ - { - "code": 403, - "type": "MESSAGE_DELETE_FORBIDDEN", - "description": "You can't delete one of the messages you tried to delete, most likely because it is a service message." - } - ] - }, - "messages.deleteScheduledMessages": { - "name": "messages.deleteScheduledMessages", - "description": [ - "Delete scheduled messages" - ], - "parameters": { - "id": "Scheduled message IDs", - "peer": "Peer" - } - }, - "messages.discardEncryption": { - "name": "messages.discardEncryption", - "description": [ - "Cancels a request for creation and/or delete info on secret chat." - ], - "parameters": { - "chat_id": "Secret chat ID" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_EMPTY", - "description": "The provided chat ID is empty" - }, - { - "code": 400, - "type": "ENCRYPTION_ALREADY_DECLINED", - "description": "The secret chat was already declined" - }, - { - "code": 400, - "type": "ENCRYPTION_ID_INVALID", - "description": "The provided secret chat ID is invalid" - } - ] - }, - "messages.editChatAbout": { - "name": "messages.editChatAbout", - "description": [ - "Edit the description of a group/supergroup/channel." - ], - "parameters": { - "about": "The new description", - "peer": "The group/supergroup/channel." - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ABOUT_NOT_MODIFIED", - "description": "About text has not changed" - }, - { - "code": 400, - "type": "CHAT_ABOUT_TOO_LONG", - "description": "Chat about too long" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.editChatAdmin": { - "name": "messages.editChatAdmin", - "description": [ - "Make a user admin in a legacy group." - ], - "parameters": { - "chat_id": "The ID of the group", - "is_admin": "Whether to make him admin", - "user_id": "The user to make admin" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 400, - "type": "USER_NOT_PARTICIPANT", - "description": "You're not a member of this supergroup/channel" - } - ] - }, - "messages.editChatDefaultBannedRights": { - "name": "messages.editChatDefaultBannedRights", - "description": [ - "Edit the default banned rights of a channel/supergroup/group." - ], - "parameters": { - "banned_rights": "The new global rights", - "peer": "The peer" - }, - "errors": [ - { - "code": 400, - "type": "BANNED_RIGHTS_INVALID", - "description": "You provided some invalid flags in the banned rights" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "UNTIL_DATE_INVALID", - "description": "Invalid until date provided" - } - ] - }, - "messages.editChatPhoto": { - "name": "messages.editChatPhoto", - "description": [ - "Changes chat photo and sends a service message on it" - ], - "parameters": { - "chat_id": "Chat ID", - "photo": "Photo to be set" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 400, - "type": "INPUT_CONSTRUCTOR_INVALID", - "description": "The provided constructor is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "PHOTO_CROP_SIZE_SMALL", - "description": "Photo is too small" - }, - { - "code": 400, - "type": "PHOTO_EXT_INVALID", - "description": "The extension of the photo is invalid" - }, - { - "code": 400, - "type": "PHOTO_INVALID", - "description": "Photo invalid" - } - ] - }, - "messages.editChatTitle": { - "name": "messages.editChatTitle", - "description": [ - "Chanages chat name and sends a service message on it." - ], - "parameters": { - "chat_id": "Chat ID", - "title": "New chat name, different from the old one" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 400, - "type": "CHAT_TITLE_EMPTY", - "description": "No chat title provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.editInlineBotMessage": { - "name": "messages.editInlineBotMessage", - "description": [ - "Edit an inline bot message" - ], - "parameters": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "id": "Sent inline message ID", - "media": "Media", - "message": "Message", - "no_webpage": "Disable webpage preview", - "reply_markup": "Reply markup for inline keyboards" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "MESSAGE_NOT_MODIFIED", - "description": "The message text has not changed" - } - ] - }, - "messages.editMessage": { - "name": "messages.editMessage", - "description": [ - "Edit message" - ], - "parameters": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "id": "ID of the message to edit", - "media": "New attached media", - "message": "New message", - "no_webpage": "Disable webpage preview", - "peer": "Where was the message sent", - "reply_markup": "Reply markup for inline keyboards", - "schedule_date": "Scheduled message date for scheduled messages" - }, - "errors": [ - { - "code": 400, - "type": "BUTTON_DATA_INVALID", - "description": "The data of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_TYPE_INVALID", - "description": "The type of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_URL_INVALID", - "description": "Button URL invalid" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 403, - "type": "INLINE_BOT_REQUIRED", - "description": "Only the inline bot can edit message" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MEDIA_CAPTION_TOO_LONG", - "description": "The caption is too long" - }, - { - "code": 400, - "type": "MEDIA_PREV_INVALID", - "description": "Previous media invalid" - }, - { - "code": 403, - "type": "MESSAGE_AUTHOR_REQUIRED", - "description": "Message author required" - }, - { - "code": 400, - "type": "MESSAGE_EDIT_TIME_EXPIRED", - "description": "You can't edit this message anymore, too much time has passed since its creation." - }, - { - "code": 400, - "type": "MESSAGE_EMPTY", - "description": "The provided message is empty" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "MESSAGE_NOT_MODIFIED", - "description": "The message text has not changed" - }, - { - "code": 400, - "type": "MESSAGE_TOO_LONG", - "description": "The provided message is too long" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "REPLY_MARKUP_INVALID", - "description": "The provided reply markup is invalid" - }, - { - "code": 400, - "type": "SCHEDULE_DATE_INVALID", - "description": "Invalid schedule date provided" - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - } - ] - }, - "messages.exportChatInvite": { - "name": "messages.exportChatInvite", - "description": [ - "Export an invite link for a chat" - ], - "parameters": { - "peer": "Chat" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.faveSticker": { - "name": "messages.faveSticker", - "description": [ - "Mark a sticker as favorite" - ], - "parameters": { - "id": "Sticker to mark as favorite", - "unfave": "Unfavorite" - }, - "errors": [ - { - "code": 400, - "type": "STICKER_ID_INVALID", - "description": "The provided sticker ID is invalid" - } - ] - }, - "messages.forwardMessages": { - "name": "messages.forwardMessages", - "description": [ - "Forwards messages by their IDs." - ], - "parameters": { - "background": "Whether to send the message in background", - "flags": "Flags, see TL conditional fields", - "from_peer": "Source of messages", - "id": "IDs of messages", - "random_id": "Random ID to prevent resending of messages", - "schedule_date": "Scheduled message date for scheduled messages", - "silent": "Whether to send messages silently (no notification will be triggered on the destination clients)", - "to_peer": "Destination peer", - "with_my_score": "When forwarding games, whether to include your score in the game" - }, - "errors": [ - { - "code": 400, - "type": "BROADCAST_PUBLIC_VOTERS_FORBIDDEN", - "description": "You can't forward polls with public voters" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "CHAT_RESTRICTED", - "description": "You can't send messages in this chat, you were restricted" - }, - { - "code": 403, - "type": "CHAT_SEND_GIFS_FORBIDDEN", - "description": "You can't send gifs in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_MEDIA_FORBIDDEN", - "description": "You can't send media in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_POLL_FORBIDDEN", - "description": "You can't send polls in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_STICKERS_FORBIDDEN", - "description": "You can't send stickers in this chat." - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "GROUPED_MEDIA_INVALID", - "description": "Invalid grouped media" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MEDIA_EMPTY", - "description": "The provided media object is invalid" - }, - { - "code": 400, - "type": "MESSAGE_IDS_EMPTY", - "description": "No message ids were provided" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 420, - "type": "P0NY_FLOODWAIT", - "description": " " - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "RANDOM_ID_INVALID", - "description": "A provided random ID is invalid" - }, - { - "code": 400, - "type": "SCHEDULE_TOO_MUCH", - "description": "There are too many scheduled messages" - }, - { - "code": 400, - "type": "SLOWMODE_MULTI_MSGS_DISABLED", - "description": "Slowmode is enabled, you cannot forward multiple messages to this group." - }, - { - "code": 420, - "type": "SLOWMODE_WAIT_X", - "description": "Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat." - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "USER_IS_BLOCKED", - "description": "You were blocked by this user" - }, - { - "code": 400, - "type": "USER_IS_BOT", - "description": "Bots can't send messages to other bots" - }, - { - "code": 400, - "type": "YOU_BLOCKED_USER", - "description": "You blocked this user" - } - ] - }, - "messages.getAllChats": { - "name": "messages.getAllChats", - "description": [ - "Get all chats, channels and supergroups" - ], - "parameters": { - "except_ids": "Except these chats/channels/supergroups" - } - }, - "messages.getAllDrafts": { - "name": "messages.getAllDrafts", - "description": [ - "Save get all message drafts." - ] - }, - "messages.getAllStickers": { - "name": "messages.getAllStickers", - "description": [ - "Get all installed stickers" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getArchivedStickers": { - "name": "messages.getArchivedStickers", - "description": [ - "Get all archived stickers" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "limit": "Maximum number of results to return, see pagination", - "masks": "Get mask stickers", - "offset_id": "Offsets for pagination, for more info click here" - } - }, - "messages.getAttachedStickers": { - "name": "messages.getAttachedStickers", - "description": [ - "Get stickers attached to a photo or video" - ], - "parameters": { - "media": "Stickered media" - } - }, - "messages.getBotCallbackAnswer": { - "name": "messages.getBotCallbackAnswer", - "description": [ - "Press an inline callback button and get a callback answer from the bot" - ], - "parameters": { - "data": "Callback data", - "flags": "Flags, see TL conditional fields", - "game": "Whether this is a \"play game\" button", - "msg_id": "ID of the Message with the inline keyboard", - "password": "For buttons requiring you to verify your identity with your 2FA password, the SRP payload generated using SRP.", - "peer": "Where was the inline keyboard sent" - }, - "errors": [ - { - "code": 400, - "type": "BOT_RESPONSE_TIMEOUT", - "description": "A timeout occurred while fetching data from the bot" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "DATA_INVALID", - "description": "Encrypted data invalid" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": -503, - "type": "Timeout", - "description": "Timeout while fetching data" - } - ] - }, - "messages.getChats": { - "name": "messages.getChats", - "description": [ - "Returns chat basic info on their IDs." - ], - "parameters": { - "id": "List of chat IDs" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getCommonChats": { - "name": "messages.getCommonChats", - "description": [ - "Get chats in common with a user" - ], - "parameters": { - "limit": "Maximum number of results to return, see pagination", - "max_id": "Maximum ID of chat to return (see pagination)", - "user_id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "messages.getDhConfig": { - "name": "messages.getDhConfig", - "description": [ - "Returns configuration parameters for Diffie-Hellman key generation. Can also return a random sequence of bytes of required length." - ], - "parameters": { - "random_length": "Length of the required random sequence", - "version": "Value of the version parameter from messages.dhConfig, avialable at the client" - }, - "errors": [ - { - "code": 400, - "type": "RANDOM_LENGTH_INVALID", - "description": "Random length invalid" - } - ] - }, - "messages.getDialogFilters": { - "name": "messages.getDialogFilters", - "description": [ - "Get folders" - ] - }, - "messages.getDialogUnreadMarks": { - "name": "messages.getDialogUnreadMarks", - "description": [ - "Get dialogs manually marked as unread" - ] - }, - "messages.getDialogs": { - "name": "messages.getDialogs", - "description": [ - "Returns the current user dialog list." - ], - "parameters": { - "exclude_pinned": "Exclude pinned dialogs", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "hash": "Hash for pagination, for more info click here", - "limit": "Number of list elements to be returned", - "offset_date": "Offsets for pagination, for more info click here", - "offset_id": "Offsets for pagination, for more info click here", - "offset_peer": "Offset peer for pagination" - }, - "errors": [ - { - "code": 400, - "type": "FOLDER_ID_INVALID", - "description": "Invalid folder ID" - }, - { - "code": 400, - "type": "INPUT_CONSTRUCTOR_INVALID", - "description": "The provided constructor is invalid" - }, - { - "code": 400, - "type": "OFFSET_PEER_ID_INVALID", - "description": "The provided offset peer is invalid" - } - ] - }, - "messages.getDiscussionMessage": { - "name": "messages.getDiscussionMessage", - "description": [ - "Get discussion message from the associated discussion group of a channel to show it on top of the comment section, without actually joining the group" - ], - "parameters": { - "msg_id": "Message ID", - "peer": "Channel ID" - } - }, - "messages.getDocumentByHash": { - "name": "messages.getDocumentByHash", - "description": [ - "Get a document by its SHA256 hash, mainly used for gifs" - ], - "parameters": { - "mime_type": "Mime type", - "sha256": "SHA256 of file", - "size": "Size of the file in bytes" - }, - "errors": [ - { - "code": 400, - "type": "SHA256_HASH_INVALID", - "description": "The provided SHA256 hash is invalid" - } - ] - }, - "messages.getEmojiKeywords": { - "name": "messages.getEmojiKeywords", - "description": [ - "Get localized emoji keywords" - ], - "parameters": { - "lang_code": "Language code" - } - }, - "messages.getEmojiKeywordsDifference": { - "name": "messages.getEmojiKeywordsDifference", - "description": [ - "Get changed emoji keywords" - ], - "parameters": { - "from_version": "Previous emoji keyword localization version", - "lang_code": "Language code" - } - }, - "messages.getEmojiKeywordsLanguages": { - "name": "messages.getEmojiKeywordsLanguages", - "description": [ - "Get info about an emoji keyword localization" - ], - "parameters": { - "lang_codes": "Language codes" - } - }, - "messages.getEmojiURL": { - "name": "messages.getEmojiURL", - "description": [ - "Returns an HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation" - ], - "parameters": { - "lang_code": "Language code for which the emoji replacements will be suggested" - } - }, - "messages.getFavedStickers": { - "name": "messages.getFavedStickers", - "description": [ - "Get faved stickers" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getFeaturedStickers": { - "name": "messages.getFeaturedStickers", - "description": [ - "Get featured stickers" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getFullChat": { - "name": "messages.getFullChat", - "description": [ - "Returns full chat info according to its ID." - ], - "parameters": { - "chat_id": "Chat ID" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getGameHighScores": { - "name": "messages.getGameHighScores", - "description": [ - "Get highscores of a game" - ], - "parameters": { - "id": "ID of message with game media attachment", - "peer": "Where was the game sent", - "user_id": "Get high scores made by a certain user" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USER_BOT_REQUIRED", - "description": "This method can only be called by a bot" - } - ] - }, - "messages.getHistory": { - "name": "messages.getHistory", - "description": [ - "Gets back the conversation history with one interlocutor / within a chat" - ], - "parameters": { - "add_offset": "Number of list elements to be skipped, negative values are also accepted.", - "hash": "Result hash", - "limit": "Number of results to return", - "max_id": "If a positive value was transferred, the method will return only messages with IDs less than max_id", - "min_id": "If a positive value was transferred, the method will return only messages with IDs more than min_id", - "offset_date": "Only return messages sent before the specified date", - "offset_id": "Only return messages starting from the specified message ID", - "peer": "Target peer" - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "CONNECTION_DEVICE_MODEL_EMPTY", - "description": "Device model empty" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getInlineBotResults": { - "name": "messages.getInlineBotResults", - "description": [ - "Query an inline bot" - ], - "parameters": { - "bot": "The bot to query", - "flags": "Flags, see TL conditional fields", - "geo_point": "The geolocation, if requested", - "offset": "The offset within the results, will be passed directly as-is to the bot.", - "peer": "The currently opened chat", - "query": "The query" - }, - "errors": [ - { - "code": 400, - "type": "BOT_INLINE_DISABLED", - "description": "This bot can't be used in inline mode" - }, - { - "code": 400, - "type": "BOT_INVALID", - "description": "This is not a valid bot" - }, - { - "code": 400, - "type": "BOT_RESPONSE_TIMEOUT", - "description": "A timeout occurred while fetching data from the bot" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": -503, - "type": "Timeout", - "description": "Timeout while fetching data" - } - ] - }, - "messages.getInlineGameHighScores": { - "name": "messages.getInlineGameHighScores", - "description": [ - "Get highscores of a game sent using an inline bot" - ], - "parameters": { - "id": "ID of inline message", - "user_id": "Get high scores of a certain user" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "USER_BOT_REQUIRED", - "description": "This method can only be called by a bot" - } - ] - }, - "messages.getMaskStickers": { - "name": "messages.getMaskStickers", - "description": [ - "Get installed mask stickers" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getMessageEditData": { - "name": "messages.getMessageEditData", - "description": [ - "Find out if a media message's caption can be edited" - ], - "parameters": { - "id": "ID of message", - "peer": "Peer where the media was sent" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "MESSAGE_AUTHOR_REQUIRED", - "description": "Message author required" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getMessages": { - "name": "messages.getMessages", - "description": [ - "Returns the list of messages by their IDs." - ], - "parameters": { - "id": "Message ID list" - } - }, - "messages.getMessagesViews": { - "name": "messages.getMessagesViews", - "description": [ - "Get and increase the view counter of a message sent or forwarded from a channel" - ], - "parameters": { - "id": "ID of message", - "increment": "Whether to mark the message as viewed and increment the view counter", - "peer": "Peer where the message was found" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getOldFeaturedStickers": { - "name": "messages.getOldFeaturedStickers", - "description": [ - "Method for fetching previously featured stickers" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here", - "limit": "Maximum number of results to return, see pagination", - "offset": "Offset" - } - }, - "messages.getOnlines": { - "name": "messages.getOnlines", - "description": [ - "Get count of online users in a chat" - ], - "parameters": { - "peer": "The chat" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getPeerDialogs": { - "name": "messages.getPeerDialogs", - "description": [ - "Get dialog info of specified peers" - ], - "parameters": { - "peers": "Peers" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CONNECTION_DEVICE_MODEL_EMPTY", - "description": "Device model empty" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getPeerSettings": { - "name": "messages.getPeerSettings", - "description": [ - "Get peer settings" - ], - "parameters": { - "peer": "The peer" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getPinnedDialogs": { - "name": "messages.getPinnedDialogs", - "description": [ - "Get pinned dialogs" - ], - "parameters": { - "folder_id": "Peer folder ID, for more info click here" - }, - "errors": [ - { - "code": 400, - "type": "FOLDER_ID_INVALID", - "description": "Invalid folder ID" - } - ] - }, - "messages.getPollResults": { - "name": "messages.getPollResults", - "description": [ - "Get poll results" - ], - "parameters": { - "msg_id": "Message ID of poll message", - "peer": "Peer where the poll was found" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "messages.getPollVotes": { - "name": "messages.getPollVotes", - "description": [ - "Get poll results for non-anonymous polls" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "id": "Message ID", - "limit": "Number of results to return", - "offset": "Offset for results, taken from the next_offset field of messages.votesList, initially an empty string. Note: if no more results are available, the method call will return an empty next_offset; thus, avoid providing the next_offset returned in messages.votesList if it is empty, to avoid an infinite loop.", - "option": "Get only results for the specified poll option", - "peer": "Chat where the poll was sent" - }, - "errors": [ - { - "code": 403, - "type": "BROADCAST_FORBIDDEN", - "description": " " - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 403, - "type": "POLL_VOTE_REQUIRED", - "description": "Cast a vote in the poll before calling this method" - } - ] - }, - "messages.getRecentLocations": { - "name": "messages.getRecentLocations", - "description": [ - "Get live location history of a certain user" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here", - "limit": "Maximum number of results to return, see pagination", - "peer": "User" - } - }, - "messages.getRecentStickers": { - "name": "messages.getRecentStickers", - "description": [ - "Get recent stickers" - ], - "parameters": { - "attached": "Get stickers recently attached to photo or video files", - "flags": "Flags, see TL conditional fields", - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getReplies": { - "name": "messages.getReplies", - "description": [ - "Get messages in a reply thread" - ], - "parameters": { - "add_offset": "Offsets for pagination, for more info click here", - "hash": "Hash for pagination, for more info click here", - "limit": "Maximum number of results to return, see pagination", - "max_id": "If a positive value was transferred, the method will return only messages with ID smaller than max_id", - "min_id": "If a positive value was transferred, the method will return only messages with ID bigger than min_id", - "msg_id": "Message ID", - "offset_date": "Offsets for pagination, for more info click here", - "offset_id": "Offsets for pagination, for more info click here", - "peer": "Peer" - } - }, - "messages.getSavedGifs": { - "name": "messages.getSavedGifs", - "description": [ - "Get saved GIFs" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getScheduledHistory": { - "name": "messages.getScheduledHistory", - "description": [ - "Get scheduled messages" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here", - "peer": "Peer" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getScheduledMessages": { - "name": "messages.getScheduledMessages", - "description": [ - "Get scheduled messages" - ], - "parameters": { - "id": "IDs of scheduled messages", - "peer": "Peer" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getSearchCounters": { - "name": "messages.getSearchCounters", - "description": [ - "Get the number of results that would be found by a messages.search call with the same parameters" - ], - "parameters": { - "filters": "Search filters", - "peer": "Peer where to search" - } - }, - "messages.getSplitRanges": { - "name": "messages.getSplitRanges", - "description": [ - "Get message ranges for saving the user's chat history" - ] - }, - "messages.getStatsURL": { - "name": "messages.getStatsURL", - "description": [ - "Returns URL with the chat statistics. Currently this method can be used only for channels" - ], - "parameters": { - "dark": "Pass true if a URL with the dark theme must be returned", - "flags": "Flags, see TL conditional fields", - "params": "Parameters from tg://statsrefresh?params=****** link", - "peer": "Chat identifier" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getStickerSet": { - "name": "messages.getStickerSet", - "description": [ - "Get info about a stickerset" - ], - "parameters": { - "stickerset": "Stickerset" - }, - "errors": [ - { - "code": 400, - "type": "STICKERSET_INVALID", - "description": "The provided sticker set is invalid" - } - ] - }, - "messages.getStickers": { - "name": "messages.getStickers", - "description": [ - "Get stickers by emoji" - ], - "parameters": { - "emoticon": "The emoji", - "hash": "Hash for pagination, for more info click here" - } - }, - "messages.getSuggestedDialogFilters": { - "name": "messages.getSuggestedDialogFilters", - "description": [ - "Get suggested folders" - ] - }, - "messages.getUnreadMentions": { - "name": "messages.getUnreadMentions", - "description": [ - "Get unread messages where we were mentioned" - ], - "parameters": { - "add_offset": "Offsets for pagination, for more info click here", - "limit": "Maximum number of results to return, see pagination", - "max_id": "Maximum message ID to return, see pagination", - "min_id": "Minimum message ID to return, see pagination", - "offset_id": "Offsets for pagination, for more info click here", - "peer": "Peer where to look for mentions" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.getWebPage": { - "name": "messages.getWebPage", - "description": [ - "Get instant view page" - ], - "parameters": { - "hash": "Hash for pagination, for more info click here", - "url": "URL of IV page to fetch" - }, - "errors": [ - { - "code": 400, - "type": "WC_CONVERT_URL_INVALID", - "description": "WC convert URL invalid" - } - ] - }, - "messages.getWebPagePreview": { - "name": "messages.getWebPagePreview", - "description": [ - "Get preview of webpage" - ], - "parameters": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "Message from which to extract the preview" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_EMPTY", - "description": "The provided message is empty" - } - ] - }, - "messages.hidePeerSettingsBar": { - "name": "messages.hidePeerSettingsBar", - "description": [ - "Should be called after the user hides the report spam/add as contact bar of a new chat, effectively prevents the user from executing the actions specified in the peer's settings." - ], - "parameters": { - "peer": "Peer" - } - }, - "messages.importChatInvite": { - "name": "messages.importChatInvite", - "description": [ - "Import a chat invite and join a private chat/supergroup/channel" - ], - "parameters": { - "hash": "hash from t.me/joinchat/hash" - }, - "errors": [ - { - "code": 400, - "type": "CHANNELS_TOO_MUCH", - "description": "You have joined too many channels/supergroups" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "INVITE_HASH_EMPTY", - "description": "The invite hash is empty" - }, - { - "code": 400, - "type": "INVITE_HASH_EXPIRED", - "description": "The invite link has expired" - }, - { - "code": 400, - "type": "INVITE_HASH_INVALID", - "description": "The invite hash is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USERS_TOO_MUCH", - "description": "The maximum number of users has been exceeded (to create a chat, for example)" - }, - { - "code": 400, - "type": "USER_ALREADY_PARTICIPANT", - "description": "The user is already in the group" - }, - { - "code": 400, - "type": "USER_CHANNELS_TOO_MUCH", - "description": "One of the users you tried to add is already in too many channels/supergroups" - } - ] - }, - "messages.installStickerSet": { - "name": "messages.installStickerSet", - "description": [ - "Install a stickerset" - ], - "parameters": { - "archived": "Whether to archive stickerset", - "stickerset": "Stickerset to install" - }, - "errors": [ - { - "code": 400, - "type": "STICKERSET_INVALID", - "description": "The provided sticker set is invalid" - } - ] - }, - "messages.markDialogUnread": { - "name": "messages.markDialogUnread", - "description": [ - "Manually mark dialog as unread" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "peer": "Dialog", - "unread": "Mark as unread/read" - } - }, - "messages.migrateChat": { - "name": "messages.migrateChat", - "description": [ - "Turn a legacy group into a supergroup" - ], - "parameters": { - "chat_id": "Legacy group to migrate" - }, - "errors": [ - { - "code": 403, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.readDiscussion": { - "name": "messages.readDiscussion", - "description": [ - "Mark a thread as read" - ], - "parameters": { - "msg_id": "ID of message that started the thread", - "peer": "Group ID", - "read_max_id": "ID up to which thread messages were read" - } - }, - "messages.readEncryptedHistory": { - "name": "messages.readEncryptedHistory", - "description": [ - "Marks message history within a secret chat as read." - ], - "parameters": { - "max_date": "Maximum date value for received messages in history", - "peer": "Secret chat ID" - }, - "errors": [ - { - "code": 400, - "type": "MSG_WAIT_FAILED", - "description": "A waiting call returned an error" - } - ] - }, - "messages.readFeaturedStickers": { - "name": "messages.readFeaturedStickers", - "description": [ - "Mark new featured stickers as read" - ], - "parameters": { - "id": "IDs of stickersets to mark as read" - } - }, - "messages.readHistory": { - "name": "messages.readHistory", - "description": [ - "Marks message history as read." - ], - "parameters": { - "max_id": "If a positive value is passed, only messages with identifiers less or equal than the given one will be read", - "peer": "Target user or group" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.readMentions": { - "name": "messages.readMentions", - "description": [ - "Mark mentions as read" - ], - "parameters": { - "peer": "Dialog" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.readMessageContents": { - "name": "messages.readMessageContents", - "description": [ - "Notifies the sender about the recipient having listened a voice message or watched a video." - ], - "parameters": { - "id": "Message ID list" - } - }, - "messages.receivedMessages": { - "name": "messages.receivedMessages", - "description": [ - "Confirms receipt of messages by a client, cancels PUSH-notification sending." - ], - "parameters": { - "max_id": "Maximum message ID available in a client." - } - }, - "messages.receivedQueue": { - "name": "messages.receivedQueue", - "description": [ - "Confirms receipt of messages in a secret chat by client, cancels push notifications." - ], - "parameters": { - "max_qts": "Maximum qts value available at the client" - }, - "errors": [ - { - "code": 400, - "type": "MSG_WAIT_FAILED", - "description": "A waiting call returned an error" - } - ] - }, - "messages.reorderPinnedDialogs": { - "name": "messages.reorderPinnedDialogs", - "description": [ - "Reorder pinned dialogs" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "force": "If set, dialogs pinned server-side but not present in the order field will be unpinned.", - "order": "New dialog order" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.reorderStickerSets": { - "name": "messages.reorderStickerSets", - "description": [ - "Reorder installed stickersets" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "masks": "Reorder mask stickersets", - "order": "New stickerset order by stickerset IDs" - } - }, - "messages.report": { - "name": "messages.report", - "description": [ - "Report a message in a chat for violation of telegram's Terms of Service" - ], - "parameters": { - "id": "IDs of messages to report", - "peer": "Peer", - "reason": "Why are these messages being reported" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.reportEncryptedSpam": { - "name": "messages.reportEncryptedSpam", - "description": [ - "Report a secret chat for spam" - ], - "parameters": { - "peer": "The secret chat to report" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - } - ] - }, - "messages.reportSpam": { - "name": "messages.reportSpam", - "description": [ - "Report a new incoming chat for spam, if the peer settings of the chat allow us to do that" - ], - "parameters": { - "peer": "Peer to report" - }, - "errors": [ - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.requestEncryption": { - "name": "messages.requestEncryption", - "description": [ - "Sends a request to start a secret chat to the user." - ], - "parameters": { - "g_a": "A = g ^ a mod p, see Wikipedia", - "random_id": "Unique client request ID required to prevent resending. This also doubles as the chat ID.", - "user_id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "DH_G_A_INVALID", - "description": "g_a invalid" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "messages.requestUrlAuth": { - "name": "messages.requestUrlAuth", - "description": [ - "Get more info about a Seamless Telegram Login authorization request, for more info click here »" - ], - "parameters": { - "button_id": "The ID of the button with the authorization request", - "msg_id": "The message", - "peer": "Peer where the message is located" - } - }, - "messages.saveDraft": { - "name": "messages.saveDraft", - "description": [ - "Save a message draft associated to a chat." - ], - "parameters": { - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "message": "The draft", - "no_webpage": "Disable generation of the webpage preview", - "peer": "Destination of the message that should be sent", - "reply_to_msg_id": "Message ID the message should reply to" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.saveGif": { - "name": "messages.saveGif", - "description": [ - "Add GIF to saved gifs list" - ], - "parameters": { - "id": "GIF to save", - "unsave": "Whether to remove GIF from saved gifs list" - }, - "errors": [ - { - "code": 400, - "type": "GIF_ID_INVALID", - "description": "The provided GIF ID is invalid" - } - ] - }, - "messages.saveRecentSticker": { - "name": "messages.saveRecentSticker", - "description": [ - "Add/remove sticker from recent stickers list" - ], - "parameters": { - "attached": "Whether to add/remove stickers recently attached to photo or video files", - "flags": "Flags, see TL conditional fields", - "id": "Sticker", - "unsave": "Whether to save or unsave the sticker" - }, - "errors": [ - { - "code": 400, - "type": "STICKER_ID_INVALID", - "description": "The provided sticker ID is invalid" - } - ] - }, - "messages.search": { - "name": "messages.search", - "description": [ - "Gets back found messages" - ], - "parameters": { - "add_offset": "Additional offset", - "filter": "Filter to return only specified message types", - "flags": "Flags, see TL conditional fields", - "from_id": "Only return messages sent by the specified user ID", - "hash": "Hash", - "limit": "Number of results to return", - "max_date": "If a positive value was transferred, only messages with a sending date smaller than the transferred one will be returned", - "max_id": "Maximum message ID to return", - "min_date": "If a positive value was transferred, only messages with a sending date bigger than the transferred one will be returned", - "min_id": "Minimum message ID to return", - "offset_id": "Only return messages starting from the specified message ID", - "peer": "User or chat, histories with which are searched, or (inputPeerEmpty) constructor for global search", - "q": "Text search request", - "top_msg_id": "Thread ID" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "INPUT_CONSTRUCTOR_INVALID", - "description": "The provided constructor is invalid" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_NOT_SUPPORTED", - "description": "The provided peer ID is not supported" - }, - { - "code": 400, - "type": "SEARCH_QUERY_EMPTY", - "description": "The search query is empty" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "messages.searchGlobal": { - "name": "messages.searchGlobal", - "description": [ - "Search for messages and peers globally" - ], - "parameters": { - "filter": "Global search filter", - "flags": "Flags, see TL conditional fields", - "folder_id": "Peer folder ID, for more info click here", - "limit": "Offsets for pagination, for more info click here", - "max_date": "If a positive value was transferred, the method will return only messages with date smaller than max_date", - "min_date": "If a positive value was specified, the method will return only messages with date bigger than min_date", - "offset_id": "Offsets for pagination, for more info click here", - "offset_peer": "Offsets for pagination, for more info click here", - "offset_rate": "Initially 0, then set to the next_rate parameter of messages.messagesSlice", - "q": "Query" - }, - "errors": [ - { - "code": 400, - "type": "FOLDER_ID_INVALID", - "description": "Invalid folder ID" - }, - { - "code": 400, - "type": "SEARCH_QUERY_EMPTY", - "description": "The search query is empty" - } - ] - }, - "messages.searchStickerSets": { - "name": "messages.searchStickerSets", - "description": [ - "Search for stickersets" - ], - "parameters": { - "exclude_featured": "Exclude featured stickersets from results", - "flags": "Flags, see TL conditional fields", - "hash": "Hash for pagination, for more info click here", - "q": "Query string" - } - }, - "messages.sendEncrypted": { - "name": "messages.sendEncrypted", - "description": [ - "Sends a text message to a secret chat." - ], - "parameters": { - "data": "TL-serialization of DecryptedMessage type, encrypted with a key that was created during chat initialization", - "flags": "Flags, see TL conditional fields", - "peer": "Secret chat ID", - "random_id": "Unique client message ID, necessary to avoid message resending", - "silent": "Send encrypted message without a notification" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "DATA_INVALID", - "description": "Encrypted data invalid" - }, - { - "code": 400, - "type": "ENCRYPTION_DECLINED", - "description": "The secret chat was declined" - }, - { - "code": 400, - "type": "MSG_WAIT_FAILED", - "description": "A waiting call returned an error" - } - ] - }, - "messages.sendEncryptedFile": { - "name": "messages.sendEncryptedFile", - "description": [ - "Sends a message with a file attachment to a secret chat" - ], - "parameters": { - "data": "TL-serialization of DecryptedMessage type, encrypted with a key generated during chat initialization", - "file": "File attachment for the secret chat", - "flags": "Flags, see TL conditional fields", - "peer": "Secret chat ID", - "random_id": "Unique client message ID necessary to prevent message resending", - "silent": "Whether to send the file without triggering a notification" - }, - "errors": [ - { - "code": 400, - "type": "DATA_TOO_LONG", - "description": "Data too long" - }, - { - "code": 400, - "type": "ENCRYPTION_DECLINED", - "description": "The secret chat was declined" - }, - { - "code": 400, - "type": "MD5_CHECKSUM_INVALID", - "description": "The MD5 checksums do not match" - }, - { - "code": 400, - "type": "MSG_WAIT_FAILED", - "description": "A waiting call returned an error" - } - ] - }, - "messages.sendEncryptedService": { - "name": "messages.sendEncryptedService", - "description": [ - "Sends a service message to a secret chat." - ], - "parameters": { - "data": "TL-serialization of DecryptedMessage type, encrypted with a key generated during chat initialization", - "peer": "Secret chat ID", - "random_id": "Unique client message ID required to prevent message resending" - }, - "errors": [ - { - "code": 400, - "type": "DATA_INVALID", - "description": "Encrypted data invalid" - }, - { - "code": 400, - "type": "ENCRYPTION_DECLINED", - "description": "The secret chat was declined" - }, - { - "code": 400, - "type": "ENCRYPTION_ID_INVALID", - "description": "The provided secret chat ID is invalid" - }, - { - "code": 400, - "type": "MSG_WAIT_FAILED", - "description": "A waiting call returned an error" - }, - { - "code": 403, - "type": "USER_IS_BLOCKED", - "description": "You were blocked by this user" - } - ] - }, - "messages.sendInlineBotResult": { - "name": "messages.sendInlineBotResult", - "description": [ - "Send a result obtained using messages.getInlineBotResults." - ], - "parameters": { - "background": "Whether to send the message in background", - "clear_draft": "Whether to clear the draft", - "flags": "Flags, see TL conditional fields", - "hide_via": "Whether to hide the via @botname in the resulting message (only for bot usernames encountered in the config)", - "id": "Result ID from messages.getInlineBotResults", - "peer": "Destination", - "query_id": "Query ID from messages.getInlineBotResults", - "random_id": "Random ID to avoid resending the same query", - "reply_to_msg_id": "ID of the message this message should reply to", - "schedule_date": "Scheduled message date for scheduled messages", - "silent": "Whether to send the message silently (no notification will be triggered on the other client)" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_RESTRICTED", - "description": "You can't send messages in this chat, you were restricted" - }, - { - "code": 403, - "type": "CHAT_SEND_GIFS_FORBIDDEN", - "description": "You can't send gifs in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_INLINE_FORBIDDEN", - "description": "You can't send inline messages in this group" - }, - { - "code": 403, - "type": "CHAT_SEND_MEDIA_FORBIDDEN", - "description": "You can't send media in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_STICKERS_FORBIDDEN", - "description": "You can't send stickers in this chat." - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "INLINE_RESULT_EXPIRED", - "description": "The inline query expired" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MEDIA_EMPTY", - "description": "The provided media object is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "QUERY_ID_EMPTY", - "description": "The query ID is empty" - }, - { - "code": 400, - "type": "RESULT_ID_EMPTY", - "description": "Result ID empty" - }, - { - "code": 420, - "type": "SLOWMODE_WAIT_X", - "description": "Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat." - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "WEBPAGE_CURL_FAILED", - "description": "Failure while fetching the webpage with cURL" - }, - { - "code": 400, - "type": "WEBPAGE_MEDIA_EMPTY", - "description": "Webpage media empty" - }, - { - "code": 400, - "type": "YOU_BLOCKED_USER", - "description": "You blocked this user" - } - ] - }, - "messages.sendMedia": { - "name": "messages.sendMedia", - "description": [ - "Send a media" - ], - "parameters": { - "background": "Send message in background", - "clear_draft": "Clear the draft", - "entities": "Message entities for styled text", - "flags": "Flags, see TL conditional fields", - "media": "Attached media", - "message": "Caption", - "peer": "Destination", - "random_id": "Random ID to avoid resending the same message", - "reply_markup": "Reply markup for bot keyboards", - "reply_to_msg_id": "Message ID to which this message should reply to", - "schedule_date": "Scheduled message date for scheduled messages", - "silent": "Send message silently (no notification should be triggered)" - }, - "errors": [ - { - "code": 400, - "type": "BROADCAST_PUBLIC_VOTERS_FORBIDDEN", - "description": "You can't forward polls with public voters" - }, - { - "code": 400, - "type": "BUTTON_DATA_INVALID", - "description": "The data of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_TYPE_INVALID", - "description": "The type of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_URL_INVALID", - "description": "Button URL invalid" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_RESTRICTED", - "description": "You can't send messages in this chat, you were restricted" - }, - { - "code": 403, - "type": "CHAT_SEND_GIFS_FORBIDDEN", - "description": "You can't send gifs in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_MEDIA_FORBIDDEN", - "description": "You can't send media in this chat" - }, - { - "code": 403, - "type": "CHAT_SEND_STICKERS_FORBIDDEN", - "description": "You can't send stickers in this chat." - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "EXTERNAL_URL_INVALID", - "description": "External URL invalid" - }, - { - "code": 400, - "type": "FILE_PARTS_INVALID", - "description": "The number of file parts is invalid" - }, - { - "code": 400, - "type": "FILE_PART_LENGTH_INVALID", - "description": "The length of a file part is invalid" - }, - { - "code": 400, - "type": "IMAGE_PROCESS_FAILED", - "description": "Failure while processing image" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MD5_CHECKSUM_INVALID", - "description": "The MD5 checksums do not match" - }, - { - "code": 400, - "type": "MEDIA_CAPTION_TOO_LONG", - "description": "The caption is too long" - }, - { - "code": 400, - "type": "MEDIA_EMPTY", - "description": "The provided media object is invalid" - }, - { - "code": 400, - "type": "MEDIA_INVALID", - "description": "Media invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "PHOTO_EXT_INVALID", - "description": "The extension of the photo is invalid" - }, - { - "code": 400, - "type": "PHOTO_INVALID_DIMENSIONS", - "description": "The photo dimensions are invalid" - }, - { - "code": 400, - "type": "PHOTO_SAVE_FILE_INVALID", - "description": "Internal issues, try again later" - }, - { - "code": 400, - "type": "POLL_ANSWERS_INVALID", - "description": "Invalid poll answers were provided" - }, - { - "code": 400, - "type": "POLL_OPTION_DUPLICATE", - "description": "Duplicate poll options provided" - }, - { - "code": 400, - "type": "POLL_OPTION_INVALID", - "description": "Invalid poll option provided" - }, - { - "code": 400, - "type": "QUIZ_CORRECT_ANSWERS_EMPTY", - "description": "No correct quiz answer was specified" - }, - { - "code": 400, - "type": "QUIZ_CORRECT_ANSWER_INVALID", - "description": "An invalid value was provided to the correct_answers field" - }, - { - "code": 400, - "type": "REPLY_MARKUP_BUY_EMPTY", - "description": "Reply markup for buy button empty" - }, - { - "code": 400, - "type": "REPLY_MARKUP_INVALID", - "description": "The provided reply markup is invalid" - }, - { - "code": 400, - "type": "SCHEDULE_TOO_MUCH", - "description": "There are too many scheduled messages" - }, - { - "code": 420, - "type": "SLOWMODE_WAIT_X", - "description": "Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat." - }, - { - "code": 400, - "type": "TTL_MEDIA_INVALID", - "description": "Invalid media Time To Live was provided" - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "USER_IS_BLOCKED", - "description": "You were blocked by this user" - }, - { - "code": 400, - "type": "USER_IS_BOT", - "description": "Bots can't send messages to other bots" - }, - { - "code": 400, - "type": "WEBPAGE_CURL_FAILED", - "description": "Failure while fetching the webpage with cURL" - }, - { - "code": 400, - "type": "WEBPAGE_MEDIA_EMPTY", - "description": "Webpage media empty" - }, - { - "code": 400, - "type": "YOU_BLOCKED_USER", - "description": "You blocked this user" - } - ] - }, - "messages.sendMessage": { - "name": "messages.sendMessage", - "description": [ - "Sends a message to a chat" - ], - "parameters": { - "background": "Send this message as background message", - "clear_draft": "Clear the draft field", - "entities": "Message entities for sending styled text", - "flags": "Flags, see TL conditional fields", - "message": "The message", - "no_webpage": "Set this flag to disable generation of the webpage preview", - "peer": "The destination where the message will be sent", - "random_id": "Unique client message ID required to prevent message resending", - "reply_markup": "Reply markup for sending bot buttons", - "reply_to_msg_id": "The message ID to which this message will reply to", - "schedule_date": "Scheduled message date for scheduled messages", - "silent": "Send this message silently (no notifications for the receivers)" - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "BOT_DOMAIN_INVALID", - "description": "Bot domain invalid" - }, - { - "code": 400, - "type": "BOT_INVALID", - "description": "This is not a valid bot" - }, - { - "code": 400, - "type": "BUTTON_DATA_INVALID", - "description": "The data of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_TYPE_INVALID", - "description": "The type of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_URL_INVALID", - "description": "Button URL invalid" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 400, - "type": "CHAT_RESTRICTED", - "description": "You can't send messages in this chat, you were restricted" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "ENCRYPTION_DECLINED", - "description": "The secret chat was declined" - }, - { - "code": 400, - "type": "ENTITY_MENTION_USER_INVALID", - "description": "You mentioned an invalid user" - }, - { - "code": 400, - "type": "FROM_MESSAGE_BOT_DISABLED", - "description": "Bots can't use fromMessage min constructors" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MESSAGE_EMPTY", - "description": "The provided message is empty" - }, - { - "code": 400, - "type": "MESSAGE_TOO_LONG", - "description": "The provided message is too long" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Provided reply_to_msg_id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "PINNED_DIALOGS_TOO_MUCH", - "description": "Too many pinned dialogs" - }, - { - "code": 400, - "type": "REPLY_MARKUP_INVALID", - "description": "The provided reply markup is invalid" - }, - { - "code": 400, - "type": "SCHEDULE_BOT_NOT_ALLOWED", - "description": "Bots cannot schedule messages" - }, - { - "code": 400, - "type": "SCHEDULE_DATE_TOO_LATE", - "description": "You can't schedule a message this far in the future" - }, - { - "code": 400, - "type": "SCHEDULE_TOO_MUCH", - "description": "There are too many scheduled messages" - }, - { - "code": 420, - "type": "SLOWMODE_WAIT_X", - "description": "Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat." - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "USER_IS_BLOCKED", - "description": "You were blocked by this user" - }, - { - "code": 400, - "type": "USER_IS_BOT", - "description": "Bots can't send messages to other bots" - }, - { - "code": 400, - "type": "YOU_BLOCKED_USER", - "description": "You blocked this user" - } - ] - }, - "messages.sendMultiMedia": { - "name": "messages.sendMultiMedia", - "description": [ - "Send an album or grouped media" - ], - "parameters": { - "background": "Send in background?", - "clear_draft": "Whether to clear drafts", - "flags": "Flags, see TL conditional fields", - "multi_media": "The medias to send", - "peer": "The destination chat", - "reply_to_msg_id": "The message to reply to", - "schedule_date": "Scheduled message date for scheduled messages", - "silent": "Whether to send the album silently (no notification triggered)" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "MEDIA_EMPTY", - "description": "The provided media object is invalid" - }, - { - "code": 400, - "type": "MEDIA_INVALID", - "description": "Media invalid" - }, - { - "code": 400, - "type": "MULTI_MEDIA_TOO_LONG", - "description": "Too many media files for album" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "RANDOM_ID_EMPTY", - "description": "Random ID empty" - } - ] - }, - "messages.sendScheduledMessages": { - "name": "messages.sendScheduledMessages", - "description": [ - "Send scheduled messages right away" - ], - "parameters": { - "id": "Scheduled message IDs", - "peer": "Peer" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "messages.sendScreenshotNotification": { - "name": "messages.sendScreenshotNotification", - "description": [ - "Notify the other user in a private chat that a screenshot of the chat was taken" - ], - "parameters": { - "peer": "Other user", - "random_id": "Random ID to avoid message resending", - "reply_to_msg_id": "ID of message that was screenshotted, can be 0" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.sendVote": { - "name": "messages.sendVote", - "description": [ - "Vote in a poll" - ], - "parameters": { - "msg_id": "The message ID of the poll", - "options": "The options that were chosen", - "peer": "The chat where the poll was sent" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "MESSAGE_POLL_CLOSED", - "description": "Poll closed" - }, - { - "code": 400, - "type": "OPTIONS_TOO_MUCH", - "description": "Too many options provided" - }, - { - "code": 400, - "type": "OPTION_INVALID", - "description": "Invalid option selected" - }, - { - "code": 400, - "type": "REVOTE_NOT_ALLOWED", - "description": "You cannot change your vote" - } - ] - }, - "messages.setBotCallbackAnswer": { - "name": "messages.setBotCallbackAnswer", - "description": [ - "Set the callback answer to a user button press (bots only)" - ], - "parameters": { - "alert": "Whether to show the message as a popup instead of a toast notification", - "cache_time": "Cache validity", - "flags": "Flags, see TL conditional fields", - "message": "Popup to show", - "query_id": "Query ID", - "url": "URL to open" - }, - "errors": [ - { - "code": 400, - "type": "QUERY_ID_INVALID", - "description": "The query ID is invalid" - }, - { - "code": 400, - "type": "URL_INVALID", - "description": "Invalid URL provided" - } - ] - }, - "messages.setBotPrecheckoutResults": { - "name": "messages.setBotPrecheckoutResults", - "description": [ - "Once the user has confirmed their payment and shipping details, the bot receives an updateBotPrecheckoutQuery update.", - "Use this method to respond to such pre-checkout queries.", - "Note: Telegram must receive an answer within 10 seconds after the pre-checkout query was sent." - ], - "parameters": { - "error": "Required if the success isn't set. Error message in human readable form that explains the reason for failure to proceed with the checkout (e.g. \"Sorry, somebody just bought the last of our amazing black T-shirts while you were busy filling out your payment details. Please choose a different color or garment!\"). Telegram will display this message to the user.", - "flags": "Flags, see TL conditional fields", - "query_id": "Unique identifier for the query to be answered", - "success": "Set this flag if everything is alright (goods are available, etc.) and the bot is ready to proceed with the order, otherwise do not set it, and set the error field, instead" - }, - "errors": [ - { - "code": 400, - "type": "ERROR_TEXT_EMPTY", - "description": "The provided error message is empty" - } - ] - }, - "messages.setBotShippingResults": { - "name": "messages.setBotShippingResults", - "description": [ - "If you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the bot will receive an updateBotShippingQuery update. Use this method to reply to shipping queries." - ], - "parameters": { - "error": "Error message in human readable form that explains why it is impossible to complete the order (e.g. \"Sorry, delivery to your desired address is unavailable'). Telegram will display this message to the user.", - "flags": "Flags, see TL conditional fields", - "query_id": "Unique identifier for the query to be answered", - "shipping_options": "A vector of available shipping options." - }, - "errors": [ - { - "code": 400, - "type": "QUERY_ID_INVALID", - "description": "The query ID is invalid" - } - ] - }, - "messages.setEncryptedTyping": { - "name": "messages.setEncryptedTyping", - "description": [ - "Send typing event by the current user to a secret chat." - ], - "parameters": { - "peer": "Secret chat ID", - "typing": "Typing.Possible values:(boolTrue), if the user started typing and more than 5 seconds have passed since the last request(boolFalse), if the user stopped typing" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - } - ] - }, - "messages.setGameScore": { - "name": "messages.setGameScore", - "description": [ - "Use this method to set the score of the specified user in a game sent as a normal message (bots only)." - ], - "parameters": { - "edit_message": "Set this flag if the game message should be automatically edited to include the current scoreboard", - "flags": "Flags, see TL conditional fields", - "force": "Set this flag if the high score is allowed to decrease. This can be useful when fixing mistakes or banning cheaters", - "id": "Identifier of the sent message", - "peer": "Unique identifier of target chat", - "score": "New score", - "user_id": "User identifier" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USER_BOT_REQUIRED", - "description": "This method can only be called by a bot" - } - ] - }, - "messages.setInlineBotResults": { - "name": "messages.setInlineBotResults", - "description": [ - "Answer an inline query, for bots only" - ], - "parameters": { - "cache_time": "The maximum amount of time in seconds that the result of the inline query may be cached on the server. Defaults to 300.", - "flags": "Flags, see TL conditional fields", - "gallery": "Set this flag if the results are composed of media files", - "next_offset": "Pass the offset that a client should send in the next query with the same text to receive more results. Pass an empty string if there are no more results or if you don‘t support pagination. Offset length can’t exceed 64 bytes.", - "private": "Set this flag if results may be cached on the server side only for the user that sent the query. By default, results may be returned to any user who sends the same query", - "query_id": "Unique identifier for the answered query", - "results": "Vector of results for the inline query", - "switch_pm": "If passed, clients will display a button with specified text that switches the user to a private chat with the bot and sends the bot a start message with a certain parameter." - }, - "errors": [ - { - "code": 400, - "type": "ARTICLE_TITLE_EMPTY", - "description": "The title of the article is empty" - }, - { - "code": 400, - "type": "BUTTON_DATA_INVALID", - "description": "The data of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_TYPE_INVALID", - "description": "The type of one or more of the buttons you provided is invalid" - }, - { - "code": 400, - "type": "BUTTON_URL_INVALID", - "description": "Button URL invalid" - }, - { - "code": 400, - "type": "GIF_CONTENT_TYPE_INVALID", - "description": "GIF content-type invalid" - }, - { - "code": 400, - "type": "MESSAGE_EMPTY", - "description": "The provided message is empty" - }, - { - "code": 400, - "type": "MESSAGE_TOO_LONG", - "description": "The provided message is too long" - }, - { - "code": 400, - "type": "PHOTO_CONTENT_TYPE_INVALID", - "description": "Photo mime-type invalid" - }, - { - "code": 400, - "type": "PHOTO_CONTENT_URL_EMPTY", - "description": "Photo URL invalid" - }, - { - "code": 400, - "type": "PHOTO_INVALID", - "description": "Photo invalid" - }, - { - "code": 400, - "type": "PHOTO_THUMB_URL_EMPTY", - "description": "Photo thumbnail URL is empty" - }, - { - "code": 400, - "type": "QUERY_ID_INVALID", - "description": "The query ID is invalid" - }, - { - "code": 400, - "type": "REPLY_MARKUP_INVALID", - "description": "The provided reply markup is invalid" - }, - { - "code": 400, - "type": "RESULTS_TOO_MUCH", - "description": "Too many results were provided" - }, - { - "code": 400, - "type": "RESULT_ID_DUPLICATE", - "description": "You provided a duplicate result ID" - }, - { - "code": 400, - "type": "RESULT_TYPE_INVALID", - "description": "Result type invalid" - }, - { - "code": 400, - "type": "SEND_MESSAGE_MEDIA_INVALID", - "description": "Invalid media provided" - }, - { - "code": 400, - "type": "SEND_MESSAGE_TYPE_INVALID", - "description": "The message type is invalid" - }, - { - "code": 400, - "type": "START_PARAM_INVALID", - "description": "Start parameter invalid" - }, - { - "code": 403, - "type": "USER_BOT_INVALID", - "description": "This method can only be called by a bot" - }, - { - "code": 400, - "type": "WEBDOCUMENT_INVALID", - "description": "Invalid webdocument URL provided" - }, - { - "code": 400, - "type": "WEBDOCUMENT_MIME_INVALID", - "description": "Invalid webdocument mime type provided" - }, - { - "code": 400, - "type": "WEBDOCUMENT_SIZE_TOO_BIG", - "description": "Webdocument is too big!" - } - ] - }, - "messages.setInlineGameScore": { - "name": "messages.setInlineGameScore", - "description": [ - "Use this method to set the score of the specified user in a game sent as an inline message (bots only)." - ], - "parameters": { - "edit_message": "Set this flag if the game message should be automatically edited to include the current scoreboard", - "flags": "Flags, see TL conditional fields", - "force": "Set this flag if the high score is allowed to decrease. This can be useful when fixing mistakes or banning cheaters", - "id": "ID of the inline message", - "score": "New score", - "user_id": "User identifier" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "USER_BOT_REQUIRED", - "description": "This method can only be called by a bot" - } - ] - }, - "messages.setTyping": { - "name": "messages.setTyping", - "description": [ - "Sends a current user typing event (see SendMessageAction for all event types) to a conversation partner or group." - ], - "parameters": { - "action": "Type of actionParameter added in Layer 17.", - "flags": "Flags, see TL conditional fields", - "peer": "Target user or group", - "top_msg_id": "Thread ID" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_ID_INVALID", - "description": "The provided chat id is invalid" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "USER_IS_BLOCKED", - "description": "You were blocked by this user" - }, - { - "code": 400, - "type": "USER_IS_BOT", - "description": "Bots can't send messages to other bots" - } - ] - }, - "messages.startBot": { - "name": "messages.startBot", - "description": [ - "Start a conversation with a bot using a deep linking parameter" - ], - "parameters": { - "bot": "The bot", - "peer": "The chat where to start the bot, can be the bot's private chat or a group", - "random_id": "Random ID to avoid resending the same message", - "start_param": "Deep linking parameter" - }, - "errors": [ - { - "code": 400, - "type": "BOT_INVALID", - "description": "This is not a valid bot" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "START_PARAM_EMPTY", - "description": "The start parameter is empty" - }, - { - "code": 400, - "type": "START_PARAM_INVALID", - "description": "Start parameter invalid" - }, - { - "code": 400, - "type": "START_PARAM_TOO_LONG", - "description": "Start parameter is too long" - } - ] - }, - "messages.toggleDialogPin": { - "name": "messages.toggleDialogPin", - "description": [ - "Pin/unpin a dialog" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "peer": "The dialog to pin", - "pinned": "Whether to pin or unpin the dialog" - }, - "errors": [ - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "messages.toggleStickerSets": { - "name": "messages.toggleStickerSets", - "description": [ - "Apply changes to multiple stickersets" - ], - "parameters": { - "archive": "Archive the specified stickersets", - "flags": "Flags, see TL conditional fields", - "stickersets": "Stickersets to act upon", - "unarchive": "Unarchive the specified stickersets", - "uninstall": "Uninstall the specified stickersets" - } - }, - "messages.uninstallStickerSet": { - "name": "messages.uninstallStickerSet", - "description": [ - "Uninstall a stickerset" - ], - "parameters": { - "stickerset": "The stickerset to uninstall" - }, - "errors": [ - { - "code": 400, - "type": "STICKERSET_INVALID", - "description": "The provided sticker set is invalid" - } - ] - }, - "messages.unpinAllMessages": { - "name": "messages.unpinAllMessages", - "description": [ - "Unpin all pinned messages" - ], - "parameters": { - "peer": "Chat where to unpin" - } - }, - "messages.updateDialogFilter": { - "name": "messages.updateDialogFilter", - "description": [ - "Update folder" - ], - "parameters": { - "filter": "Folder info", - "flags": "Flags, see TL conditional fields", - "id": "Folder ID" - }, - "errors": [ - { - "code": 400, - "type": "FILTER_ID_INVALID", - "description": "The specified filter ID is invalid" - } - ] - }, - "messages.updateDialogFiltersOrder": { - "name": "messages.updateDialogFiltersOrder", - "description": [ - "Reorder folders" - ], - "parameters": { - "order": "New folder order" - } - }, - "messages.updatePinnedMessage": { - "name": "messages.updatePinnedMessage", - "description": [ - "Pin a message" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "id": "The message to pin or unpin", - "peer": "The peer where to pin the message", - "pm_oneside": "Whether the message should only be pinned on the local side of a one-to-one chat", - "silent": "Pin the message silently, without triggering a notification", - "unpin": "Whether the message should unpinned or pinned" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 400, - "type": "CHAT_NOT_MODIFIED", - "description": "The pinned message wasn't modified" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - }, - { - "code": 400, - "type": "PIN_RESTRICTED", - "description": "You can't pin messages" - } - ] - }, - "messages.uploadEncryptedFile": { - "name": "messages.uploadEncryptedFile", - "description": [ - "Upload encrypted file and associate it to a secret chat" - ], - "parameters": { - "file": "The file", - "peer": "The secret chat to associate the file to" - } - }, - "messages.uploadMedia": { - "name": "messages.uploadMedia", - "description": [ - "Upload a file and associate it to a chat (without actually sending it to the chat)" - ], - "parameters": { - "media": "File uploaded in chunks as described in files »", - "peer": "The chat, can be an inputPeerEmpty for bots" - }, - "errors": [ - { - "code": 400, - "type": "BOT_MISSING", - "description": "This method can only be run by a bot" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - }, - { - "code": 403, - "type": "CHAT_WRITE_FORBIDDEN", - "description": "You can't write in this chat" - }, - { - "code": 400, - "type": "FILE_PARTS_INVALID", - "description": "The number of file parts is invalid" - }, - { - "code": 400, - "type": "IMAGE_PROCESS_FAILED", - "description": "Failure while processing image" - }, - { - "code": 400, - "type": "INPUT_USER_DEACTIVATED", - "description": "The specified user was deleted" - }, - { - "code": 400, - "type": "MEDIA_INVALID", - "description": "Media invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "PHOTO_EXT_INVALID", - "description": "The extension of the photo is invalid" - }, - { - "code": 400, - "type": "PHOTO_SAVE_FILE_INVALID", - "description": "Internal issues, try again later" - }, - { - "code": 400, - "type": "USER_BANNED_IN_CHANNEL", - "description": "You're banned from sending messages in supergroups/channels" - }, - { - "code": 400, - "type": "WEBPAGE_CURL_FAILED", - "description": "Failure while fetching the webpage with cURL" - } - ] - }, - "payments.clearSavedInfo": { - "name": "payments.clearSavedInfo", - "description": [ - "Clear saved payment information" - ], - "parameters": { - "credentials": "Remove saved payment credentials", - "flags": "Flags, see TL conditional fields", - "info": "Clear the last order settings saved by the user" - } - }, - "payments.getBankCardData": { - "name": "payments.getBankCardData", - "description": [ - "Get info about a credit card" - ], - "parameters": { - "number": "Credit card number" - } - }, - "payments.getPaymentForm": { - "name": "payments.getPaymentForm", - "description": [ - "Get a payment form" - ], - "parameters": { - "msg_id": "Message ID of payment form" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "payments.getPaymentReceipt": { - "name": "payments.getPaymentReceipt", - "description": [ - "Get payment receipt" - ], - "parameters": { - "msg_id": "Message ID of receipt" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "payments.getSavedInfo": { - "name": "payments.getSavedInfo", - "description": [ - "Get saved payment information" - ] - }, - "payments.sendPaymentForm": { - "name": "payments.sendPaymentForm", - "description": [ - "Send compiled payment form" - ], - "parameters": { - "credentials": "Payment credentials", - "flags": "Flags, see TL conditional fields", - "msg_id": "Message ID of form", - "requested_info_id": "ID of saved and validated order info", - "shipping_option_id": "Chosen shipping option ID" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "payments.validateRequestedInfo": { - "name": "payments.validateRequestedInfo", - "description": [ - "Submit requested order information for validation" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "info": "Requested order information", - "msg_id": "Message ID of payment form", - "save": "Save order information to re-use it for future orders" - }, - "errors": [ - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "phone.acceptCall": { - "name": "phone.acceptCall", - "description": [ - "Accept incoming call" - ], - "parameters": { - "g_b": "Parameter for E2E encryption key exchange »", - "peer": "The call to accept", - "protocol": "Phone call settings" - }, - "errors": [ - { - "code": 400, - "type": "CALL_ALREADY_ACCEPTED", - "description": "The call was already accepted" - }, - { - "code": 400, - "type": "CALL_ALREADY_DECLINED", - "description": "The call was already declined" - }, - { - "code": 400, - "type": "CALL_PEER_INVALID", - "description": "The provided call peer object is invalid" - }, - { - "code": 400, - "type": "CALL_PROTOCOL_FLAGS_INVALID", - "description": "Call protocol flags invalid" - } - ] - }, - "phone.confirmCall": { - "name": "phone.confirmCall", - "description": [ - "Complete phone call E2E encryption key exchange »" - ], - "parameters": { - "g_a": "Parameter for E2E encryption key exchange »", - "key_fingerprint": "Key fingerprint", - "peer": "The phone call", - "protocol": "Phone call settings" - }, - "errors": [ - { - "code": 400, - "type": "CALL_ALREADY_DECLINED", - "description": "The call was already declined" - }, - { - "code": 400, - "type": "CALL_PEER_INVALID", - "description": "The provided call peer object is invalid" - } - ] - }, - "phone.discardCall": { - "name": "phone.discardCall", - "description": [ - "Refuse or end running call" - ], - "parameters": { - "connection_id": "Preferred libtgvoip relay ID", - "duration": "Call duration", - "flags": "Flags, see TL conditional fields", - "peer": "The phone call", - "reason": "Why was the call discarded", - "video": "Whether this is a video call" - }, - "errors": [ - { - "code": 400, - "type": "CALL_ALREADY_ACCEPTED", - "description": "The call was already accepted" - }, - { - "code": 400, - "type": "CALL_PEER_INVALID", - "description": "The provided call peer object is invalid" - } - ] - }, - "phone.getCallConfig": { - "name": "phone.getCallConfig", - "description": [ - "Get phone call configuration to be passed to libtgvoip's shared config" - ] - }, - "phone.receivedCall": { - "name": "phone.receivedCall", - "description": [ - "Optional: notify the server that the user is currently busy in a call: this will automatically refuse all incoming phone calls until the current phone call is ended." - ], - "parameters": { - "peer": "The phone call we're currently in" - }, - "errors": [ - { - "code": 400, - "type": "CALL_ALREADY_DECLINED", - "description": "The call was already declined" - }, - { - "code": 400, - "type": "CALL_PEER_INVALID", - "description": "The provided call peer object is invalid" - } - ] - }, - "phone.requestCall": { - "name": "phone.requestCall", - "description": [ - "Start a telegram phone call" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "g_a_hash": "Parameter for E2E encryption key exchange »", - "protocol": "Phone call settings", - "random_id": "Random ID to avoid resending the same object", - "user_id": "Destination of the phone call", - "video": "Whether to start a video call" - }, - "errors": [ - { - "code": 400, - "type": "CALL_PROTOCOL_FLAGS_INVALID", - "description": "Call protocol flags invalid" - }, - { - "code": 400, - "type": "PARTICIPANT_VERSION_OUTDATED", - "description": "The other participant does not use an up to date telegram client with support for calls" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - }, - { - "code": 403, - "type": "USER_IS_BLOCKED", - "description": "You were blocked by this user" - }, - { - "code": 403, - "type": "USER_PRIVACY_RESTRICTED", - "description": "The user's privacy settings do not allow you to do this" - } - ] - }, - "phone.saveCallDebug": { - "name": "phone.saveCallDebug", - "description": [ - "Send phone call debug data to server" - ], - "parameters": { - "debug": "Debug statistics obtained from libtgvoip", - "peer": "Phone call" - }, - "errors": [ - { - "code": 400, - "type": "CALL_PEER_INVALID", - "description": "The provided call peer object is invalid" - }, - { - "code": 400, - "type": "DATA_JSON_INVALID", - "description": "The provided JSON data is invalid" - } - ] - }, - "phone.sendSignalingData": { - "name": "phone.sendSignalingData", - "description": [ - "Send VoIP signaling data" - ], - "parameters": { - "data": "Signaling payload", - "peer": "Phone call" - } - }, - "phone.setCallRating": { - "name": "phone.setCallRating", - "description": [ - "Rate a call" - ], - "parameters": { - "comment": "An additional comment", - "flags": "Flags, see TL conditional fields", - "peer": "The call to rate", - "rating": "Rating in 1-5 stars", - "user_initiative": "Whether the user decided on their own initiative to rate the call" - }, - "errors": [ - { - "code": 400, - "type": "CALL_PEER_INVALID", - "description": "The provided call peer object is invalid" - } - ] - }, - "photos.deletePhotos": { - "name": "photos.deletePhotos", - "description": [ - "Deletes profile photos." - ], - "parameters": { - "id": "Input photos to delete" - } - }, - "photos.getUserPhotos": { - "name": "photos.getUserPhotos", - "description": [ - "Returns the list of user photos." - ], - "parameters": { - "limit": "Number of list elements to be returned", - "max_id": "If a positive value was transferred, the method will return only photos with IDs less than the set one", - "offset": "Number of list elements to be skipped", - "user_id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "MAX_ID_INVALID", - "description": "The provided max ID is invalid" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "photos.updateProfilePhoto": { - "name": "photos.updateProfilePhoto", - "description": [ - "Installs a previously uploaded photo as a profile photo." - ], - "parameters": { - "id": "Input photo" - }, - "errors": [ - { - "code": 400, - "type": "FILE_PARTS_INVALID", - "description": "The number of file parts is invalid" - }, - { - "code": 400, - "type": "IMAGE_PROCESS_FAILED", - "description": "Failure while processing image" - }, - { - "code": 400, - "type": "LOCATION_INVALID", - "description": "The provided location is invalid" - }, - { - "code": 400, - "type": "PHOTO_CROP_SIZE_SMALL", - "description": "Photo is too small" - }, - { - "code": 400, - "type": "PHOTO_EXT_INVALID", - "description": "The extension of the photo is invalid" - }, - { - "code": 400, - "type": "PHOTO_ID_INVALID", - "description": "Photo ID invalid" - } - ] - }, - "photos.uploadProfilePhoto": { - "name": "photos.uploadProfilePhoto", - "description": [ - "Updates current user profile photo." - ], - "parameters": { - "file": "File saved in parts by means of upload.saveFilePart method", - "flags": "Flags, see TL conditional fields", - "video": "Animated profile picture video", - "video_start_ts": "Floating point UNIX timestamp in seconds, indicating the frame of the video that should be used as static preview." - }, - "errors": [ - { - "code": 400, - "type": "FILE_PARTS_INVALID", - "description": "The number of file parts is invalid" - }, - { - "code": 400, - "type": "IMAGE_PROCESS_FAILED", - "description": "Failure while processing image" - }, - { - "code": 400, - "type": "PHOTO_CROP_FILE_MISSING", - "description": "Photo crop file missing" - }, - { - "code": 400, - "type": "PHOTO_CROP_SIZE_SMALL", - "description": "Photo is too small" - }, - { - "code": 400, - "type": "PHOTO_EXT_INVALID", - "description": "The extension of the photo is invalid" - }, - { - "code": 400, - "type": "PHOTO_FILE_MISSING", - "description": "Profile photo file missing" - }, - { - "code": 400, - "type": "VIDEO_FILE_INVALID", - "description": "The specified video file is invalid" - } - ] - }, - "stats.getBroadcastStats": { - "name": "stats.getBroadcastStats", - "description": [ - "Get channel statistics" - ], - "parameters": { - "channel": "The channel", - "dark": "Whether to enable dark theme for graph colors", - "flags": "Flags, see TL conditional fields" - }, - "errors": [ - { - "code": 400, - "type": "BROADCAST_REQUIRED", - "description": "This method can only be called on a channel, please use stats.getMegagroupStats for supergroups" - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - } - ] - }, - "stats.getMegagroupStats": { - "name": "stats.getMegagroupStats", - "description": [ - "Get supergroup statistics" - ], - "parameters": { - "channel": "Supergroup ID", - "dark": "Whether to enable dark theme for graph colors", - "flags": "Flags, see TL conditional fields" - } - }, - "stats.getMessagePublicForwards": { - "name": "stats.getMessagePublicForwards", - "description": [ - "Obtains a list of messages, indicating to which other public channels was a channel message forwarded.", - "Will return a list of messages with peer_id equal to the public channel to which this message was forwarded." - ], - "parameters": { - "channel": "Source channel", - "limit": "Maximum number of results to return, see pagination", - "msg_id": "Source message ID", - "offset_id": "Offsets for pagination, for more info click here", - "offset_peer": "Offsets for pagination, for more info click here", - "offset_rate": "Initially 0, then set to the next_rate parameter of messages.messagesSlice" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "MESSAGE_ID_INVALID", - "description": "The provided message id is invalid" - } - ] - }, - "stats.getMessageStats": { - "name": "stats.getMessageStats", - "description": [ - "Get message statistics" - ], - "parameters": { - "channel": "Channel ID", - "dark": "Whether to enable dark theme for graph colors", - "flags": "Flags, see TL conditional fields", - "msg_id": "Message ID" - }, - "errors": [ - { - "code": 400, - "type": "CHAT_ADMIN_REQUIRED", - "description": "You must be an admin in this chat to do this" - } - ] - }, - "stats.loadAsyncGraph": { - "name": "stats.loadAsyncGraph", - "description": [ - "Load channel statistics graph asynchronously" - ], - "parameters": { - "flags": "Flags, see TL conditional fields", - "token": "Graph token from statsGraphAsync constructor", - "x": "Zoom value, if required" - }, - "errors": [ - { - "code": 400, - "type": "GRAPH_INVALID_RELOAD", - "description": "Invalid graph token provided, please reload the stats and provide the updated token" - }, - { - "code": 400, - "type": "GRAPH_OUTDATED_RELOAD", - "description": "The graph is outdated, please get a new async token using stats.getBroadcastStats" - } - ] - }, - "stickers.addStickerToSet": { - "name": "stickers.addStickerToSet", - "description": [ - "Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot." - ], - "parameters": { - "sticker": "The sticker", - "stickerset": "The stickerset" - }, - "errors": [ - { - "code": 400, - "type": "BOT_MISSING", - "description": "This method can only be run by a bot" - }, - { - "code": 400, - "type": "STICKERSET_INVALID", - "description": "The provided sticker set is invalid" - } - ] - }, - "stickers.changeStickerPosition": { - "name": "stickers.changeStickerPosition", - "description": [ - "Changes the absolute position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot" - ], - "parameters": { - "position": "The new position of the sticker, zero-based", - "sticker": "The sticker" - }, - "errors": [ - { - "code": 400, - "type": "BOT_MISSING", - "description": "This method can only be run by a bot" - }, - { - "code": 400, - "type": "STICKER_INVALID", - "description": "The provided sticker is invalid" - } - ] - }, - "stickers.createStickerSet": { - "name": "stickers.createStickerSet", - "description": [ - "Create a stickerset, bots only." - ], - "parameters": { - "animated": "Whether this is an animated stickerset", - "flags": "Flags, see TL conditional fields", - "masks": "Whether this is a mask stickerset", - "short_name": "Sticker set name. Can contain only English letters, digits and underscores. Must end with \"by\" ( is case insensitive); 1-64 characters", - "stickers": "Stickers", - "thumb": "Thumbnail", - "title": "Stickerset name, 1-64 chars", - "user_id": "Stickerset owner" - }, - "errors": [ - { - "code": 400, - "type": "BOT_MISSING", - "description": "This method can only be run by a bot" - }, - { - "code": 400, - "type": "PACK_SHORT_NAME_INVALID", - "description": "Short pack name invalid" - }, - { - "code": 400, - "type": "PACK_SHORT_NAME_OCCUPIED", - "description": "A stickerpack with this name already exists" - }, - { - "code": 400, - "type": "PACK_TITLE_INVALID", - "description": "The stickerpack title is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - }, - { - "code": 400, - "type": "SHORTNAME_OCCUPY_FAILED", - "description": "An internal error occurred" - }, - { - "code": 400, - "type": "STICKERS_EMPTY", - "description": "No sticker provided" - }, - { - "code": 400, - "type": "STICKER_EMOJI_INVALID", - "description": "Sticker emoji invalid" - }, - { - "code": 400, - "type": "STICKER_FILE_INVALID", - "description": "Sticker file invalid" - }, - { - "code": 400, - "type": "STICKER_PNG_DIMENSIONS", - "description": "Sticker png dimensions invalid" - }, - { - "code": 400, - "type": "STICKER_PNG_NOPNG", - "description": "One of the specified stickers is not a valid PNG file" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "stickers.removeStickerFromSet": { - "name": "stickers.removeStickerFromSet", - "description": [ - "Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot." - ], - "parameters": { - "sticker": "The sticker to remove" - }, - "errors": [ - { - "code": 400, - "type": "BOT_MISSING", - "description": "This method can only be run by a bot" - }, - { - "code": 400, - "type": "STICKER_INVALID", - "description": "The provided sticker is invalid" - } - ] - }, - "stickers.setStickerSetThumb": { - "name": "stickers.setStickerSetThumb", - "description": [ - "Set stickerset thumbnail" - ], - "parameters": { - "stickerset": "Stickerset", - "thumb": "Thumbnail" - }, - "errors": [ - { - "code": 400, - "type": "STICKERSET_INVALID", - "description": "The provided sticker set is invalid" - } - ] - }, - "updates.getChannelDifference": { - "name": "updates.getChannelDifference", - "description": [ - "Returns the difference between the current state of updates of a certain channel and transmitted." - ], - "parameters": { - "channel": "The channel", - "filter": "Messsage filter", - "flags": "Flags, see TL conditional fields", - "force": "Set to true to skip some possibly unneeded updates and reduce server-side load", - "limit": "How many updates to fetch, max 100000Ordinary (non-bot) users are supposed to pass 10-100", - "pts": "Persistent timestamp (see updates)" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 403, - "type": "CHANNEL_PUBLIC_GROUP_NA", - "description": "channel/supergroup not available" - }, - { - "code": 400, - "type": "FROM_MESSAGE_BOT_DISABLED", - "description": "Bots can't use fromMessage min constructors" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "PERSISTENT_TIMESTAMP_EMPTY", - "description": "Persistent timestamp empty" - }, - { - "code": 400, - "type": "PERSISTENT_TIMESTAMP_INVALID", - "description": "Persistent timestamp invalid" - }, - { - "code": 400, - "type": "PINNED_DIALOGS_TOO_MUCH", - "description": "Too many pinned dialogs" - }, - { - "code": 400, - "type": "RANGES_INVALID", - "description": "Invalid range provided" - } - ] - }, - "updates.getDifference": { - "name": "updates.getDifference", - "description": [ - "Get new updates." - ], - "parameters": { - "date": "date, see updates.", - "flags": "Flags, see TL conditional fields", - "pts": "PTS, see updates.", - "pts_total_limit": "For fast updating: if provided and pts + pts_total_limit \u003c remote pts, updates.differenceTooLong will be returned.Simply tells the server to not return the difference if it is bigger than pts_total_limitIf the remote pts is too big (\u003e ~4000000), this field will default to 1000000", - "qts": "QTS, see updates." - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "CDN_METHOD_INVALID", - "description": "You can't call this method in a CDN DC" - }, - { - "code": 400, - "type": "DATE_EMPTY", - "description": "Date empty" - }, - { - "code": 400, - "type": "PERSISTENT_TIMESTAMP_EMPTY", - "description": "Persistent timestamp empty" - }, - { - "code": 400, - "type": "PERSISTENT_TIMESTAMP_INVALID", - "description": "Persistent timestamp invalid" - } - ] - }, - "updates.getState": { - "name": "updates.getState", - "description": [ - "Returns a current state of updates." - ] - }, - "upload.getCdnFile": { - "name": "upload.getCdnFile", - "description": [ - "Download a CDN file." - ], - "parameters": { - "file_token": "File token", - "limit": "Length of chunk to download", - "offset": "Offset of chunk to download" - } - }, - "upload.getCdnFileHashes": { - "name": "upload.getCdnFileHashes", - "description": [ - "Get SHA256 hashes for verifying downloaded CDN files" - ], - "parameters": { - "file_token": "File", - "offset": "Offset from which to start getting hashes" - }, - "errors": [ - { - "code": 400, - "type": "CDN_METHOD_INVALID", - "description": "You can't call this method in a CDN DC" - }, - { - "code": 400, - "type": "RSA_DECRYPT_FAILED", - "description": "Internal RSA decryption failed" - } - ] - }, - "upload.getFile": { - "name": "upload.getFile", - "description": [ - "Returns content of a whole file or its part." - ], - "parameters": { - "cdn_supported": "Whether the current client supports CDN downloads", - "flags": "Flags, see TL conditional fields", - "limit": "Number of bytes to be returned", - "location": "File location", - "offset": "Number of bytes to be skipped", - "precise": "Disable some checks on limit and offset values, useful for example to stream videos by keyframes" - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "CHANNEL_INVALID", - "description": "The provided channel is invalid" - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 406, - "type": "FILEREF_UPGRADE_NEEDED", - "description": "The client has to be updated in order to support file references" - }, - { - "code": 400, - "type": "FILE_ID_INVALID", - "description": "The provided file id is invalid" - }, - { - "code": 400, - "type": "FILE_REFERENCE_*", - "description": "The file reference expired, it must be refreshed" - }, - { - "code": 400, - "type": "FILE_REFERENCE_EXPIRED", - "description": "File reference expired, it must be refetched as described in https://core.telegram.org/api/file_reference" - }, - { - "code": 400, - "type": "LIMIT_INVALID", - "description": "The provided limit is invalid" - }, - { - "code": 400, - "type": "LOCATION_INVALID", - "description": "The provided location is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "OFFSET_INVALID", - "description": "The provided offset is invalid" - }, - { - "code": 400, - "type": "PEER_ID_INVALID", - "description": "The provided peer id is invalid" - } - ] - }, - "upload.getFileHashes": { - "name": "upload.getFileHashes", - "description": [ - "Get SHA256 hashes for verifying downloaded files" - ], - "parameters": { - "location": "File", - "offset": "Offset from which to get file hashes" - }, - "errors": [ - { - "code": 400, - "type": "LOCATION_INVALID", - "description": "The provided location is invalid" - } - ] - }, - "upload.getWebfile": { - "name": "upload.getWebfile", - "description": [ - "Returns content of an HTTP file or a part, by proxying the request through telegram." - ], - "parameters": { - "limit": "Number of bytes to be returned", - "location": "The file to download", - "offset": "Number of bytes to be skipped" - }, - "errors": [ - { - "code": 400, - "type": "LOCATION_INVALID", - "description": "The provided location is invalid" - } - ] - }, - "upload.reuploadCdnFile": { - "name": "upload.reuploadCdnFile", - "description": [ - "Request a reupload of a certain file to a CDN DC." - ], - "parameters": { - "file_token": "File token", - "request_token": "Request token" - }, - "errors": [ - { - "code": 400, - "type": "RSA_DECRYPT_FAILED", - "description": "Internal RSA decryption failed" - } - ] - }, - "upload.saveBigFilePart": { - "name": "upload.saveBigFilePart", - "description": [ - "Saves a part of a large file (over 10Mb in size) to be later passed to one of the methods." - ], - "parameters": { - "bytes": "Binary data, part contents", - "file_id": "Random file id, created by the client", - "file_part": "Part sequence number", - "file_total_parts": "Total number of parts" - }, - "errors": [ - { - "code": 400, - "type": "FILE_PARTS_INVALID", - "description": "The number of file parts is invalid" - }, - { - "code": 400, - "type": "FILE_PART_EMPTY", - "description": "The provided file part is empty" - }, - { - "code": 400, - "type": "FILE_PART_INVALID", - "description": "The file part number is invalid" - }, - { - "code": 400, - "type": "FILE_PART_SIZE_CHANGED", - "description": "Provided file part size has changed" - }, - { - "code": 400, - "type": "FILE_PART_SIZE_INVALID", - "description": "The provided file part size is invalid" - }, - { - "code": 400, - "type": "FILE_PART_TOO_BIG", - "description": "The uploaded file part is too big" - } - ] - }, - "upload.saveFilePart": { - "name": "upload.saveFilePart", - "description": [ - "Saves a part of file for futher sending to one of the methods." - ], - "parameters": { - "bytes": "Binary data, contend of a part", - "file_id": "Random file identifier created by the client", - "file_part": "Numerical order of a part" - }, - "errors": [ - { - "code": 400, - "type": "FILE_PART_EMPTY", - "description": "The provided file part is empty" - }, - { - "code": 400, - "type": "FILE_PART_INVALID", - "description": "The file part number is invalid" - } - ] - }, - "users.getFullUser": { - "name": "users.getFullUser", - "description": [ - "Returns extended user info by ID." - ], - "parameters": { - "id": "User ID" - }, - "errors": [ - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - }, - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - }, - "users.getUsers": { - "name": "users.getUsers", - "description": [ - "Returns basic user info according to their identifiers." - ], - "parameters": { - "id": "List of user identifiers" - }, - "errors": [ - { - "code": 401, - "type": "AUTH_KEY_PERM_EMPTY", - "description": "The temporary auth key must be binded to the permanent auth key to use these methods." - }, - { - "code": 400, - "type": "CHANNEL_PRIVATE", - "description": "You haven't joined this channel/supergroup" - }, - { - "code": 400, - "type": "CONNECTION_NOT_INITED", - "description": "Connection not initialized" - }, - { - "code": 400, - "type": "INPUT_LAYER_INVALID", - "description": "The provided layer is invalid" - }, - { - "code": 400, - "type": "MSG_ID_INVALID", - "description": "Invalid message ID provided" - } - ] - }, - "users.setSecureValueErrors": { - "name": "users.setSecureValueErrors", - "description": [ - "Notify the user that the sent passport data contains some errors The user will not be able to re-submit their Passport data to you until the errors are fixed (the contents of the field for which you returned the error must change).", - "Use this if the data submitted by the user doesn't satisfy the standards your service requires for any reason. For example, if a birthday date seems invalid, a submitted document is blurry, a scan shows evidence of tampering, etc. Supply some details in the error message to make sure the user knows how to correct the issues." - ], - "parameters": { - "errors": "Errors", - "id": "The user" - }, - "errors": [ - { - "code": 400, - "type": "USER_ID_INVALID", - "description": "The provided user ID is invalid" - } - ] - } - } -} +{"index":{"layer":121,"categories":[{"name":"constructor","values":["account.authorizationForm","account.authorizations","account.autoDownloadSettings","account.contentSettings","account.password","account.passwordInputSettings","account.passwordSettings","account.privacyRules","account.sentEmailCode","account.takeout","account.themes","account.themesNotModified","account.tmpPassword","account.wallPapers","account.wallPapersNotModified","account.webAuthorizations","accountDaysTTL","auth.authorization","auth.authorizationSignUpRequired","auth.codeTypeCall","auth.codeTypeFlashCall","auth.codeTypeSms","auth.exportedAuthorization","auth.loginToken","auth.loginTokenMigrateTo","auth.loginTokenSuccess","auth.passwordRecovery","auth.sentCode","auth.sentCodeTypeApp","auth.sentCodeTypeCall","auth.sentCodeTypeFlashCall","auth.sentCodeTypeSms","authorization","autoDownloadSettings","bankCardOpenUrl","baseThemeArctic","baseThemeClassic","baseThemeDay","baseThemeNight","baseThemeTinted","boolFalse","boolTrue","botCommand","botInfo","botInlineMediaResult","botInlineMessageMediaAuto","botInlineMessageMediaContact","botInlineMessageMediaGeo","botInlineMessageMediaVenue","botInlineMessageText","botInlineResult","cdnConfig","cdnPublicKey","channel","channelAdminLogEvent","channelAdminLogEventActionChangeAbout","channelAdminLogEventActionChangeLinkedChat","channelAdminLogEventActionChangeLocation","channelAdminLogEventActionChangePhoto","channelAdminLogEventActionChangeStickerSet","channelAdminLogEventActionChangeTitle","channelAdminLogEventActionChangeUsername","channelAdminLogEventActionDefaultBannedRights","channelAdminLogEventActionDeleteMessage","channelAdminLogEventActionEditMessage","channelAdminLogEventActionParticipantInvite","channelAdminLogEventActionParticipantJoin","channelAdminLogEventActionParticipantLeave","channelAdminLogEventActionParticipantToggleAdmin","channelAdminLogEventActionParticipantToggleBan","channelAdminLogEventActionStopPoll","channelAdminLogEventActionToggleInvites","channelAdminLogEventActionTogglePreHistoryHidden","channelAdminLogEventActionToggleSignatures","channelAdminLogEventActionToggleSlowMode","channelAdminLogEventActionUpdatePinned","channelAdminLogEventsFilter","channelForbidden","channelFull","channelLocation","channelLocationEmpty","channelMessagesFilter","channelMessagesFilterEmpty","channelParticipant","channelParticipantAdmin","channelParticipantBanned","channelParticipantCreator","channelParticipantLeft","channelParticipantSelf","channelParticipantsAdmins","channelParticipantsBanned","channelParticipantsBots","channelParticipantsContacts","channelParticipantsKicked","channelParticipantsMentions","channelParticipantsRecent","channelParticipantsSearch","channels.adminLogResults","channels.channelParticipant","channels.channelParticipants","channels.channelParticipantsNotModified","chat","chatAdminRights","chatBannedRights","chatEmpty","chatForbidden","chatFull","chatInvite","chatInviteAlready","chatInviteEmpty","chatInviteExported","chatInvitePeek","chatOnlines","chatParticipant","chatParticipantAdmin","chatParticipantCreator","chatParticipants","chatParticipantsForbidden","chatPhoto","chatPhotoEmpty","codeSettings","config","contact","contactStatus","contacts.blocked","contacts.blockedSlice","contacts.contacts","contacts.contactsNotModified","contacts.found","contacts.importedContacts","contacts.resolvedPeer","contacts.topPeers","contacts.topPeersDisabled","contacts.topPeersNotModified","dataJSON","dcOption","dialog","dialogFilter","dialogFilterSuggested","dialogFolder","dialogPeer","dialogPeerFolder","document","documentAttributeAnimated","documentAttributeAudio","documentAttributeFilename","documentAttributeHasStickers","documentAttributeImageSize","documentAttributeSticker","documentAttributeVideo","documentEmpty","draftMessage","draftMessageEmpty","emojiKeyword","emojiKeywordDeleted","emojiKeywordsDifference","emojiLanguage","emojiURL","encryptedChat","encryptedChatDiscarded","encryptedChatEmpty","encryptedChatRequested","encryptedChatWaiting","encryptedFile","encryptedFileEmpty","encryptedMessage","encryptedMessageService","error","exportedMessageLink","fileHash","fileLocationToBeDeprecated","folder","folderPeer","game","geoPoint","geoPointEmpty","globalPrivacySettings","help.appUpdate","help.countriesList","help.countriesListNotModified","help.country","help.countryCode","help.deepLinkInfo","help.deepLinkInfoEmpty","help.inviteText","help.noAppUpdate","help.passportConfig","help.passportConfigNotModified","help.promoData","help.promoDataEmpty","help.recentMeUrls","help.support","help.supportName","help.termsOfService","help.termsOfServiceUpdate","help.termsOfServiceUpdateEmpty","help.userInfo","help.userInfoEmpty","highScore","importedContact","inlineBotSwitchPM","inputAppEvent","inputBotInlineMessageGame","inputBotInlineMessageID","inputBotInlineMessageMediaAuto","inputBotInlineMessageMediaContact","inputBotInlineMessageMediaGeo","inputBotInlineMessageMediaVenue","inputBotInlineMessageText","inputBotInlineResult","inputBotInlineResultDocument","inputBotInlineResultGame","inputBotInlineResultPhoto","inputChannel","inputChannelEmpty","inputChannelFromMessage","inputChatPhoto","inputChatPhotoEmpty","inputChatUploadedPhoto","inputCheckPasswordEmpty","inputCheckPasswordSRP","inputClientProxy","inputDialogPeer","inputDialogPeerFolder","inputDocument","inputDocumentEmpty","inputDocumentFileLocation","inputEncryptedChat","inputEncryptedFile","inputEncryptedFileBigUploaded","inputEncryptedFileEmpty","inputEncryptedFileLocation","inputEncryptedFileUploaded","inputFile","inputFileBig","inputFileLocation","inputFolderPeer","inputGameID","inputGameShortName","inputGeoPoint","inputGeoPointEmpty","inputKeyboardButtonUrlAuth","inputMediaContact","inputMediaDice","inputMediaDocument","inputMediaDocumentExternal","inputMediaEmpty","inputMediaGame","inputMediaGeoLive","inputMediaGeoPoint","inputMediaInvoice","inputMediaPhoto","inputMediaPhotoExternal","inputMediaPoll","inputMediaUploadedDocument","inputMediaUploadedPhoto","inputMediaVenue","inputMessageCallbackQuery","inputMessageEntityMentionName","inputMessageID","inputMessagePinned","inputMessageReplyTo","inputMessagesFilterChatPhotos","inputMessagesFilterContacts","inputMessagesFilterDocument","inputMessagesFilterEmpty","inputMessagesFilterGeo","inputMessagesFilterGif","inputMessagesFilterMusic","inputMessagesFilterMyMentions","inputMessagesFilterPhoneCalls","inputMessagesFilterPhotoVideo","inputMessagesFilterPhotos","inputMessagesFilterPinned","inputMessagesFilterRoundVideo","inputMessagesFilterRoundVoice","inputMessagesFilterUrl","inputMessagesFilterVideo","inputMessagesFilterVoice","inputNotifyBroadcasts","inputNotifyChats","inputNotifyPeer","inputNotifyUsers","inputPaymentCredentials","inputPaymentCredentialsAndroidPay","inputPaymentCredentialsApplePay","inputPaymentCredentialsSaved","inputPeerChannel","inputPeerChannelFromMessage","inputPeerChat","inputPeerEmpty","inputPeerNotifySettings","inputPeerPhotoFileLocation","inputPeerSelf","inputPeerUser","inputPeerUserFromMessage","inputPhoneCall","inputPhoneContact","inputPhoto","inputPhotoEmpty","inputPhotoFileLocation","inputPhotoLegacyFileLocation","inputPrivacyKeyAddedByPhone","inputPrivacyKeyChatInvite","inputPrivacyKeyForwards","inputPrivacyKeyPhoneCall","inputPrivacyKeyPhoneNumber","inputPrivacyKeyPhoneP2P","inputPrivacyKeyProfilePhoto","inputPrivacyKeyStatusTimestamp","inputPrivacyValueAllowAll","inputPrivacyValueAllowChatParticipants","inputPrivacyValueAllowContacts","inputPrivacyValueAllowUsers","inputPrivacyValueDisallowAll","inputPrivacyValueDisallowChatParticipants","inputPrivacyValueDisallowContacts","inputPrivacyValueDisallowUsers","inputReportReasonChildAbuse","inputReportReasonCopyright","inputReportReasonGeoIrrelevant","inputReportReasonOther","inputReportReasonPornography","inputReportReasonSpam","inputReportReasonViolence","inputSecureFile","inputSecureFileLocation","inputSecureFileUploaded","inputSecureValue","inputSingleMedia","inputStickerSetAnimatedEmoji","inputStickerSetDice","inputStickerSetEmpty","inputStickerSetID","inputStickerSetItem","inputStickerSetShortName","inputStickerSetThumb","inputStickeredMediaDocument","inputStickeredMediaPhoto","inputTakeoutFileLocation","inputTheme","inputThemeSettings","inputThemeSlug","inputUser","inputUserEmpty","inputUserFromMessage","inputUserSelf","inputWallPaper","inputWallPaperNoFile","inputWallPaperSlug","inputWebDocument","inputWebFileGeoPointLocation","inputWebFileLocation","invoice","jsonArray","jsonBool","jsonNull","jsonNumber","jsonObject","jsonObjectValue","jsonString","keyboardButton","keyboardButtonBuy","keyboardButtonCallback","keyboardButtonGame","keyboardButtonRequestGeoLocation","keyboardButtonRequestPhone","keyboardButtonRequestPoll","keyboardButtonRow","keyboardButtonSwitchInline","keyboardButtonUrl","keyboardButtonUrlAuth","labeledPrice","langPackDifference","langPackLanguage","langPackString","langPackStringDeleted","langPackStringPluralized","maskCoords","message","messageActionBotAllowed","messageActionChannelCreate","messageActionChannelMigrateFrom","messageActionChatAddUser","messageActionChatCreate","messageActionChatDeletePhoto","messageActionChatDeleteUser","messageActionChatEditPhoto","messageActionChatEditTitle","messageActionChatJoinedByLink","messageActionChatMigrateTo","messageActionContactSignUp","messageActionCustomAction","messageActionEmpty","messageActionGameScore","messageActionGeoProximityReached","messageActionHistoryClear","messageActionPaymentSent","messageActionPaymentSentMe","messageActionPhoneCall","messageActionPinMessage","messageActionScreenshotTaken","messageActionSecureValuesSent","messageActionSecureValuesSentMe","messageEmpty","messageEntityBankCard","messageEntityBlockquote","messageEntityBold","messageEntityBotCommand","messageEntityCashtag","messageEntityCode","messageEntityEmail","messageEntityHashtag","messageEntityItalic","messageEntityMention","messageEntityMentionName","messageEntityPhone","messageEntityPre","messageEntityStrike","messageEntityTextUrl","messageEntityUnderline","messageEntityUnknown","messageEntityUrl","messageFwdHeader","messageInteractionCounters","messageMediaContact","messageMediaDice","messageMediaDocument","messageMediaEmpty","messageMediaGame","messageMediaGeo","messageMediaGeoLive","messageMediaInvoice","messageMediaPhoto","messageMediaPoll","messageMediaUnsupported","messageMediaVenue","messageMediaWebPage","messageRange","messageReplies","messageReplyHeader","messageService","messageUserVote","messageUserVoteInputOption","messageUserVoteMultiple","messageViews","messages.affectedHistory","messages.affectedMessages","messages.allStickers","messages.allStickersNotModified","messages.archivedStickers","messages.botCallbackAnswer","messages.botResults","messages.channelMessages","messages.chatFull","messages.chats","messages.chatsSlice","messages.dhConfig","messages.dhConfigNotModified","messages.dialogs","messages.dialogsNotModified","messages.dialogsSlice","messages.discussionMessage","messages.favedStickers","messages.favedStickersNotModified","messages.featuredStickers","messages.featuredStickersNotModified","messages.foundStickerSets","messages.foundStickerSetsNotModified","messages.highScores","messages.inactiveChats","messages.messageEditData","messages.messageViews","messages.messages","messages.messagesNotModified","messages.messagesSlice","messages.peerDialogs","messages.recentStickers","messages.recentStickersNotModified","messages.savedGifs","messages.savedGifsNotModified","messages.searchCounter","messages.sentEncryptedFile","messages.sentEncryptedMessage","messages.stickerSet","messages.stickerSetInstallResultArchive","messages.stickerSetInstallResultSuccess","messages.stickers","messages.stickersNotModified","messages.votesList","nearestDc","notifyBroadcasts","notifyChats","notifyPeer","notifyUsers","null","page","pageBlockAnchor","pageBlockAudio","pageBlockAuthorDate","pageBlockBlockquote","pageBlockChannel","pageBlockCollage","pageBlockCover","pageBlockDetails","pageBlockDivider","pageBlockEmbed","pageBlockEmbedPost","pageBlockFooter","pageBlockHeader","pageBlockKicker","pageBlockList","pageBlockMap","pageBlockOrderedList","pageBlockParagraph","pageBlockPhoto","pageBlockPreformatted","pageBlockPullquote","pageBlockRelatedArticles","pageBlockSlideshow","pageBlockSubheader","pageBlockSubtitle","pageBlockTable","pageBlockTitle","pageBlockUnsupported","pageBlockVideo","pageCaption","pageListItemBlocks","pageListItemText","pageListOrderedItemBlocks","pageListOrderedItemText","pageRelatedArticle","pageTableCell","pageTableRow","passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow","passwordKdfAlgoUnknown","paymentCharge","paymentRequestedInfo","paymentSavedCredentialsCard","payments.bankCardData","payments.paymentForm","payments.paymentReceipt","payments.paymentResult","payments.paymentVerificationNeeded","payments.savedInfo","payments.validatedRequestedInfo","peerBlocked","peerChannel","peerChat","peerLocated","peerNotifySettings","peerSelfLocated","peerSettings","peerUser","phone.phoneCall","phoneCall","phoneCallAccepted","phoneCallDiscardReasonBusy","phoneCallDiscardReasonDisconnect","phoneCallDiscardReasonHangup","phoneCallDiscardReasonMissed","phoneCallDiscarded","phoneCallEmpty","phoneCallProtocol","phoneCallRequested","phoneCallWaiting","phoneConnection","phoneConnectionWebrtc","photo","photoCachedSize","photoEmpty","photoPathSize","photoSize","photoSizeEmpty","photoSizeProgressive","photoStrippedSize","photos.photo","photos.photos","photos.photosSlice","poll","pollAnswer","pollAnswerVoters","pollResults","popularContact","postAddress","privacyKeyAddedByPhone","privacyKeyChatInvite","privacyKeyForwards","privacyKeyPhoneCall","privacyKeyPhoneNumber","privacyKeyPhoneP2P","privacyKeyProfilePhoto","privacyKeyStatusTimestamp","privacyValueAllowAll","privacyValueAllowChatParticipants","privacyValueAllowContacts","privacyValueAllowUsers","privacyValueDisallowAll","privacyValueDisallowChatParticipants","privacyValueDisallowContacts","privacyValueDisallowUsers","receivedNotifyMessage","recentMeUrlChat","recentMeUrlChatInvite","recentMeUrlStickerSet","recentMeUrlUnknown","recentMeUrlUser","replyInlineMarkup","replyKeyboardForceReply","replyKeyboardHide","replyKeyboardMarkup","restrictionReason","savedPhoneContact","secureCredentialsEncrypted","secureData","secureFile","secureFileEmpty","securePasswordKdfAlgoPBKDF2HMACSHA512iter100000","securePasswordKdfAlgoSHA512","securePasswordKdfAlgoUnknown","securePlainEmail","securePlainPhone","secureRequiredType","secureRequiredTypeOneOf","secureSecretSettings","secureValue","secureValueError","secureValueErrorData","secureValueErrorFile","secureValueErrorFiles","secureValueErrorFrontSide","secureValueErrorReverseSide","secureValueErrorSelfie","secureValueErrorTranslationFile","secureValueErrorTranslationFiles","secureValueHash","secureValueTypeAddress","secureValueTypeBankStatement","secureValueTypeDriverLicense","secureValueTypeEmail","secureValueTypeIdentityCard","secureValueTypeInternalPassport","secureValueTypePassport","secureValueTypePassportRegistration","secureValueTypePersonalDetails","secureValueTypePhone","secureValueTypeRentalAgreement","secureValueTypeTemporaryRegistration","secureValueTypeUtilityBill","sendMessageCancelAction","sendMessageChooseContactAction","sendMessageGamePlayAction","sendMessageGeoLocationAction","sendMessageRecordAudioAction","sendMessageRecordRoundAction","sendMessageRecordVideoAction","sendMessageTypingAction","sendMessageUploadAudioAction","sendMessageUploadDocumentAction","sendMessageUploadPhotoAction","sendMessageUploadRoundAction","sendMessageUploadVideoAction","shippingOption","stats.broadcastStats","stats.megagroupStats","stats.messageStats","statsAbsValueAndPrev","statsDateRangeDays","statsGraph","statsGraphAsync","statsGraphError","statsGroupTopAdmin","statsGroupTopInviter","statsGroupTopPoster","statsPercentValue","statsURL","stickerPack","stickerSet","stickerSetCovered","stickerSetMultiCovered","storage.fileGif","storage.fileJpeg","storage.fileMov","storage.fileMp3","storage.fileMp4","storage.filePartial","storage.filePdf","storage.filePng","storage.fileUnknown","storage.fileWebp","textAnchor","textBold","textConcat","textEmail","textEmpty","textFixed","textImage","textItalic","textMarked","textPhone","textPlain","textStrike","textSubscript","textSuperscript","textUnderline","textUrl","theme","themeSettings","topPeer","topPeerCategoryBotsInline","topPeerCategoryBotsPM","topPeerCategoryChannels","topPeerCategoryCorrespondents","topPeerCategoryForwardChats","topPeerCategoryForwardUsers","topPeerCategoryGroups","topPeerCategoryPeers","topPeerCategoryPhoneCalls","true","updateBotCallbackQuery","updateBotInlineQuery","updateBotInlineSend","updateBotPrecheckoutQuery","updateBotShippingQuery","updateBotWebhookJSON","updateBotWebhookJSONQuery","updateChannel","updateChannelAvailableMessages","updateChannelMessageForwards","updateChannelMessageViews","updateChannelParticipant","updateChannelReadMessagesContents","updateChannelTooLong","updateChannelUserTyping","updateChannelWebPage","updateChatDefaultBannedRights","updateChatParticipantAdd","updateChatParticipantAdmin","updateChatParticipantDelete","updateChatParticipants","updateChatUserTyping","updateConfig","updateContactsReset","updateDcOptions","updateDeleteChannelMessages","updateDeleteMessages","updateDeleteScheduledMessages","updateDialogFilter","updateDialogFilterOrder","updateDialogFilters","updateDialogPinned","updateDialogUnreadMark","updateDraftMessage","updateEditChannelMessage","updateEditMessage","updateEncryptedChatTyping","updateEncryptedMessagesRead","updateEncryption","updateFavedStickers","updateFolderPeers","updateGeoLiveViewed","updateInlineBotCallbackQuery","updateLangPack","updateLangPackTooLong","updateLoginToken","updateMessageID","updateMessagePoll","updateMessagePollVote","updateNewChannelMessage","updateNewEncryptedMessage","updateNewMessage","updateNewScheduledMessage","updateNewStickerSet","updateNotifySettings","updatePeerBlocked","updatePeerLocated","updatePeerSettings","updatePhoneCall","updatePhoneCallSignalingData","updatePinnedChannelMessages","updatePinnedDialogs","updatePinnedMessages","updatePrivacy","updatePtsChanged","updateReadChannelDiscussionInbox","updateReadChannelDiscussionOutbox","updateReadChannelInbox","updateReadChannelOutbox","updateReadFeaturedStickers","updateReadHistoryInbox","updateReadHistoryOutbox","updateReadMessagesContents","updateRecentStickers","updateSavedGifs","updateServiceNotification","updateShort","updateShortChatMessage","updateShortMessage","updateShortSentMessage","updateStickerSets","updateStickerSetsOrder","updateTheme","updateUserName","updateUserPhone","updateUserPhoto","updateUserStatus","updateUserTyping","updateWebPage","updates","updates.channelDifference","updates.channelDifferenceEmpty","updates.channelDifferenceTooLong","updates.difference","updates.differenceEmpty","updates.differenceSlice","updates.differenceTooLong","updates.state","updatesCombined","updatesTooLong","upload.cdnFile","upload.cdnFileReuploadNeeded","upload.file","upload.fileCdnRedirect","upload.webFile","urlAuthResultAccepted","urlAuthResultDefault","urlAuthResultRequest","user","userEmpty","userFull","userProfilePhoto","userProfilePhotoEmpty","userStatusEmpty","userStatusLastMonth","userStatusLastWeek","userStatusOffline","userStatusOnline","userStatusRecently","vector","videoSize","wallPaper","wallPaperNoFile","wallPaperSettings","webAuthorization","webDocument","webDocumentNoProxy","webPage","webPageAttributeTheme","webPageEmpty","webPageNotModified","webPagePending"]},{"name":"method","values":["account.acceptAuthorization","account.cancelPasswordEmail","account.changePhone","account.checkUsername","account.confirmPasswordEmail","account.confirmPhone","account.createTheme","account.deleteAccount","account.deleteSecureValue","account.finishTakeoutSession","account.getAccountTTL","account.getAllSecureValues","account.getAuthorizationForm","account.getAuthorizations","account.getAutoDownloadSettings","account.getContactSignUpNotification","account.getContentSettings","account.getGlobalPrivacySettings","account.getMultiWallPapers","account.getNotifyExceptions","account.getNotifySettings","account.getPassword","account.getPasswordSettings","account.getPrivacy","account.getSecureValue","account.getTheme","account.getThemes","account.getTmpPassword","account.getWallPaper","account.getWallPapers","account.getWebAuthorizations","account.initTakeoutSession","account.installTheme","account.installWallPaper","account.registerDevice","account.reportPeer","account.resendPasswordEmail","account.resetAuthorization","account.resetNotifySettings","account.resetWallPapers","account.resetWebAuthorization","account.resetWebAuthorizations","account.saveAutoDownloadSettings","account.saveSecureValue","account.saveTheme","account.saveWallPaper","account.sendChangePhoneCode","account.sendConfirmPhoneCode","account.sendVerifyEmailCode","account.sendVerifyPhoneCode","account.setAccountTTL","account.setContactSignUpNotification","account.setContentSettings","account.setGlobalPrivacySettings","account.setPrivacy","account.unregisterDevice","account.updateDeviceLocked","account.updateNotifySettings","account.updatePasswordSettings","account.updateProfile","account.updateStatus","account.updateTheme","account.updateUsername","account.uploadTheme","account.uploadWallPaper","account.verifyEmail","account.verifyPhone","auth.acceptLoginToken","auth.bindTempAuthKey","auth.cancelCode","auth.checkPassword","auth.dropTempAuthKeys","auth.exportAuthorization","auth.exportLoginToken","auth.importAuthorization","auth.importBotAuthorization","auth.importLoginToken","auth.logOut","auth.recoverPassword","auth.requestPasswordRecovery","auth.resendCode","auth.resetAuthorizations","auth.sendCode","auth.signIn","auth.signUp","bots.answerWebhookJSONQuery","bots.sendCustomRequest","bots.setBotCommands","channels.checkUsername","channels.createChannel","channels.deleteChannel","channels.deleteHistory","channels.deleteMessages","channels.deleteUserHistory","channels.editAdmin","channels.editBanned","channels.editCreator","channels.editLocation","channels.editPhoto","channels.editTitle","channels.exportMessageLink","channels.getAdminLog","channels.getAdminedPublicChannels","channels.getChannels","channels.getFullChannel","channels.getGroupsForDiscussion","channels.getInactiveChannels","channels.getLeftChannels","channels.getMessages","channels.getParticipant","channels.getParticipants","channels.inviteToChannel","channels.joinChannel","channels.leaveChannel","channels.readHistory","channels.readMessageContents","channels.reportSpam","channels.setDiscussionGroup","channels.setStickers","channels.togglePreHistoryHidden","channels.toggleSignatures","channels.toggleSlowMode","channels.updateUsername","contacts.acceptContact","contacts.addContact","contacts.block","contacts.blockFromReplies","contacts.deleteByPhones","contacts.deleteContacts","contacts.getBlocked","contacts.getContactIDs","contacts.getContacts","contacts.getLocated","contacts.getSaved","contacts.getStatuses","contacts.getTopPeers","contacts.importContacts","contacts.resetSaved","contacts.resetTopPeerRating","contacts.resolveUsername","contacts.search","contacts.toggleTopPeers","contacts.unblock","folders.deleteFolder","folders.editPeerFolders","help.acceptTermsOfService","help.dismissSuggestion","help.editUserInfo","help.getAppChangelog","help.getAppConfig","help.getAppUpdate","help.getCdnConfig","help.getConfig","help.getCountriesList","help.getDeepLinkInfo","help.getInviteText","help.getNearestDc","help.getPassportConfig","help.getPromoData","help.getRecentMeUrls","help.getSupport","help.getSupportName","help.getTermsOfServiceUpdate","help.getUserInfo","help.hidePromoData","help.saveAppLog","help.setBotUpdatesStatus","initConnection","invokeAfterMsg","invokeAfterMsgs","invokeWithLayer","invokeWithMessagesRange","invokeWithTakeout","invokeWithoutUpdates","langpack.getDifference","langpack.getLangPack","langpack.getLanguage","langpack.getLanguages","langpack.getStrings","messages.acceptEncryption","messages.acceptUrlAuth","messages.addChatUser","messages.checkChatInvite","messages.clearAllDrafts","messages.clearRecentStickers","messages.createChat","messages.deleteChatUser","messages.deleteHistory","messages.deleteMessages","messages.deleteScheduledMessages","messages.discardEncryption","messages.editChatAbout","messages.editChatAdmin","messages.editChatDefaultBannedRights","messages.editChatPhoto","messages.editChatTitle","messages.editInlineBotMessage","messages.editMessage","messages.exportChatInvite","messages.faveSticker","messages.forwardMessages","messages.getAllChats","messages.getAllDrafts","messages.getAllStickers","messages.getArchivedStickers","messages.getAttachedStickers","messages.getBotCallbackAnswer","messages.getChats","messages.getCommonChats","messages.getDhConfig","messages.getDialogFilters","messages.getDialogUnreadMarks","messages.getDialogs","messages.getDiscussionMessage","messages.getDocumentByHash","messages.getEmojiKeywords","messages.getEmojiKeywordsDifference","messages.getEmojiKeywordsLanguages","messages.getEmojiURL","messages.getFavedStickers","messages.getFeaturedStickers","messages.getFullChat","messages.getGameHighScores","messages.getHistory","messages.getInlineBotResults","messages.getInlineGameHighScores","messages.getMaskStickers","messages.getMessageEditData","messages.getMessages","messages.getMessagesViews","messages.getOldFeaturedStickers","messages.getOnlines","messages.getPeerDialogs","messages.getPeerSettings","messages.getPinnedDialogs","messages.getPollResults","messages.getPollVotes","messages.getRecentLocations","messages.getRecentStickers","messages.getReplies","messages.getSavedGifs","messages.getScheduledHistory","messages.getScheduledMessages","messages.getSearchCounters","messages.getSplitRanges","messages.getStatsURL","messages.getStickerSet","messages.getStickers","messages.getSuggestedDialogFilters","messages.getUnreadMentions","messages.getWebPage","messages.getWebPagePreview","messages.hidePeerSettingsBar","messages.importChatInvite","messages.installStickerSet","messages.markDialogUnread","messages.migrateChat","messages.readDiscussion","messages.readEncryptedHistory","messages.readFeaturedStickers","messages.readHistory","messages.readMentions","messages.readMessageContents","messages.receivedMessages","messages.receivedQueue","messages.reorderPinnedDialogs","messages.reorderStickerSets","messages.report","messages.reportEncryptedSpam","messages.reportSpam","messages.requestEncryption","messages.requestUrlAuth","messages.saveDraft","messages.saveGif","messages.saveRecentSticker","messages.search","messages.searchGlobal","messages.searchStickerSets","messages.sendEncrypted","messages.sendEncryptedFile","messages.sendEncryptedService","messages.sendInlineBotResult","messages.sendMedia","messages.sendMessage","messages.sendMultiMedia","messages.sendScheduledMessages","messages.sendScreenshotNotification","messages.sendVote","messages.setBotCallbackAnswer","messages.setBotPrecheckoutResults","messages.setBotShippingResults","messages.setEncryptedTyping","messages.setGameScore","messages.setInlineBotResults","messages.setInlineGameScore","messages.setTyping","messages.startBot","messages.toggleDialogPin","messages.toggleStickerSets","messages.uninstallStickerSet","messages.unpinAllMessages","messages.updateDialogFilter","messages.updateDialogFiltersOrder","messages.updatePinnedMessage","messages.uploadEncryptedFile","messages.uploadMedia","payments.clearSavedInfo","payments.getBankCardData","payments.getPaymentForm","payments.getPaymentReceipt","payments.getSavedInfo","payments.sendPaymentForm","payments.validateRequestedInfo","phone.acceptCall","phone.confirmCall","phone.discardCall","phone.getCallConfig","phone.receivedCall","phone.requestCall","phone.saveCallDebug","phone.sendSignalingData","phone.setCallRating","photos.deletePhotos","photos.getUserPhotos","photos.updateProfilePhoto","photos.uploadProfilePhoto","stats.getBroadcastStats","stats.getMegagroupStats","stats.getMessagePublicForwards","stats.getMessageStats","stats.loadAsyncGraph","stickers.addStickerToSet","stickers.changeStickerPosition","stickers.createStickerSet","stickers.removeStickerFromSet","stickers.setStickerSetThumb","updates.getChannelDifference","updates.getDifference","updates.getState","upload.getCdnFile","upload.getCdnFileHashes","upload.getFile","upload.getFileHashes","upload.getWebFile","upload.reuploadCdnFile","upload.saveBigFilePart","upload.saveFilePart","users.getFullUser","users.getUsers","users.setSecureValueErrors"]},{"name":"type","values":["#","AccountDaysTTL","Authorization","AutoDownloadSettings","BankCardOpenUrl","BaseTheme","Bool","BotCommand","BotInfo","BotInlineMessage","BotInlineResult","CdnConfig","CdnPublicKey","ChannelAdminLogEvent","ChannelAdminLogEventAction","ChannelAdminLogEventsFilter","ChannelLocation","ChannelMessagesFilter","ChannelParticipant","ChannelParticipantsFilter","Chat","ChatAdminRights","ChatBannedRights","ChatFull","ChatInvite","ChatOnlines","ChatParticipant","ChatParticipants","ChatPhoto","CodeSettings","Config","Contact","ContactStatus","DataJSON","DcOption","Dialog","DialogFilter","DialogFilterSuggested","DialogPeer","Document","DocumentAttribute","DraftMessage","EmojiKeyword","EmojiKeywordsDifference","EmojiLanguage","EmojiURL","EncryptedChat","EncryptedFile","EncryptedMessage","Error","ExportedChatInvite","ExportedMessageLink","FileHash","FileLocation","Folder","FolderPeer","Game","GeoPoint","GlobalPrivacySettings","HighScore","ImportedContact","InlineBotSwitchPM","InputAppEvent","InputBotInlineMessage","InputBotInlineMessageID","InputBotInlineResult","InputChannel","InputChatPhoto","InputCheckPasswordSRP","InputClientProxy","InputContact","InputDialogPeer","InputDocument","InputEncryptedChat","InputEncryptedFile","InputFile","InputFileLocation","InputFolderPeer","InputGame","InputGeoPoint","InputMedia","InputMessage","InputNotifyPeer","InputPaymentCredentials","InputPeer","InputPeerNotifySettings","InputPhoneCall","InputPhoto","InputPrivacyKey","InputPrivacyRule","InputSecureFile","InputSecureValue","InputSingleMedia","InputStickerSet","InputStickerSetItem","InputStickeredMedia","InputTheme","InputThemeSettings","InputUser","InputWallPaper","InputWebDocument","InputWebFileLocation","Invoice","JSONObjectValue","JSONValue","KeyboardButton","KeyboardButtonRow","LabeledPrice","LangPackDifference","LangPackLanguage","LangPackString","MaskCoords","Message","MessageAction","MessageEntity","MessageFwdHeader","MessageInteractionCounters","MessageMedia","MessageRange","MessageReplies","MessageReplyHeader","MessageUserVote","MessageViews","MessagesFilter","NearestDc","NotifyPeer","Null","Page","PageBlock","PageCaption","PageListItem","PageListOrderedItem","PageRelatedArticle","PageTableCell","PageTableRow","PasswordKdfAlgo","PaymentCharge","PaymentRequestedInfo","PaymentSavedCredentials","Peer","PeerBlocked","PeerLocated","PeerNotifySettings","PeerSettings","PhoneCall","PhoneCallDiscardReason","PhoneCallProtocol","PhoneConnection","Photo","PhotoSize","Poll","PollAnswer","PollAnswerVoters","PollResults","PopularContact","PostAddress","PrivacyKey","PrivacyRule","ReceivedNotifyMessage","RecentMeUrl","ReplyMarkup","ReportReason","RestrictionReason","RichText","SavedContact","SecureCredentialsEncrypted","SecureData","SecureFile","SecurePasswordKdfAlgo","SecurePlainData","SecureRequiredType","SecureSecretSettings","SecureValue","SecureValueError","SecureValueHash","SecureValueType","SendMessageAction","ShippingOption","StatsAbsValueAndPrev","StatsDateRangeDays","StatsGraph","StatsGroupTopAdmin","StatsGroupTopInviter","StatsGroupTopPoster","StatsPercentValue","StatsURL","StickerPack","StickerSet","StickerSetCovered","Theme","ThemeSettings","TopPeer","TopPeerCategory","TopPeerCategoryPeers","True","Update","Updates","UrlAuthResult","User","UserFull","UserProfilePhoto","UserStatus","Vector t","VideoSize","WallPaper","WallPaperSettings","WebAuthorization","WebDocument","WebPage","WebPageAttribute","account.AuthorizationForm","account.Authorizations","account.AutoDownloadSettings","account.ContentSettings","account.Password","account.PasswordInputSettings","account.PasswordSettings","account.PrivacyRules","account.SentEmailCode","account.Takeout","account.Themes","account.TmpPassword","account.WallPapers","account.WebAuthorizations","auth.Authorization","auth.CodeType","auth.ExportedAuthorization","auth.LoginToken","auth.PasswordRecovery","auth.SentCode","auth.SentCodeType","bytes","channels.AdminLogResults","channels.ChannelParticipant","channels.ChannelParticipants","contacts.Blocked","contacts.Contacts","contacts.Found","contacts.ImportedContacts","contacts.ResolvedPeer","contacts.TopPeers","double","help.AppUpdate","help.CountriesList","help.Country","help.CountryCode","help.DeepLinkInfo","help.InviteText","help.PassportConfig","help.PromoData","help.RecentMeUrls","help.Support","help.SupportName","help.TermsOfService","help.TermsOfServiceUpdate","help.UserInfo","int","long","messages.AffectedHistory","messages.AffectedMessages","messages.AllStickers","messages.ArchivedStickers","messages.BotCallbackAnswer","messages.BotResults","messages.ChatFull","messages.Chats","messages.DhConfig","messages.Dialogs","messages.DiscussionMessage","messages.FavedStickers","messages.FeaturedStickers","messages.FoundStickerSets","messages.HighScores","messages.InactiveChats","messages.MessageEditData","messages.MessageViews","messages.Messages","messages.PeerDialogs","messages.RecentStickers","messages.SavedGifs","messages.SearchCounter","messages.SentEncryptedMessage","messages.StickerSet","messages.StickerSetInstallResult","messages.Stickers","messages.VotesList","payments.BankCardData","payments.PaymentForm","payments.PaymentReceipt","payments.PaymentResult","payments.SavedInfo","payments.ValidatedRequestedInfo","phone.PhoneCall","photos.Photo","photos.Photos","stats.BroadcastStats","stats.MegagroupStats","stats.MessageStats","storage.FileType","string","updates.ChannelDifference","updates.Difference","updates.State","upload.CdnFile","upload.File","upload.WebFile"]}]},"constructors":{"FileHash":{"name":"FileHash","description":["SHA256 Hash of an uploaded file, to be checked for validity after download"],"fields":{"hash":{"description":"SHA-256 Hash of file chunk, to be checked for validity after download","links":null},"limit":{"description":"Length","links":null},"offset":{"description":"Offset from where to start computing SHA-256 hash","links":null}}},"Updates":{"name":"Updates","description":["Full constructor of updates"],"fields":{"chats":{"description":"List of chats mentioned in updates","links":null},"date":{"description":"Current date","links":null},"seq":{"description":"Total number of sent updates","links":null},"updates":{"description":"List of updates","links":null},"users":{"description":"List of users mentioned in updates","links":null}}},"account.authorizationForm":{"name":"account.authorizationForm","description":["Telegram Passport¹ authorization form"],"links":["https://core.telegram.org/passport"],"fields":{"errors":{"description":"Telegram Passport¹ errors","links":["https://core.telegram.org/passport"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"privacy_policy_url":{"description":"URL of the service's privacy policy","links":null},"required_types":{"description":"Required Telegram Passport¹ documents","links":["https://core.telegram.org/passport"]},"users":{"description":"Info about the bot to which the form will be submitted","links":null},"values":{"description":"Already submitted Telegram Passport¹ documents","links":["https://core.telegram.org/passport"]}}},"account.authorizations":{"name":"account.authorizations","description":["Logged-in sessions"],"fields":{"authorizations":{"description":"Logged-in sessions","links":null}}},"account.autoDownloadSettings":{"name":"account.autoDownloadSettings","description":["Media autodownload settings"],"fields":{"high":{"description":"High data usage preset","links":null},"low":{"description":"Low data usage preset","links":null},"medium":{"description":"Medium data usage preset","links":null}}},"account.contentSettings":{"name":"account.contentSettings","description":["Sensitive content settings"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"sensitive_can_change":{"description":"Whether the current client can change the sensitive content settings to view NSFW content","links":null},"sensitive_enabled":{"description":"Whether viewing of sensitive (NSFW) content is enabled","links":null}}},"account.password":{"name":"account.password","description":["Configuration for two-factor authorization"],"fields":{"current_algo":{"description":"The KDF algorithm for SRP two-factor authentication¹ of the current password","links":["https://core.telegram.org/api/srp"]},"email_unconfirmed_pattern":{"description":"A password recovery email¹ with the specified pattern² is still awaiting verification","links":["https://core.telegram.org/api/srp#email-verification","https://core.telegram.org/api/pattern"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_password":{"description":"Whether the user has a password","links":null},"has_recovery":{"description":"Whether the user has a recovery method configured","links":null},"has_secure_values":{"description":"Whether telegram passport¹ is enabled","links":["https://core.telegram.org/passport"]},"hint":{"description":"Text hint for the password","links":null},"new_algo":{"description":"The KDF algorithm for SRP two-factor authentication¹ to use when creating new passwords","links":["https://core.telegram.org/api/srp"]},"new_secure_algo":{"description":"The KDF algorithm for telegram passport¹","links":["https://core.telegram.org/passport"]},"secure_random":{"description":"Secure random string","links":null},"srp_B":{"description":"Srp B param for SRP authorization¹","links":["https://core.telegram.org/api/srp"]},"srp_id":{"description":"Srp ID param for SRP authorization¹","links":["https://core.telegram.org/api/srp"]}}},"account.passwordInputSettings":{"name":"account.passwordInputSettings","description":["Settings for setting up a new password"],"fields":{"email":{"description":"Password recovery email","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hint":{"description":"Text hint for the password","links":null},"new_algo":{"description":"The SRP algorithm¹ to use","links":["https://core.telegram.org/api/srp"]},"new_password_hash":{"description":"The computed password hash¹","links":["https://core.telegram.org/api/srp"]},"new_secure_settings":{"description":"Telegram passport¹ settings","links":["https://core.telegram.org/passport"]}}},"account.passwordSettings":{"name":"account.passwordSettings","description":["Private info associated to the password info (recovery email, telegram passport¹ info \u0026 so on)"],"links":["https://core.telegram.org/passport"],"fields":{"email":{"description":"2FA Recovery email¹","links":["https://core.telegram.org/api/srp#email-verification"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"secure_settings":{"description":"Telegram passport¹ settings","links":["https://core.telegram.org/passport"]}}},"account.privacyRules":{"name":"account.privacyRules","description":["Privacy rules"],"fields":{"chats":{"description":"Chats to which the rules apply","links":null},"rules":{"description":"Privacy rules","links":null},"users":{"description":"Users to which the rules apply","links":null}}},"account.sentEmailCode":{"name":"account.sentEmailCode","description":["The sent email code"],"fields":{"email_pattern":{"description":"The email (to which the code was sent) must match this pattern¹","links":["https://core.telegram.org/api/pattern"]},"length":{"description":"The length of the verification code","links":null}}},"account.takeout":{"name":"account.takeout","description":["Takout info"],"fields":{"id":{"description":"Takeout ID","links":null}}},"account.themes":{"name":"account.themes","description":["Installed themes"],"fields":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"themes":{"description":"Themes","links":null}}},"account.themesNotModified":{"name":"account.themesNotModified","description":["No new themes were installed"]},"account.tmpPassword":{"name":"account.tmpPassword","description":["Temporary payment password"],"fields":{"tmp_password":{"description":"Temporary password","links":null},"valid_until":{"description":"Validity period","links":null}}},"account.wallPapers":{"name":"account.wallPapers","description":["Installed wallpapers"],"fields":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"wallpapers":{"description":"Wallpapers","links":null}}},"account.wallPapersNotModified":{"name":"account.wallPapersNotModified","description":["No new wallpapers were found"]},"account.webAuthorizations":{"name":"account.webAuthorizations","description":["Web authorizations"],"fields":{"authorizations":{"description":"Web authorization list","links":null},"users":{"description":"Users","links":null}}},"accountDaysTTL":{"name":"accountDaysTTL","description":["Time to live in days of the current account"],"fields":{"days":{"description":"This account will self-destruct in the specified number of days","links":null}}},"auth.authorization":{"name":"auth.authorization","description":["Contains user authorization info."],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"tmp_sessions":{"description":"Temporary passport¹ sessions","links":["https://core.telegram.org/passport"]},"user":{"description":"Info on authorized user","links":null}}},"auth.authorizationSignUpRequired":{"name":"auth.authorizationSignUpRequired","description":["An account with this phone number doesn't exist on telegram: the user has to enter basic information and sign up¹"],"links":["https://core.telegram.org/api/auth"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"terms_of_service":{"description":"Telegram's terms of service: the user must read and accept the terms of service before signing up to telegram","links":null}}},"auth.codeTypeCall":{"name":"auth.codeTypeCall","description":["Type of verification code that will be sent next if you call the resendCode method: SMS code"]},"auth.codeTypeFlashCall":{"name":"auth.codeTypeFlashCall","description":["Type of verification code that will be sent next if you call the resendCode method: SMS code"]},"auth.codeTypeSms":{"name":"auth.codeTypeSms","description":["Type of verification code that will be sent next if you call the resendCode method: SMS code"]},"auth.exportedAuthorization":{"name":"auth.exportedAuthorization","description":["Data for copying of authorization between data centres."],"fields":{"bytes":{"description":"authorizes key","links":null},"id":{"description":"current user identifier","links":null}}},"auth.loginToken":{"name":"auth.loginToken","description":["Login token (for QR code login¹)"],"links":["https://core.telegram.org/api/qr-login"],"fields":{"expires":{"description":"Expiry date of QR code","links":null},"token":{"description":"Token to render in QR code","links":null}}},"auth.loginTokenMigrateTo":{"name":"auth.loginTokenMigrateTo","description":["Repeat the query to the specified DC"],"fields":{"dc_id":{"description":"DC ID","links":null},"token":{"description":"Token to use for login","links":null}}},"auth.loginTokenSuccess":{"name":"auth.loginTokenSuccess","description":["Login via token (QR code) succeded!"],"fields":{"authorization":{"description":"Authorization info","links":null}}},"auth.passwordRecovery":{"name":"auth.passwordRecovery","description":["Recovery info of a 2FA password¹, only for accounts with a recovery email configured²."],"links":["https://core.telegram.org/api/srp","https://core.telegram.org/api/srp#email-verification"],"fields":{"email_pattern":{"description":"The email to which the recovery code was sent must match this pattern¹.","links":["https://core.telegram.org/api/pattern"]}}},"auth.sentCode":{"name":"auth.sentCode","description":["Contains info about a sent verification code."],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"next_type":{"description":"Phone code type that will be sent next, if the phone code is not received within timeout seconds: to send it use auth.resendCode¹","links":["https://core.telegram.org/method/auth.resendCode"]},"phone_code_hash":{"description":"Phone code hash, to be stored and later re-used with auth.signIn¹","links":["https://core.telegram.org/method/auth.signIn"]},"timeout":{"description":"Timeout for reception of the phone code","links":null},"type":{"description":"Phone code type","links":null}}},"auth.sentCodeTypeApp":{"name":"auth.sentCodeTypeApp","description":["The code was sent through the telegram app"],"fields":{"length":{"description":"Length of the code in bytes","links":null}}},"auth.sentCodeTypeCall":{"name":"auth.sentCodeTypeCall","description":["The code will be sent via a phone call: a synthesized voice will tell the user which verification code to input."],"fields":{"length":{"description":"Length of the verification code","links":null}}},"auth.sentCodeTypeFlashCall":{"name":"auth.sentCodeTypeFlashCall","description":["The code will be sent via a flash phone call, that will be closed immediately. The phone code will then be the phone number itself, just make sure that the phone number matches the specified pattern."],"fields":{"pattern":{"description":"pattern¹ to match","links":["https://core.telegram.org/api/pattern"]}}},"auth.sentCodeTypeSms":{"name":"auth.sentCodeTypeSms","description":["The code was sent via SMS"],"fields":{"length":{"description":"Length of the code in bytes","links":null}}},"authorization":{"name":"authorization","description":["Logged-in session"],"fields":{"api_id":{"description":"API ID¹","links":["https://core.telegram.org/api/obtaining_api_id"]},"app_name":{"description":"App name","links":null},"app_version":{"description":"App version","links":null},"country":{"description":"Country determined from IP","links":null},"current":{"description":"Whether this is the current session","links":null},"date_active":{"description":"When was the session last active","links":null},"date_created":{"description":"When was the session created","links":null},"device_model":{"description":"Device model","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hash":{"description":"Identifier","links":null},"ip":{"description":"Last known IP","links":null},"official_app":{"description":"Whether the session is from an official app","links":null},"password_pending":{"description":"Whether the session is still waiting for a 2FA password","links":null},"platform":{"description":"Platform","links":null},"region":{"description":"Region determined from IP","links":null},"system_version":{"description":"System version","links":null}}},"autoDownloadSettings":{"name":"autoDownloadSettings","description":["Autodownload settings"],"fields":{"audio_preload_next":{"description":"Whether to preload the next audio track when you're listening to music","links":null},"disabled":{"description":"Disable automatic media downloads?","links":null},"file_size_max":{"description":"Maximum size of other files to preload","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"phonecalls_less_data":{"description":"Whether to enable data saving mode in phone calls","links":null},"photo_size_max":{"description":"Maximum size of photos to preload","links":null},"video_preload_large":{"description":"Whether to preload the first seconds of videos larger than the specified limit","links":null},"video_size_max":{"description":"Maximum size of videos to preload","links":null},"video_upload_maxbitrate":{"description":"Maximum suggested bitrate for uploading videos","links":null}}},"bankCardOpenUrl":{"name":"bankCardOpenUrl","description":["Credit card info URL provided by the bank"],"fields":{"name":{"description":"Bank name","links":null},"url":{"description":"Info URL","links":null}}},"baseThemeArctic":{"name":"baseThemeArctic","description":["Arctic theme"]},"baseThemeClassic":{"name":"baseThemeClassic","description":["Classic theme"]},"baseThemeDay":{"name":"baseThemeDay","description":["Day theme"]},"baseThemeNight":{"name":"baseThemeNight","description":["Night theme"]},"baseThemeTinted":{"name":"baseThemeTinted","description":["Tinted theme"]},"boolFalse":{"name":"boolFalse","description":["Constructor may be interpreted as a booleanfalse value."]},"boolTrue":{"name":"boolTrue","description":["The constructor can be interpreted as a booleantrue value."]},"botCommand":{"name":"botCommand","description":["Describes a bot command that can be used in a chat"],"fields":{"command":{"description":"/command name","links":null},"description":{"description":"Description of the command","links":null}}},"botInfo":{"name":"botInfo","description":["Info about bots (available bot commands, etc)"],"fields":{"commands":{"description":"Bot commands that can be used in the chat","links":null},"description":{"description":"Description of the bot","links":null},"user_id":{"description":"ID of the bot","links":null}}},"botInlineMediaResult":{"name":"botInlineMediaResult","description":["Media result"],"fields":{"description":{"description":"Description","links":null},"document":{"description":"If type is document, the document to send","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Result ID","links":null},"photo":{"description":"If type is photo, the photo to send","links":null},"send_message":{"description":"Depending on the type and on the constructor¹, contains the caption of the media or the content of the message to be sent instead of the media","links":["https://core.telegram.org/type/BotInlineMessage"]},"title":{"description":"Result title","links":null},"type":{"description":"Result type (see bot API docs¹)","links":["https://core.telegram.org/bots/api#inlinequeryresult"]}}},"botInlineMessageMediaAuto":{"name":"botInlineMessageMediaAuto","description":["Send whatever media is attached to the botInlineMediaResult¹"],"links":["https://core.telegram.org/constructor/botInlineMediaResult"],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"Caption","links":null},"reply_markup":{"description":"Inline keyboard","links":null}}},"botInlineMessageMediaContact":{"name":"botInlineMessageMediaContact","description":["Send a contact"],"fields":{"first_name":{"description":"First name","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"last_name":{"description":"Last name","links":null},"phone_number":{"description":"Phone number","links":null},"reply_markup":{"description":"Inline keyboard","links":null},"vcard":{"description":"VCard info","links":null}}},"botInlineMessageMediaGeo":{"name":"botInlineMessageMediaGeo","description":["Send a geolocation"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo":{"description":"Geolocation","links":null},"heading":{"description":"For live locations¹, a direction in which the location moves, in degrees; 1-360.","links":["https://core.telegram.org/api/live-location"]},"period":{"description":"Validity period","links":null},"proximity_notification_radius":{"description":"For live locations¹, a maximum distance to another chat member for proximity alerts, in meters (0-100000).","links":["https://core.telegram.org/api/live-location"]},"reply_markup":{"description":"Inline keyboard","links":null}}},"botInlineMessageMediaVenue":{"name":"botInlineMessageMediaVenue","description":["Send a venue"],"fields":{"address":{"description":"Address","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo":{"description":"Geolocation of venue","links":null},"provider":{"description":"Venue provider: currently only \"foursquare\" needs to be supported","links":null},"reply_markup":{"description":"Inline keyboard","links":null},"title":{"description":"Venue name","links":null},"venue_id":{"description":"Venue ID in the provider's database","links":null},"venue_type":{"description":"Venue type in the provider's database","links":null}}},"botInlineMessageText":{"name":"botInlineMessageText","description":["Send a simple text message"],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"The message","links":null},"no_webpage":{"description":"Disable webpage preview","links":null},"reply_markup":{"description":"Inline keyboard","links":null}}},"botInlineResult":{"name":"botInlineResult","description":["Generic result"],"fields":{"content":{"description":"Content of the result","links":null},"description":{"description":"Result description","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Result ID","links":null},"send_message":{"description":"Message to send","links":null},"thumb":{"description":"Thumbnail for the result","links":null},"title":{"description":"Result title","links":null},"type":{"description":"Result type (see bot API docs¹)","links":["https://core.telegram.org/bots/api#inlinequeryresult"]},"url":{"description":"URL of article or webpage","links":null}}},"cdnConfig":{"name":"cdnConfig","description":["Configuration for CDN¹ file downloads."],"links":["https://core.telegram.org/cdn"],"fields":{"public_keys":{"description":"Vector of public keys to use only during handshakes to CDN¹ DCs.","links":["https://core.telegram.org/cdn"]}}},"cdnPublicKey":{"name":"cdnPublicKey","description":["Public key to use only during handshakes to CDN¹ DCs."],"links":["https://core.telegram.org/cdn"],"fields":{"dc_id":{"description":"CDN DC¹ ID","links":["https://core.telegram.org/cdn"]},"public_key":{"description":"RSA public key","links":null}}},"channel":{"name":"channel","description":["Channel/supergroup info"],"fields":{"access_hash":{"description":"Access hash","links":null},"admin_rights":{"description":"Admin rights of the user in this channel (see rights¹)","links":["https://core.telegram.org/api/rights"]},"banned_rights":{"description":"Banned rights of the user in this channel (see rights¹)","links":["https://core.telegram.org/api/rights"]},"broadcast":{"description":"Is this a channel?","links":null},"creator":{"description":"Whether the current user is the creator of this channel","links":null},"date":{"description":"Date when the user joined the supergroup/channel, or if the user isn't a member, its creation date","links":null},"default_banned_rights":{"description":"Default chat rights (see rights¹)","links":["https://core.telegram.org/api/rights"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_geo":{"description":"Whether this chanel has a geoposition","links":null},"has_link":{"description":"Whether this channel has a private join link","links":null},"id":{"description":"ID of the channel","links":null},"left":{"description":"Whether the current user has left this channel","links":null},"megagroup":{"description":"Is this a supergroup?","links":null},"min":{"description":"See min¹","links":["https://core.telegram.org/api/min"]},"participants_count":{"description":"Participant count","links":null},"photo":{"description":"Profile photo","links":null},"restricted":{"description":"Whether viewing/writing in this channel for a reason (see restriction_reason","links":null},"restriction_reason":{"description":"Contains the reason why access to this channel must be restricted.","links":null},"scam":{"description":"This channel/supergroup is probably a scam","links":null},"signatures":{"description":"Whether signatures are enabled (channels)","links":null},"slowmode_enabled":{"description":"Whether slow mode is enabled for groups to prevent flood in chat","links":null},"title":{"description":"Title","links":null},"username":{"description":"Username","links":null},"verified":{"description":"Is this channel verified by telegram?","links":null},"version":{"description":"Version of the channel (always 0)","links":null}}},"channelAdminLogEvent":{"name":"channelAdminLogEvent","description":["Admin log event"],"fields":{"action":{"description":"Action","links":null},"date":{"description":"Date","links":null},"id":{"description":"Event ID","links":null},"user_id":{"description":"User ID","links":null}}},"channelAdminLogEventActionChangeAbout":{"name":"channelAdminLogEventActionChangeAbout","description":["The description was changed"],"fields":{"new_value":{"description":"New description","links":null},"prev_value":{"description":"Previous description","links":null}}},"channelAdminLogEventActionChangeLinkedChat":{"name":"channelAdminLogEventActionChangeLinkedChat","description":["The linked chat was changed"],"fields":{"new_value":{"description":"New linked chat","links":null},"prev_value":{"description":"Previous linked chat","links":null}}},"channelAdminLogEventActionChangeLocation":{"name":"channelAdminLogEventActionChangeLocation","description":["The geogroup location was changed"],"fields":{"new_value":{"description":"New location","links":null},"prev_value":{"description":"Previous location","links":null}}},"channelAdminLogEventActionChangePhoto":{"name":"channelAdminLogEventActionChangePhoto","description":["The channel/supergroup's picture was changed"],"fields":{"new_photo":{"description":"New picture","links":null},"prev_photo":{"description":"Previous picture","links":null}}},"channelAdminLogEventActionChangeStickerSet":{"name":"channelAdminLogEventActionChangeStickerSet","description":["The supergroup's stickerset was changed"],"fields":{"new_stickerset":{"description":"New stickerset","links":null},"prev_stickerset":{"description":"Previous stickerset","links":null}}},"channelAdminLogEventActionChangeTitle":{"name":"channelAdminLogEventActionChangeTitle","description":["Channel/supergroup title was changed"],"fields":{"new_value":{"description":"New title","links":null},"prev_value":{"description":"Previous title","links":null}}},"channelAdminLogEventActionChangeUsername":{"name":"channelAdminLogEventActionChangeUsername","description":["Channel/supergroup username was changed"],"fields":{"new_value":{"description":"New username","links":null},"prev_value":{"description":"Old username","links":null}}},"channelAdminLogEventActionDefaultBannedRights":{"name":"channelAdminLogEventActionDefaultBannedRights","description":["The default banned rights were modified"],"fields":{"new_banned_rights":{"description":"New glboal banned rights¹.","links":["https://core.telegram.org/api/rights"]},"prev_banned_rights":{"description":"Previous global banned rights¹","links":["https://core.telegram.org/api/rights"]}}},"channelAdminLogEventActionDeleteMessage":{"name":"channelAdminLogEventActionDeleteMessage","description":["A message was deleted"],"fields":{"message":{"description":"The message that was deleted","links":null}}},"channelAdminLogEventActionEditMessage":{"name":"channelAdminLogEventActionEditMessage","description":["A message was edited"],"fields":{"new_message":{"description":"New message","links":null},"prev_message":{"description":"Old message","links":null}}},"channelAdminLogEventActionParticipantInvite":{"name":"channelAdminLogEventActionParticipantInvite","description":["A user was invited to the group"],"fields":{"participant":{"description":"The user that was invited","links":null}}},"channelAdminLogEventActionParticipantJoin":{"name":"channelAdminLogEventActionParticipantJoin","description":["A user has joined the group (in the case of big groups, info of the user that has joined isn't shown)"]},"channelAdminLogEventActionParticipantLeave":{"name":"channelAdminLogEventActionParticipantLeave","description":["A user left the channel/supergroup (in the case of big groups, info of the user that has joined isn't shown)"]},"channelAdminLogEventActionParticipantToggleAdmin":{"name":"channelAdminLogEventActionParticipantToggleAdmin","description":["The admin rights¹ of a user were changed"],"links":["https://core.telegram.org/api/rights"],"fields":{"new_participant":{"description":"New admin rights","links":null},"prev_participant":{"description":"Previous admin rights","links":null}}},"channelAdminLogEventActionParticipantToggleBan":{"name":"channelAdminLogEventActionParticipantToggleBan","description":["The banned rights¹ of a user were changed"],"links":["https://core.telegram.org/api/rights"],"fields":{"new_participant":{"description":"New banned rights of user","links":null},"prev_participant":{"description":"Old banned rights of user","links":null}}},"channelAdminLogEventActionStopPoll":{"name":"channelAdminLogEventActionStopPoll","description":["A poll was stopped"],"fields":{"message":{"description":"The poll that was stopped","links":null}}},"channelAdminLogEventActionToggleInvites":{"name":"channelAdminLogEventActionToggleInvites","description":["Invites were enabled/disabled"],"fields":{"new_value":{"description":"New value","links":null}}},"channelAdminLogEventActionTogglePreHistoryHidden":{"name":"channelAdminLogEventActionTogglePreHistoryHidden","description":["The hidden prehistory setting was changed¹"],"links":["https://core.telegram.org/method/channels.togglePreHistoryHidden"],"fields":{"new_value":{"description":"New value","links":null}}},"channelAdminLogEventActionToggleSignatures":{"name":"channelAdminLogEventActionToggleSignatures","description":["Channel signatures were enabled/disabled"],"fields":{"new_value":{"description":"New value","links":null}}},"channelAdminLogEventActionToggleSlowMode":{"name":"channelAdminLogEventActionToggleSlowMode","description":["Slow mode setting for supergroups was changed¹"],"links":["https://core.telegram.org/method/channels.toggleSlowMode"],"fields":{"new_value":{"description":"New slow mode value","links":null},"prev_value":{"description":"Previous slow mode value","links":null}}},"channelAdminLogEventActionUpdatePinned":{"name":"channelAdminLogEventActionUpdatePinned","description":["A message was pinned"],"fields":{"message":{"description":"The message that was pinned","links":null}}},"channelAdminLogEventsFilter":{"name":"channelAdminLogEventsFilter","description":["Filter only certain admin log events"],"fields":{"ban":{"description":"Ban events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleBan"]},"delete":{"description":"Message deletion events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionDeleteMessage"]},"demote":{"description":"Admin demotion events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleAdmin"]},"edit":{"description":"Message edit events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionEditMessage"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"info":{"description":"Info change events (when about¹, linked chat², location³, photo⁴, stickerset⁵, title⁶ or username⁷ data of a channel gets modified)","links":["https://core.telegram.org/constructor/channelAdminLogEventActionChangeAbout","https://core.telegram.org/constructor/channelAdminLogEventActionChangeLinkedChat","https://core.telegram.org/constructor/channelAdminLogEventActionChangeLocation","https://core.telegram.org/constructor/channelAdminLogEventActionChangePhoto","https://core.telegram.org/constructor/channelAdminLogEventActionChangeStickerSet","https://core.telegram.org/constructor/channelAdminLogEventActionChangeTitle","https://core.telegram.org/constructor/channelAdminLogEventActionChangeUsername"]},"invite":{"description":"Invite events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantInvite"]},"join":{"description":"Join events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantJoin"]},"kick":{"description":"Kick events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleBan"]},"leave":{"description":"Leave events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantLeave"]},"pinned":{"description":"Message pin events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionUpdatePinned"]},"promote":{"description":"Admin promotion events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleAdmin"]},"settings":{"description":"Settings change events (invites¹, hidden prehistory², signatures³, default banned rights⁴)","links":["https://core.telegram.org/constructor/channelAdminLogEventActionToggleInvites","https://core.telegram.org/constructor/channelAdminLogEventActionTogglePreHistoryHidden","https://core.telegram.org/constructor/channelAdminLogEventActionToggleSignatures","https://core.telegram.org/constructor/channelAdminLogEventActionDefaultBannedRights"]},"unban":{"description":"Unban events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleBan"]},"unkick":{"description":"Unkick events¹","links":["https://core.telegram.org/constructor/channelAdminLogEventActionParticipantToggleBan"]}}},"channelForbidden":{"name":"channelForbidden","description":["Indicates a channel/supergroup we can't access because we were banned, or for some other reason."],"fields":{"access_hash":{"description":"Access hash","links":null},"broadcast":{"description":"Is this a channel","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Channel ID","links":null},"megagroup":{"description":"Is this a supergroup","links":null},"title":{"description":"Title","links":null},"until_date":{"description":"The ban is valid until the specified date","links":null}}},"channelFull":{"name":"channelFull","description":["Full info about a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"fields":{"about":{"description":"Info about the channel","links":null},"admins_count":{"description":"Number of channel admins","links":null},"available_min_id":{"description":"Identifier of a maximum unavailable message in a channel due to hidden history.","links":null},"banned_count":{"description":"Number of users banned¹ from the channel","links":["https://core.telegram.org/api/rights"]},"blocked":{"description":"Whether any anonymous admin of this supergroup was blocked: if set, you won't receive messages from anonymous group admins in discussion replies via @replies¹","links":["https://core.telegram.org/api/discussion"]},"bot_info":{"description":"Info about bots in the channel/supergrup","links":null},"can_set_location":{"description":"Can we set the geolocation of this group (for geogroups)","links":null},"can_set_stickers":{"description":"Can we associate¹ a stickerpack to the supergroup?","links":["https://core.telegram.org/method/channels.setStickers"]},"can_set_username":{"description":"Can we set the channel's username?","links":null},"can_view_participants":{"description":"Can we vew the participant list?","links":null},"can_view_stats":{"description":"Can the user view channel/supergroup statistics¹","links":["https://core.telegram.org/api/stats"]},"chat_photo":{"description":"Channel picture","links":null},"exported_invite":{"description":"Invite link","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"has_scheduled":{"description":"Whether scheduled messages are available","links":null},"hidden_prehistory":{"description":"Is the history before we joined hidden to us?","links":null},"id":{"description":"ID of the channel","links":null},"kicked_count":{"description":"Number of users kicked¹ from the channel","links":["https://core.telegram.org/api/rights"]},"linked_chat_id":{"description":"ID of the linked discussion chat¹ for channels","links":["https://core.telegram.org/api/discussion"]},"location":{"description":"Location of the geogroup","links":null},"migrated_from_chat_id":{"description":"The chat ID from which this group was migrated¹","links":["https://core.telegram.org/api/channel"]},"migrated_from_max_id":{"description":"The message ID in the original chat at which this group was migrated¹","links":["https://core.telegram.org/api/channel"]},"notify_settings":{"description":"Notification settings","links":null},"online_count":{"description":"Number of users currently online","links":null},"participants_count":{"description":"Number of participants of the channel","links":null},"pinned_msg_id":{"description":"Message ID of the last pinned message¹","links":["https://core.telegram.org/api/pin"]},"pts":{"description":"Latest PTS¹ for this channel","links":["https://core.telegram.org/api/updates"]},"read_inbox_max_id":{"description":"Position up to which all incoming messages are read.","links":null},"read_outbox_max_id":{"description":"Position up to which all outgoing messages are read.","links":null},"slowmode_next_send_date":{"description":"Indicates when the user will be allowed to send another message in the supergroup (unixdate)","links":null},"slowmode_seconds":{"description":"If specified, users in supergroups will only be able to send one message every slowmode_seconds seconds","links":null},"stats_dc":{"description":"If set, specifies the DC to use for fetching channel statistics","links":null},"stickerset":{"description":"Associated stickerset","links":null},"unread_count":{"description":"Count of unread messages","links":null}}},"channelLocation":{"name":"channelLocation","description":["Geographical location of supergroup (geogroups)"],"fields":{"address":{"description":"Textual description of the address","links":null},"geo_point":{"description":"Geographical location of supergrup","links":null}}},"channelLocationEmpty":{"name":"channelLocationEmpty","description":["No location (normal supergroup)"]},"channelMessagesFilter":{"name":"channelMessagesFilter","description":["Filter for getting only certain types of channel messages"],"fields":{"exclude_new_messages":{"description":"Whether to exclude new messages from the search","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"ranges":{"description":"A range of messages to fetch","links":null}}},"channelMessagesFilterEmpty":{"name":"channelMessagesFilterEmpty","description":["No filter"]},"channelParticipant":{"name":"channelParticipant","description":["Channel/supergroup participant"],"fields":{"date":{"description":"Date joined","links":null},"user_id":{"description":"Pariticipant user ID","links":null}}},"channelParticipantAdmin":{"name":"channelParticipantAdmin","description":["Admin"],"fields":{"admin_rights":{"description":"Admin rights¹","links":["https://core.telegram.org/api/rights"]},"can_edit":{"description":"Can this admin promote other admins with the same permissions?","links":null},"date":{"description":"When did the user join","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"inviter_id":{"description":"User that invited the admin to the channel/group","links":null},"promoted_by":{"description":"User that promoted the user to admin","links":null},"rank":{"description":"The role (rank) of the admin in the group: just an arbitrary string, admin by default","links":null},"self":{"description":"Is this the current user","links":null},"user_id":{"description":"Admin user ID","links":null}}},"channelParticipantBanned":{"name":"channelParticipantBanned","description":["Banned/kicked user"],"fields":{"banned_rights":{"description":"Banned rights¹","links":["https://core.telegram.org/api/rights"]},"date":{"description":"When did the user join the group","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"kicked_by":{"description":"User was kicked by the specified admin","links":null},"left":{"description":"Whether the user has left the group","links":null},"user_id":{"description":"User ID","links":null}}},"channelParticipantCreator":{"name":"channelParticipantCreator","description":["Channel/supergroup creator"],"fields":{"admin_rights":{"description":"Creator admin rights","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"rank":{"description":"The role (rank) of the group creator in the group: just an arbitrary string, admin by default","links":null},"user_id":{"description":"User ID","links":null}}},"channelParticipantLeft":{"name":"channelParticipantLeft","description":["A participant that left the channel/supergroup"],"fields":{"user_id":{"description":"User ID","links":null}}},"channelParticipantSelf":{"name":"channelParticipantSelf","description":["Myself"],"fields":{"date":{"description":"When did I join the channel/supergroup","links":null},"inviter_id":{"description":"User that invited me to the channel/supergroup","links":null},"user_id":{"description":"User ID","links":null}}},"channelParticipantsAdmins":{"name":"channelParticipantsAdmins","description":["Fetch only admin participants"]},"channelParticipantsBanned":{"name":"channelParticipantsBanned","description":["Fetch only banned participants"],"fields":{"q":{"description":"Optional filter for searching banned participants by name (otherwise empty)","links":null}}},"channelParticipantsBots":{"name":"channelParticipantsBots","description":["Fetch only bot participants"]},"channelParticipantsContacts":{"name":"channelParticipantsContacts","description":["Fetch only participants that are also contacts"],"fields":{"q":{"description":"Optional search query for searching contact participants by name","links":null}}},"channelParticipantsKicked":{"name":"channelParticipantsKicked","description":["Fetch only kicked participants"],"fields":{"q":{"description":"Optional filter for searching kicked participants by name (otherwise empty)","links":null}}},"channelParticipantsMentions":{"name":"channelParticipantsMentions","description":["This filter is used when looking for supergroup members to mention.","This filter will automatically remove anonymous admins, and return even non-participant users that replied to a specific thread¹ through the comment section² of a channel."],"links":["https://core.telegram.org/api/threads","https://core.telegram.org/api/threads#channel-comments"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"q":{"description":"Filter by user name or username","links":null},"top_msg_id":{"description":"Look only for users that posted in this thread¹","links":["https://core.telegram.org/api/threads"]}}},"channelParticipantsRecent":{"name":"channelParticipantsRecent","description":["Fetch only recent participants"]},"channelParticipantsSearch":{"name":"channelParticipantsSearch","description":["Query participants by name"],"fields":{"q":{"description":"Search query","links":null}}},"channels.adminLogResults":{"name":"channels.adminLogResults","description":["Admin log events"],"fields":{"chats":{"description":"Chats mentioned in events","links":null},"events":{"description":"Admin log events","links":null},"users":{"description":"Users mentioned in events","links":null}}},"channels.channelParticipant":{"name":"channels.channelParticipant","description":["Represents a channel participant"],"fields":{"participant":{"description":"The channel participant","links":null},"users":{"description":"Users","links":null}}},"channels.channelParticipants":{"name":"channels.channelParticipants","description":["Represents multiple channel participants"],"fields":{"count":{"description":"Total number of participants that correspond to the given query","links":null},"participants":{"description":"Participants","links":null},"users":{"description":"Users mentioned in participant info","links":null}}},"channels.channelParticipantsNotModified":{"name":"channels.channelParticipantsNotModified","description":["No new participant info could be found"]},"chat":{"name":"chat","description":["Info about a group"],"fields":{"admin_rights":{"description":"Admin rights¹ of the user in the group","links":["https://core.telegram.org/api/rights"]},"creator":{"description":"Whether the current user is the creator of the group","links":null},"date":{"description":"Date of creation of the group","links":null},"deactivated":{"description":"Whether the group was migrated¹","links":["https://core.telegram.org/api/channel"]},"default_banned_rights":{"description":"Default banned rights¹ of all users in the group","links":["https://core.telegram.org/api/rights"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the group","links":null},"kicked":{"description":"Whether the current user was kicked from the group","links":null},"left":{"description":"Whether the current user has left the group","links":null},"migrated_to":{"description":"Means this chat was upgraded¹ to a supergroup","links":["https://core.telegram.org/api/channel"]},"participants_count":{"description":"Participant count","links":null},"photo":{"description":"Chat photo","links":null},"title":{"description":"Title","links":null},"version":{"description":"Used in basic groups to reorder updates and make sure that all of them were received.","links":null}}},"chatAdminRights":{"name":"chatAdminRights","description":["Represents the rights of an admin in a channel/supergroup¹."],"links":["https://core.telegram.org/api/channel"],"fields":{"add_admins":{"description":"If set, allows the admin to add other admins with the same (or more limited) permissions in the channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"anonymous":{"description":"Whether this admin is anonymous","links":null},"ban_users":{"description":"If set, allows the admin to ban users from the channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"change_info":{"description":"If set, allows the admin to modify the description of the channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"delete_messages":{"description":"If set, allows the admin to also delete messages from other admins in the channel¹","links":["https://core.telegram.org/api/channel"]},"edit_messages":{"description":"If set, allows the admin to also edit messages from other admins in the channel¹","links":["https://core.telegram.org/api/channel"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"invite_users":{"description":"If set, allows the admin to invite users in the channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"pin_messages":{"description":"If set, allows the admin to pin messages in the channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"post_messages":{"description":"If set, allows the admin to post messages in the channel¹","links":["https://core.telegram.org/api/channel"]}}},"chatBannedRights":{"name":"chatBannedRights","description":["Represents the rights of a normal user in a supergroup/channel/chat¹. In this case, the flags are inverted: if set, a flag does not allow a user to do X."],"links":["https://core.telegram.org/api/channel"],"fields":{"change_info":{"description":"If set, does not allow any user to change the description of a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"embed_links":{"description":"If set, does not allow a user to embed links in the messages of a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"invite_users":{"description":"If set, does not allow any user to invite users in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"pin_messages":{"description":"If set, does not allow any user to pin messages in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_games":{"description":"If set, does not allow a user to send games in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_gifs":{"description":"If set, does not allow a user to send gifs in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_inline":{"description":"If set, does not allow a user to use inline bots in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_media":{"description":"If set, does not allow a user to send any media in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_messages":{"description":"If set, does not allow a user to send messages in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_polls":{"description":"If set, does not allow a user to send stickers in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"send_stickers":{"description":"If set, does not allow a user to send stickers in a supergroup/chat¹","links":["https://core.telegram.org/api/channel"]},"until_date":{"description":"Validity of said permissions (it is considered forever any value less then 30 seconds or more then 366 days).","links":null},"view_messages":{"description":"If set, does not allow a user to view messages in a supergroup/channel/chat¹","links":["https://core.telegram.org/api/channel"]}}},"chatEmpty":{"name":"chatEmpty","description":["Empty constructor, group doesn't exist"],"fields":{"id":{"description":"Group identifier","links":null}}},"chatForbidden":{"name":"chatForbidden","description":["A group to which the user has no access. E.g., because the user was kicked from the group."],"fields":{"id":{"description":"User identifier","links":null},"title":{"description":"Group name","links":null}}},"chatFull":{"name":"chatFull","description":["Detailed chat info"],"fields":{"about":{"description":"About string for this chat","links":null},"bot_info":{"description":"Info about bots that are in this chat","links":null},"can_set_username":{"description":"Can we change the username of this chat","links":null},"chat_photo":{"description":"Chat photo","links":null},"exported_invite":{"description":"Chat invite","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"has_scheduled":{"description":"Whether scheduled messages¹ are available","links":["https://core.telegram.org/api/scheduled-messages"]},"id":{"description":"ID of the chat","links":null},"notify_settings":{"description":"Notification settings","links":null},"participants":{"description":"Participant list","links":null},"pinned_msg_id":{"description":"Message ID of the last pinned message¹","links":["https://core.telegram.org/api/pin"]}}},"chatInvite":{"name":"chatInvite","description":["Chat invite info"],"fields":{"broadcast":{"description":"Whether this is a channel¹","links":["https://core.telegram.org/api/channel"]},"channel":{"description":"Whether this is a channel/supergroup¹ or a normal group²","links":["https://core.telegram.org/api/channel","https://core.telegram.org/api/channel"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"megagroup":{"description":"Whether this is a supergroup¹","links":["https://core.telegram.org/api/channel"]},"participants":{"description":"A few of the participants that are in the group","links":null},"participants_count":{"description":"Participant count","links":null},"photo":{"description":"Chat/supergroup/channel photo","links":null},"public":{"description":"Whether this is a public channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"title":{"description":"Chat/supergroup/channel title","links":null}}},"chatInviteAlready":{"name":"chatInviteAlready","description":["The user has already joined this chat"],"fields":{"chat":{"description":"The chat connected to the invite","links":null}}},"chatInviteEmpty":{"name":"chatInviteEmpty","description":["No info is associated to the chat invite"]},"chatInviteExported":{"name":"chatInviteExported","description":["Exported chat invite"],"fields":{"link":{"description":"Chat invitation link","links":null}}},"chatInvitePeek":{"name":"chatInvitePeek","description":["A chat invitation that also allows peeking into the group to read messages without joining it."],"fields":{"chat":{"description":"Chat information","links":null},"expires":{"description":"Read-only anonymous access to this group will be revoked at this date","links":null}}},"chatOnlines":{"name":"chatOnlines","description":["Number of online users in a chat"],"fields":{"onlines":{"description":"Number of online users","links":null}}},"chatParticipant":{"name":"chatParticipant","description":["Group member."],"fields":{"date":{"description":"Date added to the group","links":null},"inviter_id":{"description":"ID of the user that added the member to the group","links":null},"user_id":{"description":"Member user ID","links":null}}},"chatParticipantAdmin":{"name":"chatParticipantAdmin","description":["Chat admin"],"fields":{"date":{"description":"Date when the user was added","links":null},"inviter_id":{"description":"ID of the user that added the member to the group","links":null},"user_id":{"description":"ID of a group member that is admin","links":null}}},"chatParticipantCreator":{"name":"chatParticipantCreator","description":["Represents the creator of the group"],"fields":{"user_id":{"description":"ID of the user that created the group","links":null}}},"chatParticipants":{"name":"chatParticipants","description":["Group members."],"fields":{"chat_id":{"description":"Group identifier","links":null},"participants":{"description":"List of group members","links":null},"version":{"description":"Group version number","links":null}}},"chatParticipantsForbidden":{"name":"chatParticipantsForbidden","description":["Info on members is unavailable"],"fields":{"chat_id":{"description":"Group ID","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"self_participant":{"description":"Info about the group membership of the current user","links":null}}},"chatPhoto":{"name":"chatPhoto","description":["Group profile photo."],"fields":{"dc_id":{"description":"DC where this photo is stored","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_video":{"description":"Whether the user has an animated profile picture","links":null},"photo_big":{"description":"Location of the file corresponding to the small thumbnail for group profile photo","links":null},"photo_small":{"description":"Location of the file corresponding to the small thumbnail for group profile photo","links":null}}},"chatPhotoEmpty":{"name":"chatPhotoEmpty","description":["Group photo is not set."]},"codeSettings":{"name":"codeSettings","description":["Settings used by telegram servers for sending the confirm code.","Example implementations: telegram for android¹, tdlib²."],"links":["https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java","https://github.com/tdlib/td/tree/master/td/telegram/SendCodeHelper.cpp"],"fields":{"allow_app_hash":{"description":"If a token that will be included in eventually sent SMSs is required: required in newer versions of android, to use the android SMS receiver APIs¹","links":["https://developers.google.com/identity/sms-retriever/overview"]},"allow_flashcall":{"description":"Whether to allow phone verification via phone calls¹.","links":["https://core.telegram.org/api/auth"]},"current_number":{"description":"Pass true if the phone number is used on the current device. Ignored if allow_flashcall is not set.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"config":{"name":"config","description":["Current configuration"],"fields":{"autoupdate_url_prefix":{"description":"URL to use to auto-update the current app","links":null},"base_lang_pack_version":{"description":"Basic language pack version","links":null},"blocked_mode":{"description":"Indicates that telegram is probably censored by governments/ISPs in the current region","links":null},"call_connect_timeout_ms":{"description":"VoIP connection timeout: if the instance of libtgvoip on the other side of the call doesn't connect to our instance of libtgvoip within the specified time (in milliseconds), the call must be aborted","links":null},"call_packet_timeout_ms":{"description":"If during a VoIP call a packet isn't received for the specified period of time, the call must be aborted","links":null},"call_receive_timeout_ms":{"description":"Maximum allowed outgoing ring time in VoIP calls: if the user we're calling doesn't reply within the specified time (in milliseconds), we should hang up the call","links":null},"call_ring_timeout_ms":{"description":"Maximum allowed incoming ring time in VoIP calls: if the current user doesn't reply within the specified time (in milliseconds), the call will be automatically refused","links":null},"caption_length_max":{"description":"Maximum length of caption (length in utf8 codepoints)","links":null},"channels_read_media_period":{"description":"Indicates that round videos (video notes) and voice messages sent in channels and older than the specified period must be marked as read","links":null},"chat_size_max":{"description":"Maximum member count for normal groups¹","links":["https://core.telegram.org/api/channel"]},"date":{"description":"Current date at the server","links":null},"dc_options":{"description":"DC IP list","links":null},"dc_txt_domain_name":{"description":"Domain name for fetching encrypted DC list from DNS TXT record","links":null},"default_p2p_contacts":{"description":"Whether the client should use P2P by default for phone calls with contacts","links":null},"edit_time_limit":{"description":"Only messages with age smaller than the one specified can be edited","links":null},"expires":{"description":"Expiration date of this config: when it expires it'll have to be refetched using help.getConfig¹","links":["https://core.telegram.org/method/help.getConfig"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"forwarded_count_max":{"description":"Maximum number of messages that can be forwarded at once using messages.forwardMessages¹.","links":["https://core.telegram.org/method/messages.forwardMessages"]},"gif_search_username":{"description":"Username of the bot to use to search for GIFs","links":null},"ignore_phone_entities":{"description":"Whether the client should ignore phone entities¹","links":["https://core.telegram.org/api/entities"]},"img_search_username":{"description":"Username of the bot to use for image search","links":null},"lang_pack_version":{"description":"Language pack version","links":null},"me_url_prefix":{"description":"The domain to use to parse in-app links.For example t.me indicates that t.me/username links should parsed to @username, t.me/addsticker/name should be parsed to the appropriate stickerset and so on...","links":null},"megagroup_size_max":{"description":"Maximum member count for supergroups¹","links":["https://core.telegram.org/api/channel"]},"message_length_max":{"description":"Maximum length of messages (length in utf8 codepoints)","links":null},"notify_cloud_delay_ms":{"description":"If we are offline, but online from some other client then delay sending the offline notification for notify_cloud_delay_ms milliseconds.","links":null},"notify_default_delay_ms":{"description":"If some other client is online, then delay notification for notification_default_delay_ms milliseconds","links":null},"offline_blur_timeout_ms":{"description":"Delay before offline status needs to be sent to the server","links":null},"offline_idle_timeout_ms":{"description":"Time without any user activity after which it should be treated offline","links":null},"online_cloud_timeout_ms":{"description":"If we are offline, but were online from some other client in last online_cloud_timeout_ms milliseconds after we had gone offline, then delay offline notification for notify_cloud_delay_ms milliseconds.","links":null},"online_update_period_ms":{"description":"The client should update its online status¹ every N milliseconds","links":["https://core.telegram.org/method/account.updateStatus"]},"pfs_enabled":{"description":"Whether pfs¹ was used","links":["https://core.telegram.org/api/pfs"]},"phonecalls_enabled":{"description":"Whether phone calls can be used","links":null},"pinned_dialogs_count_max":{"description":"Maximum count of pinned dialogs","links":null},"pinned_infolder_count_max":{"description":"Maximum count of dialogs per folder","links":null},"preload_featured_stickers":{"description":"Whether the client should preload featured stickers","links":null},"push_chat_limit":{"description":"Not for client use","links":null},"push_chat_period_ms":{"description":"Not for client use","links":null},"rating_e_decay":{"description":"Exponential decay rate for computing top peer rating¹","links":["https://core.telegram.org/api/top-rating"]},"revoke_pm_inbox":{"description":"Whether incoming private messages can be deleted for both participants","links":null},"revoke_pm_time_limit":{"description":"Only private messages with age smaller than the specified can be deleted","links":null},"revoke_time_limit":{"description":"Only channel/supergroup messages with age smaller than the specified can be deleted","links":null},"saved_gifs_limit":{"description":"Maximum count of saved gifs","links":null},"static_maps_provider":{"description":"ID of the map provider to use for venues","links":null},"stickers_faved_limit":{"description":"Maximum number of faved stickers","links":null},"stickers_recent_limit":{"description":"Maximum number of recent stickers","links":null},"suggested_lang_code":{"description":"Suggested language code","links":null},"test_mode":{"description":"Whether we're connected to the test DCs","links":null},"this_dc":{"description":"ID of the DC that returned the reply","links":null},"tmp_sessions":{"description":"Temporary passport¹ sessions","links":["https://core.telegram.org/passport"]},"venue_search_username":{"description":"Username of the bot to use to search for venues","links":null},"webfile_dc_id":{"description":"DC ID to use to download webfiles¹","links":["https://core.telegram.org/api/files"]}}},"contact":{"name":"contact","description":["A contact of the current user that is registered in the system."],"fields":{"mutual":{"description":"Current user is in the user's contact list","links":null},"user_id":{"description":"User identifier","links":null}}},"contactStatus":{"name":"contactStatus","description":["Contact status: online / offline."],"fields":{"status":{"description":"Online status","links":null},"user_id":{"description":"User identifier","links":null}}},"contacts.blocked":{"name":"contacts.blocked","description":["Full list of blocked users."],"fields":{"blocked":{"description":"List of blocked users","links":null},"chats":{"description":"Blocked chats","links":null},"users":{"description":"List of users","links":null}}},"contacts.blockedSlice":{"name":"contacts.blockedSlice","description":["Incomplete list of blocked users."],"fields":{"blocked":{"description":"List of blocked users","links":null},"chats":{"description":"Blocked chats","links":null},"count":{"description":"Total number of elements in the list","links":null},"users":{"description":"List of users","links":null}}},"contacts.contacts":{"name":"contacts.contacts","description":["The current user's contact list and info on users."],"fields":{"contacts":{"description":"Contact list","links":null},"saved_count":{"description":"Number of contacts that were saved successfully","links":null},"users":{"description":"User list","links":null}}},"contacts.contactsNotModified":{"name":"contacts.contactsNotModified","description":["Contact list on the server is the same as the list on the client."]},"contacts.found":{"name":"contacts.found","description":["Users found by name substring and auxiliary data."],"fields":{"chats":{"description":"Found chats","links":null},"my_results":{"description":"Personalized results","links":null},"results":{"description":"List of found user identifiers","links":null},"users":{"description":"List of users","links":null}}},"contacts.importedContacts":{"name":"contacts.importedContacts","description":["Info on succesfully imported contacts."],"fields":{"imported":{"description":"List of succesfully imported contacts","links":null},"popular_invites":{"description":"Popular contacts","links":null},"retry_contacts":{"description":"List of contact ids that could not be imported due to system limitation and will need to be imported at a later date.Parameter added in Layer 13¹","links":["https://core.telegram.org/api/layers#layer-13"]},"users":{"description":"List of users","links":null}}},"contacts.resolvedPeer":{"name":"contacts.resolvedPeer","description":["Resolved peer"],"fields":{"chats":{"description":"Chats","links":null},"peer":{"description":"The peer","links":null},"users":{"description":"Users","links":null}}},"contacts.topPeers":{"name":"contacts.topPeers","description":["Top peers"],"fields":{"categories":{"description":"Top peers by top peer category","links":null},"chats":{"description":"Chats","links":null},"users":{"description":"Users","links":null}}},"contacts.topPeersDisabled":{"name":"contacts.topPeersDisabled","description":["Top peers disabled"]},"contacts.topPeersNotModified":{"name":"contacts.topPeersNotModified","description":["Top peer info hasn't changed"]},"dataJSON":{"name":"dataJSON","description":["Represents a json-encoded object"],"fields":{"data":{"description":"JSON-encoded object","links":null}}},"dcOption":{"name":"dcOption","description":["Data centre"],"fields":{"cdn":{"description":"Whether this is a CDN DC¹.","links":["https://core.telegram.org/cdn"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"DC ID","links":null},"ip_address":{"description":"IP address of DC","links":null},"ipv6":{"description":"Whether the specified IP is an IPv6 address","links":null},"media_only":{"description":"Whether this DC should only be used to download or upload files¹","links":["https://core.telegram.org/api/files"]},"port":{"description":"Port","links":null},"secret":{"description":"If the tcpo_only flag is set, specifies the secret to use when connecting using transport obfuscation¹","links":["https://core.telegram.org/mtproto/mtproto-transports#transport-obfuscation"]},"static":{"description":"If set, this IP should be used when connecting through a proxy","links":null},"tcpo_only":{"description":"Whether this DC only supports connection with transport obfuscation¹","links":["https://core.telegram.org/mtproto/mtproto-transports#transport-obfuscation"]}}},"dialog":{"name":"dialog","description":["Chat"],"fields":{"draft":{"description":"Message draft","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"notify_settings":{"description":"Notification settings","links":null},"peer":{"description":"The chat","links":null},"pinned":{"description":"Is the dialog pinned","links":null},"pts":{"description":"PTS¹","links":["https://core.telegram.org/api/updates"]},"read_inbox_max_id":{"description":"Position up to which all incoming messages are read.","links":null},"read_outbox_max_id":{"description":"Position up to which all outgoing messages are read.","links":null},"top_message":{"description":"The latest message ID","links":null},"unread_count":{"description":"Number of unread messages","links":null},"unread_mark":{"description":"Whether the chat was manually marked as unread","links":null},"unread_mentions_count":{"description":"Number of unread mentions¹","links":["https://core.telegram.org/api/mentions"]}}},"dialogFilter":{"name":"dialogFilter","description":["Dialog filter AKA folder¹"],"links":["https://core.telegram.org/api/folders"],"fields":{"bots":{"description":"Whether to include all bots in this folder¹","links":["https://core.telegram.org/api/folders"]},"broadcasts":{"description":"Whether to include all channels in this folder¹","links":["https://core.telegram.org/api/folders"]},"contacts":{"description":"Whether to include all contacts in this folder¹","links":["https://core.telegram.org/api/folders"]},"emoticon":{"description":"Folder¹ emoticon","links":["https://core.telegram.org/api/folders"]},"exclude_archived":{"description":"Whether to exclude archived chats from this folder¹","links":["https://core.telegram.org/api/folders"]},"exclude_muted":{"description":"Whether to exclude muted chats from this folder¹","links":["https://core.telegram.org/api/folders"]},"exclude_peers":{"description":"Exclude the following chats from this folder¹","links":["https://core.telegram.org/api/folders"]},"exclude_read":{"description":"Whether to exclude read chats from this folder¹","links":["https://core.telegram.org/api/folders"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"groups":{"description":"Whether to include all groups in this folder¹","links":["https://core.telegram.org/api/folders"]},"id":{"description":"Folder¹ ID","links":["https://core.telegram.org/api/folders"]},"include_peers":{"description":"Include the following chats in this folder¹","links":["https://core.telegram.org/api/folders"]},"non_contacts":{"description":"Whether to include all non-contacts in this folder¹","links":["https://core.telegram.org/api/folders"]},"pinned_peers":{"description":"Pinned chats, folders¹ can have unlimited pinned chats","links":["https://core.telegram.org/api/folders"]},"title":{"description":"Folder¹ name","links":["https://core.telegram.org/api/folders"]}}},"dialogFilterSuggested":{"name":"dialogFilterSuggested","description":["Suggested folders¹"],"links":["https://core.telegram.org/api/folders"],"fields":{"description":{"description":"Folder¹ description","links":["https://core.telegram.org/api/folders"]},"filter":{"description":"Folder info¹","links":["https://core.telegram.org/api/folders"]}}},"dialogFolder":{"name":"dialogFolder","description":["Dialog in folder"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder":{"description":"The folder","links":null},"peer":{"description":"Peer in folder","links":null},"pinned":{"description":"Is this folder pinned","links":null},"top_message":{"description":"Latest message ID of dialog","links":null},"unread_muted_messages_count":{"description":"Number of unread messages from muted peers in folder","links":null},"unread_muted_peers_count":{"description":"Number of unread muted peers in folder","links":null},"unread_unmuted_messages_count":{"description":"Number of unread messages from unmuted peers in folder","links":null},"unread_unmuted_peers_count":{"description":"Number of unread unmuted peers in folder","links":null}}},"dialogPeer":{"name":"dialogPeer","description":["Peer"],"fields":{"peer":{"description":"Peer","links":null}}},"dialogPeerFolder":{"name":"dialogPeerFolder","description":["Peer folder¹"],"links":["https://core.telegram.org/api/folders#peer-folders"],"fields":{"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]}}},"document":{"name":"document","description":["Document"],"fields":{"access_hash":{"description":"Check sum, dependant on document ID","links":null},"attributes":{"description":"Attributes","links":null},"date":{"description":"Creation date","links":null},"dc_id":{"description":"DC ID","links":null},"file_reference":{"description":"File reference¹","links":["https://core.telegram.org/api/file_reference"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Document ID","links":null},"mime_type":{"description":"MIME type","links":null},"size":{"description":"Size","links":null},"thumbs":{"description":"Thumbnails","links":null},"video_thumbs":{"description":"Video thumbnails","links":null}}},"documentAttributeAnimated":{"name":"documentAttributeAnimated","description":["Defines an animated GIF"]},"documentAttributeAudio":{"name":"documentAttributeAudio","description":["Represents an audio file"],"fields":{"duration":{"description":"Duration in seconds","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"performer":{"description":"Performer","links":null},"title":{"description":"Name of song","links":null},"voice":{"description":"Whether this is a voice message","links":null},"waveform":{"description":"Waveform","links":null}}},"documentAttributeFilename":{"name":"documentAttributeFilename","description":["A simple document with a file name"],"fields":{"file_name":{"description":"The file name","links":null}}},"documentAttributeHasStickers":{"name":"documentAttributeHasStickers","description":["Whether the current document has stickers attached"]},"documentAttributeImageSize":{"name":"documentAttributeImageSize","description":["Defines the width and height of an image uploaded as document"],"fields":{"h":{"description":"Height of image","links":null},"w":{"description":"Width of image","links":null}}},"documentAttributeSticker":{"name":"documentAttributeSticker","description":["Defines a sticker"],"fields":{"alt":{"description":"Alternative emoji representation of sticker","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"mask":{"description":"Whether this is a mask sticker","links":null},"mask_coords":{"description":"Mask coordinates (if this is a mask sticker, attached to a photo)","links":null},"stickerset":{"description":"Associated stickerset","links":null}}},"documentAttributeVideo":{"name":"documentAttributeVideo","description":["Defines a video"],"fields":{"duration":{"description":"Duration in seconds","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"h":{"description":"Video height","links":null},"round_message":{"description":"Whether this is a round video","links":null},"supports_streaming":{"description":"Whether the video supports streaming","links":null},"w":{"description":"Video width","links":null}}},"documentEmpty":{"name":"documentEmpty","description":["Empty constructor, document doesn't exist."],"fields":{"id":{"description":"Document ID or 0","links":null}}},"draftMessage":{"name":"draftMessage","description":["Represents a message draft¹."],"links":["https://core.telegram.org/api/drafts"],"fields":{"date":{"description":"Date of last update of the draft.","links":null},"entities":{"description":"Message entities¹ for styled text.","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"The draft","links":null},"no_webpage":{"description":"Whether no webpage preview will be generated","links":null},"reply_to_msg_id":{"description":"The message this message will reply to","links":null}}},"draftMessageEmpty":{"name":"draftMessageEmpty","description":["Empty draft"],"fields":{"date":{"description":"When was the draft last updated","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"emojiKeyword":{"name":"emojiKeyword","description":["Emoji keyword"],"fields":{"emoticons":{"description":"Emojis associated to keyword","links":null},"keyword":{"description":"Keyword","links":null}}},"emojiKeywordDeleted":{"name":"emojiKeywordDeleted","description":["Deleted emoji keyword"],"fields":{"emoticons":{"description":"Emojis that were associated to keyword","links":null},"keyword":{"description":"Keyword","links":null}}},"emojiKeywordsDifference":{"name":"emojiKeywordsDifference","description":["Changes to emoji keywords"],"fields":{"from_version":{"description":"Previous emoji keyword list version","links":null},"keywords":{"description":"Emojis associated to keywords","links":null},"lang_code":{"description":"Language code for keywords","links":null},"version":{"description":"Current version of emoji keyword list","links":null}}},"emojiLanguage":{"name":"emojiLanguage","description":["Emoji language"],"fields":{"lang_code":{"description":"Language code","links":null}}},"emojiURL":{"name":"emojiURL","description":["An HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation"],"fields":{"url":{"description":"An HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation","links":null}}},"encryptedChat":{"name":"encryptedChat","description":["Encrypted chat"],"fields":{"access_hash":{"description":"Check sum dependant on the user ID","links":null},"admin_id":{"description":"Chat creator ID","links":null},"date":{"description":"Date chat was created","links":null},"g_a_or_b":{"description":"B = g ^ b mod p, if the currently authorized user is the chat's creator,or A = g ^ a mod p otherwiseSee Wikipedia¹ for more info","links":["https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange"]},"id":{"description":"Chat ID","links":null},"key_fingerprint":{"description":"64-bit fingerprint of received key","links":null},"participant_id":{"description":"ID of the second chat participant","links":null}}},"encryptedChatDiscarded":{"name":"encryptedChatDiscarded","description":["Discarded or deleted chat."],"fields":{"id":{"description":"Chat ID","links":null}}},"encryptedChatEmpty":{"name":"encryptedChatEmpty","description":["Empty constructor."],"fields":{"id":{"description":"Chat ID","links":null}}},"encryptedChatRequested":{"name":"encryptedChatRequested","description":["Request to create an encrypted chat."],"fields":{"access_hash":{"description":"Check sum depending on user ID","links":null},"admin_id":{"description":"Chat creator ID","links":null},"date":{"description":"Chat creation date","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"g_a":{"description":"A = g ^ a mod p, see Wikipedia¹","links":["https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange"]},"id":{"description":"Chat ID","links":null},"participant_id":{"description":"ID of second chat participant","links":null}}},"encryptedChatWaiting":{"name":"encryptedChatWaiting","description":["Chat waiting for approval of second participant."],"fields":{"access_hash":{"description":"Checking sum depending on user ID","links":null},"admin_id":{"description":"Chat creator ID","links":null},"date":{"description":"Date of chat creation","links":null},"id":{"description":"Chat ID","links":null},"participant_id":{"description":"ID of second chat participant","links":null}}},"encryptedFile":{"name":"encryptedFile","description":["Encrypted file."],"fields":{"access_hash":{"description":"Checking sum depending on user ID","links":null},"dc_id":{"description":"Number of data centre","links":null},"id":{"description":"File ID","links":null},"key_fingerprint":{"description":"32-bit fingerprint of key used for file encryption","links":null},"size":{"description":"File size in bytes","links":null}}},"encryptedFileEmpty":{"name":"encryptedFileEmpty","description":["Empty constructor, unexisitng file."]},"encryptedMessage":{"name":"encryptedMessage","description":["Encrypted message."],"fields":{"bytes":{"description":"TL-serialising of DecryptedMessage¹ type, encrypted with the key creatied at stage of chat initialization","links":["https://core.telegram.org/type/DecryptedMessage"]},"chat_id":{"description":"ID of encrypted chat","links":null},"date":{"description":"Date of sending","links":null},"file":{"description":"Attached encrypted file","links":null},"random_id":{"description":"Random message ID, assigned by the author of message","links":null}}},"encryptedMessageService":{"name":"encryptedMessageService","description":["Encrypted service message"],"fields":{"bytes":{"description":"TL-serialising of DecryptedMessage¹ type, encrypted with the key creatied at stage of chat initialization","links":["https://core.telegram.org/type/DecryptedMessage"]},"chat_id":{"description":"ID of encrypted chat","links":null},"date":{"description":"Date of sending","links":null},"random_id":{"description":"Random message ID, assigned by the author of message","links":null}}},"error":{"name":"error","description":["Error."],"fields":{"code":{"description":"Error code","links":null},"text":{"description":"Message","links":null}}},"exportedMessageLink":{"name":"exportedMessageLink","description":["Link to a message in a supergroup/channel"],"fields":{"html":{"description":"Embed code","links":null},"link":{"description":"URL","links":null}}},"fileLocationToBeDeprecated":{"name":"fileLocationToBeDeprecated","description":["Indicates the location of a photo, will be deprecated soon"],"fields":{"local_id":{"description":"Local ID","links":null},"volume_id":{"description":"Volume ID","links":null}}},"folder":{"name":"folder","description":["Folder"],"fields":{"autofill_new_broadcasts":{"description":"Automatically add new channels to this folder","links":null},"autofill_new_correspondents":{"description":"Automatically add new private chats to this folder","links":null},"autofill_public_groups":{"description":"Automatically add joined new public supergroups to this folder","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Folder ID","links":null},"photo":{"description":"Folder picture","links":null},"title":{"description":"Folder title","links":null}}},"folderPeer":{"name":"folderPeer","description":["Peer in a folder"],"fields":{"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"peer":{"description":"Folder peer info","links":null}}},"game":{"name":"game","description":["Indicates an already sent game"],"fields":{"access_hash":{"description":"Access hash of the game","links":null},"description":{"description":"Game description","links":null},"document":{"description":"Optional attached document","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the game","links":null},"photo":{"description":"Game preview","links":null},"short_name":{"description":"Short name for the game","links":null},"title":{"description":"Title of the game","links":null}}},"geoPoint":{"name":"geoPoint","description":["GeoPoint."],"fields":{"access_hash":{"description":"Access hash","links":null},"accuracy_radius":{"description":"The estimated horizontal accuracy of the location, in meters; as defined by the sender.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"lat":{"description":"Latitude","links":null},"long":{"description":"Longtitude","links":null}}},"geoPointEmpty":{"name":"geoPointEmpty","description":["Empty constructor."]},"globalPrivacySettings":{"name":"globalPrivacySettings","description":["Global privacy settings"],"fields":{"archive_and_mute_new_noncontact_peers":{"description":"Whether to archive and mute new chats from non-contacts","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"help.appUpdate":{"name":"help.appUpdate","description":["An update is available for the application."],"fields":{"can_not_skip":{"description":"Unskippable, the new info must be shown to the user (with a popup or something else)","links":null},"document":{"description":"Application binary","links":null},"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Update ID","links":null},"text":{"description":"Text description of the update","links":null},"url":{"description":"Application download URL","links":null},"version":{"description":"New version name","links":null}}},"help.countriesList":{"name":"help.countriesList","description":["Name, ISO code, localized name and phone codes/patterns of all available countries"],"fields":{"countries":{"description":"Name, ISO code, localized name and phone codes/patterns of all available countries","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"help.countriesListNotModified":{"name":"help.countriesListNotModified","description":["The country list has not changed"]},"help.country":{"name":"help.country","description":["Name, ISO code, localized name and phone codes/patterns of a specific country"],"fields":{"country_codes":{"description":"Phone codes/patterns","links":null},"default_name":{"description":"Name of the country in the country's language","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hidden":{"description":"Whether this country should not be shown in the list","links":null},"iso2":{"description":"ISO code of country","links":null},"name":{"description":"Name of the country in the user's language, if different from the original name","links":null}}},"help.countryCode":{"name":"help.countryCode","description":["Country code and phone number pattern of a specific country"],"fields":{"country_code":{"description":"ISO country code","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"patterns":{"description":"Phone patterns: for example, XXX XXX XXX","links":null},"prefixes":{"description":"Possible phone prefixes","links":null}}},"help.deepLinkInfo":{"name":"help.deepLinkInfo","description":["Deep linking info"],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"Message to show to the user","links":null},"update_app":{"description":"An update of the app is required to parse this link","links":null}}},"help.deepLinkInfoEmpty":{"name":"help.deepLinkInfoEmpty","description":["Deep link info empty"]},"help.inviteText":{"name":"help.inviteText","description":["Text of a text message with an invitation to install Telegram."],"fields":{"message":{"description":"Text of the message","links":null}}},"help.noAppUpdate":{"name":"help.noAppUpdate","description":["No updates are available for the application."]},"help.passportConfig":{"name":"help.passportConfig","description":["Telegram passport¹ configuration"],"links":["https://core.telegram.org/passport"],"fields":{"countries_langs":{"description":"Localization","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"help.passportConfigNotModified":{"name":"help.passportConfigNotModified","description":["Password configuration not modified"]},"help.promoData":{"name":"help.promoData","description":["MTProxy/Public Service Announcement information"],"fields":{"chats":{"description":"Chat info","links":null},"expires":{"description":"Expiry of PSA/MTProxy info","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"MTProxy/PSA peer","links":null},"proxy":{"description":"MTProxy-related channel","links":null},"psa_message":{"description":"PSA message","links":null},"psa_type":{"description":"PSA type","links":null},"users":{"description":"User info","links":null}}},"help.promoDataEmpty":{"name":"help.promoDataEmpty","description":["No PSA/MTProxy info is available"],"fields":{"expires":{"description":"Re-fetch PSA/MTProxy info after the specified number of seconds","links":null}}},"help.recentMeUrls":{"name":"help.recentMeUrls","description":["Recent t.me URLs"],"fields":{"chats":{"description":"Chats","links":null},"urls":{"description":"URLs","links":null},"users":{"description":"Users","links":null}}},"help.support":{"name":"help.support","description":["Info on support user."],"fields":{"phone_number":{"description":"Phone number","links":null},"user":{"description":"User","links":null}}},"help.supportName":{"name":"help.supportName","description":["Localized name for telegram support"],"fields":{"name":{"description":"Localized name","links":null}}},"help.termsOfService":{"name":"help.termsOfService","description":["Info about the latest telegram Terms Of Service"],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the new terms","links":null},"min_age_confirm":{"description":"Minimum age required to sign up to telegram, the user must confirm that they is older than the minimum age.","links":null},"popup":{"description":"Whether a prompt must be showed to the user, in order to accept the new terms.","links":null},"text":{"description":"Text of the new terms","links":null}}},"help.termsOfServiceUpdate":{"name":"help.termsOfServiceUpdate","description":["Info about an update of telegram's terms of service. If the terms of service are declined, then the account.deleteAccount¹ method should be called with the reason \"Decline ToS update\""],"links":["https://core.telegram.org/method/account.deleteAccount"],"fields":{"expires":{"description":"New TOS updates will have to be queried using help.getTermsOfServiceUpdate¹ in expires seconds","links":["https://core.telegram.org/method/help.getTermsOfServiceUpdate"]},"terms_of_service":{"description":"New terms of service","links":null}}},"help.termsOfServiceUpdateEmpty":{"name":"help.termsOfServiceUpdateEmpty","description":["No changes were made to telegram's terms of service"],"fields":{"expires":{"description":"New TOS updates will have to be queried using help.getTermsOfServiceUpdate¹ in expires seconds","links":["https://core.telegram.org/method/help.getTermsOfServiceUpdate"]}}},"help.userInfo":{"name":"help.userInfo","description":["Internal use"],"fields":{"author":{"description":"Author","links":null},"date":{"description":"Date","links":null},"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"message":{"description":"Info","links":null}}},"help.userInfoEmpty":{"name":"help.userInfoEmpty","description":["Internal use"]},"highScore":{"name":"highScore","description":["Game highscore"],"fields":{"pos":{"description":"Position in highscore list","links":null},"score":{"description":"Score","links":null},"user_id":{"description":"User ID","links":null}}},"importedContact":{"name":"importedContact","description":["Successfully imported contact."],"fields":{"client_id":{"description":"The contact's client identifier (passed to one of the InputContact¹ constructors)","links":["https://core.telegram.org/type/InputContact"]},"user_id":{"description":"User identifier","links":null}}},"inlineBotSwitchPM":{"name":"inlineBotSwitchPM","description":["The bot requested the user to message him in private"],"fields":{"start_param":{"description":"The parameter for the /start parameter","links":null},"text":{"description":"Text for the button that switches the user to a private chat with the bot and sends the bot a start message with the parameter start_parameter (can be empty)","links":null}}},"inputAppEvent":{"name":"inputAppEvent","description":["Event that occured in the application."],"fields":{"data":{"description":"Details of the event","links":null},"peer":{"description":"Arbitrary numeric value for more convenient selection of certain event types, or events referring to a certain object","links":null},"time":{"description":"Client's exact timestamp for the event","links":null},"type":{"description":"Type of event","links":null}}},"inputBotInlineMessageGame":{"name":"inputBotInlineMessageGame","description":["A game"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"reply_markup":{"description":"Inline keyboard","links":null}}},"inputBotInlineMessageID":{"name":"inputBotInlineMessageID","description":["Represents a sent inline message from the perspective of a bot"],"fields":{"access_hash":{"description":"Access hash of message","links":null},"dc_id":{"description":"DC ID to use when working with this inline message","links":null},"id":{"description":"ID of message","links":null}}},"inputBotInlineMessageMediaAuto":{"name":"inputBotInlineMessageMediaAuto","description":["A media"],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"Caption","links":null},"reply_markup":{"description":"Inline keyboard","links":null}}},"inputBotInlineMessageMediaContact":{"name":"inputBotInlineMessageMediaContact","description":["A contact"],"fields":{"first_name":{"description":"First name","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"last_name":{"description":"Last name","links":null},"phone_number":{"description":"Phone number","links":null},"reply_markup":{"description":"Inline keyboard","links":null},"vcard":{"description":"VCard info","links":null}}},"inputBotInlineMessageMediaGeo":{"name":"inputBotInlineMessageMediaGeo","description":["Geolocation"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_point":{"description":"Geolocation","links":null},"heading":{"description":"For live locations¹, a direction in which the location moves, in degrees; 1-360","links":["https://core.telegram.org/api/live-location"]},"period":{"description":"Validity period","links":null},"proximity_notification_radius":{"description":"For live locations¹, a maximum distance to another chat member for proximity alerts, in meters (0-100000)","links":["https://core.telegram.org/api/live-location"]},"reply_markup":{"description":"Reply markup for bot/inline keyboards","links":null}}},"inputBotInlineMessageMediaVenue":{"name":"inputBotInlineMessageMediaVenue","description":["Venue"],"fields":{"address":{"description":"Address","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_point":{"description":"Geolocation","links":null},"provider":{"description":"Venue provider: currently only \"foursquare\" needs to be supported","links":null},"reply_markup":{"description":"Inline keyboard","links":null},"title":{"description":"Venue name","links":null},"venue_id":{"description":"Venue ID in the provider's database","links":null},"venue_type":{"description":"Venue type in the provider's database","links":null}}},"inputBotInlineMessageText":{"name":"inputBotInlineMessageText","description":["Simple text message"],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"Message","links":null},"no_webpage":{"description":"Disable webpage preview","links":null},"reply_markup":{"description":"Inline keyboard","links":null}}},"inputBotInlineResult":{"name":"inputBotInlineResult","description":["An inline bot result"],"fields":{"content":{"description":"Result contents","links":null},"description":{"description":"Result description","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of result","links":null},"send_message":{"description":"Message to send when the result is selected","links":null},"thumb":{"description":"Thumbnail for result","links":null},"title":{"description":"Result title","links":null},"type":{"description":"Result type (see bot API docs¹)","links":["https://core.telegram.org/bots/api#inlinequeryresult"]},"url":{"description":"URL of result","links":null}}},"inputBotInlineResultDocument":{"name":"inputBotInlineResultDocument","description":["Document (media of any type except for photos)"],"fields":{"description":{"description":"Result description","links":null},"document":{"description":"Document to send","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Result ID","links":null},"send_message":{"description":"Message to send when the result is selected","links":null},"title":{"description":"Result title","links":null},"type":{"description":"Result type (see bot API docs¹)","links":["https://core.telegram.org/bots/api#inlinequeryresult"]}}},"inputBotInlineResultGame":{"name":"inputBotInlineResultGame","description":["Game"],"fields":{"id":{"description":"Result ID","links":null},"send_message":{"description":"Message to send when the result is selected","links":null},"short_name":{"description":"Game short name","links":null}}},"inputBotInlineResultPhoto":{"name":"inputBotInlineResultPhoto","description":["Photo"],"fields":{"id":{"description":"Result ID","links":null},"photo":{"description":"Photo to send","links":null},"send_message":{"description":"Message to send when the result is selected","links":null},"type":{"description":"Result type (see bot API docs¹)","links":["https://core.telegram.org/bots/api#inlinequeryresult"]}}},"inputChannel":{"name":"inputChannel","description":["Represents a channel"],"fields":{"access_hash":{"description":"Access hash taken from the channel¹ constructor","links":["https://core.telegram.org/constructor/channel"]},"channel_id":{"description":"Channel ID","links":null}}},"inputChannelEmpty":{"name":"inputChannelEmpty","description":["Represents the absence of a channel"]},"inputChannelFromMessage":{"name":"inputChannelFromMessage","description":["Defines a min¹ channel that was seen in a certain message of a certain chat."],"links":["https://core.telegram.org/api/min"],"fields":{"channel_id":{"description":"The channel ID","links":null},"msg_id":{"description":"The message ID in the chat where the channel was seen","links":null},"peer":{"description":"The chat where the channel was seen","links":null}}},"inputChatPhoto":{"name":"inputChatPhoto","description":["Existing photo to be set as a chat profile photo."],"fields":{"id":{"description":"Existing photo","links":null}}},"inputChatPhotoEmpty":{"name":"inputChatPhotoEmpty","description":["Empty constructor, remove group photo."]},"inputChatUploadedPhoto":{"name":"inputChatUploadedPhoto","description":["New photo to be set as group profile photo."],"fields":{"file":{"description":"File saved in parts using the method upload.saveFilePart¹","links":["https://core.telegram.org/method/upload.saveFilePart"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"video":{"description":"Square video for animated profile picture","links":null},"video_start_ts":{"description":"Timestamp that should be shown as static preview to the user (seconds)","links":null}}},"inputCheckPasswordEmpty":{"name":"inputCheckPasswordEmpty","description":["There is no password"]},"inputCheckPasswordSRP":{"name":"inputCheckPasswordSRP","description":["Constructor for checking the validity of a 2FA SRP password (see SRP¹)"],"links":["https://core.telegram.org/api/srp"],"fields":{"A":{"description":"A parameter (see SRP¹)","links":["https://core.telegram.org/api/srp"]},"M1":{"description":"M1 parameter (see SRP¹)","links":["https://core.telegram.org/api/srp"]},"srp_id":{"description":"SRP ID¹","links":["https://core.telegram.org/api/srp"]}}},"inputClientProxy":{"name":"inputClientProxy","description":["Info about an MTProxy¹ used to connect."],"links":["https://core.telegram.org/mtproto/mtproto-transports#transport-obfuscation"],"fields":{"address":{"description":"Proxy address","links":null},"port":{"description":"Proxy port","links":null}}},"inputDialogPeer":{"name":"inputDialogPeer","description":["A peer"],"fields":{"peer":{"description":"Peer","links":null}}},"inputDialogPeerFolder":{"name":"inputDialogPeerFolder","description":["All peers in a peer folder¹"],"links":["https://core.telegram.org/api/folders#peer-folders"],"fields":{"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]}}},"inputDocument":{"name":"inputDocument","description":["Defines a video for subsequent interaction."],"fields":{"access_hash":{"description":"access_hash parameter from the document¹ constructor","links":["https://core.telegram.org/constructor/document"]},"file_reference":{"description":"File reference¹","links":["https://core.telegram.org/api/file_reference"]},"id":{"description":"Document ID","links":null}}},"inputDocumentEmpty":{"name":"inputDocumentEmpty","description":["Empty constructor."]},"inputDocumentFileLocation":{"name":"inputDocumentFileLocation","description":["Document location (video, voice, audio, basically every type except photo)"],"fields":{"access_hash":{"description":"access_hash parameter from the document¹ constructor","links":["https://core.telegram.org/constructor/document"]},"file_reference":{"description":"File reference¹","links":["https://core.telegram.org/api/file_reference"]},"id":{"description":"Document ID","links":null},"thumb_size":{"description":"Thumbnail size to download the thumbnail","links":null}}},"inputEncryptedChat":{"name":"inputEncryptedChat","description":["Creates an encrypted chat."],"fields":{"access_hash":{"description":"Checking sum from constructor encryptedChat¹, encryptedChatWaiting² or encryptedChatRequested³","links":["https://core.telegram.org/constructor/encryptedChat","https://core.telegram.org/constructor/encryptedChatWaiting","https://core.telegram.org/constructor/encryptedChatRequested"]},"chat_id":{"description":"Chat ID","links":null}}},"inputEncryptedFile":{"name":"inputEncryptedFile","description":["Sets forwarded encrypted file for attachment."],"fields":{"access_hash":{"description":"Checking sum, value of access_hash parameter from encryptedFile¹","links":["https://core.telegram.org/constructor/encryptedFile"]},"id":{"description":"File ID, value of id parameter from encryptedFile¹","links":["https://core.telegram.org/constructor/encryptedFile"]}}},"inputEncryptedFileBigUploaded":{"name":"inputEncryptedFileBigUploaded","description":["Assigns a new big encrypted file (over 10Mb in size), saved in parts using the method upload.saveBigFilePart¹."],"links":["https://core.telegram.org/method/upload.saveBigFilePart"],"fields":{"id":{"description":"Random file id, created by the client","links":null},"key_fingerprint":{"description":"32-bit imprint of the key used to encrypt the file","links":null},"parts":{"description":"Number of saved parts","links":null}}},"inputEncryptedFileEmpty":{"name":"inputEncryptedFileEmpty","description":["Empty constructor."]},"inputEncryptedFileLocation":{"name":"inputEncryptedFileLocation","description":["Location of encrypted secret chat file."],"fields":{"access_hash":{"description":"Checksum, access_hash parameter value from encryptedFile¹","links":["https://core.telegram.org/constructor/encryptedFile"]},"id":{"description":"File ID, id parameter value from encryptedFile¹","links":["https://core.telegram.org/constructor/encryptedFile"]}}},"inputEncryptedFileUploaded":{"name":"inputEncryptedFileUploaded","description":["Sets new encrypted file saved by parts using upload.saveFilePart method."],"fields":{"id":{"description":"Random file ID created by clien","links":null},"key_fingerprint":{"description":"32-bit fingerprint of the key used to encrypt a file","links":null},"md5_checksum":{"description":"In case md5-HASH¹ of the (already encrypted) file was transmitted, file content will be checked prior to use","links":["https://en.wikipedia.org/wiki/MD5"]},"parts":{"description":"Number of saved parts","links":null}}},"inputFile":{"name":"inputFile","description":["Defines a file saved in parts using the method upload.saveFilePart¹."],"links":["https://core.telegram.org/method/upload.saveFilePart"],"fields":{"id":{"description":"Random file identifier created by the client","links":null},"md5_checksum":{"description":"In case the file's md5-hash¹ was passed, contents of the file will be checked prior to use","links":["https://en.wikipedia.org/wiki/MD5#MD5_hashes"]},"name":{"description":"Full name of the file","links":null},"parts":{"description":"Number of parts saved","links":null}}},"inputFileBig":{"name":"inputFileBig","description":["Assigns a big file (over 10Mb in size), saved in part using the method upload.saveBigFilePart¹."],"links":["https://core.telegram.org/method/upload.saveBigFilePart"],"fields":{"id":{"description":"Random file id, created by the client","links":null},"name":{"description":"Full file name","links":null},"parts":{"description":"Number of parts saved","links":null}}},"inputFileLocation":{"name":"inputFileLocation","description":["DEPRECATED location of a photo"],"fields":{"file_reference":{"description":"File reference¹","links":["https://core.telegram.org/api/file_reference"]},"local_id":{"description":"File identifier","links":null},"secret":{"description":"Check sum to access the file","links":null},"volume_id":{"description":"Server volume","links":null}}},"inputFolderPeer":{"name":"inputFolderPeer","description":["Peer in a folder"],"fields":{"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"peer":{"description":"Peer","links":null}}},"inputGameID":{"name":"inputGameID","description":["Indicates an already sent game"],"fields":{"access_hash":{"description":"access hash from Game¹ constructor","links":["https://core.telegram.org/type/Game"]},"id":{"description":"game ID from Game¹ constructor","links":["https://core.telegram.org/type/Game"]}}},"inputGameShortName":{"name":"inputGameShortName","description":["Game by short name"],"fields":{"bot_id":{"description":"The bot that provides the game","links":null},"short_name":{"description":"The game's short name","links":null}}},"inputGeoPoint":{"name":"inputGeoPoint","description":["Defines a GeoPoint by its coordinates."],"fields":{"accuracy_radius":{"description":"The estimated horizontal accuracy of the location, in meters; as defined by the sender.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"lat":{"description":"Latitide","links":null},"long":{"description":"Longtitude","links":null}}},"inputGeoPointEmpty":{"name":"inputGeoPointEmpty","description":["Empty GeoPoint constructor."]},"inputKeyboardButtonUrlAuth":{"name":"inputKeyboardButtonUrlAuth","description":["Button to request a user to authorize¹ via URL using Seamless Telegram Login²."],"links":["https://core.telegram.org/method/messages.acceptUrlAuth","https://telegram.org/blog/privacy-discussions-web-bots#meet-seamless-web-bots"],"fields":{"bot":{"description":"Username of a bot, which will be used for user authorization. See Setting up a bot¹ for more details. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot² for more details.","links":["https://core.telegram.org/widgets/login#setting-up-a-bot","https://core.telegram.org/widgets/login#linking-your-domain-to-the-bot"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"fwd_text":{"description":"New text of the button in forwarded messages.","links":null},"request_write_access":{"description":"Set this flag to request the permission for your bot to send messages to the user.","links":null},"text":{"description":"Button text","links":null},"url":{"description":"An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data¹.NOTE: You must always check the hash of the received data to verify the authentication and the integrity of the data as described in Checking authorization².","links":["https://core.telegram.org/widgets/login#receiving-authorization-data","https://core.telegram.org/widgets/login#checking-authorization"]}}},"inputMediaContact":{"name":"inputMediaContact","description":["Phonebook contact"],"fields":{"first_name":{"description":"Contact's first name","links":null},"last_name":{"description":"Contact's last name","links":null},"phone_number":{"description":"Phone number","links":null},"vcard":{"description":"Contact vcard","links":null}}},"inputMediaDice":{"name":"inputMediaDice","description":["Send a dice-based animated sticker¹"],"links":["https://core.telegram.org/api/dice"],"fields":{"emoticon":{"description":"The emoji, for now , and are supported","links":null}}},"inputMediaDocument":{"name":"inputMediaDocument","description":["Forwarded document"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"The document to be forwarded.","links":null},"ttl_seconds":{"description":"Time to live of self-destructing document","links":null}}},"inputMediaDocumentExternal":{"name":"inputMediaDocumentExternal","description":["Document that will be downloaded by the telegram servers"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"ttl_seconds":{"description":"Self-destruct time to live of document","links":null},"url":{"description":"URL of the document","links":null}}},"inputMediaEmpty":{"name":"inputMediaEmpty","description":["Empty media content of a message."]},"inputMediaGame":{"name":"inputMediaGame","description":["A game"],"fields":{"id":{"description":"The game to forward","links":null}}},"inputMediaGeoLive":{"name":"inputMediaGeoLive","description":["Live geolocation¹"],"links":["https://core.telegram.org/api/live-location"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_point":{"description":"Current geolocation","links":null},"heading":{"description":"For live locations¹, a direction in which the location moves, in degrees; 1-360.","links":["https://core.telegram.org/api/live-location"]},"period":{"description":"Validity period of the current location","links":null},"proximity_notification_radius":{"description":"For live locations¹, a maximum distance to another chat member for proximity alerts, in meters (0-100000)","links":["https://core.telegram.org/api/live-location"]},"stopped":{"description":"Whether sending of the geolocation was stopped","links":null}}},"inputMediaGeoPoint":{"name":"inputMediaGeoPoint","description":["Map."],"fields":{"geo_point":{"description":"GeoPoint","links":null}}},"inputMediaInvoice":{"name":"inputMediaInvoice","description":["Generated invoice of a bot payment¹"],"links":["https://core.telegram.org/bots/payments"],"fields":{"description":{"description":"Product description, 1-255 characters","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"invoice":{"description":"The actual invoice","links":null},"payload":{"description":"Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.","links":null},"photo":{"description":"URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for.","links":null},"provider":{"description":"Payments provider token, obtained via Botfather¹","links":["https://t.me/botfather"]},"provider_data":{"description":"JSON-encoded data about the invoice, which will be shared with the payment provider. A detailed description of required fields should be provided by the payment provider.","links":null},"start_param":{"description":"Start parameter","links":null},"title":{"description":"Product name, 1-32 characters","links":null}}},"inputMediaPhoto":{"name":"inputMediaPhoto","description":["Forwarded photo"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Photo to be forwarded","links":null},"ttl_seconds":{"description":"Time to live in seconds of self-destructing photo","links":null}}},"inputMediaPhotoExternal":{"name":"inputMediaPhotoExternal","description":["New photo that will be uploaded by the server using the specified URL"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"ttl_seconds":{"description":"Self-destruct time to live of photo","links":null},"url":{"description":"URL of the photo","links":null}}},"inputMediaPoll":{"name":"inputMediaPoll","description":["A poll"],"fields":{"correct_answers":{"description":"Correct answer IDs (for quiz polls)","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"poll":{"description":"The poll to send","links":null},"solution":{"description":"Explanation of quiz solution","links":null},"solution_entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]}}},"inputMediaUploadedDocument":{"name":"inputMediaUploadedDocument","description":["New document"],"fields":{"attributes":{"description":"Attributes that specify the type of the document (video, audio, voice, sticker, etc.)","links":null},"file":{"description":"The uploaded file¹","links":["https://core.telegram.org/api/files"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"force_file":{"description":"Force the media file to be uploaded as document","links":null},"mime_type":{"description":"MIME type of document","links":null},"nosound_video":{"description":"Whether the specified document is a video file with no audio tracks (a GIF animation (even as MPEG4), for example)","links":null},"stickers":{"description":"Attached stickers","links":null},"thumb":{"description":"Thumbnail of the document, uploaded as for the file","links":null},"ttl_seconds":{"description":"Time to live in seconds of self-destructing document","links":null}}},"inputMediaUploadedPhoto":{"name":"inputMediaUploadedPhoto","description":["Photo"],"fields":{"file":{"description":"The uploaded file¹","links":["https://core.telegram.org/api/files"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"stickers":{"description":"Attached mask stickers","links":null},"ttl_seconds":{"description":"Time to live in seconds of self-destructing photo","links":null}}},"inputMediaVenue":{"name":"inputMediaVenue","description":["Can be used to send a venue geolocation."],"fields":{"address":{"description":"Physical address of the venue","links":null},"geo_point":{"description":"Geolocation","links":null},"provider":{"description":"Venue provider: currently only \"foursquare\" needs to be supported","links":null},"title":{"description":"Venue name","links":null},"venue_id":{"description":"Venue ID in the provider's database","links":null},"venue_type":{"description":"Venue type in the provider's database","links":null}}},"inputMessageCallbackQuery":{"name":"inputMessageCallbackQuery","description":["Used by bots for fetching information about the message that originated a callback query"],"fields":{"id":{"description":"Message ID","links":null},"query_id":{"description":"Callback query ID","links":null}}},"inputMessageEntityMentionName":{"name":"inputMessageEntityMentionName","description":["Message entity that can be used to create a user user mention¹: received mentions use the messageEntityMentionName² constructor, instead."],"links":["https://core.telegram.org/api/mentions","https://core.telegram.org/constructor/messageEntityMentionName"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null},"user_id":{"description":"Identifier of the user that was mentioned","links":null}}},"inputMessageID":{"name":"inputMessageID","description":["Message by ID"],"fields":{"id":{"description":"Message ID","links":null}}},"inputMessagePinned":{"name":"inputMessagePinned","description":["Pinned message"]},"inputMessageReplyTo":{"name":"inputMessageReplyTo","description":["Message to which the specified message replies to"],"fields":{"id":{"description":"ID of the message that replies to the message we need","links":null}}},"inputMessagesFilterChatPhotos":{"name":"inputMessagesFilterChatPhotos","description":["Return only chat photo changes"]},"inputMessagesFilterContacts":{"name":"inputMessagesFilterContacts","description":["Return only messages containing contacts"]},"inputMessagesFilterDocument":{"name":"inputMessagesFilterDocument","description":["Filter for messages containing documents."]},"inputMessagesFilterEmpty":{"name":"inputMessagesFilterEmpty","description":["Filter is absent."]},"inputMessagesFilterGeo":{"name":"inputMessagesFilterGeo","description":["Return only messages containing geolocations"]},"inputMessagesFilterGif":{"name":"inputMessagesFilterGif","description":["Return only messages containing gifs"]},"inputMessagesFilterMusic":{"name":"inputMessagesFilterMusic","description":["Return only messages containing audio files"]},"inputMessagesFilterMyMentions":{"name":"inputMessagesFilterMyMentions","description":["Return only messages where the current user was mentioned¹."],"links":["https://core.telegram.org/api/mentions"]},"inputMessagesFilterPhoneCalls":{"name":"inputMessagesFilterPhoneCalls","description":["Return only phone calls"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"missed":{"description":"Return only missed phone calls","links":null}}},"inputMessagesFilterPhotoVideo":{"name":"inputMessagesFilterPhotoVideo","description":["Filter for messages containing photos or videos."]},"inputMessagesFilterPhotos":{"name":"inputMessagesFilterPhotos","description":["Filter for messages containing photos."]},"inputMessagesFilterPinned":{"name":"inputMessagesFilterPinned","description":["Fetch only pinned messages"]},"inputMessagesFilterRoundVideo":{"name":"inputMessagesFilterRoundVideo","description":["Return only round videos"]},"inputMessagesFilterRoundVoice":{"name":"inputMessagesFilterRoundVoice","description":["Return only round videos and voice notes"]},"inputMessagesFilterUrl":{"name":"inputMessagesFilterUrl","description":["Return only messages containing URLs"]},"inputMessagesFilterVideo":{"name":"inputMessagesFilterVideo","description":["Filter for messages containing videos."]},"inputMessagesFilterVoice":{"name":"inputMessagesFilterVoice","description":["Return only messages containing voice notes"]},"inputNotifyBroadcasts":{"name":"inputNotifyBroadcasts","description":["All channels¹"],"links":["https://core.telegram.org/api/channel"]},"inputNotifyChats":{"name":"inputNotifyChats","description":["Notifications generated by all groups."]},"inputNotifyPeer":{"name":"inputNotifyPeer","description":["Notifications generated by a certain user or group."],"fields":{"peer":{"description":"User or group","links":null}}},"inputNotifyUsers":{"name":"inputNotifyUsers","description":["Notifications generated by all users."]},"inputPaymentCredentials":{"name":"inputPaymentCredentials","description":["Payment credentials"],"fields":{"data":{"description":"Payment credentials","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"save":{"description":"Save payment credential for future use","links":null}}},"inputPaymentCredentialsAndroidPay":{"name":"inputPaymentCredentialsAndroidPay","description":["Android pay payment credentials"],"fields":{"google_transaction_id":{"description":"Google transaction ID","links":null},"payment_token":{"description":"Android pay payment token","links":null}}},"inputPaymentCredentialsApplePay":{"name":"inputPaymentCredentialsApplePay","description":["Apple pay payment credentials"],"fields":{"payment_data":{"description":"Payment data","links":null}}},"inputPaymentCredentialsSaved":{"name":"inputPaymentCredentialsSaved","description":["Saved payment credentials"],"fields":{"id":{"description":"Credential ID","links":null},"tmp_password":{"description":"Temporary password","links":null}}},"inputPeerChannel":{"name":"inputPeerChannel","description":["Defines a channel for further interaction."],"fields":{"access_hash":{"description":"access_hash value from the channel¹ constructor","links":["https://core.telegram.org/constructor/channel"]},"channel_id":{"description":"Channel identifier","links":null}}},"inputPeerChannelFromMessage":{"name":"inputPeerChannelFromMessage","description":["Defines a min¹ channel that was seen in a certain message of a certain chat."],"links":["https://core.telegram.org/api/min"],"fields":{"channel_id":{"description":"The identifier of the channel that was seen","links":null},"msg_id":{"description":"The message ID","links":null},"peer":{"description":"The chat where the channel's message was seen","links":null}}},"inputPeerChat":{"name":"inputPeerChat","description":["Defines a chat for further interaction."],"fields":{"chat_id":{"description":"Chat idientifier","links":null}}},"inputPeerEmpty":{"name":"inputPeerEmpty","description":["An empty constructor, no user or chat is defined."]},"inputPeerNotifySettings":{"name":"inputPeerNotifySettings","description":["Notification settings."],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"mute_until":{"description":"Date until which all notifications shall be switched off","links":null},"show_previews":{"description":"If the text of the message shall be displayed in notification","links":null},"silent":{"description":"Peer was muted?","links":null},"sound":{"description":"Name of an audio file for notification","links":null}}},"inputPeerPhotoFileLocation":{"name":"inputPeerPhotoFileLocation","description":["Location of profile photo of channel/group/supergroup/user"],"fields":{"big":{"description":"Whether to download the high-quality version of the picture","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"local_id":{"description":"Local ID from FileLocation¹ met in the profile photo container.","links":["https://core.telegram.org/type/FileLocation"]},"peer":{"description":"The peer whose profile picture should be downloaded","links":null},"volume_id":{"description":"Volume ID from FileLocation¹ met in the profile photo container.","links":["https://core.telegram.org/type/FileLocation"]}}},"inputPeerSelf":{"name":"inputPeerSelf","description":["Defines the current user."]},"inputPeerUser":{"name":"inputPeerUser","description":["Defines a user for further interaction."],"fields":{"access_hash":{"description":"access_hash value from the user¹ constructor","links":["https://core.telegram.org/constructor/user"]},"user_id":{"description":"User identifier","links":null}}},"inputPeerUserFromMessage":{"name":"inputPeerUserFromMessage","description":["Defines a min¹ user that was seen in a certain message of a certain chat."],"links":["https://core.telegram.org/api/min"],"fields":{"msg_id":{"description":"The message ID","links":null},"peer":{"description":"The chat where the user was seen","links":null},"user_id":{"description":"The identifier of the user that was seen","links":null}}},"inputPhoneCall":{"name":"inputPhoneCall","description":["Phone call"],"fields":{"access_hash":{"description":"Access hash","links":null},"id":{"description":"Call ID","links":null}}},"inputPhoneContact":{"name":"inputPhoneContact","description":["Phone contact. The client_id is just an arbitrary contact ID: it should be set, for example, to an incremental number when using contacts.importContacts¹, in order to retry importing only the contacts that weren't imported successfully."],"links":["https://core.telegram.org/method/contacts.importContacts"],"fields":{"client_id":{"description":"User identifier on the client","links":null},"first_name":{"description":"Contact's first name","links":null},"last_name":{"description":"Contact's last name","links":null},"phone":{"description":"Phone number","links":null}}},"inputPhoto":{"name":"inputPhoto","description":["Defines a photo for further interaction."],"fields":{"access_hash":{"description":"access_hash value from the photo¹ constructor","links":["https://core.telegram.org/constructor/photo"]},"file_reference":{"description":"File reference¹","links":["https://core.telegram.org/api/file_reference"]},"id":{"description":"Photo identifier","links":null}}},"inputPhotoEmpty":{"name":"inputPhotoEmpty","description":["Empty constructor."]},"inputPhotoFileLocation":{"name":"inputPhotoFileLocation","description":["Use this object to download a photo with upload.getFile¹ method"],"links":["https://core.telegram.org/method/upload.getFile"],"fields":{"access_hash":{"description":"Photo's access hash, obtained from the photo¹ object","links":["https://core.telegram.org/constructor/photo"]},"file_reference":{"description":"File reference¹","links":["https://core.telegram.org/api/file_reference"]},"id":{"description":"Photo ID, obtained from the photo¹ object","links":["https://core.telegram.org/constructor/photo"]},"thumb_size":{"description":"The PhotoSize¹ to download: must be set to the type field of the desired PhotoSize object of the photo²","links":["https://core.telegram.org/type/PhotoSize","https://core.telegram.org/constructor/photo"]}}},"inputPhotoLegacyFileLocation":{"name":"inputPhotoLegacyFileLocation","description":["Legacy photo file location"],"fields":{"access_hash":{"description":"Access hash","links":null},"file_reference":{"description":"File reference","links":null},"id":{"description":"Photo ID","links":null},"local_id":{"description":"Local ID","links":null},"secret":{"description":"Secret","links":null},"volume_id":{"description":"Volume ID","links":null}}},"inputPrivacyKeyAddedByPhone":{"name":"inputPrivacyKeyAddedByPhone","description":["Whether people can add you to their contact list by your phone number"]},"inputPrivacyKeyChatInvite":{"name":"inputPrivacyKeyChatInvite","description":["Whether the user can be invited to chats"]},"inputPrivacyKeyForwards":{"name":"inputPrivacyKeyForwards","description":["Whether messages forwarded from this user will be anonymous¹"],"links":["https://telegram.org/blog/unsend-privacy-emoji#anonymous-forwarding"]},"inputPrivacyKeyPhoneCall":{"name":"inputPrivacyKeyPhoneCall","description":["Whether the user will accept phone calls"]},"inputPrivacyKeyPhoneNumber":{"name":"inputPrivacyKeyPhoneNumber","description":["Whether people will be able to see the user's phone number"]},"inputPrivacyKeyPhoneP2P":{"name":"inputPrivacyKeyPhoneP2P","description":["Whether the user allows P2P communication during VoIP calls"]},"inputPrivacyKeyProfilePhoto":{"name":"inputPrivacyKeyProfilePhoto","description":["Whether people will be able to see the user's profile picture"]},"inputPrivacyKeyStatusTimestamp":{"name":"inputPrivacyKeyStatusTimestamp","description":["Whether we can see the exact last online timestamp of the user"]},"inputPrivacyValueAllowAll":{"name":"inputPrivacyValueAllowAll","description":["Allow all users"]},"inputPrivacyValueAllowChatParticipants":{"name":"inputPrivacyValueAllowChatParticipants","description":["Allow only participants of certain chats"],"fields":{"chats":{"description":"Allowed chat IDs","links":null}}},"inputPrivacyValueAllowContacts":{"name":"inputPrivacyValueAllowContacts","description":["Allow only contacts"]},"inputPrivacyValueAllowUsers":{"name":"inputPrivacyValueAllowUsers","description":["Allow only certain users"],"fields":{"users":{"description":"Allowed users","links":null}}},"inputPrivacyValueDisallowAll":{"name":"inputPrivacyValueDisallowAll","description":["Disallow all"]},"inputPrivacyValueDisallowChatParticipants":{"name":"inputPrivacyValueDisallowChatParticipants","description":["Disallow only participants of certain chats"],"fields":{"chats":{"description":"Disallowed chat IDs","links":null}}},"inputPrivacyValueDisallowContacts":{"name":"inputPrivacyValueDisallowContacts","description":["Disallow only contacts"]},"inputPrivacyValueDisallowUsers":{"name":"inputPrivacyValueDisallowUsers","description":["Disallow only certain users"],"fields":{"users":{"description":"Users to disallow","links":null}}},"inputReportReasonChildAbuse":{"name":"inputReportReasonChildAbuse","description":["Report for child abuse"]},"inputReportReasonCopyright":{"name":"inputReportReasonCopyright","description":["Report for copyrighted content"]},"inputReportReasonGeoIrrelevant":{"name":"inputReportReasonGeoIrrelevant","description":["Report an irrelevant geogroup"]},"inputReportReasonOther":{"name":"inputReportReasonOther","description":["Other"],"fields":{"text":{"description":"Other report reason","links":null}}},"inputReportReasonPornography":{"name":"inputReportReasonPornography","description":["Report for pornography"]},"inputReportReasonSpam":{"name":"inputReportReasonSpam","description":["Report for spam"]},"inputReportReasonViolence":{"name":"inputReportReasonViolence","description":["Report for violence"]},"inputSecureFile":{"name":"inputSecureFile","description":["Preuploaded passport¹ file, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#inputsecurefile"],"fields":{"access_hash":{"description":"Secure file access hash","links":null},"id":{"description":"Secure file ID","links":null}}},"inputSecureFileLocation":{"name":"inputSecureFileLocation","description":["Location of encrypted telegram passport¹ file."],"links":["https://core.telegram.org/passport"],"fields":{"access_hash":{"description":"Checksum, access_hash parameter value from secureFile¹","links":["https://core.telegram.org/constructor/secureFile"]},"id":{"description":"File ID, id parameter value from secureFile¹","links":["https://core.telegram.org/constructor/secureFile"]}}},"inputSecureFileUploaded":{"name":"inputSecureFileUploaded","description":["Uploaded secure file, for more info see the passport docs »¹"],"links":["https://core.telegram.org/passport/encryption#inputsecurefile"],"fields":{"file_hash":{"description":"File hash","links":null},"id":{"description":"Secure file ID","links":null},"md5_checksum":{"description":"MD5 hash of encrypted uploaded file, to be checked server-side","links":null},"parts":{"description":"Secure file part count","links":null},"secret":{"description":"Secret","links":null}}},"inputSecureValue":{"name":"inputSecureValue","description":["Secure value, for more info see the passport docs »¹"],"links":["https://core.telegram.org/passport/encryption#encryption"],"fields":{"data":{"description":"Encrypted Telegram Passport¹ element data","links":["https://core.telegram.org/passport"]},"files":{"description":"Array of encrypted passport¹ files with photos the of the documents","links":["https://core.telegram.org/passport"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"front_side":{"description":"Encrypted passport¹ file with the front side of the document","links":["https://core.telegram.org/passport"]},"plain_data":{"description":"Plaintext verified passport¹ data","links":["https://core.telegram.org/passport"]},"reverse_side":{"description":"Encrypted passport¹ file with the reverse side of the document","links":["https://core.telegram.org/passport"]},"selfie":{"description":"Encrypted passport¹ file with a selfie of the user holding the document","links":["https://core.telegram.org/passport"]},"translation":{"description":"Array of encrypted passport¹ files with translated versions of the provided documents","links":["https://core.telegram.org/passport"]},"type":{"description":"Secure passport¹ value type","links":["https://core.telegram.org/passport"]}}},"inputSingleMedia":{"name":"inputSingleMedia","description":["A single media in an album or grouped media¹ sent with messages.sendMultiMedia²."],"links":["https://core.telegram.org/api/files#albums-grouped-media","https://core.telegram.org/method/messages.sendMultiMedia"],"fields":{"entities":{"description":"Message entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"media":{"description":"The media","links":null},"message":{"description":"A caption for the media","links":null},"random_id":{"description":"Unique client media ID required to prevent message resending","links":null}}},"inputStickerSetAnimatedEmoji":{"name":"inputStickerSetAnimatedEmoji","description":["Animated emojis stickerset"]},"inputStickerSetDice":{"name":"inputStickerSetDice","description":["Used for fetching animated dice stickers¹"],"links":["https://core.telegram.org/api/dice"],"fields":{"emoticon":{"description":"The emoji, for now , and are supported","links":null}}},"inputStickerSetEmpty":{"name":"inputStickerSetEmpty","description":["Empty constructor"]},"inputStickerSetID":{"name":"inputStickerSetID","description":["Stickerset by ID"],"fields":{"access_hash":{"description":"Access hash","links":null},"id":{"description":"ID","links":null}}},"inputStickerSetItem":{"name":"inputStickerSetItem","description":["Sticker in a stickerset"],"fields":{"document":{"description":"The sticker","links":null},"emoji":{"description":"Associated emoji","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"mask_coords":{"description":"Coordinates for mask sticker","links":null}}},"inputStickerSetShortName":{"name":"inputStickerSetShortName","description":["Stickerset by short name, from tg://addstickers?set=short_name"],"fields":{"short_name":{"description":"From tg://addstickers?set=short_name","links":null}}},"inputStickerSetThumb":{"name":"inputStickerSetThumb","description":["Location of stickerset thumbnail (see files¹)"],"links":["https://core.telegram.org/api/files"],"fields":{"local_id":{"description":"Local ID","links":null},"stickerset":{"description":"Sticker set","links":null},"volume_id":{"description":"Volume ID","links":null}}},"inputStickeredMediaDocument":{"name":"inputStickeredMediaDocument","description":["A document with stickers attached"],"fields":{"id":{"description":"The document","links":null}}},"inputStickeredMediaPhoto":{"name":"inputStickeredMediaPhoto","description":["A photo with stickers attached"],"fields":{"id":{"description":"The photo","links":null}}},"inputTakeoutFileLocation":{"name":"inputTakeoutFileLocation","description":["Empty constructor for takeout"]},"inputTheme":{"name":"inputTheme","description":["Theme"],"fields":{"access_hash":{"description":"Access hash","links":null},"id":{"description":"ID","links":null}}},"inputThemeSettings":{"name":"inputThemeSettings","description":["Theme settings"],"fields":{"accent_color":{"description":"Accent color, RGB24 format","links":null},"base_theme":{"description":"Default theme on which this theme is based","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message_bottom_color":{"description":"Message gradient color (bottom), RGB24 format","links":null},"message_top_color":{"description":"Message gradient color (top), RGB24 format","links":null},"wallpaper":{"description":"Wallpaper","links":null},"wallpaper_settings":{"description":"Wallpaper settings","links":null}}},"inputThemeSlug":{"name":"inputThemeSlug","description":["Theme by theme ID"],"fields":{"slug":{"description":"Unique theme ID","links":null}}},"inputUser":{"name":"inputUser","description":["Defines a user for further interaction."],"fields":{"access_hash":{"description":"access_hash value from the user¹ constructor","links":["https://core.telegram.org/constructor/user"]},"user_id":{"description":"User identifier","links":null}}},"inputUserEmpty":{"name":"inputUserEmpty","description":["Empty constructor, does not define a user."]},"inputUserFromMessage":{"name":"inputUserFromMessage","description":["Defines a min¹ user that was seen in a certain message of a certain chat."],"links":["https://core.telegram.org/api/min"],"fields":{"msg_id":{"description":"The message ID","links":null},"peer":{"description":"The chat where the user was seen","links":null},"user_id":{"description":"The identifier of the user that was seen","links":null}}},"inputUserSelf":{"name":"inputUserSelf","description":["Defines the current user."]},"inputWallPaper":{"name":"inputWallPaper","description":["Wallpaper"],"fields":{"access_hash":{"description":"Access hash","links":null},"id":{"description":"Wallpaper ID","links":null}}},"inputWallPaperNoFile":{"name":"inputWallPaperNoFile","description":["Wallpaper with no file"]},"inputWallPaperSlug":{"name":"inputWallPaperSlug","description":["Wallpaper by slug (a unique ID)"],"fields":{"slug":{"description":"Unique wallpaper ID","links":null}}},"inputWebDocument":{"name":"inputWebDocument","description":["The document"],"fields":{"attributes":{"description":"Attributes for media types","links":null},"mime_type":{"description":"Mime type","links":null},"size":{"description":"Remote file size","links":null},"url":{"description":"Remote document URL to be downloaded using the appropriate method¹","links":["https://core.telegram.org/api/files"]}}},"inputWebFileGeoPointLocation":{"name":"inputWebFileGeoPointLocation","description":["Geolocation"],"fields":{"access_hash":{"description":"Access hash","links":null},"geo_point":{"description":"Geolocation","links":null},"h":{"description":"Map height in pixels before applying scale; 16-1024","links":null},"scale":{"description":"Map scale; 1-3","links":null},"w":{"description":"Map width in pixels before applying scale; 16-1024","links":null},"zoom":{"description":"Map zoom level; 13-20","links":null}}},"inputWebFileLocation":{"name":"inputWebFileLocation","description":["Location of a remote HTTP(s) file"],"fields":{"access_hash":{"description":"Access hash","links":null},"url":{"description":"HTTP URL of file","links":null}}},"invoice":{"name":"invoice","description":["Invoice"],"fields":{"currency":{"description":"Three-letter ISO 4217 currency¹ code","links":["https://core.telegram.org/bots/payments#supported-currencies"]},"email_requested":{"description":"Set this flag if you require the user's email address to complete the order","links":null},"email_to_provider":{"description":"Set this flag if user's email address should be sent to provider","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"flexible":{"description":"Set this flag if the final price depends on the shipping method","links":null},"name_requested":{"description":"Set this flag if you require the user's full name to complete the order","links":null},"phone_requested":{"description":"Set this flag if you require the user's phone number to complete the order","links":null},"phone_to_provider":{"description":"Set this flag if user's phone number should be sent to provider","links":null},"prices":{"description":"Price breakdown, a list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)","links":null},"shipping_address_requested":{"description":"Set this flag if you require the user's shipping address to complete the order","links":null},"test":{"description":"Test invoice","links":null}}},"jsonArray":{"name":"jsonArray","description":["JSON array"],"fields":{"value":{"description":"JSON values","links":null}}},"jsonBool":{"name":"jsonBool","description":["JSON boolean value"],"fields":{"value":{"description":"Value","links":null}}},"jsonNull":{"name":"jsonNull","description":["null JSON value"]},"jsonNumber":{"name":"jsonNumber","description":["JSON numeric value"],"fields":{"value":{"description":"Value","links":null}}},"jsonObject":{"name":"jsonObject","description":["JSON object value"],"fields":{"value":{"description":"Values","links":null}}},"jsonObjectValue":{"name":"jsonObjectValue","description":["JSON key: value pair"],"fields":{"key":{"description":"Key","links":null},"value":{"description":"Value","links":null}}},"jsonString":{"name":"jsonString","description":["JSON string"],"fields":{"value":{"description":"Value","links":null}}},"keyboardButton":{"name":"keyboardButton","description":["Bot keyboard button"],"fields":{"text":{"description":"Button text","links":null}}},"keyboardButtonBuy":{"name":"keyboardButtonBuy","description":["Button to buy a product"],"fields":{"text":{"description":"Button text","links":null}}},"keyboardButtonCallback":{"name":"keyboardButtonCallback","description":["Callback button"],"fields":{"data":{"description":"Callback data","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"requires_password":{"description":"Whether the user should verify his identity by entering his 2FA SRP parameters¹ to the messages.getBotCallbackAnswer² method. NOTE: telegram and the bot WILL NOT have access to the plaintext password, thanks to SRP³. This button is mainly used by the official @botfather⁴ bot, for verifying the user's identity before transferring ownership of a bot to another user.","links":["https://core.telegram.org/api/srp","https://core.telegram.org/method/messages.getBotCallbackAnswer","https://core.telegram.org/api/srp","https://t.me/botfather"]},"text":{"description":"Button text","links":null}}},"keyboardButtonGame":{"name":"keyboardButtonGame","description":["Button to start a game"],"fields":{"text":{"description":"Button text","links":null}}},"keyboardButtonRequestGeoLocation":{"name":"keyboardButtonRequestGeoLocation","description":["Button to request a user's geolocation"],"fields":{"text":{"description":"Button text","links":null}}},"keyboardButtonRequestPhone":{"name":"keyboardButtonRequestPhone","description":["Button to request a user's phone number"],"fields":{"text":{"description":"Button text","links":null}}},"keyboardButtonRequestPoll":{"name":"keyboardButtonRequestPoll","description":["A button that allows the user to create and send a poll when pressed; available only in private"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"quiz":{"description":"If set, only quiz polls can be sent","links":null},"text":{"description":"Button text","links":null}}},"keyboardButtonRow":{"name":"keyboardButtonRow","description":["Inline keyboard row"],"fields":{"buttons":{"description":"Bot or inline keyboard buttons","links":null}}},"keyboardButtonSwitchInline":{"name":"keyboardButtonSwitchInline","description":["Button to force a user to switch to inline mode Pressing the button will prompt the user to select one of their chats, open that chat and insert the bot‘s username and the specified inline query in the input field."],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"query":{"description":"The inline query to use","links":null},"same_peer":{"description":"If set, pressing the button will insert the bot‘s username and the specified inline query in the current chat's input field.","links":null},"text":{"description":"Button label","links":null}}},"keyboardButtonUrl":{"name":"keyboardButtonUrl","description":["URL button"],"fields":{"text":{"description":"Button label","links":null},"url":{"description":"URL","links":null}}},"keyboardButtonUrlAuth":{"name":"keyboardButtonUrlAuth","description":["Button to request a user to authorize via URL using Seamless Telegram Login¹. When the user clicks on such a button, messages.requestUrlAuth² should be called, providing the button_id and the ID of the container message. The returned urlAuthResultRequest³ object will contain more details about the authorization request (request_write_access if the bot would like to send messages to the user along with the username of the bot which will be used for user authorization). Finally, the user can choose to call messages.acceptUrlAuth⁴ to get a urlAuthResultAccepted⁵ with the URL to open instead of the url of this constructor, or a urlAuthResultDefault⁶, in which case the url of this constructor must be opened, instead. If the user refuses the authorization request but still wants to open the link, the url of this constructor must be used."],"links":["https://telegram.org/blog/privacy-discussions-web-bots#meet-seamless-web-bots","https://core.telegram.org/method/messages.requestUrlAuth","https://core.telegram.org/constructor/urlAuthResultRequest","https://core.telegram.org/method/messages.acceptUrlAuth","https://core.telegram.org/constructor/urlAuthResultAccepted","https://core.telegram.org/constructor/urlAuthResultDefault"],"fields":{"button_id":{"description":"ID of the button to pass to messages.requestUrlAuth¹","links":["https://core.telegram.org/method/messages.requestUrlAuth"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"fwd_text":{"description":"New text of the button in forwarded messages.","links":null},"text":{"description":"Button label","links":null},"url":{"description":"An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data¹.NOTE: Services must always check the hash of the received data to verify the authentication and the integrity of the data as described in Checking authorization².","links":["https://core.telegram.org/widgets/login#receiving-authorization-data","https://core.telegram.org/widgets/login#checking-authorization"]}}},"labeledPrice":{"name":"labeledPrice","description":["This object represents a portion of the price for goods or services."],"fields":{"amount":{"description":"Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json¹, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).","links":["https://core.telegram.org/bots/payments/currencies.json"]},"label":{"description":"Portion label","links":null}}},"langPackDifference":{"name":"langPackDifference","description":["Changes to the app's localization pack"],"fields":{"from_version":{"description":"Previous version number","links":null},"lang_code":{"description":"Language code","links":null},"strings":{"description":"Localized strings","links":null},"version":{"description":"New version number","links":null}}},"langPackLanguage":{"name":"langPackLanguage","description":["Identifies a localization pack"],"fields":{"base_lang_code":{"description":"Identifier of a base language pack; may be empty. If a string is missed in the language pack, then it should be fetched from base language pack. Unsupported in custom language packs","links":null},"beta":{"description":"Is this a beta localization pack?","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"lang_code":{"description":"Language code (pack identifier)","links":null},"name":{"description":"Language name","links":null},"native_name":{"description":"Language name in the language itself","links":null},"official":{"description":"Whether the language pack is official","links":null},"plural_code":{"description":"A language code to be used to apply plural forms. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html¹ for more info","links":["https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html"]},"rtl":{"description":"Is this a localization pack for an RTL language","links":null},"strings_count":{"description":"Total number of non-deleted strings from the language pack","links":null},"translated_count":{"description":"Total number of translated strings from the language pack","links":null},"translations_url":{"description":"Link to language translation interface; empty for custom local language packs","links":null}}},"langPackString":{"name":"langPackString","description":["Translated localization string"],"fields":{"key":{"description":"Language key","links":null},"value":{"description":"Value","links":null}}},"langPackStringDeleted":{"name":"langPackStringDeleted","description":["Deleted localization string"],"fields":{"key":{"description":"Localization key","links":null}}},"langPackStringPluralized":{"name":"langPackStringPluralized","description":["A language pack string which has different forms based on the number of some object it mentions. See https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html¹ for more info"],"links":["https://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html"],"fields":{"few_value":{"description":"Value for a few objects","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"key":{"description":"Localization key","links":null},"many_value":{"description":"Value for many objects","links":null},"one_value":{"description":"Value for one object","links":null},"other_value":{"description":"Default value","links":null},"two_value":{"description":"Value for two objects","links":null},"zero_value":{"description":"Value for zero objects","links":null}}},"maskCoords":{"name":"maskCoords","description":["Position on a photo where a mask should be placed","The n position indicates where the mask should be placed:"],"fields":{"n":{"description":"Part of the face, relative to which the mask should be placed","links":null},"x":{"description":"Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. (For example, -1.0 will place the mask just to the left of the default mask position)","links":null},"y":{"description":"Shift by Y-axis measured in widths of the mask scaled to the face size, from left to right. (For example, -1.0 will place the mask just to the left of the default mask position)","links":null},"zoom":{"description":"Mask scaling coefficient. (For example, 2.0 means a doubled size)","links":null}}},"message":{"name":"message","description":["A message"],"fields":{"date":{"description":"Date of the message","links":null},"edit_date":{"description":"Last edit date of this message","links":null},"edit_hide":{"description":"Whether the message should be shown as not modified to the user, even if an edit date is present","links":null},"entities":{"description":"Message entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"forwards":{"description":"Forward counter","links":null},"from_id":{"description":"ID of the sender of the message","links":null},"from_scheduled":{"description":"Whether this is a scheduled message¹","links":["https://core.telegram.org/api/scheduled-messages"]},"fwd_from":{"description":"Info about forwarded messages","links":null},"grouped_id":{"description":"Multiple media messages sent using messages.sendMultiMedia¹ with the same grouped ID indicate an album or media group²","links":["https://core.telegram.org/method/messages.sendMultiMedia","https://core.telegram.org/api/files#albums-grouped-media"]},"id":{"description":"ID of the message","links":null},"legacy":{"description":"This is a legacy message: it has to be refetched with the new layer","links":null},"media":{"description":"Media attachment","links":null},"media_unread":{"description":"Whether there are unread media attachments in this message","links":null},"mentioned":{"description":"Whether we were mentioned¹ in this message","links":["https://core.telegram.org/api/mentions"]},"message":{"description":"The message","links":null},"out":{"description":"Is this an outgoing message","links":null},"peer_id":{"description":"Peer ID, the chat where this message was sent","links":null},"pinned":{"description":"Whether this message is pinned¹","links":["https://core.telegram.org/api/pin"]},"post":{"description":"Whether this is a channel post","links":null},"post_author":{"description":"Name of the author of this message for channel posts (with signatures enabled)","links":null},"replies":{"description":"Info about post comments (for channels) or message replies (for groups)¹","links":["https://core.telegram.org/api/threads"]},"reply_markup":{"description":"Reply markup (bot/inline keyboards)","links":null},"reply_to":{"description":"Reply information","links":null},"restriction_reason":{"description":"Contains the reason why access to this message must be restricted.","links":null},"silent":{"description":"Whether this is a silent message (no notification triggered)","links":null},"via_bot_id":{"description":"ID of the inline bot that generated the message","links":null},"views":{"description":"View count for channel posts","links":null}}},"messageActionBotAllowed":{"name":"messageActionBotAllowed","description":["The domain name of the website on which the user has logged in. More about Telegram Login »¹"],"links":["https://core.telegram.org/widgets/login"],"fields":{"domain":{"description":"The domain name of the website on which the user has logged in.","links":null}}},"messageActionChannelCreate":{"name":"messageActionChannelCreate","description":["The channel was created"],"fields":{"title":{"description":"Original channel/supergroup title","links":null}}},"messageActionChannelMigrateFrom":{"name":"messageActionChannelMigrateFrom","description":["Indicates the channel was migrated¹ from the specified chat"],"links":["https://core.telegram.org/api/channel"],"fields":{"chat_id":{"description":"The old chat ID","links":null},"title":{"description":"The old chat tite","links":null}}},"messageActionChatAddUser":{"name":"messageActionChatAddUser","description":["New member in the group"],"fields":{"users":{"description":"Users that were invited to the chat","links":null}}},"messageActionChatCreate":{"name":"messageActionChatCreate","description":["Group created"],"fields":{"title":{"description":"Group name","links":null},"users":{"description":"List of group members","links":null}}},"messageActionChatDeletePhoto":{"name":"messageActionChatDeletePhoto","description":["Group profile photo removed."]},"messageActionChatDeleteUser":{"name":"messageActionChatDeleteUser","description":["User left the group."],"fields":{"user_id":{"description":"Leaving user ID","links":null}}},"messageActionChatEditPhoto":{"name":"messageActionChatEditPhoto","description":["Group profile changed"],"fields":{"photo":{"description":"New group pofile photo","links":null}}},"messageActionChatEditTitle":{"name":"messageActionChatEditTitle","description":["Group name changed."],"fields":{"title":{"description":"New group name","links":null}}},"messageActionChatJoinedByLink":{"name":"messageActionChatJoinedByLink","description":["A user joined the chat via an invite link"],"fields":{"inviter_id":{"description":"ID of the user that created the invite link","links":null}}},"messageActionChatMigrateTo":{"name":"messageActionChatMigrateTo","description":["Indicates the chat was migrated¹ to the specified supergroup"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"The supergroup it was migrated to","links":null}}},"messageActionContactSignUp":{"name":"messageActionContactSignUp","description":["A contact just signed up to telegram"]},"messageActionCustomAction":{"name":"messageActionCustomAction","description":["Custom action (most likely not supported by the current layer, an upgrade might be needed)"],"fields":{"message":{"description":"Action message","links":null}}},"messageActionEmpty":{"name":"messageActionEmpty","description":["Empty constructor."]},"messageActionGameScore":{"name":"messageActionGameScore","description":["Someone scored in a game"],"fields":{"game_id":{"description":"Game ID","links":null},"score":{"description":"Score","links":null}}},"messageActionGeoProximityReached":{"name":"messageActionGeoProximityReached","description":["A user of the chat is now in proximity of another user"],"fields":{"distance":{"description":"Distance, in meters (0-100000)","links":null},"from_id":{"description":"The user or chat that is now in proximity of to_id","links":null},"to_id":{"description":"The user or chat that subscribed to live geolocation proximity alerts¹","links":["https://core.telegram.org/api/live-location#proximity-alert"]}}},"messageActionHistoryClear":{"name":"messageActionHistoryClear","description":["Chat history was cleared"]},"messageActionPaymentSent":{"name":"messageActionPaymentSent","description":["A payment was sent"],"fields":{"currency":{"description":"Three-letter ISO 4217 currency¹ code","links":["https://core.telegram.org/bots/payments#supported-currencies"]},"total_amount":{"description":"Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json¹, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).","links":["https://core.telegram.org/bots/payments/currencies.json"]}}},"messageActionPaymentSentMe":{"name":"messageActionPaymentSentMe","description":["A user just sent a payment to me (a bot)"],"fields":{"charge":{"description":"Provider payment identifier","links":null},"currency":{"description":"Three-letter ISO 4217 currency¹ code","links":["https://core.telegram.org/bots/payments#supported-currencies"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"info":{"description":"Order info provided by the user","links":null},"payload":{"description":"Bot specified invoice payload","links":null},"shipping_option_id":{"description":"Identifier of the shipping option chosen by the user","links":null},"total_amount":{"description":"Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json¹, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).","links":["https://core.telegram.org/bots/payments/currencies.json"]}}},"messageActionPhoneCall":{"name":"messageActionPhoneCall","description":["A phone call"],"fields":{"call_id":{"description":"Call ID","links":null},"duration":{"description":"Duration of the call in seconds","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"reason":{"description":"If the call has ended, the reason why it ended","links":null},"video":{"description":"Is this a video call?","links":null}}},"messageActionPinMessage":{"name":"messageActionPinMessage","description":["A message was pinned"]},"messageActionScreenshotTaken":{"name":"messageActionScreenshotTaken","description":["A screenshot of the chat was taken"]},"messageActionSecureValuesSent":{"name":"messageActionSecureValuesSent","description":["Request for secure telegram passport¹ values was sent"],"links":["https://core.telegram.org/passport"],"fields":{"types":{"description":"Secure value types","links":null}}},"messageActionSecureValuesSentMe":{"name":"messageActionSecureValuesSentMe","description":["Secure telegram passport¹ values were received"],"links":["https://core.telegram.org/passport"],"fields":{"credentials":{"description":"Encrypted credentials required to decrypt the data","links":null},"values":{"description":"Vector with information about documents and other Telegram Passport elements that were shared with the bot","links":null}}},"messageEmpty":{"name":"messageEmpty","description":["Empty constructor, non-existent message."],"fields":{"id":{"description":"Message identifier","links":null}}},"messageEntityBankCard":{"name":"messageEntityBankCard","description":["Indicates a credit card number"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityBlockquote":{"name":"messageEntityBlockquote","description":["Message entity representing a block quote."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityBold":{"name":"messageEntityBold","description":["Message entity representing bold text."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityBotCommand":{"name":"messageEntityBotCommand","description":["Message entity representing a bot /command"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityCashtag":{"name":"messageEntityCashtag","description":["Message entity representing a $cashtag."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityCode":{"name":"messageEntityCode","description":["Message entity representing a codeblock."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityEmail":{"name":"messageEntityEmail","description":["Message entity representing an email@example.com¹."],"links":["https://core.telegram.orgmailto:email@example.com"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityHashtag":{"name":"messageEntityHashtag","description":["#hashtag message entity"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityItalic":{"name":"messageEntityItalic","description":["Message entity representing italic text."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityMention":{"name":"messageEntityMention","description":["Message entity mentioning¹ the current user"],"links":["https://core.telegram.org/api/mentions"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityMentionName":{"name":"messageEntityMentionName","description":["Message entity representing a user mention¹: for creating a mention use inputMessageEntityMentionName²."],"links":["https://core.telegram.org/api/mentions","https://core.telegram.org/constructor/inputMessageEntityMentionName"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null},"user_id":{"description":"Identifier of the user that was mentioned","links":null}}},"messageEntityPhone":{"name":"messageEntityPhone","description":["Message entity representing a phone number."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityPre":{"name":"messageEntityPre","description":["Message entity representing a preformatted codeblock, allowing the user to specify a programming language for the codeblock."],"fields":{"language":{"description":"Programming language of the code","links":null},"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityStrike":{"name":"messageEntityStrike","description":["Message entity representing strikethrough text."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityTextUrl":{"name":"messageEntityTextUrl","description":["Message entity representing a text url¹: for in-text urls like https://google.com² use messageEntityUrl³."],"links":["https://google.com","https://google.com","https://core.telegram.org/constructor/messageEntityUrl"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null},"url":{"description":"The actual URL","links":null}}},"messageEntityUnderline":{"name":"messageEntityUnderline","description":["Message entity representing underlined text."],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityUnknown":{"name":"messageEntityUnknown","description":["Unknown message entity"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageEntityUrl":{"name":"messageEntityUrl","description":["Message entity representing an in-text url: https://google.com¹; for text urls², use messageEntityTextUrl³."],"links":["https://google.com","https://google.com","https://core.telegram.org/constructor/messageEntityTextUrl"],"fields":{"length":{"description":"Length of message entity within message (in UTF-8 codepoints)","links":null},"offset":{"description":"Offset of message entity within message (in UTF-8 codepoints)","links":null}}},"messageFwdHeader":{"name":"messageFwdHeader","description":["Info about a forwarded message"],"fields":{"channel_post":{"description":"ID of the channel message that was forwarded","links":null},"date":{"description":"When was the message originally sent","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"from_id":{"description":"The ID of the user that originally sent the message","links":null},"from_name":{"description":"The name of the user that originally sent the message","links":null},"post_author":{"description":"For channels and if signatures are enabled, author of the channel message","links":null},"psa_type":{"description":"PSA type","links":null},"saved_from_msg_id":{"description":"Only for messages forwarded to the current user (inputPeerSelf), ID of the message that was forwarded from the original user/channel","links":null},"saved_from_peer":{"description":"Only for messages forwarded to the current user (inputPeerSelf), full info about the user/channel that originally sent the message","links":null}}},"messageInteractionCounters":{"name":"messageInteractionCounters","description":["Message interaction counters"],"fields":{"forwards":{"description":"Number of times this message was forwarded","links":null},"msg_id":{"description":"Message ID","links":null},"views":{"description":"Views","links":null}}},"messageMediaContact":{"name":"messageMediaContact","description":["Attached contact."],"fields":{"first_name":{"description":"Contact's first name","links":null},"last_name":{"description":"Contact's last name","links":null},"phone_number":{"description":"Phone number","links":null},"user_id":{"description":"User identifier or 0, if the user with the given phone number is not registered","links":null},"vcard":{"description":"VCARD of contact","links":null}}},"messageMediaDice":{"name":"messageMediaDice","description":["Dice-based animated sticker¹"],"links":["https://core.telegram.org/api/dice"],"fields":{"emoticon":{"description":"The emoji, for now , and are supported","links":null},"value":{"description":"Dice value¹","links":["https://core.telegram.org/api/dice"]}}},"messageMediaDocument":{"name":"messageMediaDocument","description":["Document (video, audio, voice, sticker, any media type except photo)"],"fields":{"document":{"description":"Attached document","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"ttl_seconds":{"description":"Time to live of self-destructing document","links":null}}},"messageMediaEmpty":{"name":"messageMediaEmpty","description":["Empty constructor."]},"messageMediaGame":{"name":"messageMediaGame","description":["Telegram game"],"fields":{"game":{"description":"Game","links":null}}},"messageMediaGeo":{"name":"messageMediaGeo","description":["Attached map."],"fields":{"geo":{"description":"GeoPoint","links":null}}},"messageMediaGeoLive":{"name":"messageMediaGeoLive","description":["Indicates a live geolocation¹"],"links":["https://core.telegram.org/api/live-location"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo":{"description":"Geolocation","links":null},"heading":{"description":"For live locations¹, a direction in which the location moves, in degrees; 1-360","links":["https://core.telegram.org/api/live-location"]},"period":{"description":"Validity period of provided geolocation","links":null},"proximity_notification_radius":{"description":"For live locations¹, a maximum distance to another chat member for proximity alerts, in meters (0-100000).","links":["https://core.telegram.org/api/live-location"]}}},"messageMediaInvoice":{"name":"messageMediaInvoice","description":["Invoice"],"fields":{"currency":{"description":"Three-letter ISO 4217 currency¹ code","links":["https://core.telegram.org/bots/payments#supported-currencies"]},"description":{"description":"Product description, 1-255 characters","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"photo":{"description":"URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for.","links":null},"receipt_msg_id":{"description":"Message ID of receipt: if set, clients should change the text of the first keyboardButtonBuy¹ button always attached to the message² to a localized version of the word Receipt","links":["https://core.telegram.org/constructor/keyboardButtonBuy","https://core.telegram.org/constructor/message"]},"shipping_address_requested":{"description":"Whether the shipping address was requested","links":null},"start_param":{"description":"Unique bot deep-linking parameter that can be used to generate this invoice","links":null},"test":{"description":"Whether this is an example invoice","links":null},"title":{"description":"Product name, 1-32 characters","links":null},"total_amount":{"description":"Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json¹, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).","links":["https://core.telegram.org/bots/payments/currencies.json"]}}},"messageMediaPhoto":{"name":"messageMediaPhoto","description":["Attached photo."],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"photo":{"description":"Photo","links":null},"ttl_seconds":{"description":"Time to live in seconds of self-destructing photo","links":null}}},"messageMediaPoll":{"name":"messageMediaPoll","description":["Poll"],"fields":{"poll":{"description":"The poll","links":null},"results":{"description":"The results of the poll","links":null}}},"messageMediaUnsupported":{"name":"messageMediaUnsupported","description":["Current version of the client does not support this media type."]},"messageMediaVenue":{"name":"messageMediaVenue","description":["Venue"],"fields":{"address":{"description":"Address","links":null},"geo":{"description":"Geolocation of venue","links":null},"provider":{"description":"Venue provider: currently only \"foursquare\" needs to be supported","links":null},"title":{"description":"Venue name","links":null},"venue_id":{"description":"Venue ID in the provider's database","links":null},"venue_type":{"description":"Venue type in the provider's database","links":null}}},"messageMediaWebPage":{"name":"messageMediaWebPage","description":["Preview of webpage"],"fields":{"webpage":{"description":"Webpage preview","links":null}}},"messageRange":{"name":"messageRange","description":["Indicates a range of chat messages"],"fields":{"max_id":{"description":"End of range (message ID)","links":null},"min_id":{"description":"Start of range (message ID)","links":null}}},"messageReplies":{"name":"messageReplies","description":["Info about the comment section of a channel post, or a simple message thread¹"],"links":["https://core.telegram.org/api/threads"],"fields":{"channel_id":{"description":"For channel post comments, contains the ID of the associated discussion supergroup¹","links":["https://core.telegram.org/api/discussion"]},"comments":{"description":"Whether this constructor contains information about the comment section of a channel post, or a simple message thread¹","links":["https://core.telegram.org/api/threads"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"max_id":{"description":"ID of the latest message in this thread or comment section.","links":null},"read_max_id":{"description":"Contains the ID of the latest read message in this thread or comment section.","links":null},"recent_repliers":{"description":"For channel post comments, contains information about the last few comment posters for a specific thread, to show a small list of commenter profile pictures in client previews.","links":null},"replies":{"description":"Contains the total number of replies in this thread or comment section.","links":null},"replies_pts":{"description":"PTS¹ of the message that started this thread.","links":["https://core.telegram.org/api/updates"]}}},"messageReplyHeader":{"name":"messageReplyHeader","description":["Message replies and thread¹ information"],"links":["https://core.telegram.org/api/threads"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"reply_to_msg_id":{"description":"ID of message to which this message is replying","links":null},"reply_to_peer_id":{"description":"For replies sent in channel discussion threads¹ of which the current user is not a member, the discussion group ID","links":["https://core.telegram.org/api/threads"]},"reply_to_top_id":{"description":"ID of the message that started this message thread¹","links":["https://core.telegram.org/api/threads"]}}},"messageService":{"name":"messageService","description":["Indicates a service message"],"fields":{"action":{"description":"Event connected with the service message","links":null},"date":{"description":"Message date","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"from_id":{"description":"ID of the sender of this message","links":null},"id":{"description":"Message ID","links":null},"legacy":{"description":"This is a legacy message: it has to be refetched with the new layer","links":null},"media_unread":{"description":"Whether the message contains unread media","links":null},"mentioned":{"description":"Whether we were mentioned in the message","links":null},"out":{"description":"Whether the message is outgoing","links":null},"peer_id":{"description":"Sender of service message","links":null},"post":{"description":"Whether it's a channel post","links":null},"reply_to":{"description":"Reply (thread) information","links":null},"silent":{"description":"Whether the message is silent","links":null}}},"messageUserVote":{"name":"messageUserVote","description":["How a user voted in a poll"],"fields":{"date":{"description":"When did the user cast the vote","links":null},"option":{"description":"The option chosen by the user","links":null},"user_id":{"description":"User ID","links":null}}},"messageUserVoteInputOption":{"name":"messageUserVoteInputOption","description":["How a user voted in a poll (reduced constructor, returned if an option was provided to messages.getPollVotes¹)"],"links":["https://core.telegram.org/method/messages.getPollVotes"],"fields":{"date":{"description":"When did the user cast the vote","links":null},"user_id":{"description":"The user that voted for the queried option","links":null}}},"messageUserVoteMultiple":{"name":"messageUserVoteMultiple","description":["How a user voted in a multiple-choice poll"],"fields":{"date":{"description":"When did the user cast their votes","links":null},"options":{"description":"Options chosen by the user","links":null},"user_id":{"description":"User ID","links":null}}},"messageViews":{"name":"messageViews","description":["View, forward counter + info about replies of a specific message"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"forwards":{"description":"Forward count of message","links":null},"replies":{"description":"Reply and thread¹ information of message","links":["https://core.telegram.org/api/threads"]},"views":{"description":"Viewcount of message","links":null}}},"messages.affectedHistory":{"name":"messages.affectedHistory","description":["Affected part of communication history with the user or in a chat."],"fields":{"offset":{"description":"If a parameter contains positive value, it is necessary to repeat the method call using the given value; during the proceeding of all the history the value itself shall gradually decrease","links":null},"pts":{"description":"Number of events occured in a text box","links":null},"pts_count":{"description":"Number of affected events","links":null}}},"messages.affectedMessages":{"name":"messages.affectedMessages","description":["Events affected by operation"],"fields":{"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"messages.allStickers":{"name":"messages.allStickers","description":["Info about all installed stickers"],"fields":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"sets":{"description":"All stickersets","links":null}}},"messages.allStickersNotModified":{"name":"messages.allStickersNotModified","description":["Info about all installed stickers hasn't changed"]},"messages.archivedStickers":{"name":"messages.archivedStickers","description":["Archived stickersets"],"fields":{"count":{"description":"Number of archived stickers","links":null},"sets":{"description":"Archived stickersets","links":null}}},"messages.botCallbackAnswer":{"name":"messages.botCallbackAnswer","description":["Callback answer sent by the bot in response to a button press"],"fields":{"alert":{"description":"Whether an alert should be shown to the user instead of a toast notification","links":null},"cache_time":{"description":"For how long should this answer be cached","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_url":{"description":"Whether an URL is present","links":null},"message":{"description":"Alert to show","links":null},"native_ui":{"description":"Whether to show games in WebView or in native UI.","links":null},"url":{"description":"URL to open","links":null}}},"messages.botResults":{"name":"messages.botResults","description":["Result of a query to an inline bot"],"fields":{"cache_time":{"description":"Caching validity of the results","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"gallery":{"description":"Whether the result is a picture gallery","links":null},"next_offset":{"description":"The next offset to use when navigating through results","links":null},"query_id":{"description":"Query ID","links":null},"results":{"description":"The results","links":null},"switch_pm":{"description":"Whether the bot requested the user to message him in private","links":null},"users":{"description":"Users mentioned in the results","links":null}}},"messages.channelMessages":{"name":"messages.channelMessages","description":["Channel messages"],"fields":{"chats":{"description":"Chats","links":null},"count":{"description":"Total number of results were found server-side (may not be all included here)","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"inexact":{"description":"If set, returned results may be inexact","links":null},"messages":{"description":"Found messages","links":null},"offset_id_offset":{"description":"Indicates the absolute position of messages[0] within the total result set with count count. This is useful, for example, if the result was fetched using offset_id, and we need to display a progress/total counter (like photo 134 of 200, for all media in a chat, we could simply use photo ${offset_id_offset} of ${count}.","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"users":{"description":"Users","links":null}}},"messages.chatFull":{"name":"messages.chatFull","description":["Extended info on chat and auxiliary data."],"fields":{"chats":{"description":"List containing basic info on chat","links":null},"full_chat":{"description":"Extended info on a chat","links":null},"users":{"description":"List of users mentioned above","links":null}}},"messages.chats":{"name":"messages.chats","description":["List of chats with auxiliary data."],"fields":{"chats":{"description":"List of chats","links":null}}},"messages.chatsSlice":{"name":"messages.chatsSlice","description":["Partial list of chats, more would have to be fetched with pagination¹"],"links":["https://core.telegram.org/api/offsets"],"fields":{"chats":{"description":"Chats","links":null},"count":{"description":"Total number of results that were found server-side (not all are included in chats)","links":null}}},"messages.dhConfig":{"name":"messages.dhConfig","description":["New set of configuring parameters."],"fields":{"g":{"description":"New value prime, see Wikipedia¹","links":["https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange"]},"p":{"description":"New value primitive root, see Wikipedia¹","links":["https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange"]},"random":{"description":"Random sequence of bytes of assigned length","links":null},"version":{"description":"Vestion of set of parameters","links":null}}},"messages.dhConfigNotModified":{"name":"messages.dhConfigNotModified","description":["Configuring parameters did not change."],"fields":{"random":{"description":"Random sequence of bytes of assigned length","links":null}}},"messages.dialogs":{"name":"messages.dialogs","description":["Full list of chats with messages and auxiliary data."],"fields":{"chats":{"description":"List of groups mentioned in the chats","links":null},"dialogs":{"description":"List of chats","links":null},"messages":{"description":"List of last messages from each chat","links":null},"users":{"description":"List of users mentioned in messages and groups","links":null}}},"messages.dialogsNotModified":{"name":"messages.dialogsNotModified","description":["Dialogs haven't changed"],"fields":{"count":{"description":"Number of dialogs found server-side by the query","links":null}}},"messages.dialogsSlice":{"name":"messages.dialogsSlice","description":["Incomplete list of dialogs with messages and auxiliary data."],"fields":{"chats":{"description":"List of chats mentioned in dialogs","links":null},"count":{"description":"Total number of dialogs","links":null},"dialogs":{"description":"List of dialogs","links":null},"messages":{"description":"List of last messages from dialogs","links":null},"users":{"description":"List of users mentioned in messages and chats","links":null}}},"messages.discussionMessage":{"name":"messages.discussionMessage","description":["Information about a message thread¹"],"links":["https://core.telegram.org/api/threads"],"fields":{"chats":{"description":"Chats mentioned in constructor","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"max_id":{"description":"Message ID of latest reply in this thread¹","links":["https://core.telegram.org/api/threads"]},"messages":{"description":"Discussion messages","links":null},"read_inbox_max_id":{"description":"Message ID of latest read incoming message in this thread¹","links":["https://core.telegram.org/api/threads"]},"read_outbox_max_id":{"description":"Message ID of latest read outgoing message in this thread¹","links":["https://core.telegram.org/api/threads"]},"users":{"description":"Users mentioned in constructor","links":null}}},"messages.favedStickers":{"name":"messages.favedStickers","description":["Favorited stickers"],"fields":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"packs":{"description":"Emojis associated to stickers","links":null},"stickers":{"description":"Favorited stickers","links":null}}},"messages.favedStickersNotModified":{"name":"messages.favedStickersNotModified","description":["No new favorited stickers were found"]},"messages.featuredStickers":{"name":"messages.featuredStickers","description":["Featured stickersets"],"fields":{"count":{"description":"Total number of featured stickers","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"sets":{"description":"Featured stickersets","links":null},"unread":{"description":"IDs of new featured stickersets","links":null}}},"messages.featuredStickersNotModified":{"name":"messages.featuredStickersNotModified","description":["Featured stickers haven't changed"],"fields":{"count":{"description":"Total number of featured stickers","links":null}}},"messages.foundStickerSets":{"name":"messages.foundStickerSets","description":["Found stickersets"],"fields":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"sets":{"description":"Found stickersets","links":null}}},"messages.foundStickerSetsNotModified":{"name":"messages.foundStickerSetsNotModified","description":["No further results were found"]},"messages.highScores":{"name":"messages.highScores","description":["Highscores in a game"],"fields":{"scores":{"description":"Highscores","links":null},"users":{"description":"Users, associated to the highscores","links":null}}},"messages.inactiveChats":{"name":"messages.inactiveChats","description":["Inactive chat list"],"fields":{"chats":{"description":"Chat list","links":null},"dates":{"description":"When was the chat last active","links":null},"users":{"description":"Users mentioned in the chat list","links":null}}},"messages.messageEditData":{"name":"messages.messageEditData","description":["Message edit data for media"],"fields":{"caption":{"description":"Media caption, if the specified media's caption can be edited","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"messages.messageViews":{"name":"messages.messageViews","description":["View, forward counter + info about replies"],"fields":{"chats":{"description":"Chats mentioned in constructor","links":null},"users":{"description":"Users mentioned in constructor","links":null},"views":{"description":"View, forward counter + info about replies","links":null}}},"messages.messages":{"name":"messages.messages","description":["Full list of messages with auxilary data."],"fields":{"chats":{"description":"List of chats mentioned in dialogs","links":null},"messages":{"description":"List of messages","links":null},"users":{"description":"List of users mentioned in messages and chats","links":null}}},"messages.messagesNotModified":{"name":"messages.messagesNotModified","description":["No new messages matching the query were found"],"fields":{"count":{"description":"Number of results found server-side by the given query","links":null}}},"messages.messagesSlice":{"name":"messages.messagesSlice","description":["Incomplete list of messages and auxiliary data."],"fields":{"chats":{"description":"List of chats mentioned in messages","links":null},"count":{"description":"Total number of messages in the list","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"inexact":{"description":"If set, indicates that the results may be inexact","links":null},"messages":{"description":"List of messages","links":null},"next_rate":{"description":"Rate to use in the offset_rate parameter in the next call to messages.searchGlobal¹","links":["https://core.telegram.org/method/messages.searchGlobal"]},"offset_id_offset":{"description":"Indicates the absolute position of messages[0] within the total result set with count count. This is useful, for example, if the result was fetched using offset_id, and we need to display a progress/total counter (like photo 134 of 200, for all media in a chat, we could simply use photo ${offset_id_offset} of ${count}.","links":null},"users":{"description":"List of users mentioned in messages and chats","links":null}}},"messages.peerDialogs":{"name":"messages.peerDialogs","description":["Dialog info of multiple peers"],"fields":{"chats":{"description":"Chats","links":null},"dialogs":{"description":"Dialog info","links":null},"messages":{"description":"Messages mentioned in dialog info","links":null},"state":{"description":"Current update state of dialog¹","links":["https://core.telegram.org/api/updates"]},"users":{"description":"Users","links":null}}},"messages.recentStickers":{"name":"messages.recentStickers","description":["Recently used stickers"],"fields":{"dates":{"description":"When was each sticker last used","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"packs":{"description":"Emojis associated to stickers","links":null},"stickers":{"description":"Recent stickers","links":null}}},"messages.recentStickersNotModified":{"name":"messages.recentStickersNotModified","description":["No new recent sticker was found"]},"messages.savedGifs":{"name":"messages.savedGifs","description":["Saved gifs"],"fields":{"gifs":{"description":"List of saved gifs","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.savedGifsNotModified":{"name":"messages.savedGifsNotModified","description":["No new saved gifs were found"]},"messages.searchCounter":{"name":"messages.searchCounter","description":["Indicates how many results would be found by a messages.search¹ call with the same parameters"],"links":["https://core.telegram.org/method/messages.search"],"fields":{"count":{"description":"Number of results that were found server-side","links":null},"filter":{"description":"Provided message filter","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"inexact":{"description":"If set, the results may be inexact","links":null}}},"messages.sentEncryptedFile":{"name":"messages.sentEncryptedFile","description":["Message with a file enclosure sent to a protected chat"],"fields":{"date":{"description":"Sending date","links":null},"file":{"description":"Attached file","links":null}}},"messages.sentEncryptedMessage":{"name":"messages.sentEncryptedMessage","description":["Message without file attachemts sent to an encrypted file."],"fields":{"date":{"description":"Date of sending","links":null}}},"messages.stickerSet":{"name":"messages.stickerSet","description":["Stickerset and stickers inside it"],"fields":{"documents":{"description":"Stickers in stickerset","links":null},"packs":{"description":"Emoji info for stickers","links":null},"set":{"description":"The stickerset","links":null}}},"messages.stickerSetInstallResultArchive":{"name":"messages.stickerSetInstallResultArchive","description":["The stickerset was installed, but since there are too many stickersets some were archived"],"fields":{"sets":{"description":"Archived stickersets","links":null}}},"messages.stickerSetInstallResultSuccess":{"name":"messages.stickerSetInstallResultSuccess","description":["The stickerset was installed successfully"]},"messages.stickers":{"name":"messages.stickers","description":["Found stickers"],"fields":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"stickers":{"description":"Stickers","links":null}}},"messages.stickersNotModified":{"name":"messages.stickersNotModified","description":["No new stickers were found for the given query"]},"messages.votesList":{"name":"messages.votesList","description":["How users voted in a poll"],"fields":{"count":{"description":"Total number of votes for all options (or only for the chosen option, if provided to messages.getPollVotes¹)","links":["https://core.telegram.org/method/messages.getPollVotes"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"next_offset":{"description":"Offset to use with the next messages.getPollVotes¹ request, empty string if no more results are available.","links":["https://core.telegram.org/method/messages.getPollVotes"]},"users":{"description":"Info about users that voted in the poll","links":null},"votes":{"description":"Vote info for each user","links":null}}},"nearestDc":{"name":"nearestDc","description":["Nearest data centre, according to geo-ip."],"fields":{"country":{"description":"Country code determined by geo-ip","links":null},"nearest_dc":{"description":"Number of nearest data centre","links":null},"this_dc":{"description":"Number of current data centre","links":null}}},"notifyBroadcasts":{"name":"notifyBroadcasts","description":["Channel notification settings"]},"notifyChats":{"name":"notifyChats","description":["Notifications generated by all groups."]},"notifyPeer":{"name":"notifyPeer","description":["Notifications generated by a certain user or group."],"fields":{"peer":{"description":"user or group","links":null}}},"notifyUsers":{"name":"notifyUsers","description":["Notifications generated by all users."]},"null":{"name":"null","description":["Corresponds to an arbitrary empty object."]},"page":{"name":"page","description":["Instant view¹ page"],"links":["https://instantview.telegram.org"],"fields":{"blocks":{"description":"Page elements (like with HTML elements, only as TL constructors)","links":null},"documents":{"description":"Media in page","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"part":{"description":"Indicates that not full page preview is available to the client and it will need to fetch full Instant View from the server using messages.getWebPagePreview¹.","links":["https://core.telegram.org/method/messages.getWebPagePreview"]},"photos":{"description":"Photos in page","links":null},"rtl":{"description":"Whether the page contains RTL text","links":null},"url":{"description":"Original page HTTP URL","links":null},"v2":{"description":"Whether this is an IV v2¹ page","links":["https://instantview.telegram.org/docs#what-39s-new-in-2-0"]},"views":{"description":"Viewcount","links":null}}},"pageBlockAnchor":{"name":"pageBlockAnchor","description":["Link to section within the page itself (like \u003ca href=\"#target\"\u003eanchor\u003c/a\u003e)"],"fields":{"name":{"description":"Name of target section","links":null}}},"pageBlockAudio":{"name":"pageBlockAudio","description":["Audio"],"fields":{"audio_id":{"description":"Audio ID (to be fetched from the container page¹ constructor","links":["https://core.telegram.org/constructor/page"]},"caption":{"description":"Audio caption","links":null}}},"pageBlockAuthorDate":{"name":"pageBlockAuthorDate","description":["Author and date of creation of article"],"fields":{"author":{"description":"Author name","links":null},"published_date":{"description":"Date of pubblication","links":null}}},"pageBlockBlockquote":{"name":"pageBlockBlockquote","description":["Quote (equivalent to the HTML \u003cblockquote\u003e)"],"fields":{"caption":{"description":"Caption","links":null},"text":{"description":"Quote contents","links":null}}},"pageBlockChannel":{"name":"pageBlockChannel","description":["Reference to a telegram channel"],"fields":{"channel":{"description":"The channel/supergroup/chat","links":null}}},"pageBlockCollage":{"name":"pageBlockCollage","description":["Collage of media"],"fields":{"caption":{"description":"Caption","links":null},"items":{"description":"Media elements","links":null}}},"pageBlockCover":{"name":"pageBlockCover","description":["A page cover"],"fields":{"cover":{"description":"Cover","links":null}}},"pageBlockDetails":{"name":"pageBlockDetails","description":["A collapsible details block"],"fields":{"blocks":{"description":"Block contents","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"open":{"description":"Whether the block is open by default","links":null},"title":{"description":"Always visible heading for the block","links":null}}},"pageBlockDivider":{"name":"pageBlockDivider","description":["An empty block separating a page"]},"pageBlockEmbed":{"name":"pageBlockEmbed","description":["An embedded webpage"],"fields":{"allow_scrolling":{"description":"Whether scrolling should be allowed","links":null},"caption":{"description":"Caption","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"full_width":{"description":"Whether the block should be full width","links":null},"h":{"description":"Block height, if known","links":null},"html":{"description":"HTML-markup of the embedded page","links":null},"poster_photo_id":{"description":"Poster photo, if available","links":null},"url":{"description":"Web page URL, if available","links":null},"w":{"description":"Block width, if known","links":null}}},"pageBlockEmbedPost":{"name":"pageBlockEmbedPost","description":["An embedded post"],"fields":{"author":{"description":"Author name","links":null},"author_photo_id":{"description":"ID of the author's photo","links":null},"blocks":{"description":"Post contents","links":null},"caption":{"description":"Caption","links":null},"date":{"description":"Creation date","links":null},"url":{"description":"Web page URL","links":null},"webpage_id":{"description":"ID of generated webpage preview","links":null}}},"pageBlockFooter":{"name":"pageBlockFooter","description":["Page footer"],"fields":{"text":{"description":"Contents","links":null}}},"pageBlockHeader":{"name":"pageBlockHeader","description":["Page header"],"fields":{"text":{"description":"Contents","links":null}}},"pageBlockKicker":{"name":"pageBlockKicker","description":["Kicker"],"fields":{"text":{"description":"Contents","links":null}}},"pageBlockList":{"name":"pageBlockList","description":["Unordered list of IV blocks"],"fields":{"items":{"description":"List of blocks in an IV page","links":null}}},"pageBlockMap":{"name":"pageBlockMap","description":["A map"],"fields":{"caption":{"description":"Caption","links":null},"geo":{"description":"Location of the map center","links":null},"h":{"description":"Map height in pixels before applying scale; 16-1024","links":null},"w":{"description":"Map width in pixels before applying scale; 16-102","links":null},"zoom":{"description":"Map zoom level; 13-20","links":null}}},"pageBlockOrderedList":{"name":"pageBlockOrderedList","description":["Ordered list of IV blocks"],"fields":{"items":{"description":"List items","links":null}}},"pageBlockParagraph":{"name":"pageBlockParagraph","description":["A paragraph"],"fields":{"text":{"description":"Text","links":null}}},"pageBlockPhoto":{"name":"pageBlockPhoto","description":["A photo"],"fields":{"caption":{"description":"Caption","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"photo_id":{"description":"Photo ID","links":null},"url":{"description":"HTTP URL of page the photo leads to when clicked","links":null},"webpage_id":{"description":"ID of preview of the page the photo leads to when clicked","links":null}}},"pageBlockPreformatted":{"name":"pageBlockPreformatted","description":["Preformatted (\u003cpre\u003e text)"],"fields":{"language":{"description":"Programming language of preformatted text","links":null},"text":{"description":"Text","links":null}}},"pageBlockPullquote":{"name":"pageBlockPullquote","description":["Pullquote"],"fields":{"caption":{"description":"Caption","links":null},"text":{"description":"Text","links":null}}},"pageBlockRelatedArticles":{"name":"pageBlockRelatedArticles","description":["Related articles"],"fields":{"articles":{"description":"Related articles","links":null},"title":{"description":"Title","links":null}}},"pageBlockSlideshow":{"name":"pageBlockSlideshow","description":["Slideshow"],"fields":{"caption":{"description":"Caption","links":null},"items":{"description":"Slideshow items","links":null}}},"pageBlockSubheader":{"name":"pageBlockSubheader","description":["Subheader"],"fields":{"text":{"description":"Subheader","links":null}}},"pageBlockSubtitle":{"name":"pageBlockSubtitle","description":["Subtitle"],"fields":{"text":{"description":"Text","links":null}}},"pageBlockTable":{"name":"pageBlockTable","description":["Table"],"fields":{"bordered":{"description":"Does the table have a visible border?","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"rows":{"description":"Table rows","links":null},"striped":{"description":"Is the table striped?","links":null},"title":{"description":"Title","links":null}}},"pageBlockTitle":{"name":"pageBlockTitle","description":["Title"],"fields":{"text":{"description":"Title","links":null}}},"pageBlockUnsupported":{"name":"pageBlockUnsupported","description":["Unsupported IV element"]},"pageBlockVideo":{"name":"pageBlockVideo","description":["Video"],"fields":{"autoplay":{"description":"Whether the video is set to autoplay","links":null},"caption":{"description":"Caption","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"loop":{"description":"Whether the video is set to loop","links":null},"video_id":{"description":"Video ID","links":null}}},"pageCaption":{"name":"pageCaption","description":["Page caption"],"fields":{"credit":{"description":"Credits","links":null},"text":{"description":"Caption","links":null}}},"pageListItemBlocks":{"name":"pageListItemBlocks","description":["List item"],"fields":{"blocks":{"description":"Blocks","links":null}}},"pageListItemText":{"name":"pageListItemText","description":["List item"],"fields":{"text":{"description":"Text","links":null}}},"pageListOrderedItemBlocks":{"name":"pageListOrderedItemBlocks","description":["Ordered list of IV¹ blocks"],"links":["https://instantview.telegram.org"],"fields":{"blocks":{"description":"Item contents","links":null},"num":{"description":"Number of element within ordered list","links":null}}},"pageListOrderedItemText":{"name":"pageListOrderedItemText","description":["Ordered list of text items"],"fields":{"num":{"description":"Number of element within ordered list","links":null},"text":{"description":"Text","links":null}}},"pageRelatedArticle":{"name":"pageRelatedArticle","description":["Related article"],"fields":{"author":{"description":"Author name","links":null},"description":{"description":"Description","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"photo_id":{"description":"ID of preview photo","links":null},"published_date":{"description":"Date of pubblication","links":null},"title":{"description":"Title","links":null},"url":{"description":"URL of article","links":null},"webpage_id":{"description":"Webpage ID of generated IV preview","links":null}}},"pageTableCell":{"name":"pageTableCell","description":["Table cell"],"fields":{"align_center":{"description":"Horizontally centered block","links":null},"align_right":{"description":"Right-aligned block","links":null},"colspan":{"description":"For how many columns should this cell extend","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"header":{"description":"Is this element part of the column header","links":null},"rowspan":{"description":"For how many rows should this cell extend","links":null},"text":{"description":"Content","links":null},"valign_bottom":{"description":"Block vertically-alligned to the bottom","links":null},"valign_middle":{"description":"Vertically centered block","links":null}}},"pageTableRow":{"name":"pageTableRow","description":["Table row"],"fields":{"cells":{"description":"Table cells","links":null}}},"passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow":{"name":"passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow","description":["This key derivation algorithm defines that SRP 2FA login¹ must be used"],"links":["https://core.telegram.org/api/srp"],"fields":{"g":{"description":"Base (see SRP 2FA login¹)","links":["https://core.telegram.org/api/srp"]},"p":{"description":"2048-bit modulus (see SRP 2FA login¹)","links":["https://core.telegram.org/api/srp"]},"salt1":{"description":"One of two salts used by the derivation function (see SRP 2FA login¹)","links":["https://core.telegram.org/api/srp"]},"salt2":{"description":"One of two salts used by the derivation function (see SRP 2FA login¹)","links":["https://core.telegram.org/api/srp"]}}},"passwordKdfAlgoUnknown":{"name":"passwordKdfAlgoUnknown","description":["Unknown KDF (most likely, the client is outdated and does not support the specified KDF algorithm)"]},"paymentCharge":{"name":"paymentCharge","description":["Payment identifier"],"fields":{"id":{"description":"Telegram payment identifier","links":null},"provider_charge_id":{"description":"Provider payment identifier","links":null}}},"paymentRequestedInfo":{"name":"paymentRequestedInfo","description":["Order info provided by the user"],"fields":{"email":{"description":"User's email address","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"name":{"description":"User's full name","links":null},"phone":{"description":"User's phone number","links":null},"shipping_address":{"description":"User's shipping address","links":null}}},"paymentSavedCredentialsCard":{"name":"paymentSavedCredentialsCard","description":["Saved credit card"],"fields":{"id":{"description":"Card ID","links":null},"title":{"description":"Title","links":null}}},"payments.ValidatedRequestedInfo":{"name":"payments.ValidatedRequestedInfo","description":["Validated user-provided info"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID","links":null},"shipping_options":{"description":"Shipping options","links":null}}},"payments.bankCardData":{"name":"payments.bankCardData","description":["Credit card info, provided by the card's bank(s)"],"fields":{"open_urls":{"description":"Info URL(s) provided by the card's bank(s)","links":null},"title":{"description":"Credit card title","links":null}}},"payments.paymentForm":{"name":"payments.paymentForm","description":["Payment form"],"fields":{"bot_id":{"description":"Bot ID","links":null},"can_save_credentials":{"description":"Whether the user can choose to save credentials.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"invoice":{"description":"Invoice","links":null},"native_params":{"description":"Contains information about the payment provider, if available, to support it natively without the need for opening the URL.A JSON object that can contain the following fields:- publishable_key: Stripe API publishable key- apple_pay_merchant_id: Apple Pay merchant ID- android_pay_public_key: Android Pay public key- android_pay_bgcolor: Android Pay form background color- android_pay_inverse: Whether to use the dark theme in the Android Pay form- need_country: True, if the user country must be provided,- need_zip: True, if the user ZIP/postal code must be provided,- need_cardholder_name: True, if the cardholder name must be provided","links":null},"native_provider":{"description":"Payment provider name.One of the following:- stripe","links":null},"password_missing":{"description":"Indicates that the user can save payment credentials, but only after setting up a 2FA password¹ (currently the account doesn't have a 2FA password²)","links":["https://core.telegram.org/api/srp","https://core.telegram.org/api/srp"]},"provider_id":{"description":"Payment provider ID.","links":null},"saved_credentials":{"description":"Contains information about saved card credentials","links":null},"saved_info":{"description":"Saved server-side order information","links":null},"url":{"description":"Payment form URL","links":null},"users":{"description":"Users","links":null}}},"payments.paymentReceipt":{"name":"payments.paymentReceipt","description":["Receipt"],"fields":{"bot_id":{"description":"Bot ID","links":null},"credentials_title":{"description":"Payment credential name","links":null},"currency":{"description":"Three-letter ISO 4217 currency¹ code","links":["https://core.telegram.org/bots/payments#supported-currencies"]},"date":{"description":"Date of generation","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"info":{"description":"Info","links":null},"invoice":{"description":"Invoice","links":null},"provider_id":{"description":"Provider ID","links":null},"shipping":{"description":"Selected shipping option","links":null},"total_amount":{"description":"Total amount in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json¹, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).","links":["https://core.telegram.org/bots/payments/currencies.json"]},"users":{"description":"Users","links":null}}},"payments.paymentResult":{"name":"payments.paymentResult","description":["Payment result"],"fields":{"updates":{"description":"Info about the payment","links":null}}},"payments.paymentVerificationNeeded":{"name":"payments.paymentVerificationNeeded","description":["Payment was not successful, additional verification is needed"],"fields":{"url":{"description":"URL for additional payment credentials verification","links":null}}},"payments.savedInfo":{"name":"payments.savedInfo","description":["Saved server-side order information"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_saved_credentials":{"description":"Whether the user has some saved payment credentials","links":null},"saved_info":{"description":"Saved server-side order information","links":null}}},"peerBlocked":{"name":"peerBlocked","description":["Information about a blocked peer"],"fields":{"date":{"description":"When was the peer blocked","links":null},"peer_id":{"description":"Peer ID","links":null}}},"peerChannel":{"name":"peerChannel","description":["Channel/supergroup"],"fields":{"channel_id":{"description":"Channel ID","links":null}}},"peerChat":{"name":"peerChat","description":["Group."],"fields":{"chat_id":{"description":"Group identifier","links":null}}},"peerLocated":{"name":"peerLocated","description":["Peer geolocated nearby"],"fields":{"distance":{"description":"Distance from the peer in meters","links":null},"expires":{"description":"Validity period of current data","links":null},"peer":{"description":"Peer","links":null}}},"peerNotifySettings":{"name":"peerNotifySettings","description":["Notification settings."],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"mute_until":{"description":"Mute all notifications until this date","links":null},"show_previews":{"description":"Display text in notifications","links":null},"silent":{"description":"Mute peer?","links":null},"sound":{"description":"Audio file name for notifications","links":null}}},"peerSelfLocated":{"name":"peerSelfLocated","description":["Current peer"],"fields":{"expires":{"description":"Expiry of geolocation info for current peer","links":null}}},"peerSettings":{"name":"peerSettings","description":["Peer settings"],"fields":{"add_contact":{"description":"Whether we can add the user as contact","links":null},"autoarchived":{"description":"Whether this peer was automatically archived according to privacy settings¹","links":["https://core.telegram.org/constructor/globalPrivacySettings"]},"block_contact":{"description":"Whether we can block the user","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_distance":{"description":"Distance in meters between us and this peer","links":null},"need_contacts_exception":{"description":"Whether a special exception for contacts is needed","links":null},"report_geo":{"description":"Whether we can report a geogroup is irrelevant for this location","links":null},"report_spam":{"description":"Whether we can still report the user for spam","links":null},"share_contact":{"description":"Whether we can share the user's contact","links":null}}},"peerUser":{"name":"peerUser","description":["Chat partner"],"fields":{"user_id":{"description":"User identifier","links":null}}},"phone.phoneCall":{"name":"phone.phoneCall","description":["A VoIP phone call"],"fields":{"phone_call":{"description":"The VoIP phone call","links":null},"users":{"description":"VoIP phone call participants","links":null}}},"phoneCall":{"name":"phoneCall","description":["Phone call"],"fields":{"access_hash":{"description":"Access hash","links":null},"admin_id":{"description":"User ID of the creator of the call","links":null},"connections":{"description":"List of endpoints the user can connect to to exchange call data","links":null},"date":{"description":"Date of creation of the call","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"g_a_or_b":{"description":"Parameter for key exchange¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"id":{"description":"Call ID","links":null},"key_fingerprint":{"description":"Key fingerprint¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"p2p_allowed":{"description":"Whether P2P connection to the other peer is allowed","links":null},"participant_id":{"description":"User ID of the other participant in the call","links":null},"protocol":{"description":"Call protocol info to be passed to libtgvoip","links":null},"start_date":{"description":"When was the call actually started","links":null},"video":{"description":"Whether this is a video call","links":null}}},"phoneCallAccepted":{"name":"phoneCallAccepted","description":["An accepted phone call"],"fields":{"access_hash":{"description":"Access hash of phone call","links":null},"admin_id":{"description":"ID of the call creator","links":null},"date":{"description":"When was the call accepted","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"g_b":{"description":"B parameter for secure E2E phone call key exchange¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"id":{"description":"ID of accepted phone call","links":null},"participant_id":{"description":"ID of the other user in the call","links":null},"protocol":{"description":"Protocol to use for phone call","links":null},"video":{"description":"Whether this is a video call","links":null}}},"phoneCallDiscardReasonBusy":{"name":"phoneCallDiscardReasonBusy","description":["The phone call was discared because the user is busy in another call"]},"phoneCallDiscardReasonDisconnect":{"name":"phoneCallDiscardReasonDisconnect","description":["The phone call was disconnected"]},"phoneCallDiscardReasonHangup":{"name":"phoneCallDiscardReasonHangup","description":["The phone call was ended normally"]},"phoneCallDiscardReasonMissed":{"name":"phoneCallDiscardReasonMissed","description":["The phone call was missed"]},"phoneCallDiscarded":{"name":"phoneCallDiscarded","description":["Indicates a discarded phone call"],"fields":{"duration":{"description":"Duration of the phone call in seconds","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Call ID","links":null},"need_debug":{"description":"Whether the server required the client to send¹ the libtgvoip call debug data","links":["https://core.telegram.org/method/phone.saveCallDebug"]},"need_rating":{"description":"Whether the server required the user to rate¹ the call","links":["https://core.telegram.org/method/phone.setCallRating"]},"reason":{"description":"Why was the phone call discarded","links":null},"video":{"description":"Whether the call was a video call","links":null}}},"phoneCallEmpty":{"name":"phoneCallEmpty","description":["Empty constructor"],"fields":{"id":{"description":"Call ID","links":null}}},"phoneCallProtocol":{"name":"phoneCallProtocol","description":["Protocol info for libtgvoip"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"library_versions":{"description":"When using phone.requestCall¹ and phone.acceptCall², specify all library versions supported by the client. The server will merge and choose the best library version supported by both peers, returning only the best value in the result of the callee's phone.acceptCall³ and in the phoneCallAccepted⁴ update received by the caller.","links":["https://core.telegram.org/method/phone.requestCall","https://core.telegram.org/method/phone.acceptCall","https://core.telegram.org/method/phone.acceptCall","https://core.telegram.org/constructor/phoneCallAccepted"]},"max_layer":{"description":"Maximum layer for remote libtgvoip","links":null},"min_layer":{"description":"Minimum layer for remote libtgvoip","links":null},"udp_p2p":{"description":"Whether to allow P2P connection to the other participant","links":null},"udp_reflector":{"description":"Whether to allow connection to the other participants through the reflector servers","links":null}}},"phoneCallRequested":{"name":"phoneCallRequested","description":["Requested phone call"],"fields":{"access_hash":{"description":"Access hash","links":null},"admin_id":{"description":"ID of the creator of the phone call","links":null},"date":{"description":"When was the phone call created","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"g_a_hash":{"description":"Parameter for key exchange¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"id":{"description":"Phone call ID","links":null},"participant_id":{"description":"ID of the other participant of the phone call","links":null},"protocol":{"description":"Call protocol info to be passed to libtgvoip","links":null},"video":{"description":"Whether this is a video call","links":null}}},"phoneCallWaiting":{"name":"phoneCallWaiting","description":["Incoming phone call"],"fields":{"access_hash":{"description":"Access hash","links":null},"admin_id":{"description":"Admin ID","links":null},"date":{"description":"Date","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Call ID","links":null},"participant_id":{"description":"Participant ID","links":null},"protocol":{"description":"Phone call protocol info","links":null},"receive_date":{"description":"When was the phone call received","links":null},"video":{"description":"Is this a video call","links":null}}},"phoneConnection":{"name":"phoneConnection","description":["Identifies an endpoint that can be used to connect to the other user in a phone call"],"fields":{"id":{"description":"Endpoint ID","links":null},"ip":{"description":"IP address of endpoint","links":null},"ipv6":{"description":"IPv6 address of endpoint","links":null},"peer_tag":{"description":"Our peer tag","links":null},"port":{"description":"Port ID","links":null}}},"phoneConnectionWebrtc":{"name":"phoneConnectionWebrtc","description":["WebRTC connection parameters"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Endpoint ID","links":null},"ip":{"description":"IP address","links":null},"ipv6":{"description":"IPv6 address","links":null},"password":{"description":"Password","links":null},"port":{"description":"Port","links":null},"stun":{"description":"Whether this is a STUN endpoint","links":null},"turn":{"description":"Whether this is a TURN endpoint","links":null},"username":{"description":"Username","links":null}}},"photo":{"name":"photo","description":["Photo"],"fields":{"access_hash":{"description":"Access hash","links":null},"date":{"description":"Date of upload","links":null},"dc_id":{"description":"DC ID to use for download","links":null},"file_reference":{"description":"file reference¹","links":["https://core.telegram.org/api/file_reference"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_stickers":{"description":"Whether the photo has mask stickers attached to it","links":null},"id":{"description":"ID","links":null},"sizes":{"description":"Available sizes for download","links":null},"video_sizes":{"description":"For animated profiles¹, the MPEG4 videos","links":["https://core.telegram.org/api/files#animated-profile-pictures"]}}},"photoCachedSize":{"name":"photoCachedSize","description":["Description of an image and its content."],"fields":{"bytes":{"description":"Binary data, file content","links":null},"h":{"description":"Image height","links":null},"location":{"description":"File location","links":null},"type":{"description":"Thumbnail type","links":null},"w":{"description":"Image width","links":null}}},"photoEmpty":{"name":"photoEmpty","description":["Empty constructor, non-existent photo"],"fields":{"id":{"description":"Photo identifier","links":null}}},"photoPathSize":{"name":"photoPathSize","description":["Messages with animated stickers can have a compressed svg (\u003c 300 bytes) to show the outline of the sticker before fetching the actual lottie animation."],"fields":{"bytes":{"description":"Compressed SVG path payload, see here for decompression instructions¹","links":["https://core.telegram.org/api/files#vector-thumbnails"]},"type":{"description":"Always j","links":null}}},"photoSize":{"name":"photoSize","description":["Image description."],"fields":{"h":{"description":"Image height","links":null},"location":{"description":"File location","links":null},"size":{"description":"File size","links":null},"type":{"description":"Thumbnail type","links":null},"w":{"description":"Image width","links":null}}},"photoSizeEmpty":{"name":"photoSizeEmpty","description":["Empty constructor. Image with this thumbnail is unavailable."],"fields":{"type":{"description":"Thumbnail type (see. photoSize¹)","links":["https://core.telegram.org/constructor/photoSize"]}}},"photoSizeProgressive":{"name":"photoSizeProgressive","description":["Progressively encoded photosize"],"fields":{"h":{"description":"Photo height","links":null},"location":{"description":"File location","links":null},"sizes":{"description":"Sizes of progressive JPEG file prefixes, which can be used to preliminarily show the image.","links":null},"type":{"description":"Photosize type","links":null},"w":{"description":"Photo width","links":null}}},"photoStrippedSize":{"name":"photoStrippedSize","description":["A low-resolution compressed JPG payload"],"fields":{"bytes":{"description":"Thumbnail data, see here for more info on decompression »¹","links":["https://core.telegram.org/api/files#stripped-thumbnails"]},"type":{"description":"Thumbnail type","links":null}}},"photos.photo":{"name":"photos.photo","description":["Photo with auxiliary data."],"fields":{"photo":{"description":"Photo","links":null},"users":{"description":"Users","links":null}}},"photos.photos":{"name":"photos.photos","description":["Full list of photos with auxiliary data."],"fields":{"photos":{"description":"List of photos","links":null},"users":{"description":"List of mentioned users","links":null}}},"photos.photosSlice":{"name":"photos.photosSlice","description":["Incomplete list of photos with auxiliary data."],"fields":{"count":{"description":"Total number of photos","links":null},"photos":{"description":"List of photos","links":null},"users":{"description":"List of mentioned users","links":null}}},"poll":{"name":"poll","description":["Poll"],"fields":{"answers":{"description":"The possible answers, vote using messages.sendVote¹.","links":["https://core.telegram.org/method/messages.sendVote"]},"close_date":{"description":"Point in time (Unix timestamp) when the poll will be automatically closed. Must be at least 5 and no more than 600 seconds in the future; can't be used together with close_period.","links":null},"close_period":{"description":"Amount of time in seconds the poll will be active after creation, 5-600. Can't be used together with close_date.","links":null},"closed":{"description":"Whether the poll is closed and doesn't accept any more answers","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the poll","links":null},"multiple_choice":{"description":"Whether multiple options can be chosen as answer","links":null},"public_voters":{"description":"Whether cast votes are publicly visible to all users (non-anonymous poll)","links":null},"question":{"description":"The question of the poll","links":null},"quiz":{"description":"Whether this is a quiz (with wrong and correct answers, results shown in the return type)","links":null}}},"pollAnswer":{"name":"pollAnswer","description":["A possible answer of a poll"],"fields":{"option":{"description":"The param that has to be passed to messages.sendVote¹.","links":["https://core.telegram.org/method/messages.sendVote"]},"text":{"description":"Textual representation of the answer","links":null}}},"pollAnswerVoters":{"name":"pollAnswerVoters","description":["A poll answer, and how users voted on it"],"fields":{"chosen":{"description":"Whether we have chosen this answer","links":null},"correct":{"description":"For quizes, whether the option we have chosen is correct","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"option":{"description":"The param that has to be passed to messages.sendVote¹.","links":["https://core.telegram.org/method/messages.sendVote"]},"voters":{"description":"How many users voted for this option","links":null}}},"pollResults":{"name":"pollResults","description":["Results of poll"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"min":{"description":"Similar to min¹ objects, used for poll constructors that are the same for all users so they don't have option chosen by the current user (you can use messages.getPollResults² to get the full poll results).","links":["https://core.telegram.org/api/min","https://core.telegram.org/method/messages.getPollResults"]},"recent_voters":{"description":"IDs of the last users that recently voted in the poll","links":null},"results":{"description":"Poll results","links":null},"solution":{"description":"Explanation of quiz solution","links":null},"solution_entities":{"description":"Message entities for styled text in quiz solution¹","links":["https://core.telegram.org/api/entities"]},"total_voters":{"description":"Total number of people that voted in the poll","links":null}}},"popularContact":{"name":"popularContact","description":["Popular contact"],"fields":{"client_id":{"description":"Contact identifier","links":null},"importers":{"description":"How many people imported this contact","links":null}}},"postAddress":{"name":"postAddress","description":["Shipping address"],"fields":{"city":{"description":"City","links":null},"country_iso2":{"description":"ISO 3166-1 alpha-2 country code","links":null},"post_code":{"description":"Address post code","links":null},"state":{"description":"State, if applicable (empty otherwise)","links":null},"street_line1":{"description":"First line for the address","links":null},"street_line2":{"description":"Second line for the address","links":null}}},"privacyKeyAddedByPhone":{"name":"privacyKeyAddedByPhone","description":["Whether people can add you to their contact list by your phone number"]},"privacyKeyChatInvite":{"name":"privacyKeyChatInvite","description":["Whether the user can be invited to chats"]},"privacyKeyForwards":{"name":"privacyKeyForwards","description":["Whether messages forwarded from the user will be anonymously forwarded¹"],"links":["https://telegram.org/blog/unsend-privacy-emoji#anonymous-forwarding"]},"privacyKeyPhoneCall":{"name":"privacyKeyPhoneCall","description":["Whether the user accepts phone calls"]},"privacyKeyPhoneNumber":{"name":"privacyKeyPhoneNumber","description":["Whether the user allows us to see his phone number"]},"privacyKeyPhoneP2P":{"name":"privacyKeyPhoneP2P","description":["Whether P2P connections in phone calls are allowed"]},"privacyKeyProfilePhoto":{"name":"privacyKeyProfilePhoto","description":["Whether the profile picture of the user is visible"]},"privacyKeyStatusTimestamp":{"name":"privacyKeyStatusTimestamp","description":["Whether we can see the last online timestamp"]},"privacyValueAllowAll":{"name":"privacyValueAllowAll","description":["Allow all users"]},"privacyValueAllowChatParticipants":{"name":"privacyValueAllowChatParticipants","description":["Allow all participants of certain chats"],"fields":{"chats":{"description":"Allowed chats","links":null}}},"privacyValueAllowContacts":{"name":"privacyValueAllowContacts","description":["Allow all contacts"]},"privacyValueAllowUsers":{"name":"privacyValueAllowUsers","description":["Allow only certain users"],"fields":{"users":{"description":"Allowed users","links":null}}},"privacyValueDisallowAll":{"name":"privacyValueDisallowAll","description":["Disallow all users"]},"privacyValueDisallowChatParticipants":{"name":"privacyValueDisallowChatParticipants","description":["Disallow only participants of certain chats"],"fields":{"chats":{"description":"Disallowed chats","links":null}}},"privacyValueDisallowContacts":{"name":"privacyValueDisallowContacts","description":["Disallow only contacts"]},"privacyValueDisallowUsers":{"name":"privacyValueDisallowUsers","description":["Disallow only certain users"],"fields":{"users":{"description":"Disallowed users","links":null}}},"receivedNotifyMessage":{"name":"receivedNotifyMessage","description":["Message ID, for which PUSH-notifications were cancelled."],"fields":{"flags":{"description":"Reserved for future use","links":null},"id":{"description":"Message ID, for which PUSH-notifications were canceled","links":null}}},"recentMeUrlChat":{"name":"recentMeUrlChat","description":["Recent t.me link to a chat"],"fields":{"chat_id":{"description":"Chat ID","links":null},"url":{"description":"t.me URL","links":null}}},"recentMeUrlChatInvite":{"name":"recentMeUrlChatInvite","description":["Recent t.me invite link to a chat"],"fields":{"chat_invite":{"description":"Chat invitation","links":null},"url":{"description":"t.me URL","links":null}}},"recentMeUrlStickerSet":{"name":"recentMeUrlStickerSet","description":["Recent t.me stickerset installation URL"],"fields":{"set":{"description":"Stickerset","links":null},"url":{"description":"t.me URL","links":null}}},"recentMeUrlUnknown":{"name":"recentMeUrlUnknown","description":["Unknown t.me url"],"fields":{"url":{"description":"URL","links":null}}},"recentMeUrlUser":{"name":"recentMeUrlUser","description":["Recent t.me link to a user"],"fields":{"url":{"description":"URL","links":null},"user_id":{"description":"User ID","links":null}}},"replyInlineMarkup":{"name":"replyInlineMarkup","description":["Bot or inline keyboard"],"fields":{"rows":{"description":"Bot or inline keyboard rows","links":null}}},"replyKeyboardForceReply":{"name":"replyKeyboardForceReply","description":["Force the user to send a reply"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"selective":{"description":"Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message. Example: A user requests to change the bot‘s language, bot replies to the request with a keyboard to select the new language. Other users in the group don’t see the keyboard.","links":null},"single_use":{"description":"Requests clients to hide the keyboard as soon as it's been used. The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat – the user can press a special button in the input field to see the custom keyboard again.","links":null}}},"replyKeyboardHide":{"name":"replyKeyboardHide","description":["Hide sent bot keyboard"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"selective":{"description":"Use this flag if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.Example: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet","links":null}}},"replyKeyboardMarkup":{"name":"replyKeyboardMarkup","description":["Bot keyboard"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"resize":{"description":"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). If not set, the custom keyboard is always of the same height as the app's standard keyboard.","links":null},"rows":{"description":"Button row","links":null},"selective":{"description":"Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.Example: A user requests to change the bot‘s language, bot replies to the request with a keyboard to select the new language. Other users in the group don’t see the keyboard.","links":null},"single_use":{"description":"Requests clients to hide the keyboard as soon as it's been used. The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat – the user can press a special button in the input field to see the custom keyboard again.","links":null}}},"restrictionReason":{"name":"restrictionReason","description":["Restriction reason.","Contains the reason why access to a certain object must be restricted. Clients are supposed to deny access to the channel if the platform field is equal to all or to the current platform (ios, android, wp, etc.). Platforms can be concatenated (ios-android, ios-wp), unknown platforms are to be ignored. The text is the error message that should be shown to the user."],"fields":{"platform":{"description":"Platform identifier (ios, android, wp, all, etc.), can be concatenated with a dash as separator (android-ios, ios-wp, etc)","links":null},"reason":{"description":"Restriction reason (porno, terms, etc.)","links":null},"text":{"description":"Error message to be shown to the user","links":null}}},"savedPhoneContact":{"name":"savedPhoneContact","description":["Saved contact"],"fields":{"date":{"description":"Date added","links":null},"first_name":{"description":"First name","links":null},"last_name":{"description":"Last name","links":null},"phone":{"description":"Phone number","links":null}}},"secureCredentialsEncrypted":{"name":"secureCredentialsEncrypted","description":["Encrypted credentials required to decrypt telegram passport¹ data."],"links":["https://core.telegram.org/passport"],"fields":{"data":{"description":"Encrypted JSON-serialized data with unique user's payload, data hashes and secrets required for EncryptedPassportElement decryption and authentication, as described in decrypting data »¹","links":["https://core.telegram.org/passport#decrypting-data"]},"hash":{"description":"Data hash for data authentication as described in decrypting data »¹","links":["https://core.telegram.org/passport#decrypting-data"]},"secret":{"description":"Secret, encrypted with the bot's public RSA key, required for data decryption as described in decrypting data »¹","links":["https://core.telegram.org/passport#decrypting-data"]}}},"secureData":{"name":"secureData","description":["Secure passport¹ data, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#securedata"],"fields":{"data":{"description":"Data","links":null},"data_hash":{"description":"Data hash","links":null},"secret":{"description":"Secret","links":null}}},"secureFile":{"name":"secureFile","description":["Secure passport¹ file, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#inputsecurefile"],"fields":{"access_hash":{"description":"Access hash","links":null},"date":{"description":"Date of upload","links":null},"dc_id":{"description":"DC ID","links":null},"file_hash":{"description":"File hash","links":null},"id":{"description":"ID","links":null},"secret":{"description":"Secret","links":null},"size":{"description":"File size","links":null}}},"secureFileEmpty":{"name":"secureFileEmpty","description":["Empty constructor"]},"securePasswordKdfAlgoPBKDF2HMACSHA512iter100000":{"name":"securePasswordKdfAlgoPBKDF2HMACSHA512iter100000","description":["PBKDF2 with SHA512 and 100000 iterations KDF algo"],"fields":{"salt":{"description":"Salt","links":null}}},"securePasswordKdfAlgoSHA512":{"name":"securePasswordKdfAlgoSHA512","description":["SHA512 KDF algo"],"fields":{"salt":{"description":"Salt","links":null}}},"securePasswordKdfAlgoUnknown":{"name":"securePasswordKdfAlgoUnknown","description":["Unknown KDF algo (most likely the client has to be updated)"]},"securePlainEmail":{"name":"securePlainEmail","description":["Email address to use in telegram passport¹: it must be verified, first »²."],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#secureplaindata"],"fields":{"email":{"description":"Email address","links":null}}},"securePlainPhone":{"name":"securePlainPhone","description":["Phone number to use in telegram passport¹: it must be verified, first »²."],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#secureplaindata"],"fields":{"phone":{"description":"Phone number","links":null}}},"secureRequiredType":{"name":"secureRequiredType","description":["Required type"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"native_names":{"description":"Native names","links":null},"selfie_required":{"description":"Is a selfie required","links":null},"translation_required":{"description":"Is a translation required","links":null},"type":{"description":"Secure value type","links":null}}},"secureRequiredTypeOneOf":{"name":"secureRequiredTypeOneOf","description":["One of"],"fields":{"types":{"description":"Secure required value types","links":null}}},"secureSecretSettings":{"name":"secureSecretSettings","description":["Secure settings"],"fields":{"secure_algo":{"description":"Secure KDF algo","links":null},"secure_secret":{"description":"Secure secret","links":null},"secure_secret_id":{"description":"Secret ID","links":null}}},"secureValue":{"name":"secureValue","description":["Secure value"],"fields":{"data":{"description":"Encrypted Telegram Passport¹ element data","links":["https://core.telegram.org/passport"]},"files":{"description":"Array of encrypted passport¹ files with photos the of the documents","links":["https://core.telegram.org/passport"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"front_side":{"description":"Encrypted passport¹ file with the front side of the document","links":["https://core.telegram.org/passport"]},"hash":{"description":"Data hash","links":null},"plain_data":{"description":"Plaintext verified passport¹ data","links":["https://core.telegram.org/passport"]},"reverse_side":{"description":"Encrypted passport¹ file with the reverse side of the document","links":["https://core.telegram.org/passport"]},"selfie":{"description":"Encrypted passport¹ file with a selfie of the user holding the document","links":["https://core.telegram.org/passport"]},"translation":{"description":"Array of encrypted passport¹ files with translated versions of the provided documents","links":["https://core.telegram.org/passport"]},"type":{"description":"Secure passport¹ value type","links":["https://core.telegram.org/passport"]}}},"secureValueError":{"name":"secureValueError","description":["Secure value error"],"fields":{"hash":{"description":"Hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"Type of element which has the issue","links":null}}},"secureValueErrorData":{"name":"secureValueErrorData","description":["Represents an issue in one of the data fields that was provided by the user. The error is considered resolved when the field's value changes."],"fields":{"data_hash":{"description":"Data hash","links":null},"field":{"description":"Name of the data field which has the error","links":null},"text":{"description":"Error message","links":null},"type":{"description":"The section of the user's Telegram Passport which has the error, one of secureValueTypePersonalDetails¹, secureValueTypePassport², secureValueTypeDriverLicense³, secureValueTypeIdentityCard⁴, secureValueTypeInternalPassport⁵, secureValueTypeAddress⁶","links":["https://core.telegram.org/constructor/secureValueTypePersonalDetails","https://core.telegram.org/constructor/secureValueTypePassport","https://core.telegram.org/constructor/secureValueTypeDriverLicense","https://core.telegram.org/constructor/secureValueTypeIdentityCard","https://core.telegram.org/constructor/secureValueTypeInternalPassport","https://core.telegram.org/constructor/secureValueTypeAddress"]}}},"secureValueErrorFile":{"name":"secureValueErrorFile","description":["Represents an issue with a document scan. The error is considered resolved when the file with the document scan changes."],"fields":{"file_hash":{"description":"File hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypeUtilityBill¹, secureValueTypeBankStatement², secureValueTypeRentalAgreement³, secureValueTypePassportRegistration⁴, secureValueTypeTemporaryRegistration⁵","links":["https://core.telegram.org/constructor/secureValueTypeUtilityBill","https://core.telegram.org/constructor/secureValueTypeBankStatement","https://core.telegram.org/constructor/secureValueTypeRentalAgreement","https://core.telegram.org/constructor/secureValueTypePassportRegistration","https://core.telegram.org/constructor/secureValueTypeTemporaryRegistration"]}}},"secureValueErrorFiles":{"name":"secureValueErrorFiles","description":["Represents an issue with a list of scans. The error is considered resolved when the list of files containing the scans changes."],"fields":{"file_hash":{"description":"File hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypeUtilityBill¹, secureValueTypeBankStatement², secureValueTypeRentalAgreement³, secureValueTypePassportRegistration⁴, secureValueTypeTemporaryRegistration⁵","links":["https://core.telegram.org/constructor/secureValueTypeUtilityBill","https://core.telegram.org/constructor/secureValueTypeBankStatement","https://core.telegram.org/constructor/secureValueTypeRentalAgreement","https://core.telegram.org/constructor/secureValueTypePassportRegistration","https://core.telegram.org/constructor/secureValueTypeTemporaryRegistration"]}}},"secureValueErrorFrontSide":{"name":"secureValueErrorFrontSide","description":["Represents an issue with the front side of a document. The error is considered resolved when the file with the front side of the document changes."],"fields":{"file_hash":{"description":"File hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypePassport¹, secureValueTypeDriverLicense², secureValueTypeIdentityCard³, secureValueTypeInternalPassport⁴","links":["https://core.telegram.org/constructor/secureValueTypePassport","https://core.telegram.org/constructor/secureValueTypeDriverLicense","https://core.telegram.org/constructor/secureValueTypeIdentityCard","https://core.telegram.org/constructor/secureValueTypeInternalPassport"]}}},"secureValueErrorReverseSide":{"name":"secureValueErrorReverseSide","description":["Represents an issue with the reverse side of a document. The error is considered resolved when the file with reverse side of the document changes."],"fields":{"file_hash":{"description":"File hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypeDriverLicense¹, secureValueTypeIdentityCard²","links":["https://core.telegram.org/constructor/secureValueTypeDriverLicense","https://core.telegram.org/constructor/secureValueTypeIdentityCard"]}}},"secureValueErrorSelfie":{"name":"secureValueErrorSelfie","description":["Represents an issue with the selfie with a document. The error is considered resolved when the file with the selfie changes."],"fields":{"file_hash":{"description":"File hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypePassport¹, secureValueTypeDriverLicense², secureValueTypeIdentityCard³, secureValueTypeInternalPassport⁴","links":["https://core.telegram.org/constructor/secureValueTypePassport","https://core.telegram.org/constructor/secureValueTypeDriverLicense","https://core.telegram.org/constructor/secureValueTypeIdentityCard","https://core.telegram.org/constructor/secureValueTypeInternalPassport"]}}},"secureValueErrorTranslationFile":{"name":"secureValueErrorTranslationFile","description":["Represents an issue with one of the files that constitute the translation of a document. The error is considered resolved when the file changes."],"fields":{"file_hash":{"description":"File hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypePersonalDetails¹, secureValueTypePassport², secureValueTypeDriverLicense³, secureValueTypeIdentityCard⁴, secureValueTypeInternalPassport⁵, secureValueTypeUtilityBill⁶, secureValueTypeBankStatement⁷, secureValueTypeRentalAgreement⁸, secureValueTypePassportRegistration⁹, secureValueTypeTemporaryRegistration¹⁰","links":["https://core.telegram.org/constructor/secureValueTypePersonalDetails","https://core.telegram.org/constructor/secureValueTypePassport","https://core.telegram.org/constructor/secureValueTypeDriverLicense","https://core.telegram.org/constructor/secureValueTypeIdentityCard","https://core.telegram.org/constructor/secureValueTypeInternalPassport","https://core.telegram.org/constructor/secureValueTypeUtilityBill","https://core.telegram.org/constructor/secureValueTypeBankStatement","https://core.telegram.org/constructor/secureValueTypeRentalAgreement","https://core.telegram.org/constructor/secureValueTypePassportRegistration","https://core.telegram.org/constructor/secureValueTypeTemporaryRegistration"]}}},"secureValueErrorTranslationFiles":{"name":"secureValueErrorTranslationFiles","description":["Represents an issue with the translated version of a document. The error is considered resolved when a file with the document translation changes."],"fields":{"file_hash":{"description":"Hash","links":null},"text":{"description":"Error message","links":null},"type":{"description":"One of secureValueTypePersonalDetails¹, secureValueTypePassport², secureValueTypeDriverLicense³, secureValueTypeIdentityCard⁴, secureValueTypeInternalPassport⁵, secureValueTypeUtilityBill⁶, secureValueTypeBankStatement⁷, secureValueTypeRentalAgreement⁸, secureValueTypePassportRegistration⁹, secureValueTypeTemporaryRegistration¹⁰","links":["https://core.telegram.org/constructor/secureValueTypePersonalDetails","https://core.telegram.org/constructor/secureValueTypePassport","https://core.telegram.org/constructor/secureValueTypeDriverLicense","https://core.telegram.org/constructor/secureValueTypeIdentityCard","https://core.telegram.org/constructor/secureValueTypeInternalPassport","https://core.telegram.org/constructor/secureValueTypeUtilityBill","https://core.telegram.org/constructor/secureValueTypeBankStatement","https://core.telegram.org/constructor/secureValueTypeRentalAgreement","https://core.telegram.org/constructor/secureValueTypePassportRegistration","https://core.telegram.org/constructor/secureValueTypeTemporaryRegistration"]}}},"secureValueHash":{"name":"secureValueHash","description":["Secure value hash"],"fields":{"hash":{"description":"Hash","links":null},"type":{"description":"Secure value type","links":null}}},"secureValueTypeAddress":{"name":"secureValueTypeAddress","description":["Address"]},"secureValueTypeBankStatement":{"name":"secureValueTypeBankStatement","description":["Bank statement"]},"secureValueTypeDriverLicense":{"name":"secureValueTypeDriverLicense","description":["Driver's license"]},"secureValueTypeEmail":{"name":"secureValueTypeEmail","description":["Email"]},"secureValueTypeIdentityCard":{"name":"secureValueTypeIdentityCard","description":["Identity card"]},"secureValueTypeInternalPassport":{"name":"secureValueTypeInternalPassport","description":["Internal passport¹"],"links":["https://core.telegram.org/passport"]},"secureValueTypePassport":{"name":"secureValueTypePassport","description":["Passport"]},"secureValueTypePassportRegistration":{"name":"secureValueTypePassportRegistration","description":["Internal registration passport¹"],"links":["https://core.telegram.org/passport"]},"secureValueTypePersonalDetails":{"name":"secureValueTypePersonalDetails","description":["Personal details"]},"secureValueTypePhone":{"name":"secureValueTypePhone","description":["Phone"]},"secureValueTypeRentalAgreement":{"name":"secureValueTypeRentalAgreement","description":["Rental agreement"]},"secureValueTypeTemporaryRegistration":{"name":"secureValueTypeTemporaryRegistration","description":["Temporary registration"]},"secureValueTypeUtilityBill":{"name":"secureValueTypeUtilityBill","description":["Utility bill"]},"sendMessageCancelAction":{"name":"sendMessageCancelAction","description":["Invalidate all previous action updates. E.g. when user deletes entered text or aborts a video upload."]},"sendMessageChooseContactAction":{"name":"sendMessageChooseContactAction","description":["User is selecting a contact to share."]},"sendMessageGamePlayAction":{"name":"sendMessageGamePlayAction","description":["User is playing a game"]},"sendMessageGeoLocationAction":{"name":"sendMessageGeoLocationAction","description":["User is selecting a location to share."]},"sendMessageRecordAudioAction":{"name":"sendMessageRecordAudioAction","description":["User is recording a voice message."]},"sendMessageRecordRoundAction":{"name":"sendMessageRecordRoundAction","description":["User is recording a round video to share"]},"sendMessageRecordVideoAction":{"name":"sendMessageRecordVideoAction","description":["User is recording a video."]},"sendMessageTypingAction":{"name":"sendMessageTypingAction","description":["User is typing."]},"sendMessageUploadAudioAction":{"name":"sendMessageUploadAudioAction","description":["User is uploading a voice message."],"fields":{"progress":{"description":"Progress percentage","links":null}}},"sendMessageUploadDocumentAction":{"name":"sendMessageUploadDocumentAction","description":["User is uploading a file."],"fields":{"progress":{"description":"Progress percentage","links":null}}},"sendMessageUploadPhotoAction":{"name":"sendMessageUploadPhotoAction","description":["User is uploading a photo."],"fields":{"progress":{"description":"Progress percentage","links":null}}},"sendMessageUploadRoundAction":{"name":"sendMessageUploadRoundAction","description":["User is uploading a round video"],"fields":{"progress":{"description":"Progress percentage","links":null}}},"sendMessageUploadVideoAction":{"name":"sendMessageUploadVideoAction","description":["User is uploading a video."],"fields":{"progress":{"description":"Progress percentage","links":null}}},"shippingOption":{"name":"shippingOption","description":["Shipping option"],"fields":{"id":{"description":"Option ID","links":null},"prices":{"description":"List of price portions","links":null},"title":{"description":"Title","links":null}}},"stats.broadcastStats":{"name":"stats.broadcastStats","description":["Channel statistics¹."],"links":["https://core.telegram.org/api/stats"],"fields":{"enabled_notifications":{"description":"Percentage of subscribers with enabled notifications","links":null},"followers":{"description":"Follower count change for period in consideration","links":null},"followers_graph":{"description":"Followers growth graph (relative subscriber count)","links":null},"growth_graph":{"description":"Channel growth graph (absolute subscriber count)","links":null},"interactions_graph":{"description":"Interactions graph (absolute)","links":null},"iv_interactions_graph":{"description":"IV interactions graph (absolute)","links":null},"languages_graph":{"description":"Subscriber language graph (piechart)","links":null},"mute_graph":{"description":"Muted users graph (relative)","links":null},"new_followers_by_source_graph":{"description":"New followers by source graph (absolute)","links":null},"period":{"description":"Period in consideration","links":null},"recent_message_interactions":{"description":"Recent message interactions","links":null},"shares_per_post":{"description":"total_viewcount/postcount, for posts posted during the period in consideration (views_per_post). Note that in this case, current refers to the period in consideration (min_date till max_date), and prev refers to the previous period ((min_date - (max_date - min_date)) till min_date)","links":null},"top_hours_graph":{"description":"Views per hour graph (absolute)","links":null},"views_by_source_graph":{"description":"Views by source graph (absolute)","links":null},"views_per_post":{"description":"total_viewcount/postcount, for posts posted during the period in consideration (views_per_post). Note that in this case, current refers to the period in consideration (min_date till max_date), and prev refers to the previous period ((min_date - (max_date - min_date)) till min_date).","links":null}}},"stats.megagroupStats":{"name":"stats.megagroupStats","description":["Supergroup statistics¹"],"links":["https://core.telegram.org/api/stats"],"fields":{"actions_graph":{"description":"Group activity graph (deleted, modified messages, blocked users)","links":null},"growth_graph":{"description":"Supergroup growth graph (absolute subscriber count)","links":null},"languages_graph":{"description":"Subscriber language graph (piechart)","links":null},"members":{"description":"Member count change for period in consideration","links":null},"members_graph":{"description":"Members growth (relative subscriber count)","links":null},"messages":{"description":"Message number change for period in consideration","links":null},"messages_graph":{"description":"Message activity graph (stacked bar graph, message type)","links":null},"new_members_by_source_graph":{"description":"New members by source graph","links":null},"period":{"description":"Period in consideration","links":null},"posters":{"description":"Number of users that posted messages, for range in consideration","links":null},"top_admins":{"description":"Info about most active group admins","links":null},"top_hours_graph":{"description":"Activity per hour graph (absolute)","links":null},"top_inviters":{"description":"Info about most active group inviters","links":null},"top_posters":{"description":"Info about most active group members","links":null},"users":{"description":"Info about users mentioned in statistics","links":null},"viewers":{"description":"Number of users that viewed messages, for range in consideration","links":null},"weekdays_graph":{"description":"Activity per day of week graph (absolute)","links":null}}},"stats.messageStats":{"name":"stats.messageStats","description":["Message statistics"],"fields":{"views_graph":{"description":"Message view graph","links":null}}},"statsAbsValueAndPrev":{"name":"statsAbsValueAndPrev","description":["Statistics value couple; intial and final value for period of time currently in consideration"],"fields":{"current":{"description":"Current value","links":null},"previous":{"description":"Previous value","links":null}}},"statsDateRangeDays":{"name":"statsDateRangeDays","description":["Channel statistics¹ date range"],"links":["https://core.telegram.org/api/stats"],"fields":{"max_date":{"description":"Final date","links":null},"min_date":{"description":"Initial date","links":null}}},"statsGraph":{"name":"statsGraph","description":["Channel statistics graph¹"],"links":["https://core.telegram.org/api/stats"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"json":{"description":"Statistics data","links":null},"zoom_token":{"description":"Zoom token","links":null}}},"statsGraphAsync":{"name":"statsGraphAsync","description":["This channel statistics graph¹ must be generated asynchronously using stats.loadAsyncGraph² to reduce server load"],"links":["https://core.telegram.org/api/stats","https://core.telegram.org/method/stats.loadAsyncGraph"],"fields":{"token":{"description":"Token to use for fetching the async graph","links":null}}},"statsGraphError":{"name":"statsGraphError","description":["An error occurred while generating the statistics graph¹"],"links":["https://core.telegram.org/api/stats"],"fields":{"error":{"description":"The error","links":null}}},"statsGroupTopAdmin":{"name":"statsGroupTopAdmin","description":["Information about an active admin in a supergroup"],"fields":{"banned":{"description":"Number of banned users for statistics¹ period in consideration","links":["https://core.telegram.org/api/stats"]},"deleted":{"description":"Number of deleted messages for statistics¹ period in consideration","links":["https://core.telegram.org/api/stats"]},"kicked":{"description":"Number of kicked users for statistics¹ period in consideration","links":["https://core.telegram.org/api/stats"]},"user_id":{"description":"User ID","links":null}}},"statsGroupTopInviter":{"name":"statsGroupTopInviter","description":["Information about an active supergroup inviter"],"fields":{"invitations":{"description":"Number of invitations for statistics¹ period in consideration","links":["https://core.telegram.org/api/stats"]},"user_id":{"description":"User ID","links":null}}},"statsGroupTopPoster":{"name":"statsGroupTopPoster","description":["Information about an active user in a supergroup"],"fields":{"avg_chars":{"description":"Average number of characters per message","links":null},"messages":{"description":"Number of messages for statistics¹ period in consideration","links":["https://core.telegram.org/api/stats"]},"user_id":{"description":"User ID","links":null}}},"statsPercentValue":{"name":"statsPercentValue","description":["Channel statistics percentage¹.","Compute the percentage simply by doing part * total / 100"],"links":["https://core.telegram.org/api/stats"],"fields":{"part":{"description":"Partial value","links":null},"total":{"description":"Total value","links":null}}},"statsURL":{"name":"statsURL","description":["URL with chat statistics"],"fields":{"url":{"description":"Chat statistics","links":null}}},"stickerPack":{"name":"stickerPack","description":["A stickerpack is a group of stickers associated to the same emoji.","It is not a sticker pack the way it is usually intended, you may be looking for a StickerSet¹."],"links":["https://core.telegram.org/type/StickerSet"],"fields":{"documents":{"description":"Stickers","links":null},"emoticon":{"description":"Emoji","links":null}}},"stickerSet":{"name":"stickerSet","description":["Represents a stickerset (stickerpack)"],"fields":{"access_hash":{"description":"Access hash of stickerset","links":null},"animated":{"description":"Is this an animated stickerpack","links":null},"archived":{"description":"Whether this stickerset was archived (due to too many saved stickers in the current account)","links":null},"count":{"description":"Number of stickers in pack","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hash":{"description":"Hash","links":null},"id":{"description":"ID of the stickerset","links":null},"installed_date":{"description":"When was this stickerset installed","links":null},"masks":{"description":"Is this a mask stickerset","links":null},"official":{"description":"Is this stickerset official","links":null},"short_name":{"description":"Short name of stickerset to use in tg://addstickers?set=short_name","links":null},"thumb":{"description":"Thumbnail for stickerset","links":null},"thumb_dc_id":{"description":"DC ID of thumbnail","links":null},"title":{"description":"Title of stickerset","links":null}}},"stickerSetCovered":{"name":"stickerSetCovered","description":["Stickerset, with a specific sticker as preview"],"fields":{"cover":{"description":"Preview","links":null},"set":{"description":"Stickerset","links":null}}},"stickerSetMultiCovered":{"name":"stickerSetMultiCovered","description":["Stickerset, with a specific stickers as preview"],"fields":{"covers":{"description":"Preview stickers","links":null},"set":{"description":"Stickerset","links":null}}},"storage.fileGif":{"name":"storage.fileGif","description":["GIF image. MIME type: image/gif."]},"storage.fileJpeg":{"name":"storage.fileJpeg","description":["JPEG image. MIME type: image/jpeg."]},"storage.fileMov":{"name":"storage.fileMov","description":["Quicktime video. MIME type: video/quicktime."]},"storage.fileMp3":{"name":"storage.fileMp3","description":["Mp3 audio. MIME type: audio/mpeg."]},"storage.fileMp4":{"name":"storage.fileMp4","description":["MPEG-4 video. MIME type: video/mp4."]},"storage.filePartial":{"name":"storage.filePartial","description":["Part of a bigger file."]},"storage.filePdf":{"name":"storage.filePdf","description":["PDF document image. MIME type: application/pdf."]},"storage.filePng":{"name":"storage.filePng","description":["PNG image. MIME type: image/png."]},"storage.fileUnknown":{"name":"storage.fileUnknown","description":["Unknown type."]},"storage.fileWebp":{"name":"storage.fileWebp","description":["WEBP image. MIME type: image/webp."]},"textAnchor":{"name":"textAnchor","description":["Text linking to another section of the page"],"fields":{"name":{"description":"Section name","links":null},"text":{"description":"Text","links":null}}},"textBold":{"name":"textBold","description":["Bold text"],"fields":{"text":{"description":"Text","links":null}}},"textConcat":{"name":"textConcat","description":["Concatenation of rich texts"],"fields":{"texts":{"description":"Concatenated rich texts","links":null}}},"textEmail":{"name":"textEmail","description":["Rich text email link"],"fields":{"email":{"description":"Email address","links":null},"text":{"description":"Link text","links":null}}},"textEmpty":{"name":"textEmpty","description":["Empty rich text element"]},"textFixed":{"name":"textFixed","description":["fixed-width rich text"],"fields":{"text":{"description":"Text","links":null}}},"textImage":{"name":"textImage","description":["Inline image"],"fields":{"document_id":{"description":"Document ID","links":null},"h":{"description":"Height","links":null},"w":{"description":"Width","links":null}}},"textItalic":{"name":"textItalic","description":["Italic text"],"fields":{"text":{"description":"Text","links":null}}},"textMarked":{"name":"textMarked","description":["Highlighted text"],"fields":{"text":{"description":"Text","links":null}}},"textPhone":{"name":"textPhone","description":["Rich text linked to a phone number"],"fields":{"phone":{"description":"Phone number","links":null},"text":{"description":"Text","links":null}}},"textPlain":{"name":"textPlain","description":["Plain text"],"fields":{"text":{"description":"Text","links":null}}},"textStrike":{"name":"textStrike","description":["Strikethrough text"],"fields":{"text":{"description":"Text","links":null}}},"textSubscript":{"name":"textSubscript","description":["Subscript text"],"fields":{"text":{"description":"Text","links":null}}},"textSuperscript":{"name":"textSuperscript","description":["Superscript text"],"fields":{"text":{"description":"Text","links":null}}},"textUnderline":{"name":"textUnderline","description":["Underlined text"],"fields":{"text":{"description":"Text","links":null}}},"textUrl":{"name":"textUrl","description":["Link"],"fields":{"text":{"description":"Text of link","links":null},"url":{"description":"Webpage HTTP URL","links":null},"webpage_id":{"description":"If a preview was already generated for the page, the page ID","links":null}}},"theme":{"name":"theme","description":["Theme"],"fields":{"access_hash":{"description":"Theme access hash","links":null},"creator":{"description":"Whether the current user is the creator of this theme","links":null},"default":{"description":"Whether this is the default theme","links":null},"document":{"description":"Theme","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Theme ID","links":null},"installs_count":{"description":"Installation count","links":null},"settings":{"description":"Theme settings","links":null},"slug":{"description":"Unique theme ID","links":null},"title":{"description":"Theme name","links":null}}},"themeSettings":{"name":"themeSettings","description":["Theme settings"],"fields":{"accent_color":{"description":"Accent color, RGB24 format","links":null},"base_theme":{"description":"Base theme","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message_bottom_color":{"description":"Message gradient color (bottom), RGB24 format","links":null},"message_top_color":{"description":"Message gradient color (top), RGB24 format","links":null},"wallpaper":{"description":"Wallpaper","links":null}}},"topPeer":{"name":"topPeer","description":["Top peer"],"fields":{"peer":{"description":"Peer","links":null},"rating":{"description":"Rating as computed in top peer rating »¹","links":["https://core.telegram.org/api/top-rating"]}}},"topPeerCategoryBotsInline":{"name":"topPeerCategoryBotsInline","description":["Most used inline bots"]},"topPeerCategoryBotsPM":{"name":"topPeerCategoryBotsPM","description":["Most used bots"]},"topPeerCategoryChannels":{"name":"topPeerCategoryChannels","description":["Most frequently visited channels"]},"topPeerCategoryCorrespondents":{"name":"topPeerCategoryCorrespondents","description":["Users we've chatted most frequently with"]},"topPeerCategoryForwardChats":{"name":"topPeerCategoryForwardChats","description":["Chats to which the users often forwards messages to"]},"topPeerCategoryForwardUsers":{"name":"topPeerCategoryForwardUsers","description":["Users to which the users often forwards messages to"]},"topPeerCategoryGroups":{"name":"topPeerCategoryGroups","description":["Often-opened groups and supergroups"]},"topPeerCategoryPeers":{"name":"topPeerCategoryPeers","description":["Top peer category"],"fields":{"category":{"description":"Top peer category of peers","links":null},"count":{"description":"Count of peers","links":null},"peers":{"description":"Peers","links":null}}},"topPeerCategoryPhoneCalls":{"name":"topPeerCategoryPhoneCalls","description":["Most frequently called users"]},"true":{"name":"true","description":["See predefined identifiers¹."],"links":["https://core.telegram.org/mtproto/TL-formal#predefined-identifiers"]},"updateBotCallbackQuery":{"name":"updateBotCallbackQuery","description":["A callback button was pressed, and the button data was sent to the bot that created the button"],"fields":{"chat_instance":{"description":"Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.","links":null},"data":{"description":"Callback data","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"game_short_name":{"description":"Short name of a Game to be returned, serves as the unique identifier for the game","links":null},"msg_id":{"description":"Message ID","links":null},"peer":{"description":"Chat where the inline keyboard was sent","links":null},"query_id":{"description":"Query ID","links":null},"user_id":{"description":"ID of the user that pressed the button","links":null}}},"updateBotInlineQuery":{"name":"updateBotInlineQuery","description":["An incoming inline query"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo":{"description":"Attached geolocation","links":null},"offset":{"description":"Offset to navigate through results","links":null},"query":{"description":"Text of query","links":null},"query_id":{"description":"Query ID","links":null},"user_id":{"description":"User that sent the query","links":null}}},"updateBotInlineSend":{"name":"updateBotInlineSend","description":["The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting¹ for details on how to enable these updates for your bot."],"links":["https://core.telegram.org/bots/inline#collecting-feedback"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo":{"description":"Optional. Sender location, only for bots that require user location","links":null},"id":{"description":"The unique identifier for the result that was chosen","links":null},"msg_id":{"description":"Identifier of the sent inline message. Available only if there is an inline keyboard attached to the message. Will be also received in callback queries and can be used to edit the message.","links":null},"query":{"description":"The query that was used to obtain the result","links":null},"user_id":{"description":"The user that chose the result","links":null}}},"updateBotPrecheckoutQuery":{"name":"updateBotPrecheckoutQuery","description":["This object contains information about an incoming pre-checkout query."],"fields":{"currency":{"description":"Three-letter ISO 4217 currency¹ code","links":["https://core.telegram.org/bots/payments#supported-currencies"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"info":{"description":"Order info provided by the user","links":null},"payload":{"description":"Bot specified invoice payload","links":null},"query_id":{"description":"Unique query identifier","links":null},"shipping_option_id":{"description":"Identifier of the shipping option chosen by the user","links":null},"total_amount":{"description":"Total amount in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json¹, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).","links":["https://core.telegram.org/bots/payments/currencies.json"]},"user_id":{"description":"User who sent the query","links":null}}},"updateBotShippingQuery":{"name":"updateBotShippingQuery","description":["This object contains information about an incoming shipping query."],"fields":{"payload":{"description":"Bot specified invoice payload","links":null},"query_id":{"description":"Unique query identifier","links":null},"shipping_address":{"description":"User specified shipping address","links":null},"user_id":{"description":"User who sent the query","links":null}}},"updateBotWebhookJSON":{"name":"updateBotWebhookJSON","description":["A new incoming event; for bots only"],"fields":{"data":{"description":"The event","links":null}}},"updateBotWebhookJSONQuery":{"name":"updateBotWebhookJSONQuery","description":["A new incoming query; for bots only"],"fields":{"data":{"description":"Query data","links":null},"query_id":{"description":"Query identifier","links":null},"timeout":{"description":"Query timeout","links":null}}},"updateChannel":{"name":"updateChannel","description":["A new channel is available"],"fields":{"channel_id":{"description":"Channel ID","links":null}}},"updateChannelAvailableMessages":{"name":"updateChannelAvailableMessages","description":["The history of a channel/supergroup¹ was hidden."],"links":["https://core.telegram.org/api/channel"],"fields":{"available_min_id":{"description":"Identifier of a maximum unavailable message in a channel due to hidden history.","links":null},"channel_id":{"description":"Channel/supergroup ID","links":null}}},"updateChannelMessageForwards":{"name":"updateChannelMessageForwards","description":["The forward counter of a message in a channel has changed"],"fields":{"channel_id":{"description":"Channel ID","links":null},"forwards":{"description":"New forward counter","links":null},"id":{"description":"ID of the message","links":null}}},"updateChannelMessageViews":{"name":"updateChannelMessageViews","description":["The view counter of a message in a channel has changed"],"fields":{"channel_id":{"description":"Channel ID","links":null},"id":{"description":"ID of the message","links":null},"views":{"description":"New view counter","links":null}}},"updateChannelParticipant":{"name":"updateChannelParticipant","description":["A participant has left, joined, was banned or admined in a channel or supergroup¹."],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel ID","links":null},"date":{"description":"Date of the event","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"new_participant":{"description":"New participant status","links":null},"prev_participant":{"description":"Previous participant status","links":null},"qts":{"description":"PTS¹","links":["https://core.telegram.org/api/updates"]},"user_id":{"description":"User in question","links":null}}},"updateChannelReadMessagesContents":{"name":"updateChannelReadMessagesContents","description":["The specified channel/supergroup¹ messages were read"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel/supergroup¹ ID","links":["https://core.telegram.org/api/channel"]},"messages":{"description":"IDs of messages that were read","links":null}}},"updateChannelTooLong":{"name":"updateChannelTooLong","description":["There are new updates in the specified channel, the client must fetch them.","If the difference is too long or if the channel isn't currently in the states, start fetching from the specified pts."],"fields":{"channel_id":{"description":"The channel","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"pts":{"description":"The PTS¹.","links":["https://core.telegram.org/api/updates"]}}},"updateChannelUserTyping":{"name":"updateChannelUserTyping","description":["A user is typing in a supergroup, channel¹ or message thread²"],"links":["https://core.telegram.org/api/channel","https://core.telegram.org/api/threads"],"fields":{"action":{"description":"Whether the user is typing, sending a media or doing something else","links":null},"channel_id":{"description":"Channel ID","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"top_msg_id":{"description":"Thread ID¹","links":["https://core.telegram.org/api/threads"]},"user_id":{"description":"User ID","links":null}}},"updateChannelWebPage":{"name":"updateChannelWebPage","description":["A webpage preview of a link in a channel/supergroup¹ message was generated"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel/supergroup¹ ID","links":["https://core.telegram.org/api/channel"]},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]},"webpage":{"description":"Generated webpage preview","links":null}}},"updateChatDefaultBannedRights":{"name":"updateChatDefaultBannedRights","description":["Default banned rights in a normal chat¹ were updated"],"links":["https://core.telegram.org/api/channel"],"fields":{"default_banned_rights":{"description":"New default banned rights","links":null},"peer":{"description":"The chat","links":null},"version":{"description":"Version","links":null}}},"updateChatParticipantAdd":{"name":"updateChatParticipantAdd","description":["New group member."],"fields":{"chat_id":{"description":"Group ID","links":null},"date":{"description":"When was the participant added","links":null},"inviter_id":{"description":"ID of the user, who added member to the group","links":null},"user_id":{"description":"ID of the new member","links":null},"version":{"description":"Chat version number","links":null}}},"updateChatParticipantAdmin":{"name":"updateChatParticipantAdmin","description":["Admin permissions of a user in a legacy group¹ were changed"],"links":["https://core.telegram.org/api/channel"],"fields":{"chat_id":{"description":"Chat ID","links":null},"is_admin":{"description":"Whether the user was rendered admin","links":null},"user_id":{"description":"ID of the (de)admined user","links":null},"version":{"description":"Used in basic groups to reorder updates and make sure that all of them was received.","links":null}}},"updateChatParticipantDelete":{"name":"updateChatParticipantDelete","description":["A member has left the group."],"fields":{"chat_id":{"description":"Group ID","links":null},"user_id":{"description":"ID of the user","links":null},"version":{"description":"Used in basic groups to reorder updates and make sure that all of them was received.","links":null}}},"updateChatParticipants":{"name":"updateChatParticipants","description":["Composition of chat participants changed."],"fields":{"participants":{"description":"Updated chat participants","links":null}}},"updateChatUserTyping":{"name":"updateChatUserTyping","description":["The user is preparing a message in a group; typing, recording, uploading, etc. This update is valid for 6 seconds. If no repeated update received after 6 seconds, it should be considered that the user stopped doing whatever he's been doing."],"fields":{"action":{"description":"Type of actionParameter added in Layer 17¹.","links":["https://core.telegram.org/api/layers#layer-17"]},"chat_id":{"description":"Group id","links":null},"user_id":{"description":"User id","links":null}}},"updateConfig":{"name":"updateConfig","description":["The server-side configuration has changed; the client should re-fetch the config using help.getConfig¹"],"links":["https://core.telegram.org/method/help.getConfig"]},"updateContactsReset":{"name":"updateContactsReset","description":["All contacts were deleted"]},"updateDcOptions":{"name":"updateDcOptions","description":["Changes in the data center configuration options."],"fields":{"dc_options":{"description":"New connection options","links":null}}},"updateDeleteChannelMessages":{"name":"updateDeleteChannelMessages","description":["Some messages in a supergroup/channel¹ were deleted"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel ID","links":null},"messages":{"description":"IDs of messages that were deleted","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updateDeleteMessages":{"name":"updateDeleteMessages","description":["Messages were deleted."],"fields":{"messages":{"description":"List of identifiers of deleted messages","links":null},"pts":{"description":"New quality of actions in a message box","links":null},"pts_count":{"description":"Number of generated events¹","links":["https://core.telegram.org/api/updates"]}}},"updateDeleteScheduledMessages":{"name":"updateDeleteScheduledMessages","description":["Some scheduled messages¹ were deleted from the schedule queue of a chat"],"links":["https://core.telegram.org/api/scheduled-messages"],"fields":{"messages":{"description":"Deleted scheduled messages","links":null},"peer":{"description":"Peer","links":null}}},"updateDialogFilter":{"name":"updateDialogFilter","description":["A new folder¹ was added"],"links":["https://core.telegram.org/api/folders"],"fields":{"filter":{"description":"Folder¹ info","links":["https://core.telegram.org/api/folders"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Folder¹ ID","links":["https://core.telegram.org/api/folders"]}}},"updateDialogFilterOrder":{"name":"updateDialogFilterOrder","description":["New folder¹ order"],"links":["https://core.telegram.org/api/folders"],"fields":{"order":{"description":"Ordered folder IDs¹","links":["https://core.telegram.org/api/folders"]}}},"updateDialogFilters":{"name":"updateDialogFilters","description":["Clients should update folder¹ info"],"links":["https://core.telegram.org/api/folders"]},"updateDialogPinned":{"name":"updateDialogPinned","description":["A dialog was pinned/unpinned"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"peer":{"description":"The dialog","links":null},"pinned":{"description":"Whether the dialog was pinned","links":null}}},"updateDialogUnreadMark":{"name":"updateDialogUnreadMark","description":["The manual unread mark of a chat was changed"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"The dialog","links":null},"unread":{"description":"Was the chat marked or unmarked as read","links":null}}},"updateDraftMessage":{"name":"updateDraftMessage","description":["Notifies a change of a message draft¹."],"links":["https://core.telegram.org/api/drafts"],"fields":{"draft":{"description":"The draft","links":null},"peer":{"description":"The peer to which the draft is associated","links":null}}},"updateEditChannelMessage":{"name":"updateEditChannelMessage","description":["A message was edited in a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"fields":{"message":{"description":"The new message","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updateEditMessage":{"name":"updateEditMessage","description":["A message was edited"],"fields":{"message":{"description":"The new edited message","links":null},"pts":{"description":"PTS¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"PTS count¹","links":["https://core.telegram.org/api/updates"]}}},"updateEncryptedChatTyping":{"name":"updateEncryptedChatTyping","description":["Interlocutor is typing a message in an encrypted chat. Update period is 6 second. If upon this time there is no repeated update, it shall be considered that the interlocutor stopped typing."],"fields":{"chat_id":{"description":"Chat ID","links":null}}},"updateEncryptedMessagesRead":{"name":"updateEncryptedMessagesRead","description":["Communication history in an encrypted chat was marked as read."],"fields":{"chat_id":{"description":"Chat ID","links":null},"date":{"description":"Time when messages were read","links":null},"max_date":{"description":"Maximum value of data for read messages","links":null}}},"updateEncryption":{"name":"updateEncryption","description":["Change of state in an encrypted chat."],"fields":{"chat":{"description":"Encrypted chat","links":null},"date":{"description":"Date of change","links":null}}},"updateFavedStickers":{"name":"updateFavedStickers","description":["The list of favorited stickers was changed, the client should call messages.getFavedStickers¹ to refetch the new list"],"links":["https://core.telegram.org/method/messages.getFavedStickers"]},"updateFolderPeers":{"name":"updateFolderPeers","description":["The peer list of a peer folder¹ was updated"],"links":["https://core.telegram.org/api/folders#peer-folders"],"fields":{"folder_peers":{"description":"New peer list","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updateGeoLiveViewed":{"name":"updateGeoLiveViewed","description":["Live geoposition message was viewed"],"fields":{"msg_id":{"description":"Message ID of geoposition message","links":null},"peer":{"description":"The user that viewed the live geoposition","links":null}}},"updateInlineBotCallbackQuery":{"name":"updateInlineBotCallbackQuery","description":["This notification is received by bots when a button is pressed"],"fields":{"chat_instance":{"description":"Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.","links":null},"data":{"description":"Data associated with the callback button. Be aware that a bad client can send arbitrary data in this field.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"game_short_name":{"description":"Short name of a Game to be returned, serves as the unique identifier for the game","links":null},"msg_id":{"description":"ID of the inline message with the button","links":null},"query_id":{"description":"Query ID","links":null},"user_id":{"description":"ID of the user that pressed the button","links":null}}},"updateLangPack":{"name":"updateLangPack","description":["Language pack updated"],"fields":{"difference":{"description":"Changed strings","links":null}}},"updateLangPackTooLong":{"name":"updateLangPackTooLong","description":["A language pack has changed, the client should manually fetch the changed strings using langpack.getDifference¹"],"links":["https://core.telegram.org/method/langpack.getDifference"],"fields":{"lang_code":{"description":"Language code","links":null}}},"updateLoginToken":{"name":"updateLoginToken","description":["A login token (for login via QR code) was accepted."]},"updateMessageID":{"name":"updateMessageID","description":["Sent message with random_id client identifier was assigned an identifier."],"fields":{"id":{"description":"id identifier of a respective Message¹","links":["https://core.telegram.org/type/Message"]},"random_id":{"description":"Previuosly transferred client random_id identifier","links":null}}},"updateMessagePoll":{"name":"updateMessagePoll","description":["The results of a poll have changed"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"poll":{"description":"If the server knows the client hasn't cached this poll yet, the poll itself","links":null},"poll_id":{"description":"Poll ID","links":null},"results":{"description":"New poll results","links":null}}},"updateMessagePollVote":{"name":"updateMessagePollVote","description":["A specific user has voted in a poll"],"fields":{"options":{"description":"Chosen option(s)","links":null},"poll_id":{"description":"Poll ID","links":null},"user_id":{"description":"User ID","links":null}}},"updateNewChannelMessage":{"name":"updateNewChannelMessage","description":["A new message was sent in a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"fields":{"message":{"description":"New message","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updateNewEncryptedMessage":{"name":"updateNewEncryptedMessage","description":["New encrypted message."],"fields":{"message":{"description":"Message","links":null},"qts":{"description":"New qts value","links":null}}},"updateNewMessage":{"name":"updateNewMessage","description":["New message in a private chat or in a legacy group¹."],"links":["https://core.telegram.org/api/channel"],"fields":{"message":{"description":"Message","links":null},"pts":{"description":"New quantity of actions in a message box","links":null},"pts_count":{"description":"Number of generated events","links":null}}},"updateNewScheduledMessage":{"name":"updateNewScheduledMessage","description":["A message was added to the schedule queue of a chat¹"],"links":["https://core.telegram.org/api/scheduled-messages"],"fields":{"message":{"description":"Message","links":null}}},"updateNewStickerSet":{"name":"updateNewStickerSet","description":["A new stickerset was installed"],"fields":{"stickerset":{"description":"The installed stickerset","links":null}}},"updateNotifySettings":{"name":"updateNotifySettings","description":["Changes in notification settings."],"fields":{"notify_settings":{"description":"New notification settings","links":null},"peer":{"description":"Nofication source","links":null}}},"updatePeerBlocked":{"name":"updatePeerBlocked","description":["A peer was blocked"],"fields":{"blocked":{"description":"Whether the peer was blocked or unblocked","links":null},"peer_id":{"description":"The blocked peer","links":null}}},"updatePeerLocated":{"name":"updatePeerLocated","description":["List of peers near you was updated"],"fields":{"peers":{"description":"Geolocated peer list update","links":null}}},"updatePeerSettings":{"name":"updatePeerSettings","description":["Settings of a certain peer have changed"],"fields":{"peer":{"description":"The peer","links":null},"settings":{"description":"Associated peer settings","links":null}}},"updatePhoneCall":{"name":"updatePhoneCall","description":["An incoming phone call"],"fields":{"phone_call":{"description":"Phone call","links":null}}},"updatePhoneCallSignalingData":{"name":"updatePhoneCallSignalingData","description":["Incoming phone call signaling payload"],"fields":{"data":{"description":"Signaling payload","links":null},"phone_call_id":{"description":"Phone call ID","links":null}}},"updatePinnedChannelMessages":{"name":"updatePinnedChannelMessages","description":["Messages were pinned/unpinned in a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel ID","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"messages":{"description":"Messages","links":null},"pinned":{"description":"Whether the messages were pinned or unpinned","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updatePinnedDialogs":{"name":"updatePinnedDialogs","description":["Pinned dialogs were updated"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"order":{"description":"New order of pinned dialogs","links":null}}},"updatePinnedMessages":{"name":"updatePinnedMessages","description":["Some messages were pinned in a chat"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"messages":{"description":"Message IDs","links":null},"peer":{"description":"Peer","links":null},"pinned":{"description":"Whether the messages were pinned or unpinned","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updatePrivacy":{"name":"updatePrivacy","description":["Privacy rules were changed"],"fields":{"key":{"description":"Peers to which the privacy rules apply","links":null},"rules":{"description":"New privacy rules","links":null}}},"updatePtsChanged":{"name":"updatePtsChanged","description":["Common message box sequence PTS¹ has changed, state has to be refetched using updates.getState²"],"links":["https://core.telegram.org/api/updates","https://core.telegram.org/api/updates#fetching-state"]},"updateReadChannelDiscussionInbox":{"name":"updateReadChannelDiscussionInbox","description":["Incoming comments in a discussion thread¹ were marked as read"],"links":["https://core.telegram.org/api/threads"],"fields":{"broadcast_id":{"description":"If set, contains the ID of the channel¹ that contains the post that started the comment thread² in the discussion group (channel_id)","links":["https://core.telegram.org/api/channel","https://core.telegram.org/api/threads"]},"broadcast_post":{"description":"If set, contains the ID of the channel post that started the the comment thread¹","links":["https://core.telegram.org/api/threads"]},"channel_id":{"description":"Discussion group ID¹","links":["https://core.telegram.org/api/channel"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"read_max_id":{"description":"Message ID of latest read incoming message for this thread¹","links":["https://core.telegram.org/api/threads"]},"top_msg_id":{"description":"ID of the group message that started the thread¹ (message in linked discussion group)","links":["https://core.telegram.org/api/threads"]}}},"updateReadChannelDiscussionOutbox":{"name":"updateReadChannelDiscussionOutbox","description":["Outgoing comments in a discussion thread¹ were marked as read"],"links":["https://core.telegram.org/api/threads"],"fields":{"channel_id":{"description":"Supergroup ID¹","links":["https://core.telegram.org/api/channel"]},"read_max_id":{"description":"Message ID of latest read outgoing message for this thread¹","links":["https://core.telegram.org/api/threads"]},"top_msg_id":{"description":"ID of the group message that started the thread¹","links":["https://core.telegram.org/api/threads"]}}},"updateReadChannelInbox":{"name":"updateReadChannelInbox","description":["Incoming messages in a channel/supergroup¹ were read"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel/supergroup ID","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"max_id":{"description":"Position up to which all incoming messages are read.","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"still_unread_count":{"description":"Count of messages weren't read yet","links":null}}},"updateReadChannelOutbox":{"name":"updateReadChannelOutbox","description":["Outgoing messages in a channel/supergroup¹ were read"],"links":["https://core.telegram.org/api/channel"],"fields":{"channel_id":{"description":"Channel/supergroup ID","links":null},"max_id":{"description":"Position up to which all outgoing messages are read.","links":null}}},"updateReadFeaturedStickers":{"name":"updateReadFeaturedStickers","description":["Some featured stickers were marked as read"]},"updateReadHistoryInbox":{"name":"updateReadHistoryInbox","description":["Incoming messages were read"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"max_id":{"description":"Maximum ID of messages read","links":null},"peer":{"description":"Peer","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]},"still_unread_count":{"description":"Number of messages that are still unread","links":null}}},"updateReadHistoryOutbox":{"name":"updateReadHistoryOutbox","description":["Outgoing messages were read"],"fields":{"max_id":{"description":"Maximum ID of read outgoing messages","links":null},"peer":{"description":"Peer","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updateReadMessagesContents":{"name":"updateReadMessagesContents","description":["Contents of messages in the common message box¹ were read"],"links":["https://core.telegram.org/api/updates"],"fields":{"messages":{"description":"IDs of read messages","links":null},"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]}}},"updateRecentStickers":{"name":"updateRecentStickers","description":["The recent sticker list was updated"]},"updateSavedGifs":{"name":"updateSavedGifs","description":["The saved gif list has changed, the client should refetch it using messages.getSavedGifs¹"],"links":["https://core.telegram.org/method/messages.getSavedGifs"]},"updateServiceNotification":{"name":"updateServiceNotification","description":["A service message for the user.","The app must show the message to the user upon receiving this update. In case the popup parameter was passed, the text message must be displayed in a popup alert immediately upon receipt. It is recommended to handle the text as you would an ordinary message in terms of highlighting links, etc. The message must also be stored locally as part of the message history with the user id 777000 (Telegram Notifications)."],"fields":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"inbox_date":{"description":"When was the notification receivedThe message must also be stored locally as part of the message history with the user id 777000 (Telegram Notifications).","links":null},"media":{"description":"Media content (optional)","links":null},"message":{"description":"Message text","links":null},"popup":{"description":"(boolTrue) if the message must be displayed in a popup.","links":null},"type":{"description":"String, identical in format and contents to the type¹ field in API errors. Describes type of service message. It is acceptable to ignore repeated messages of the same type within a short period of time (15 minutes).","links":["https://core.telegram.org/api/errors#error-type"]}}},"updateShort":{"name":"updateShort","description":["Shortened constructor containing info on one update not requiring auxiliary data"],"fields":{"date":{"description":"Date of event","links":null},"update":{"description":"Update","links":null}}},"updateShortChatMessage":{"name":"updateShortChatMessage","description":["Shortened constructor containing info on one new incoming text message from a chat"],"fields":{"chat_id":{"description":"ID of the chat where the message was sent","links":null},"date":{"description":"date¹","links":["https://core.telegram.org/api/updates"]},"entities":{"description":"Entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"from_id":{"description":"ID of the sender of the message","links":null},"fwd_from":{"description":"Info about a forwarded message","links":null},"id":{"description":"ID of the message","links":null},"media_unread":{"description":"Whether the message contains some unread mentions","links":null},"mentioned":{"description":"Whether we were mentioned in this message","links":null},"message":{"description":"Message","links":null},"out":{"description":"Whether the message is outgoing","links":null},"pts":{"description":"PTS¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"PTS count¹","links":["https://core.telegram.org/api/updates"]},"reply_to":{"description":"Reply (thread) information","links":null},"silent":{"description":"If true, the message is a silent message, no notifications should be triggered","links":null},"via_bot_id":{"description":"Info about the inline bot used to generate this message","links":null}}},"updateShortMessage":{"name":"updateShortMessage","description":["Info about a message sent to (received from) another user"],"fields":{"date":{"description":"date¹","links":["https://core.telegram.org/api/updates"]},"entities":{"description":"Entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"fwd_from":{"description":"Info about a forwarded message","links":null},"id":{"description":"The message ID","links":null},"media_unread":{"description":"Whether there are some unread mentions in this message","links":null},"mentioned":{"description":"Whether we were mentioned in the message","links":null},"message":{"description":"The message","links":null},"out":{"description":"Whether the message is outgoing","links":null},"pts":{"description":"PTS¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"PTS count¹","links":["https://core.telegram.org/api/updates"]},"reply_to":{"description":"Reply and thread¹ information","links":["https://core.telegram.org/api/threads"]},"silent":{"description":"If true, the message is a silent message, no notifications should be triggered","links":null},"user_id":{"description":"The ID of the sender (if outgoing will be the ID of the destination) of the message","links":null},"via_bot_id":{"description":"Info about the inline bot used to generate this message","links":null}}},"updateShortSentMessage":{"name":"updateShortSentMessage","description":["Shortened constructor containing info on one outgoing message to a contact (the destination chat has to be extracted from the method call that returned this object)."],"fields":{"date":{"description":"date¹","links":["https://core.telegram.org/api/updates"]},"entities":{"description":"Entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the sent message","links":null},"media":{"description":"Attached media","links":null},"out":{"description":"Whether the message is outgoing","links":null},"pts":{"description":"PTS¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"PTS count¹","links":["https://core.telegram.org/api/updates"]}}},"updateStickerSets":{"name":"updateStickerSets","description":["Installed stickersets have changed, the client should refetch them using messages.getAllStickers¹"],"links":["https://core.telegram.org/method/messages.getAllStickers"]},"updateStickerSetsOrder":{"name":"updateStickerSetsOrder","description":["The order of stickersets was changed"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"masks":{"description":"Whether the updated stickers are mask stickers","links":null},"order":{"description":"New sticker order by sticker ID","links":null}}},"updateTheme":{"name":"updateTheme","description":["A cloud theme was updated"],"fields":{"theme":{"description":"Theme","links":null}}},"updateUserName":{"name":"updateUserName","description":["Changes the user's first name, last name and username."],"fields":{"first_name":{"description":"New first name. Corresponds to the new value of real_first_name field of the userFull¹ constructor.","links":["https://core.telegram.org/constructor/userFull"]},"last_name":{"description":"New last name. Corresponds to the new value of real_last_name field of the userFull¹ constructor.","links":["https://core.telegram.org/constructor/userFull"]},"user_id":{"description":"User identifier","links":null},"username":{"description":"New username.Parameter added in Layer 18¹.","links":["https://core.telegram.org/api/layers#layer-18"]}}},"updateUserPhone":{"name":"updateUserPhone","description":["A user's phone number was changed"],"fields":{"phone":{"description":"New phone number","links":null},"user_id":{"description":"User ID","links":null}}},"updateUserPhoto":{"name":"updateUserPhoto","description":["Change of contact's profile photo."],"fields":{"date":{"description":"Date of photo update.","links":null},"photo":{"description":"New profile photo","links":null},"previous":{"description":"(boolTrue¹), if one of the previously used photos is set a profile photo.","links":["https://core.telegram.org/constructor/boolTrue"]},"user_id":{"description":"User identifier","links":null}}},"updateUserStatus":{"name":"updateUserStatus","description":["Contact status update."],"fields":{"status":{"description":"New status","links":null},"user_id":{"description":"User identifier","links":null}}},"updateUserTyping":{"name":"updateUserTyping","description":["The user is preparing a message; typing, recording, uploading, etc. This update is valid for 6 seconds. If no repeated update received after 6 seconds, it should be considered that the user stopped doing whatever he's been doing."],"fields":{"action":{"description":"Action typeParam added in Layer 17¹.","links":["https://core.telegram.org/api/layers#layer-17"]},"user_id":{"description":"User id","links":null}}},"updateWebPage":{"name":"updateWebPage","description":["An instant view¹ webpage preview was generated"],"links":["https://instantview.telegram.org"],"fields":{"pts":{"description":"Event count after generation¹","links":["https://core.telegram.org/api/updates"]},"pts_count":{"description":"Number of events that were generated¹","links":["https://core.telegram.org/api/updates"]},"webpage":{"description":"Webpage preview","links":null}}},"updates.channelDifference":{"name":"updates.channelDifference","description":["The new updates"],"fields":{"chats":{"description":"Chats","links":null},"final":{"description":"Whether there are more updates to be fetched using getDifference, starting from the provided pts","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"new_messages":{"description":"New messages","links":null},"other_updates":{"description":"Other updates","links":null},"pts":{"description":"The PTS¹ from which to start getting updates the next time","links":["https://core.telegram.org/api/updates"]},"timeout":{"description":"Clients are supposed to refetch the channel difference after timeout seconds have elapsed","links":null},"users":{"description":"Users","links":null}}},"updates.channelDifferenceEmpty":{"name":"updates.channelDifferenceEmpty","description":["There are no new updates"],"fields":{"final":{"description":"Whether there are more updates that must be fetched (always false)","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"pts":{"description":"The latest PTS¹","links":["https://core.telegram.org/api/updates"]},"timeout":{"description":"Clients are supposed to refetch the channel difference after timeout seconds have elapsed","links":null}}},"updates.channelDifferenceTooLong":{"name":"updates.channelDifferenceTooLong","description":["The provided pts + limit \u003c remote pts. Simply, there are too many updates to be fetched (more than limit), the client has to resolve the update gap in one of the following ways:"],"fields":{"chats":{"description":"Chats from messages","links":null},"dialog":{"description":"Dialog containing the latest PTS¹ that can be used to reset the channel state","links":["https://core.telegram.org/api/updates"]},"final":{"description":"Whether there are more updates that must be fetched (always false)","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"messages":{"description":"The latest messages","links":null},"timeout":{"description":"Clients are supposed to refetch the channel difference after timeout seconds have elapsed","links":null},"users":{"description":"Users from messages","links":null}}},"updates.difference":{"name":"updates.difference","description":["Full list of occurred events."],"fields":{"chats":{"description":"List of chats mentioned in events","links":null},"new_encrypted_messages":{"description":"List of new encrypted secret chat messages","links":null},"new_messages":{"description":"List of new messages","links":null},"other_updates":{"description":"List of updates","links":null},"state":{"description":"Current state","links":null},"users":{"description":"List of users mentioned in events","links":null}}},"updates.differenceEmpty":{"name":"updates.differenceEmpty","description":["No events."],"fields":{"date":{"description":"Current date","links":null},"seq":{"description":"Number of sent updates","links":null}}},"updates.differenceSlice":{"name":"updates.differenceSlice","description":["Incomplete list of occurred events."],"fields":{"chats":{"description":"List of chats mentioned in events","links":null},"intermediate_state":{"description":"Intermediary state","links":null},"new_encrypted_messages":{"description":"New messages from the encrypted event sequence¹","links":["https://core.telegram.org/api/updates"]},"new_messages":{"description":"List of new messgaes","links":null},"other_updates":{"description":"List of updates","links":null},"users":{"description":"List of users mentioned in events","links":null}}},"updates.differenceTooLong":{"name":"updates.differenceTooLong","description":["The difference is too long¹, and the specified state must be used to refetch updates."],"links":["https://core.telegram.org/api/updates#recovering-gaps"],"fields":{"pts":{"description":"The new state to use.","links":null}}},"updates.state":{"name":"updates.state","description":["Updates state."],"fields":{"date":{"description":"Date of condition","links":null},"pts":{"description":"Number of events occured in a text box","links":null},"qts":{"description":"Position in a sequence of updates in secret chats. For further detailes refer to article secret chats¹Parameter was added in eigth layer².","links":["https://core.telegram.org/api/end-to-end","https://core.telegram.org/api/layers#layer-8"]},"seq":{"description":"Number of sent updates","links":null},"unread_count":{"description":"Number of unread messages","links":null}}},"updatesCombined":{"name":"updatesCombined","description":["Constructor for a group of updates."],"fields":{"chats":{"description":"List of chats mentioned in updates","links":null},"date":{"description":"Current date","links":null},"seq":{"description":"Value seq for the latest update in a group","links":null},"seq_start":{"description":"Value seq for the earliest update in a group","links":null},"updates":{"description":"List of updates","links":null},"users":{"description":"List of users mentioned in updates","links":null}}},"updatesTooLong":{"name":"updatesTooLong","description":["Too many updates, it is necessary to execute updates.getDifference¹."],"links":["https://core.telegram.org/method/updates.getDifference"]},"upload.cdnFile":{"name":"upload.cdnFile","description":["Represent a chunk of a CDN¹ file."],"links":["https://core.telegram.org/cdn"],"fields":{"bytes":{"description":"The data","links":null}}},"upload.cdnFileReuploadNeeded":{"name":"upload.cdnFileReuploadNeeded","description":["The file was cleared from the temporary RAM cache of the CDN¹ and has to be reuploaded."],"links":["https://core.telegram.org/cdn"],"fields":{"request_token":{"description":"Request token (see CDN¹)","links":["https://core.telegram.org/cdn"]}}},"upload.file":{"name":"upload.file","description":["File content."],"fields":{"bytes":{"description":"Binary data, file content","links":null},"mtime":{"description":"Modification type","links":null},"type":{"description":"File type","links":null}}},"upload.fileCdnRedirect":{"name":"upload.fileCdnRedirect","description":["The file must be downloaded from a CDN DC¹."],"links":["https://core.telegram.org/cdn"],"fields":{"dc_id":{"description":"CDN DC¹ ID","links":["https://core.telegram.org/cdn"]},"encryption_iv":{"description":"Encryption IV (see CDN files¹)","links":["https://core.telegram.org/cdn"]},"encryption_key":{"description":"Encryption key (see CDN files¹)","links":["https://core.telegram.org/cdn"]},"file_hashes":{"description":"File hashes (see CDN files¹)","links":["https://core.telegram.org/cdn"]},"file_token":{"description":"File token (see CDN files¹)","links":["https://core.telegram.org/cdn"]}}},"upload.webFile":{"name":"upload.webFile","description":["Represents a chunk of an HTTP webfile¹ downloaded through telegram's secure MTProto servers"],"links":["https://core.telegram.org/api/files"],"fields":{"bytes":{"description":"Data","links":null},"file_type":{"description":"File type","links":null},"mime_type":{"description":"Mime type","links":null},"mtime":{"description":"Modified time","links":null},"size":{"description":"File size","links":null}}},"urlAuthResultAccepted":{"name":"urlAuthResultAccepted","description":["Details about an accepted authorization request, for more info click here »¹"],"links":["https://core.telegram.org/api/url-authorization"],"fields":{"url":{"description":"The URL name of the website on which the user has logged in.","links":null}}},"urlAuthResultDefault":{"name":"urlAuthResultDefault","description":["Details about an accepted authorization request, for more info click here »¹"],"links":["https://core.telegram.org/api/url-authorization"]},"urlAuthResultRequest":{"name":"urlAuthResultRequest","description":["Details about the authorization request, for more info click here »¹"],"links":["https://core.telegram.org/api/url-authorization"],"fields":{"bot":{"description":"Username of a bot, which will be used for user authorization. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot¹ for more details.","links":["https://core.telegram.org/widgets/login#linking-your-domain-to-the-bot"]},"domain":{"description":"The domain name of the website on which the user will log in.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"request_write_access":{"description":"Whether the bot would like to send messages to the user","links":null}}},"user":{"name":"user","description":["Indicates info about a certain user"],"fields":{"access_hash":{"description":"Access hash of the user","links":null},"apply_min_photo":{"description":"If set, the profile picture for this user should be refetched","links":null},"bot":{"description":"Is this user a bot?","links":null},"bot_chat_history":{"description":"Can the bot see all messages in groups?","links":null},"bot_info_version":{"description":"Version of the bot_info field in userFull¹, incremented every time it changes","links":["https://core.telegram.org/constructor/userFull"]},"bot_inline_geo":{"description":"Whether the bot can request our geolocation in inline mode","links":null},"bot_inline_placeholder":{"description":"Inline placeholder for this inline bot","links":null},"bot_nochats":{"description":"Can the bot be added to groups?","links":null},"contact":{"description":"Whether this user is a contact","links":null},"deleted":{"description":"Whether the account of this user was deleted","links":null},"first_name":{"description":"First name","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the user","links":null},"lang_code":{"description":"Language code of the user","links":null},"last_name":{"description":"Last name","links":null},"min":{"description":"See min¹","links":["https://core.telegram.org/api/min"]},"mutual_contact":{"description":"Whether this user is a mutual contact","links":null},"phone":{"description":"Phone number","links":null},"photo":{"description":"Profile picture of user","links":null},"restricted":{"description":"Access to this user must be restricted for the reason specified in restriction_reason","links":null},"restriction_reason":{"description":"Contains the reason why access to this user must be restricted.","links":null},"scam":{"description":"This may be a scam user","links":null},"self":{"description":"Whether this user indicates the currently logged in user","links":null},"status":{"description":"Online status of user","links":null},"support":{"description":"Whether this is an official support user","links":null},"username":{"description":"Username","links":null},"verified":{"description":"Whether this user is verified","links":null}}},"userEmpty":{"name":"userEmpty","description":["Empty constructor, non-existent user."],"fields":{"id":{"description":"User identifier or 0","links":null}}},"userFull":{"name":"userFull","description":["Extended user info"],"fields":{"about":{"description":"Bio of the user","links":null},"blocked":{"description":"Whether you have blocked this user","links":null},"bot_info":{"description":"For bots, info about the bot (bot commands, etc)","links":null},"can_pin_message":{"description":"Whether you can pin messages in the chat with this user, you can do this only for a chat with yourself","links":null},"common_chats_count":{"description":"Chats in common with this user","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"has_scheduled":{"description":"Whether scheduled messages¹ are available","links":["https://core.telegram.org/api/scheduled-messages"]},"notify_settings":{"description":"Notification settings","links":null},"phone_calls_available":{"description":"Whether this user can make VoIP calls","links":null},"phone_calls_private":{"description":"Whether this user's privacy settings allow you to call him","links":null},"pinned_msg_id":{"description":"Message ID of the last pinned message¹","links":["https://core.telegram.org/api/pin"]},"profile_photo":{"description":"Profile photo","links":null},"settings":{"description":"Peer settings","links":null},"user":{"description":"Remaining user info","links":null},"video_calls_available":{"description":"Whether the user can receive video calls","links":null}}},"userProfilePhoto":{"name":"userProfilePhoto","description":["User profile photo."],"fields":{"dc_id":{"description":"DC ID where the photo is stored","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"has_video":{"description":"Whether an animated profile picture¹ is available for this user","links":["https://core.telegram.org/api/files#animated-profile-pictures"]},"photo_big":{"description":"Location of the file, corresponding to the big profile photo thumbnail","links":null},"photo_id":{"description":"Identifier of the respective photoParameter added in Layer 2¹","links":["https://core.telegram.org/api/layers#layer-2"]},"photo_small":{"description":"Location of the file, corresponding to the small profile photo thumbnail","links":null}}},"userProfilePhotoEmpty":{"name":"userProfilePhotoEmpty","description":["Profile photo has not been set, or was hidden."]},"userStatusEmpty":{"name":"userStatusEmpty","description":["User status has not been set yet."]},"userStatusLastMonth":{"name":"userStatusLastMonth","description":["Online status: last seen last month"]},"userStatusLastWeek":{"name":"userStatusLastWeek","description":["Online status: last seen last week"]},"userStatusOffline":{"name":"userStatusOffline","description":["The user's offline status."],"fields":{"was_online":{"description":"Time the user was last seen online","links":null}}},"userStatusOnline":{"name":"userStatusOnline","description":["Online status of the user."],"fields":{"expires":{"description":"Time to expiration of the current online status","links":null}}},"userStatusRecently":{"name":"userStatusRecently","description":["Online status: last seen recently"]},"vector":{"name":"vector","description":["A universal vector constructor."]},"videoSize":{"name":"videoSize","description":["Animated profile picture¹ in MPEG4 format"],"links":["https://core.telegram.org/api/files#animated-profile-pictures"],"fields":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"h":{"description":"Video height","links":null},"location":{"description":"File location","links":null},"size":{"description":"File size","links":null},"type":{"description":"u for animated profile pictures, and v for trimmed and downscaled video previews","links":null},"video_start_ts":{"description":"Timestamp that should be shown as static preview to the user (seconds)","links":null},"w":{"description":"Video width","links":null}}},"wallPaper":{"name":"wallPaper","description":["Wallpaper settings."],"fields":{"access_hash":{"description":"Access hash","links":null},"creator":{"description":"Creator of the wallpaper","links":null},"dark":{"description":"Dark mode","links":null},"default":{"description":"Whether this is the default wallpaper","links":null},"document":{"description":"The actual wallpaper","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Identifier","links":null},"pattern":{"description":"Pattern","links":null},"settings":{"description":"Wallpaper settings","links":null},"slug":{"description":"Unique wallpaper ID","links":null}}},"wallPaperNoFile":{"name":"wallPaperNoFile","description":["No file wallpaper"],"fields":{"dark":{"description":"Dark mode","links":null},"default":{"description":"Whether this is the default wallpaper","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"settings":{"description":"Wallpaper settings","links":null}}},"wallPaperSettings":{"name":"wallPaperSettings","description":["Wallpaper settings"],"fields":{"background_color":{"description":"If set, a PNG pattern is to be combined with the color chosen by the user: the main color of the background in RGB24 format","links":null},"blur":{"description":"If set, the wallpaper must be downscaled to fit in 450x450 square and then box-blurred with radius 12","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"intensity":{"description":"Intensity of the pattern when it is shown above the main background color, 0-100","links":null},"motion":{"description":"If set, the background needs to be slightly moved when device is rotated","links":null},"rotation":{"description":"Clockwise rotation angle of the gradient, in degrees; 0-359. Should be always divisible by 45","links":null},"second_background_color":{"description":"If set, a PNG pattern is to be combined with the first and second background colors (RGB24 format) in a top-bottom gradient","links":null}}},"webAuthorization":{"name":"webAuthorization","description":["Represents a bot logged in using the Telegram login widget¹"],"links":["https://core.telegram.org/widgets/login"],"fields":{"bot_id":{"description":"Bot ID","links":null},"browser":{"description":"Browser user-agent","links":null},"date_active":{"description":"When was the web session last active","links":null},"date_created":{"description":"When was the web session created","links":null},"domain":{"description":"The domain name of the website on which the user has logged in.","links":null},"hash":{"description":"Authorization hash","links":null},"ip":{"description":"IP address","links":null},"platform":{"description":"Platform","links":null},"region":{"description":"Region, determined from IP address","links":null}}},"webDocument":{"name":"webDocument","description":["Remote document"],"fields":{"access_hash":{"description":"Access hash","links":null},"attributes":{"description":"Attributes for media types","links":null},"mime_type":{"description":"MIME type","links":null},"size":{"description":"File size","links":null},"url":{"description":"Document URL","links":null}}},"webDocumentNoProxy":{"name":"webDocumentNoProxy","description":["Remote document that can be downloaded without proxying through telegram¹"],"links":["https://core.telegram.org/api/files"],"fields":{"attributes":{"description":"Attributes for media types","links":null},"mime_type":{"description":"MIME type","links":null},"size":{"description":"File size","links":null},"url":{"description":"Document URL","links":null}}},"webPage":{"name":"webPage","description":["Webpage preview"],"fields":{"attributes":{"description":"Webpage attributes","links":null},"author":{"description":"Author of the content","links":null},"cached_page":{"description":"Page contents in instant view¹ format","links":["https://instantview.telegram.org"]},"description":{"description":"Content description","links":null},"display_url":{"description":"Webpage URL to be displayed to the user","links":null},"document":{"description":"Preview of the content as a media file","links":null},"duration":{"description":"Duration of the content, in seconds","links":null},"embed_height":{"description":"Height of the embedded preview","links":null},"embed_type":{"description":"MIME type of the embedded preview, (e.g., text/html or video/mp4)","links":null},"embed_url":{"description":"URL to show in the embedded preview","links":null},"embed_width":{"description":"Width of the embedded preview","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"id":{"description":"Preview ID","links":null},"photo":{"description":"Image representing the content","links":null},"site_name":{"description":"Short name of the site (e.g., Google Docs, App Store)","links":null},"title":{"description":"Title of the content","links":null},"type":{"description":"Type of the web page. Can be: article, photo, audio, video, document, profile, app, or something else","links":null},"url":{"description":"URL of previewed webpage","links":null}}},"webPageAttributeTheme":{"name":"webPageAttributeTheme","description":["Page theme"],"fields":{"documents":{"description":"Theme files","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"settings":{"description":"Theme settings","links":null}}},"webPageEmpty":{"name":"webPageEmpty","description":["No preview is available for the webpage"],"fields":{"id":{"description":"Preview ID","links":null}}},"webPageNotModified":{"name":"webPageNotModified","description":["The preview of the webpage hasn't changed"],"fields":{"cached_page_views":{"description":"Page view count","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"webPagePending":{"name":"webPagePending","description":["A preview of the webpage is currently being generated"],"fields":{"date":{"description":"When was the processing started","links":null},"id":{"description":"ID of preview","links":null}}}},"types":{"#":{"name":"#","description":["A basic bare type, the values of which correspond to single-element sequences, i.e. unsigned numbers from 0 to 2^32-1 which in this case represent themselves.","More on basic types »¹"],"links":["https://core.telegram.org/mtproto/serialize"]},"Account.AuthorizationForm":{"name":"Account.AuthorizationForm","description":["Authorization form"]},"Account.Authorizations":{"name":"Account.Authorizations","description":["Logged-in sessions"]},"Account.AutoDownloadSettings":{"name":"Account.AutoDownloadSettings","description":["Media autodownload settings"]},"Account.PrivacyRules":{"name":"Account.PrivacyRules","description":["Privacy rules"]},"Account.Takeout":{"name":"Account.Takeout","description":["Takeout info"]},"Account.TmpPassword":{"name":"Account.TmpPassword","description":["Temporary password"]},"Account.WallPapers":{"name":"Account.WallPapers","description":["Wallpapers"]},"Account.WebAuthorizations":{"name":"Account.WebAuthorizations","description":["Web authorizations"]},"AccountDaysTTL":{"name":"AccountDaysTTL","description":["Time-to-live of current account"]},"Auth.ExportedAuthorization":{"name":"Auth.ExportedAuthorization","description":["Exported authorization"]},"Authorization":{"name":"Authorization","description":["Represents a logged-in session"]},"AutoDownloadSettings":{"name":"AutoDownloadSettings","description":["Media autodownload settings"]},"BankCardOpenUrl":{"name":"BankCardOpenUrl","description":["Credit card info URL provided by the bank"]},"BaseTheme":{"name":"BaseTheme","description":["Basic theme settings"]},"Bool":{"name":"Bool","description":["Boolean type."]},"BotCommand":{"name":"BotCommand","description":["Describes a bot command that can be used in a chat"]},"BotInfo":{"name":"BotInfo","description":["Info about bots (available bot commands, etc)"]},"BotInlineMessage":{"name":"BotInlineMessage","description":["Inline message"]},"BotInlineResult":{"name":"BotInlineResult","description":["Results of an inline query"]},"CdnConfig":{"name":"CdnConfig","description":["Configuration for CDN¹ file downloads."],"links":["https://core.telegram.org/cdn"]},"CdnPublicKey":{"name":"CdnPublicKey","description":["Public key to use only during handshakes to CDN¹ DCs."],"links":["https://core.telegram.org/cdn"]},"ChannelAdminLogEvent":{"name":"ChannelAdminLogEvent","description":["An event in a channel admin log"]},"ChannelAdminLogEventAction":{"name":"ChannelAdminLogEventAction","description":["Channel admin log event"]},"ChannelAdminLogEventsFilter":{"name":"ChannelAdminLogEventsFilter","description":["Filter for fetching events in the channel admin log"]},"ChannelLocation":{"name":"ChannelLocation","description":["Geographical location of supergroup (geogroups)"]},"ChannelMessagesFilter":{"name":"ChannelMessagesFilter","description":["Filter for fetching only certain types of channel messages"]},"ChannelParticipant":{"name":"ChannelParticipant","description":["Channel participant"]},"ChannelParticipantsFilter":{"name":"ChannelParticipantsFilter","description":["Filter for fetching channel participants"]},"Channels.AdminLogResults":{"name":"Channels.AdminLogResults","description":["Admin log events"]},"Channels.ChannelParticipant":{"name":"Channels.ChannelParticipant","description":["Channel participant"]},"Channels.ChannelParticipants":{"name":"Channels.ChannelParticipants","description":["Channel/supergroup participants"]},"Chat":{"name":"Chat","description":["Object defines a group."]},"ChatAdminRights":{"name":"ChatAdminRights","description":["Represents the rights of an admin in a channel/supergroup¹."],"links":["https://core.telegram.org/api/channel"]},"ChatBannedRights":{"name":"ChatBannedRights","description":["Represents the rights of a normal user in a supergroup/channel/chat¹."],"links":["https://core.telegram.org/api/channel"]},"ChatFull":{"name":"ChatFull","description":["Object containing detailed group info"]},"ChatInvite":{"name":"ChatInvite","description":["Chat invite"]},"ChatOnlines":{"name":"ChatOnlines","description":["Number of online users in a chat"]},"ChatParticipant":{"name":"ChatParticipant","description":["Details of a group member."]},"ChatParticipants":{"name":"ChatParticipants","description":["Object contains info on group members."]},"ChatPhoto":{"name":"ChatPhoto","description":["Object defines a group profile photo."]},"CodeSettings":{"name":"CodeSettings","description":["Settings for the code type to send"]},"Config":{"name":"Config","description":["Object contains info on API configuring parameters."]},"Contact":{"name":"Contact","description":["A contact of the current user."]},"ContactStatus":{"name":"ContactStatus","description":["Contact status: online / offline."]},"Contacts.ResolvedPeer":{"name":"Contacts.ResolvedPeer","description":["Peer returned after resolving a @username"]},"Contacts.TopPeers":{"name":"Contacts.TopPeers","description":["Top peers"]},"DataJSON":{"name":"DataJSON","description":["Represent a JSON-encoded object"]},"DcOption":{"name":"DcOption","description":["Information for connection to data centre."]},"Dialog":{"name":"Dialog","description":["Chat info."]},"DialogFilter":{"name":"DialogFilter","description":["Dialog filter (folders)"]},"DialogFilterSuggested":{"name":"DialogFilterSuggested","description":["Suggested dialog filters (folders)"]},"DialogPeer":{"name":"DialogPeer","description":["Peer, or all peers in a folder"]},"Document":{"name":"Document","description":["A document."]},"DocumentAttribute":{"name":"DocumentAttribute","description":["Various possible attributes of a document (used to define if it's a sticker, a GIF, a video, a mask sticker, an image, an audio, and so on)"]},"DraftMessage":{"name":"DraftMessage","description":["Represents a message draft¹."],"links":["https://core.telegram.org/api/drafts"]},"EmojiKeyword":{"name":"EmojiKeyword","description":["Emoji keyword"]},"EmojiKeywordsDifference":{"name":"EmojiKeywordsDifference","description":["New emoji keywords"]},"EmojiLanguage":{"name":"EmojiLanguage","description":["Emoji language"]},"EmojiURL":{"name":"EmojiURL","description":["Emoji URL"]},"EncryptedChat":{"name":"EncryptedChat","description":["Object contains info on an encrypted chat."]},"EncryptedFile":{"name":"EncryptedFile","description":["Seta an encrypted file."]},"EncryptedMessage":{"name":"EncryptedMessage","description":["Object contains encrypted message."]},"Error":{"name":"Error","description":["An object containing a query error."]},"ExportedChatInvite":{"name":"ExportedChatInvite","description":["Exported chat invite"]},"ExportedMessageLink":{"name":"ExportedMessageLink","description":["HTTP link and embed info of channel message"]},"FileHash":{"name":"FileHash","description":["Hash of an uploaded file, to be checked for validity after download"]},"FileLocation":{"name":"FileLocation","description":["Indicates the location of a photo, will be deprecated soon"]},"Folder":{"name":"Folder","description":["A folder"]},"FolderPeer":{"name":"FolderPeer","description":["Peer associated to folder"]},"Game":{"name":"Game","description":["Indicates an already sent game"]},"GeoPoint":{"name":"GeoPoint","description":["Object defines a GeoPoint."]},"GlobalPrivacySettings":{"name":"GlobalPrivacySettings","description":["Global privacy settings"]},"Help.DeepLinkInfo":{"name":"Help.DeepLinkInfo","description":["Contains information about a tg:// deep link"]},"Help.PassportConfig":{"name":"Help.PassportConfig","description":["Telegram passport¹ configuration"],"links":["https://core.telegram.org/passport"]},"Help.RecentMeUrls":{"name":"Help.RecentMeUrls","description":["Recent t.me URLs"]},"Help.SupportName":{"name":"Help.SupportName","description":["Get localized name for support user"]},"Help.TermsOfServiceUpdate":{"name":"Help.TermsOfServiceUpdate","description":["Update of Telegram's terms of service"]},"Help.UserInfo":{"name":"Help.UserInfo","description":["User info"]},"HighScore":{"name":"HighScore","description":["Game high score"]},"ImportedContact":{"name":"ImportedContact","description":["Object contains info on a successfully imported contact."]},"InlineBotSwitchPM":{"name":"InlineBotSwitchPM","description":["The bot requested the user to message him in private"]},"InputAppEvent":{"name":"InputAppEvent","description":["Object contains info about an event that occured in the application."]},"InputBotInlineMessage":{"name":"InputBotInlineMessage","description":["Represents a sent inline message from the perspective of a bot"]},"InputBotInlineMessageID":{"name":"InputBotInlineMessageID","description":["Represents a sent inline message from the perspective of a bot"]},"InputBotInlineResult":{"name":"InputBotInlineResult","description":["Inline bot result"]},"InputChannel":{"name":"InputChannel","description":["Represents a channel"]},"InputChatPhoto":{"name":"InputChatPhoto","description":["Defines a new group profile photo."]},"InputCheckPasswordSRP":{"name":"InputCheckPasswordSRP","description":["Constructors for checking the validity of a 2FA SRP password¹"],"links":["https://core.telegram.org/api/srp"]},"InputClientProxy":{"name":"InputClientProxy","description":["Info about an MTProxy¹ used to connect."],"links":["https://core.telegram.org/mtproto/mtproto-transports#transport-obfuscation"]},"InputContact":{"name":"InputContact","description":["Object defines a contact from the user's phonebook."]},"InputDialogPeer":{"name":"InputDialogPeer","description":["Peer, or all peers in a certain folder"]},"InputDocument":{"name":"InputDocument","description":["Defines a document for subsequent interaction."]},"InputEncryptedChat":{"name":"InputEncryptedChat","description":["Object sets an encrypted chat ID."]},"InputEncryptedFile":{"name":"InputEncryptedFile","description":["Object sets encrypted file for attachment"]},"InputFile":{"name":"InputFile","description":["Defines a file uploaded by the client."]},"InputFileLocation":{"name":"InputFileLocation","description":["Defines the location of a file for download."]},"InputFolderPeer":{"name":"InputFolderPeer","description":["Peer in a folder"]},"InputGame":{"name":"InputGame","description":["A game to send"]},"InputGeoPoint":{"name":"InputGeoPoint","description":["Defines a GeoPoint."]},"InputMedia":{"name":"InputMedia","description":["Defines media content of a message."]},"InputMessage":{"name":"InputMessage","description":["A message"]},"InputNotifyPeer":{"name":"InputNotifyPeer","description":["Object defines the set of users and/or groups that generate notifications."]},"InputPaymentCredentials":{"name":"InputPaymentCredentials","description":["Payment credentials"]},"InputPeer":{"name":"InputPeer","description":["Peer"]},"InputPeerNotifySettings":{"name":"InputPeerNotifySettings","description":["Notifications settings."]},"InputPhoneCall":{"name":"InputPhoneCall","description":["Phone call"]},"InputPhoto":{"name":"InputPhoto","description":["Defines a photo for further interaction."]},"InputPrivacyKey":{"name":"InputPrivacyKey","description":["Privacy key"]},"InputPrivacyRule":{"name":"InputPrivacyRule","description":["Privacy rule"]},"InputSecureFile":{"name":"InputSecureFile","description":["Secure passport¹ file, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#inputsecurefile"]},"InputSecureValue":{"name":"InputSecureValue","description":["Secure value, for more info see the passport docs »¹"],"links":["https://core.telegram.org/passport/encryption#encryption"]},"InputSingleMedia":{"name":"InputSingleMedia","description":["A single media in an album or grouped media¹ sent with messages.sendMultiMedia²."],"links":["https://core.telegram.org/api/files#albums-grouped-media","https://core.telegram.org/method/messages.sendMultiMedia"]},"InputStickerSet":{"name":"InputStickerSet","description":["Represents a stickerset"]},"InputStickerSetItem":{"name":"InputStickerSetItem","description":["Sticker"]},"InputStickeredMedia":{"name":"InputStickeredMedia","description":["Represents a media with attached stickers"]},"InputTheme":{"name":"InputTheme","description":["Cloud theme"]},"InputThemeSettings":{"name":"InputThemeSettings","description":["Theme settings"]},"InputUser":{"name":"InputUser","description":["Defines a user for subsequent interaction."]},"InputWallPaper":{"name":"InputWallPaper","description":["Wallpaper"]},"InputWebDocument":{"name":"InputWebDocument","description":["Specifies a document that will have to be downloaded from the URL by the telegram servers"]},"InputWebFileLocation":{"name":"InputWebFileLocation","description":["Location of remote file"]},"Invoice":{"name":"Invoice","description":["Invoice"]},"JSONObjectValue":{"name":"JSONObjectValue","description":["JSON key: value pair"]},"JSONValue":{"name":"JSONValue","description":["JSON value"]},"KeyboardButton":{"name":"KeyboardButton","description":["Bot or inline keyboard buttons"]},"KeyboardButtonRow":{"name":"KeyboardButtonRow","description":["Bot or inline keyboard rows"]},"LabeledPrice":{"name":"LabeledPrice","description":["Labeled pricetag"]},"LangPackDifference":{"name":"LangPackDifference","description":["Language pack changes"]},"LangPackLanguage":{"name":"LangPackLanguage","description":["Language pack language"]},"LangPackString":{"name":"LangPackString","description":["Language pack string"]},"MaskCoords":{"name":"MaskCoords","description":["Mask coordinates (if this is a mask sticker, attached to a photo)"]},"Message":{"name":"Message","description":["Object describing a message."]},"MessageAction":{"name":"MessageAction","description":["Object describing actions connected to a service message."]},"MessageEntity":{"name":"MessageEntity","description":["Message entities, representing styled text in a message"]},"MessageFwdHeader":{"name":"MessageFwdHeader","description":["Info about a forwarded message"]},"MessageInteractionCounters":{"name":"MessageInteractionCounters","description":["Message interaction counters"]},"MessageMedia":{"name":"MessageMedia","description":["Media"]},"MessageRange":{"name":"MessageRange","description":["Indicates a range of chat messages"]},"MessageReplies":{"name":"MessageReplies","description":["Info about post comments (for channels) or message replies (for groups)¹"],"links":["https://core.telegram.org/api/threads"]},"MessageReplyHeader":{"name":"MessageReplyHeader","description":["Reply information"]},"MessageUserVote":{"name":"MessageUserVote","description":["How a user voted in a poll"]},"MessageViews":{"name":"MessageViews","description":["View, forward counter + info about replies of a specific message"]},"Messages.AffectedMessages":{"name":"Messages.AffectedMessages","description":["Messages affected by changes"]},"Messages.AllStickers":{"name":"Messages.AllStickers","description":["All stickers"]},"Messages.ArchivedStickers":{"name":"Messages.ArchivedStickers","description":["Archived stickers"]},"Messages.BotCallbackAnswer":{"name":"Messages.BotCallbackAnswer","description":["Callback answer of bot"]},"Messages.DhConfig":{"name":"Messages.DhConfig","description":["Contains info on cofiguring parameters for key generation by Diffie-Hellman protocol."]},"Messages.FavedStickers":{"name":"Messages.FavedStickers","description":["Favorited stickers"]},"Messages.FeaturedStickers":{"name":"Messages.FeaturedStickers","description":["Featured stickers"]},"Messages.FoundStickerSets":{"name":"Messages.FoundStickerSets","description":["Found stickersets"]},"Messages.HighScores":{"name":"Messages.HighScores","description":["High scores (in games)"]},"Messages.MessageEditData":{"name":"Messages.MessageEditData","description":["Message edit data for media"]},"Messages.PeerDialogs":{"name":"Messages.PeerDialogs","description":["List of dialogs"]},"Messages.RecentStickers":{"name":"Messages.RecentStickers","description":["Recent stickers"]},"Messages.SavedGifs":{"name":"Messages.SavedGifs","description":["Saved GIFs"]},"Messages.SearchCounter":{"name":"Messages.SearchCounter","description":["Number of results that would be returned by a search"]},"Messages.SentEncryptedMessage":{"name":"Messages.SentEncryptedMessage","description":["Contains info on message sent to an encrypted chat."]},"Messages.StickerSet":{"name":"Messages.StickerSet","description":["Stickerset"]},"Messages.StickerSetInstallResult":{"name":"Messages.StickerSetInstallResult","description":["Result of stickerset installation process"]},"Messages.Stickers":{"name":"Messages.Stickers","description":["Stickers"]},"MessagesFilter":{"name":"MessagesFilter","description":["Object describes message filter."]},"NearestDc":{"name":"NearestDc","description":["Object contains info on nearest data centre."]},"NotifyPeer":{"name":"NotifyPeer","description":["Object defines the set of users and/or groups that generate notifications."]},"Null":{"name":"Null","description":["Object corresponds to an arbitrary empty object."]},"Page":{"name":"Page","description":["Instant view¹ page"],"links":["https://instantview.telegram.org"]},"PageBlock":{"name":"PageBlock","description":["Represents an instant view page element¹"],"links":["https://instantview.telegram.org"]},"PageCaption":{"name":"PageCaption","description":["Page caption"]},"PageListItem":{"name":"PageListItem","description":["Item in block list"]},"PageListOrderedItem":{"name":"PageListOrderedItem","description":["Represents an instant view ordered list¹"],"links":["https://instantview.telegram.org"]},"PageRelatedArticle":{"name":"PageRelatedArticle","description":["Related articles"]},"PageTableCell":{"name":"PageTableCell","description":["Represents a table in an instant view table¹"],"links":["https://instantview.telegram.org"]},"PageTableRow":{"name":"PageTableRow","description":["Table row"]},"PasswordKdfAlgo":{"name":"PasswordKdfAlgo","description":["Key derivation function to use when generating the password hash for SRP two-factor authorization¹"],"links":["https://core.telegram.org/api/srp"]},"PaymentCharge":{"name":"PaymentCharge","description":["Charged payment"]},"PaymentRequestedInfo":{"name":"PaymentRequestedInfo","description":["Requested payment info"]},"PaymentSavedCredentials":{"name":"PaymentSavedCredentials","description":["Saved payment credentials"]},"Payments.PaymentForm":{"name":"Payments.PaymentForm","description":["Payment form"]},"Payments.PaymentReceipt":{"name":"Payments.PaymentReceipt","description":["Payment receipt"]},"Payments.PaymentResult":{"name":"Payments.PaymentResult","description":["Payment result"]},"Payments.SavedInfo":{"name":"Payments.SavedInfo","description":["Saved payment info"]},"Payments.ValidatedRequestedInfo":{"name":"Payments.ValidatedRequestedInfo","description":["Validated requested info"]},"Peer":{"name":"Peer","description":["Chat partner or group."]},"PeerBlocked":{"name":"PeerBlocked","description":["Info about a blocked user"]},"PeerLocated":{"name":"PeerLocated","description":["Geolocated peer"]},"PeerNotifySettings":{"name":"PeerNotifySettings","description":["Notification settings."]},"PeerSettings":{"name":"PeerSettings","description":["Peer settings"]},"Phone.PhoneCall":{"name":"Phone.PhoneCall","description":["Phone call"]},"PhoneCall":{"name":"PhoneCall","description":["Phone call"]},"PhoneCallDiscardReason":{"name":"PhoneCallDiscardReason","description":["Why was the phone call discarded?"]},"PhoneCallProtocol":{"name":"PhoneCallProtocol","description":["Phone call protocol"]},"PhoneConnection":{"name":"PhoneConnection","description":["Phone call connection"]},"Photo":{"name":"Photo","description":["Object describes a photo."]},"PhotoSize":{"name":"PhotoSize","description":["Location of a certain size of a picture"]},"Poll":{"name":"Poll","description":["Indicates a poll message"]},"PollAnswer":{"name":"PollAnswer","description":["Indicates a possible answer to a poll¹."],"links":["https://core.telegram.org/type/Poll"]},"PollAnswerVoters":{"name":"PollAnswerVoters","description":["How users voted on a certain poll answer"]},"PollResults":{"name":"PollResults","description":["Results of poll"]},"PopularContact":{"name":"PopularContact","description":["Popular contact"]},"PostAddress":{"name":"PostAddress","description":["Shipping address"]},"PrivacyKey":{"name":"PrivacyKey","description":["Privacy key"]},"PrivacyRule":{"name":"PrivacyRule","description":["Privacy rule"]},"ReceivedNotifyMessage":{"name":"ReceivedNotifyMessage","description":["Confirmation of message receipt"]},"RecentMeUrl":{"name":"RecentMeUrl","description":["Recent t.me urls"]},"ReplyMarkup":{"name":"ReplyMarkup","description":["Reply markup for bot and inline keyboards"]},"ReportReason":{"name":"ReportReason","description":["Report reason"]},"RestrictionReason":{"name":"RestrictionReason","description":["Restriction reason"]},"RichText":{"name":"RichText","description":["Rich text"]},"SavedContact":{"name":"SavedContact","description":["Saved contact"]},"SecureCredentialsEncrypted":{"name":"SecureCredentialsEncrypted","description":["Encrypted secure credentials"]},"SecureData":{"name":"SecureData","description":["Secure passport¹ data, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#securedata"]},"SecureFile":{"name":"SecureFile","description":["Secure passport¹ file, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#inputsecurefile"]},"SecurePasswordKdfAlgo":{"name":"SecurePasswordKdfAlgo","description":["KDF algorithm to use for computing telegram passport¹ hash"],"links":["https://core.telegram.org/passport"]},"SecurePlainData":{"name":"SecurePlainData","description":["Plaintext verified passport data¹."],"links":["https://core.telegram.org/passport/encryption#secureplaindata"]},"SecureRequiredType":{"name":"SecureRequiredType","description":["Required secure file type"]},"SecureSecretSettings":{"name":"SecureSecretSettings","description":["Telegram passport¹ settings"],"links":["https://core.telegram.org/passport"]},"SecureValue":{"name":"SecureValue","description":["Secure tgpassport value"]},"SecureValueError":{"name":"SecureValueError","description":["Secure value error"]},"SecureValueHash":{"name":"SecureValueHash","description":["Secure value hash"]},"SecureValueType":{"name":"SecureValueType","description":["Secure value type"]},"SendMessageAction":{"name":"SendMessageAction","description":["User actions. Use this to provide users with detailed info about their chat partners' actions: typing or sending attachments of all kinds."]},"ShippingOption":{"name":"ShippingOption","description":["Shipping options"]},"Stats.BroadcastStats":{"name":"Stats.BroadcastStats","description":["Channel statistics"]},"StatsAbsValueAndPrev":{"name":"StatsAbsValueAndPrev","description":["Channel statistics value pair"]},"StatsDateRangeDays":{"name":"StatsDateRangeDays","description":["Channel statistics date range"]},"StatsGraph":{"name":"StatsGraph","description":["Channel statistics graph"]},"StatsGroupTopAdmin":{"name":"StatsGroupTopAdmin","description":["Most active admin in a supergroup¹"],"links":["https://core.telegram.org/api/channel"]},"StatsGroupTopInviter":{"name":"StatsGroupTopInviter","description":["Most active inviter in a supergroup¹"],"links":["https://core.telegram.org/api/channel"]},"StatsGroupTopPoster":{"name":"StatsGroupTopPoster","description":["Most active user in a supergroup¹"],"links":["https://core.telegram.org/api/channel"]},"StatsPercentValue":{"name":"StatsPercentValue","description":["Channel statistics percentage"]},"StatsURL":{"name":"StatsURL","description":["URL with chat statistics"]},"StickerPack":{"name":"StickerPack","description":["Stickerpack"]},"StickerSet":{"name":"StickerSet","description":["Represents a stickerset (stickerpack)"]},"StickerSetCovered":{"name":"StickerSetCovered","description":["Stickerset, with a specific sticker as preview"]},"Theme":{"name":"Theme","description":["Cloud theme"]},"ThemeSettings":{"name":"ThemeSettings","description":["Theme settings"]},"TopPeer":{"name":"TopPeer","description":["Top peer"]},"TopPeerCategory":{"name":"TopPeerCategory","description":["Top peer category"]},"TopPeerCategoryPeers":{"name":"TopPeerCategoryPeers","description":["Top peers by top peer category"]},"True":{"name":"True","description":["See predefined identifiers¹."],"links":["https://core.telegram.org/mtproto/TL-formal#predefined-identifiers"]},"Update":{"name":"Update","description":["Object contains info on events occured."]},"Updates":{"name":"Updates","description":["Object which is perceived by the client without a call on its part when an event occurs."]},"Upload.WebFile":{"name":"Upload.WebFile","description":["Remote file"]},"UrlAuthResult":{"name":"UrlAuthResult","description":["URL authorization result"]},"User":{"name":"User","description":["Object defines a user."]},"UserFull":{"name":"UserFull","description":["Object contains extended user info."]},"UserProfilePhoto":{"name":"UserProfilePhoto","description":["Object contains info on the user's profile photo."]},"UserStatus":{"name":"UserStatus","description":["User online status"]},"Vector t":{"name":"Vector t","description":["Universal vector."]},"VideoSize":{"name":"VideoSize","description":["Represents an animated video thumbnail"]},"WallPaper":{"name":"WallPaper","description":["Object contains info on a wallpaper."]},"WallPaperSettings":{"name":"WallPaperSettings","description":["Wallpaper settings"]},"WebAuthorization":{"name":"WebAuthorization","description":["Web authorization"]},"WebDocument":{"name":"WebDocument","description":["Remote document"]},"WebPage":{"name":"WebPage","description":["Instant View¹ webpage preview"],"links":["https://instantview.telegram.org"]},"WebPageAttribute":{"name":"WebPageAttribute","description":["Webpage attributes"]},"account.ContentSettings":{"name":"account.ContentSettings","description":["Sensitive content settings"]},"account.Password":{"name":"account.Password","description":["Configuration for two-factor authorization"]},"account.PasswordInputSettings":{"name":"account.PasswordInputSettings","description":["Constructor for setting up a new 2FA SRP password¹"],"links":["https://core.telegram.org/api/srp"]},"account.PasswordSettings":{"name":"account.PasswordSettings","description":["Private info associated to the password info (recovery email, telegram passport¹ info \u0026 so on)"],"links":["https://core.telegram.org/passport"]},"account.SentEmailCode":{"name":"account.SentEmailCode","description":["The email code that was sent"]},"account.Themes":{"name":"account.Themes","description":["Installed themes"]},"auth.Authorization":{"name":"auth.Authorization","description":["Oject contains info on user authorization."]},"auth.CodeType":{"name":"auth.CodeType","description":["Type of verification code that will be sent next if you call the resendCode method"]},"auth.LoginToken":{"name":"auth.LoginToken","description":["Login token (for QR code login)"]},"auth.PasswordRecovery":{"name":"auth.PasswordRecovery","description":["Recovery info of a 2FA password¹, only for accounts with a recovery email configured²."],"links":["https://core.telegram.org/api/srp","https://core.telegram.org/api/srp#email-verification"]},"auth.SentCode":{"name":"auth.SentCode","description":["Contains info on a confirmation code message sent via SMS, phone call or Telegram."]},"auth.SentCodeType":{"name":"auth.SentCodeType","description":["Type of the verification code that was sent"]},"bytes":{"name":"bytes","description":["Basic bare type. It is an alias of the string¹ type, with the difference that the value may contain arbitrary byte sequences, including invalid UTF-8 sequences.","When computing crc32 for a constructor or method it is necessary to replace all byte types with string types.","A basic bare type. Values of type string look differently depending on the length L of the string being serialized:","All strings passed to the API must be encoded in UTF-8. When arbitrary byte sequences have to be serialized, bytes¹ alias is to be used.","Further details on basic types»¹"],"links":["https://core.telegram.org/type/string","https://core.telegram.org/type/bytes","https://core.telegram.org/mtproto/serialize"]},"contacts.Blocked":{"name":"contacts.Blocked","description":["Info on users from the current user's black list."]},"contacts.Contacts":{"name":"contacts.Contacts","description":["Info on the current user's contact list."]},"contacts.Found":{"name":"contacts.Found","description":["Object contains info on users found by name substring and auxiliary data."]},"contacts.ImportedContacts":{"name":"contacts.ImportedContacts","description":["Object contains info on succesfully imported contacts."]},"double":{"name":"double","description":["A basic bare type, values of which correspond two-element sequences containing 64-bit real numbers in a standard double format.","More on basic types»¹"],"links":["https://core.telegram.org/mtproto/serialize"]},"help.AppUpdate":{"name":"help.AppUpdate","description":["Contains info on app update availability."]},"help.CountriesList":{"name":"help.CountriesList","description":["Name, ISO code, localized name and phone codes/patterns of all available countries"]},"help.Country":{"name":"help.Country","description":["Name, ISO code, localized name and phone codes/patterns of a specific country"]},"help.CountryCode":{"name":"help.CountryCode","description":["Country code and phone number pattern of a specific country"]},"help.InviteText":{"name":"help.InviteText","description":["Object contains info on the text of a message with an invitation."]},"help.PromoData":{"name":"help.PromoData","description":["Info about pinned MTProxy or Public Service Announcement peers."]},"help.Support":{"name":"help.Support","description":["Info about the support user, relevant to the current user."]},"help.TermsOfService":{"name":"help.TermsOfService","description":["Contains info about the latest telegram Terms Of Service."]},"int":{"name":"int","description":["A basic bare type, the values of which correspond to single-element sequences, i.e. numbers from -2^31 to 2^31-1 which in this case represent themselves.","More on basic types »¹"],"links":["https://core.telegram.org/mtproto/serialize"]},"long":{"name":"long","description":["A basic bare type, elements of which correspond to two-element sequences, representing 64-bit signed numbers (little-endian).","More on basic types »¹"],"links":["https://core.telegram.org/mtproto/serialize"]},"messages.AffectedHistory":{"name":"messages.AffectedHistory","description":["Object contains info on affected part of communication history with the user or in a chat."]},"messages.BotResults":{"name":"messages.BotResults","description":["Result of a query to an inline bot"]},"messages.ChatFull":{"name":"messages.ChatFull","description":["Object contains extended info on chat with auxiliary data."]},"messages.Chats":{"name":"messages.Chats","description":["Object contains list of chats with auxiliary data."]},"messages.Dialogs":{"name":"messages.Dialogs","description":["Object contains a list of chats with messages and auxiliary data."]},"messages.DiscussionMessage":{"name":"messages.DiscussionMessage","description":["Info about a message thread"]},"messages.InactiveChats":{"name":"messages.InactiveChats","description":["Inactive chat list"]},"messages.MessageViews":{"name":"messages.MessageViews","description":["View, forward counter + info about replies"]},"messages.Messages":{"name":"messages.Messages","description":["Object contains infor on list of messages with auxiliary data."]},"messages.VotesList":{"name":"messages.VotesList","description":["How users voted in a poll"]},"payments.BankCardData":{"name":"payments.BankCardData","description":["Credit card info, provided by the card's bank(s)"]},"photos.Photo":{"name":"photos.Photo","description":["Photo with auxiliary data."]},"photos.Photos":{"name":"photos.Photos","description":["Object contains list of photos with auxiliary data."]},"stats.MegagroupStats":{"name":"stats.MegagroupStats","description":["Supergroup statistics"]},"stats.MessageStats":{"name":"stats.MessageStats","description":["Message statistics"]},"storage.FileType":{"name":"storage.FileType","description":["Object describes the file type."]},"string":{"name":"string","description":["A basic bare type. Values of type string look differently depending on the length L of the string being serialized:","All strings passed to the API must be encoded in UTF-8. When arbitrary byte sequences have to be serialized, bytes¹ alias is to be used.","Further details on basic types»¹","Basic bare type. It is an alias of the string¹ type, with the difference that the value may contain arbitrary byte sequences, including invalid UTF-8 sequences.","When computing crc32 for a constructor or method it is necessary to replace all byte types with string types."],"links":["https://core.telegram.org/type/bytes","https://core.telegram.org/mtproto/serialize","https://core.telegram.org/type/string"]},"updates.ChannelDifference":{"name":"updates.ChannelDifference","description":["Contains the difference (new messages) between our local channel state and the remote state"]},"updates.Difference":{"name":"updates.Difference","description":["Occurred changes."]},"updates.State":{"name":"updates.State","description":["Object contains info on state for further updates."]},"upload.CdnFile":{"name":"upload.CdnFile","description":["Represents the download status of a CDN file"]},"upload.File":{"name":"upload.File","description":["Contains info on file."]}},"methods":{"account.acceptAuthorization":{"name":"account.acceptAuthorization","description":["Sends a Telegram Passport authorization form, effectively sharing data with the service"],"parameters":{"bot_id":{"description":"Bot ID","links":null},"credentials":{"description":"Encrypted values","links":null},"public_key":{"description":"Service's public key","links":null},"scope":{"description":"Telegram Passport element types requested by the service","links":null},"value_hashes":{"description":"Types of values sent and their hashes","links":null}}},"account.cancelPasswordEmail":{"name":"account.cancelPasswordEmail","description":["Cancel the code that was sent to verify an email to use as 2FA recovery method¹."],"links":["https://core.telegram.org/api/srp"]},"account.changePhone":{"name":"account.changePhone","description":["Change the phone number of the current account"],"parameters":{"phone_code":{"description":"Phone code received when calling account.sendChangePhoneCode¹","links":["https://core.telegram.org/method/account.sendChangePhoneCode"]},"phone_code_hash":{"description":"Phone code hash received when calling account.sendChangePhoneCode¹","links":["https://core.telegram.org/method/account.sendChangePhoneCode"]},"phone_number":{"description":"New phone number","links":null}},"errors":[{"code":400,"type":"PHONE_CODE_EMPTY","description":"phone_code is missing"},{"code":400,"type":"PHONE_NUMBER_INVALID","description":"The phone number is invalid"}]},"account.checkUsername":{"name":"account.checkUsername","description":["Validates a username and checks availability."],"parameters":{"username":{"description":"usernameAccepted characters: A-z (case-insensitive), 0-9 and underscores.Length: 5-32 characters.","links":null}},"errors":[{"code":400,"type":"USERNAME_INVALID","description":"Unacceptable username"}]},"account.confirmPasswordEmail":{"name":"account.confirmPasswordEmail","description":["Verify an email to use as 2FA recovery method¹."],"links":["https://core.telegram.org/api/srp"],"parameters":{"code":{"description":"The phone code that was received after setting a recovery email¹","links":["https://core.telegram.org/api/srp#email-verification"]}},"errors":[{"code":400,"type":"CODE_INVALID","description":"Code invalid"},{"code":400,"type":"EMAIL_HASH_EXPIRED","description":"Email hash expired"}]},"account.confirmPhone":{"name":"account.confirmPhone","description":["Confirm a phone number to cancel account deletion, for more info click here »¹"],"links":["https://core.telegram.org/api/account-deletion"],"parameters":{"phone_code":{"description":"SMS code, for more info click here »¹","links":["https://core.telegram.org/api/account-deletion"]},"phone_code_hash":{"description":"Phone code hash, for more info click here »¹","links":["https://core.telegram.org/api/account-deletion"]}},"errors":[{"code":400,"type":"CODE_HASH_INVALID","description":"Code hash invalid"},{"code":400,"type":"PHONE_CODE_EMPTY","description":"phone_code is missing"}]},"account.createTheme":{"name":"account.createTheme","description":["Create a theme"],"parameters":{"document":{"description":"Theme file","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"settings":{"description":"Theme settings","links":null},"slug":{"description":"Unique theme ID","links":null},"title":{"description":"Theme name","links":null}}},"account.deleteAccount":{"name":"account.deleteAccount","description":["Delete the user's account from the telegram servers. Can be used, for example, to delete the account of a user that provided the login code, but forgot the 2FA password and no recovery method is configured¹."],"links":["https://core.telegram.org/api/srp"],"parameters":{"reason":{"description":"Why is the account being deleted, can be empty","links":null}},"errors":[{"code":420,"type":"2FA_CONFIRM_WAIT_X","description":"Since this account is active and protected by a 2FA password, we will delete it in 1 week for security purposes. You can cancel this process at any time, you'll be able to reset your account in X seconds."}]},"account.deleteSecureValue":{"name":"account.deleteSecureValue","description":["Delete stored Telegram Passport¹ documents, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#encryption"],"parameters":{"types":{"description":"Document types to delete","links":null}}},"account.finishTakeoutSession":{"name":"account.finishTakeoutSession","description":["Finish account takeout session"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"success":{"description":"Data exported successfully","links":null}},"errors":[{"code":403,"type":"TAKEOUT_REQUIRED","description":"A takeout session has to be initialized, first"}]},"account.getAccountTTL":{"name":"account.getAccountTTL","description":["Get days to live of account"]},"account.getAllSecureValues":{"name":"account.getAllSecureValues","description":["Get all saved Telegram Passport¹ documents, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#encryption"]},"account.getAuthorizationForm":{"name":"account.getAuthorizationForm","description":["Returns a Telegram Passport authorization form for sharing data with a service"],"parameters":{"bot_id":{"description":"User identifier of the service's bot","links":null},"public_key":{"description":"Service's public key","links":null},"scope":{"description":"Telegram Passport element types requested by the service","links":null}}},"account.getAuthorizations":{"name":"account.getAuthorizations","description":["Get logged-in sessions"]},"account.getAutoDownloadSettings":{"name":"account.getAutoDownloadSettings","description":["Get media autodownload settings"]},"account.getContactSignUpNotification":{"name":"account.getContactSignUpNotification","description":["Whether the user will receive notifications when contacts sign up"]},"account.getContentSettings":{"name":"account.getContentSettings","description":["Get sensitive content settings"]},"account.getGlobalPrivacySettings":{"name":"account.getGlobalPrivacySettings","description":["Get global privacy settings"]},"account.getMultiWallPapers":{"name":"account.getMultiWallPapers","description":["Get info about multiple wallpapers"],"parameters":{"wallpapers":{"description":"Wallpapers to fetch info about","links":null}}},"account.getNotifyExceptions":{"name":"account.getNotifyExceptions","description":["Returns list of chats with non-default notification settings"],"parameters":{"compare_sound":{"description":"If true, chats with non-default sound will also be returned","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"If specified, only chats of the specified category will be returned","links":null}}},"account.getNotifySettings":{"name":"account.getNotifySettings","description":["Gets current notification settings for a given user/group, from all users/all groups."],"parameters":{"peer":{"description":"Notification source","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"account.getPassword":{"name":"account.getPassword","description":["Obtain configuration for two-factor authorization with password"]},"account.getPasswordSettings":{"name":"account.getPasswordSettings","description":["Get private info associated to the password info (recovery email, telegram passport¹ info \u0026 so on)"],"links":["https://core.telegram.org/passport"],"parameters":{"password":{"description":"The password (see SRP¹)","links":["https://core.telegram.org/api/srp"]}},"errors":[{"code":400,"type":"PASSWORD_HASH_INVALID","description":"The provided password hash is invalid"}]},"account.getPrivacy":{"name":"account.getPrivacy","description":["Get privacy settings of current account"],"parameters":{"key":{"description":"Peer category whose privacy settings should be fetched","links":null}},"errors":[{"code":400,"type":"PRIVACY_KEY_INVALID","description":"The privacy key is invalid"}]},"account.getSecureValue":{"name":"account.getSecureValue","description":["Get saved Telegram Passport¹ document, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#encryption"],"parameters":{"types":{"description":"Requested value types","links":null}}},"account.getTheme":{"name":"account.getTheme","description":["Get theme information"],"parameters":{"document_id":{"description":"Document ID","links":null},"format":{"description":"Theme format, a string that identifies the theming engines supported by the client","links":null},"theme":{"description":"Theme","links":null}},"errors":[{"code":400,"type":"THEME_FORMAT_INVALID","description":"Invalid theme format provided"},{"code":400,"type":"THEME_INVALID","description":"Invalid theme provided"}]},"account.getThemes":{"name":"account.getThemes","description":["Get installed themes"],"parameters":{"format":{"description":"Theme format, a string that identifies the theming engines supported by the client","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"account.getTmpPassword":{"name":"account.getTmpPassword","description":["Get temporary payment password"],"parameters":{"password":{"description":"SRP password parameters","links":null},"period":{"description":"Time during which the temporary password will be valid, in seconds; should be between 60 and 86400","links":null}},"errors":[{"code":400,"type":"PASSWORD_HASH_INVALID","description":"The provided password hash is invalid"},{"code":400,"type":"TMP_PASSWORD_DISABLED","description":"The temporary password is disabled"}]},"account.getWallPaper":{"name":"account.getWallPaper","description":["Get info about a certain wallpaper"],"parameters":{"wallpaper":{"description":"The wallpaper to get info about","links":null}}},"account.getWallPapers":{"name":"account.getWallPapers","description":["Returns a list of available wallpapers."],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"account.getWebAuthorizations":{"name":"account.getWebAuthorizations","description":["Get web login widget¹ authorizations"],"links":["https://core.telegram.org/widgets/login"]},"account.initTakeoutSession":{"name":"account.initTakeoutSession","description":["Intialize account takeout session"],"parameters":{"contacts":{"description":"Whether to export contacts","links":null},"file_max_size":{"description":"Maximum size of files to export","links":null},"files":{"description":"Whether to export files","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message_channels":{"description":"Whether to export messages in channels¹","links":["https://core.telegram.org/api/channel"]},"message_chats":{"description":"Whether to export messages in legacy groups¹","links":["https://core.telegram.org/api/channel"]},"message_megagroups":{"description":"Whether to export messages in supergroups¹","links":["https://core.telegram.org/api/channel"]},"message_users":{"description":"Whether to export messages in private chats","links":null}},"errors":[{"code":420,"type":"TAKEOUT_INIT_DELAY_X","description":"Wait X seconds before initing takeout"}]},"account.installTheme":{"name":"account.installTheme","description":["Install a theme"],"parameters":{"dark":{"description":"Whether to install the dark version","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"format":{"description":"Theme format, a string that identifies the theming engines supported by the client","links":null},"theme":{"description":"Theme to install","links":null}}},"account.installWallPaper":{"name":"account.installWallPaper","description":["Install wallpaper"],"parameters":{"settings":{"description":"Wallpaper settings","links":null},"wallpaper":{"description":"Wallpaper to install","links":null}}},"account.registerDevice":{"name":"account.registerDevice","description":["Register device to receive PUSH notifications¹"],"links":["https://core.telegram.org/api/push-updates"],"parameters":{"app_sandbox":{"description":"If (boolTrue)¹ is transmitted, a sandbox-certificate will be used during transmission.","links":["https://core.telegram.org/constructor/boolTrue"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"no_muted":{"description":"Avoid receiving (silent and invisible background) notifications. Useful to save battery.","links":null},"other_uids":{"description":"List of user identifiers of other users currently using the client","links":null},"secret":{"description":"For FCM and APNS VoIP, optional encryption key used to encrypt push notifications","links":null},"token":{"description":"Device token","links":null},"token_type":{"description":"Device token type.Possible values:1 - APNS (device token for apple push)2 - FCM (firebase token for google firebase)3 - MPNS (channel URI for microsoft push)4 - Simple push (endpoint for firefox's simple push API)5 - Ubuntu phone (token for ubuntu push)6 - Blackberry (token for blackberry push)7 - Unused8 - WNS (windows push)9 - APNS VoIP (token for apple push VoIP)10 - Web push (web push, see below)11 - MPNS VoIP (token for microsoft push VoIP)12 - Tizen (token for tizen push)For 10 web push, the token must be a JSON-encoded object containing the keys described in PUSH updates¹","links":["https://core.telegram.org/api/push-updates"]}},"errors":[{"code":400,"type":"TOKEN_INVALID","description":"The provided token is invalid"}]},"account.reportPeer":{"name":"account.reportPeer","description":["Report a peer for violation of telegram's Terms of Service"],"parameters":{"peer":{"description":"The peer to report","links":null},"reason":{"description":"The reason why this peer is being reported","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"account.resendPasswordEmail":{"name":"account.resendPasswordEmail","description":["Resend the code to verify an email to use as 2FA recovery method¹."],"links":["https://core.telegram.org/api/srp"]},"account.resetAuthorization":{"name":"account.resetAuthorization","description":["Log out an active authorized session¹ by its hash"],"links":["https://core.telegram.org/api/auth"],"parameters":{"hash":{"description":"Session hash","links":null}},"errors":[{"code":406,"type":"FRESH_RESET_AUTHORISATION_FORBIDDEN","description":"You can't logout other sessions if less than 24 hours have passed since you logged on the current session"},{"code":400,"type":"HASH_INVALID","description":"The provided hash is invalid"}]},"account.resetNotifySettings":{"name":"account.resetNotifySettings","description":["Resets all notification settings from users and groups."]},"account.resetWallPapers":{"name":"account.resetWallPapers","description":["Delete installed wallpapers"]},"account.resetWebAuthorization":{"name":"account.resetWebAuthorization","description":["Log out an active web telegram login¹ session"],"links":["https://core.telegram.org/widgets/login"],"parameters":{"hash":{"description":"Session¹ hash","links":["https://core.telegram.org/constructor/webAuthorization"]}}},"account.resetWebAuthorizations":{"name":"account.resetWebAuthorizations","description":["Reset all active web telegram login¹ sessions"],"links":["https://core.telegram.org/widgets/login"]},"account.saveAutoDownloadSettings":{"name":"account.saveAutoDownloadSettings","description":["Change media autodownload settings"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"high":{"description":"Whether to save settings in the high data usage preset","links":null},"low":{"description":"Whether to save settings in the low data usage preset","links":null},"settings":{"description":"Media autodownload settings","links":null}}},"account.saveSecureValue":{"name":"account.saveSecureValue","description":["Securely save Telegram Passport¹ document, for more info see the passport docs »²"],"links":["https://core.telegram.org/passport","https://core.telegram.org/passport/encryption#encryption"],"parameters":{"secure_secret_id":{"description":"Passport secret hash, for more info see the passport docs »¹","links":["https://core.telegram.org/passport/encryption#encryption"]},"value":{"description":"Secure value, for more info see the passport docs »¹","links":["https://core.telegram.org/passport/encryption#encryption"]}}},"account.saveTheme":{"name":"account.saveTheme","description":["Save a theme"],"parameters":{"theme":{"description":"Theme to save","links":null},"unsave":{"description":"Unsave","links":null}}},"account.saveWallPaper":{"name":"account.saveWallPaper","description":["Install/uninstall wallpaper"],"parameters":{"settings":{"description":"Wallpaper settings","links":null},"unsave":{"description":"Uninstall wallpaper?","links":null},"wallpaper":{"description":"Wallpaper to save","links":null}}},"account.sendChangePhoneCode":{"name":"account.sendChangePhoneCode","description":["Verify a new phone number to associate to the current account"],"parameters":{"phone_number":{"description":"New phone number","links":null},"settings":{"description":"Phone code settings","links":null}},"errors":[{"code":400,"type":"PHONE_NUMBER_INVALID","description":"The phone number is invalid"}]},"account.sendConfirmPhoneCode":{"name":"account.sendConfirmPhoneCode","description":["Send confirmation code to cancel account deletion, for more info click here »¹"],"links":["https://core.telegram.org/api/account-deletion"],"parameters":{"hash":{"description":"The hash from the service notification, for more info click here »¹","links":["https://core.telegram.org/api/account-deletion"]},"settings":{"description":"Phone code settings","links":null}},"errors":[{"code":400,"type":"HASH_INVALID","description":"The provided hash is invalid"}]},"account.sendVerifyEmailCode":{"name":"account.sendVerifyEmailCode","description":["Send the verification email code for telegram passport¹."],"links":["https://core.telegram.org/passport"],"parameters":{"email":{"description":"The email where to send the code","links":null}}},"account.sendVerifyPhoneCode":{"name":"account.sendVerifyPhoneCode","description":["Send the verification phone code for telegram passport¹."],"links":["https://core.telegram.org/passport"],"parameters":{"phone_number":{"description":"The phone number to verify","links":null},"settings":{"description":"Phone code settings","links":null}}},"account.setAccountTTL":{"name":"account.setAccountTTL","description":["Set account self-destruction period"],"parameters":{"ttl":{"description":"Time to live in days","links":null}},"errors":[{"code":400,"type":"TTL_DAYS_INVALID","description":"The provided TTL is invalid"}]},"account.setContactSignUpNotification":{"name":"account.setContactSignUpNotification","description":["Toggle contact sign up notifications"],"parameters":{"silent":{"description":"Whether to disable contact sign up notifications","links":null}}},"account.setContentSettings":{"name":"account.setContentSettings","description":["Set sensitive content settings (for viewing or hiding NSFW content)"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"sensitive_enabled":{"description":"Enable NSFW content","links":null}}},"account.setGlobalPrivacySettings":{"name":"account.setGlobalPrivacySettings","description":["Set global privacy settings"],"parameters":{"settings":{"description":"Global privacy settings","links":null}}},"account.setPrivacy":{"name":"account.setPrivacy","description":["Change privacy settings of current account"],"parameters":{"key":{"description":"Peers to which the privacy rules apply","links":null},"rules":{"description":"New privacy rules","links":null}},"errors":[{"code":400,"type":"PRIVACY_KEY_INVALID","description":"The privacy key is invalid"},{"code":400,"type":"PRIVACY_VALUE_INVALID","description":"The specified privacy rule combination is invalid"}]},"account.unregisterDevice":{"name":"account.unregisterDevice","description":["Deletes a device by its token, stops sending PUSH-notifications to it."],"parameters":{"other_uids":{"description":"List of user identifiers of other users currently using the client","links":null},"token":{"description":"Device token","links":null},"token_type":{"description":"Device token type.Possible values:1 - APNS (device token for apple push)2 - FCM (firebase token for google firebase)3 - MPNS (channel URI for microsoft push)4 - Simple push (endpoint for firefox's simple push API)5 - Ubuntu phone (token for ubuntu push)6 - Blackberry (token for blackberry push)7 - Unused8 - WNS (windows push)9 - APNS VoIP (token for apple push VoIP)10 - Web push (web push, see below)11 - MPNS VoIP (token for microsoft push VoIP)12 - Tizen (token for tizen push)For 10 web push, the token must be a JSON-encoded object containing the keys described in PUSH updates¹","links":["https://core.telegram.org/api/push-updates"]}},"errors":[{"code":400,"type":"TOKEN_INVALID","description":"The provided token is invalid"}]},"account.updateDeviceLocked":{"name":"account.updateDeviceLocked","description":["When client-side passcode lock feature is enabled, will not show message texts in incoming PUSH notifications¹."],"links":["https://core.telegram.org/api/push-updates"],"parameters":{"period":{"description":"Inactivity period after which to start hiding message texts in PUSH notifications¹.","links":["https://core.telegram.org/api/push-updates"]}}},"account.updateNotifySettings":{"name":"account.updateNotifySettings","description":["Edits notification settings from a given user/group, from all users/all groups."],"parameters":{"peer":{"description":"Notification source","links":null},"settings":{"description":"Notification settings","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"SETTINGS_INVALID","description":"Invalid settings were provided"}]},"account.updatePasswordSettings":{"name":"account.updatePasswordSettings","description":["Set a new 2FA password"],"parameters":{"new_settings":{"description":"The new password (see SRP¹)","links":["https://core.telegram.org/api/srp"]},"password":{"description":"The old password (see SRP¹)","links":["https://core.telegram.org/api/srp"]}},"errors":[{"code":400,"type":"EMAIL_UNCONFIRMED","description":"Email unconfirmed"},{"code":400,"type":"EMAIL_UNCONFIRMED_X","description":"The provided email isn't confirmed, X is the length of the verification code that was just sent to the email: use account.verifyEmail to enter the received verification code and enable the recovery email."},{"code":400,"type":"NEW_SALT_INVALID","description":"The new salt is invalid"},{"code":400,"type":"NEW_SETTINGS_INVALID","description":"The new password settings are invalid"},{"code":400,"type":"PASSWORD_HASH_INVALID","description":"The old password hash is invalid"},{"code":400,"type":"SRP_ID_INVALID","description":"Invalid SRP ID provided"}]},"account.updateProfile":{"name":"account.updateProfile","description":["Updates user profile."],"parameters":{"about":{"description":"New bio","links":null},"first_name":{"description":"New user first name","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"last_name":{"description":"New user last name","links":null}},"errors":[{"code":400,"type":"ABOUT_TOO_LONG","description":"About string too long"},{"code":400,"type":"FIRSTNAME_INVALID","description":"The first name is invalid"}]},"account.updateStatus":{"name":"account.updateStatus","description":["Updates online user status."],"parameters":{"offline":{"description":"If (boolTrue)¹ is transmitted, user status will change to (userStatusOffline)².","links":["https://core.telegram.org/constructor/boolTrue","https://core.telegram.org/constructor/userStatusOffline"]}}},"account.updateTheme":{"name":"account.updateTheme","description":["Update theme"],"parameters":{"document":{"description":"Theme file","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"format":{"description":"Theme format, a string that identifies the theming engines supported by the client","links":null},"settings":{"description":"Theme settings","links":null},"slug":{"description":"Unique theme ID","links":null},"theme":{"description":"Theme to update","links":null},"title":{"description":"Theme name","links":null}}},"account.updateUsername":{"name":"account.updateUsername","description":["Changes username for the current user."],"parameters":{"username":{"description":"username or empty string if username is to be removedAccepted characters: a-z (case-insensitive), 0-9 and underscores.Length: 5-32 characters.","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"USERNAME_INVALID","description":"Unacceptable username"},{"code":400,"type":"USERNAME_NOT_MODIFIED","description":"Username is not different from the current username"},{"code":400,"type":"USERNAME_OCCUPIED","description":"Username is taken"}]},"account.uploadTheme":{"name":"account.uploadTheme","description":["Upload theme"],"parameters":{"file":{"description":"Theme file uploaded as described in files »¹","links":["https://core.telegram.org/api/files"]},"file_name":{"description":"File name","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"mime_type":{"description":"MIME type, must be application/x-tgtheme-{format}, where format depends on the client","links":null},"thumb":{"description":"Thumbnail","links":null}},"errors":[{"code":400,"type":"THEME_FILE_INVALID","description":"Invalid theme file provided"}]},"account.uploadWallPaper":{"name":"account.uploadWallPaper","description":["Create and upload a new wallpaper"],"parameters":{"file":{"description":"The JPG/PNG wallpaper","links":null},"mime_type":{"description":"MIME type of uploaded wallpaper","links":null},"settings":{"description":"Wallpaper settings","links":null}}},"account.verifyEmail":{"name":"account.verifyEmail","description":["Verify an email address for telegram passport¹."],"links":["https://core.telegram.org/passport"],"parameters":{"code":{"description":"The verification code that was received","links":null},"email":{"description":"The email to verify","links":null}},"errors":[{"code":400,"type":"EMAIL_VERIFY_EXPIRED","description":"The verification email has expired"}]},"account.verifyPhone":{"name":"account.verifyPhone","description":["Verify a phone number for telegram passport¹."],"links":["https://core.telegram.org/passport"],"parameters":{"phone_code":{"description":"Code received after the call to account.sendVerifyPhoneCode¹","links":["https://core.telegram.org/method/account.sendVerifyPhoneCode"]},"phone_code_hash":{"description":"Phone code hash received from the call to account.sendVerifyPhoneCode¹","links":["https://core.telegram.org/method/account.sendVerifyPhoneCode"]},"phone_number":{"description":"Phone number","links":null}},"errors":[{"code":400,"type":"PHONE_CODE_EXPIRED","description":"The phone code you provided has expired, this may happen if it was sent to any chat on telegram (if the code is sent through a telegram chat (not the official account) to avoid it append or prepend to the code some chars)"}]},"auth.acceptLoginToken":{"name":"auth.acceptLoginToken","description":["Accept QR code login token, logging in the app that generated it.","Returns info about the new session.","For more info, see login via QR code¹."],"links":["https://core.telegram.org/api/qr-login"],"parameters":{"token":{"description":"Login token embedded in QR code, for more info, see login via QR code¹.","links":["https://core.telegram.org/api/qr-login"]}},"errors":[{"code":400,"type":"AUTH_TOKEN_INVALIDX","description":"The specified auth token is invalid"}]},"auth.bindTempAuthKey":{"name":"auth.bindTempAuthKey","description":["Binds a temporary authorization key temp_auth_key_id to the permanent authorization key perm_auth_key_id. Each permanent key may only be bound to one temporary key at a time, binding a new temporary key overwrites the previous one.","For more information, see Perfect Forward Secrecy¹."],"links":["https://core.telegram.org/api/pfs"],"parameters":{"encrypted_message":{"description":"See Generating encrypted_message¹","links":["https://core.telegram.org#generating-encrypted-message"]},"expires_at":{"description":"Unix timestamp to invalidate temporary key, see Binding message contents¹","links":["https://core.telegram.org#binding-message-contents"]},"nonce":{"description":"Random long from Binding message contents¹","links":["https://core.telegram.org#binding-message-contents"]},"perm_auth_key_id":{"description":"Permanent auth_key_id to bind to","links":null}},"errors":[{"code":400,"type":"ENCRYPTED_MESSAGE_INVALID","description":"Encrypted message is incorrect"},{"code":400,"type":"INPUT_REQUEST_TOO_LONG","description":"The request is too big"},{"code":400,"type":"TEMP_AUTH_KEY_ALREADY_BOUND","description":"The passed temporary key is already bound to another perm_auth_key_id"},{"code":400,"type":"TEMP_AUTH_KEY_EMPTY","description":"The request was not performed with a temporary authorization key"}]},"auth.cancelCode":{"name":"auth.cancelCode","description":["Cancel the login verification code"],"parameters":{"phone_code_hash":{"description":"Phone code hash from auth.sendCode¹","links":["https://core.telegram.org/method/auth.sendCode"]},"phone_number":{"description":"Phone number","links":null}},"errors":[{"code":400,"type":"PHONE_CODE_EXPIRED","description":"The phone code you provided has expired, this may happen if it was sent to any chat on telegram (if the code is sent through a telegram chat (not the official account) to avoid it append or prepend to the code some chars)"},{"code":400,"type":"PHONE_NUMBER_INVALID","description":"The phone number is invalid"}]},"auth.checkPassword":{"name":"auth.checkPassword","description":["Try logging to an account protected by a 2FA password¹."],"links":["https://core.telegram.org/api/srp"],"parameters":{"password":{"description":"The account's password (see SRP¹)","links":["https://core.telegram.org/api/srp"]}},"errors":[{"code":400,"type":"PASSWORD_HASH_INVALID","description":"The provided password isn't valid"},{"code":400,"type":"SRP_ID_INVALID","description":"Invalid SRP ID provided"},{"code":400,"type":"SRP_PASSWORD_CHANGED","description":"Password has changed"}]},"auth.dropTempAuthKeys":{"name":"auth.dropTempAuthKeys","description":["Delete all temporary authorization keys except for the ones specified"],"parameters":{"except_auth_keys":{"description":"The auth keys that shouldn't be dropped.","links":null}}},"auth.exportAuthorization":{"name":"auth.exportAuthorization","description":["Returns data for copying authorization to another data-centre."],"parameters":{"dc_id":{"description":"Number of a target data-centre","links":null}},"errors":[{"code":400,"type":"DC_ID_INVALID","description":"The provided DC ID is invalid"}]},"auth.exportLoginToken":{"name":"auth.exportLoginToken","description":["Generate a login token, for login via QR code¹.","The generated login token should be encoded using base64url, then shown as a tg://login?token=base64encodedtoken URL in the QR code.","For more info, see login via QR code¹."],"links":["https://core.telegram.org/api/qr-login","https://core.telegram.org/api/qr-login"],"parameters":{"api_hash":{"description":"Application identifier hash (see. App configuration¹)","links":["https://core.telegram.org/myapp"]},"api_id":{"description":"Application identifier (see. App configuration¹)","links":["https://core.telegram.org/myapp"]},"except_ids":{"description":"List of already logged-in user IDs, to prevent logging in twice with the same user","links":null}}},"auth.importAuthorization":{"name":"auth.importAuthorization","description":["Logs in a user using a key transmitted from his native data-centre."],"parameters":{"bytes":{"description":"Authorization key","links":null},"id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"AUTH_BYTES_INVALID","description":"The provided authorization is invalid"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"auth.importBotAuthorization":{"name":"auth.importBotAuthorization","description":["Login as a bot"],"parameters":{"api_hash":{"description":"Application identifier hash (see. App configuration¹)","links":["https://core.telegram.org/myapp"]},"api_id":{"description":"Application identifier (see. App configuration¹)","links":["https://core.telegram.org/myapp"]},"bot_auth_token":{"description":"Bot token (see bots¹)","links":["https://core.telegram.org/bots"]},"flags":{"description":"Reserved for future use","links":null}},"errors":[{"code":400,"type":"ACCESS_TOKEN_EXPIRED","description":"Bot token expired"},{"code":400,"type":"ACCESS_TOKEN_INVALID","description":"The provided token is not valid"},{"code":400,"type":"API_ID_INVALID","description":"The api_id/api_hash combination is invalid"},{"code":401,"type":"AUTH_KEY_INVALID","description":"Auth key invalid"}]},"auth.importLoginToken":{"name":"auth.importLoginToken","description":["Login using a redirected login token, generated in case of DC mismatch during QR code login¹.","For more info, see login via QR code¹."],"links":["https://core.telegram.org/api/qr-login","https://core.telegram.org/api/qr-login"],"parameters":{"token":{"description":"Login token","links":null}},"errors":[{"code":400,"type":"AUTH_TOKEN_EXPIRED","description":"The authorization token has expired"}]},"auth.logOut":{"name":"auth.logOut","description":["Logs out the user."]},"auth.recoverPassword":{"name":"auth.recoverPassword","description":["Reset the 2FA password¹ using the recovery code sent using auth.requestPasswordRecovery²."],"links":["https://core.telegram.org/api/srp","https://core.telegram.org/method/auth.requestPasswordRecovery"],"parameters":{"code":{"description":"Code received via email","links":null}},"errors":[{"code":400,"type":"CODE_EMPTY","description":"The provided code is empty"}]},"auth.requestPasswordRecovery":{"name":"auth.requestPasswordRecovery","description":["Request recovery code of a 2FA password¹, only for accounts with a recovery email configured²."],"links":["https://core.telegram.org/api/srp","https://core.telegram.org/api/srp#email-verification"],"parameters":{"400":{"description":"The provided password is empty","links":null}},"errors":[{"code":400,"type":"PASSWORD_EMPTY","description":"The provided password is empty"}]},"auth.resendCode":{"name":"auth.resendCode","description":["Resend the login code via another medium, the phone code type is determined by the return value of the previous auth.sendCode/auth.resendCode: see login¹ for more info."],"links":["https://core.telegram.org/api/auth"],"parameters":{"phone_code_hash":{"description":"The phone code hash obtained from auth.sendCode¹","links":["https://core.telegram.org/method/auth.sendCode"]},"phone_number":{"description":"The phone number","links":null}},"errors":[{"code":400,"type":"PHONE_CODE_EXPIRED","description":"The phone code you provided has expired, this may happen if it was sent to any chat on telegram (if the code is sent through a telegram chat (not the official account) to avoid it append or prepend to the code some chars)"},{"code":400,"type":"PHONE_CODE_HASH_EMPTY","description":"phone_code_hash is missing"},{"code":400,"type":"PHONE_NUMBER_INVALID","description":"The phone number is invalid"}]},"auth.resetAuthorizations":{"name":"auth.resetAuthorizations","description":["Terminates all user's authorized sessions except for the current one.","After calling this method it is necessary to reregister the current device using the method account.registerDevice¹"],"links":["https://core.telegram.org/method/account.registerDevice"],"parameters":{"406":{"description":"You can't logout other sessions if less than 24 hours have passed since you logged on the current session","links":null}},"errors":[{"code":406,"type":"FRESH_RESET_AUTHORISATION_FORBIDDEN","description":"You can't logout other sessions if less than 24 hours have passed since you logged on the current session"}]},"auth.sendCode":{"name":"auth.sendCode","description":["Send the verification code for login"],"parameters":{"api_hash":{"description":"Application secret hash (see App configuration¹)","links":["https://core.telegram.org/myapp"]},"api_id":{"description":"Application identifier (see App configuration¹)","links":["https://core.telegram.org/myapp"]},"phone_number":{"description":"Phone number in international format","links":null},"settings":{"description":"Settings for the code type to send","links":null}},"errors":[{"code":400,"type":"API_ID_INVALID","description":"API ID invalid"},{"code":400,"type":"API_ID_PUBLISHED_FLOOD","description":"This API id was published somewhere, you can't use it now"},{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"INPUT_REQUEST_TOO_LONG","description":"The request is too big"},{"code":303,"type":"NETWORK_MIGRATE_X","description":"Repeat the query to data-center X"},{"code":303,"type":"PHONE_MIGRATE_X","description":"Repeat the query to data-center X"},{"code":400,"type":"PHONE_NUMBER_APP_SIGNUP_FORBIDDEN","description":"You can't sign up using this app"},{"code":400,"type":"PHONE_NUMBER_BANNED","description":"The provided phone number is banned from telegram"},{"code":400,"type":"PHONE_NUMBER_FLOOD","description":"You asked for the code too many times."},{"code":400,"type":"PHONE_NUMBER_INVALID","description":"Invalid phone number"},{"code":406,"type":"PHONE_PASSWORD_FLOOD","description":"You have tried logging in too many times"},{"code":400,"type":"PHONE_PASSWORD_PROTECTED","description":"This phone is password protected"},{"code":400,"type":"SMS_CODE_CREATE_FAILED","description":"An error occurred while creating the SMS code"}]},"auth.signIn":{"name":"auth.signIn","description":["Signs in a user with a validated phone number."],"parameters":{"phone_code":{"description":"Valid numerical code from the SMS-message","links":null},"phone_code_hash":{"description":"SMS-message ID, obtained from auth.sendCode¹","links":["https://core.telegram.org/method/auth.sendCode"]},"phone_number":{"description":"Phone number in the international format","links":null}},"errors":[{"code":400,"type":"PHONE_CODE_EMPTY","description":"phone_code from the SMS is empty"},{"code":400,"type":"PHONE_CODE_EXPIRED","description":"SMS expired"},{"code":400,"type":"PHONE_CODE_INVALID","description":"Invalid SMS code was sent"},{"code":400,"type":"PHONE_NUMBER_INVALID","description":"Invalid phone number"},{"code":400,"type":"PHONE_NUMBER_UNOCCUPIED","description":"The code is valid but no user with the given number is registered"}]},"auth.signUp":{"name":"auth.signUp","description":["Registers a validated phone number in the system."],"parameters":{"first_name":{"description":"New user first name","links":null},"last_name":{"description":"New user last name","links":null},"phone_code_hash":{"description":"SMS-message ID","links":null},"phone_number":{"description":"Phone number in the international format","links":null}},"errors":[{"code":400,"type":"FIRSTNAME_INVALID","description":"Invalid first name"},{"code":400,"type":"INPUT_REQUEST_TOO_LONG","description":"The request is too big"},{"code":400,"type":"LASTNAME_INVALID","description":"Invalid last name"},{"code":400,"type":"PHONE_CODE_EMPTY","description":"phone_code from a SMS is empty"},{"code":400,"type":"PHONE_CODE_EXPIRED","description":"SMS expired"},{"code":400,"type":"PHONE_CODE_INVALID","description":"Invalid SMS code was sent"},{"code":400,"type":"PHONE_NUMBER_FLOOD","description":"You asked for the code too many times."},{"code":400,"type":"PHONE_NUMBER_INVALID","description":"Invalid phone number"},{"code":400,"type":"PHONE_NUMBER_OCCUPIED","description":"The phone number is already in use"}]},"bots.answerWebhookJSONQuery":{"name":"bots.answerWebhookJSONQuery","description":["Answers a custom query; for bots only"],"parameters":{"data":{"description":"JSON-serialized answer to the query","links":null},"query_id":{"description":"Identifier of a custom query","links":null}},"errors":[{"code":400,"type":"QUERY_ID_INVALID","description":"The query ID is invalid"},{"code":400,"type":"USER_BOT_INVALID","description":"This method can only be called by a bot"}]},"bots.sendCustomRequest":{"name":"bots.sendCustomRequest","description":["Sends a custom request; for bots only"],"parameters":{"custom_method":{"description":"The method name","links":null},"params":{"description":"JSON-serialized method parameters","links":null}},"errors":[{"code":400,"type":"METHOD_INVALID","description":"The specified method is invalid"},{"code":400,"type":"USER_BOT_INVALID","description":"This method can only be called by a bot"}]},"bots.setBotCommands":{"name":"bots.setBotCommands","description":["Set bot command list"],"parameters":{"commands":{"description":"Bot commands","links":null}}},"channels.checkUsername":{"name":"channels.checkUsername","description":["Check if a username is free and can be assigned to a channel/supergroup"],"parameters":{"channel":{"description":"The channel/supergroup¹ that will assigned the specified username","links":["https://core.telegram.org/api/channel"]},"username":{"description":"The username to check","links":null}},"errors":[{"code":400,"type":"CHANNELS_ADMIN_PUBLIC_TOO_MUCH","description":"You're admin of too many public channels, make some channels private to change the username of this channel"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"USERNAME_INVALID","description":"The provided username is not valid"}]},"channels.createChannel":{"name":"channels.createChannel","description":["Create a supergroup/channel¹."],"links":["https://core.telegram.org/api/channel"],"parameters":{"about":{"description":"Channel description","links":null},"address":{"description":"Geogroup address","links":null},"broadcast":{"description":"Whether to create a channel¹","links":["https://core.telegram.org/api/channel"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_point":{"description":"Geogroup location","links":null},"megagroup":{"description":"Whether to create a supergroup¹","links":["https://core.telegram.org/api/channel"]},"title":{"description":"Channel title","links":null}},"errors":[{"code":400,"type":"CHANNELS_TOO_MUCH","description":"You have joined too many channels/supergroups"},{"code":400,"type":"CHAT_ABOUT_TOO_LONG","description":"Chat about too long"},{"code":400,"type":"CHAT_TITLE_EMPTY","description":"No chat title provided"},{"code":403,"type":"USER_RESTRICTED","description":"You're spamreported, you can't create channels or chats."}]},"channels.deleteChannel":{"name":"channels.deleteChannel","description":["Delete a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup¹ to delete","links":["https://core.telegram.org/api/channel"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHANNEL_TOO_LARGE","description":"Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change)"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"}]},"channels.deleteHistory":{"name":"channels.deleteHistory","description":["Delete the history of a supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Supergroup¹ whose history must be deleted","links":["https://core.telegram.org/api/channel"]},"max_id":{"description":"ID of message up to which the history must be deleted","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"}]},"channels.deleteMessages":{"name":"channels.deleteMessages","description":["Delete messages in a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"id":{"description":"IDs of messages to delete","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":403,"type":"MESSAGE_DELETE_FORBIDDEN","description":"You can't delete one of the messages you tried to delete, most likely because it is a service message."},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.deleteUserHistory":{"name":"channels.deleteUserHistory","description":["Delete all messages sent by a certain user in a supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Supergroup¹","links":["https://core.telegram.org/api/channel"]},"user_id":{"description":"User whose messages should be deleted","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"channels.editAdmin":{"name":"channels.editAdmin","description":["Modify the admin rights of a user in a supergroup/channel¹."],"links":["https://core.telegram.org/api/channel"],"parameters":{"admin_rights":{"description":"The admin rights","links":null},"channel":{"description":"The supergroup/channel¹.","links":["https://core.telegram.org/api/channel"]},"rank":{"description":"Indicates the role (rank) of the admin in the group: just an arbitrary string","links":null},"user_id":{"description":"The ID of the user whose admin rights should be modified","links":null}},"errors":[{"code":400,"type":"ADMINS_TOO_MUCH","description":"There are too many admins"},{"code":400,"type":"BOTS_TOO_MUCH","description":"There are too many bots in this chat/channel"},{"code":400,"type":"BOT_CHANNELS_NA","description":"Bots can't edit admin privileges"},{"code":400,"type":"BOT_GROUPS_BLOCKED","description":"This bot can't be added to groups"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":403,"type":"CHAT_ADMIN_INVITE_REQUIRED","description":"You do not have the rights to do this"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":406,"type":"FRESH_CHANGE_ADMINS_FORBIDDEN","description":"You were just elected admin, you can't add or modify other admins yet"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":403,"type":"RIGHT_FORBIDDEN","description":"Your admin rights do not allow you to do this"},{"code":400,"type":"USERS_TOO_MUCH","description":"The maximum number of users has been exceeded (to create a chat, for example)"},{"code":400,"type":"USER_BLOCKED","description":"User blocked"},{"code":403,"type":"USER_CHANNELS_TOO_MUCH","description":"One of the users you tried to add is already in too many channels/supergroups"},{"code":400,"type":"USER_CREATOR","description":"You can't leave this channel, because you're its creator"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":400,"type":"USER_NOT_MUTUAL_CONTACT","description":"The provided user is not a mutual contact"},{"code":403,"type":"USER_PRIVACY_RESTRICTED","description":"The user's privacy settings do not allow you to do this"},{"code":403,"type":"USER_RESTRICTED","description":"You're spamreported, you can't create channels or chats."}]},"channels.editBanned":{"name":"channels.editBanned","description":["Ban/unban/kick a user in a supergroup/channel¹."],"links":["https://core.telegram.org/api/channel"],"parameters":{"banned_rights":{"description":"The banned rights","links":null},"channel":{"description":"The supergroup/channel¹.","links":["https://core.telegram.org/api/channel"]},"user_id":{"description":"The ID of the user whose banned rights should be modified","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PINNED_DIALOGS_TOO_MUCH","description":"Too many pinned dialogs"},{"code":400,"type":"USER_ADMIN_INVALID","description":"You're not an admin"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"channels.editCreator":{"name":"channels.editCreator","description":["Transfer channel ownership"],"parameters":{"channel":{"description":"Channel","links":null},"password":{"description":"2FA password¹ of account","links":["https://core.telegram.org/api/srp"]},"user_id":{"description":"New channel owner","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"PASSWORD_HASH_INVALID","description":"The provided password hash is invalid"},{"code":400,"type":"PASSWORD_MISSING","description":"You must enable 2FA in order to transfer ownership of a channel"},{"code":400,"type":"PASSWORD_TOO_FRESH_X","description":"The password was modified less than 24 hours ago, try again in X seconds"},{"code":400,"type":"SESSION_TOO_FRESH_X","description":"This session was created less than 24 hours ago, try again in X seconds"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"channels.editLocation":{"name":"channels.editLocation","description":["Edit location of geogroup"],"parameters":{"address":{"description":"Address string","links":null},"channel":{"description":"Geogroup¹","links":["https://core.telegram.org/api/channel"]},"geo_point":{"description":"New geolocation","links":null}},"errors":[{"code":400,"type":"MEGAGROUP_REQUIRED","description":"You can only use this method on a supergroup"}]},"channels.editPhoto":{"name":"channels.editPhoto","description":["Change the photo of a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup whose photo should be edited","links":null},"photo":{"description":"New photo","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"PHOTO_CROP_SIZE_SMALL","description":"Photo is too small"},{"code":400,"type":"PHOTO_EXT_INVALID","description":"The extension of the photo is invalid"},{"code":400,"type":"PHOTO_INVALID","description":"Photo invalid"}]},"channels.editTitle":{"name":"channels.editTitle","description":["Edit the name of a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup","links":null},"title":{"description":"New name","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":400,"type":"CHAT_TITLE_EMPTY","description":"No chat title provided"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"}]},"channels.exportMessageLink":{"name":"channels.exportMessageLink","description":["Get link and embed info of a message in a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"grouped":{"description":"Whether to include other grouped media (for albums)","links":null},"id":{"description":"Message ID","links":null},"thread":{"description":"Whether to also include a thread ID, if available, inside of the link","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.getAdminLog":{"name":"channels.getAdminLog","description":["Get the admin log of a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"admins":{"description":"Only show events from these admins","links":null},"channel":{"description":"Channel","links":null},"events_filter":{"description":"Event filter","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"max_id":{"description":"Maximum ID of message to return (see pagination¹)","links":["https://core.telegram.org/api/offsets"]},"min_id":{"description":"Minimum ID of message to return (see pagination¹)","links":["https://core.telegram.org/api/offsets"]},"q":{"description":"Search query, can be empty","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.getAdminedPublicChannels":{"name":"channels.getAdminedPublicChannels","description":["Get channels/supergroups/geogroups¹ we're admin in. Usually called when the user exceeds the limit² for owned public channels/supergroups/geogroups³, and the user is given the choice to remove one of his channels/supergroups/geogroups."],"links":["https://core.telegram.org/api/channel","https://core.telegram.org/constructor/config","https://core.telegram.org/api/channel"],"parameters":{"by_location":{"description":"Get geogroups","links":null},"check_limit":{"description":"If set and the user has reached the limit of owned public channels/supergroups/geogroups¹, instead of returning the channel list one of the specified errors² will be returned.Useful to check if a new public channel can indeed be created, even before asking the user to enter a channel username to use in channels.checkUsername³/channels.updateUsername⁴.","links":["https://core.telegram.org/api/channel","https://core.telegram.org#possible-errors","https://core.telegram.org/method/channels.checkUsername","https://core.telegram.org/method/channels.updateUsername"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}},"errors":[{"code":400,"type":"CHANNELS_ADMIN_LOCATED_TOO_MUCH","description":"Returned if both the check_limit and the by_location flags are set and the user has reached the limit of public geogroups"},{"code":400,"type":"CHANNELS_ADMIN_PUBLIC_TOO_MUCH","description":"Returned if the check_limit flag is set and the user has reached the limit of public channels/supergroups"}]},"channels.getChannels":{"name":"channels.getChannels","description":["Get info about channels/supergroups¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"id":{"description":"IDs of channels/supergroups to get info about","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.getFullChannel":{"name":"channels.getFullChannel","description":["Get full info about a channel"],"parameters":{"channel":{"description":"The channel to get info about","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":403,"type":"CHANNEL_PUBLIC_GROUP_NA","description":"channel/supergroup not available"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.getGroupsForDiscussion":{"name":"channels.getGroupsForDiscussion","description":["Get all groups that can be used as discussion groups¹.","Returned legacy group chats¹ must be first upgraded to supergroups² before they can be set as a discussion group.","To set a returned supergroup as a discussion group, access to its old messages must be enabled using channels.togglePreHistoryHidden³, first."],"links":["https://core.telegram.org/api/discussion","https://core.telegram.org/api/channel","https://core.telegram.org/api/channel","https://core.telegram.org/method/channels.togglePreHistoryHidden"]},"channels.getInactiveChannels":{"name":"channels.getInactiveChannels","description":["Get inactive channels and supergroups"]},"channels.getLeftChannels":{"name":"channels.getLeftChannels","description":["Get a list of channels/supergroups¹ we left"],"links":["https://core.telegram.org/api/channel"],"parameters":{"offset":{"description":"Offset for pagination¹","links":["https://core.telegram.org/api/offsets"]}},"errors":[{"code":403,"type":"TAKEOUT_REQUIRED","description":"A takeout session has to be initialized, first"}]},"channels.getMessages":{"name":"channels.getMessages","description":["Get channel/supergroup¹ messages"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup","links":null},"id":{"description":"IDs of messages to get","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MESSAGE_IDS_EMPTY","description":"No message ids were provided"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.getParticipant":{"name":"channels.getParticipant","description":["Get info about a channel/supergroup¹ participant"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup","links":null},"user_id":{"description":"ID of participant to get info about","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":400,"type":"USER_NOT_PARTICIPANT","description":"You're not a member of this supergroup/channel"}]},"channels.getParticipants":{"name":"channels.getParticipants","description":["Get the participants of a supergroup/channel¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel","links":null},"filter":{"description":"Which participant types to fetch","links":null},"hash":{"description":"Hash¹","links":["https://core.telegram.org/api/offsets"]},"limit":{"description":"Limit¹","links":["https://core.telegram.org/api/offsets"]},"offset":{"description":"Offset¹","links":["https://core.telegram.org/api/offsets"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"INPUT_CONSTRUCTOR_INVALID","description":"The provided constructor is invalid"}]},"channels.inviteToChannel":{"name":"channels.inviteToChannel","description":["Invite users to a channel/supergroup"],"parameters":{"channel":{"description":"Channel/supergroup","links":null},"users":{"description":"Users to invite","links":null}},"errors":[{"code":400,"type":"BOTS_TOO_MUCH","description":"There are too many bots in this chat/channel"},{"code":400,"type":"BOT_GROUPS_BLOCKED","description":"This bot can't be added to groups"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_INVALID","description":"Invalid chat"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"USERS_TOO_MUCH","description":"The maximum number of users has been exceeded (to create a chat, for example)"},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"USER_BLOCKED","description":"User blocked"},{"code":400,"type":"USER_BOT","description":"Bots can only be admins in channels."},{"code":403,"type":"USER_CHANNELS_TOO_MUCH","description":"One of the users you tried to add is already in too many channels/supergroups"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":400,"type":"USER_KICKED","description":"This user was kicked from this supergroup/channel"},{"code":400,"type":"USER_NOT_MUTUAL_CONTACT","description":"The provided user is not a mutual contact"},{"code":403,"type":"USER_PRIVACY_RESTRICTED","description":"The user's privacy settings do not allow you to do this"}]},"channels.joinChannel":{"name":"channels.joinChannel","description":["Join a channel/supergroup"],"parameters":{"channel":{"description":"Channel/supergroup to join","links":null}},"errors":[{"code":400,"type":"CHANNELS_TOO_MUCH","description":"You have joined too many channels/supergroups"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"INVITE_HASH_EMPTY","description":"The invite hash is empty"},{"code":400,"type":"INVITE_HASH_EXPIRED","description":"The invite link has expired"},{"code":400,"type":"INVITE_HASH_INVALID","description":"The invite hash is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USERS_TOO_MUCH","description":"The maximum number of users has been exceeded (to create a chat, for example)"},{"code":400,"type":"USER_ALREADY_PARTICIPANT","description":"The user is already in the group"},{"code":400,"type":"USER_CHANNELS_TOO_MUCH","description":"One of the users you tried to add is already in too many channels/supergroups"}]},"channels.leaveChannel":{"name":"channels.leaveChannel","description":["Leave a channel/supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup¹ to leave","links":["https://core.telegram.org/api/channel"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":403,"type":"CHANNEL_PUBLIC_GROUP_NA","description":"channel/supergroup not available"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"USER_CREATOR","description":"You can't leave this channel, because you're its creator"},{"code":400,"type":"USER_NOT_PARTICIPANT","description":"You're not a member of this supergroup/channel"}]},"channels.readHistory":{"name":"channels.readHistory","description":["Mark channel/supergroup¹ history as read"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"max_id":{"description":"ID of message up to which messages should be marked as read","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.readMessageContents":{"name":"channels.readMessageContents","description":["Mark channel/supergroup¹ message contents as read"],"links":["https://core.telegram.org/api/channel"],"parameters":{"channel":{"description":"Channel/supergroup¹","links":["https://core.telegram.org/api/channel"]},"id":{"description":"IDs of messages whose contents should be marked as read","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"channels.reportSpam":{"name":"channels.reportSpam","description":["Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup"],"parameters":{"channel":{"description":"Supergroup","links":null},"id":{"description":"IDs of spam messages","links":null},"user_id":{"description":"ID of the user that sent the spam messages","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"channels.setDiscussionGroup":{"name":"channels.setDiscussionGroup","description":["Associate a group to a channel as discussion group¹ for that channel"],"links":["https://core.telegram.org/api/discussion"],"parameters":{"broadcast":{"description":"Channel","links":null},"group":{"description":"Discussion group¹ to associate to the channel","links":["https://core.telegram.org/api/discussion"]}},"errors":[{"code":400,"type":"BROADCAST_ID_INVALID","description":"Broadcast ID invalid"},{"code":400,"type":"LINK_NOT_MODIFIED","description":"Discussion link not modified"},{"code":400,"type":"MEGAGROUP_ID_INVALID","description":"Invalid supergroup ID"}]},"channels.setStickers":{"name":"channels.setStickers","description":["Associate a stickerset to the supergroup"],"parameters":{"channel":{"description":"Supergroup","links":null},"stickerset":{"description":"The stickerset to associate","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"PARTICIPANTS_TOO_FEW","description":"Not enough participants"}]},"channels.togglePreHistoryHidden":{"name":"channels.togglePreHistoryHidden","description":["Hide/unhide message history for new channel/supergroup users"],"parameters":{"channel":{"description":"Channel/supergroup","links":null},"enabled":{"description":"Hide/unhide","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"CHAT_LINK_EXISTS","description":"The chat is public, you can't hide the history to new users"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"}]},"channels.toggleSignatures":{"name":"channels.toggleSignatures","description":["Enable/disable message signatures in channels"],"parameters":{"channel":{"description":"Channel","links":null},"enabled":{"description":"Value","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"}]},"channels.toggleSlowMode":{"name":"channels.toggleSlowMode","description":["Toggle supergroup slow mode: if enabled, users will only be able to send one message every seconds seconds"],"parameters":{"channel":{"description":"The supergroup¹","links":["https://core.telegram.org/api/channel"]},"seconds":{"description":"Users will only be able to send one message every seconds seconds, 0 to disable the limitation","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":400,"type":"INPUT_METHOD_INVALID_1192227_X","description":"Invalid method"},{"code":400,"type":"INPUT_METHOD_INVALID_1604042050_X","description":"Invalid method"},{"code":400,"type":"SECONDS_INVALID","description":"Invalid duration provided"}]},"channels.updateUsername":{"name":"channels.updateUsername","description":["Change the username of a supergroup/channel"],"parameters":{"channel":{"description":"Channel","links":null},"username":{"description":"New username","links":null}},"errors":[{"code":400,"type":"CHANNELS_ADMIN_PUBLIC_TOO_MUCH","description":"You're admin of too many public channels, make some channels private to change the username of this channel"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"USERNAME_INVALID","description":"The provided username is not valid"},{"code":400,"type":"USERNAME_NOT_MODIFIED","description":"The username was not modified"},{"code":400,"type":"USERNAME_OCCUPIED","description":"The provided username is already occupied"}]},"contacts.acceptContact":{"name":"contacts.acceptContact","description":["If the peer settings¹ of a new user allow us to add him as contact, add that user as contact"],"links":["https://core.telegram.org/constructor/peerSettings"],"parameters":{"id":{"description":"The user to add as contact","links":null}},"errors":[{"code":400,"type":"CONTACT_ADD_MISSING","description":"Contact to add is missing"},{"code":400,"type":"CONTACT_ID_INVALID","description":"The provided contact ID is invalid"},{"code":400,"type":"CONTACT_REQ_MISSING","description":"Missing contact request"}]},"contacts.addContact":{"name":"contacts.addContact","description":["Add an existing telegram user as contact.","Use contacts.importContacts¹ to add contacts by phone number, without knowing their Telegram ID."],"links":["https://core.telegram.org/method/contacts.importContacts"],"parameters":{"add_phone_privacy_exception":{"description":"Allow the other user to see our phone number?","links":null},"first_name":{"description":"First name","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Telegram ID of the other user","links":null},"last_name":{"description":"Last name","links":null},"phone":{"description":"User's phone number","links":null}},"errors":[{"code":400,"type":"CONTACT_ID_INVALID","description":"The provided contact ID is invalid"},{"code":400,"type":"CONTACT_NAME_EMPTY","description":"Contact name empty"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"contacts.block":{"name":"contacts.block","description":["Adds the user to the blacklist."],"parameters":{"id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"CONTACT_ID_INVALID","description":"The provided contact ID is invalid"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"contacts.blockFromReplies":{"name":"contacts.blockFromReplies","description":["Stop getting notifications about thread replies¹ of a certain user in @replies"],"links":["https://core.telegram.org/api/threads"],"parameters":{"delete_history":{"description":"Whether to delete all @replies messages from this user as well","links":null},"delete_message":{"description":"Whether to delete the specified message as well","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"msg_id":{"description":"ID of the message in the @replies¹ chat","links":["https://core.telegram.org/api/threads#replies"]},"report_spam":{"description":"Whether to also report this user for spam","links":null}}},"contacts.deleteByPhones":{"name":"contacts.deleteByPhones","description":["Delete contacts by phone number"],"parameters":{"phones":{"description":"Phone numbers","links":null}}},"contacts.deleteContacts":{"name":"contacts.deleteContacts","description":["Deletes several contacts from the list."],"parameters":{"id":{"description":"User ID list","links":null}}},"contacts.getBlocked":{"name":"contacts.getBlocked","description":["Returns the list of blocked users."],"parameters":{"limit":{"description":"The number of list elements to be returned","links":null},"offset":{"description":"The number of list elements to be skipped","links":null}}},"contacts.getContactIDs":{"name":"contacts.getContactIDs","description":["Get contact by telegram IDs"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"contacts.getContacts":{"name":"contacts.getContacts","description":["Returns the current user's contact list."],"parameters":{"hash":{"description":"If there already is a full contact list on the client, a hash¹ of a the list of contact IDs in ascending order may be passed in this parameter. If the contact set was not changed, (contacts.contactsNotModified)² will be returned.","links":["https://core.telegram.org/api/offsets#hash-generation","https://core.telegram.org/constructor/contacts.contactsNotModified"]}}},"contacts.getLocated":{"name":"contacts.getLocated","description":["Get contacts near you"],"parameters":{"background":{"description":"While the geolocation of the current user is public, clients should update it in the background every half-an-hour or so, while setting this flag. Do this only if the new location is more than 1 KM away from the previous one, or if the previous location is unknown.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_point":{"description":"Geolocation","links":null},"self_expires":{"description":"If set, the geolocation of the current user will be public for the specified number of seconds; pass 0x7fffffff to disable expiry, 0 to make the current geolocation private; if the flag isn't set, no changes will be applied.","links":null}},"errors":[{"code":400,"type":"GEO_POINT_INVALID","description":"Invalid geoposition provided"},{"code":406,"type":"USERPIC_UPLOAD_REQUIRED","description":"You must have a profile picture to publish your geolocation"}]},"contacts.getSaved":{"name":"contacts.getSaved","description":["Get all contacts"],"parameters":{"403":{"description":"A takeout session has to be initialized, first","links":null}},"errors":[{"code":403,"type":"TAKEOUT_REQUIRED","description":"A takeout session has to be initialized, first"}]},"contacts.getStatuses":{"name":"contacts.getStatuses","description":["Returns the list of contact statuses."]},"contacts.getTopPeers":{"name":"contacts.getTopPeers","description":["Get most used peers"],"parameters":{"bots_inline":{"description":"Most used inline bots","links":null},"bots_pm":{"description":"Most used bots","links":null},"channels":{"description":"Most frequently visited channels","links":null},"correspondents":{"description":"Users we've chatted most frequently with","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"forward_chats":{"description":"Chats to which the users often forwards messages to","links":null},"forward_users":{"description":"Users to which the users often forwards messages to","links":null},"groups":{"description":"Often-opened groups and supergroups","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"offset":{"description":"Offset for pagination¹","links":["https://core.telegram.org/api/offsets"]},"phone_calls":{"description":"Most frequently called users","links":null}},"errors":[{"code":400,"type":"TYPES_EMPTY","description":"No top peer type was provided"}]},"contacts.importContacts":{"name":"contacts.importContacts","description":["Imports contacts: saves a full list on the server, adds already registered contacts to the contact list, returns added contacts and their info.","Use contacts.addContact¹ to add Telegram contacts without actually using their phone number."],"links":["https://core.telegram.org/method/contacts.addContact"],"parameters":{"contacts":{"description":"List of contacts to import","links":null}}},"contacts.resetSaved":{"name":"contacts.resetSaved","description":["Delete saved contacts"]},"contacts.resetTopPeerRating":{"name":"contacts.resetTopPeerRating","description":["Reset rating¹ of top peer"],"links":["https://core.telegram.org/api/top-rating"],"parameters":{"category":{"description":"Top peer category","links":null},"peer":{"description":"Peer whose rating should be reset","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"contacts.resolveUsername":{"name":"contacts.resolveUsername","description":["Resolve a @username to get peer info"],"parameters":{"username":{"description":"@username to resolve","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"CONNECTION_DEVICE_MODEL_EMPTY","description":"Device model empty"},{"code":400,"type":"CONNECTION_LAYER_INVALID","description":"Layer invalid"},{"code":400,"type":"USERNAME_INVALID","description":"The provided username is not valid"},{"code":400,"type":"USERNAME_NOT_OCCUPIED","description":"The provided username is not occupied"}]},"contacts.search":{"name":"contacts.search","description":["Returns users found by username substring."],"parameters":{"limit":{"description":"Maximum number of users to be returned","links":null},"q":{"description":"Target substring","links":null}},"errors":[{"code":400,"type":"QUERY_TOO_SHORT","description":"The query string is too short"},{"code":400,"type":"SEARCH_QUERY_EMPTY","description":"The search query is empty"}]},"contacts.toggleTopPeers":{"name":"contacts.toggleTopPeers","description":["Enable/disable top peers¹"],"links":["https://core.telegram.org/api/top-rating"],"parameters":{"enabled":{"description":"Enable/disable","links":null}}},"contacts.unblock":{"name":"contacts.unblock","description":["Deletes the user from the blacklist."],"parameters":{"id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"CONTACT_ID_INVALID","description":"The provided contact ID is invalid"}]},"folders.deleteFolder":{"name":"folders.deleteFolder","description":["Delete a peer folder¹"],"links":["https://core.telegram.org/api/folders#peer-folders"],"parameters":{"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]}}},"folders.editPeerFolders":{"name":"folders.editPeerFolders","description":["Edit peers in peer folder¹"],"links":["https://core.telegram.org/api/folders#peer-folders"],"parameters":{"folder_peers":{"description":"New peer list","links":null}},"errors":[{"code":400,"type":"FOLDER_ID_INVALID","description":"Invalid folder ID"}]},"help.acceptTermsOfService":{"name":"help.acceptTermsOfService","description":["Accept the new terms of service"],"parameters":{"id":{"description":"ID of terms of service","links":null}}},"help.dismissSuggestion":{"name":"help.dismissSuggestion","description":["Dismiss a suggestion"],"parameters":{"suggestion":{"description":"Suggestion","links":null}}},"help.editUserInfo":{"name":"help.editUserInfo","description":["Internal use"],"parameters":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"message":{"description":"Message","links":null},"user_id":{"description":"User","links":null}}},"help.getAppChangelog":{"name":"help.getAppChangelog","description":["Get changelog of current app.","Typically, an updates¹ constructor will be returned, containing one or more updateServiceNotification² updates with app-specific changelogs."],"links":["https://core.telegram.org/constructor/updates","https://core.telegram.org/constructor/updateServiceNotification"],"parameters":{"prev_app_version":{"description":"Previous app version","links":null}}},"help.getAppConfig":{"name":"help.getAppConfig","description":["Get app-specific configuration, see client configuration¹ for more info on the result."],"links":["https://core.telegram.org/api/config#client-configuration"]},"help.getAppUpdate":{"name":"help.getAppUpdate","description":["Returns information on update availability for the current application."],"parameters":{"source":{"description":"Source","links":null}}},"help.getCdnConfig":{"name":"help.getCdnConfig","description":["Get configuration for CDN¹ file downloads."],"links":["https://core.telegram.org/cdn"],"parameters":{"401":{"description":"The temporary auth key must be binded to the permanent auth key to use these methods.","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."}]},"help.getConfig":{"name":"help.getConfig","description":["Returns current configuration, including data center configuration."],"parameters":{"400":{"description":"Invalid message ID provided","links":null}},"errors":[{"code":400,"type":"CONNECTION_API_ID_INVALID","description":"The provided API id is invalid"},{"code":400,"type":"CONNECTION_APP_VERSION_EMPTY","description":"App version is empty"},{"code":400,"type":"CONNECTION_DEVICE_MODEL_EMPTY","description":"Device model empty"},{"code":400,"type":"CONNECTION_LANG_PACK_INVALID","description":"Language pack invalid"},{"code":400,"type":"CONNECTION_LAYER_INVALID","description":"Layer invalid"},{"code":400,"type":"CONNECTION_NOT_INITED","description":"Connection not initialized"},{"code":400,"type":"CONNECTION_SYSTEM_EMPTY","description":"Connection system empty"},{"code":400,"type":"CONNECTION_SYSTEM_LANG_CODE_EMPTY","description":"The system_lang_code field is empty"},{"code":400,"type":"DATA_INVALID","description":"Encrypted data invalid"},{"code":400,"type":"INPUT_LAYER_INVALID","description":"The provided layer is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"help.getCountriesList":{"name":"help.getCountriesList","description":["Get name, ISO code, localized name and phone codes/patterns of all available countries"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"lang_code":{"description":"Language code of the current user","links":null}}},"help.getDeepLinkInfo":{"name":"help.getDeepLinkInfo","description":["Get info about a t.me link"],"parameters":{"path":{"description":"Path in t.me/path","links":null}}},"help.getInviteText":{"name":"help.getInviteText","description":["Returns localized text of a text message with an invitation."]},"help.getNearestDc":{"name":"help.getNearestDc","description":["Returns info on data centre nearest to the user."]},"help.getPassportConfig":{"name":"help.getPassportConfig","description":["Get passport¹ configuration"],"links":["https://core.telegram.org/passport"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"help.getPromoData":{"name":"help.getPromoData","description":["Get MTProxy/Public Service Announcement information"]},"help.getRecentMeUrls":{"name":"help.getRecentMeUrls","description":["Get recently used t.me links"],"parameters":{"referer":{"description":"Referer","links":null}}},"help.getSupport":{"name":"help.getSupport","description":["Returns the support user for the 'ask a question' feature."]},"help.getSupportName":{"name":"help.getSupportName","description":["Get localized name of the telegram support user"],"parameters":{"403":{"description":"Invalid user provided","links":null}},"errors":[{"code":403,"type":"USER_INVALID","description":"Invalid user provided"}]},"help.getTermsOfServiceUpdate":{"name":"help.getTermsOfServiceUpdate","description":["Look for updates of telegram's terms of service"]},"help.getUserInfo":{"name":"help.getUserInfo","description":["Internal use"],"parameters":{"user_id":{"description":"User ID","links":null}},"errors":[{"code":403,"type":"USER_INVALID","description":"Invalid user provided"}]},"help.hidePromoData":{"name":"help.hidePromoData","description":["Hide MTProxy/Public Service Announcement information"],"parameters":{"peer":{"description":"Peer to hide","links":null}}},"help.saveAppLog":{"name":"help.saveAppLog","description":["Saves logs of application on the server."],"parameters":{"events":{"description":"List of input events","links":null}}},"help.setBotUpdatesStatus":{"name":"help.setBotUpdatesStatus","description":["Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only"],"parameters":{"message":{"description":"Error message, if present","links":null},"pending_updates_count":{"description":"Number of pending updates","links":null}}},"initConnection":{"name":"initConnection","description":["Initialize connection"],"parameters":{"api_id":{"description":"Application identifier (see. App configuration¹)","links":["https://core.telegram.org/myapp"]},"app_version":{"description":"Application version","links":null},"device_model":{"description":"Device model","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"lang_code":{"description":"Code for the language used on the client, ISO 639-1 standard","links":null},"lang_pack":{"description":"Language pack to use","links":null},"params":{"description":"Additional initConnection parameters. For now, only the tz_offset field is supported, for specifying timezone offset in seconds.","links":null},"proxy":{"description":"Info about an MTProto proxy","links":null},"query":{"description":"The query itself","links":null},"system_lang_code":{"description":"Code for the language used on the device's OS, ISO 639-1 standard","links":null},"system_version":{"description":"Operation system version","links":null}},"errors":[{"code":400,"type":"CONNECTION_LAYER_INVALID","description":"Layer invalid"}]},"invokeAfterMsg":{"name":"invokeAfterMsg","description":["Invokes a query after successfull completion of one of the previous queries."],"parameters":{"msg_id":{"description":"Message identifier on which a current query depends","links":null},"query":{"description":"The query itself","links":null}}},"invokeAfterMsgs":{"name":"invokeAfterMsgs","description":["Invokes a query after a successfull completion of previous queries"],"parameters":{"msg_ids":{"description":"List of messages on which a current query depends","links":null},"query":{"description":"The query itself","links":null}}},"invokeWithLayer":{"name":"invokeWithLayer","description":["Invoke the specified query using the specified API layer¹"],"links":["https://core.telegram.org/api/invoking#layers"],"parameters":{"layer":{"description":"The layer to use","links":null},"query":{"description":"The query","links":null}},"errors":[{"code":400,"type":"AUTH_BYTES_INVALID","description":"The provided authorization is invalid"},{"code":400,"type":"CDN_METHOD_INVALID","description":"You can't call this method in a CDN DC"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"CONNECTION_API_ID_INVALID","description":"The provided API id is invalid"},{"code":400,"type":"CONNECTION_DEVICE_MODEL_EMPTY","description":"Device model empty"},{"code":400,"type":"CONNECTION_LANG_PACK_INVALID","description":"Language pack invalid"},{"code":400,"type":"CONNECTION_NOT_INITED","description":"Connection not initialized"},{"code":400,"type":"CONNECTION_SYSTEM_EMPTY","description":"Connection system empty"},{"code":400,"type":"INPUT_LAYER_INVALID","description":"The provided layer is invalid"},{"code":400,"type":"INVITE_HASH_EXPIRED","description":"The invite link has expired"}]},"invokeWithMessagesRange":{"name":"invokeWithMessagesRange","description":["Invoke with the given message range"],"parameters":{"query":{"description":"Query","links":null},"range":{"description":"Message range","links":null}}},"invokeWithTakeout":{"name":"invokeWithTakeout","description":["Invoke a method within a takeout session"],"parameters":{"query":{"description":"Query","links":null},"takeout_id":{"description":"Takeout session ID","links":null}},"errors":[{"code":400,"type":"INPUT_METHOD_INVALID_1400137063_X","description":"Invalid method"}]},"invokeWithoutUpdates":{"name":"invokeWithoutUpdates","description":["Invoke a request without subscribing the used connection for updates¹ (this is enabled by default for file queries²)."],"links":["https://core.telegram.org/api/updates","https://core.telegram.org/api/files"],"parameters":{"query":{"description":"The query","links":null}}},"langpack.getDifference":{"name":"langpack.getDifference","description":["Get new strings in languagepack"],"parameters":{"from_version":{"description":"Previous localization pack version","links":null},"lang_code":{"description":"Language code","links":null},"lang_pack":{"description":"Language pack","links":null}},"errors":[{"code":400,"type":"LANG_PACK_INVALID","description":"The provided language pack is invalid"}]},"langpack.getLangPack":{"name":"langpack.getLangPack","description":["Get localization pack strings"],"parameters":{"lang_code":{"description":"Language code","links":null},"lang_pack":{"description":"Language pack name","links":null}},"errors":[{"code":400,"type":"LANG_PACK_INVALID","description":"The provided language pack is invalid"}]},"langpack.getLanguage":{"name":"langpack.getLanguage","description":["Get information about a language in a localization pack"],"parameters":{"lang_code":{"description":"Language code","links":null},"lang_pack":{"description":"Language pack name","links":null}}},"langpack.getLanguages":{"name":"langpack.getLanguages","description":["Get information about all languages in a localization pack"],"parameters":{"lang_pack":{"description":"Language pack","links":null}},"errors":[{"code":400,"type":"LANG_PACK_INVALID","description":"The provided language pack is invalid"}]},"langpack.getStrings":{"name":"langpack.getStrings","description":["Get strings from a language pack"],"parameters":{"keys":{"description":"Strings to get","links":null},"lang_code":{"description":"Language code","links":null},"lang_pack":{"description":"Language pack name","links":null}},"errors":[{"code":400,"type":"LANG_PACK_INVALID","description":"The provided language pack is invalid"}]},"messages.acceptEncryption":{"name":"messages.acceptEncryption","description":["Confirms creation of a secret chat"],"parameters":{"g_b":{"description":"B = g ^ b mod p, see Wikipedia¹","links":["https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange"]},"key_fingerprint":{"description":"64-bit fingerprint of the received key","links":null},"peer":{"description":"Secret chat ID","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"ENCRYPTION_ALREADY_ACCEPTED","description":"Secret chat already accepted"},{"code":400,"type":"ENCRYPTION_ALREADY_DECLINED","description":"The secret chat was already declined"}]},"messages.acceptUrlAuth":{"name":"messages.acceptUrlAuth","description":["Use this to accept a Seamless Telegram Login authorization request, for more info click here »¹"],"links":["https://core.telegram.org/api/url-authorization"],"parameters":{"button_id":{"description":"ID of the login button","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"msg_id":{"description":"Message ID of the message with the login button","links":null},"peer":{"description":"The location of the message","links":null},"write_allowed":{"description":"Set this flag to allow the bot to send messages to you (if requested)","links":null}}},"messages.addChatUser":{"name":"messages.addChatUser","description":["Adds a user to a chat and sends a service message on it."],"parameters":{"chat_id":{"description":"Chat ID","links":null},"fwd_limit":{"description":"Number of last messages to be forwarded","links":null},"user_id":{"description":"User ID to be added","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USERS_TOO_MUCH","description":"The maximum number of users has been exceeded (to create a chat, for example)"},{"code":400,"type":"USER_ALREADY_PARTICIPANT","description":"The user is already in the group"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":403,"type":"USER_NOT_MUTUAL_CONTACT","description":"The provided user is not a mutual contact"},{"code":403,"type":"USER_PRIVACY_RESTRICTED","description":"The user's privacy settings do not allow you to do this"}]},"messages.checkChatInvite":{"name":"messages.checkChatInvite","description":["Check the validity of a chat invite link and get basic info about it"],"parameters":{"hash":{"description":"Invite hash in t.me/joinchat/hash","links":null}},"errors":[{"code":400,"type":"INVITE_HASH_EMPTY","description":"The invite hash is empty"},{"code":400,"type":"INVITE_HASH_EXPIRED","description":"The invite link has expired"},{"code":400,"type":"INVITE_HASH_INVALID","description":"The invite hash is invalid"}]},"messages.clearAllDrafts":{"name":"messages.clearAllDrafts","description":["Clear all drafts¹."],"links":["https://core.telegram.org/api/drafts"]},"messages.clearRecentStickers":{"name":"messages.clearRecentStickers","description":["Clear recent stickers"],"parameters":{"attached":{"description":"Set this flag to clear the list of stickers recently attached to photo or video files","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"messages.createChat":{"name":"messages.createChat","description":["Creates a new chat."],"parameters":{"title":{"description":"Chat name","links":null},"users":{"description":"List of user IDs to be invited","links":null}},"errors":[{"code":400,"type":"CHAT_INVALID","description":"Invalid chat"},{"code":400,"type":"CHAT_TITLE_EMPTY","description":"No chat title provided"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"USERS_TOO_FEW","description":"Not enough users (to create a chat, for example)"},{"code":403,"type":"USER_RESTRICTED","description":"You're spamreported, you can't create channels or chats."}]},"messages.deleteChatUser":{"name":"messages.deleteChatUser","description":["Deletes a user from a chat and sends a service message on it."],"parameters":{"chat_id":{"description":"Chat ID","links":null},"user_id":{"description":"User ID to be deleted","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":400,"type":"USER_NOT_PARTICIPANT","description":"You're not a member of this supergroup/channel"}]},"messages.deleteHistory":{"name":"messages.deleteHistory","description":["Deletes communication history."],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"just_clear":{"description":"Just clear history for the current user, without actually removing messages for every chat user","links":null},"max_id":{"description":"Maximum ID of message to delete","links":null},"peer":{"description":"User or chat, communication history of which will be deleted","links":null},"revoke":{"description":"Whether to delete the message history for all chat participants","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.deleteMessages":{"name":"messages.deleteMessages","description":["Deletes messages by their identifiers."],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Message ID list","links":null},"revoke":{"description":"Whether to delete messages for all participants of the chat","links":null}},"errors":[{"code":403,"type":"MESSAGE_DELETE_FORBIDDEN","description":"You can't delete one of the messages you tried to delete, most likely because it is a service message."}]},"messages.deleteScheduledMessages":{"name":"messages.deleteScheduledMessages","description":["Delete scheduled messages"],"parameters":{"id":{"description":"Scheduled message IDs","links":null},"peer":{"description":"Peer","links":null}}},"messages.discardEncryption":{"name":"messages.discardEncryption","description":["Cancels a request for creation and/or delete info on secret chat."],"parameters":{"chat_id":{"description":"Secret chat ID","links":null}},"errors":[{"code":400,"type":"CHAT_ID_EMPTY","description":"The provided chat ID is empty"},{"code":400,"type":"ENCRYPTION_ALREADY_DECLINED","description":"The secret chat was already declined"},{"code":400,"type":"ENCRYPTION_ID_INVALID","description":"The provided secret chat ID is invalid"}]},"messages.editChatAbout":{"name":"messages.editChatAbout","description":["Edit the description of a group/supergroup/channel¹."],"links":["https://core.telegram.org/api/channel"],"parameters":{"about":{"description":"The new description","links":null},"peer":{"description":"The group/supergroup/channel¹.","links":["https://core.telegram.org/api/channel"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ABOUT_NOT_MODIFIED","description":"About text has not changed"},{"code":400,"type":"CHAT_ABOUT_TOO_LONG","description":"Chat about too long"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.editChatAdmin":{"name":"messages.editChatAdmin","description":["Make a user admin in a legacy group¹."],"links":["https://core.telegram.org/api/channel"],"parameters":{"chat_id":{"description":"The ID of the group","links":null},"is_admin":{"description":"Whether to make him admin","links":null},"user_id":{"description":"The user to make admin","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":400,"type":"USER_NOT_PARTICIPANT","description":"You're not a member of this supergroup/channel"}]},"messages.editChatDefaultBannedRights":{"name":"messages.editChatDefaultBannedRights","description":["Edit the default banned rights of a channel/supergroup/group¹."],"links":["https://core.telegram.org/api/channel"],"parameters":{"banned_rights":{"description":"The new global rights","links":null},"peer":{"description":"The peer","links":null}},"errors":[{"code":400,"type":"BANNED_RIGHTS_INVALID","description":"You provided some invalid flags in the banned rights"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"UNTIL_DATE_INVALID","description":"Invalid until date provided"}]},"messages.editChatPhoto":{"name":"messages.editChatPhoto","description":["Changes chat photo and sends a service message on it"],"parameters":{"chat_id":{"description":"Chat ID","links":null},"photo":{"description":"Photo to be set","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":400,"type":"INPUT_CONSTRUCTOR_INVALID","description":"The provided constructor is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"PHOTO_CROP_SIZE_SMALL","description":"Photo is too small"},{"code":400,"type":"PHOTO_EXT_INVALID","description":"The extension of the photo is invalid"},{"code":400,"type":"PHOTO_INVALID","description":"Photo invalid"}]},"messages.editChatTitle":{"name":"messages.editChatTitle","description":["Chanages chat name and sends a service message on it."],"parameters":{"chat_id":{"description":"Chat ID","links":null},"title":{"description":"New chat name, different from the old one","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":400,"type":"CHAT_TITLE_EMPTY","description":"No chat title provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.editInlineBotMessage":{"name":"messages.editInlineBotMessage","description":["Edit an inline bot message"],"parameters":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Sent inline message ID","links":null},"media":{"description":"Media","links":null},"message":{"description":"Message","links":null},"no_webpage":{"description":"Disable webpage preview","links":null},"reply_markup":{"description":"Reply markup for inline keyboards","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"MESSAGE_NOT_MODIFIED","description":"The message text has not changed"}]},"messages.editMessage":{"name":"messages.editMessage","description":["Edit message"],"parameters":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"ID of the message to edit","links":null},"media":{"description":"New attached media","links":null},"message":{"description":"New message","links":null},"no_webpage":{"description":"Disable webpage preview","links":null},"peer":{"description":"Where was the message sent","links":null},"reply_markup":{"description":"Reply markup for inline keyboards","links":null},"schedule_date":{"description":"Scheduled message date for scheduled messages¹","links":["https://core.telegram.org/api/scheduled-messages"]}},"errors":[{"code":400,"type":"BUTTON_DATA_INVALID","description":"The data of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_TYPE_INVALID","description":"The type of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_URL_INVALID","description":"Button URL invalid"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":403,"type":"INLINE_BOT_REQUIRED","description":"Only the inline bot can edit message"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MEDIA_CAPTION_TOO_LONG","description":"The caption is too long"},{"code":400,"type":"MEDIA_PREV_INVALID","description":"Previous media invalid"},{"code":403,"type":"MESSAGE_AUTHOR_REQUIRED","description":"Message author required"},{"code":400,"type":"MESSAGE_EDIT_TIME_EXPIRED","description":"You can't edit this message anymore, too much time has passed since its creation."},{"code":400,"type":"MESSAGE_EMPTY","description":"The provided message is empty"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"MESSAGE_NOT_MODIFIED","description":"The message text has not changed"},{"code":400,"type":"MESSAGE_TOO_LONG","description":"The provided message is too long"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"REPLY_MARKUP_INVALID","description":"The provided reply markup is invalid"},{"code":400,"type":"SCHEDULE_DATE_INVALID","description":"Invalid schedule date provided"},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"}]},"messages.exportChatInvite":{"name":"messages.exportChatInvite","description":["Export an invite link for a chat"],"parameters":{"peer":{"description":"Chat","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.faveSticker":{"name":"messages.faveSticker","description":["Mark a sticker as favorite"],"parameters":{"id":{"description":"Sticker to mark as favorite","links":null},"unfave":{"description":"Unfavorite","links":null}},"errors":[{"code":400,"type":"STICKER_ID_INVALID","description":"The provided sticker ID is invalid"}]},"messages.forwardMessages":{"name":"messages.forwardMessages","description":["Forwards messages by their IDs."],"parameters":{"background":{"description":"Whether to send the message in background","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"from_peer":{"description":"Source of messages","links":null},"id":{"description":"IDs of messages","links":null},"random_id":{"description":"Random ID to prevent resending of messages","links":null},"schedule_date":{"description":"Scheduled message date for scheduled messages","links":null},"silent":{"description":"Whether to send messages silently (no notification will be triggered on the destination clients)","links":null},"to_peer":{"description":"Destination peer","links":null},"with_my_score":{"description":"When forwarding games, whether to include your score in the game","links":null}},"errors":[{"code":400,"type":"BROADCAST_PUBLIC_VOTERS_FORBIDDEN","description":"You can't forward polls with public voters"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"CHAT_RESTRICTED","description":"You can't send messages in this chat, you were restricted"},{"code":403,"type":"CHAT_SEND_GIFS_FORBIDDEN","description":"You can't send gifs in this chat"},{"code":403,"type":"CHAT_SEND_MEDIA_FORBIDDEN","description":"You can't send media in this chat"},{"code":403,"type":"CHAT_SEND_POLL_FORBIDDEN","description":"You can't send polls in this chat"},{"code":403,"type":"CHAT_SEND_STICKERS_FORBIDDEN","description":"You can't send stickers in this chat."},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"GROUPED_MEDIA_INVALID","description":"Invalid grouped media"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MEDIA_EMPTY","description":"The provided media object is invalid"},{"code":400,"type":"MESSAGE_IDS_EMPTY","description":"No message ids were provided"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":420,"type":"P0NY_FLOODWAIT","description":" "},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"RANDOM_ID_INVALID","description":"A provided random ID is invalid"},{"code":400,"type":"SCHEDULE_TOO_MUCH","description":"There are too many scheduled messages"},{"code":400,"type":"SLOWMODE_MULTI_MSGS_DISABLED","description":"Slowmode is enabled, you cannot forward multiple messages to this group."},{"code":420,"type":"SLOWMODE_WAIT_X","description":"Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat."},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"USER_IS_BLOCKED","description":"You were blocked by this user"},{"code":400,"type":"USER_IS_BOT","description":"Bots can't send messages to other bots"},{"code":400,"type":"YOU_BLOCKED_USER","description":"You blocked this user"}]},"messages.getAllChats":{"name":"messages.getAllChats","description":["Get all chats, channels and supergroups"],"parameters":{"except_ids":{"description":"Except these chats/channels/supergroups","links":null}}},"messages.getAllDrafts":{"name":"messages.getAllDrafts","description":["Save get all message drafts¹."],"links":["https://core.telegram.org/api/drafts"]},"messages.getAllStickers":{"name":"messages.getAllStickers","description":["Get all installed stickers"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getArchivedStickers":{"name":"messages.getArchivedStickers","description":["Get all archived stickers"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"masks":{"description":"Get mask stickers","links":null},"offset_id":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]}}},"messages.getAttachedStickers":{"name":"messages.getAttachedStickers","description":["Get stickers attached to a photo or video"],"parameters":{"media":{"description":"Stickered media","links":null}}},"messages.getBotCallbackAnswer":{"name":"messages.getBotCallbackAnswer","description":["Press an inline callback button and get a callback answer from the bot"],"parameters":{"data":{"description":"Callback data","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"game":{"description":"Whether this is a \"play game\" button","links":null},"msg_id":{"description":"ID of the Message with the inline keyboard","links":null},"password":{"description":"For buttons requiring you to verify your identity with your 2FA password¹, the SRP payload generated using SRP².","links":["https://core.telegram.org/constructor/keyboardButtonCallback","https://core.telegram.org/api/srp"]},"peer":{"description":"Where was the inline keyboard sent","links":null}},"errors":[{"code":400,"type":"BOT_RESPONSE_TIMEOUT","description":"A timeout occurred while fetching data from the bot"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"DATA_INVALID","description":"Encrypted data invalid"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":-503,"type":"Timeout","description":"Timeout while fetching data"}]},"messages.getChats":{"name":"messages.getChats","description":["Returns chat basic info on their IDs."],"parameters":{"id":{"description":"List of chat IDs","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getCommonChats":{"name":"messages.getCommonChats","description":["Get chats in common with a user"],"parameters":{"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"max_id":{"description":"Maximum ID of chat to return (see pagination¹)","links":["https://core.telegram.org/api/offsets"]},"user_id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"messages.getDhConfig":{"name":"messages.getDhConfig","description":["Returns configuration parameters for Diffie-Hellman key generation. Can also return a random sequence of bytes of required length."],"parameters":{"random_length":{"description":"Length of the required random sequence","links":null},"version":{"description":"Value of the version parameter from messages.dhConfig¹, avialable at the client","links":["https://core.telegram.org/constructor/messages.dhConfig"]}},"errors":[{"code":400,"type":"RANDOM_LENGTH_INVALID","description":"Random length invalid"}]},"messages.getDialogFilters":{"name":"messages.getDialogFilters","description":["Get folders¹"],"links":["https://core.telegram.org/api/folders"]},"messages.getDialogUnreadMarks":{"name":"messages.getDialogUnreadMarks","description":["Get dialogs manually marked as unread"]},"messages.getDialogs":{"name":"messages.getDialogs","description":["Returns the current user dialog list."],"parameters":{"exclude_pinned":{"description":"Exclude pinned dialogs","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"limit":{"description":"Number of list elements to be returned","links":null},"offset_date":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_id":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_peer":{"description":"Offset peer for pagination¹","links":["https://core.telegram.org/api/offsets"]}},"errors":[{"code":400,"type":"FOLDER_ID_INVALID","description":"Invalid folder ID"},{"code":400,"type":"INPUT_CONSTRUCTOR_INVALID","description":"The provided constructor is invalid"},{"code":400,"type":"OFFSET_PEER_ID_INVALID","description":"The provided offset peer is invalid"}]},"messages.getDiscussionMessage":{"name":"messages.getDiscussionMessage","description":["Get discussion message¹ from the associated discussion group² of a channel to show it on top of the comment section, without actually joining the group"],"links":["https://core.telegram.org/api/threads","https://core.telegram.org/api/discussion"],"parameters":{"msg_id":{"description":"Message ID","links":null},"peer":{"description":"Channel ID¹","links":["https://core.telegram.org/api/channel"]}}},"messages.getDocumentByHash":{"name":"messages.getDocumentByHash","description":["Get a document by its SHA256 hash, mainly used for gifs"],"parameters":{"mime_type":{"description":"Mime type","links":null},"sha256":{"description":"SHA256 of file","links":null},"size":{"description":"Size of the file in bytes","links":null}},"errors":[{"code":400,"type":"SHA256_HASH_INVALID","description":"The provided SHA256 hash is invalid"}]},"messages.getEmojiKeywords":{"name":"messages.getEmojiKeywords","description":["Get localized emoji keywords"],"parameters":{"lang_code":{"description":"Language code","links":null}}},"messages.getEmojiKeywordsDifference":{"name":"messages.getEmojiKeywordsDifference","description":["Get changed emoji keywords"],"parameters":{"from_version":{"description":"Previous emoji keyword localization version","links":null},"lang_code":{"description":"Language code","links":null}}},"messages.getEmojiKeywordsLanguages":{"name":"messages.getEmojiKeywordsLanguages","description":["Get info about an emoji keyword localization"],"parameters":{"lang_codes":{"description":"Language codes","links":null}}},"messages.getEmojiURL":{"name":"messages.getEmojiURL","description":["Returns an HTTP URL which can be used to automatically log in into translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation"],"parameters":{"lang_code":{"description":"Language code for which the emoji replacements will be suggested","links":null}}},"messages.getFavedStickers":{"name":"messages.getFavedStickers","description":["Get faved stickers"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getFeaturedStickers":{"name":"messages.getFeaturedStickers","description":["Get featured stickers"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getFullChat":{"name":"messages.getFullChat","description":["Returns full chat info according to its ID."],"parameters":{"chat_id":{"description":"Chat ID","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getGameHighScores":{"name":"messages.getGameHighScores","description":["Get highscores of a game"],"parameters":{"id":{"description":"ID of message with game media attachment","links":null},"peer":{"description":"Where was the game sent","links":null},"user_id":{"description":"Get high scores made by a certain user","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USER_BOT_REQUIRED","description":"This method can only be called by a bot"}]},"messages.getHistory":{"name":"messages.getHistory","description":["Gets back the conversation history with one interlocutor / within a chat"],"parameters":{"add_offset":{"description":"Number of list elements to be skipped, negative values are also accepted.","links":null},"hash":{"description":"Result hash¹","links":["https://core.telegram.org/api/offsets"]},"limit":{"description":"Number of results to return","links":null},"max_id":{"description":"If a positive value was transferred, the method will return only messages with IDs less than max_id","links":null},"min_id":{"description":"If a positive value was transferred, the method will return only messages with IDs more than min_id","links":null},"offset_date":{"description":"Only return messages sent before the specified date","links":null},"offset_id":{"description":"Only return messages starting from the specified message ID","links":null},"peer":{"description":"Target peer","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"CONNECTION_DEVICE_MODEL_EMPTY","description":"Device model empty"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getInlineBotResults":{"name":"messages.getInlineBotResults","description":["Query an inline bot"],"parameters":{"bot":{"description":"The bot to query","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"geo_point":{"description":"The geolocation, if requested","links":null},"offset":{"description":"The offset within the results, will be passed directly as-is to the bot.","links":null},"peer":{"description":"The currently opened chat","links":null},"query":{"description":"The query","links":null}},"errors":[{"code":400,"type":"BOT_INLINE_DISABLED","description":"This bot can't be used in inline mode"},{"code":400,"type":"BOT_INVALID","description":"This is not a valid bot"},{"code":400,"type":"BOT_RESPONSE_TIMEOUT","description":"A timeout occurred while fetching data from the bot"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":-503,"type":"Timeout","description":"Timeout while fetching data"}]},"messages.getInlineGameHighScores":{"name":"messages.getInlineGameHighScores","description":["Get highscores of a game sent using an inline bot"],"parameters":{"id":{"description":"ID of inline message","links":null},"user_id":{"description":"Get high scores of a certain user","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"USER_BOT_REQUIRED","description":"This method can only be called by a bot"}]},"messages.getMaskStickers":{"name":"messages.getMaskStickers","description":["Get installed mask stickers"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getMessageEditData":{"name":"messages.getMessageEditData","description":["Find out if a media message's caption can be edited"],"parameters":{"id":{"description":"ID of message","links":null},"peer":{"description":"Peer where the media was sent","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"MESSAGE_AUTHOR_REQUIRED","description":"Message author required"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getMessages":{"name":"messages.getMessages","description":["Returns the list of messages by their IDs."],"parameters":{"id":{"description":"Message ID list","links":null}}},"messages.getMessagesViews":{"name":"messages.getMessagesViews","description":["Get and increase the view counter of a message sent or forwarded from a channel¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"id":{"description":"ID of message","links":null},"increment":{"description":"Whether to mark the message as viewed and increment the view counter","links":null},"peer":{"description":"Peer where the message was found","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getOldFeaturedStickers":{"name":"messages.getOldFeaturedStickers","description":["Method for fetching previously featured stickers"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"offset":{"description":"Offset","links":null}}},"messages.getOnlines":{"name":"messages.getOnlines","description":["Get count of online users in a chat"],"parameters":{"peer":{"description":"The chat","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getPeerDialogs":{"name":"messages.getPeerDialogs","description":["Get dialog info of specified peers"],"parameters":{"peers":{"description":"Peers","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CONNECTION_DEVICE_MODEL_EMPTY","description":"Device model empty"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getPeerSettings":{"name":"messages.getPeerSettings","description":["Get peer settings"],"parameters":{"peer":{"description":"The peer","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getPinnedDialogs":{"name":"messages.getPinnedDialogs","description":["Get pinned dialogs"],"parameters":{"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]}},"errors":[{"code":400,"type":"FOLDER_ID_INVALID","description":"Invalid folder ID"}]},"messages.getPollResults":{"name":"messages.getPollResults","description":["Get poll results"],"parameters":{"msg_id":{"description":"Message ID of poll message","links":null},"peer":{"description":"Peer where the poll was found","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"messages.getPollVotes":{"name":"messages.getPollVotes","description":["Get poll results for non-anonymous polls"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Message ID","links":null},"limit":{"description":"Number of results to return","links":null},"offset":{"description":"Offset for results, taken from the next_offset field of messages.votesList¹, initially an empty string. Note: if no more results are available, the method call will return an empty next_offset; thus, avoid providing the next_offset returned in messages.votesList² if it is empty, to avoid an infinite loop.","links":["https://core.telegram.org/constructor/messages.votesList","https://core.telegram.org/constructor/messages.votesList"]},"option":{"description":"Get only results for the specified poll option","links":null},"peer":{"description":"Chat where the poll was sent","links":null}},"errors":[{"code":403,"type":"BROADCAST_FORBIDDEN","description":" "},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":403,"type":"POLL_VOTE_REQUIRED","description":"Cast a vote in the poll before calling this method"}]},"messages.getRecentLocations":{"name":"messages.getRecentLocations","description":["Get live location history of a certain user"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"peer":{"description":"User","links":null}}},"messages.getRecentStickers":{"name":"messages.getRecentStickers","description":["Get recent stickers"],"parameters":{"attached":{"description":"Get stickers recently attached to photo or video files","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getReplies":{"name":"messages.getReplies","description":["Get messages in a reply thread"],"parameters":{"add_offset":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"max_id":{"description":"If a positive value was transferred, the method will return only messages with ID smaller than max_id","links":null},"min_id":{"description":"If a positive value was transferred, the method will return only messages with ID bigger than min_id","links":null},"msg_id":{"description":"Message ID","links":null},"offset_date":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_id":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"peer":{"description":"Peer","links":null}}},"messages.getSavedGifs":{"name":"messages.getSavedGifs","description":["Get saved GIFs"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getScheduledHistory":{"name":"messages.getScheduledHistory","description":["Get scheduled messages"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"peer":{"description":"Peer","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getScheduledMessages":{"name":"messages.getScheduledMessages","description":["Get scheduled messages"],"parameters":{"id":{"description":"IDs of scheduled messages","links":null},"peer":{"description":"Peer","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getSearchCounters":{"name":"messages.getSearchCounters","description":["Get the number of results that would be found by a messages.search¹ call with the same parameters"],"links":["https://core.telegram.org/method/messages.search"],"parameters":{"filters":{"description":"Search filters","links":null},"peer":{"description":"Peer where to search","links":null}}},"messages.getSplitRanges":{"name":"messages.getSplitRanges","description":["Get message ranges for saving the user's chat history"]},"messages.getStatsURL":{"name":"messages.getStatsURL","description":["Returns URL with the chat statistics. Currently this method can be used only for channels"],"parameters":{"dark":{"description":"Pass true if a URL with the dark theme must be returned","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"params":{"description":"Parameters from tg://statsrefresh?params=****** link","links":null},"peer":{"description":"Chat identifier","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getStickerSet":{"name":"messages.getStickerSet","description":["Get info about a stickerset"],"parameters":{"stickerset":{"description":"Stickerset","links":null}},"errors":[{"code":400,"type":"STICKERSET_INVALID","description":"The provided sticker set is invalid"}]},"messages.getStickers":{"name":"messages.getStickers","description":["Get stickers by emoji"],"parameters":{"emoticon":{"description":"The emoji","links":null},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]}}},"messages.getSuggestedDialogFilters":{"name":"messages.getSuggestedDialogFilters","description":["Get suggested folders¹"],"links":["https://core.telegram.org/api/folders"]},"messages.getUnreadMentions":{"name":"messages.getUnreadMentions","description":["Get unread messages where we were mentioned"],"parameters":{"add_offset":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"max_id":{"description":"Maximum message ID to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"min_id":{"description":"Minimum message ID to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"offset_id":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"peer":{"description":"Peer where to look for mentions","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.getWebPage":{"name":"messages.getWebPage","description":["Get instant view¹ page"],"links":["https://instantview.telegram.org"],"parameters":{"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"url":{"description":"URL of IV page to fetch","links":null}},"errors":[{"code":400,"type":"WC_CONVERT_URL_INVALID","description":"WC convert URL invalid"}]},"messages.getWebPagePreview":{"name":"messages.getWebPagePreview","description":["Get preview of webpage"],"parameters":{"entities":{"description":"Message entities for styled text¹","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"Message from which to extract the preview","links":null}},"errors":[{"code":400,"type":"MESSAGE_EMPTY","description":"The provided message is empty"}]},"messages.hidePeerSettingsBar":{"name":"messages.hidePeerSettingsBar","description":["Should be called after the user hides the report spam/add as contact bar of a new chat, effectively prevents the user from executing the actions specified in the peer's settings¹."],"links":["https://core.telegram.org/constructor/peerSettings"],"parameters":{"peer":{"description":"Peer","links":null}}},"messages.importChatInvite":{"name":"messages.importChatInvite","description":["Import a chat invite and join a private chat/supergroup/channel"],"parameters":{"hash":{"description":"hash from t.me/joinchat/hash","links":null}},"errors":[{"code":400,"type":"CHANNELS_TOO_MUCH","description":"You have joined too many channels/supergroups"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"INVITE_HASH_EMPTY","description":"The invite hash is empty"},{"code":400,"type":"INVITE_HASH_EXPIRED","description":"The invite link has expired"},{"code":400,"type":"INVITE_HASH_INVALID","description":"The invite hash is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USERS_TOO_MUCH","description":"The maximum number of users has been exceeded (to create a chat, for example)"},{"code":400,"type":"USER_ALREADY_PARTICIPANT","description":"The user is already in the group"},{"code":400,"type":"USER_CHANNELS_TOO_MUCH","description":"One of the users you tried to add is already in too many channels/supergroups"}]},"messages.installStickerSet":{"name":"messages.installStickerSet","description":["Install a stickerset"],"parameters":{"archived":{"description":"Whether to archive stickerset","links":null},"stickerset":{"description":"Stickerset to install","links":null}},"errors":[{"code":400,"type":"STICKERSET_INVALID","description":"The provided sticker set is invalid"}]},"messages.markDialogUnread":{"name":"messages.markDialogUnread","description":["Manually mark dialog as unread"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"Dialog","links":null},"unread":{"description":"Mark as unread/read","links":null}}},"messages.migrateChat":{"name":"messages.migrateChat","description":["Turn a legacy group into a supergroup¹"],"links":["https://core.telegram.org/api/channel"],"parameters":{"chat_id":{"description":"Legacy group to migrate","links":null}},"errors":[{"code":403,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.readDiscussion":{"name":"messages.readDiscussion","description":["Mark a thread¹ as read"],"links":["https://core.telegram.org/api/threads"],"parameters":{"msg_id":{"description":"ID of message that started the thread","links":null},"peer":{"description":"Group ID","links":null},"read_max_id":{"description":"ID up to which thread messages were read","links":null}}},"messages.readEncryptedHistory":{"name":"messages.readEncryptedHistory","description":["Marks message history within a secret chat as read."],"parameters":{"max_date":{"description":"Maximum date value for received messages in history","links":null},"peer":{"description":"Secret chat ID","links":null}},"errors":[{"code":400,"type":"MSG_WAIT_FAILED","description":"A waiting call returned an error"}]},"messages.readFeaturedStickers":{"name":"messages.readFeaturedStickers","description":["Mark new featured stickers as read"],"parameters":{"id":{"description":"IDs of stickersets to mark as read","links":null}}},"messages.readHistory":{"name":"messages.readHistory","description":["Marks message history as read."],"parameters":{"max_id":{"description":"If a positive value is passed, only messages with identifiers less or equal than the given one will be read","links":null},"peer":{"description":"Target user or group","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.readMentions":{"name":"messages.readMentions","description":["Mark mentions as read"],"parameters":{"peer":{"description":"Dialog","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.readMessageContents":{"name":"messages.readMessageContents","description":["Notifies the sender about the recipient having listened a voice message or watched a video."],"parameters":{"id":{"description":"Message ID list","links":null}}},"messages.receivedMessages":{"name":"messages.receivedMessages","description":["Confirms receipt of messages by a client, cancels PUSH-notification sending."],"parameters":{"max_id":{"description":"Maximum message ID available in a client.","links":null}}},"messages.receivedQueue":{"name":"messages.receivedQueue","description":["Confirms receipt of messages in a secret chat by client, cancels push notifications."],"parameters":{"max_qts":{"description":"Maximum qts value available at the client","links":null}},"errors":[{"code":400,"type":"MSG_WAIT_FAILED","description":"A waiting call returned an error"}]},"messages.reorderPinnedDialogs":{"name":"messages.reorderPinnedDialogs","description":["Reorder pinned dialogs"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"force":{"description":"If set, dialogs pinned server-side but not present in the order field will be unpinned.","links":null},"order":{"description":"New dialog order","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.reorderStickerSets":{"name":"messages.reorderStickerSets","description":["Reorder installed stickersets"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"masks":{"description":"Reorder mask stickersets","links":null},"order":{"description":"New stickerset order by stickerset IDs","links":null}}},"messages.report":{"name":"messages.report","description":["Report a message in a chat for violation of telegram's Terms of Service"],"parameters":{"id":{"description":"IDs of messages to report","links":null},"peer":{"description":"Peer","links":null},"reason":{"description":"Why are these messages being reported","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.reportEncryptedSpam":{"name":"messages.reportEncryptedSpam","description":["Report a secret chat for spam"],"parameters":{"peer":{"description":"The secret chat to report","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"}]},"messages.reportSpam":{"name":"messages.reportSpam","description":["Report a new incoming chat for spam, if the peer settings¹ of the chat allow us to do that"],"links":["https://core.telegram.org/constructor/peerSettings"],"parameters":{"peer":{"description":"Peer to report","links":null}},"errors":[{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.requestEncryption":{"name":"messages.requestEncryption","description":["Sends a request to start a secret chat to the user."],"parameters":{"g_a":{"description":"A = g ^ a mod p, see Wikipedia¹","links":["https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange"]},"random_id":{"description":"Unique client request ID required to prevent resending. This also doubles as the chat ID.","links":null},"user_id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"DH_G_A_INVALID","description":"g_a invalid"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"messages.requestUrlAuth":{"name":"messages.requestUrlAuth","description":["Get more info about a Seamless Telegram Login authorization request, for more info click here »¹"],"links":["https://core.telegram.org/api/url-authorization"],"parameters":{"button_id":{"description":"The ID of the button with the authorization request","links":null},"msg_id":{"description":"The message","links":null},"peer":{"description":"Peer where the message is located","links":null}}},"messages.saveDraft":{"name":"messages.saveDraft","description":["Save a message draft¹ associated to a chat."],"links":["https://core.telegram.org/api/drafts"],"parameters":{"entities":{"description":"Message entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"The draft","links":null},"no_webpage":{"description":"Disable generation of the webpage preview","links":null},"peer":{"description":"Destination of the message that should be sent","links":null},"reply_to_msg_id":{"description":"Message ID the message should reply to","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.saveGif":{"name":"messages.saveGif","description":["Add GIF to saved gifs list"],"parameters":{"id":{"description":"GIF to save","links":null},"unsave":{"description":"Whether to remove GIF from saved gifs list","links":null}},"errors":[{"code":400,"type":"GIF_ID_INVALID","description":"The provided GIF ID is invalid"}]},"messages.saveRecentSticker":{"name":"messages.saveRecentSticker","description":["Add/remove sticker from recent stickers list"],"parameters":{"attached":{"description":"Whether to add/remove stickers recently attached to photo or video files","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Sticker","links":null},"unsave":{"description":"Whether to save or unsave the sticker","links":null}},"errors":[{"code":400,"type":"STICKER_ID_INVALID","description":"The provided sticker ID is invalid"}]},"messages.search":{"name":"messages.search","description":["Gets back found messages"],"parameters":{"add_offset":{"description":"Additional offset¹","links":["https://core.telegram.org/api/offsets"]},"filter":{"description":"Filter to return only specified message types","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"from_id":{"description":"Only return messages sent by the specified user ID","links":null},"hash":{"description":"Hash¹","links":["https://core.telegram.org/api/offsets"]},"limit":{"description":"Number of results to return¹","links":["https://core.telegram.org/api/offsets"]},"max_date":{"description":"If a positive value was transferred, only messages with a sending date smaller than the transferred one will be returned","links":null},"max_id":{"description":"Maximum message ID to return¹","links":["https://core.telegram.org/api/offsets"]},"min_date":{"description":"If a positive value was transferred, only messages with a sending date bigger than the transferred one will be returned","links":null},"min_id":{"description":"Minimum message ID to return¹","links":["https://core.telegram.org/api/offsets"]},"offset_id":{"description":"Only return messages starting from the specified message ID","links":null},"peer":{"description":"User or chat, histories with which are searched, or (inputPeerEmpty)¹ constructor for global search","links":["https://core.telegram.org/constructor/inputPeerEmpty"]},"q":{"description":"Text search request","links":null},"top_msg_id":{"description":"Thread ID¹","links":["https://core.telegram.org/api/threads"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"INPUT_CONSTRUCTOR_INVALID","description":"The provided constructor is invalid"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"PEER_ID_NOT_SUPPORTED","description":"The provided peer ID is not supported"},{"code":400,"type":"SEARCH_QUERY_EMPTY","description":"The search query is empty"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"messages.searchGlobal":{"name":"messages.searchGlobal","description":["Search for messages and peers globally"],"parameters":{"filter":{"description":"Global search filter","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"folder_id":{"description":"Peer folder ID, for more info click here¹","links":["https://core.telegram.org/api/folders#peer-folders"]},"limit":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"max_date":{"description":"If a positive value was transferred, the method will return only messages with date smaller than max_date","links":null},"min_date":{"description":"If a positive value was specified, the method will return only messages with date bigger than min_date","links":null},"offset_id":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_peer":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_rate":{"description":"Initially 0, then set to the next_rate parameter of messages.messagesSlice¹","links":["https://core.telegram.org/constructor/messages.messagesSlice"]},"q":{"description":"Query","links":null}},"errors":[{"code":400,"type":"FOLDER_ID_INVALID","description":"Invalid folder ID"},{"code":400,"type":"SEARCH_QUERY_EMPTY","description":"The search query is empty"}]},"messages.searchStickerSets":{"name":"messages.searchStickerSets","description":["Search for stickersets"],"parameters":{"exclude_featured":{"description":"Exclude featured stickersets from results","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hash":{"description":"Hash for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets#hash-generation"]},"q":{"description":"Query string","links":null}}},"messages.sendEncrypted":{"name":"messages.sendEncrypted","description":["Sends a text message to a secret chat."],"parameters":{"data":{"description":"TL-serialization of DecryptedMessage¹ type, encrypted with a key that was created during chat initialization","links":["https://core.telegram.org/type/DecryptedMessage"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"Secret chat ID","links":null},"random_id":{"description":"Unique client message ID, necessary to avoid message resending","links":null},"silent":{"description":"Send encrypted message without a notification","links":null}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"DATA_INVALID","description":"Encrypted data invalid"},{"code":400,"type":"ENCRYPTION_DECLINED","description":"The secret chat was declined"},{"code":400,"type":"MSG_WAIT_FAILED","description":"A waiting call returned an error"}]},"messages.sendEncryptedFile":{"name":"messages.sendEncryptedFile","description":["Sends a message with a file attachment to a secret chat"],"parameters":{"data":{"description":"TL-serialization of DecryptedMessage¹ type, encrypted with a key generated during chat initialization","links":["https://core.telegram.org/type/DecryptedMessage"]},"file":{"description":"File attachment for the secret chat","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"Secret chat ID","links":null},"random_id":{"description":"Unique client message ID necessary to prevent message resending","links":null},"silent":{"description":"Whether to send the file without triggering a notification","links":null}},"errors":[{"code":400,"type":"DATA_TOO_LONG","description":"Data too long"},{"code":400,"type":"ENCRYPTION_DECLINED","description":"The secret chat was declined"},{"code":400,"type":"MD5_CHECKSUM_INVALID","description":"The MD5 checksums do not match"},{"code":400,"type":"MSG_WAIT_FAILED","description":"A waiting call returned an error"}]},"messages.sendEncryptedService":{"name":"messages.sendEncryptedService","description":["Sends a service message to a secret chat."],"parameters":{"data":{"description":"TL-serialization of DecryptedMessage¹ type, encrypted with a key generated during chat initialization","links":["https://core.telegram.org/type/DecryptedMessage"]},"peer":{"description":"Secret chat ID","links":null},"random_id":{"description":"Unique client message ID required to prevent message resending","links":null}},"errors":[{"code":400,"type":"DATA_INVALID","description":"Encrypted data invalid"},{"code":400,"type":"ENCRYPTION_DECLINED","description":"The secret chat was declined"},{"code":400,"type":"ENCRYPTION_ID_INVALID","description":"The provided secret chat ID is invalid"},{"code":400,"type":"MSG_WAIT_FAILED","description":"A waiting call returned an error"},{"code":403,"type":"USER_IS_BLOCKED","description":"You were blocked by this user"}]},"messages.sendInlineBotResult":{"name":"messages.sendInlineBotResult","description":["Send a result obtained using messages.getInlineBotResults¹."],"links":["https://core.telegram.org/method/messages.getInlineBotResults"],"parameters":{"background":{"description":"Whether to send the message in background","links":null},"clear_draft":{"description":"Whether to clear the draft¹","links":["https://core.telegram.org/api/drafts"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"hide_via":{"description":"Whether to hide the via @botname in the resulting message (only for bot usernames encountered in the config¹)","links":["https://core.telegram.org/constructor/config"]},"id":{"description":"Result ID from messages.getInlineBotResults¹","links":["https://core.telegram.org/method/messages.getInlineBotResults"]},"peer":{"description":"Destination","links":null},"query_id":{"description":"Query ID from messages.getInlineBotResults¹","links":["https://core.telegram.org/method/messages.getInlineBotResults"]},"random_id":{"description":"Random ID to avoid resending the same query","links":null},"reply_to_msg_id":{"description":"ID of the message this message should reply to","links":null},"schedule_date":{"description":"Scheduled message date for scheduled messages","links":null},"silent":{"description":"Whether to send the message silently (no notification will be triggered on the other client)","links":null}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_RESTRICTED","description":"You can't send messages in this chat, you were restricted"},{"code":403,"type":"CHAT_SEND_GIFS_FORBIDDEN","description":"You can't send gifs in this chat"},{"code":403,"type":"CHAT_SEND_INLINE_FORBIDDEN","description":"You can't send inline messages in this group"},{"code":403,"type":"CHAT_SEND_MEDIA_FORBIDDEN","description":"You can't send media in this chat"},{"code":403,"type":"CHAT_SEND_STICKERS_FORBIDDEN","description":"You can't send stickers in this chat."},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"INLINE_RESULT_EXPIRED","description":"The inline query expired"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MEDIA_EMPTY","description":"The provided media object is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"QUERY_ID_EMPTY","description":"The query ID is empty"},{"code":400,"type":"RESULT_ID_EMPTY","description":"Result ID empty"},{"code":420,"type":"SLOWMODE_WAIT_X","description":"Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat."},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"WEBPAGE_CURL_FAILED","description":"Failure while fetching the webpage with cURL"},{"code":400,"type":"WEBPAGE_MEDIA_EMPTY","description":"Webpage media empty"},{"code":400,"type":"YOU_BLOCKED_USER","description":"You blocked this user"}]},"messages.sendMedia":{"name":"messages.sendMedia","description":["Send a media"],"parameters":{"background":{"description":"Send message in background","links":null},"clear_draft":{"description":"Clear the draft","links":null},"entities":{"description":"Message entities¹ for styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"media":{"description":"Attached media","links":null},"message":{"description":"Caption","links":null},"peer":{"description":"Destination","links":null},"random_id":{"description":"Random ID to avoid resending the same message","links":null},"reply_markup":{"description":"Reply markup for bot keyboards","links":null},"reply_to_msg_id":{"description":"Message ID to which this message should reply to","links":null},"schedule_date":{"description":"Scheduled message date for scheduled messages¹","links":["https://core.telegram.org/api/scheduled-messages"]},"silent":{"description":"Send message silently (no notification should be triggered)","links":null}},"errors":[{"code":400,"type":"BROADCAST_PUBLIC_VOTERS_FORBIDDEN","description":"You can't forward polls with public voters"},{"code":400,"type":"BUTTON_DATA_INVALID","description":"The data of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_TYPE_INVALID","description":"The type of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_URL_INVALID","description":"Button URL invalid"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_RESTRICTED","description":"You can't send messages in this chat, you were restricted"},{"code":403,"type":"CHAT_SEND_GIFS_FORBIDDEN","description":"You can't send gifs in this chat"},{"code":403,"type":"CHAT_SEND_MEDIA_FORBIDDEN","description":"You can't send media in this chat"},{"code":403,"type":"CHAT_SEND_STICKERS_FORBIDDEN","description":"You can't send stickers in this chat."},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"EXTERNAL_URL_INVALID","description":"External URL invalid"},{"code":400,"type":"FILE_PARTS_INVALID","description":"The number of file parts is invalid"},{"code":400,"type":"FILE_PART_LENGTH_INVALID","description":"The length of a file part is invalid"},{"code":400,"type":"IMAGE_PROCESS_FAILED","description":"Failure while processing image"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MD5_CHECKSUM_INVALID","description":"The MD5 checksums do not match"},{"code":400,"type":"MEDIA_CAPTION_TOO_LONG","description":"The caption is too long"},{"code":400,"type":"MEDIA_EMPTY","description":"The provided media object is invalid"},{"code":400,"type":"MEDIA_INVALID","description":"Media invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"PHOTO_EXT_INVALID","description":"The extension of the photo is invalid"},{"code":400,"type":"PHOTO_INVALID_DIMENSIONS","description":"The photo dimensions are invalid"},{"code":400,"type":"PHOTO_SAVE_FILE_INVALID","description":"Internal issues, try again later"},{"code":400,"type":"POLL_ANSWERS_INVALID","description":"Invalid poll answers were provided"},{"code":400,"type":"POLL_OPTION_DUPLICATE","description":"Duplicate poll options provided"},{"code":400,"type":"POLL_OPTION_INVALID","description":"Invalid poll option provided"},{"code":400,"type":"QUIZ_CORRECT_ANSWERS_EMPTY","description":"No correct quiz answer was specified"},{"code":400,"type":"QUIZ_CORRECT_ANSWER_INVALID","description":"An invalid value was provided to the correct_answers field"},{"code":400,"type":"REPLY_MARKUP_BUY_EMPTY","description":"Reply markup for buy button empty"},{"code":400,"type":"REPLY_MARKUP_INVALID","description":"The provided reply markup is invalid"},{"code":400,"type":"SCHEDULE_TOO_MUCH","description":"There are too many scheduled messages"},{"code":420,"type":"SLOWMODE_WAIT_X","description":"Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat."},{"code":400,"type":"TTL_MEDIA_INVALID","description":"Invalid media Time To Live was provided"},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"USER_IS_BLOCKED","description":"You were blocked by this user"},{"code":400,"type":"USER_IS_BOT","description":"Bots can't send messages to other bots"},{"code":400,"type":"WEBPAGE_CURL_FAILED","description":"Failure while fetching the webpage with cURL"},{"code":400,"type":"WEBPAGE_MEDIA_EMPTY","description":"Webpage media empty"},{"code":400,"type":"YOU_BLOCKED_USER","description":"You blocked this user"}]},"messages.sendMessage":{"name":"messages.sendMessage","description":["Sends a message to a chat"],"parameters":{"background":{"description":"Send this message as background message","links":null},"clear_draft":{"description":"Clear the draft field","links":null},"entities":{"description":"Message entities¹ for sending styled text","links":["https://core.telegram.org/api/entities"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"The message","links":null},"no_webpage":{"description":"Set this flag to disable generation of the webpage preview","links":null},"peer":{"description":"The destination where the message will be sent","links":null},"random_id":{"description":"Unique client message ID required to prevent message resending","links":null},"reply_markup":{"description":"Reply markup for sending bot buttons","links":null},"reply_to_msg_id":{"description":"The message ID to which this message will reply to","links":null},"schedule_date":{"description":"Scheduled message date for scheduled messages¹","links":["https://core.telegram.org/api/scheduled-messages"]},"silent":{"description":"Send this message silently (no notifications for the receivers)","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"BOT_DOMAIN_INVALID","description":"Bot domain invalid"},{"code":400,"type":"BOT_INVALID","description":"This is not a valid bot"},{"code":400,"type":"BUTTON_DATA_INVALID","description":"The data of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_TYPE_INVALID","description":"The type of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_URL_INVALID","description":"Button URL invalid"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":400,"type":"CHAT_RESTRICTED","description":"You can't send messages in this chat, you were restricted"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"ENCRYPTION_DECLINED","description":"The secret chat was declined"},{"code":400,"type":"ENTITY_MENTION_USER_INVALID","description":"You mentioned an invalid user"},{"code":400,"type":"FROM_MESSAGE_BOT_DISABLED","description":"Bots can't use fromMessage min constructors"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MESSAGE_EMPTY","description":"The provided message is empty"},{"code":400,"type":"MESSAGE_TOO_LONG","description":"The provided message is too long"},{"code":400,"type":"MSG_ID_INVALID","description":"Provided reply_to_msg_id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"PINNED_DIALOGS_TOO_MUCH","description":"Too many pinned dialogs"},{"code":400,"type":"REPLY_MARKUP_INVALID","description":"The provided reply markup is invalid"},{"code":400,"type":"SCHEDULE_BOT_NOT_ALLOWED","description":"Bots cannot schedule messages"},{"code":400,"type":"SCHEDULE_DATE_TOO_LATE","description":"You can't schedule a message this far in the future"},{"code":400,"type":"SCHEDULE_TOO_MUCH","description":"There are too many scheduled messages"},{"code":420,"type":"SLOWMODE_WAIT_X","description":"Slowmode is enabled in this chat: you must wait for the specified number of seconds before sending another message to the chat."},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"USER_IS_BLOCKED","description":"You were blocked by this user"},{"code":400,"type":"USER_IS_BOT","description":"Bots can't send messages to other bots"},{"code":400,"type":"YOU_BLOCKED_USER","description":"You blocked this user"}]},"messages.sendMultiMedia":{"name":"messages.sendMultiMedia","description":["Send an album or grouped media¹"],"links":["https://core.telegram.org/api/files#albums-grouped-media"],"parameters":{"background":{"description":"Send in background?","links":null},"clear_draft":{"description":"Whether to clear drafts¹","links":["https://core.telegram.org/api/drafts"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"multi_media":{"description":"The medias to send","links":null},"peer":{"description":"The destination chat","links":null},"reply_to_msg_id":{"description":"The message to reply to","links":null},"schedule_date":{"description":"Scheduled message date for scheduled messages","links":null},"silent":{"description":"Whether to send the album silently (no notification triggered)","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"MEDIA_EMPTY","description":"The provided media object is invalid"},{"code":400,"type":"MEDIA_INVALID","description":"Media invalid"},{"code":400,"type":"MULTI_MEDIA_TOO_LONG","description":"Too many media files for album"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"RANDOM_ID_EMPTY","description":"Random ID empty"}]},"messages.sendScheduledMessages":{"name":"messages.sendScheduledMessages","description":["Send scheduled messages right away"],"parameters":{"id":{"description":"Scheduled message IDs","links":null},"peer":{"description":"Peer","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"messages.sendScreenshotNotification":{"name":"messages.sendScreenshotNotification","description":["Notify the other user in a private chat that a screenshot of the chat was taken"],"parameters":{"peer":{"description":"Other user","links":null},"random_id":{"description":"Random ID to avoid message resending","links":null},"reply_to_msg_id":{"description":"ID of message that was screenshotted, can be 0","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.sendVote":{"name":"messages.sendVote","description":["Vote in a poll¹"],"links":["https://core.telegram.org/constructor/poll"],"parameters":{"msg_id":{"description":"The message ID of the poll","links":null},"options":{"description":"The options that were chosen","links":null},"peer":{"description":"The chat where the poll was sent","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"MESSAGE_POLL_CLOSED","description":"Poll closed"},{"code":400,"type":"OPTIONS_TOO_MUCH","description":"Too many options provided"},{"code":400,"type":"OPTION_INVALID","description":"Invalid option selected"},{"code":400,"type":"REVOTE_NOT_ALLOWED","description":"You cannot change your vote"}]},"messages.setBotCallbackAnswer":{"name":"messages.setBotCallbackAnswer","description":["Set the callback answer to a user button press (bots only)"],"parameters":{"alert":{"description":"Whether to show the message as a popup instead of a toast notification","links":null},"cache_time":{"description":"Cache validity","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"message":{"description":"Popup to show","links":null},"query_id":{"description":"Query ID","links":null},"url":{"description":"URL to open","links":null}},"errors":[{"code":400,"type":"QUERY_ID_INVALID","description":"The query ID is invalid"},{"code":400,"type":"URL_INVALID","description":"Invalid URL provided"}]},"messages.setBotPrecheckoutResults":{"name":"messages.setBotPrecheckoutResults","description":["Once the user has confirmed their payment and shipping details, the bot receives an updateBotPrecheckoutQuery¹ update.","Use this method to respond to such pre-checkout queries.","Note: Telegram must receive an answer within 10 seconds after the pre-checkout query was sent."],"links":["https://core.telegram.org/constructor/updateBotPrecheckoutQuery"],"parameters":{"error":{"description":"Required if the success isn't set. Error message in human readable form that explains the reason for failure to proceed with the checkout (e.g. \"Sorry, somebody just bought the last of our amazing black T-shirts while you were busy filling out your payment details. Please choose a different color or garment!\"). Telegram will display this message to the user.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"query_id":{"description":"Unique identifier for the query to be answered","links":null},"success":{"description":"Set this flag if everything is alright (goods are available, etc.) and the bot is ready to proceed with the order, otherwise do not set it, and set the error field, instead","links":null}},"errors":[{"code":400,"type":"ERROR_TEXT_EMPTY","description":"The provided error message is empty"}]},"messages.setBotShippingResults":{"name":"messages.setBotShippingResults","description":["If you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the bot will receive an updateBotShippingQuery¹ update. Use this method to reply to shipping queries."],"links":["https://core.telegram.org/constructor/updateBotShippingQuery"],"parameters":{"error":{"description":"Error message in human readable form that explains why it is impossible to complete the order (e.g. \"Sorry, delivery to your desired address is unavailable'). Telegram will display this message to the user.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"query_id":{"description":"Unique identifier for the query to be answered","links":null},"shipping_options":{"description":"A vector of available shipping options.","links":null}},"errors":[{"code":400,"type":"QUERY_ID_INVALID","description":"The query ID is invalid"}]},"messages.setEncryptedTyping":{"name":"messages.setEncryptedTyping","description":["Send typing event by the current user to a secret chat."],"parameters":{"peer":{"description":"Secret chat ID","links":null},"typing":{"description":"Typing.Possible values:(boolTrue)¹, if the user started typing and more than 5 seconds have passed since the last request(boolFalse)², if the user stopped typing","links":["https://core.telegram.org/constructor/boolTrue","https://core.telegram.org/constructor/boolFalse"]}},"errors":[{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"}]},"messages.setGameScore":{"name":"messages.setGameScore","description":["Use this method to set the score of the specified user in a game sent as a normal message (bots only)."],"parameters":{"edit_message":{"description":"Set this flag if the game message should be automatically edited to include the current scoreboard","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"force":{"description":"Set this flag if the high score is allowed to decrease. This can be useful when fixing mistakes or banning cheaters","links":null},"id":{"description":"Identifier of the sent message","links":null},"peer":{"description":"Unique identifier of target chat","links":null},"score":{"description":"New score","links":null},"user_id":{"description":"User identifier","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USER_BOT_REQUIRED","description":"This method can only be called by a bot"}]},"messages.setInlineBotResults":{"name":"messages.setInlineBotResults","description":["Answer an inline query, for bots only"],"parameters":{"cache_time":{"description":"The maximum amount of time in seconds that the result of the inline query may be cached on the server. Defaults to 300.","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"gallery":{"description":"Set this flag if the results are composed of media files","links":null},"next_offset":{"description":"Pass the offset that a client should send in the next query with the same text to receive more results. Pass an empty string if there are no more results or if you don‘t support pagination. Offset length can’t exceed 64 bytes.","links":null},"private":{"description":"Set this flag if results may be cached on the server side only for the user that sent the query. By default, results may be returned to any user who sends the same query","links":null},"query_id":{"description":"Unique identifier for the answered query","links":null},"results":{"description":"Vector of results for the inline query","links":null},"switch_pm":{"description":"If passed, clients will display a button with specified text that switches the user to a private chat with the bot and sends the bot a start message with a certain parameter.","links":null}},"errors":[{"code":400,"type":"ARTICLE_TITLE_EMPTY","description":"The title of the article is empty"},{"code":400,"type":"BUTTON_DATA_INVALID","description":"The data of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_TYPE_INVALID","description":"The type of one or more of the buttons you provided is invalid"},{"code":400,"type":"BUTTON_URL_INVALID","description":"Button URL invalid"},{"code":400,"type":"GIF_CONTENT_TYPE_INVALID","description":"GIF content-type invalid"},{"code":400,"type":"MESSAGE_EMPTY","description":"The provided message is empty"},{"code":400,"type":"MESSAGE_TOO_LONG","description":"The provided message is too long"},{"code":400,"type":"PHOTO_CONTENT_TYPE_INVALID","description":"Photo mime-type invalid"},{"code":400,"type":"PHOTO_CONTENT_URL_EMPTY","description":"Photo URL invalid"},{"code":400,"type":"PHOTO_INVALID","description":"Photo invalid"},{"code":400,"type":"PHOTO_THUMB_URL_EMPTY","description":"Photo thumbnail URL is empty"},{"code":400,"type":"QUERY_ID_INVALID","description":"The query ID is invalid"},{"code":400,"type":"REPLY_MARKUP_INVALID","description":"The provided reply markup is invalid"},{"code":400,"type":"RESULTS_TOO_MUCH","description":"Too many results were provided"},{"code":400,"type":"RESULT_ID_DUPLICATE","description":"You provided a duplicate result ID"},{"code":400,"type":"RESULT_TYPE_INVALID","description":"Result type invalid"},{"code":400,"type":"SEND_MESSAGE_MEDIA_INVALID","description":"Invalid media provided"},{"code":400,"type":"SEND_MESSAGE_TYPE_INVALID","description":"The message type is invalid"},{"code":400,"type":"START_PARAM_INVALID","description":"Start parameter invalid"},{"code":403,"type":"USER_BOT_INVALID","description":"This method can only be called by a bot"},{"code":400,"type":"WEBDOCUMENT_INVALID","description":"Invalid webdocument URL provided"},{"code":400,"type":"WEBDOCUMENT_MIME_INVALID","description":"Invalid webdocument mime type provided"},{"code":400,"type":"WEBDOCUMENT_SIZE_TOO_BIG","description":"Webdocument is too big!"}]},"messages.setInlineGameScore":{"name":"messages.setInlineGameScore","description":["Use this method to set the score of the specified user in a game sent as an inline message (bots only)."],"parameters":{"edit_message":{"description":"Set this flag if the game message should be automatically edited to include the current scoreboard","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"force":{"description":"Set this flag if the high score is allowed to decrease. This can be useful when fixing mistakes or banning cheaters","links":null},"id":{"description":"ID of the inline message","links":null},"score":{"description":"New score","links":null},"user_id":{"description":"User identifier","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"USER_BOT_REQUIRED","description":"This method can only be called by a bot"}]},"messages.setTyping":{"name":"messages.setTyping","description":["Sends a current user typing event (see SendMessageAction¹ for all event types) to a conversation partner or group."],"links":["https://core.telegram.org/type/SendMessageAction"],"parameters":{"action":{"description":"Type of actionParameter added in Layer 17¹.","links":["https://core.telegram.org/api/layers#layer-17"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"Target user or group","links":null},"top_msg_id":{"description":"Thread ID¹","links":["https://core.telegram.org/api/threads"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_ID_INVALID","description":"The provided chat id is invalid"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"USER_IS_BLOCKED","description":"You were blocked by this user"},{"code":400,"type":"USER_IS_BOT","description":"Bots can't send messages to other bots"}]},"messages.startBot":{"name":"messages.startBot","description":["Start a conversation with a bot using a deep linking parameter¹"],"links":["https://core.telegram.org/bots#deep-linking"],"parameters":{"bot":{"description":"The bot","links":null},"peer":{"description":"The chat where to start the bot, can be the bot's private chat or a group","links":null},"random_id":{"description":"Random ID to avoid resending the same message","links":null},"start_param":{"description":"Deep linking parameter¹","links":["https://core.telegram.org/bots#deep-linking"]}},"errors":[{"code":400,"type":"BOT_INVALID","description":"This is not a valid bot"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"START_PARAM_EMPTY","description":"The start parameter is empty"},{"code":400,"type":"START_PARAM_INVALID","description":"Start parameter invalid"},{"code":400,"type":"START_PARAM_TOO_LONG","description":"Start parameter is too long"}]},"messages.toggleDialogPin":{"name":"messages.toggleDialogPin","description":["Pin/unpin a dialog"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"The dialog to pin","links":null},"pinned":{"description":"Whether to pin or unpin the dialog","links":null}},"errors":[{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"messages.toggleStickerSets":{"name":"messages.toggleStickerSets","description":["Apply changes to multiple stickersets"],"parameters":{"archive":{"description":"Archive the specified stickersets","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"stickersets":{"description":"Stickersets to act upon","links":null},"unarchive":{"description":"Unarchive the specified stickersets","links":null},"uninstall":{"description":"Uninstall the specified stickersets","links":null}}},"messages.uninstallStickerSet":{"name":"messages.uninstallStickerSet","description":["Uninstall a stickerset"],"parameters":{"stickerset":{"description":"The stickerset to uninstall","links":null}},"errors":[{"code":400,"type":"STICKERSET_INVALID","description":"The provided sticker set is invalid"}]},"messages.unpinAllMessages":{"name":"messages.unpinAllMessages","description":["Unpin¹ all pinned messages"],"links":["https://core.telegram.org/api/pin"],"parameters":{"peer":{"description":"Chat where to unpin","links":null}}},"messages.updateDialogFilter":{"name":"messages.updateDialogFilter","description":["Update folder¹"],"links":["https://core.telegram.org/api/folders"],"parameters":{"filter":{"description":"Folder¹ info","links":["https://core.telegram.org/api/folders"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"Folder¹ ID","links":["https://core.telegram.org/api/folders"]}},"errors":[{"code":400,"type":"FILTER_ID_INVALID","description":"The specified filter ID is invalid"}]},"messages.updateDialogFiltersOrder":{"name":"messages.updateDialogFiltersOrder","description":["Reorder folders¹"],"links":["https://core.telegram.org/api/folders"],"parameters":{"order":{"description":"New folder¹ order","links":["https://core.telegram.org/api/folders"]}}},"messages.updatePinnedMessage":{"name":"messages.updatePinnedMessage","description":["Pin a message"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"id":{"description":"The message to pin or unpin","links":null},"peer":{"description":"The peer where to pin the message","links":null},"pm_oneside":{"description":"Whether the message should only be pinned on the local side of a one-to-one chat","links":null},"silent":{"description":"Pin the message silently, without triggering a notification","links":null},"unpin":{"description":"Whether the message should unpinned or pinned","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":400,"type":"CHAT_NOT_MODIFIED","description":"The pinned message wasn't modified"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"},{"code":400,"type":"PIN_RESTRICTED","description":"You can't pin messages"}]},"messages.uploadEncryptedFile":{"name":"messages.uploadEncryptedFile","description":["Upload encrypted file and associate it to a secret chat"],"parameters":{"file":{"description":"The file","links":null},"peer":{"description":"The secret chat to associate the file to","links":null}}},"messages.uploadMedia":{"name":"messages.uploadMedia","description":["Upload a file and associate it to a chat (without actually sending it to the chat)"],"parameters":{"media":{"description":"File uploaded in chunks as described in files »¹","links":["https://core.telegram.org/api/files"]},"peer":{"description":"The chat, can be an inputPeerEmpty¹ for bots","links":["https://core.telegram.org/constructor/inputPeerEmpty"]}},"errors":[{"code":400,"type":"BOT_MISSING","description":"This method can only be run by a bot"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"},{"code":403,"type":"CHAT_WRITE_FORBIDDEN","description":"You can't write in this chat"},{"code":400,"type":"FILE_PARTS_INVALID","description":"The number of file parts is invalid"},{"code":400,"type":"IMAGE_PROCESS_FAILED","description":"Failure while processing image"},{"code":400,"type":"INPUT_USER_DEACTIVATED","description":"The specified user was deleted"},{"code":400,"type":"MEDIA_INVALID","description":"Media invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"PHOTO_EXT_INVALID","description":"The extension of the photo is invalid"},{"code":400,"type":"PHOTO_SAVE_FILE_INVALID","description":"Internal issues, try again later"},{"code":400,"type":"USER_BANNED_IN_CHANNEL","description":"You're banned from sending messages in supergroups/channels"},{"code":400,"type":"WEBPAGE_CURL_FAILED","description":"Failure while fetching the webpage with cURL"}]},"payments.clearSavedInfo":{"name":"payments.clearSavedInfo","description":["Clear saved payment information"],"parameters":{"credentials":{"description":"Remove saved payment credentials","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"info":{"description":"Clear the last order settings saved by the user","links":null}}},"payments.getBankCardData":{"name":"payments.getBankCardData","description":["Get info about a credit card"],"parameters":{"number":{"description":"Credit card number","links":null}}},"payments.getPaymentForm":{"name":"payments.getPaymentForm","description":["Get a payment form"],"parameters":{"msg_id":{"description":"Message ID of payment form","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"payments.getPaymentReceipt":{"name":"payments.getPaymentReceipt","description":["Get payment receipt"],"parameters":{"msg_id":{"description":"Message ID of receipt","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"payments.getSavedInfo":{"name":"payments.getSavedInfo","description":["Get saved payment information"]},"payments.sendPaymentForm":{"name":"payments.sendPaymentForm","description":["Send compiled payment form"],"parameters":{"credentials":{"description":"Payment credentials","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"msg_id":{"description":"Message ID of form","links":null},"requested_info_id":{"description":"ID of saved and validated order info¹","links":["https://core.telegram.org/constructor/payments.validatedRequestedInfo"]},"shipping_option_id":{"description":"Chosen shipping option ID","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"payments.validateRequestedInfo":{"name":"payments.validateRequestedInfo","description":["Submit requested order information for validation"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"info":{"description":"Requested order information","links":null},"msg_id":{"description":"Message ID of payment form","links":null},"save":{"description":"Save order information to re-use it for future orders","links":null}},"errors":[{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"phone.acceptCall":{"name":"phone.acceptCall","description":["Accept incoming call"],"parameters":{"g_b":{"description":"Parameter for E2E encryption key exchange »¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"peer":{"description":"The call to accept","links":null},"protocol":{"description":"Phone call settings","links":null}},"errors":[{"code":400,"type":"CALL_ALREADY_ACCEPTED","description":"The call was already accepted"},{"code":400,"type":"CALL_ALREADY_DECLINED","description":"The call was already declined"},{"code":400,"type":"CALL_PEER_INVALID","description":"The provided call peer object is invalid"},{"code":400,"type":"CALL_PROTOCOL_FLAGS_INVALID","description":"Call protocol flags invalid"}]},"phone.confirmCall":{"name":"phone.confirmCall","description":["Complete phone call E2E encryption key exchange »¹"],"links":["https://core.telegram.org/api/end-to-end/voice-calls"],"parameters":{"g_a":{"description":"Parameter for E2E encryption key exchange »¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"key_fingerprint":{"description":"Key fingerprint","links":null},"peer":{"description":"The phone call","links":null},"protocol":{"description":"Phone call settings","links":null}},"errors":[{"code":400,"type":"CALL_ALREADY_DECLINED","description":"The call was already declined"},{"code":400,"type":"CALL_PEER_INVALID","description":"The provided call peer object is invalid"}]},"phone.discardCall":{"name":"phone.discardCall","description":["Refuse or end running call"],"parameters":{"connection_id":{"description":"Preferred libtgvoip relay ID","links":null},"duration":{"description":"Call duration","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"The phone call","links":null},"reason":{"description":"Why was the call discarded","links":null},"video":{"description":"Whether this is a video call","links":null}},"errors":[{"code":400,"type":"CALL_ALREADY_ACCEPTED","description":"The call was already accepted"},{"code":400,"type":"CALL_PEER_INVALID","description":"The provided call peer object is invalid"}]},"phone.getCallConfig":{"name":"phone.getCallConfig","description":["Get phone call configuration to be passed to libtgvoip's shared config"]},"phone.receivedCall":{"name":"phone.receivedCall","description":["Optional: notify the server that the user is currently busy in a call: this will automatically refuse all incoming phone calls until the current phone call is ended."],"parameters":{"peer":{"description":"The phone call we're currently in","links":null}},"errors":[{"code":400,"type":"CALL_ALREADY_DECLINED","description":"The call was already declined"},{"code":400,"type":"CALL_PEER_INVALID","description":"The provided call peer object is invalid"}]},"phone.requestCall":{"name":"phone.requestCall","description":["Start a telegram phone call"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"g_a_hash":{"description":"Parameter for E2E encryption key exchange »¹","links":["https://core.telegram.org/api/end-to-end/voice-calls"]},"protocol":{"description":"Phone call settings","links":null},"random_id":{"description":"Random ID to avoid resending the same object","links":null},"user_id":{"description":"Destination of the phone call","links":null},"video":{"description":"Whether to start a video call","links":null}},"errors":[{"code":400,"type":"CALL_PROTOCOL_FLAGS_INVALID","description":"Call protocol flags invalid"},{"code":400,"type":"PARTICIPANT_VERSION_OUTDATED","description":"The other participant does not use an up to date telegram client with support for calls"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"},{"code":403,"type":"USER_IS_BLOCKED","description":"You were blocked by this user"},{"code":403,"type":"USER_PRIVACY_RESTRICTED","description":"The user's privacy settings do not allow you to do this"}]},"phone.saveCallDebug":{"name":"phone.saveCallDebug","description":["Send phone call debug data to server"],"parameters":{"debug":{"description":"Debug statistics obtained from libtgvoip","links":null},"peer":{"description":"Phone call","links":null}},"errors":[{"code":400,"type":"CALL_PEER_INVALID","description":"The provided call peer object is invalid"},{"code":400,"type":"DATA_JSON_INVALID","description":"The provided JSON data is invalid"}]},"phone.sendSignalingData":{"name":"phone.sendSignalingData","description":["Send VoIP signaling data"],"parameters":{"data":{"description":"Signaling payload","links":null},"peer":{"description":"Phone call","links":null}}},"phone.setCallRating":{"name":"phone.setCallRating","description":["Rate a call"],"parameters":{"comment":{"description":"An additional comment","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"peer":{"description":"The call to rate","links":null},"rating":{"description":"Rating in 1-5 stars","links":null},"user_initiative":{"description":"Whether the user decided on their own initiative to rate the call","links":null}},"errors":[{"code":400,"type":"CALL_PEER_INVALID","description":"The provided call peer object is invalid"}]},"photos.deletePhotos":{"name":"photos.deletePhotos","description":["Deletes profile photos."],"parameters":{"id":{"description":"Input photos to delete","links":null}}},"photos.getUserPhotos":{"name":"photos.getUserPhotos","description":["Returns the list of user photos."],"parameters":{"limit":{"description":"Number of list elements to be returned","links":null},"max_id":{"description":"If a positive value was transferred, the method will return only photos with IDs less than the set one","links":null},"offset":{"description":"Number of list elements to be skipped","links":null},"user_id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"MAX_ID_INVALID","description":"The provided max ID is invalid"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"photos.updateProfilePhoto":{"name":"photos.updateProfilePhoto","description":["Installs a previously uploaded photo as a profile photo."],"parameters":{"id":{"description":"Input photo","links":null}},"errors":[{"code":400,"type":"FILE_PARTS_INVALID","description":"The number of file parts is invalid"},{"code":400,"type":"IMAGE_PROCESS_FAILED","description":"Failure while processing image"},{"code":400,"type":"LOCATION_INVALID","description":"The provided location is invalid"},{"code":400,"type":"PHOTO_CROP_SIZE_SMALL","description":"Photo is too small"},{"code":400,"type":"PHOTO_EXT_INVALID","description":"The extension of the photo is invalid"},{"code":400,"type":"PHOTO_ID_INVALID","description":"Photo ID invalid"}]},"photos.uploadProfilePhoto":{"name":"photos.uploadProfilePhoto","description":["Updates current user profile photo."],"parameters":{"file":{"description":"File saved in parts by means of upload.saveFilePart¹ method","links":["https://core.telegram.org/method/upload.saveFilePart"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"video":{"description":"Animated profile picture¹ video","links":["https://core.telegram.org/api/files#animated-profile-pictures"]},"video_start_ts":{"description":"Floating point UNIX timestamp in seconds, indicating the frame of the video that should be used as static preview.","links":null}},"errors":[{"code":400,"type":"FILE_PARTS_INVALID","description":"The number of file parts is invalid"},{"code":400,"type":"IMAGE_PROCESS_FAILED","description":"Failure while processing image"},{"code":400,"type":"PHOTO_CROP_FILE_MISSING","description":"Photo crop file missing"},{"code":400,"type":"PHOTO_CROP_SIZE_SMALL","description":"Photo is too small"},{"code":400,"type":"PHOTO_EXT_INVALID","description":"The extension of the photo is invalid"},{"code":400,"type":"PHOTO_FILE_MISSING","description":"Profile photo file missing"},{"code":400,"type":"VIDEO_FILE_INVALID","description":"The specified video file is invalid"}]},"stats.getBroadcastStats":{"name":"stats.getBroadcastStats","description":["Get channel statistics¹"],"links":["https://core.telegram.org/api/stats"],"parameters":{"channel":{"description":"The channel","links":null},"dark":{"description":"Whether to enable dark theme for graph colors","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}},"errors":[{"code":400,"type":"BROADCAST_REQUIRED","description":"This method can only be called on a channel, please use stats.getMegagroupStats for supergroups"},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"}]},"stats.getMegagroupStats":{"name":"stats.getMegagroupStats","description":["Get supergroup statistics¹"],"links":["https://core.telegram.org/api/stats"],"parameters":{"channel":{"description":"Supergroup ID¹","links":["https://core.telegram.org/api/channel"]},"dark":{"description":"Whether to enable dark theme for graph colors","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]}}},"stats.getMessagePublicForwards":{"name":"stats.getMessagePublicForwards","description":["Obtains a list of messages, indicating to which other public channels was a channel message forwarded.","Will return a list of messages¹ with peer_id equal to the public channel to which this message was forwarded."],"links":["https://core.telegram.org/constructor/message"],"parameters":{"channel":{"description":"Source channel","links":null},"limit":{"description":"Maximum number of results to return, see pagination¹","links":["https://core.telegram.org/api/offsets"]},"msg_id":{"description":"Source message ID","links":null},"offset_id":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_peer":{"description":"Offsets for pagination, for more info click here¹","links":["https://core.telegram.org/api/offsets"]},"offset_rate":{"description":"Initially 0, then set to the next_rate parameter of messages.messagesSlice¹","links":["https://core.telegram.org/constructor/messages.messagesSlice"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"MESSAGE_ID_INVALID","description":"The provided message id is invalid"}]},"stats.getMessageStats":{"name":"stats.getMessageStats","description":["Get message statistics¹"],"links":["https://core.telegram.org/api/stats"],"parameters":{"channel":{"description":"Channel ID","links":null},"dark":{"description":"Whether to enable dark theme for graph colors","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"msg_id":{"description":"Message ID","links":null}},"errors":[{"code":400,"type":"CHAT_ADMIN_REQUIRED","description":"You must be an admin in this chat to do this"}]},"stats.loadAsyncGraph":{"name":"stats.loadAsyncGraph","description":["Load channel statistics graph¹ asynchronously"],"links":["https://core.telegram.org/api/stats"],"parameters":{"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"token":{"description":"Graph token from statsGraphAsync¹ constructor","links":["https://core.telegram.org/constructor/statsGraphAsync"]},"x":{"description":"Zoom value, if required","links":null}},"errors":[{"code":400,"type":"GRAPH_INVALID_RELOAD","description":"Invalid graph token provided, please reload the stats and provide the updated token"},{"code":400,"type":"GRAPH_OUTDATED_RELOAD","description":"The graph is outdated, please get a new async token using stats.getBroadcastStats"}]},"stickers.addStickerToSet":{"name":"stickers.addStickerToSet","description":["Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot."],"parameters":{"sticker":{"description":"The sticker","links":null},"stickerset":{"description":"The stickerset","links":null}},"errors":[{"code":400,"type":"BOT_MISSING","description":"This method can only be run by a bot"},{"code":400,"type":"STICKERSET_INVALID","description":"The provided sticker set is invalid"}]},"stickers.changeStickerPosition":{"name":"stickers.changeStickerPosition","description":["Changes the absolute position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot"],"parameters":{"position":{"description":"The new position of the sticker, zero-based","links":null},"sticker":{"description":"The sticker","links":null}},"errors":[{"code":400,"type":"BOT_MISSING","description":"This method can only be run by a bot"},{"code":400,"type":"STICKER_INVALID","description":"The provided sticker is invalid"}]},"stickers.createStickerSet":{"name":"stickers.createStickerSet","description":["Create a stickerset, bots only."],"parameters":{"animated":{"description":"Whether this is an animated stickerset","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"masks":{"description":"Whether this is a mask stickerset","links":null},"short_name":{"description":"Sticker set name. Can contain only English letters, digits and underscores. Must end with \"by\" ( is case insensitive); 1-64 characters","links":null},"stickers":{"description":"Stickers","links":null},"thumb":{"description":"Thumbnail","links":null},"title":{"description":"Stickerset name, 1-64 chars","links":null},"user_id":{"description":"Stickerset owner","links":null}},"errors":[{"code":400,"type":"BOT_MISSING","description":"This method can only be run by a bot"},{"code":400,"type":"PACK_SHORT_NAME_INVALID","description":"Short pack name invalid"},{"code":400,"type":"PACK_SHORT_NAME_OCCUPIED","description":"A stickerpack with this name already exists"},{"code":400,"type":"PACK_TITLE_INVALID","description":"The stickerpack title is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"},{"code":400,"type":"SHORTNAME_OCCUPY_FAILED","description":"An internal error occurred"},{"code":400,"type":"STICKERS_EMPTY","description":"No sticker provided"},{"code":400,"type":"STICKER_EMOJI_INVALID","description":"Sticker emoji invalid"},{"code":400,"type":"STICKER_FILE_INVALID","description":"Sticker file invalid"},{"code":400,"type":"STICKER_PNG_DIMENSIONS","description":"Sticker png dimensions invalid"},{"code":400,"type":"STICKER_PNG_NOPNG","description":"One of the specified stickers is not a valid PNG file"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"stickers.removeStickerFromSet":{"name":"stickers.removeStickerFromSet","description":["Remove a sticker from the set where it belongs, bots only. The sticker set must have been created by the bot."],"parameters":{"sticker":{"description":"The sticker to remove","links":null}},"errors":[{"code":400,"type":"BOT_MISSING","description":"This method can only be run by a bot"},{"code":400,"type":"STICKER_INVALID","description":"The provided sticker is invalid"}]},"stickers.setStickerSetThumb":{"name":"stickers.setStickerSetThumb","description":["Set stickerset thumbnail"],"parameters":{"stickerset":{"description":"Stickerset","links":null},"thumb":{"description":"Thumbnail","links":null}},"errors":[{"code":400,"type":"STICKERSET_INVALID","description":"The provided sticker set is invalid"}]},"updates.getChannelDifference":{"name":"updates.getChannelDifference","description":["Returns the difference between the current state of updates of a certain channel and transmitted."],"parameters":{"channel":{"description":"The channel","links":null},"filter":{"description":"Messsage filter","links":null},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"force":{"description":"Set to true to skip some possibly unneeded updates and reduce server-side load","links":null},"limit":{"description":"How many updates to fetch, max 100000Ordinary (non-bot) users are supposed to pass 10-100","links":null},"pts":{"description":"Persistent timestamp (see updates¹)","links":["https://core.telegram.org/api/updates"]}},"errors":[{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":403,"type":"CHANNEL_PUBLIC_GROUP_NA","description":"channel/supergroup not available"},{"code":400,"type":"FROM_MESSAGE_BOT_DISABLED","description":"Bots can't use fromMessage min constructors"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"PERSISTENT_TIMESTAMP_EMPTY","description":"Persistent timestamp empty"},{"code":400,"type":"PERSISTENT_TIMESTAMP_INVALID","description":"Persistent timestamp invalid"},{"code":400,"type":"PINNED_DIALOGS_TOO_MUCH","description":"Too many pinned dialogs"},{"code":400,"type":"RANGES_INVALID","description":"Invalid range provided"}]},"updates.getDifference":{"name":"updates.getDifference","description":["Get new updates¹."],"links":["https://core.telegram.org/api/updates"],"parameters":{"date":{"description":"date, see updates¹.","links":["https://core.telegram.org/api/updates"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"pts":{"description":"PTS, see updates¹.","links":["https://core.telegram.org/api/updates"]},"pts_total_limit":{"description":"For fast updating: if provided and pts + pts_total_limit \u003c remote pts, updates.differenceTooLong¹ will be returned.Simply tells the server to not return the difference if it is bigger than pts_total_limitIf the remote pts is too big (\u003e ~4000000), this field will default to 1000000","links":["https://core.telegram.org/constructor/updates.differenceTooLong"]},"qts":{"description":"QTS, see updates¹.","links":["https://core.telegram.org/api/updates"]}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"CDN_METHOD_INVALID","description":"You can't call this method in a CDN DC"},{"code":400,"type":"DATE_EMPTY","description":"Date empty"},{"code":400,"type":"PERSISTENT_TIMESTAMP_EMPTY","description":"Persistent timestamp empty"},{"code":400,"type":"PERSISTENT_TIMESTAMP_INVALID","description":"Persistent timestamp invalid"}]},"updates.getState":{"name":"updates.getState","description":["Returns a current state of updates."]},"upload.getCdnFile":{"name":"upload.getCdnFile","description":["Download a CDN¹ file."],"links":["https://core.telegram.org/cdn"],"parameters":{"file_token":{"description":"File token","links":null},"limit":{"description":"Length of chunk to download","links":null},"offset":{"description":"Offset of chunk to download","links":null}}},"upload.getCdnFileHashes":{"name":"upload.getCdnFileHashes","description":["Get SHA256 hashes for verifying downloaded CDN¹ files"],"links":["https://core.telegram.org/cdn"],"parameters":{"file_token":{"description":"File","links":null},"offset":{"description":"Offset from which to start getting hashes","links":null}},"errors":[{"code":400,"type":"CDN_METHOD_INVALID","description":"You can't call this method in a CDN DC"},{"code":400,"type":"RSA_DECRYPT_FAILED","description":"Internal RSA decryption failed"}]},"upload.getFile":{"name":"upload.getFile","description":["Returns content of a whole file or its part."],"parameters":{"cdn_supported":{"description":"Whether the current client supports CDN downloads¹","links":["https://core.telegram.org/cdn"]},"flags":{"description":"Flags, see TL conditional fields¹","links":["https://core.telegram.org/mtproto/TL-combinators#conditional-fields"]},"limit":{"description":"Number of bytes to be returned","links":null},"location":{"description":"File location","links":null},"offset":{"description":"Number of bytes to be skipped","links":null},"precise":{"description":"Disable some checks on limit and offset values, useful for example to stream videos by keyframes","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"CHANNEL_INVALID","description":"The provided channel is invalid"},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":406,"type":"FILEREF_UPGRADE_NEEDED","description":"The client has to be updated in order to support file references"},{"code":400,"type":"FILE_ID_INVALID","description":"The provided file id is invalid"},{"code":400,"type":"FILE_REFERENCE_*","description":"The file reference expired, it must be refreshed"},{"code":400,"type":"FILE_REFERENCE_EXPIRED","description":"File reference expired, it must be refetched as described in https://core.telegram.org/api/file_reference"},{"code":400,"type":"LIMIT_INVALID","description":"The provided limit is invalid"},{"code":400,"type":"LOCATION_INVALID","description":"The provided location is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"OFFSET_INVALID","description":"The provided offset is invalid"},{"code":400,"type":"PEER_ID_INVALID","description":"The provided peer id is invalid"}]},"upload.getFileHashes":{"name":"upload.getFileHashes","description":["Get SHA256 hashes for verifying downloaded files"],"parameters":{"location":{"description":"File","links":null},"offset":{"description":"Offset from which to get file hashes","links":null}},"errors":[{"code":400,"type":"LOCATION_INVALID","description":"The provided location is invalid"}]},"upload.getWebfile":{"name":"upload.getWebfile","description":["Returns content of an HTTP file or a part, by proxying the request through telegram."],"parameters":{"limit":{"description":"Number of bytes to be returned","links":null},"location":{"description":"The file to download","links":null},"offset":{"description":"Number of bytes to be skipped","links":null}},"errors":[{"code":400,"type":"LOCATION_INVALID","description":"The provided location is invalid"}]},"upload.reuploadCdnFile":{"name":"upload.reuploadCdnFile","description":["Request a reupload of a certain file to a CDN DC¹."],"links":["https://core.telegram.org/cdn"],"parameters":{"file_token":{"description":"File token","links":null},"request_token":{"description":"Request token","links":null}},"errors":[{"code":400,"type":"RSA_DECRYPT_FAILED","description":"Internal RSA decryption failed"}]},"upload.saveBigFilePart":{"name":"upload.saveBigFilePart","description":["Saves a part of a large file (over 10Mb in size) to be later passed to one of the methods."],"parameters":{"bytes":{"description":"Binary data, part contents","links":null},"file_id":{"description":"Random file id, created by the client","links":null},"file_part":{"description":"Part sequence number","links":null},"file_total_parts":{"description":"Total number of parts","links":null}},"errors":[{"code":400,"type":"FILE_PARTS_INVALID","description":"The number of file parts is invalid"},{"code":400,"type":"FILE_PART_EMPTY","description":"The provided file part is empty"},{"code":400,"type":"FILE_PART_INVALID","description":"The file part number is invalid"},{"code":400,"type":"FILE_PART_SIZE_CHANGED","description":"Provided file part size has changed"},{"code":400,"type":"FILE_PART_SIZE_INVALID","description":"The provided file part size is invalid"},{"code":400,"type":"FILE_PART_TOO_BIG","description":"The uploaded file part is too big"}]},"upload.saveFilePart":{"name":"upload.saveFilePart","description":["Saves a part of file for futher sending to one of the methods."],"parameters":{"bytes":{"description":"Binary data, contend of a part","links":null},"file_id":{"description":"Random file identifier created by the client","links":null},"file_part":{"description":"Numerical order of a part","links":null}},"errors":[{"code":400,"type":"FILE_PART_EMPTY","description":"The provided file part is empty"},{"code":400,"type":"FILE_PART_INVALID","description":"The file part number is invalid"}]},"users.getFullUser":{"name":"users.getFullUser","description":["Returns extended user info by ID."],"parameters":{"id":{"description":"User ID","links":null}},"errors":[{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"},{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]},"users.getUsers":{"name":"users.getUsers","description":["Returns basic user info according to their identifiers."],"parameters":{"id":{"description":"List of user identifiers","links":null}},"errors":[{"code":401,"type":"AUTH_KEY_PERM_EMPTY","description":"The temporary auth key must be binded to the permanent auth key to use these methods."},{"code":400,"type":"CHANNEL_PRIVATE","description":"You haven't joined this channel/supergroup"},{"code":400,"type":"CONNECTION_NOT_INITED","description":"Connection not initialized"},{"code":400,"type":"INPUT_LAYER_INVALID","description":"The provided layer is invalid"},{"code":400,"type":"MSG_ID_INVALID","description":"Invalid message ID provided"}]},"users.setSecureValueErrors":{"name":"users.setSecureValueErrors","description":["Notify the user that the sent passport¹ data contains some errors The user will not be able to re-submit their Passport data to you until the errors are fixed (the contents of the field for which you returned the error must change).","Use this if the data submitted by the user doesn't satisfy the standards your service requires for any reason. For example, if a birthday date seems invalid, a submitted document is blurry, a scan shows evidence of tampering, etc. Supply some details in the error message to make sure the user knows how to correct the issues."],"links":["https://core.telegram.org/passport"],"parameters":{"errors":{"description":"Errors","links":null},"id":{"description":"The user","links":null}},"errors":[{"code":400,"type":"USER_ID_INVALID","description":"The provided user ID is invalid"}]}}} diff --git a/constructor.go b/constructor.go index bfa2aac..1761057 100644 --- a/constructor.go +++ b/constructor.go @@ -9,9 +9,10 @@ import ( // Constructor represents constructor documentation. type Constructor struct { - Name string `json:"name"` - Description []string `json:"description,omitempty"` - Fields map[string]string `json:"fields,omitempty"` + Name string `json:"name"` + Description []string `json:"description,omitempty"` + Links []string `json:"links,omitempty"` + Fields map[string]ParamDescription `json:"fields,omitempty"` } // ParseConstructor parses html documentation from reader and produces Constructor. @@ -20,9 +21,12 @@ func ParseConstructor(reader io.Reader) (*Constructor, error) { if err != nil { return nil, errors.Errorf("failed to parse document: %w", err) } + + desc, links := docDescription(doc) return &Constructor{ Name: docTitle(doc), - Description: docDescription(doc), + Description: desc, + Links: links, Fields: docParams(doc), }, nil } diff --git a/constructor_test.go b/constructor_test.go index 0bb3de3..b8d69aa 100644 --- a/constructor_test.go +++ b/constructor_test.go @@ -23,13 +23,28 @@ func TestConstructor(t *testing.T) { expected := &Constructor{ Name: "userProfilePhoto", Description: []string{"User profile photo."}, - Fields: map[string]string{ - "dc_id": "DC ID where the photo is stored", - "flags": "Flags, see TL conditional fields", - "has_video": "Whether an animated profile picture is available for this user", - "photo_big": "Location of the file, corresponding to the big profile photo thumbnail", - "photo_id": "Identifier of the respective photoParameter added in Layer 2", - "photo_small": "Location of the file, corresponding to the small profile photo thumbnail", + Fields: map[string]ParamDescription{ + "dc_id": { + Description: "DC ID where the photo is stored", + }, + "flags": { + Description: "Flags, see TL conditional fields¹", + Links: []string{"https://core.telegram.org/mtproto/TL-combinators#conditional-fields"}, + }, + "has_video": { + Description: "Whether an animated profile picture¹ is available for this user", + Links: []string{"https://core.telegram.org/api/files#animated-profile-pictures"}, + }, + "photo_big": { + Description: "Location of the file, corresponding to the big profile photo thumbnail", + }, + "photo_id": { + Description: "Identifier of the respective photoParameter added in Layer 2¹", + Links: []string{"https://core.telegram.org/api/layers#layer-2"}, + }, + "photo_small": { + Description: "Location of the file, corresponding to the small profile photo thumbnail", + }, }, } require.Equal(t, expected, v) diff --git a/getdoc.go b/getdoc.go index 62d4373..3dbc6ca 100644 --- a/getdoc.go +++ b/getdoc.go @@ -6,6 +6,8 @@ import ( "strings" "github.com/PuerkitoBio/goquery" + + "github.com/gotd/getdoc/href" ) // Doc represents full documentation description. @@ -23,25 +25,27 @@ func docTitle(doc *goquery.Document) string { } // docDescription extracts description lines from document. -func docDescription(doc *goquery.Document) []string { - var description []string +func docDescription(doc *goquery.Document) (desc, links []string) { doc.Find("#dev_page_content").Each(func(i int, s *goquery.Selection) { s.Children().EachWithBreak(func(i int, selection *goquery.Selection) bool { if selection.Is("p") && selection.Text() != "" { - // Trimming space and handling newlines. + hrefs := href.Replace(selection) + text := strings.TrimSpace(selection.Text()) for _, part := range strings.Split(text, "\n") { part = strings.TrimSpace(part) if part == "" { continue } - description = append(description, part) + desc = append(desc, part) } + + links = append(links, addHost(hrefs)...) } return !selection.HasClass("clearfix") }) }) - return description + return } // docTableAfter extracts table after selector "after". @@ -69,19 +73,30 @@ func docTableAfter(doc *goquery.Document, after string) *goquery.Selection { return table.First().Find("tbody > tr") } +type ParamDescription struct { + Description string `json:"description"` + Links []string `json:"links"` +} + // docParams extract parameters documentation from document. // -// Key is parameter name, value is documentation string. -func docParams(doc *goquery.Document) map[string]string { - fields := make(map[string]string) +// Key is parameter name, value is documentation struct. +func docParams(doc *goquery.Document) map[string]ParamDescription { + fields := make(map[string]ParamDescription) + docTableAfter(doc, "#parameters"). Each(func(i int, row *goquery.Selection) { var rowContents []string + var links []string row.Find("td").Each(func(i int, column *goquery.Selection) { - rowContents = append(rowContents, strings.TrimSpace(column.Text())) + links = addHost(href.Replace(column)) + rowContents = append(rowContents, column.Text()) }) if len(rowContents) == 3 { - fields[rowContents[0]] = rowContents[2] + fields[rowContents[0]] = ParamDescription{ + Description: rowContents[2], + Links: links, + } } }) return fields diff --git a/href/href_test.go b/href/href_test.go new file mode 100644 index 0000000..c82d71b --- /dev/null +++ b/href/href_test.go @@ -0,0 +1,36 @@ +package href + +import ( + "strings" + "testing" + + "github.com/PuerkitoBio/goquery" + "github.com/stretchr/testify/assert" +) + +func TestHref(t *testing.T) { + tests := []struct { + Input string + Text string + HREFs []string + }{ + { + Input: `
Hello! Click me!
`, + Text: `Hello! Click me!¹`, + HREFs: []string{"https://foo.com/bar"}, + }, + { + Input: `Hello! Click me again!
`, + Text: `Hello! Click me¹ again!`, + HREFs: []string{"/foo"}, + }, + } + + for _, test := range tests { + doc, err := goquery.NewDocumentFromReader(strings.NewReader(test.Input)) + assert.NoError(t, err) + hrefs := Replace(doc.Selection) + assert.Equal(t, test.Text, doc.Text()) + assert.Equal(t, hrefs, test.HREFs) + } +} diff --git a/href/replace.go b/href/replace.go new file mode 100644 index 0000000..f36e686 --- /dev/null +++ b/href/replace.go @@ -0,0 +1,54 @@ +package href + +import ( + "unicode" + + "github.com/PuerkitoBio/goquery" +) + +// Replace replaces all found HREFs with [index] symbol at end of node text. +// It returns slice of replaced HREFs. +func Replace(selection *goquery.Selection) (hrefs []string) { + replaceHrefsRecursively(selection, map[int]struct{}{}, &hrefs) + return hrefs +} + +func replaceHrefsRecursively(selection *goquery.Selection, accum map[int]struct{}, hrefs *[]string) { + if _, processed := accum[selection.Index()]; processed { + return + } + + if path, ok := selection.Attr("href"); ok { + accum[selection.Index()] = struct{}{} + + *hrefs = append(*hrefs, path) + + text, cut := cutRightSpaces(selection.Text()) + text += superscript(len(*hrefs)) + text += cut + + selection.SetText(text) + } + + selection.Find("*").Each(func(i int, s *goquery.Selection) { + replaceHrefsRecursively(s, accum, hrefs) + }) +} + +func cutRightSpaces(input string) (result, cut string) { + var ( + r = []rune(input) + c []rune + ) + + for i := len(r) - 1; i >= 0; i-- { + if unicode.IsSpace(r[i]) { + c = append(c, r[i]) + r = r[:i] + } else { + break + } + } + + return string(r), string(c) +} diff --git a/href/superscript.go b/href/superscript.go new file mode 100644 index 0000000..6959aef --- /dev/null +++ b/href/superscript.go @@ -0,0 +1,38 @@ +package href + +import "strconv" + +func superscript(i int) string { + var out []rune + for _, r := range strconv.Itoa(i) { + var superscript rune + switch r { + case '0': + superscript = '⁰' + case '1': + superscript = '¹' + case '2': + superscript = '²' + case '3': + superscript = '³' + case '4': + superscript = '⁴' + case '5': + superscript = '⁵' + case '6': + superscript = '⁶' + case '7': + superscript = '⁷' + case '8': + superscript = '⁸' + case '9': + superscript = '⁹' + default: + panic(r) + } + + out = append(out, superscript) + } + + return string(out) +} diff --git a/internal/bindata.go b/internal/bindata.go index aeb94b4..9685605 100644 --- a/internal/bindata.go +++ b/internal/bindata.go @@ -77,7 +77,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var __schema121Json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\xfd\x6b\x73\x1c\xb7\x96\x2e\x08\x7f\x3f\xbf\x22\x5f\xbe\x1f\x2c\x47\xd0\xf4\xa5\x4f\xef\x38\xa1\x8e\x89\x3e\x14\x29\xc9\x6c\x53\x52\x35\x8b\xb2\x7b\x62\xf6\x99\x0a\x54\x26\xaa\x0a\x9b\x99\x89\x34\x80\x24\x55\x7b\x62\xfe\xfb\x04\x16\x2e\x09\x24\x2e\x89\x22\xe5\xdd\xee\x99\x1d\xd1\x6d\xb1\xf0\x00\x09\x2c\xdc\x16\xd6\xf5\xff\xfa\x6f\x55\x75\x46\xfa\x06\x7f\x39\x7b\x5d\xc9\x3f\xaa\xea\xac\x45\x47\xcc\xce\x5e\x57\x3f\xfe\xf4\xe3\xb9\xfa\xa5\x46\x02\xef\x29\x23\x98\x9f\xbd\xae\xfe\x0f\xf8\xad\xd2\x68\x28\xef\x51\x87\xcf\x5e\x57\x67\x35\xed\xb9\x60\x63\x2d\x28\x3b\x3b\x9f\x8a\x1f\x51\x3b\x7a\x55\xe1\x57\x54\xd7\x74\xec\xc5\x05\x1a\xc5\x81\x32\xf2\x77\x24\x08\xed\xdf\x51\xd6\x39\x55\x53\x30\x9e\xc4\xd0\x6b\xfa\xd4\xb7\x14\x35\x6b\x2c\x04\xe9\xf7\x09\x64\x4d\x7b\x81\x7b\x91\x07\x0d\x88\xf3\x27\xca\x9a\x7c\xe9\x4d\x3f\x8c\x85\x0d\x2d\xa0\x18\x79\x44\xf5\xf1\x6e\x6c\x71\x02\xc1\x71\x2f\xde\x76\x88\xb4\x57\xb4\xc1\x71\x88\x40\x0f\x98\x8e\x22\x51\x78\xc0\x5d\xaa\x6d\x55\xf6\x91\x8a\x0f\xb4\x21\x3b\x82\x13\xa3\x16\xdd\xb0\xca\x92\xe5\x09\xb5\xed\x0a\x0d\x98\x25\xbe\x33\x95\x2f\x7e\xeb\x09\x6f\x2f\x97\x67\xfd\x1a\x1d\xf9\xfd\xfd\xed\xac\x6c\x14\x07\x7f\xc9\x2c\x95\xaf\xc9\xbe\xff\x3c\xdc\xe1\xdf\x47\xc2\x82\x0e\x49\x74\x4d\x1b\x7c\x7f\x1c\xf0\x15\x6a\xdb\x4c\xf1\xbb\x16\xf1\xc3\x02\x66\xdd\xcd\x87\x22\x4b\xf1\x97\x81\x32\x81\x9b\xcb\x85\x6e\xb7\x74\x4f\xfa\x7b\xfa\x80\xf3\x85\x1f\xc8\x9e\x21\x81\xef\x69\x16\xb5\x1e\xeb\x1a\xf3\x58\x77\xcc\xa2\xbd\xc3\x35\x7d\xc4\xec\x18\x81\xc8\xf5\x18\x59\x8a\x6e\x91\x1c\xee\xe5\x30\x2c\x20\x12\xf4\x72\x21\x39\xba\xba\xb8\x28\x6d\xd3\xe4\x5c\x38\x2f\xb6\xa8\x7f\xb8\x42\xac\xf9\x34\xe0\xfe\x33\x6b\xe7\x85\x1c\xdf\xcb\x6d\x73\xc9\x6a\x41\xea\x44\xe1\x55\x8b\x38\x4f\x96\x5e\xa3\x63\xa2\xe4\x23\xd9\x1f\x44\xa2\xec\x9e\xf4\x62\xbe\x48\xb7\x94\xb6\xef\x50\xcb\x71\xf8\xf3\x3d\x1b\x83\x5f\xc5\x15\xed\x3a\xd4\x07\x8d\x88\x9b\x7e\x47\x23\x3f\xb6\xa4\xc7\x1f\x70\x43\xd0\x1d\xe6\x63\x3b\xef\xd8\x84\xe0\x1c\xed\x15\xf0\x72\x14\xe9\x86\x26\xd8\x15\xed\x05\xaa\x4b\x1a\x7c\x8f\x4b\xda\xfb\x15\xf7\x91\xd1\x7a\xb8\x7b\xfc\x25\xf5\xbd\xd8\xe8\xea\xa6\xbf\xa2\xfd\x8e\xec\x83\x9f\x57\xe3\xb6\x25\xf5\x2f\x78\x36\x87\xf5\x01\xf5\x3d\x6e\xa3\x3f\x5e\x36\x1d\xe9\x6f\xe9\xfe\xed\x23\xee\xe7\xdf\x89\x20\x2e\x6b\xb9\x6c\xaf\x0e\xa8\xdf\xe3\xcb\x6d\x70\xb2\x2f\x55\xb9\x25\xfd\x03\x6e\xae\x0e\xe8\xd4\x7a\xb4\x8e\xec\x97\xa5\x5a\xab\x03\x9d\x4f\xf9\x52\x95\xb5\x20\xf5\x03\x66\x6b\x7c\x62\x07\xef\x89\x68\xf1\x69\x55\x3e\x73\xcc\x80\x53\x29\xac\x75\x8d\x77\x68\x6c\xc5\x1b\x59\xde\xdc\xc9\xdd\xc8\xcb\xab\xb6\x58\x98\xd5\x56\x5a\xe9\x6d\x43\xc4\x89\x55\x56\x88\x09\x52\x93\x01\xf5\xe2\xa6\x7f\x24\xe2\x39\x15\xff\x8d\x92\xe2\x69\x76\xaa\xdd\x62\xf4\xf8\x9c\xcf\xdd\xd3\xfd\xbe\xc5\x80\x79\x76\xed\x37\xa8\xb8\xee\x5a\xd0\x61\x45\xe7\xb7\x46\x1a\xaf\x3e\xa0\x88\x59\x3c\xdd\xaa\xd2\x8a\xe1\x9f\x09\x17\x94\x1d\x7f\x26\x4d\x33\xbf\x9d\x97\x6a\x4b\xfe\x03\x89\x91\x9d\xfa\xd5\x75\x4b\x9f\x3e\x04\x77\x70\xba\xd6\xe7\xa1\x41\x02\xaf\x88\x5c\xd4\xcb\x75\xf8\x3b\xd2\x0a\xcc\xa2\xc0\x77\x94\x6d\xd3\x03\x7d\x37\x26\x88\x9e\x3d\x5a\x4c\xe1\xdb\x6e\x10\xf1\x43\x55\xef\x90\x5c\xc7\x7c\x48\xba\x29\x67\x5d\x2d\x95\xa7\xd7\xab\x03\x52\x27\xc5\x12\xea\x8a\x61\xe4\x3f\x90\xa2\xb0\x5b\xbc\x5b\xec\xd5\x1a\xb7\xbb\x25\x0c\x87\xae\xc7\x17\x95\x0b\x2b\xeb\x3c\x7f\x43\x13\xa7\xa0\x0b\xd2\x57\xfa\x32\xf0\x17\x79\xf8\x2f\x7f\xf4\x03\xee\x23\xfc\x7f\x04\x78\x87\xeb\xd4\xad\xea\xc2\xd6\x18\xb1\xfa\x10\x85\xf1\x0b\xa4\xd7\xbf\xe2\x04\xe2\xdf\xe4\x17\x85\x4b\x28\x06\x2c\x6f\x32\xfd\x44\xaa\x63\x37\xba\x5a\xa5\x89\x9b\x2a\x7f\x8f\x89\xf8\x2e\x11\xe9\x3d\x2e\xa2\x1b\x3c\x75\x0d\xe9\xdf\x2f\x5b\x86\x51\x13\xf9\x8e\x2a\x4e\x74\x42\x17\xea\xe7\x51\xaa\x7c\x85\xf1\x43\x58\xf6\x09\xb8\xba\xc8\x80\x73\x33\x27\x16\x77\xbe\x28\xd8\xd0\x22\x3b\xe7\x5e\x69\x86\xcc\x71\x9e\x4a\xfd\x1c\xa3\x17\x6d\x70\xfc\x29\x53\xc7\x58\xd8\x18\xef\xad\x7f\x5c\x0b\x24\xc6\xb0\x0d\xd8\xd8\x17\xdb\x96\x46\x76\xee\xac\x74\xdd\x92\x7a\xbe\x14\x0c\xa4\x8e\x1f\x11\xf3\xe2\xf4\x06\x30\xc8\x1d\x1d\xe7\x8f\x18\x5b\x46\x3a\xb5\x64\x12\xe7\x91\x81\x31\xcc\x69\xfb\x88\x9b\x15\x0e\x2e\x14\x03\x91\x5c\x04\x0e\x64\x1a\x41\xf1\x35\xe1\x68\xdb\x26\xfb\x6a\x60\xc9\x51\x35\x48\xa0\x7f\x5b\x7f\xfa\x38\xfb\xb5\xfe\x34\x84\x37\x66\x43\x50\x4b\xf7\xb1\xdf\x62\x57\xa3\x5b\xb2\x1e\xf7\x7b\xcc\x83\xad\xa4\x21\xb4\x6d\xe2\x95\x43\xf2\x4c\xbf\x47\x6b\xd1\x7a\xec\x82\xe3\xd8\xfc\x7a\x29\x04\x23\xdb\x51\xe0\xcb\x9e\x74\x28\xec\x4c\x00\x1b\x1b\x42\x17\x30\xef\x48\x8b\x43\x0e\x3f\x80\xfd\x8c\xb8\x7e\x76\xf0\x05\xe4\x4d\x87\xf6\x78\x4d\xfe\xbe\xd4\xa2\x6e\x6e\x01\xf5\x2b\x69\xe6\x2f\x58\x83\x89\xec\xe4\x86\xa1\x5d\xfc\x3d\xe0\x96\x44\x2a\xe2\x8e\xfe\x8d\xfc\x82\x8f\xa1\x8c\xce\x2d\x51\x4f\x94\x0c\x80\x5f\x93\xdd\x0e\x33\xdc\xcf\xf7\x30\x80\x6e\x51\xbf\x1f\x83\x9e\x41\xd1\xe7\xbb\x99\x30\x0e\xf7\x35\x3b\x0e\x22\xf6\x0e\xf5\x8a\xae\x09\xaf\x11\x6b\x82\x4e\xb9\x98\xd8\x78\xdd\xf2\x3b\xfc\xfb\x18\x59\xdb\x1e\xe6\x37\x44\xe4\xf9\x98\x40\xc8\x45\x94\x29\xca\x75\x20\x3a\x5b\xf3\xd2\x35\x66\x8f\xc1\xb9\x88\x19\x9b\xdf\x20\x46\x1c\xa8\xab\xc9\x97\xbc\x0f\xd8\x91\x56\x2e\xe5\x43\xf8\xab\xe1\xa2\xef\xe9\x1b\x7c\x8d\x07\x86\xeb\x70\x83\xed\x22\x3b\x56\xfd\x16\xee\xf3\x7d\xb0\xa7\xf6\x98\xae\x28\x99\xef\x6d\xf3\x6b\x84\x46\xfb\x96\x6e\x51\xbb\x52\x22\xee\xf8\x05\x75\xc0\xed\x70\x81\x86\x41\xbd\x50\x22\x65\x20\xee\x65\x04\xf3\x5b\xc2\xc5\x52\x79\xf2\x8c\x75\xa0\xc7\x74\x49\x28\xd6\x84\xd2\x06\xe3\x41\xce\x44\x28\x24\x0b\x8a\x23\x44\x00\x0c\x01\x6e\x25\x14\x41\x41\x61\x4f\x2f\x33\x04\x18\x10\xe7\x72\x51\xc4\xa4\x51\x11\x40\x9e\x04\x03\xa3\x1d\xbd\x46\x02\xe5\xca\x52\x83\x60\xc0\x68\x7f\xc0\x9f\x59\x1b\x9b\x45\x3e\x0e\xb2\x1b\xe9\x92\x8f\xc1\x8a\x82\x52\x81\x59\xc7\x3f\xed\xa2\x5b\x24\x02\x48\x12\x2a\x06\x4b\x0d\x65\xe4\x98\x25\xa6\xd3\x14\xc5\xaa\x92\xfd\x61\x5d\x53\x36\xfb\xfa\x8c\xe3\x98\x15\x02\x2f\xfa\x86\x8a\xf5\x13\x11\xf5\x61\xf5\x61\x5e\x3c\x8c\xe2\x72\x18\x22\x92\x41\x28\x7a\x33\x93\x62\xbe\x0f\x68\x18\x85\xdd\x5c\x17\x80\x12\x02\xdb\x34\x36\x31\xc0\x14\x3c\x10\xdd\xa6\xa1\x11\xf9\x6d\x14\x1c\xee\x20\x1f\x16\x93\xe4\xc6\x10\xd7\x51\x36\x25\x86\x5c\x22\xb8\x42\x45\x18\x76\x80\x5d\xc5\x84\xc2\x6e\x49\x64\x95\xb9\xc5\xef\x18\xed\xa2\x17\x8c\x01\xe5\xbe\x9c\x7c\x2f\x58\xc0\xe7\xa1\xa5\xa8\xc1\x4d\xba\x11\x5c\x3f\x18\xd5\x5f\xba\x21\x07\xb4\xbe\x5b\xc5\x20\x2d\xc1\xbd\x58\x31\xfa\x25\xd6\xc0\x75\x82\xd3\x9c\x15\xc6\xd8\x4d\x05\x49\x4f\xe6\x75\x9a\xd5\xf2\xca\xdf\x39\x17\x68\x04\xf6\x36\xcd\xcc\xf8\xe5\x21\x1f\x11\x96\xbf\x21\x7b\x43\xf7\x25\x68\xaa\xdb\x1e\xa8\xa4\xdf\x12\x97\xf9\x68\xa2\xdb\xba\xb7\x89\x92\xcc\x77\xdf\x25\x78\x0a\x28\x94\x3b\x2a\x7a\x3e\xc9\x82\xf5\x21\x7a\x51\xa8\xf2\x28\xff\xe1\x15\xa5\x08\xf6\x0b\x3e\x6e\x29\x62\xcd\x9b\x51\x08\xda\x7f\x66\xed\xe5\x28\x0e\x11\xdc\xc2\x31\x07\xc5\xd7\xc1\x2d\xe5\x94\xa5\x97\xa2\x57\xfe\xf6\x8b\xc0\xac\x47\xb1\x83\x01\x70\xa9\x71\xa8\x73\x35\x4e\x1e\x73\xe6\xde\x92\xb9\x8c\xde\x2b\x4e\x91\x10\xca\x6f\xfa\x47\x9a\x19\x5e\xea\x9c\x98\x0a\x97\x06\x16\x8a\xe5\xa7\x32\xb3\x40\x97\x88\xb8\x74\x6a\x65\x6f\x14\x7d\x9a\x5e\xa1\xb6\xdd\xa2\xfa\xe1\xdf\xc7\x40\xcb\xed\xc2\xde\xf6\x82\x88\xa3\x16\x45\x26\x96\x65\xee\xca\xd5\x65\x31\xc9\xbb\x5b\x7e\x87\x87\xf6\x38\x57\xda\xbb\x00\x2d\xd6\xb6\x87\x3a\x5f\x86\x46\xc5\x1f\x11\x60\x96\xda\x0b\x32\xf5\x08\x2a\x7e\xe9\xcf\x30\x64\xb7\x88\xf9\x30\x06\xfa\xf3\x18\xea\x18\x17\x13\x47\xa0\xab\x03\xed\x61\xda\x8b\xa0\x82\x46\x1e\xee\x29\x68\x41\x8b\x0b\x0b\x40\xc3\xee\xe8\xd8\x37\x65\x1f\x56\xd0\xe4\x66\x75\xa1\x81\x0d\x43\x04\x53\xf6\xd1\xd4\xf7\x3e\x52\x41\x76\xc7\x37\x8c\xa2\xa6\x46\x3c\xba\xe8\x14\x44\x2e\xe0\x74\x69\xe2\xc2\x50\x85\x9f\x79\x20\xba\x81\xd2\x15\x3a\xca\xe5\x7b\xc5\x70\x23\x97\x02\x8a\xce\x6f\x08\xba\xec\x1b\x46\x49\xb3\x9a\x9b\x62\xa4\xe0\xc3\xd0\xe2\x52\xf0\x1a\x3d\x46\x27\x5b\x8e\x2f\xcd\x11\x3a\xa5\x79\xb6\x4f\x03\x63\x3b\x56\x16\xa5\xf6\xa9\x2c\x53\xa4\x8c\x3f\xc5\x2d\x08\xd6\xf4\xc2\x0d\x2f\x71\xa1\x26\xca\x16\xc9\xc9\xca\x14\x2d\x8c\xcf\xec\xd4\x64\x59\xf2\x82\x4e\x5d\x09\x59\x4e\xb8\x68\xbc\x12\x73\x8b\xf7\xa8\x3e\x2e\x21\x95\xb8\xe3\x17\x7c\xbc\x6c\x1a\xdc\xbc\x39\x42\x97\xb3\xc0\xab\x84\x0e\x65\x06\x7b\x47\xd9\x13\x62\x4d\x74\xda\x2c\x28\x4b\x3c\x1f\xf5\x71\xec\xb6\xf1\x69\xf2\x71\xab\x9f\x62\x3c\xbd\x03\x62\x74\x47\xda\x98\x21\xc8\x0c\xa8\xb4\x0b\xf7\xa4\xc3\x5c\xa0\x6e\x48\x63\x7f\x45\xed\x88\x2f\xdb\x96\x3e\x5d\xe6\x06\x32\xc1\xae\xb2\x9a\x97\x44\x9d\xf4\x0d\x19\x60\x93\x87\x8f\x03\xbc\x26\x1c\x95\x75\xd9\x20\x4f\xec\xb5\xad\x56\xd6\x71\x03\x4f\xf5\xfd\x0e\x0f\x94\x89\x3b\x8c\x38\xed\xaf\x0e\xa4\x6d\x2e\xb7\xe3\xdc\x90\x2c\x04\xd2\xe1\xc8\x42\x23\xb5\x00\xf7\x1e\xd3\x1b\xc6\x70\x8b\x1f\x03\x5d\x5b\x80\xfd\x24\x0e\xd1\x65\xe8\x62\x56\x94\xf5\x74\xcf\xd0\x70\x88\xed\x60\x17\xb9\x1e\x50\xb7\x00\xf9\x95\xd0\x36\x14\x71\x13\x65\xd3\x5b\x8f\x0c\x27\xde\x43\x53\x61\x66\xff\x4f\xa0\xcc\x83\x4b\x81\x60\x9a\x62\xa5\xa4\xdf\xb7\x4a\x30\x12\x2b\xb5\xd6\x53\x46\x8b\xf2\xb6\xa3\x7f\x23\x59\x64\xe2\xcd\x32\x01\x52\x67\xe3\x84\x88\xf2\xb7\x4e\xb1\xc0\x31\xb2\x4f\x80\xdc\xcb\x6e\x42\xdd\x1f\xc6\x6e\x9b\x46\xe0\x66\xe9\x99\xe5\x03\x53\x67\xd2\xbd\xb2\x98\x5e\x98\x4a\x30\xbb\x4c\xfd\x9e\xb9\x44\x55\x79\x3b\xc6\x5e\xce\x89\x9b\x51\xfe\x9c\x9a\x83\xe5\x1b\x53\x22\x12\xb7\xf1\x6f\xc6\xf4\x3a\x57\xf6\x91\x26\x56\xbc\x45\x24\x46\xf3\x1b\xde\x66\xe6\xe2\x37\xbc\x95\xed\x9a\x47\x67\x86\xd2\x1a\x99\x42\x44\x1e\xa5\x7f\xe3\xb4\xbf\x64\x6c\xce\x91\xc9\x9f\xdf\x50\xda\x86\xbf\x7e\x0c\x4c\x17\xd4\xaf\xe1\x1d\x28\x7f\xff\xb4\xfd\x1b\x9e\x73\x18\xd3\xef\x91\x8d\x2b\x0b\xd7\x82\x05\x2a\xa6\x07\x4f\xf2\x90\x2b\x7b\x33\x1e\x73\xc5\xe6\xc5\x9a\xc3\x84\x92\x01\xbf\x5c\x2b\xca\xde\x63\x1a\xa7\x74\x14\x1d\xe1\x5f\xe2\xb8\xe0\x69\x3f\x83\xd1\xa7\x5c\xb1\x92\x8f\x2b\xa1\x6a\x0e\x17\xbc\x66\x82\xe2\x50\xb6\xd3\xa2\x2d\x6e\x71\xb3\x62\xc1\x32\x6a\x51\xbf\x5f\xa1\xfa\x21\xa5\xf7\x34\xe5\x71\xd5\xa7\x29\x8d\x4d\xbc\x5f\x16\xd5\xbc\xfa\x90\x55\x3b\x32\xd4\x92\xbf\xcf\x51\x1d\xe2\x0f\x57\x94\x06\x8c\x5f\x17\x3b\x0e\xf4\x8f\xca\xec\xef\x0d\x15\xc0\xbd\x04\x2d\xba\x20\xfd\xe4\x00\x83\x96\x5c\x63\x1a\xa7\x3d\x0c\xe4\x79\x94\x07\x8b\xcb\xa6\x09\x0f\xbb\x00\x55\xf2\x5d\xa1\xa8\x17\x39\xcc\x13\xc8\x82\xef\xbe\x6d\x48\xec\xb5\x10\xc5\x45\xec\x8e\x03\xdc\xbf\x51\xd2\x4b\x6e\x3f\x54\xd9\x06\xd0\x84\x93\x86\x8f\xd3\xf6\x38\xe0\xa0\x92\xc3\x8d\x5c\xd0\x4e\xfd\x3b\x03\x8b\x5c\x2d\x5e\x39\x88\x5e\x43\xcd\x96\x8f\xc1\x74\xc5\xe8\x17\xd2\x11\x71\xbc\xc3\xa8\x3e\x64\x97\x95\xb6\x8a\xbd\x6a\x31\xca\x4d\x85\x7e\x3c\xaf\x83\x0b\x24\x85\xfa\x90\xeb\x62\xe2\xf1\xe3\x63\x48\x1f\xbd\x48\x3d\xd0\xba\x66\x18\xf7\xfc\x40\x81\x53\xc8\x51\xd6\xe1\xe4\xf8\xc2\x28\xe6\xd0\xc4\x50\xd2\x73\xa5\xa4\x91\x6f\xb4\x7b\x4a\x0e\xd2\xd2\xfa\xe1\xf7\x91\x26\x36\x96\x06\xd1\x36\xdb\x46\xc2\x5b\xc4\x03\x5d\x21\x7e\x10\x68\x9f\x43\x04\x3a\x75\xaf\x18\x3c\xdb\x32\xe5\x3f\x2f\x7e\xe0\x46\xa0\x76\x2e\x29\xec\x22\xd2\xdb\x65\x44\xc8\x9c\x7a\xa8\xc8\x3d\xe8\x97\x27\x76\x8f\x2a\x95\x67\xfc\x43\x0e\x70\x8f\xbf\x88\xe0\x6e\xf3\x10\x9f\xfb\x06\xb3\xf0\x7a\x9c\x61\x1e\x7a\xfa\x94\x1b\x6c\xea\x1b\xef\x9e\x9a\x9f\x31\x0a\x34\x6c\xba\xf4\xa6\x17\x98\x21\x7d\x34\x8d\xf2\x8f\xf8\x6d\x94\x56\xa0\xb8\x80\xf0\x39\xe2\x95\x46\x39\x4a\x17\x91\xde\x22\x09\x05\x49\x97\x53\x4b\xcf\x0a\x43\xfd\x89\x0b\x88\x6a\x48\x5c\x40\xfa\x52\x49\x28\x40\xdc\xd2\xcf\xbd\xb6\x95\x48\x9c\xad\x29\xd5\x86\x5b\xfc\x1b\xde\xae\x52\xa7\xdb\x1d\xea\x53\x25\x78\x68\xc9\xdc\x66\xd6\x29\x3b\x66\x16\x47\xd4\x74\x43\x97\xc9\xab\xf8\xd7\xd4\x41\x64\x0a\xc1\x9d\x36\x66\xef\x38\xc3\x7d\x18\x5b\x41\x86\xc4\x5d\xfc\x2b\xc1\x4f\xf1\xfe\xf3\x0b\xb4\xdb\xe1\x5a\xe0\x46\xdf\x4a\x0b\x28\x23\xf4\x4e\xc1\xda\x36\x6e\x4a\x18\x43\x24\xed\x71\x26\x30\xab\x0f\xe4\x11\x37\x0b\x6d\x6e\xa9\x30\x4f\x80\xcb\x9e\x3f\x25\xa6\x02\x70\x51\x2b\x76\x0b\x98\x39\x4c\xa4\x51\x11\x6b\x6f\xaf\x38\x57\x95\x47\xec\x80\x2d\xa0\x39\xc4\x8c\x99\x82\xe2\x65\xd2\x29\x5b\xd4\x54\x3f\x74\x69\x71\x33\xd9\x2e\x13\x5e\x8f\x9c\x13\x9a\x65\x1e\xf8\xc5\x0e\x2d\xcf\xa4\x87\x59\xee\xdd\x0e\x83\x8b\xd0\x62\xab\x33\x58\x41\xc3\x74\xec\x9b\x49\xf4\x92\x6c\x78\x06\x5b\x6e\xd8\xda\x49\xa5\x9a\x24\xbd\xbc\x4a\x1e\x71\x44\x1d\x64\x31\xe6\xd2\x6a\x88\x08\x0d\xd6\xe6\xa8\xdc\xde\xef\xf2\x0b\xdd\xfc\x63\x79\x58\xe6\x1f\xb9\x75\x32\x60\xcc\xae\xb3\xab\x52\x59\xd1\x2d\x4c\xa6\x0f\x5a\xee\x1a\x97\x4b\xea\x3d\xd9\xa5\xda\xb3\xe5\x05\x4d\x81\x9f\x8c\xbe\xe4\x93\x98\x3e\x67\xf3\x12\xc7\xe5\x37\x0e\x4f\xf8\x84\x46\x00\x37\x3d\x17\xa8\x6d\xd5\x29\x77\xa9\x4e\xcf\xd3\x2a\x45\x1d\xe0\xe7\x95\x96\x8a\x97\x49\xf9\x48\x45\xcc\x6e\xb5\xc7\x88\x61\x2e\xae\x67\x4c\x6b\x9f\x55\xa2\xf6\x29\xfd\x69\x9f\x50\x9d\xf6\x29\xad\x69\x1f\x9c\xea\x43\x30\x2d\xf2\x17\x78\x44\x5c\xf6\xf5\x61\x6e\xa4\x3c\x15\x86\xe6\xf9\x4e\x99\x38\x50\x76\x1d\xbc\xed\x2d\x20\xf5\x46\xb1\x80\xa8\xa6\x74\x2a\xa5\x6d\x9b\xee\xf6\x15\x7d\x9c\xd3\xc3\x96\x5d\x63\x81\xc8\x5c\x4b\x3c\x95\x92\x47\x12\xf0\x39\xb6\xf4\x6d\xb7\x9d\xcf\xb6\x5f\xb6\xa2\xf3\xd9\xb6\xe5\xef\x28\x0d\x76\x94\x2d\x8c\x71\x57\xb6\xf0\x97\x88\xa3\x81\x2d\x0c\xd7\x97\x2d\xfa\x80\x86\x44\xc9\x27\xd6\x60\x86\x9b\x4c\xdd\x15\x62\x08\xf4\x2d\xa9\xf2\x90\xcd\x9d\xca\x18\xde\x51\xd6\x21\x11\xb0\xb1\x13\x64\x6c\xdb\xdc\xe4\xdf\xe1\x16\x09\xdc\x5c\x32\x41\xea\x20\x34\x8a\x45\xad\x5b\xd2\x60\x7e\x98\x0b\x16\xa7\xf2\x71\x7b\xc8\x11\x76\x3d\x6e\x45\x28\xdb\xb1\xc5\xf7\x68\x9b\x2e\xcb\xd4\x4b\x72\xf1\x16\x11\x31\xb7\x18\xc0\x2a\x29\xc2\x03\x0f\xe0\x08\xc0\x41\xc3\x02\x95\x23\xd4\x30\xe5\xa1\x7d\xac\x29\xd5\x33\xbe\xd4\x88\x03\x8b\xb7\xe5\x4f\x4c\x58\x0e\x34\xbb\xc2\xb1\x23\x06\x8a\x02\x29\xb0\x09\x39\xf2\x4b\xb3\xbb\x6c\xf7\x74\xfd\xf3\xe5\x4f\xff\xfc\x17\xf5\xff\x57\x6f\x7e\xb9\x7e\xf7\xd3\xcf\x1f\x2e\xaf\xd6\x3f\x5f\xfe\xf3\x8f\x3f\x11\x81\xd9\x8f\x3f\xc8\xff\xa9\xf2\x0f\xb4\x59\x2d\x34\x17\x7d\x0f\x0f\xda\x62\xe3\x80\x58\x78\x82\x40\x91\xf5\x28\x09\x8d\xc4\x35\x02\x6c\x3c\x1c\x9b\x8f\x50\x22\xa3\x81\xfc\xc2\xc4\x13\x09\xd9\x18\x0b\xd1\xff\x08\x23\x21\xcd\x11\x77\xb8\xc6\x64\x08\xe6\x65\x0e\x0a\xad\xa0\xe7\x98\x5f\x31\x23\x3b\xa2\x94\x00\x1f\x31\x0e\xd4\x94\x16\x0f\xac\x43\x92\x0c\xfc\xe2\x11\xb5\xa4\x91\x4b\x22\x47\x33\x8c\xd9\x9b\x98\xf7\xe0\x90\xb2\x88\x19\xa2\x36\x2e\xf2\x57\xd0\x5c\xc4\xda\xc9\xd9\xb6\x0c\xda\x5c\x25\x59\x39\x5d\x2d\x94\x25\x0f\x07\xda\xe3\x8b\x21\x2e\x6b\x5c\xfa\xf9\xb2\xae\xf1\x10\x76\xc1\x14\x6b\x77\x28\xa5\xa7\x7e\x33\xf2\x63\x09\x4e\xfe\x41\xfb\x3e\x50\x58\xc5\xd1\x3f\xa3\x7e\x3f\xce\x2f\x86\x28\xf2\x03\xe1\x7c\xa9\xa7\xc9\xf2\x88\x8c\xc6\x96\xad\x18\x15\xb4\x9e\x6b\xe9\x6c\x71\xc2\x9f\xcb\x96\x47\x7d\xb9\x06\x6d\x19\x24\xc9\x10\x9e\xa1\x7e\xe1\x6f\x78\xcb\x44\x1d\x40\x82\x0b\x4d\xfe\x74\x05\x92\xee\xd0\x1f\x70\x48\x98\x14\xc1\xef\x2b\x24\x0e\x89\x2a\x99\x9f\x53\xad\xc9\xb2\x15\xa3\x7b\x86\x39\x0f\x78\x5d\x85\x10\x8c\x0c\x43\xb2\x9b\xfc\x22\x35\x3a\x5d\x32\x5f\xf7\x6e\x51\xe4\xb9\x33\x04\x42\x2c\xf9\x4b\x4c\x2c\x31\xfd\xfe\x2b\x0d\x85\x86\xb2\x34\x2a\xac\x18\xe8\x30\xb6\x88\x45\x05\x89\x03\xe5\xe2\xb2\x69\x58\xc0\xc0\x0f\x05\x96\x57\xc3\xa2\xd1\xd5\xb0\x60\x6f\x35\x2c\x99\x5a\x0d\xcb\x56\x56\xc3\x82\x81\xd5\x50\x60\x5b\x35\x94\x99\x55\x0d\x8b\x16\x55\x01\x22\x6f\x96\x14\xc2\xa3\xe6\x48\x01\x2c\xf2\x12\x19\x4a\xac\xa7\x62\xa0\xf2\x1e\xe6\x6d\xa6\x62\xc8\x48\x3f\xe5\x6b\x9c\x3c\xe2\x46\xdd\x30\xd1\x77\xac\xe3\x1b\x17\x5e\x5b\xb3\xc2\xd8\xaa\x73\x20\xa9\xe8\x48\x0e\x24\xca\xd5\xb8\xe5\xc1\x9d\xc5\xf0\xd0\x1e\xb5\x2b\x15\x62\x0f\xf3\xf3\x1f\x8a\x8d\x93\xc4\x3b\xca\x6a\x25\xf3\xcd\x80\x7e\x26\x73\xbd\x8e\x57\x1c\xff\x08\x17\x8c\xc0\x01\xac\xee\x17\xbf\x18\x18\x8d\xb4\x7d\x27\x07\xed\x99\xc3\x71\x59\xc1\x42\x0c\x17\xf2\x5a\x3c\x61\xd9\x35\xfd\x1e\x39\x7e\x55\xe1\xca\xe7\x29\xd3\x6c\x69\x41\x65\x55\xa5\x00\x18\x9d\x63\x8d\x6c\x11\xe9\x23\x9a\x33\xa7\x34\x72\xf4\xa9\x52\x13\xec\xf0\xfe\x38\x2c\x96\x7f\xea\xf1\xa7\x5d\x0c\xb4\xc6\x35\xc3\x89\xf8\x97\x3c\x65\xda\xe6\x14\xbc\x0d\x3d\x9f\xe7\xa5\xa9\x09\x9c\x10\xa9\xa9\xf4\x11\xe9\xde\x29\x08\xa3\xbd\x58\x07\x6b\x79\x0e\xbb\xc3\x8f\x98\x71\xbc\x0c\x94\x4c\x26\x59\xc0\xdc\x33\xd4\xf3\x56\x85\x3e\x5d\x1c\xc3\x0c\x9c\x1e\x4e\xe8\x15\xee\x14\x42\x44\xc6\xd8\x9d\x39\xc3\xbc\x41\xfd\x83\xbc\x4e\x70\xa8\x7f\x9b\x21\xaf\x19\x79\xc4\xec\x96\xd4\xb8\x9f\x1b\x8d\xce\x90\xc9\x85\x6a\x11\x37\xb0\xa5\xc5\x31\x7c\x43\xcd\x81\xbd\xf2\x2e\x5a\x69\x97\xe7\x2c\xf8\x24\xd0\x1d\xde\x13\x2e\x58\xc4\x26\x6a\x5e\x01\x33\x4e\x7b\xd4\x46\xa5\x48\x73\x6c\x6a\x13\x5a\xc4\x1d\xee\x05\x6a\x2f\xf7\x0c\x2f\x53\xfc\x1e\x77\x03\x65\x88\x1d\x8b\xfb\xfa\x59\x90\x96\x88\xe3\x1b\x32\xbf\x53\x39\xee\x1b\xeb\x08\xd5\xd7\xb8\x8d\x19\x90\xb8\xa0\x03\xa5\xdc\x1c\xcb\x0b\xd8\xf7\xa8\x93\x47\xd0\x71\x09\x36\xd9\xa0\x2d\x20\xef\x70\x4d\x59\x03\xb2\xc6\x22\x24\x78\xc6\x14\x21\x41\x0a\xb3\x80\xbc\x3f\x0e\xa4\xdf\x2f\x80\x94\xa5\x6f\x49\x17\x15\xd2\x68\xb8\x8b\xc0\xc0\xfb\x15\x21\x4b\x46\xae\x90\xe9\x91\x1f\xc8\x20\x07\x1c\x53\xc6\x72\x81\x04\xbf\xd8\x1a\x01\xb5\x3c\x27\xe6\xeb\x1f\x10\x1d\xde\xa3\x3d\xa3\xe3\x90\x41\x28\xbd\x71\xa2\xfc\x72\xcb\x15\xdf\xd8\x37\x2b\x86\x1f\x23\x88\x6b\x24\x94\x2e\xfb\x1a\x1d\x63\x2d\xbc\x0f\x25\x97\xd3\xef\x97\xfc\xd8\xd7\xa9\xc2\xd8\xd5\xa4\x0a\xe9\x38\xdc\xd3\x21\x12\x1a\xca\x2b\x57\xcc\x5d\xae\x85\x15\xe5\x71\xc0\x0a\x33\xc9\xc1\xc5\xae\x4e\x59\x1c\x84\x58\xd1\x8a\x88\x55\x60\x14\x9a\xd2\xa5\x4c\xbf\x83\x7c\x3c\xe0\x9c\x6c\x31\xe8\xd9\x13\x18\xca\xd0\x1e\x5f\xc8\x47\x49\xe0\xc6\xe7\x16\xfe\xdb\x80\xf7\xe9\xd2\x0f\x34\x98\x55\xa7\x70\xf8\xa7\x5c\xe1\x7f\x4f\x17\xc2\x9b\x60\xee\x7c\xea\x01\x9a\x4c\x97\x57\x73\x91\x82\x5b\x18\x67\xc7\x1c\xc0\x6f\x78\x3b\xe3\x77\x05\xfe\x22\x62\xfa\x13\xf9\x7b\x68\x7c\x25\x7f\xbd\xa2\x7d\x3d\x7f\x3c\xc8\xdf\x23\x57\xa8\xfa\x39\x60\x58\xe5\xcf\xef\xc8\x97\xf9\xb4\xc9\x9f\x21\xae\x51\xe4\xe7\x88\xfd\x94\xfc\x5d\x72\xf0\xb1\x66\x22\x97\x1a\xfc\x2c\xb9\xce\xf0\xe7\x98\xd9\x13\xfc\x3e\x6e\x79\xcd\x02\x49\xa6\x2a\x1a\x30\x4b\x15\x26\x6c\xa0\x44\xcc\x78\x4a\x84\xe6\xfb\x22\x6d\xb9\xaf\xe3\x74\x45\x7f\xbc\x52\xb1\xf0\x8f\x6f\xa8\xe0\x31\x0b\xe5\x08\x6c\x1e\xe8\x63\x06\xd1\x42\xcf\x78\x1f\x2c\x88\x32\x86\xf9\x40\x7b\xc9\x1f\xe5\xa1\x5a\x56\x11\xd1\x0f\xc6\x81\x91\x57\xee\x0c\x08\xc7\x55\x1e\x12\x89\x8e\x36\x47\x24\x9c\x6e\x45\x10\x9c\x7a\x84\x78\x2d\x6f\x26\x23\x97\x88\x67\xb6\xc5\xa8\x39\x58\x46\xac\xf1\xdc\x7a\xd1\x02\x56\x0c\xd7\x07\x5c\x3f\xd0\x51\xe4\xda\x59\xeb\xfb\x30\x87\xf9\x0d\x6f\x0f\x94\x3e\x84\x31\xdc\x62\x88\x64\x43\x51\x31\xb8\x57\x74\xf9\x88\x48\x8b\xb6\x2d\x8e\x9b\xee\x78\x58\x0d\x89\x8b\xb0\x62\xc8\x88\x05\x85\x07\x4b\x86\x4e\xf4\x50\x77\x18\x59\xeb\xa9\x2b\x95\x6e\x21\xd7\xe8\x3d\xa5\xb7\x74\x7e\xea\x7a\x08\xb9\x4e\x15\x0b\x96\x01\x45\x2d\xde\x2c\x42\x2c\xc6\x74\x9e\xa0\x5e\x0c\xc8\xe8\xd2\x09\x50\x01\x3b\x10\xc5\x29\xbb\xf4\x02\x60\xb2\x6b\x0b\x94\x88\x18\x54\xd9\x12\x90\x7c\xdd\x61\x3e\xe7\x07\x14\xe0\x5a\x47\x1a\x8c\x7e\x59\xf5\xfb\x2a\x67\x32\xe6\x02\x97\x11\xeb\xfa\x80\x9b\xb1\x4d\x19\xd9\x69\x68\x32\xa4\x61\x58\x0e\x1a\xcb\x25\x50\xe6\x2b\x31\xd7\x7c\xb7\xfc\x73\xcf\xe4\xa2\x46\xec\x21\x8a\x49\x06\xec\x53\xe5\x6f\x1b\x22\x7c\xea\xa5\x50\xb9\x62\x37\xfc\x4c\x7a\x0d\xcc\x2d\x6d\xb8\xdc\x8d\x19\x60\xc0\xe0\xab\xd2\x77\x69\x13\x36\x0d\xb0\xd1\x5d\xa2\xc5\xda\x84\x56\x1e\x28\x71\xba\xde\x98\x90\x58\x8b\x47\xfd\xad\x76\x90\xc9\x95\x65\xce\x90\xdb\x44\xd2\x0c\x55\x9a\x88\xdb\xe1\x15\x86\xd6\xba\x41\x71\x68\xdc\xaa\x20\x1f\xf1\xd3\xf2\xc4\x7f\xc4\x4f\x79\xfb\x28\x0b\xcb\x97\xce\x77\x55\x0a\x96\x78\x18\x68\x40\x46\x81\xaa\x10\xab\x94\x1e\x77\x2a\x8e\x6a\x58\xa7\xe2\x6c\xeb\x71\x7d\xca\xac\x10\x62\xa6\xb7\xa4\xdf\x87\x12\xc2\xd1\x09\x73\x5e\x70\x64\x29\x60\xd4\x5a\xcf\x05\x64\x9b\x50\x0a\x84\x68\x91\xe0\x2a\x05\x41\x94\x16\x72\x6b\xea\x2e\x5e\x5b\xd3\xd2\x9b\x7e\x4b\xbf\x14\xa3\x3f\x8d\x62\x19\x5e\xd2\x64\xbe\xa1\x77\x59\xf3\xd3\x09\xa7\x4d\xab\xb3\x1f\xd4\x98\xfc\x07\x4b\xf8\x87\xbb\x8c\x11\xa5\x42\xac\xe3\x16\x91\xba\x50\x19\xac\xc3\x82\x27\x31\x47\x48\x0d\x3b\x04\xe2\x43\xa7\x00\x5c\xb9\xd2\xdb\x0d\x30\x4b\xe5\xca\x0d\x28\x8d\x49\x19\xe7\x06\xc5\xc9\x5b\x30\xe2\xc3\xac\x0a\x24\x3f\x11\x7a\xbc\x4c\x65\x91\x77\x9e\x57\x38\xd7\x47\x4e\x85\xb1\x20\xd2\x53\x69\xfa\xfe\xca\xb0\x71\xd1\xd6\xac\x29\x7b\xca\x79\x33\x09\x8b\x3c\x9c\x93\xd8\xcc\xfd\xc2\x2f\x9a\x85\x2f\x37\x25\x9f\x9c\x40\x11\x55\x7b\x08\xca\x76\x88\x8b\xc0\xe2\x52\x17\x5d\xd1\x6e\x4b\x12\x9c\x0e\x4f\xb4\xd9\x52\xd4\x5c\xd4\x4d\x44\x4d\xe1\x97\xdd\x61\xf5\x77\xcc\x90\x48\x23\x77\xa9\x26\x64\xc1\x55\xd3\xdf\xe1\x86\xb0\xc0\x82\x45\x63\x9e\x94\x7b\xf8\xac\x4c\x79\xfa\x6a\x33\xe0\xa8\x59\x8d\x07\xd1\xcf\x80\x0c\x42\xdb\x9d\xcc\x10\x81\x2e\x75\x8c\xfb\xea\xcb\x9f\x43\x8f\x09\xf9\x6b\x5a\x89\x3f\x2f\x4d\x34\xab\x76\x54\xb6\xf0\x16\x71\xf1\x81\xf6\x73\xcf\x67\x1f\xf0\x5b\x10\x2e\x7f\x2a\xff\xb4\xdb\x85\x82\x0d\xa7\x38\x22\xf6\x98\x4a\xd5\x79\x3c\x57\x18\x3f\xe2\x3a\x88\x91\xff\x48\x1a\x1c\xb1\x81\x79\x8a\x87\x29\x78\xca\x45\x28\xb0\x85\x71\xa6\x62\x9e\x49\x2e\x28\x8d\xfb\x99\x39\x05\x1f\x69\x24\x64\xe5\x53\xec\x94\xd2\x3f\xda\xa8\xdf\x91\x53\x57\x43\x22\x93\xa8\x4b\x92\xf6\xe4\xba\x7c\x85\xfb\x46\x9e\x9c\xb6\xe8\x7f\xe9\x7f\xfd\xdf\x06\x1d\xc9\xce\xd8\x61\x71\xa0\x6e\x7b\x4b\x89\x19\x61\x1f\xe5\xb2\xd1\x99\x64\x8a\xa0\x37\x9a\x62\x83\x06\x02\x4a\x0b\x34\x59\xa2\xe6\xab\x67\x02\xe0\xfa\x21\x9e\xa7\xc9\xc9\xdc\xb8\x23\xac\x2b\xf9\x9a\x46\x66\x3e\x07\x0e\xe7\x91\x09\x32\x80\x06\xde\xa9\x97\xea\xaf\x1c\x24\x19\xc4\xc5\xc0\x76\xa4\x27\xfc\xa0\x63\x8d\xac\x31\x70\x6d\x71\xe4\x1e\x0b\xfd\xc1\x30\xab\xa1\x03\x69\x5b\xd7\x87\x38\x8d\x2b\xcb\xae\x39\x47\x66\x1b\x2c\xcc\xb1\xb9\xc7\xc2\x73\x5d\x4f\xb3\x58\xb3\x1a\x8b\x89\x39\xf7\x58\xbc\x5f\x8e\x27\xee\xa0\x41\x89\xf1\xdb\x42\x66\xca\x3d\xd6\xe1\xe5\xde\x7e\x91\x0b\x3f\x4b\x85\xdc\xfb\xc8\x81\xe5\x53\x65\x3a\x80\xe5\x96\x62\xaf\x0b\xa7\x7c\x71\x01\xee\x71\x2c\x86\xcd\xbc\x34\xdd\x81\xfb\xa5\xc4\x9f\x7b\x9c\x0a\x30\x13\x43\xa4\x3f\xf4\x5b\x51\xd6\xcf\x0b\xd2\x13\x51\xb2\x9d\x88\x72\xf6\xc9\x8c\x5d\x23\x16\x3a\xcf\x40\xd3\x8e\xd9\x35\x0e\xfd\x5b\x27\xcc\x40\x99\x08\x55\x07\x53\x39\xc7\x7d\x53\x70\x74\x49\x60\xc9\xc9\x0b\xb8\x92\xb5\x08\xc0\x25\xe2\x2b\x50\xf6\xaa\xcc\x42\x13\xcd\x72\xf4\x88\xcb\x4f\x0d\x89\x5e\x5c\xcc\x12\x94\x99\x51\x59\xbc\x30\x9d\x72\x22\xae\xa6\xeb\x28\x9d\x50\x17\x80\xce\x4d\x92\x47\x82\x29\xfd\x71\x21\x47\xef\x04\x5c\x6c\x71\xf1\x2a\xe0\x27\x1f\xb2\xbc\xf0\x90\xe5\x27\x1d\xb2\x7c\xe1\x88\x1a\xfb\x92\x0d\x64\xa4\xc3\x12\x71\x1b\x91\x2d\xf9\xb8\x92\x85\xaf\x05\x30\x45\xc7\xac\x91\xe3\xd0\xf0\x81\xe2\x43\x62\xaf\x5a\x1f\x91\x59\x9c\xd3\xf3\x37\xcd\xe4\xa8\xb7\x4e\xb6\x11\x09\x58\x58\xe3\x8f\xd3\x62\xcc\x01\x62\x0c\x12\xa4\x47\x06\xfe\x2f\x25\x38\x05\xc8\x96\xf4\xcd\x3d\xee\x06\x79\x0c\x04\x59\x50\x55\xca\x63\xe0\x0d\x13\x49\x82\x6b\x37\x5c\x7c\xa4\xbc\x61\x74\x70\x9a\x9f\x53\x7c\x4a\x9a\xbc\x94\x32\x59\xa1\xb2\x43\x51\x99\x1b\x96\x1a\x52\xa8\x37\xb4\x10\x98\xfd\x62\x4b\xf7\x9f\x82\x4c\xdd\xb2\x80\xa9\x8c\xcb\x19\xc2\x30\x1d\x66\x6b\x39\x45\xb3\xba\x72\x12\xf4\x0f\xaf\x99\x18\x89\x33\x0d\x70\xb2\xef\x6f\x62\x63\xe3\x91\x60\x45\x5b\x2a\xf8\x05\x02\x07\x80\xbc\x12\x14\x80\xf0\x55\x88\x68\x14\x7d\x8a\x6b\x8c\x98\x42\xd3\xcc\xba\xee\xa4\xd5\x4b\xbe\x29\x26\x0c\x3c\x04\xa2\x6a\x57\x8b\x69\x5c\xf5\x57\x16\x13\x8d\x2c\x31\xc3\xc4\x25\xc9\x33\x90\xec\x75\xbe\x31\xdc\x90\x4c\x6e\x4a\x55\x9e\xc9\xec\xa8\x00\xb9\x8c\x94\x0a\x91\xcd\xd9\xa9\x20\xe9\xdc\xbf\xaa\x3c\x9d\xb0\x97\xeb\xed\x99\x4c\x74\x64\x71\xf2\xf9\xa1\xb3\x33\x2e\x20\x70\xa3\x52\x33\xc7\x6d\x2b\x5c\xf8\x32\xe2\xdd\xd8\xb6\xf9\x69\x97\xef\x11\x30\x91\x78\x47\xd9\x24\x94\x4f\x83\x6f\xa6\x98\x07\x0b\xdf\xbe\xc5\xbb\x82\x1e\x2e\x2c\x26\x78\x67\x2c\xe5\xa9\xf4\x41\xa9\xa6\x74\xf2\x22\x9a\xa7\xc7\xdf\x28\xe9\xf3\x88\x16\xa3\xc7\x85\xbd\xc4\x26\x25\x41\x06\x61\xac\x52\xa3\x0a\x02\x07\x29\x17\x58\x18\x0e\xd6\x02\x38\x16\xd3\xc4\xc1\x5c\xa6\x81\x71\x55\x83\x45\x88\xf2\x64\xc0\x06\xbc\x90\xfb\xd7\xc2\x72\xa9\x7e\x79\x96\xb1\xb0\x29\x08\xd5\xa5\x1e\xf5\xaa\x98\x30\x4d\x3c\x7f\x91\x9f\xdf\x31\x57\xf6\x8e\xc9\x63\x3b\x12\x45\xc8\xc2\xd4\x01\xa7\xfd\xb2\xf2\xa0\x85\xec\x8d\x7b\x2c\xa2\x7a\x48\x17\xa0\x9b\xb8\xb9\xce\x34\xb2\xfc\x99\xa8\x3e\xd3\x05\x44\x82\xbd\x7b\xc5\xc0\x36\x26\x47\x2b\x1f\xd9\xf9\x34\x93\x8a\xa9\x58\xce\x66\x99\xef\x09\x00\xf4\x97\xee\x50\xe8\x3d\x39\xcf\x8b\xb9\xb0\xa2\x78\x2c\x99\xee\x94\xf1\x52\x2e\xdc\x85\x61\x8d\x7d\x64\x41\xa9\x5c\x74\x66\x0d\xc4\x12\xfe\x18\x04\xdc\x3e\x36\x29\xd0\xec\x23\x2a\xa9\x1c\x2c\xfa\xfb\xa5\xe4\x62\x0d\xe1\x1d\xe1\x5c\xa7\xc7\x0c\x4e\x70\xc0\xc8\x8f\x7d\x4e\x67\x0c\x93\xf7\xcf\x30\xa8\x87\x65\x90\x9d\xd3\x45\xa4\x32\xb8\xa9\xe2\x64\x62\x33\xb9\x4e\x9b\x3e\x57\x3b\x5f\x96\x4f\xa0\xb7\xc7\xe2\x3a\x9f\xe0\x0e\x2e\xaf\x4c\xfe\xba\x3d\x16\x1f\xe3\x21\x4d\x4c\xf1\x6a\x29\x87\x1d\x08\xbb\xd2\xa9\xe9\xf6\x58\xdc\xe5\x93\xcf\xc9\x9d\x96\xcc\x3f\x37\x15\x26\x52\xd0\xc9\x5d\x58\x96\x64\x6e\x8f\x73\x2b\xe1\x40\x1a\x9c\x1b\x07\x48\x45\x86\x21\x60\x65\x54\x21\x30\xb6\xea\xcb\x3c\xf6\xda\x24\x3d\x11\x29\x07\x67\xd2\x3f\xd2\x07\x7c\xb9\x13\x98\x7d\xe0\x41\xa4\x66\xb7\x2c\x68\x54\x16\xfe\x46\xc4\xe1\x16\x1d\xc3\x28\xd1\xa6\xd0\x9a\x14\x85\x01\xe4\x26\x90\x16\xcd\xa5\x8a\xe9\x68\x46\xe7\x23\x5a\xd4\xef\x07\x54\x3f\xc0\x52\xcc\xc4\xe1\x35\x98\xb8\x55\xd0\x1c\x11\x8f\xd6\x3b\x47\x64\xba\xa2\xa2\xf2\xa6\xa2\x00\xa9\xe3\x25\x65\x49\x35\x83\x45\x83\x12\x4f\x98\xa6\x31\x06\x7e\x09\x04\x3c\x67\x52\xae\xa3\x13\xaa\xc5\x88\x5d\xb6\x2d\xd8\xa4\x25\x83\xb3\x49\x50\xce\x7c\x62\x42\x9a\xf7\x51\x2a\x22\x93\x7d\x1c\xe5\xba\x9e\x79\x1d\xcd\x30\x0b\x01\xe9\x9a\x12\xf3\x41\x2f\x5e\x1b\x62\xcd\xe2\xfc\x60\x65\x9f\x27\x2e\xb7\xc1\xc2\x0d\x31\xe1\x9b\x2b\xc0\x2c\xda\x9a\x06\x35\xd2\xf1\x22\x27\x4c\x3a\x00\xb1\xc2\x58\x8b\xba\x7c\x8c\x2d\x9c\x32\x33\x9c\x10\xf0\x28\x5b\x5c\x69\x3b\xf4\x18\x4f\x7f\xec\x04\x8d\x03\xc3\xe3\x85\x59\x52\x3a\xad\x5c\x14\x38\x85\xc8\xae\x68\xad\x18\xcb\x2f\x66\x09\x2a\x8b\xb3\x28\x91\x42\xa8\xa0\x0f\x8b\xc8\x37\x85\x41\x19\xd5\x9b\x33\x37\x84\x2b\xda\x75\x2a\x3c\x74\x06\x74\x9d\x0f\x9c\x08\xe7\x67\xd2\xe8\x35\x84\x4d\xa6\xad\x8b\xd0\x2c\xa0\x2c\x34\xa2\x84\x6a\xc5\xfa\x9b\x63\xe8\xad\xea\xe2\xde\xba\x29\xa9\x0b\x61\xa9\x9b\x23\x59\x21\x71\x05\x04\xf8\xc0\xef\xca\x45\x64\x8c\x65\x3d\x58\x59\x0c\xc7\x49\xf0\x90\x3a\x8b\xf6\x18\xd2\x24\xfe\xbc\x14\x61\x71\x8f\x45\xfe\xcc\x05\xa6\x4e\x9f\x1a\xf9\x78\xa1\x16\x59\xfa\xe1\x0f\x88\x3f\x2c\x0f\xf4\x43\x51\x7c\xc7\xa4\xa0\x23\x86\xc8\x45\x81\xdc\x63\xf1\xa9\x5d\x30\x66\xf4\xc0\x30\xe4\x0c\x60\xb5\x18\xe9\x51\x83\xe2\xfa\x07\x0f\x95\x36\x44\xf5\x60\xa9\x68\x29\x73\xd0\xaf\x34\xe0\xb1\x5c\x88\xba\xfd\x8d\x78\x6f\x11\xb8\x4c\xab\x5c\xec\xe0\xe9\x8d\x9c\x09\x4f\x29\x21\xe6\x62\x5f\x5c\xb6\xa5\x2c\x00\x28\xc8\x9d\x58\x96\x39\xdc\xd0\x12\x01\xac\x6d\x0e\x14\x75\xc2\xf4\x11\x0b\x31\x2c\xf7\x29\x41\x92\x87\x50\x4f\x51\xb3\x20\x16\xcf\x72\x7d\x8a\x47\xf3\x20\xba\xb8\x5c\x5c\x68\x17\xb0\x62\xf8\x91\xe0\xa7\x04\x0e\x9e\x38\xce\xaa\x7e\x93\x08\xef\x6f\x05\x17\x4b\xbc\x84\xd6\xc4\x2f\xd2\xae\x43\xec\xc1\xbd\xb6\x52\x30\x95\x5c\x21\x73\x84\xca\xca\x29\x81\xad\x07\xb2\x96\xf9\xf9\x25\xc9\x16\x8d\xa4\x3d\xe8\x72\x63\x0b\x53\xb9\x28\x01\xf5\xa2\xc8\x4a\x8e\x67\x61\xa3\x18\xd8\xbf\x8f\x38\x11\x57\x5c\x62\x28\x6b\x4c\x1e\xcb\xa5\x00\xb7\x00\x5d\x0e\x2c\xac\x04\xb4\xd9\x42\x3b\x05\xa1\x18\x77\x86\xcc\x02\x40\x97\xb4\xf8\x16\xd0\xb8\xfc\x63\x4d\x3e\xe1\x81\x1d\xcd\x94\x07\x8e\xd1\x5e\xa9\x77\xaa\xa6\x70\x11\xf9\xda\xac\x50\xe9\xe9\xb3\x90\xe5\x29\xe0\xb8\x6f\x12\x71\x74\xe2\x98\x7c\xb0\xdf\x09\x97\x0b\x09\xaf\xa0\x33\xee\x23\x83\x8c\x24\x42\x9b\x95\xe7\xd8\x4e\x40\x8c\xad\x20\x4b\xcd\x94\xde\x2b\x0a\x6b\xf2\x83\xa4\x6d\x2f\xbc\x0a\xc9\x10\xf8\x56\xa1\x59\xf2\x8c\x50\x50\xc7\x75\x35\xcf\x0e\x28\xb8\x71\x61\x5d\xc4\xda\xc9\x8b\x99\xe8\xbb\xc0\x7c\xb6\x18\x80\x14\xf2\x96\xdc\xe5\x2d\x17\x9a\xcc\xf7\x4a\x20\x50\xd1\x27\x8a\x95\x48\xda\x3a\xfc\x65\x51\xcb\xbb\x66\xec\x4b\x2f\xad\xb1\x1f\x48\x7f\xd9\x2e\x05\xdb\x5f\xf2\x7a\xcc\x00\x63\x9e\x1f\x33\xb8\xe7\xc6\x94\x44\xb6\x14\x15\x6d\x73\x85\x8c\x6c\x26\x1b\x11\x14\x44\x4c\xeb\x85\xb0\xa1\xf2\xf1\xbc\x1c\x17\x15\x64\xc7\x4b\xa1\x51\x27\x50\x3e\x3a\xaa\x61\x44\x33\xbd\x52\xa6\x7a\x4b\x1f\x34\x21\x4f\x73\x11\x4f\x21\x46\xa8\x56\xbc\xc5\xa3\x81\x1a\x5b\xe5\x54\xb1\x16\x61\xa5\x8a\xf7\x18\x1a\x8e\x09\x04\x14\xc0\x5c\xeb\xa9\x06\xf4\x75\x97\x2a\x96\x57\x15\xc4\xf9\xc4\xdb\x79\xea\x3f\x0d\x90\xe7\x60\xda\x19\xcf\x80\xe0\x03\x31\x95\x93\x0e\x32\xd9\x4c\xb9\xbd\x78\x14\xa0\x45\xee\x19\x84\x67\xc3\x15\x0b\x95\x68\x60\x10\x4e\x27\x09\x53\xb1\x69\xe4\xc2\x5c\x0c\x71\x03\x8f\xce\xa5\x28\x37\xd3\xcb\x54\xd9\x25\xc4\x9d\xf1\xe7\xd8\x64\x73\x10\x62\x88\x1f\xfb\x3a\x1a\xdc\x46\xf1\x9d\x17\xa8\x31\x3c\xe8\x3d\x4d\xc5\x7f\xe1\xda\x26\x5f\x03\x57\x94\x93\x58\xb0\x1f\x83\x05\x31\x70\xea\xa4\xb3\x30\x86\x3b\x6a\x85\x82\xef\x18\xed\xd2\x50\x8e\xf3\x09\x3f\x8d\x2f\xd3\x64\xa8\xb1\xe4\xe0\x95\x51\x1c\x38\x90\x75\xcc\x37\x0a\xfc\x8b\x94\x86\x2d\xe9\xe5\x34\x15\xff\x8c\xf8\x21\x74\x46\x33\xa0\x5c\x03\xcb\xb5\x7f\x8b\x3a\x39\xa9\x62\xa6\x1d\xac\x72\xbd\x94\x1b\xf6\x0d\x91\xd7\x02\xc4\xc1\x49\x62\x12\x00\x2e\xa7\x46\x0b\xa0\x42\x79\xbe\x2d\x8e\x04\x0e\x51\x65\xdc\xb3\x47\x87\x30\x4a\xfc\x34\x5f\x15\xe1\x87\x24\x4c\x78\xaa\xfc\xff\xfd\x8f\x6b\x5b\xd9\x6b\x74\xe4\x81\xbd\x6c\xc6\x5e\x6f\xd9\x36\xd9\xdc\x4e\x9f\x06\x1c\xe6\x9c\x7c\x83\x78\xcc\xdc\x33\xcc\x3c\x9a\xca\xa2\x06\x21\x4a\xe6\x97\x86\x8d\x5b\x12\xbd\xab\x6d\x69\x8c\x61\x4e\x28\x88\xaf\x9a\x5e\x9d\x3d\x81\xa1\xa6\x89\x29\xa2\x4d\xab\xde\x3e\x06\x8e\x50\x31\x44\x2c\x64\x58\x0c\xc7\x63\x5c\x8c\x06\xc6\xed\xca\x66\xfe\xda\x99\xfa\x49\xb3\xa6\xb0\x3c\xd5\x4c\x58\x51\x29\x77\x62\x0a\x1b\x59\x98\x56\xe7\x5c\x45\xd3\x24\xa5\x84\x1e\xf2\xf7\xa8\x60\x71\x16\x04\x24\x5b\x18\xab\x1a\x5e\x66\x57\xb4\x49\x04\x3a\x8a\xae\x93\x98\xe9\x8f\xb1\x31\x8f\xa8\xa2\xe5\x75\x1f\xc6\xbb\x31\x91\x44\x66\xbf\x02\xb7\x1a\xfb\x2d\x36\x3b\x6e\x89\x95\x84\xc5\x20\xa1\xc7\x45\xdc\x9f\xcf\xc6\xda\x33\xbe\x79\xb3\xe2\x64\x00\x0f\x57\x59\x90\x2e\x49\xea\x1d\x00\x14\x57\x44\xc7\xd5\x0a\x5e\x94\x8f\x44\x51\x78\xf8\xe7\xc3\x47\x44\xa2\xd9\xbd\xfd\xa2\x32\x53\xa4\xd6\xa8\x29\x4f\x5a\x66\x9a\x9b\x2c\xfc\x35\xbe\xb3\x63\x66\x3c\x53\x08\x11\xff\xf7\x30\x73\x9f\x49\x1e\x3d\xfb\x75\xd9\x49\xc1\x6a\x2a\xfc\x9f\x6f\x3a\x3d\xfc\xd8\x8a\xb7\xaf\x56\x95\x8c\x78\x1e\xc3\x0b\xd2\xd4\x5d\x0e\x43\xe4\xb0\x84\xa2\xfc\xf9\x1d\x85\xcc\xa3\x8f\xf8\xa0\xd8\x49\x0f\x88\xa8\x15\xa5\x29\x89\x1d\x07\xba\xcc\x31\xbd\x5f\xdf\xad\x62\x90\x96\xe0\x5e\x44\xdc\x5e\x55\x69\x9c\x68\xc3\x28\x52\x7b\x52\x15\x46\x37\x26\x14\x65\x16\xbd\x5f\x1e\xae\x7c\x28\xcf\xfc\x1c\x5f\x8d\xaa\x38\xb1\xfc\xa0\x30\x5c\x83\xea\xe7\xe8\x42\x84\xa2\xc8\x63\x58\xff\x9e\x5a\x06\x1f\x13\x49\x9b\xa0\x50\x3f\x40\x9d\x50\xd7\x31\x50\xa2\xee\x42\x22\x0c\x05\x8a\x07\x5a\x31\x65\xd1\xb5\xb3\xb2\xe1\xe6\xd3\x85\x77\x63\x74\x32\xd6\x89\xc8\xdb\x4e\x61\xc4\xed\x4b\x95\x92\x7e\xdf\xe2\x14\x7d\x53\x8f\x92\x59\xe1\x8d\xc0\x5d\x1a\x80\x63\xb2\x8c\x9b\x44\xfa\xff\x9b\x85\xf4\xff\x37\xf1\x14\xff\x37\x99\x4c\xfc\x37\xd9\x3c\xfa\x37\x8b\xd9\xf1\xa3\x09\x49\xe5\xdd\x9c\x4c\x55\x2f\x0b\x23\x3f\xff\x92\xc9\x54\xff\x4b\x3e\x93\xfb\x6d\x32\xbf\xfa\xed\x42\x7e\xf5\xdb\x6c\x7e\xf5\xdb\x4c\x7e\xf5\x0f\x89\xb4\xe8\xd1\x4d\xa7\x7f\x8c\xb1\xaf\x46\x0f\x0d\x11\xa8\xa3\x45\x89\xcc\xb8\xe6\x04\x5f\xca\x8c\xab\x71\x91\x55\x66\x82\x11\x87\x36\x75\x36\x4c\x71\x44\xb1\xea\x94\x45\x93\xb2\x9a\x40\xbf\xd1\xc4\xab\xe9\x68\x7f\x39\xce\x3b\x61\xde\x99\x3a\xc5\x3e\x06\x0c\x71\xa8\x78\x5c\x99\x54\x58\xe1\xcf\xd1\x2c\x58\x2b\x27\xcb\x55\xbc\xc4\x49\x5d\x15\x02\x72\x69\xab\x56\xe9\xb4\x55\xab\x64\xda\xaa\x59\xb4\xfe\x79\x61\x32\xc1\xd4\x6a\x31\xc1\xd4\x2a\x9e\x60\x6a\x06\x0a\x88\x9e\x8c\xcd\x95\x8c\xca\xb5\x74\x57\xa4\x8d\x17\x12\x17\xc8\x2a\x9a\x45\x28\x81\x89\xe7\x00\x5a\xe5\xb2\xf8\x44\xee\xa6\x55\x3c\xa5\x4e\x18\xb7\x6d\x95\x48\x50\xb3\xca\x26\xa8\x49\x9a\x5c\xac\x32\x09\x6a\x56\xa9\x04\x35\xa9\x3b\x34\x79\x7d\xde\x2d\x27\x1e\x71\xec\xa2\xe7\x05\x43\x7b\x8c\xa5\xe1\xb8\xc3\x2a\xe0\x7d\x38\x37\x77\xf9\x04\x1d\x77\xa4\x3e\x84\x26\xe0\x6a\x9d\xc6\xe8\xb0\x2e\xcc\xd8\xb1\x4e\x64\xec\x48\xf1\x0d\xeb\x58\xba\x8c\x28\xa4\x45\xa4\x4f\xb5\x9b\x4e\x84\xb1\x5e\xcc\x71\x91\x64\x5a\xe6\x12\xb0\x64\x69\xf8\x80\x5a\xfb\xb1\xfb\xe7\x85\x56\xcd\x19\xbb\xc3\xd6\x99\xa8\xed\xeb\xc5\x88\xea\xeb\x85\x88\xea\xeb\x44\x44\xf5\xf5\x42\x5c\xf4\xf5\x62\x5c\xf4\xf5\x52\x5c\xf4\x75\x3e\x2e\x7a\xdc\x24\x67\x9d\x8a\x8b\x9e\xe2\x17\xd7\xf9\xb8\xe8\x11\x3e\x30\xc3\x02\xde\xc7\xe2\x48\xdf\xfb\x61\x91\xb3\x85\x11\xaf\x99\xfb\x20\x5c\x72\xcc\x41\x21\x6a\x5c\xff\xd9\x0d\x70\x35\x2b\x0a\xf8\xd4\xcf\xd1\x10\x56\x9f\xb3\x21\xac\x52\x11\xdf\x7e\x85\xe0\x4f\xd5\xec\x9b\xbf\xc6\xc3\x3f\x25\x78\xe3\xdf\xf2\x11\x9e\xf2\x61\x2b\x92\x3c\x75\xd4\x10\xea\xb7\x59\x04\x27\xbf\xd4\x38\xcf\x17\x46\xd6\x29\x89\x90\x51\x1e\x1d\xa3\x28\x72\x43\x3e\x4e\x8b\x29\xd5\x4f\xae\x92\x86\x16\x50\xd3\x95\x95\x40\xac\x71\x2f\x16\x62\x62\x44\xfd\x45\x6c\x61\x26\x34\xcd\x62\x5c\x9a\xa5\xa8\x27\x4b\x51\x4c\x46\x71\xb8\x58\xf2\xf6\x97\xe3\x0a\x4f\x6a\x28\x32\x32\xb4\xa5\x26\xb2\xa1\x02\x0a\x1c\xfd\x25\x8d\x13\x5e\xfa\xa6\x28\xec\xe1\xf6\x18\x1c\x12\xd6\x9d\xd4\x08\xf1\xa3\x3c\x8f\x45\x2d\x09\xe2\x33\xc0\x94\x3b\x60\xde\x9b\x73\xc1\xfb\xf1\x1d\x1d\xe7\xfa\x15\x5b\x36\x93\xf7\xa5\x9a\xb8\x53\x6e\x8f\x4d\x78\x74\x5b\x48\xdc\xa1\xb1\xa1\x63\x90\x24\x18\xdc\xb9\x72\x1e\x7d\x4b\x3e\x79\xaa\xfc\x98\x2e\x09\x27\x1d\x4a\x17\x1c\xf9\xb2\x5e\x7c\x8b\x3e\x7a\x39\xc7\xb6\x05\xef\xbc\xb4\x6b\x5e\xde\x2f\x6f\xd1\x7b\xb3\xd0\x6b\x2f\xee\xb2\x17\x08\xf3\xda\x20\x04\xa6\xb5\x7a\xb9\xdc\xed\x70\xbd\x68\x0a\x6a\x50\x0b\xe6\x3e\xcb\xee\x2a\x85\xbe\x2a\xa5\x76\x63\x8b\x76\x58\x71\x35\x96\x57\x9c\xaa\xba\xe0\x93\x92\xb7\x15\x2d\xf5\x1d\x29\x71\xb3\x28\xb4\xc1\x85\xc3\x62\xd9\xc6\x6b\xd1\xd1\xc1\x89\xe7\x90\x6c\xa4\xcc\xc7\x21\x2d\x93\x99\x43\x52\xc5\xcb\xbe\x08\x45\xa6\xfc\x4b\x66\xfa\x9e\x39\x7d\x12\xd3\x8b\xbc\x4e\x6a\x82\x2e\x59\xcf\x39\x22\x5c\x65\x6f\x97\x35\x15\x5d\x18\x1c\x38\x45\xc4\x12\xde\x6b\xa3\xae\x02\x6b\xb4\x65\xcb\xb0\x22\x3b\xb4\x55\x41\x96\xee\x25\x43\xb5\x5f\x4b\xb2\x6e\x83\x05\x56\x2a\x4b\xad\xb2\x89\x4a\x5b\x4b\xc5\xec\xad\x94\x21\xd2\xb2\x79\xd4\xb2\x6d\x54\xce\xd8\x49\xe5\x54\x92\xef\xfe\x48\x92\xca\x88\x24\xd8\x98\xf8\x14\x1a\x0b\x2d\x95\xa7\xcd\x84\x72\xd6\x37\xc9\x02\x63\xd6\x63\x8b\xac\x29\xcc\x7f\x33\x7f\x81\x51\x8c\x64\x34\xb8\x60\xa3\x7c\x35\xf1\xb3\xd7\xda\x40\x66\xd2\xb6\xbe\xb6\x26\x33\xd6\x60\x26\xd0\xc4\x9e\x35\x58\x25\x4e\x92\xec\xa6\x6b\x37\x73\xa6\x12\xe6\x57\x12\x5d\xd1\x5d\x85\xfa\x4a\x75\x0f\x37\x95\x7c\xd7\x9d\x57\x82\x56\x5b\x5c\x81\x5d\xb1\xfc\x8d\xb2\x0a\xac\x1c\x89\x38\x56\x68\x27\x30\xab\x1a\xfd\x56\x31\x03\xf9\x5f\xf6\xa3\x3b\x82\xdb\x86\x3b\x1d\x94\xd7\xae\xea\xb2\xfc\xee\x77\xee\x87\xe5\xc7\xaa\xfa\x30\xf6\x0f\xa7\x7c\x72\xa2\xeb\x59\x4b\x3a\x22\x64\xcb\xb7\xb8\xdf\x7b\x56\xfa\x67\x74\xb7\xe3\x18\xca\x3e\xc1\xbf\xaa\x1d\xa3\x5d\xf5\x74\xc0\x0c\xcb\x6f\x81\x89\x70\x55\xd3\x6e\x18\xe5\xc3\xa6\x32\x5d\x83\xae\x7a\x73\xa2\x8d\x94\xec\x83\x3a\x42\xfa\xf9\x5b\x3b\x4d\x79\x79\xad\x56\xce\xdc\x4a\x2a\x98\xa0\xe6\x45\xa4\xac\xe1\x82\x91\x23\x26\x5c\xc8\xda\xf0\x43\xd5\x29\x2f\x11\xdc\x54\xa4\xaf\xc2\x28\xe9\x67\xc0\x0a\xbd\xae\xce\xae\x46\xc6\x70\x2f\xaa\x19\x6b\x74\xc6\xf1\xef\xb2\xf8\x9e\x0a\xd4\x56\x3d\x24\xa9\x96\x8d\x73\x89\x8d\x34\x37\x5a\x5a\xd8\x7e\xc4\x50\x60\x1d\xe6\x62\xe4\x0f\xf1\xbe\x46\x49\x6e\xe3\x10\x07\x0f\xed\xc8\x24\xa4\xc1\xcb\xd3\x72\x8f\x5b\xbc\x67\xa8\xab\x0c\xdf\x5b\x79\xad\xc8\xe5\xd8\x95\xcd\x0f\x56\xa6\x6e\xaf\x63\x6d\xea\x32\x87\x42\xbb\x16\xed\x01\xfc\x4e\xfe\xe3\xbc\xe2\x18\x57\xf7\xb7\x72\x81\x34\x60\x85\x89\xda\x4a\x7f\xc4\xa9\xa4\xf3\x54\x6f\x06\xda\x92\xfa\xb8\x19\x59\x0b\x6b\xf0\xee\x56\x92\x58\x1c\x70\xc5\x15\x03\xfc\x0d\xaf\x34\xb4\x52\x50\xb7\x11\xa6\x05\x9e\x1b\x71\x1c\xd4\x44\x1a\x11\x68\x15\x76\xbc\xd1\x92\x93\xf8\xec\xca\xbb\xa6\x42\x5b\x3a\x0a\xf8\xfa\x96\x0a\xb9\xc1\x9e\x0e\xa4\x3e\xc0\x0f\x92\x78\xd5\x13\x69\x5b\xb9\xc1\xf9\xb8\xed\x88\xf0\xa5\xbe\x93\x6d\xdf\xd9\x65\xcb\x30\x6a\x8e\x13\x2c\xdb\x9b\xf2\x45\x13\xdd\xb6\x09\xe4\xf2\x72\xb9\xa5\xfb\x3d\x6e\xbe\x23\x7d\xc5\x55\xe0\xd9\xc2\xcd\x1b\x74\x29\xd3\x52\x72\x50\xa1\x9c\x28\x3f\xb4\xb4\x5c\x29\x3d\x40\x50\x4f\xca\x3d\x40\xcd\xa9\x5b\x71\x53\xbb\xec\xc4\x27\x7b\x38\xf1\x25\xe3\x2c\x0f\x1b\x54\x8d\xf2\x86\xaf\x06\x36\x4b\x3c\x75\xd6\xd2\x27\x45\x88\xa7\x3c\xae\xc3\x0d\x19\xe5\xc6\x87\xce\x8d\x5d\x04\x9d\xa5\x5c\x3d\x93\x9b\x65\x88\x36\x87\x16\x5c\xa8\xb8\xe7\x44\xf2\xff\x95\xae\x7b\x22\xb9\x9e\x75\x0e\x70\xf3\xd1\x4d\x8d\xfa\x8d\xb2\xe2\x96\x6d\xfc\x76\xc0\xe2\x80\x19\xec\xbd\x5a\x9f\xf7\x35\x58\xf2\x54\x35\xea\x2b\x05\xd4\x07\x45\xaa\xdb\x72\x07\x3f\x12\xfc\x54\x7d\x5c\xbf\xfb\xcd\x94\xc6\x3f\x8e\x7b\xb4\x6d\x71\xe3\x7e\x59\xd6\x94\x97\xaa\xba\x41\xf4\x27\x5e\xc9\xa6\xbe\xb5\x5f\x22\xbc\x32\x35\xb3\xf3\x36\x18\xd1\x5e\x66\xc2\x86\xb9\xf8\x2f\x3d\x53\xea\x79\x3a\x32\x7b\xae\x57\xe2\x89\x7e\xb7\x43\x70\x19\x7b\xfb\xb3\xf0\x3e\x56\x04\xde\xa0\x76\x4f\xe1\xd4\x3f\xe0\xea\x97\xeb\x77\x95\xfc\x9b\x11\x71\xe8\xe0\x1b\xeb\xbb\xd5\xfc\x3b\xf2\x12\x54\x16\x1c\xe6\xd8\x36\x73\x15\x8c\x46\x5e\x2b\x1d\x22\xed\x66\xec\xb5\x97\x08\x6e\x36\x03\x12\x02\xb3\x1e\x0e\x4d\x5b\xa5\xd2\x81\x43\x8f\x15\x54\xa8\x9e\x88\x50\x67\x30\x1f\x70\x0d\xc9\x04\x2a\x5d\x4f\xd2\x9f\x0b\x79\x28\xa3\x27\x44\x80\x05\x82\x58\xb0\xa1\xf3\xda\xf3\x16\xe7\x01\xf1\x8d\x33\x75\xde\xa2\x94\x37\x87\x64\xb4\x2a\x14\x1d\xab\xac\x6a\xc6\x91\xa9\x6a\x87\xaa\xb2\x1a\x54\xb5\x9e\x59\x1c\x34\xa6\x12\x61\x6f\xa6\x5b\xc6\xb6\x68\xee\x96\xc1\xdc\x2d\xce\xaa\x74\x1b\x21\xbd\x50\x57\xfa\x17\x51\xc9\x3f\xd4\xc2\x39\xe0\x68\xff\x7b\xfc\xf4\xa2\xe5\x20\xa8\x1c\xa6\x64\x55\xfb\x0a\xfc\x2d\xe4\xe4\xf4\xf8\xc9\x7e\x8c\xcf\xbf\xa6\x07\x98\xff\x68\x30\x58\x7f\x3b\x43\x0b\x0c\xf5\x0d\x85\x43\x56\x29\x20\x2b\xf5\x43\x15\x3c\xb4\xce\x38\x1b\x36\x6f\x00\xc8\x86\xea\x4d\x35\x20\xd9\xb2\x19\x1b\x4a\x48\xba\xa1\x16\x69\x4c\xb5\x9b\xeb\x6c\xbd\xa2\x63\xc1\xd7\x61\x14\x9c\x11\x71\xa5\x47\xee\x68\xd7\x27\xa2\xec\xa4\x3e\x1e\xab\x71\xa8\x90\x37\x25\x85\xcc\x21\x04\x62\x7e\x3d\xd9\x8b\xcc\xf6\xeb\xcb\x77\xdd\x8b\x16\x2a\x4c\x81\x5d\x33\x6a\x19\xce\xf1\xa6\x9d\x8d\x79\xd3\xc9\x8a\xea\x19\x05\x87\x8b\x1e\xd7\xc1\xd7\x68\xbb\xab\x94\x4f\x93\x35\xf1\xc8\x76\x03\xce\xef\xcd\xfc\xec\x9f\x32\xf1\x27\xcc\x39\xe8\xb3\x04\xae\x08\x70\xb6\x9c\xd3\x9a\x20\x39\x3c\x41\x3d\x5a\xaa\xf2\x57\xfe\x1c\x9e\xc7\x4e\x15\x89\xfb\xeb\xf8\xc3\x0f\x3f\xfd\xa5\xe2\xb4\xa2\xfd\xb7\x27\xae\x97\x9f\xde\x5d\x56\x77\x5f\x77\xa9\x7c\xcd\xd9\x70\xd5\x7f\xb9\x99\x88\xa9\x09\x17\x66\xa1\x3e\x56\x0c\xf0\xa7\xbd\x8e\x41\x0e\xeb\x3f\x43\xa0\x99\x0a\x0d\x43\xeb\x3f\x84\x74\xaf\x67\x9f\x8b\x3d\x74\xc0\xdb\x29\xdd\x68\x96\x46\xdc\x53\x80\x66\x88\xc4\xa3\x9a\xd2\xcc\xd3\x55\xf1\x71\x42\xdf\xf8\xb5\xac\x55\xbe\xb8\x5c\x36\x42\xb6\xa4\x1a\x79\xe5\x8d\x51\x36\x59\x3d\x21\x0e\x9f\xf9\xb6\xea\x46\x2e\xaa\x0e\x09\x28\x25\xdc\x30\x14\x1e\x4f\xaf\xa4\x31\xba\x4d\xf5\x97\xe1\x72\x5c\x2e\xc3\xeb\x6d\x9c\x6e\x42\x6b\x85\x33\x14\x13\x33\xc5\x71\x86\x56\xe8\x41\xbe\x52\xe5\x76\x2c\xa3\x91\xba\xab\xb4\x66\xba\xba\xb9\x5e\xe8\xab\x52\x52\xe7\xba\xea\xab\xb1\xd3\x3d\xd5\x22\x6e\x79\xe6\xa8\x2a\x65\xaf\x2e\x7d\x26\x83\x7c\x4d\x9e\xfc\x03\xda\x93\x1e\x48\x7d\x0e\x7f\x77\x94\xe9\x53\xad\x6e\x49\xfd\x50\x1d\xb0\xe7\x11\x71\x66\x47\x70\x76\xef\x7d\x36\x37\x5e\x37\x53\xd5\xe2\xd0\x63\x69\xad\xd2\x54\xf8\x48\xe1\x92\x55\x55\xab\x27\x0c\x9d\xd7\x84\xb1\x14\x89\x77\xcd\xb1\x09\xc8\x75\x2a\x62\x3a\x90\x93\x12\x75\x03\x65\x88\x1d\x2b\x2d\x79\x3f\xf1\xfa\x17\xdd\xe0\xf1\xc4\x6e\x7b\xe1\xed\x0c\xe2\xcf\xcd\xd8\x0b\x75\x05\xfc\x6a\xa4\xa1\x03\x66\x84\x2e\x3c\x9a\x9e\x26\x8b\x87\xcc\xe8\x9f\x42\xbb\x88\x92\x15\x29\xab\x0d\xaa\xda\x3f\x66\x55\x3a\x1f\x7c\xad\xcc\x80\xfc\xcf\x2f\xd1\xa0\x70\x85\xc6\x2b\x14\xaf\xd2\xa9\x97\x6a\xa5\xee\xc0\x0e\x21\xbb\x4a\xe7\x49\xe9\xf2\xb3\x95\xb4\x52\x49\x77\xed\x37\xbc\xad\x66\x42\xa7\xa2\x29\x0b\x05\x55\x41\x4b\x55\xeb\x6b\xcf\x66\xd7\x64\x76\x6e\x8c\x7f\x6e\x7a\xb4\x73\x0f\xde\xcc\xa6\x24\x1d\x08\xf4\x5b\xf2\x28\x17\x51\xd5\xa0\x23\x9f\xbf\xa8\x75\xa3\x65\x63\x97\x0d\xa8\x13\x90\x70\x53\x53\x89\x2f\x39\x6e\x77\xdf\x35\x58\xc9\xee\xe5\xb7\xfc\x97\xf5\x24\x36\x87\x26\xe2\x04\x80\xb4\x2a\xde\x33\x27\x46\x84\x10\x55\x24\xd9\x10\x88\xf4\x5c\xbd\x91\xfd\xb9\x92\x9b\xeb\xe2\x0f\x14\x45\xc9\x93\xcd\x0a\x30\x83\x93\x4d\xb3\x92\xba\x78\xb6\x64\xac\x04\x99\xf6\xb6\xd3\xb8\x81\x41\x94\x92\x50\xe5\x3d\x32\xf2\xeb\x32\x82\xce\xea\x2c\x93\xf7\xb2\x77\x16\x83\x30\xbc\xcf\x81\xf6\xd8\x4c\x7c\x43\x31\xef\xbf\x11\x15\xfe\x02\xea\x8e\xde\x3e\x04\x5e\xfb\xa2\x0b\x41\x2b\xdc\x0b\xcc\xaa\x2d\xe2\xa4\x86\xb9\x61\x9d\x9a\x27\xd4\x37\x15\x27\xfb\xbe\x1a\x87\x3f\x72\xb6\x30\xeb\xf8\x86\xee\x36\x5a\x51\xe0\xf2\xfe\xdf\xf0\x0a\x8a\x95\xec\x0e\x8a\x9d\xee\x03\xef\xc7\x30\x6a\xa0\xa7\x2a\xa0\x09\x94\xce\xeb\x54\x5b\xbc\x93\xa7\xba\x1c\x8c\x7e\x30\xcb\xc7\x93\xfe\x48\x66\x62\x6b\x6d\xa5\x06\x3a\xea\xd4\x4c\x7a\xa0\x82\x23\xe2\x38\x60\xd9\xb7\x80\xf5\xac\xc4\x01\x89\x49\x35\x21\x8f\x8a\x5e\xbe\x9c\xc9\xae\x3a\xd2\xb1\xaa\x51\xdb\x2a\x2e\xdf\xa6\xd0\xd1\xc2\xa6\xd7\xd5\xfa\xc3\xda\xe7\xb5\xd3\x43\x79\xd7\x22\x7e\x28\x1a\xcf\x84\xfc\xd3\x0f\x6a\xdd\xc5\x2f\xab\x39\xe6\x4f\x3b\x10\x1c\xb5\xca\x4c\x0d\x29\x8e\x5e\x1e\xdc\x35\x12\x08\x78\x9c\x9a\x0e\x47\x2d\x12\xf7\x8f\xe6\x2d\x16\x4f\x18\xf7\x4a\x9d\x51\xe3\x5e\x30\xcc\x0b\x8f\x6a\x65\xbb\xf9\x7a\xba\xae\x31\xaf\x1e\x3c\x77\x12\xfd\x80\x31\xf7\x20\xec\x61\x02\x0e\x18\x3b\x92\x3d\x5f\xdb\xc9\x16\x35\x45\x92\x36\x34\x57\xcd\x6a\xcc\xe4\x7d\x29\xd1\xd5\x2b\x49\x8f\x7f\xbf\x53\x73\x0c\xad\x94\x8a\x43\xbe\x0c\x84\xa9\x11\xbf\x95\xff\x3c\x82\x1a\x5b\x92\x54\xb7\xe6\x1d\x72\xba\xf3\x67\xd0\x45\x79\xfa\x30\xdc\x37\x72\xfc\xbd\x85\x97\x8c\xff\x83\x0a\x21\x79\x4f\x0b\x08\x31\x61\x97\x29\x72\x87\x07\x8c\xd4\xe1\xf9\xfb\x88\xd9\xd1\x08\x97\x26\x7e\xe2\xfa\xaa\x90\x61\xa9\xb5\x4c\xf5\xfa\xaa\xf2\x3c\xc8\x23\x34\x18\x39\xe8\x63\x15\xd9\x8b\xc6\xbf\x1e\xeb\x1a\xf3\xf4\x66\x0f\x91\xa5\xab\xe1\x91\x20\xb3\x22\xf4\x84\x7c\x5b\x71\xd9\x46\x83\x9b\xff\xdf\x33\xf8\x54\x50\x85\x04\x6c\x4f\x66\x90\xc3\xdc\xa6\x3a\x35\xc6\x00\x58\x32\xbd\x5a\x5a\x07\xef\x1a\xb9\xeb\xab\x9f\xde\x4d\x8a\x9a\xf3\x8a\xf6\xed\x11\xa6\x42\x73\x15\x5c\xb1\x15\x68\xae\xc2\x99\xd4\x1a\x85\xa7\x42\x46\xae\xe3\x8b\xae\xcc\x77\x3c\xf9\x4e\x4a\xbc\x73\x91\xa1\x23\x37\x86\xe7\x29\xfa\xf1\xb9\x65\x7a\x01\x17\x4b\x26\xab\x02\xa4\x7a\x16\x5c\x10\x7f\x24\x47\x2b\x6f\x1a\xb0\x8d\x00\xd1\x20\xb0\x79\xea\x4e\x92\xb7\x55\xfc\x62\x3a\x97\x37\x13\xc8\x87\x27\x38\xe1\x55\x4f\x25\xcb\xa4\x5c\xf7\x60\x8e\xe5\x41\x48\x3a\x90\x28\x71\x2c\x7b\xc1\x5f\x83\x45\x12\xee\x9b\x8a\xc0\x21\x5d\xa5\x13\xf7\x29\x3b\xbe\x8d\x6c\xdc\x8a\xe0\x9d\xee\xc9\x9f\x8c\x2d\x15\x17\x94\x61\xc5\xa9\xb5\x48\xf2\x9b\x0c\x7f\x37\x72\xdd\x89\x2a\x9e\xbd\xef\x4c\xf7\x0c\xd6\x8d\xee\xa4\x5c\xa4\x72\x00\x83\xab\xac\x9c\xc6\xe8\xd5\x8e\x13\xac\x60\xed\x48\x2e\xe0\x72\x18\x16\x97\x90\xc1\x95\x09\x46\xfd\xa5\x2d\x0e\x8c\x8e\xfb\x83\x66\x58\xb5\xac\x1b\x0d\x85\xac\xf6\x24\xd4\xbc\xf5\x04\x9a\x6a\x9e\xfb\x4a\xdd\xc6\x65\x23\xcd\x72\x83\x01\xf0\x94\xb1\xba\x8b\x52\x1e\xb0\xc8\xcc\x14\x6a\xdb\xd7\x72\x27\x1d\x7b\x71\xc0\x1c\xde\x58\x10\x2a\x40\x55\x11\x58\x33\x53\xc0\x22\xa8\x43\x22\xc2\x90\xd1\x8a\xf4\xc3\x28\x0a\x37\x5e\x8a\x62\xa5\x22\xe0\x39\x31\x96\x19\xe9\x38\xfa\x65\xf4\xdb\xc9\x76\x1c\x2a\x9e\xfb\xdb\xbf\x6e\xa9\xdc\x53\xa4\xeb\x70\x43\x90\xc0\xed\xf1\xa2\xba\xf7\x0f\x01\x45\xe1\x03\x96\xcc\x9e\xb3\x79\xf4\xb3\x91\x08\x8e\xdb\xdd\x79\xf5\x37\x75\xf0\x3e\xe0\x8a\x8f\x4c\x9f\x31\x01\x18\x0e\x66\xcc\xe3\x3a\xfd\xc2\x69\x71\xae\x06\x63\x0c\x20\xa8\x6a\xb9\x70\x22\x72\xcc\xff\x1c\xf7\x9c\x8d\x2a\x09\xbf\xfe\xb0\xfe\x87\xec\xcb\x45\xde\xff\x14\x76\x3f\x30\xe7\x2a\x64\x63\x06\xa2\x59\xb8\xcb\xd5\xcd\x8c\x87\x43\xc3\xb0\x31\xdd\xb9\x1c\x86\x6a\x96\x87\x0d\xca\x1f\x31\xe3\x86\x01\x1a\x86\xca\xfc\xe9\xa0\x6a\xed\x43\xf4\x5a\xde\xb0\xf0\xcf\xaa\xc1\xf2\xd1\x4e\x7a\xdc\x28\xd3\xd8\x9b\x95\x57\x41\x3d\x19\x7c\xfb\x0b\xc2\xe5\x85\xe6\x4a\xd6\x78\x90\x78\x1d\x4c\x4d\x37\xca\x1b\x42\xd7\xee\x61\x66\x95\xc1\x11\xc0\xab\x16\x71\x51\x69\xcc\xbc\xaa\x0a\x31\xd9\x24\xeb\x9a\x72\xb7\x1e\xa4\x8b\xde\x74\xb4\xc1\x20\x2b\x57\xe9\xa3\x2b\xf5\xf7\x57\xb0\x64\x81\xd5\x75\x33\xbd\x9b\xdc\x07\xd6\x00\x2b\x4f\x8e\xe7\xa1\xa7\x4f\xfd\x8c\x8c\x74\xb7\x23\x35\x41\xed\x06\xc1\xdd\xe6\xd9\xb2\x98\x01\x11\xae\x26\x00\xc9\xcb\x55\xc1\xe1\x56\x72\x2f\x7d\xa3\x75\x1f\x70\xdf\x90\x7e\x9f\x69\x4a\x19\xf5\x18\x9b\x1e\x60\x30\x3d\xce\xd3\x6b\xb6\x45\x62\xa7\xcc\x69\xcf\x56\xe6\xdf\xae\x6e\x14\xef\xf5\xb2\xba\x83\x7f\x2d\xac\x19\x7e\xe4\x02\x77\xee\x6a\x5c\xc3\x2f\x76\x41\xa6\x36\x61\x99\x49\xe3\xf3\x4c\x19\x2f\x9f\x6f\xc4\x88\xc6\x86\xd0\xcd\xc0\xb0\xac\xbb\x91\x2c\x9e\x47\x77\x5a\xe9\x22\x98\x02\x10\x4d\x40\x8d\x4a\x30\x54\x3f\x28\xfb\x9d\x23\x1d\xbf\x61\x18\x64\xe5\x18\x04\x61\xf2\xa4\x1d\x39\xa9\xbd\xe5\x4b\xb8\x35\xa1\xbb\x56\xff\x06\xdb\xcb\x0e\x09\x52\x57\x70\xaf\x58\xeb\x77\xfe\xaf\xde\x82\x26\x2d\xde\xc8\xcb\x7c\xd3\xa1\x2f\x60\x1b\x89\xbe\x90\x6e\xec\x2a\xf9\x9b\x3c\x08\x29\x74\x55\xc2\xb8\xd3\xe1\x97\x9b\x20\xcb\x3b\x49\x5e\x86\x7c\xd3\x62\xce\x37\x0d\x12\x68\x46\x1b\x65\x46\xa5\xc4\x1a\x1c\x3d\xca\xb1\x77\xfa\x44\x9e\xee\xd2\x79\xa3\x82\x66\x47\xa3\x9c\x51\x12\x03\x79\x24\x0d\x9e\x66\xab\x85\x60\x2b\xe9\xe9\xda\x11\xc6\x2d\xff\x0d\xe2\x27\x59\x9d\x57\x50\x4f\x6e\x2a\x34\x17\xef\x2b\x5f\x83\xe0\x83\xb9\xfe\xea\x36\x73\xfd\x55\x8e\x17\xb2\x81\x2d\x11\x4c\x5b\xe9\xdb\x76\x4c\xc8\xc3\x4a\x17\xc2\x7e\x56\x55\xc0\x62\x0f\xda\x8f\x6f\xab\xed\x2c\x62\x69\x64\x47\xcd\x21\x05\xaf\x33\x86\x1b\x22\xaa\x1a\x19\xe3\x97\xcf\x77\xb7\xd5\xc0\xa8\xec\x48\x53\x6d\x8f\xca\x00\x1c\xf5\x0f\x65\x1b\xcc\x74\xe4\x0d\xea\x1f\x82\x8b\x4d\xdb\xb5\xdf\xe8\xcf\xa4\x46\xa9\x43\xaf\x5e\xb2\x5a\x90\x3a\x3e\x4a\x1f\x52\x70\x64\x00\x50\xa9\x9d\xe3\x12\x44\xdb\xe6\x55\x8b\x38\x5f\xf8\xae\xc1\x14\x90\x57\x21\x8b\xbe\x7c\x8d\xa2\xf2\x0a\xaf\xbc\x44\x3e\x79\x2c\xfa\xda\x47\xb2\x3f\x44\x8d\x30\x66\x88\x02\x6d\xa9\xc4\x15\x7d\xf3\x9e\xf4\x22\xae\xce\x99\x43\x4a\xb4\x84\xbd\x30\xc6\x14\x89\xcf\x52\xda\xbe\x43\x2d\x8f\x4a\x31\xa6\xc2\x22\x09\x86\xf5\xee\xe9\xd0\x51\xf2\xfc\xf2\xe3\x6c\x60\x58\x76\x01\x6c\x57\x65\x7b\x18\xf5\x3b\xd9\x64\x05\x76\xa9\x17\xe9\x5e\x41\xbc\x8f\x44\xa7\xbc\x58\x20\x4b\x2c\xf6\xd4\xaf\x1a\xf5\xb9\x7e\x09\x36\x2e\x75\xcb\x06\x32\x8e\x76\x2c\x08\x73\x9c\x59\x81\x50\xb0\xc5\xea\xf3\xe0\x92\x25\x6b\xaa\xf7\x8f\xee\x27\x48\x2d\x48\x5f\x21\xf0\x76\x2a\x34\x05\xb3\xfd\x3b\xfb\xde\xb4\x39\x3f\x62\xfc\x4e\xe9\xae\x78\x62\x0e\xd3\x4a\xfc\xf0\xd1\x61\x9b\xe3\x24\xf0\x5c\x30\x73\x76\x15\x56\xce\xb5\xa5\x82\x57\xaf\xd0\x23\x22\x2d\xdc\x9d\x0e\x39\xf8\x79\x85\x45\x5d\x28\x27\x37\x75\xe0\x68\x75\xda\x88\xd2\x14\x46\xe9\x87\xdb\x2c\xa0\xcb\x96\x06\xba\x7f\xfd\x82\xb9\xb9\x76\x31\x69\xba\xa9\xb0\xa7\x0d\x41\xda\xf3\x35\x45\xc4\x39\x6e\x99\xa2\xca\x79\x85\x29\x78\x11\xc1\xd2\xe3\xf5\xa8\x62\xe2\xc7\xc8\x51\xee\x94\x24\x90\x70\xeb\x8e\x74\x0e\x83\x36\x7f\x19\x89\xde\x8b\x59\x2d\x45\x55\x35\xf8\xd9\xd3\x10\xd8\xa1\x59\x6f\xe0\xb7\x73\x23\x38\x10\x34\xd6\x0f\xf9\xf7\x46\xbb\x42\xab\xf1\xea\x67\x05\x28\xad\x0f\x5a\xc8\x29\x37\x8c\xfe\xdb\x39\x3a\xce\xc1\x81\x03\x24\xb4\x50\x82\xbc\x65\xa1\x78\x55\x6d\x72\x6c\x3c\x3d\x6c\x19\x7c\xd0\x08\x27\xc1\x07\xa4\xe7\x02\xa3\xc6\xab\xed\x0b\x23\x45\x8b\x9d\xe1\x8b\x59\xe6\x53\x2b\x6f\x34\xe5\xb2\xdf\xaf\x24\x59\xe5\xd6\x91\x6f\xe9\x86\xd6\xfc\xdb\xc5\x55\x38\x85\x64\x94\xaf\x85\x85\xa5\x38\x03\x2f\xaf\xc7\x35\xee\x9b\xea\xe9\x80\x04\x7e\xc4\x4c\x93\x88\xf0\x0a\xe9\xbc\xa2\x46\xf1\x13\x5d\xed\x45\xcb\x57\xbe\x4b\x05\x51\x8a\x31\xdd\xbf\xca\xfc\xa6\xcc\xd6\xc5\x11\x4c\x09\xfd\x58\x1f\xcf\x5b\x8f\xce\xba\x09\x43\x33\x9e\x31\x3c\xb4\xc7\x4d\xa7\x02\xcd\xbd\x36\x31\x94\xab\x07\x1d\x31\xf4\x84\x99\x30\x41\xe4\x4a\x27\x63\x1e\x74\x6e\x61\x3e\x50\xa5\x43\xb9\x14\xea\x10\xe4\x73\x61\x33\xb9\x5a\xcb\xc7\xc3\xfc\x36\x79\x16\x39\x5b\xe4\xb4\x0b\x62\x84\x79\xb3\x4a\xe0\xaf\xe4\x7f\x93\x6c\x5d\xff\x7d\x02\xe9\xdd\xa7\x87\x64\xe0\xc1\xa8\xf0\xca\x70\xf2\x27\xcc\xcc\x7b\x5c\xbe\x45\x24\xb6\x78\x46\xf6\x98\xb6\x26\xaa\x6d\xd9\xac\x3c\x87\xe2\x7b\xe8\xfe\xd9\x7b\xe7\x63\xae\xb4\x07\x23\x23\x60\x79\x47\x99\xb2\x2a\x33\x38\x7e\x5e\xa1\xaa\x21\x4c\x45\xa3\x94\x97\xe7\xa4\x4d\x33\x98\xaa\xa3\x8f\x98\x9f\x83\x25\x1a\xde\x33\x8c\xf9\xbf\x54\x3f\x7e\xf7\x4f\x7f\xf9\xe1\xc2\x9b\x53\x65\xc3\x19\x31\xeb\x74\x41\x8c\x7e\x91\x6f\xce\xe3\xa6\x77\xd2\x8a\x6d\x18\x6a\xc8\xc8\xd3\x1d\xec\xf4\xe3\xb1\x21\x5c\xa0\xbe\x86\x03\x17\xf5\x4a\x10\x20\x2f\xfa\xaa\xc3\x20\x4a\x06\x4b\x4c\xf3\x89\x0a\xb5\x98\x09\xd5\xef\x0e\x0b\xcc\x78\xf5\xea\x87\xef\x7e\xfc\x41\xfe\xef\xdb\x8b\x3f\x66\x87\xff\x8a\xfb\x14\x63\x9b\x44\x17\xaf\xa5\x47\x80\x17\xad\x22\xa4\xa3\x73\xbe\xae\xce\xc2\x40\x9d\x5f\x6b\x8d\x29\x0b\x97\x7e\xc4\xb3\x19\x96\x2f\x67\xd8\xd6\x30\x3e\xf3\x96\x66\xaf\x8d\x84\xb5\x3d\x2a\x4d\xf1\x5f\xcf\x76\x74\x64\xfc\xf7\x11\x31\xfc\xd7\xb3\xaa\xc7\xb8\xe1\xe6\x2a\x55\x51\x93\x7c\x91\xe8\x09\xa7\x81\xbd\x65\x55\x17\xe6\xe7\x0f\xf4\x5a\x33\x77\x0a\x71\x73\x6d\x18\x47\xd3\xdd\x6f\x38\x08\x7a\xe4\xbb\x2c\xac\x6a\x2e\x69\x55\x59\x31\x2a\xe9\xea\x45\xeb\xe7\x5e\xc9\xe2\x16\x57\x8e\x17\xdd\x6a\x71\xcd\x70\xd2\x0d\x2d\x86\x6b\xd2\x70\x2b\x7f\xee\x0b\xf8\x7e\x62\xab\x3c\xdd\x35\xdd\x3c\xe1\xed\x60\xb8\x3b\x2d\x51\xd4\x3f\x55\x43\x90\xd1\xf5\x85\x7b\xba\x80\x81\x2f\xe6\xdd\xdf\xe3\x1e\x33\x52\x9f\xc4\xbd\x1b\xef\xe4\xd7\xca\x7a\xc0\x61\x39\xd9\x3c\xa8\xce\x9c\xd3\xd7\x7c\x63\x13\x67\xf8\xbf\x36\xbf\x3e\xe7\xbb\x3f\x4c\x1c\xf1\x9c\x45\x17\x90\x08\x0b\xa6\x78\xec\xb6\x3d\x22\xad\xf5\xe4\x0b\x07\xf5\xb5\xd8\xe4\x50\xf8\xa6\x83\x4a\x20\x15\x28\x5b\x32\xf6\x66\x61\x45\x97\x44\x6d\xf3\x0e\x45\x16\x43\x1d\x24\x25\x3a\xc5\x4b\xfb\xea\xfa\xa3\x0a\x17\x63\x05\xe1\xa5\xda\x4e\xc8\x78\xb4\x79\xc0\xca\xaa\x5b\x07\x22\xa5\xbb\x4a\x15\xc8\x45\xce\x8d\x65\x14\x9c\xb4\xcd\xc8\xe4\x53\xe8\x20\x5f\xcc\x07\xf4\xa0\x04\xe7\xf2\xf3\xd7\x57\x3c\x61\x05\x53\xbb\x89\x95\xe2\x43\x0f\x13\x2f\x65\x1c\xdf\x6c\xcf\x4e\xef\x58\xa1\xa9\x98\xaa\x36\x7f\x4f\x5a\x52\xc1\x62\x59\x5f\x3a\x34\x4a\x0c\x5c\x67\x1e\x89\x8d\x79\x96\x94\x24\x33\xd9\x0a\xf9\x3d\x1f\x07\xcc\x20\x50\xd4\x09\x1e\x5a\x08\x6c\xce\xac\x29\xcc\x25\xfc\x19\xb8\x9f\xa2\xa6\x23\xfd\x86\xa9\x94\x4d\x70\xcf\x77\xa4\xaf\xd4\xdf\xe6\xb0\x50\xc6\x91\xbd\x52\x73\xea\xde\xab\x5d\xa2\x70\xde\xfe\xd8\x42\x0e\x28\xa7\x45\x95\x14\xea\x45\x4d\x9a\x40\x5a\x70\x02\x73\x55\x09\x99\x6a\x9e\xda\x07\x54\xa0\x94\xcd\xb5\x80\xbe\x99\xa7\x7e\xa0\x2b\xa8\xea\xd1\xd4\x8b\xb9\xd6\x15\x2e\x0a\x24\xb4\xd7\xb9\xed\xfb\xdf\x28\xe8\xfa\x40\x11\x62\x67\xe7\x7b\xdd\xc6\xb9\x3c\x0f\x88\x3b\x52\x30\x7f\x47\x9a\xc1\x3c\xaf\x88\xe0\xda\x81\x9d\xf6\x41\xc4\xa1\x06\xef\xd0\xd8\x8a\x4d\x40\xc9\x6b\x55\xa0\x78\x55\x4d\xcf\x14\xcd\x9e\x1d\x9a\x40\x33\x68\x9e\x6a\x5b\x0e\x0b\xb7\x3a\xba\xc0\x1e\xd3\x21\x4c\x85\x08\x75\x5b\xd2\x3f\x44\x2b\x4f\xb5\x07\xed\x40\x2c\xe9\x57\xb5\x7e\xd2\xa4\xb3\xb9\x9c\x2c\x32\x25\x2d\xde\x89\xec\xec\xca\xcf\x48\x50\x72\x52\x3b\x13\x74\xcd\x5f\x4d\xd3\x2c\x7a\x0b\xaa\x23\x4a\x5d\x8b\x71\xe5\x07\xee\x3e\x1b\x9c\x68\xad\x1b\xe5\x45\x03\xfe\xeb\xf6\xd7\x4a\xfd\x18\x13\x4b\xe9\x30\xd1\x4a\x10\xe5\xf3\x1b\x2a\xb4\x7c\x34\x6a\xc8\xf7\x4f\x4c\xe9\xae\xe7\x1b\x47\xe9\xb2\x19\xc4\xa2\xd7\x2b\x62\x0a\x51\xbf\x61\xf3\x18\xf5\x67\x91\xd2\xd7\x8e\x81\xa1\xba\x4b\xa1\xb1\xa7\xc3\xb1\x52\x07\x89\x12\xc6\x38\x1f\x05\x73\xc8\xed\xf4\x29\xdc\x78\xaf\x21\x5e\xa3\xee\xcc\x38\x0b\xd5\x91\x83\x8c\x4b\x26\x77\x8b\xb6\xed\x51\x52\xbf\xf6\xd2\x92\x9f\x71\xb2\xef\x21\x4c\xa5\x17\x95\x62\xfa\xb5\x42\x0c\x9b\x78\x14\xd5\x2b\x13\x48\xd7\xdb\x01\xbc\xa5\x4f\x1d\x6d\xa2\x61\x58\x64\x99\x56\xba\xda\xb0\x16\x40\x45\xe8\x9b\xd1\x4b\x3e\xca\x45\xb5\x6b\x29\x05\x71\xf0\x5c\x14\x6c\x79\x8b\xfb\x39\x53\x21\xd7\xa1\x0d\x80\x66\xfe\xed\x31\xff\xcc\xb8\xdc\xd9\x05\x68\xa8\x6a\xca\x40\x65\xa8\x2d\xf1\xfe\x75\x56\xd9\xd8\x10\xfc\xaa\xfe\x39\xdb\x2d\xd5\x2b\xd4\x3e\xa1\x23\xaf\x7e\x48\x88\xf7\xea\x58\x4a\xc3\xf4\x3d\x15\x4f\x7d\x98\xd1\x11\xc2\x0d\xd2\xd2\x7d\x05\x04\x2c\xbd\xac\xac\x9d\xf2\x3c\x6e\xbf\x77\x0a\x87\xa7\x05\x74\x6b\x76\x5d\x3b\x42\x77\x49\xff\xa4\x7b\x72\x6c\x84\xea\xfb\x57\x10\x0a\xe8\x72\x9b\x70\xb0\x2e\xab\x58\xa6\x7d\x72\x0a\xc1\xa2\x47\x45\x21\x2a\x74\x9c\xed\xf1\x93\x8a\xde\x22\x7b\xf5\x11\x3f\xa5\x18\x76\xb9\x9a\x27\xe0\x4a\x3e\x74\xe8\xc8\x3d\xf4\xb3\x28\x74\x4b\xfa\x07\x9d\x94\xec\x19\x64\x72\x6a\x97\xd1\xaa\x85\x0a\xea\x02\x7c\x39\xad\x9c\xd6\x0a\x68\xe5\xa2\x9f\x47\x2b\x23\x54\x7b\x0e\xa5\xe6\x02\xb9\x3c\x9d\xf6\x98\xaa\x53\xd6\x0a\x59\xbe\x02\xb5\x22\x32\xc1\x14\xa9\x66\xb2\xca\xd3\xe8\xb4\xd2\xb7\xe4\xc9\x44\xf2\x83\xb4\x2e\xe8\x7c\x83\x1b\xe9\x1b\x5e\x0d\xa4\x96\xb7\xcb\xf3\x88\x65\x2f\x77\x49\x2c\xdd\x52\x40\x2b\x87\x03\xd0\xb4\x32\xc8\x67\x91\xca\x09\x0d\xfc\x0c\x7a\x45\x02\x0b\x2f\x44\xd3\x70\x89\x65\xf2\x54\xe3\x67\x6e\xc5\xa9\xbe\x21\x9a\xf3\xcb\x9c\x6e\x3e\xd8\x12\xcf\xf9\xf9\x59\xf4\xbb\xd7\x77\xf8\xc9\xa4\xf3\xef\xfc\x93\x5e\x70\xc0\x37\x7c\x85\xfd\x18\xc8\x32\x12\x9b\x51\xe1\x9e\x45\x9e\xcf\x13\x23\x73\x32\x85\x02\xc6\xe7\x24\x22\x19\x16\xea\x2b\xd0\x69\x8c\x70\x60\x3e\xa9\x3e\xb5\xcd\x84\x3a\x91\x50\xfa\x4d\xe6\x65\x3e\x3e\x89\x5a\xb1\x06\x4a\x19\x07\xf5\x1c\xdc\x7a\x0f\x6c\x88\xb0\xd0\x99\x18\x0d\xc5\x24\x0b\x1e\x9b\x92\x74\xfb\x76\x4b\x51\xeb\x7f\xe0\x22\xa0\x63\x50\xd5\x2e\xbd\x3d\xa4\x9f\xf5\xeb\x9f\x4e\xe0\x16\x0b\x9b\x29\xf6\x44\xd2\xba\x55\x0b\x38\x57\xab\x89\x97\xab\xae\x81\xda\x85\x24\x8c\x8b\x9e\xb5\x3f\x44\xd8\x58\xe9\xe0\xdf\x36\x44\x3c\x6b\xe8\x6e\xc5\x53\x07\x8e\x1b\x52\x3c\x6e\xb9\x74\x9c\xb1\xcb\x45\x13\x11\xbb\xc3\x32\x71\x60\x72\xc3\xcd\xd4\x08\xa5\x14\x71\xde\xd7\x3a\x2b\xf3\x49\x74\x09\xab\x97\x50\x47\xb9\xfe\x20\x5e\x11\xa8\x63\x0d\x13\x94\x18\xa1\x88\x50\x8e\xb4\xc0\x2c\x12\x68\xd5\xae\x10\xdd\xf4\x0b\xe8\xf1\x6f\x94\x9c\xc8\x5b\xce\x2b\x17\xd3\xe2\x80\xb8\x2b\x01\x53\x67\xf6\x2b\x63\x33\x85\x38\xd8\xf8\x6e\xc9\x5e\xbf\xa7\xcf\xad\xaf\xa7\xf0\xc6\xed\x34\xa3\x24\x64\xfc\x40\x9f\x1c\x9f\xe7\xd3\x69\x70\x8b\xd1\xe3\xf3\x97\x84\xaa\x5d\x4c\x05\x2d\x66\x8a\x31\x93\x7f\x0a\x62\xdc\xd3\xfd\xbe\xc5\x2a\xe3\xdc\x73\x49\xe2\xb6\x51\x76\x2d\xa1\x99\x04\x19\xe9\xed\x23\xef\xa5\xd3\x99\x6a\x7f\xdb\xc8\xf3\xc5\x6d\x3f\xe4\xaf\x7d\xbc\xbd\x89\xbc\x4a\xcf\xdf\x62\x8a\x1a\x6f\xd0\x4b\xe9\x29\x5b\x28\xa3\xe6\x76\x2e\x3d\xff\xda\xe4\x0c\x3e\x30\xfa\xe9\xee\xa2\x74\x95\x07\x78\xbc\xe2\x89\xb4\x5d\x0b\x3a\x40\x12\xd2\x93\xe8\x69\x6b\x95\x6c\xd5\x81\x82\xd7\x8f\x7c\x2c\xd0\x61\x78\xe6\x85\x0e\x8d\xd8\xb3\x7a\xd6\x52\xe9\x60\xd5\xdc\xab\x7b\xe7\x44\x2e\xd1\xaf\xba\x3c\x6c\x8d\x54\xcb\x44\x0b\x38\xbf\xb7\xde\x34\xcf\x63\xa4\xd5\x1f\xcf\x1a\xf3\x8a\x61\x9d\x11\xea\x67\xd2\x34\xf1\xd0\x19\x27\xb7\x51\xb6\x81\x0e\x00\xae\x06\x86\x0f\xaa\xb6\x0d\x55\xfb\xf2\xa7\xc5\x0b\x28\xb2\x76\x05\xdc\x27\xd3\xc2\xa9\x5d\xfc\xbc\x72\xa5\xe7\x7f\x92\x65\xb1\x6e\xe9\xd3\x87\x44\x78\x84\xe2\xba\x05\x46\x2c\x56\xda\x6f\xa6\x1e\x2c\x4f\xec\x65\xcd\xbf\xc2\x52\x98\x34\x0a\x8f\xb3\xfc\xab\xa9\x77\xf9\xbc\xc6\x89\x14\x54\x99\x55\x56\x44\x1e\xc2\xa7\xd1\xcf\xab\x79\xea\xe3\x60\x50\xd5\xbe\xca\xa3\xc8\x6f\x6b\x79\xe0\x26\xe7\x7a\xe1\x68\xe7\x29\xda\x33\xb9\x67\x00\xa8\x6c\x09\x6a\xcc\x04\x22\xbd\xe6\x18\xac\x1a\xa3\xd0\x31\x72\x0b\xac\xc1\xd9\x1b\xd4\x9b\x6a\x9e\x62\x57\x3e\x02\x5d\xfb\x16\xf8\x85\xd0\x38\xb8\xa3\x0a\xac\x14\x2a\xf0\x77\x1c\x2a\x1f\x6c\x9e\x81\x55\x43\x44\x04\xf6\x3c\xa3\x1d\xe5\xc6\xa1\x9c\x31\x74\x82\x04\xd5\x74\xf5\x0a\x34\xe2\xe0\xa0\x71\xee\x4a\xc7\xcf\xad\xfc\xf7\xdc\x18\xdd\x4f\x72\xba\x73\x2d\xff\xa2\x6c\x92\xf1\x80\x27\x24\xb0\x36\x46\x85\xb5\xc7\x82\x5b\x21\xc6\xb7\x7e\x7f\xf4\xa3\x4f\x5f\x71\x91\x71\xfe\x4d\xbd\x83\xce\xe4\x93\x26\x52\xfc\x40\x6a\x50\x52\xff\x42\xea\x87\x48\x71\xab\x5f\x10\x67\xf0\x18\x88\x00\x06\xb3\xe5\x2c\xbd\x87\xe8\x77\x06\x46\xfd\x19\x54\x3f\xc4\xa7\xd0\x0d\x36\x6d\xe3\xaa\xcf\xc8\xad\x86\xce\xcf\xc3\x2b\xed\xdc\x39\xdb\xcf\xe3\x72\x21\xdf\x86\xa9\xd7\xeb\xf4\xb3\xfc\x47\xa4\x3b\x63\x6f\xa8\xf4\x19\xfe\x35\xdb\x03\xd1\xad\xfa\x8e\xb2\xed\xd2\xe5\x3e\x61\x4a\x58\x98\x86\xd4\x48\x60\xc7\xd4\xc3\x7d\x60\x3d\xc9\xb7\x15\x58\x55\x28\xf5\xf4\x16\xd7\x08\x92\x03\x60\x75\xbb\xa9\xd1\x83\x25\x06\x9c\xf6\xb4\xc3\xda\xe7\x57\xa9\xb6\x0b\xed\x82\xca\xac\x68\xf2\x16\x2a\x5f\xc9\x72\xce\xdc\xe3\xbe\xae\x73\xd1\x9c\xa1\x50\x67\xdd\x0b\xd2\x6e\x8c\xaa\x55\xbf\x3c\x2a\xc2\x55\xae\xb1\x0a\x8a\x67\x6e\xbf\x00\xce\xae\x88\x31\xcb\xd8\x7b\x89\x34\x17\x12\x83\x79\x31\x8f\xc2\xd5\x50\x38\x97\x5a\x9d\x3b\xcf\xcb\x14\x99\x26\x38\xfd\x1d\xb3\x8e\x8f\x36\x82\xa9\x39\xa2\x14\xc2\xab\x63\xdc\xd3\x36\x1d\xe9\x8d\xcf\x97\x0d\x8d\xa0\x0e\x38\x63\x82\x3e\xf6\x93\x33\x9b\xb9\x17\x8d\x1b\x1f\x34\xdf\x8c\x60\xfd\xa8\xb7\xba\xde\xe7\x17\x11\x43\xab\x48\x17\x55\x32\x31\xbd\xfd\x21\x1a\x41\x62\x94\x5b\x9d\x4d\xd8\xb1\x8c\x40\xfd\xb1\x42\x3d\xed\x8f\xdd\xf4\x6c\x36\x16\x52\xee\xee\x43\xbc\xd2\xb5\x5f\x57\x64\x57\xc1\xc9\x7e\xa4\x63\xf5\x44\xe5\x9e\xd4\x51\x9d\xcc\xd0\x6c\x18\x07\xd3\xae\x6a\x44\x91\x10\x1c\x02\x6c\x7e\xd3\x8a\xe1\xa1\x25\x98\x43\xa4\x93\xff\xa9\xff\xf0\xfa\x4c\xc5\xc6\xbb\x94\x1c\x0f\xc1\xc9\x69\xcf\x5d\x1f\xfe\x16\xa8\x51\xbf\xe1\x58\x6c\xda\x49\x1b\x7b\x76\x85\x7a\x79\x6e\x70\xac\xd6\xc3\xde\x37\x4e\x87\xb1\x6b\xa9\x0e\xd8\x88\x68\xe5\xaa\x7f\xa6\x9a\x76\xcd\x55\xe7\xb4\x6b\xf3\x24\xc8\x7d\xa9\x8a\x07\x54\x3f\xd8\xb8\x76\x71\xcb\x23\xd3\xa0\x6b\x4d\x32\xeb\xa8\x1e\xe8\x37\xdc\xde\xa5\x41\x0b\x8f\xc4\x7f\xf6\xbb\xfd\x7a\x54\x11\xc4\x2b\xa7\x18\xe2\x31\xc4\x1b\x81\x84\x94\xa6\xb6\x15\x5d\x41\x2a\xa4\xc8\xf1\x2c\xd1\x44\x0e\xd6\x9b\x3c\xc9\x1e\x4c\x3a\x50\x73\xa0\x45\x94\xa5\x26\xaa\xe4\x26\xb8\xef\xe7\x36\x63\xcf\x3a\x50\x77\xb4\x6d\xac\x89\xc8\x0a\x83\xcf\x87\xfc\xa5\xba\xb9\x2e\x0b\xbc\x0d\xc9\x73\xea\x03\x6e\xc6\xb9\x65\x91\xf9\x71\x5a\xfb\x88\xe1\xca\xee\x76\xaf\x11\xd8\xdc\x9b\xe9\x1e\xb7\x47\x38\x36\x3b\xde\x44\x8b\x7d\xc2\x46\x36\xa8\x4f\x04\x30\x7f\xfd\xd7\x13\x8d\xe7\xe4\x55\x9e\x3b\x32\x54\x79\xf6\xc8\x50\x7c\xde\x06\x26\x72\xfe\x45\xcd\x03\x3a\x9b\x19\x0c\x35\x20\xc8\xa7\xb6\xd0\xf2\x9a\x72\x76\xe0\x2d\xf5\x33\x3e\x99\x3d\xe6\x9b\xe2\x41\x0c\xc9\x66\x23\xfb\xe7\xf6\x40\xeb\xf3\x45\x75\x73\x6d\x72\x59\x12\x13\xa4\x6f\x3a\xae\x4c\xf5\x74\x93\x1d\xfa\xe2\xb4\x68\x8e\xe5\xc9\xa7\x83\x32\xb2\x27\x72\x41\xc1\xc7\xe4\x23\xa6\xf4\x3b\xe0\xa6\x74\xf4\x52\x8a\x7c\x74\x3c\x97\xa6\xe8\x2b\x4e\x1d\x0a\xfe\x01\xe9\xc9\xf2\xdc\x60\x48\x8f\x97\x6d\x13\xa7\x16\xdc\xf2\xcc\x7a\x51\xac\xee\xa6\xe3\x7b\x4d\x97\x0f\x13\x4d\xcc\x9c\x23\x2e\xf4\x43\x2e\xaa\xf9\xd1\x29\x39\x25\x1f\x27\xaa\xd5\xfd\x5a\x1b\xeb\xc7\x4d\x33\x19\x46\x72\xc7\x6f\xe9\x17\x67\x2e\x56\xda\xd8\x54\x47\x4a\x56\x34\x47\xc0\x13\xd4\xb4\x83\xe8\x29\xee\x4e\x93\x6d\x5c\x04\x8d\xd2\x51\x14\xb6\x4a\x47\xb1\xa7\xcb\xad\x5a\xeb\x42\x08\x87\x08\xfe\x0b\x86\x79\x9a\x18\x57\xdf\x64\xd8\xc4\x45\x43\x6d\x4b\x9f\x94\x12\x09\x22\x1b\x1a\x17\x34\x87\x0f\xf0\xaf\x85\xea\xd5\xd8\x93\x2f\xb2\xf9\xb8\x81\xa3\x8e\xd5\x72\xa6\xfc\x9d\x2d\x83\x76\xae\x17\x0a\xe9\x7d\x59\x87\xec\x06\x3c\x75\x65\x5f\x24\x03\x62\x3a\x42\xfb\x69\xd5\x63\x08\x80\x39\xff\x84\x09\x0b\xe3\x75\x43\xde\x0b\x9b\xa6\x36\x9f\x97\x9c\x80\xe9\x83\x3a\xcb\xae\xaf\xdc\x00\xab\x3b\x2c\xea\x83\x24\xb0\x61\x75\xe2\x57\x85\x6f\xf1\x71\x39\xa5\x1a\x8a\x5b\x89\x8c\x3d\xcc\xb3\x5d\xeb\x10\xcb\x0b\x36\x0b\x14\xd8\xd9\xcc\x32\xac\x05\x16\x5a\x27\x18\x62\xbd\x97\x67\x18\x1a\x0e\xa4\x46\x6d\xe5\x32\x14\xee\xcc\x3a\xcc\x44\x19\x0f\x3b\xb9\xe4\xdd\xe3\x2f\x62\x44\xad\x67\x40\xa8\x77\x25\x0a\xbd\xf5\xf6\x98\x6e\x06\xaa\xb3\x60\x2d\x75\x6d\xe2\xa8\xb3\x74\x7a\xdb\x0d\x22\xee\xd6\x11\xc3\x2d\x53\xec\x23\x9d\x3a\xf3\xaa\xa7\xac\x43\xad\x43\xac\xbc\x2a\xcc\xa4\x7e\x5f\x94\x11\xcd\x80\xc5\xd2\x21\xc5\xfa\x29\xf9\xa1\x27\x29\x82\x3c\xb1\xee\xd3\x60\xbe\xd6\x96\x62\x37\xd7\xed\x08\x07\x89\x55\xa5\xfb\xa9\xf8\x68\xa5\x21\x90\x4c\xc3\x67\xa9\x55\x88\x33\xc4\xea\xc3\x8b\x79\x22\x86\x7a\xfd\xe5\xcb\x0a\xfe\x2d\x87\x64\xbf\x26\xa8\xda\xb8\xd9\x75\xe1\x93\x76\x69\x75\xc4\xd0\x45\x6b\x64\xa7\x66\x2e\xb7\x1a\x56\x9e\xbe\x2a\xd5\x03\x17\xf5\x2c\x33\x25\x57\x2d\x56\x34\xd9\x9e\x47\x89\xe2\xe8\x12\x86\xcb\x2b\xc4\x88\xe5\xca\xc7\x02\x2b\x66\x67\x30\x4b\x2a\xdf\x00\x5a\x20\x05\x06\x5c\xe1\x11\x95\x76\x29\x9a\xbf\x2c\x8c\xe8\x52\xbd\x29\x88\x79\x71\x6a\xd9\x99\x16\xd8\xe8\x77\xe2\x94\xb2\x13\x75\xb8\x1a\x30\xeb\x88\x4a\x9c\xf1\xaf\x31\x6b\x71\x88\x90\xd8\x90\xc6\x77\xd9\xf9\x0a\xf2\x50\xf9\x0a\xf1\xac\xcb\x41\x9e\x6d\x2d\x43\xac\x06\x5c\xbf\xee\xcc\xdb\x28\x60\x67\xf5\x18\x9b\xcd\xf6\xe8\x37\x65\x0a\x1c\xfb\x00\xaa\xda\x9c\x6d\xd7\x07\xc3\xaa\x32\xda\xe2\xea\x95\xfc\xe5\xdb\xe9\x06\x90\x7d\xd0\xac\x04\x7c\xfb\xb5\x8a\xa3\x8a\xfa\x0a\x31\x08\x9a\x26\xef\x77\xc8\x5e\x79\xae\xd1\xdb\xa3\x91\x1d\xfa\xa2\xc9\x76\xe7\xca\x96\xe6\x1e\x37\x89\xf5\xab\x66\xfd\xc4\x85\xab\xac\xe0\xca\x56\xae\xc6\x2e\x2f\x5d\x05\xfc\x5e\x3f\x6e\x5c\x2d\xf5\xa2\x2c\x3f\xe3\xc9\x56\xbe\xe6\x1c\x53\xa1\x97\xae\x3e\xfd\x80\x73\x56\x8c\x7c\x71\xe8\x91\xe9\x20\x73\x93\x80\x2e\x58\x33\x31\xe7\xa9\xb9\xd3\x54\xa4\xab\x27\xba\x53\x38\x73\x74\x65\xdd\xf1\x0a\x26\xd4\x80\x9f\x75\x12\x1b\xc7\xbf\x67\x9d\x50\xfa\xcb\x49\xd3\x92\xe7\xde\xa7\xb9\x0d\xea\x75\xfb\xab\x6c\xd4\xe7\x4f\xd3\xad\x5a\x17\x05\x73\x04\xc8\x22\xab\x0b\x47\xa6\x04\xa7\x5a\xc6\x58\xaa\x6c\xd2\x9e\x3f\xbc\xb5\x3a\xc1\x0a\x86\x07\xc8\xe5\xe1\x7d\x38\xc2\xa1\x78\xd2\x8d\x6f\xcf\x86\x9b\xe9\x50\x88\x90\xe2\x84\xab\x46\x65\xf7\x5a\x6e\xe7\xf9\x84\xe3\x97\x4a\xc8\x5d\x44\x3b\x03\x2e\x60\xa8\x25\x23\xa9\x78\x68\x7d\xdd\xbb\xf2\xc9\x42\xb6\x8e\x9f\x72\x57\xf0\xe2\xcb\xc2\xe9\x9b\x16\xa0\x47\x3b\x97\x9d\xf2\xdf\xc1\x44\x6a\xb0\x27\x83\x7d\x3e\x28\x4e\x5d\x3e\x20\x22\x6d\xcb\x5d\x0d\xea\xd0\x57\xc0\xf5\x3c\x11\x8e\x2b\x2c\x99\xe2\xbc\x1b\x9f\x37\x4a\x9a\xb5\x3e\x0f\xa0\xa7\x91\x83\x8a\xe7\x4d\x94\x8e\x3f\x55\xda\x33\x0b\x3f\xa9\x77\x1e\x25\x61\x9b\x80\xd8\xb5\xe5\xd4\x84\xb3\x7a\xd6\xe4\xa9\x19\xd3\x79\x68\xfc\x29\xd4\xcd\x46\xe7\xb0\x78\xc6\x7e\x21\x5a\x01\x53\x42\x19\x0d\x3e\x89\x2e\x9a\x37\xf8\x43\x16\x71\xa4\xed\xaf\xb0\x88\x3f\xe0\x5e\xa4\x32\x3e\xe6\xe0\xcb\x64\x01\x57\x64\x3d\x12\xc2\x55\x9c\x47\x10\xd1\xb5\x94\x3e\x84\x66\x41\xda\x5b\x1f\xde\xbe\x9d\xfa\x8a\x27\x02\x74\x9b\x03\xa1\x9a\x8d\x4c\x8d\xda\xf6\x58\x31\xdc\xd1\x47\x3c\x57\xa6\xf1\x73\x08\x1f\xc8\xb0\x18\x99\xd2\xbc\x57\x3d\xed\xbf\x73\xaf\x4b\x25\xb5\x83\x35\xac\xf4\x5f\x20\x2a\x44\x86\xb1\xab\x2b\x71\x00\x91\x96\x9b\xb4\xa3\xa6\x5d\xa7\xa2\xce\xd7\x46\x94\x63\x75\x89\x7f\x64\x32\x18\x58\x25\x5a\x40\xb2\x3d\x2a\x66\x12\xe6\xdf\xb1\xef\xf0\x14\xd0\x74\x70\xc4\xc9\xb7\x94\x3e\x4c\xe9\x7e\x9c\x71\x0f\x14\x62\x3b\x1b\x3f\x77\x35\xe0\xe2\x15\x74\x87\xeb\xbc\x4b\x73\x04\x7c\xd2\xa6\x62\x50\xe7\x79\xa7\xe1\x5a\x49\x6b\xca\x3a\xb7\xf6\x45\x3b\xe9\xce\xfd\x3b\x1c\x50\xb9\xa3\xa8\x60\xb7\xaf\x9d\xc3\x2e\x4b\x6c\x7e\x81\xb4\xa1\x95\x8a\x9b\x93\xdb\xab\x21\xb6\x50\xd8\x70\xb2\xed\xd5\x2c\xc5\xb9\xde\xb2\x6a\x19\x45\x8c\xa6\xd4\x2f\xaf\x23\x5f\x9b\xf1\x4e\xfc\xcc\x66\x38\x8f\xb5\x99\x27\xd4\x49\xf2\xa8\x28\x7c\x99\x5c\x77\x78\x80\x8c\x48\xc2\xb1\x39\x39\x5d\x34\x15\xf1\x50\x89\xb5\x95\x24\xce\xc9\x84\xc8\xaf\x9a\x18\xfe\x24\x52\x74\x63\x2b\xc8\xd0\x46\x47\x51\xba\xa2\x8c\x36\xe1\x9e\x0a\xd4\x3a\x69\x6c\x43\x6e\xa3\xa6\x8c\x61\x3e\xd0\x7e\x72\x0e\x22\xf2\x70\x57\x9b\x29\xa1\x9a\x3b\xf3\x03\x86\x14\xaf\x3c\xf7\xb6\x48\x87\xa8\xcc\x91\x72\x21\xf1\x73\x69\xd5\x22\x71\x6d\x8f\x9f\x82\x1e\x57\x35\x1d\xdb\xa6\xda\x66\x93\x41\xd7\xe9\xb0\x02\x25\xdb\xe2\xc6\xb5\x19\x3a\xc5\x4c\xe8\xa4\x90\x48\x11\x79\xc9\x73\x83\x10\x45\x9a\xf2\xe4\xc5\x74\x37\x05\x0d\x4a\x56\xc0\x90\x3c\x06\xcd\x22\xc8\x4c\x12\x87\x94\x8a\x7a\x31\xea\x50\xe8\x89\xd2\xb6\x93\x86\xf1\xeb\xc9\xb8\xe6\x56\x05\x41\xab\x0f\x64\x6e\xb4\x14\x50\xd7\x91\x8a\x59\x35\x49\xd0\xce\x29\xa1\x84\x22\xd5\xad\xed\x80\x32\x66\xf9\x80\x51\x3f\xc5\x72\x51\x06\xce\xe3\xb0\x67\xa8\xb1\xfc\x5b\xf4\x75\xfe\x92\x30\x42\x57\xc0\x2b\xcd\x63\x08\xa5\x8d\xfc\x9c\xd8\x31\x9f\x75\x90\x73\x95\x69\x79\x0a\x7b\xc3\x30\x65\x0d\x66\xd5\x08\x46\xe2\x1c\x98\xd5\x59\xea\x2d\xd0\x92\xc3\xdc\x74\xca\xd4\xd2\xe4\xf0\x4b\xc5\x80\x3b\x20\xa5\x66\xc8\xba\x47\x7b\x90\x93\x0e\x7a\x08\x57\x34\xad\xca\x7e\x92\x7d\xc7\x4c\x05\x4b\xed\x3e\x9b\x66\x83\x8c\xf4\xc3\xea\xb5\x41\x75\xcf\x7d\x21\x3f\x6a\x9a\x9c\x9e\xe2\x95\xb1\x26\x82\x2c\x29\xb8\xf9\xd6\xd5\x5c\x24\x2c\xd6\x66\x4b\xc4\x3e\x21\xce\xe6\xb1\xb5\xf4\x48\xf9\xf4\xca\x98\x59\x08\x6e\xec\x35\x92\x1b\xc2\x16\xf5\x7a\x27\xcf\x4d\x7f\x12\x3d\x52\x96\xc9\x93\x1d\x5e\xa6\x6d\xb0\xe2\x56\x92\xe9\x88\xa2\x3a\xff\x19\x65\x30\xef\x69\x45\xb3\x33\x21\x5f\xfb\xaa\xce\x4c\x4d\xea\xcd\x8f\x4f\xf3\xb9\x21\xfd\x69\x5f\x03\x53\xfb\x67\x7d\xeb\x05\xda\xa7\xb2\x49\x55\x58\xff\x84\xce\x93\x7b\x20\x7d\xf1\xe8\x07\x08\x87\xac\xc7\x5d\xd6\x3a\xe5\xe5\xc4\x95\xe0\x54\xfb\xe9\x53\xa6\x20\x0a\xc3\xa9\x81\x16\xd2\xe7\x4c\xa5\x0d\x14\x0c\x2b\x80\x22\x81\x00\xe5\x7f\xc5\x45\x75\x63\xe2\xb5\x21\x8e\x55\x06\x02\x98\x7d\x10\x51\x91\xfe\x11\x33\xe1\x9a\xd1\x42\x62\xc5\x3d\x24\xcd\x87\x14\xa9\x40\x1f\xe3\xf7\x29\x68\xd5\xd0\xea\x3f\x0a\x4f\xb1\xc4\x3e\x9d\x37\xdd\x1f\x6d\xe3\xda\xe7\x20\xb2\x5d\xe7\xe3\xf3\xae\x24\xdc\x6d\x71\x03\xf1\xff\x78\xee\x43\xf6\x33\x80\x07\x83\x41\x3b\xbb\x76\xb6\x97\xbe\xf5\x55\x77\x4e\x86\x14\xf3\x0d\x94\xed\x54\x6a\xef\x64\xda\x9f\x6f\xa1\x6c\xfb\x60\x61\xb6\x47\x5d\xbe\x75\xdb\x36\xd8\x73\x01\xbc\xb0\x65\xb2\x3b\xa5\x61\xb2\x2b\x6c\x97\x28\xd3\xc4\x92\x96\x47\x2e\x37\x03\x84\x57\x36\xc6\xdc\xcb\xed\xab\xc4\x18\xc5\x1d\x97\xe4\xd7\x69\x26\xca\x5a\x5f\x9e\x50\xff\x03\xa7\xcd\xe7\x40\xdb\xf6\x84\xc6\x8d\xe5\x5b\x59\xe3\xae\x21\xfa\x57\x6e\xdf\x77\x16\xb1\x81\xfa\xe9\xae\xe2\x88\x34\x1e\x83\xf3\x8a\x08\xc9\x9f\xd4\xb4\xe7\xa4\xc1\x4c\x85\x59\x84\x74\x1f\x72\x2e\xc0\xf3\xb1\x6a\x21\xbc\xe4\x01\xf7\xd5\x3f\xfd\x30\x25\x9e\xd3\x6c\x93\xfa\xfd\x2f\x7f\xa9\x1a\x74\xe4\x7e\xc0\x7d\x30\x4b\x3f\x69\x8e\xc0\x5a\x3d\x37\x47\xf6\xd0\x4e\x5f\x32\x39\xb3\x26\x51\x6a\xc5\x04\x38\x3f\x7b\x8c\x7a\x9e\xc9\xae\xf7\xdf\x88\x0a\x7f\x21\xbc\x50\x70\xa3\x1e\x4c\xef\x55\x54\xcd\x29\x15\x67\x72\x00\x4b\x8e\x5a\xe2\x14\x2f\xad\x4b\xdd\x6f\x2f\x81\xba\x7d\x3d\xf5\x54\xbb\x67\x5d\x54\x6f\x2f\xf6\x17\xe7\xd6\x4b\x6b\x32\x8a\x4d\xbd\xd4\x0a\x6f\x38\x47\xaf\x49\xa2\x69\x48\xed\x6b\x48\x11\x28\xab\x9d\x11\x19\x8f\x25\x51\xe8\xae\x74\x8d\x05\x22\xad\x09\x52\x78\x42\xb8\x66\xe3\x9c\x04\xb1\x23\xb5\xc2\xdf\xb3\x96\x16\xa5\x6e\x30\x56\xfd\xe5\xc4\x89\x15\x85\xae\x25\xce\xfd\x6f\xfd\x33\x9d\x08\xc9\x22\xeb\xcd\x11\x79\x8c\x46\x1c\x39\xae\x26\x25\xf6\xff\x4b\x1c\x39\x22\xae\x17\xe2\xa5\xe6\xff\x19\x39\x21\x38\xe9\x7c\x05\x3b\xfd\xe4\x36\xc8\x46\x56\x2a\x0f\x9c\xe4\x4c\xf4\x09\x1b\xc1\xf3\xa5\x9c\x67\x58\x8e\xfa\x54\x9a\x9f\x72\x78\xd7\x56\x08\xa2\x25\x6b\xee\xfd\xeb\xc8\xac\x3c\x27\xcc\xb0\x0f\xcb\x92\x1f\x65\x76\xbb\xc3\x4f\x66\xbe\xe2\xfa\xec\x94\xa0\xed\xa5\x42\xa4\xef\xc3\x5b\x30\xdc\xca\x2a\xe4\x7d\x7c\x84\x3a\x1c\x7e\xfe\x05\x68\x8f\xe2\xd4\x27\xf3\xa1\x0a\xf5\xc2\xbb\x6c\x19\x46\x4d\xf2\x06\xf6\x41\x25\x4a\x61\xe7\xbe\x42\xaa\xda\x14\xdb\xca\x9c\x7a\xa5\xaf\x2d\x57\x75\x22\x89\xde\xf7\xb8\x76\x02\x86\xe9\x53\x6f\x61\x84\x59\x0e\xc3\x85\x14\x89\xdf\xe1\xf0\x93\x93\x34\xb9\x50\x4c\x66\x43\x62\xd6\xa5\x50\x00\xaf\xbf\xa7\x8f\xf1\x85\x5e\x7d\x99\xa5\xdb\xc9\x30\x40\x1a\x1a\xed\x44\x96\xca\x26\xc8\xfc\x74\xba\xa8\x43\x14\x7e\x5f\xa0\xec\x0a\xe3\x87\xfc\x10\x00\x51\xc2\xf6\xd4\xb3\xcf\x6b\xd1\x28\xa7\x46\x9e\x31\x60\xfc\xa0\x82\xb5\xbb\xd1\xe2\x94\x8c\xd5\x71\x48\x01\x71\xa1\xbc\xba\xe5\x9a\x03\xbc\x28\x7f\xdc\x0b\x87\x10\x3b\x79\xa0\x89\x59\x80\x5e\xfc\x65\x20\x3a\x88\xfa\x1d\x46\xcd\x77\xca\xe8\x6a\x32\x49\xf0\x43\xbb\x6b\x0d\x81\xf6\x53\x62\xf8\x91\x4a\xbe\x0c\xe9\x58\xfa\x59\x7f\x6f\xf1\x09\x9e\x6e\x49\xb1\x8b\x29\x2e\x58\xb2\x56\xcb\xa6\xfc\xda\xdc\x07\x78\xf9\x5e\xa4\xb6\x3b\x89\x06\xd3\x23\x59\xd6\xd5\x8a\xd3\xf4\xb3\xef\x1d\x6b\x92\xd2\x74\x24\xae\xde\x07\x35\xcd\x3c\xe6\x60\x20\xd9\x08\x93\x8c\x4e\x91\xe5\x74\x7d\x90\xb1\x00\x29\x52\x4d\x39\x96\x82\x1f\x14\x72\xc9\x7e\x5b\x14\x7a\x1d\x84\xb8\x42\xf6\x01\x95\xfb\x1d\x64\xb2\x75\xc8\x57\x06\x50\xe1\x8f\x27\x9c\x6a\x47\x2b\x1c\x6d\x3d\xd8\xa2\xdc\x1f\x4d\x96\x98\x79\xcb\xe9\x18\xf2\x64\x59\x66\x54\xf7\x58\x44\xe9\x68\x52\xdb\x89\x6c\xd0\xb0\x1b\x1a\xb2\x68\xc4\xc9\xa3\xe3\x44\x13\x00\x77\xb7\x95\x66\xff\x71\x9c\x89\x83\x77\x74\x86\x63\xbb\x25\x1c\x7c\x0c\x3d\x73\xb1\x84\xc2\x4d\xb5\xab\x7f\x30\x49\x2a\x8b\xe8\xb2\xf8\x5e\x8f\x83\x0b\x15\xe4\xb4\xb7\x76\x6e\x84\xbb\x71\x29\x9e\x49\x39\x3f\x3a\xc9\xb3\xb8\x69\x8e\xdb\xdd\x3c\xe2\xe0\x2c\x64\x87\x47\xf1\x03\x19\xec\xcb\xcb\x75\x4c\x49\x53\x37\x13\x61\x5e\x94\x46\x91\x57\xc3\x1d\xdc\x4c\x2e\xa7\xe6\x9a\xba\xbe\x92\xe7\x14\x08\xb9\x4c\x82\x62\x39\x09\x5c\x50\x86\x5f\x9e\x1f\x59\x3e\x6d\x1f\x49\x33\xcf\xe7\xe3\xb2\xbb\x7d\x85\x7a\xd2\xc1\x66\xb5\x03\x89\x44\xae\x97\x1d\xdb\x6c\x21\x79\x59\xe0\xa9\x0f\x95\x26\xeb\x17\xc9\xc1\x98\xb8\x16\x1d\x82\xa0\x89\x6e\x9a\xb6\x7d\x48\xb4\xf0\x4b\x50\xf1\x8f\xf9\x56\x7e\x49\x64\x19\x6f\x07\x51\xbc\x38\xcc\x8c\xf6\x54\xc8\x47\x7e\x22\x67\x7c\x4d\x1b\xbc\x9e\x64\x03\xe1\xd7\xdd\xf2\xe5\x6f\xdb\xf8\x51\x60\xe0\xea\xe4\x91\xa9\x38\x66\x8f\xa0\xe5\x05\x33\x5e\x4d\x40\x95\x8f\x7a\x47\x58\x57\xc9\x0f\x79\x12\xd6\xb7\x5f\x10\x24\x7e\x84\xf4\x8f\x1d\xee\x15\xaf\xcb\x5f\x4f\x4d\x42\xea\xa1\xbe\x61\x94\x34\xe7\x95\x68\x5a\xb2\x2d\x55\xb0\x4b\x2e\x79\x83\x86\xc1\xc6\x56\xba\x91\xd7\xa6\xa0\x0f\x58\x33\xd3\x86\x0f\x25\x3d\x78\xbf\x4e\x36\x77\x23\xd8\xd7\x42\x9e\xec\xf5\x87\x35\x9c\x5b\x0c\xff\x3e\x12\x86\x9b\xd7\xf6\x5f\x12\xdd\xe3\x27\xcc\xcc\x99\xab\xad\x03\x4c\x57\x95\xc2\x01\x94\x8e\xea\x37\xd9\x96\x31\x65\x60\xd5\xe5\xea\xc6\x0f\xee\x03\xdd\xdd\xb5\x88\x1f\x6a\xbd\x3a\x1d\x07\x5d\x25\x67\x86\x7c\xc4\x3a\x83\x8f\x5e\xb8\x8f\x04\xe9\x9f\x65\x2d\x3f\x78\xba\x3e\xab\xdc\x04\xc6\x48\x32\xe3\x6c\xc4\x26\x79\xd8\xe0\x64\x34\xb6\x26\xcb\x26\xf5\xb8\x3e\xea\x1a\xfc\x48\x6a\x7c\x51\xdd\xec\x7b\x0a\xe3\xde\x55\xb3\xce\x7a\x2b\xf0\x59\xa7\x4a\x7c\xdb\xa4\x13\x1a\x16\x67\x33\xd4\x63\xa8\xdd\xac\x86\x85\xeb\x67\x14\x54\x19\xa9\x6c\x46\xd6\x6e\x06\x86\x77\xe4\xcb\x99\xce\xcc\x68\x66\x97\x82\x4d\xf6\x77\x0a\xe7\x51\x0d\x0d\x83\x6f\x2a\xc1\xf1\xa6\x45\xfd\x7e\x33\xa0\xfa\x61\xe3\xdc\xdb\x6f\xc0\x40\x46\x16\x8d\x10\xeb\x0d\xd5\x0f\x66\x45\x79\x0d\xa8\x60\x48\x9b\x4e\x85\xb3\x74\x82\x40\xc0\x5a\xb6\xfb\xc5\x4d\x7b\x55\xe3\x9e\xc3\x94\x6d\x8f\xd5\x9e\x3e\x62\xd6\xcb\x2d\xc6\xbf\xbf\x59\xaf\x26\x9d\xb7\xee\x2f\xc3\xfb\xd9\x17\xe5\xcc\x6e\xb4\x84\x61\x23\x48\x87\xe9\x28\x36\x1d\xcc\xe7\xaf\xf4\x66\x65\x84\x0f\xf0\x36\x55\xa5\xaf\xcd\xb2\x22\xbd\x4e\x80\x4c\x77\x55\x4b\xb6\x62\xff\x48\xe5\x15\xaa\xa3\x9c\xe8\x54\x5b\x0d\xb6\x97\xaa\x5c\x43\x46\x31\xa1\x9b\x95\xb4\xa5\x23\x4b\x34\x25\xdf\xb4\x26\x8c\x85\x75\x47\x94\xbd\x80\xb8\xd8\x1d\x69\x5b\xa2\xf5\x3c\xdf\x9e\x4f\x9f\x30\x19\xc5\xd0\x36\x48\xda\x0b\x83\x95\xb4\xc7\xf3\xb1\xde\xec\x4c\xfa\x47\x54\xa9\x71\xcb\xa6\x50\xa5\xc0\x3a\x94\xb6\xb1\x50\xb2\xa9\x42\xa7\x5e\xa9\xec\xd2\x30\x54\xd2\xe1\x13\x7a\xa3\xdb\x9c\x75\xe7\x83\x0e\xf0\x65\x82\x7c\xd8\x70\x22\xd0\x45\x20\x01\xe9\xa7\x8e\xf2\xd7\x5e\x9e\xc0\x27\xfc\x0d\x53\x9f\x97\x68\x43\x72\x48\x42\x7b\x1a\x4d\x9f\x70\xc5\x0f\x60\x62\x79\x40\xfd\x1e\x82\x9c\xe8\x71\x85\xe3\x20\xfd\x7e\x61\x10\x36\xd2\xca\xd2\x20\x3c\xf3\xb9\x17\x74\xdf\x4e\x82\x8d\x99\x32\x73\xad\xd8\xc9\x93\xd0\x1f\x0a\x1c\x2f\x9b\x16\xf7\x7b\x71\xd8\x74\xe8\x8b\x3b\x10\xf5\x2b\x18\x50\x2a\x5c\xf5\x4a\xff\x44\xfa\x6a\x14\xbb\xff\x01\x57\x1f\x84\xc7\x98\x45\xf5\xd2\x86\xb0\x1b\x88\x2e\x02\xaa\xe3\xcd\x94\xa2\x7c\xb6\xc9\x19\x1d\xfb\xa6\x02\x96\x8b\x57\xaf\xe0\xbf\xf2\xdc\xc5\xfc\x5b\x30\xa3\x7b\xa4\xa4\x76\xcc\x1c\xe0\xfe\x52\x79\xe5\xe0\x13\x80\x51\xca\x0b\x71\x40\x73\x4a\xe9\x65\x6a\x16\x65\x87\x18\x88\x66\x38\x08\x93\x02\xa5\x0c\x27\x7f\xc7\x73\x1a\xe8\xa7\x28\x08\x82\x61\x1f\xb8\x12\xf0\xa8\x3b\xb3\x39\x9d\xe1\xf0\x44\x42\x07\x9b\x90\x2c\x84\x87\xae\x37\x74\x30\x1e\x3b\x92\xa5\xbd\x59\x05\x0a\x8a\xa6\xde\x88\x2f\x62\xd3\xd0\x0e\x91\xde\x26\xf5\xbf\x86\x3f\x95\xbf\x88\x17\x19\x06\xf7\x35\x3b\x0e\x92\x2b\xbd\xbe\x82\xb6\x94\x6e\xf0\xfa\xe3\xba\xba\xff\x8f\x7b\xb9\x9b\x29\x8b\x1a\xaf\x0e\x3f\x0d\x9b\x7a\x72\x37\xf3\x4d\x3b\x5b\x02\x1e\x32\x6a\x5b\xc8\xeb\x61\xf5\xd3\xca\x71\xa5\x55\x69\xdf\xa7\xbb\x5a\xd9\xf1\xd5\x73\x6f\x34\x63\x26\x26\x97\xee\x06\x6c\xfa\xe4\x87\x3e\xf5\xed\xd1\x17\xe9\x55\xf2\xb6\x00\xb6\xd4\x9d\x50\xd9\xfa\x34\xa9\x35\xea\xe5\x64\xea\x84\x1b\x71\xb1\xdd\x5b\xf9\xcf\x29\x51\xe8\xa4\x8c\x83\x2b\xf3\xb5\x12\x74\x10\x51\xe9\x2a\x15\x11\xdf\xb4\x6d\x75\x40\x8f\x58\x27\x41\x67\x18\xe8\x0a\xae\xef\x90\x25\x17\xb7\xc3\xc5\x1e\x8b\x59\xca\xe1\xe7\x6b\xe0\xd8\x13\x62\x8d\x09\x2b\x36\x5f\x75\x93\xcd\xfc\x14\x4a\x04\x64\x04\x6a\xe8\xb6\xb6\x5c\x5f\x54\xde\x23\xaa\x93\x06\x7c\xa1\x01\x26\x56\x88\xc7\xbf\xec\xc9\x6e\xa3\xbc\xd1\x36\xb1\x94\x8b\xe6\xfa\xda\x52\xe1\x30\x04\xda\xa3\x4f\x4e\xf6\xfb\x9b\x77\xbe\x8d\x10\x70\x50\x1b\x58\x03\x1b\x37\x73\x79\x7a\x19\xa9\x2a\x7a\xd9\xd8\x2a\x6e\x9b\xdd\xfe\xc4\x3e\xca\x9e\x91\x0e\x56\x4f\x10\xd8\x25\xca\xa1\xdc\x2e\xf1\x26\xdd\x9c\x45\x82\xec\x41\x6a\xf3\x4d\x84\x19\x10\x03\x0b\x9c\xef\xd0\x30\x28\xcb\xac\x8b\x77\x94\x55\x58\x3f\x01\xc4\x05\x9c\xfa\x3e\x57\x73\xd1\xe1\xef\xad\x9a\x58\x59\x73\x69\xc2\x40\x6b\x20\xb4\xfc\x9f\x06\x70\xae\xf0\xa8\x69\xb4\xa1\xc9\xf7\x50\x4d\x57\xd8\x62\xa7\x0e\xb0\xe5\xc3\xc0\xe8\xc0\x20\x6e\xa2\x93\x6b\x4c\x9e\x92\x9c\x56\xb4\xbf\xb8\xb8\x88\xaa\xe0\xca\x0e\x3f\x27\x22\x96\xdf\x0a\xac\xb3\xc5\x6b\xc4\x2e\xe6\xc2\x7b\x44\x6b\x80\xeb\x96\x8e\xcd\xa6\xc1\x2d\x3a\x4e\xec\xcb\x13\x06\xdd\x1e\xdd\xed\x5a\xd2\xe3\xf3\x6a\x3b\x0a\x23\xa9\x86\x63\xcf\x09\x5d\xab\x17\x1f\xd8\xc4\x40\x2b\xde\x33\x4e\xb7\x50\xf5\xae\x6e\x59\x9d\xf4\x91\xaf\x7b\x77\xee\x45\xa4\xb3\xe6\x50\x9d\x75\x37\xec\x0e\xe1\xba\xbf\xe7\x6e\xcf\xe2\xbd\xd0\x3f\x04\x8d\x7b\xbd\x71\x3b\xa3\x07\xb5\xd9\xb6\x23\x9b\xb1\x29\xd7\xf0\x1d\x1d\x21\xd1\x0c\x9e\x0b\x24\x46\x5e\xf5\x18\x37\x5c\x9f\x80\x70\xd3\x1a\x41\x41\x70\x7f\x99\x0f\x90\xa6\x9d\x33\x73\xf7\x92\x3d\x31\xfa\x19\x6b\xba\x07\x0e\x16\x44\x1c\x2b\xb4\x03\xd7\x4f\x30\x7b\x21\xc2\x59\xc8\x42\x0b\x40\x75\xd3\xde\xd7\x74\x54\x3f\x98\x8a\x80\x93\x8d\x2d\x05\x30\xb1\xcf\xaf\x07\xd2\x2b\xfd\x7e\xa2\x71\x8f\xb6\xa6\xd7\xb8\x3a\xa0\xa6\xda\xcb\x73\xcb\x7e\xce\x99\xbd\xaf\xb5\x96\x74\x97\xf4\x4b\x4d\x71\x31\x86\xba\xe1\xa5\xac\xde\x69\x44\x98\x05\x65\x66\x53\x45\xa3\xfb\x98\x5c\x24\xc3\x8e\xc7\xd2\xfc\x0e\x3b\x15\xda\x7f\xce\x2c\xc2\x71\x0d\x97\x7c\xb4\x96\xc3\x03\xe8\x6b\x2a\x68\x40\x19\x5c\x34\x04\xb5\x74\xcf\xe3\x37\x5f\x6d\x22\xd0\x69\xab\x0b\x0d\x8e\x34\x43\x7a\x6d\xc6\x92\x6f\x47\x37\x20\x59\x41\x6d\xe5\xe2\xb5\xc5\x70\x4b\x51\xb3\xd9\x61\x88\x03\xee\xdb\xff\xa5\x2f\x30\x5d\xad\x32\xd5\xec\x51\xeb\x6b\xfe\xf9\x41\x05\xdc\xb4\x0c\xcf\x47\xaa\x03\x7b\xaa\xd6\x46\x8e\xe3\x15\xbc\x19\xcf\x57\x92\x5c\x4e\xbf\xdf\xe0\x4d\x83\x6b\x74\xd4\xbc\x0f\xed\xe5\xad\x0a\x51\xee\x6a\x74\xac\x98\x5c\x1f\xd0\x04\xed\x86\x51\x28\x09\xe0\x50\x0d\x18\xb3\x4a\xd5\xf7\x5a\x04\x0d\xe6\x66\xe8\x54\x50\x49\x97\x12\xf6\x49\x63\x12\x92\xdb\x13\x5d\x4f\xb9\xce\xd8\x06\x1f\xdb\x52\x71\xf0\xdd\x07\xa3\x1f\x89\xb0\x84\x41\xeb\x69\xd6\x30\x60\x0b\x4d\xce\xb8\xf0\x5b\x91\x0f\x45\xcc\x5c\xbe\xd2\x37\x39\x7a\xc4\xca\x40\x78\xfa\x64\xb0\x36\x01\x04\x76\xc1\x5e\x55\x21\x9f\x6c\x9b\x0e\x0d\x7c\x33\x30\x2a\x5f\x44\xcc\x57\x1a\x75\x08\x24\xb4\x50\xe2\x32\x40\x8f\xb8\x1f\x71\x34\x1e\xe4\x66\x07\xfd\x09\xba\x32\x31\x9a\x00\x88\xae\x63\xdb\x86\x72\xe0\xce\x35\xa2\x5d\xbc\xa3\xad\x8c\xfb\x3d\xe6\x42\x76\x42\xb2\x63\xb5\x96\xf8\xac\xcd\xcf\x93\xb0\xa8\x76\xf3\x93\x54\xd5\x99\xc0\x5c\x58\x09\x91\x59\x89\xfa\xcd\x3f\x37\x15\x81\x80\xa9\xd7\x57\xde\x97\x25\xe3\x6f\x22\x6d\x5a\x12\x5e\x5f\x99\x58\x01\x62\x64\x26\x23\x1b\xbc\xb9\xbd\xaa\xdd\xb0\xe1\x58\x19\xe5\xc2\xe1\x8b\xbb\x81\x42\x68\xa1\x01\x71\x3e\x50\x26\x2a\x5b\xec\x29\xb0\xfa\x11\xbf\x88\xc9\x0e\x67\xf2\x09\x6f\x77\xa4\xc5\x1b\x57\x0d\x72\x73\xed\xd4\x6e\xe8\x53\x0f\x87\x92\x46\xa6\xe5\x8f\xf2\x69\x96\x10\x40\x42\x51\x91\x21\x87\x8e\xe3\x11\xd1\x20\x59\xbd\x2d\xc3\x7b\xc2\x05\x66\x26\x26\x01\xae\xf8\x91\x0b\xdc\x15\xca\xba\xbb\x51\x8c\xa8\x75\x9f\xd4\xc6\x07\x94\x4c\x4a\xea\x6f\xb8\xed\xca\xfc\xf9\x3c\x8f\xe0\xb3\x68\xe5\xab\xda\x59\xc3\xe5\x99\xa1\x8f\x06\x14\xc8\x69\x75\xc7\xd4\x75\xfc\xda\xdc\xce\xdf\x1b\x36\xa1\x90\x0e\xdc\x74\xe8\xec\x93\x7b\xbd\x7f\x85\xa1\xf2\x8b\x29\x96\x7d\x6a\xb4\x13\x66\x79\xc0\x90\x74\xa0\xd5\xea\x5d\x5d\x4d\xd9\x8d\x14\x0e\xd5\x09\xad\x7f\x1b\x6b\x66\x2e\xb2\x51\x01\xe6\x34\x42\xfd\x30\xa3\x8a\xa7\x71\xce\x99\xb0\xcc\x46\xbb\x6e\x49\x1d\xb7\xe5\x8c\x02\x4b\xd4\xc6\xf2\xf2\x05\x2f\xbb\x3f\x0f\x85\x92\xae\xfa\x58\x29\xae\xec\x56\x8b\xed\xad\x93\x49\x5b\xe7\x42\x1a\x05\xa0\x32\x23\x44\xf7\xe0\x99\x9d\x05\xf0\xe8\x25\x5a\x5b\x7f\x0a\x8d\x5d\x59\xd8\x55\xe2\x70\x51\xf7\x7b\x2c\xd3\x85\xae\xac\xb5\x71\xf2\x19\xa2\xae\x79\x3e\x82\xd9\xd8\x6e\x6c\xfd\x3b\xc6\x0b\x59\xa0\xbe\x53\x46\xc6\xa5\x68\x04\x39\x7c\xf9\xe1\xa5\x16\x6b\xef\x3c\x03\x8d\x17\x3e\x38\xea\x22\x6e\xd7\x87\x55\xb1\x01\x9f\x9a\xd4\xda\xea\x5e\xa9\x08\x06\xb9\x7e\x2b\xc4\x72\x4f\x55\xa8\x07\x40\xdb\x40\x4a\x7c\xdc\x6a\x5f\x00\xb9\x08\xd0\xf8\x85\xb4\x44\x5e\xdb\x0d\x12\xe8\x04\xeb\x16\x25\xd7\x83\x96\x83\xbd\xd3\x1d\x37\xcc\xc6\x71\x39\x5b\x61\xc6\x69\x8f\x5a\xf2\x77\xdc\x54\x6c\x16\xb3\x05\x78\x50\x0b\x35\x5b\x46\xf5\x78\xf4\xcf\xeb\x97\x1f\x60\xa4\x53\x36\xa2\xd9\x00\x62\x49\x70\xb9\xfd\x8b\x5a\xcf\xb0\x9c\x2b\xd3\x8c\x5d\xfd\xa5\x7e\x28\x9d\x35\x90\xb5\x63\xcc\xb6\xeb\x3d\x97\xe8\x30\xb6\x88\x69\x1f\x09\x35\x0b\xea\xa7\x28\x9c\x61\xc1\x8e\x9e\x9c\xdb\x7c\xd1\x1c\x1a\xa4\xb1\x61\x49\xe4\x23\xaf\xa7\xa0\x34\xb0\x7d\xd0\xc9\x65\x14\x0f\xa3\x1c\xd3\xd5\x03\x5f\x2e\x31\x50\xb9\xf4\x58\x71\xa2\x6e\x2d\x24\x2a\x54\xb5\x48\x60\x06\x92\xe8\x8b\x15\x62\xa8\xc3\x02\x9c\x9d\xb5\x7a\xfe\x16\x1d\x31\xab\x7e\xfc\xa7\x17\x4f\x3d\xc3\x9c\xb6\x8f\xb8\x59\xe1\x44\x2c\xef\x28\xb0\xc4\x04\x4e\xc1\xe1\xc5\xf8\x9c\xb0\x42\xde\xb4\xa9\xce\xa9\x04\xa1\x38\x8c\x84\xbb\x18\x1b\xc7\x0c\x42\xd0\x41\xf6\x3f\xbf\xc0\x2d\xa8\xe0\x3a\xd1\x4f\xe2\xd2\x30\x37\x48\xe0\x3d\x65\x5a\xd8\x6d\x2b\x83\xe9\x88\x79\x5c\x6b\xcc\x31\x7a\x2b\x07\x94\x79\xd6\xe8\xaf\x4d\x1e\xca\x12\x2a\x58\xf0\x09\xd4\xa8\x82\x4c\x97\xf9\x0e\x95\x5e\x4b\x31\x7c\x79\xb7\xd4\xc5\x7e\x40\x4a\xbb\x3e\x4b\x42\xe9\x75\x50\x1e\xf9\xff\xb6\xfe\xf4\x31\xd6\x19\x5b\x56\xb2\x07\x9c\x70\x51\x7f\xe3\xb4\xff\x0e\xf7\xf2\xa5\xda\x54\x74\xfb\x37\x5c\x97\x47\x32\x07\xc7\x5b\xf9\xd1\x44\x03\xfe\x7c\x37\xf5\xa7\x21\x95\x5c\xc1\x96\x2d\xf7\xfe\x1a\x09\x54\xc9\xb7\x39\x2b\xb5\x50\x6c\xfa\xb3\xa8\xcf\xca\xd5\xf5\xc7\xea\xfa\xea\x99\x16\x31\xae\x8a\x67\x7a\xc4\x7a\x3f\x0f\x1b\x27\x59\xc3\xcd\xca\x24\x65\x90\x47\xe0\xf5\x95\x8f\x7c\xfc\xcb\x5c\x4a\x37\x49\x66\x6e\x56\x2a\xc0\x47\x75\xb3\x7a\xfc\x4b\x2c\xb3\x83\xd2\x4a\xd3\xbe\x3d\x06\xe3\xbc\xbe\x32\x72\x3e\x93\xf0\x63\xd4\x1a\x16\xfb\xc6\xa6\xac\x1a\x07\x25\x02\x84\xa7\xb6\x77\x2d\x31\xe5\x47\x24\xff\xeb\x72\x8c\xb8\x66\x2a\x2d\xc7\x8d\x7a\x33\x8b\x7a\xa0\x1b\x15\xc7\xaf\x45\x7b\x30\x61\x0c\xb3\x80\xa8\x5a\xe6\x99\x0f\x6a\x4b\x63\xa2\xd2\xef\xb5\xda\x4f\x30\xd4\x2b\x61\x04\xdd\xee\x46\x5e\x07\xfe\x0c\x4a\xa2\x74\xe6\xf8\xfa\xc2\x38\x6f\x56\x8e\xf4\x7d\x8a\xeb\xe8\xb4\x6f\x82\x25\xa2\x6a\x60\xf4\x8b\x2f\x1a\x31\xbd\x8f\x91\x0f\x46\xc5\xc7\x41\x76\x8a\xbb\x36\x35\x2a\xca\x4b\xb4\xbf\xf1\xe5\x0f\xd2\xdb\xe8\xe2\x57\x25\x05\x8c\x6c\xb1\xf7\x43\xc3\xd0\xce\x4b\x09\xaa\x7e\x78\xb9\xae\xf7\x85\xde\x96\xcf\x72\x84\x74\x6e\xd9\x48\xd4\x05\x9d\x8b\x53\xa7\xcd\x52\xb4\x34\x99\x65\x5d\xa4\x66\x6e\xef\xd7\x3e\x27\xf5\x5f\x26\xe1\x10\x44\xce\xf4\x13\xea\xb6\x2a\xab\xd2\x94\xa8\xca\xbb\x82\x67\x09\x71\x9c\xf4\x51\xb3\x8c\x38\x61\xa5\x0e\xb1\x87\x40\x6d\x60\x82\x5a\x75\xa8\x57\x06\x98\x93\x0d\x8a\xaa\x16\x6b\x48\x07\x67\xcd\x76\x43\xc7\x6f\xcd\xec\x9a\x74\x4e\x17\xaf\xbc\xe0\xf2\x50\xcb\x43\x07\x6d\xbd\xfc\xe5\xd2\x28\x52\x8a\x76\xd5\x96\xce\xac\x4a\xa8\xb1\x4d\x85\x89\x9c\x52\x10\x12\x1e\x51\xd0\x58\xbf\xd6\x5c\x1b\xd6\x18\x28\xdd\x4e\xd4\xbe\x65\xd6\x8a\x79\xb9\xa7\x5b\x81\x6c\xc2\xb5\x32\x20\x78\xa7\x36\xb1\xfd\xc9\x33\x44\x51\xc9\x69\x20\xe4\xef\xe3\x2c\xea\xda\x94\x98\xc6\x14\xab\xb7\xa5\xf1\xe4\x8f\x7f\x58\xb7\xd8\x8d\xf3\x10\x75\x53\x73\x50\x76\x42\x5b\x83\x66\x9e\xcf\xde\xea\x06\xc0\x58\x9c\xb6\x2d\x7d\xd2\x89\xa6\x0a\x1b\x82\x65\x1c\xef\x13\x2c\xd6\xe5\x96\x9e\x75\xae\x6a\x3b\x84\xf4\x84\xea\xf8\x6c\xe9\xe9\x54\x67\xcc\x3b\x73\x1a\x7b\x45\xfd\x8c\x48\x37\x7d\x9a\x48\xe9\x2f\xf4\xb4\x8f\x9b\x56\xf9\x3d\xed\x69\xff\x5d\xc1\xf2\xd3\x9a\x4f\xdb\x27\x95\x8d\x5c\x75\xe2\x5c\xe3\x95\x2a\x0e\x2c\x99\xc6\x5e\x47\x4f\x33\xca\xd4\x40\x86\x61\x7d\x8b\x35\x0d\xd2\x71\x1e\xdc\x23\xc3\xea\x6c\x96\xce\x96\x09\xb8\x7c\xc8\x4c\x8a\x20\x3d\x8e\xc2\x3b\xdb\x6b\xcf\x8c\xc3\xfd\xd5\x5d\x66\xe6\x44\x34\xb8\x74\x18\x50\x3d\x0c\x35\x05\xe9\x61\xfa\x53\xb4\x78\x84\x92\xfe\xa4\xa3\xf3\x05\xec\x86\xb9\xed\x22\x8b\x48\x73\x06\x2b\xf5\x8a\x4a\x2e\xb3\x33\x27\x7b\x8d\x66\x58\x42\x06\x61\x76\xbf\xde\xce\xef\xd6\x49\x03\x1f\xbb\xe7\xe4\x81\x65\x43\xd1\x14\x5c\xba\xea\x0c\x51\xe7\x9c\x7a\x9b\x46\xfb\xef\x35\x0f\xb8\x5c\xdb\x85\xad\x8d\xfd\x33\xbb\xab\x2b\x9e\xf0\x89\xa5\x2e\xa7\x5a\xcc\x2c\xe4\x94\x44\xc8\x29\x5d\x5e\xc4\xab\x62\xe9\x8f\xbb\xc6\x96\xba\xb5\xb4\xc7\x1c\x4c\x59\x17\x4f\xdb\x62\xcf\x62\xce\xe3\x43\xa2\xf5\xd8\x25\x42\xa8\xdb\xb2\x82\xa3\xc2\x40\x8b\xfa\x3f\xcb\xb4\x7e\x75\xc0\xf5\x43\xc5\xc7\xee\xbc\x6a\xf0\x80\xfb\x06\xf5\x20\x97\x37\xdf\x9f\xdd\x72\x48\x08\x46\xb6\xa3\x96\x9e\x5e\x4e\x7f\x9d\x7b\x22\x0b\x65\xd7\x6c\x82\xe8\xc2\x0f\x2e\xc0\xd3\x48\xcf\xce\x5b\xc9\x1d\xec\x30\xc3\x7d\xad\xee\x19\xd2\x2a\xdb\x5a\xf5\xcb\x57\x12\x22\xc4\x07\xd7\x91\x0e\x6f\xc4\x71\x80\x0f\x7f\xb8\xf9\xf0\x16\x72\x0e\x7a\xef\x62\xf2\x77\x65\x84\x20\xff\xeb\x9e\x6a\x87\xb1\xdb\x6a\x6b\x2b\xed\x1b\xe7\xeb\xf7\x49\x83\xe9\x66\x42\xfd\x0a\x46\xeb\x62\xc2\x66\xd7\x87\x25\xf3\xa5\xf6\x22\xcc\x2d\x98\x10\x5c\xb0\x82\xf0\x8e\xf4\xd8\x77\x54\x7c\x7f\xf3\x2e\x21\x1e\x0b\x3e\x34\x36\x24\xea\xe6\x99\x40\x9e\x26\x3a\xeb\x2b\x24\x6b\x81\xd8\xa4\xf0\x86\x37\x0e\x4e\x72\xa6\xf5\xbf\x21\x3b\x6b\x68\xd0\xf6\xac\x35\x34\x60\xb6\xa3\xac\x33\x07\x96\xf9\x23\xc6\x25\x7d\xd4\xa6\x1b\x9c\xfa\x16\x53\xe0\xa3\x10\x17\x97\x79\xee\x0b\x9e\x3d\x07\x7a\xc4\xf2\x53\x50\xcd\xfc\xbb\x6c\xdd\xc8\x4d\xa4\x27\x65\x79\x92\x2c\x78\x79\x9e\x2e\x2b\x0e\x2e\x8b\xd3\x69\xa1\x6c\xa0\x94\x07\x69\x79\x5a\x04\xd8\xf6\xa6\x43\xf7\xc6\x03\x35\xc3\x5b\xce\xfb\xfc\x33\xe2\xeb\xc9\x0e\x6f\x79\x8c\x2e\x7e\x79\x98\xb1\xc8\xd5\x76\xc4\x07\xc4\xa7\x88\x7e\x48\x08\x54\x1f\x92\x82\xe5\x79\x37\x6e\x3a\xb4\xc7\x6b\x75\xa6\x2c\x77\x7a\x42\x97\xef\x68\xd9\xe5\x27\xd2\xc8\x49\xe9\x9b\xea\x80\xc9\xfe\x20\x74\xf8\x66\x65\xfc\xae\x84\x92\x4a\xbe\xd0\x9c\x74\x91\xc0\xf5\xf1\xb3\x6d\x11\x9a\xf3\xd6\x2b\x2c\x54\xf8\xb6\x2d\x2e\x9b\x4d\x3d\x35\x45\x44\x31\xd8\x13\x0e\x39\x33\x5d\xa5\x0e\xb4\x2a\x5c\x9c\x7c\x08\xf4\x48\x90\x47\x2c\x5f\xf0\x7f\x23\x15\x33\x87\xd4\x94\xd5\x77\xd6\x97\x67\x87\xb9\x42\xfc\x21\x7e\x38\xc8\x92\xd8\x67\xe4\xef\x9b\x9a\x52\xd6\x68\xc7\x32\xfe\x50\xc1\x9f\xa4\x07\x37\x82\x57\x64\x97\x68\xe5\xdc\xae\x59\x15\x3d\x1d\x7c\xa9\xbf\x8d\x59\xf3\xe5\x32\x44\x97\xcd\xeb\xaf\xda\x4b\x7e\x79\x56\x15\xf2\x94\x39\x55\x1e\xf8\x7f\x8a\xfb\xe1\x30\xdd\xf0\x6a\xc3\x79\x52\x4b\x3a\x4e\x11\x4f\xe3\x93\xec\xf8\xb7\xf9\xf6\x90\x4a\x3a\xbe\xe1\x82\x61\xd4\x91\x7e\x3f\x97\x1d\x2a\x57\x38\x2b\x45\x9f\x70\xf3\x5d\xa9\x3a\x07\xe7\x42\x7e\xea\x92\x9e\xfa\x3e\x60\x79\xa2\x22\x81\x38\xed\x09\xea\xc5\xe2\x3c\x29\x1e\xa5\xc3\xc7\x55\x94\x55\x3f\x24\x06\xc3\xd0\x4e\x7c\xb0\x14\x0f\xc7\xe2\x96\x9f\xa8\xd7\xeb\x5c\xc1\xff\x73\x82\x0e\xd1\x9d\xf2\x29\xd0\x36\xf9\xda\x3a\x52\x37\xe7\x8a\xce\x1c\x3f\x29\xa3\x6d\x30\xbf\x29\x4f\x1b\x71\x6c\xe5\x26\xc6\x5f\x9e\xeb\x7d\xee\xe9\xba\x3c\x09\x78\xa0\xd6\xe8\xe9\xe6\x09\x6f\x87\xd9\x12\xee\x69\xa5\x7f\xad\x06\x86\x21\x08\xac\x71\x2c\xdd\xe3\x1e\x07\xb9\x30\xc0\x7a\x76\x23\xa8\x13\x51\xf1\x7e\x8a\x50\xad\x76\x84\xf9\x03\x1a\x52\x2e\xae\xa9\xf8\x12\xee\x3c\xa6\x17\x6e\x00\x2a\x5d\xbc\x8a\x08\x27\xcd\x30\x24\xa3\x7c\xd2\x16\x4f\x50\xdf\x9d\xec\x67\x86\x1e\x89\x8e\x1d\xae\xa4\x5f\xf0\xf1\x89\xb2\xe8\xeb\xc0\x2b\x2f\x19\xb1\xbc\xe1\x1e\x34\xbe\x68\xcc\x46\xac\xad\x04\xc4\xb2\xfe\x3c\x16\xde\xc3\xec\xf3\x55\x75\xf6\x60\x7b\x7c\xf6\x8b\xff\xb1\xf4\xf0\xae\xb5\xed\xfc\xc2\x28\xaf\x67\x26\xf6\xb9\x4b\x44\xb9\x20\xe0\xaf\x33\xe8\xc9\x8c\xef\x0f\x19\x3e\xbf\x26\xbb\xe9\x7d\x9c\x25\x81\x0b\x2d\x52\x7b\xf6\x3a\x05\xbd\x47\x89\x42\xb9\xea\x8e\xd1\xce\x75\x97\x5c\xc9\x13\x80\x8e\xdc\x6f\x4c\xd9\xfd\x45\x9c\x27\xed\xc7\x16\x56\x8f\x77\x4c\x79\x8e\x01\xb7\xae\x3b\x00\x1c\x89\xb1\x2a\x4e\x0f\x8d\x91\xb8\x09\x16\x45\x77\x91\xbe\x66\x26\xc4\x7c\x30\x39\x0d\x16\x50\xba\xe1\x8c\x47\x43\x61\x84\xc6\xe4\xe8\x33\x9d\xfe\x7c\x77\x9b\xec\xaf\x2c\x2b\x78\xf4\xf5\xd5\xcf\xf7\xf7\xab\xea\xf3\xdd\xad\x56\xaf\x3a\xde\x5b\x26\x16\xc8\x14\x44\x40\x4b\xb1\x55\x78\x46\x86\x7a\xde\x2a\x86\x6b\x68\x91\x90\x4f\x58\xe5\x69\xaa\x64\xf9\x90\xc3\xca\x72\xd7\x2d\xaa\x95\x4d\xf1\x45\x25\xaf\x05\xf8\x9e\xbe\x4e\x1e\x51\x4b\x94\xcf\x90\x13\xca\x5c\x79\xdc\xe9\x9b\xa6\x38\xc0\xc9\xc8\xc0\x63\xe0\xbf\xdc\xa8\x66\x73\x6b\x5c\xf9\xaf\x12\xc9\xbc\x7c\x40\xc1\x82\xb4\xb1\x01\xca\x83\x41\xa6\x44\x8b\xbe\x64\xd1\x46\xe1\x98\x49\x16\x21\x1d\x98\xe2\x02\xae\x6c\x78\x3b\x3a\x87\x79\xcc\x93\x55\x96\xeb\x50\x78\x9e\xb2\x6f\x83\x36\x94\x6d\xb6\x12\xfc\xa6\xfa\xdf\xaa\x7d\xf5\x7f\x56\xdb\xaa\xa3\x4d\x35\x9c\xcf\xe2\x68\xb4\x47\x39\xbb\x07\xca\xc0\x16\xd7\xcb\x1b\x76\x40\xe2\x1b\x6e\xba\x72\x4e\x59\x75\xa9\x9b\x42\xaa\xa9\xca\xe6\x5f\x5d\x63\x5c\xfd\x46\x1e\xc8\x00\x79\x0f\x3c\x41\x70\x28\x80\x84\x01\xfa\x03\x7b\xc0\xc7\xcd\x8e\xf4\x7b\xcc\x06\x46\x94\x1c\xff\x2f\xff\xfd\xbb\x2d\x11\x95\xf3\xab\x71\x99\x02\x25\xf0\x03\x4e\x65\xbc\x0b\x82\x06\xaa\xc5\xa4\xe8\x15\xc9\x58\x98\x59\x4b\xd7\x84\xd7\x10\x39\x60\x71\x51\x4d\xc8\x12\xed\x96\xc6\x4a\xb6\xdd\xb8\x00\x42\x12\x97\x53\xd8\x7f\x43\xc5\xe5\x51\x24\xd9\xc1\x08\xea\x19\x8f\x99\x3f\xa8\xd7\x77\xf8\xf7\x31\xa9\x36\x4d\x20\x4b\xde\x2f\x80\x85\x2c\x34\xb0\x6d\x2a\xd4\x3b\xa1\x40\x4e\x98\x85\x85\xfd\x4e\xfa\xbd\x71\xa4\x78\xd9\x5e\x9f\x20\x31\x6d\xc2\x7f\x8e\x89\xd5\x7e\x03\x66\x99\xb3\xe3\x40\x7d\xdd\x1e\x03\x45\x1b\x3f\xb5\x6f\x9f\xbf\x67\x7f\x43\x44\x28\xf1\x40\x7e\xd5\x18\x5c\x11\x6f\x28\x0f\x5a\x80\xab\x58\x74\xc3\xc0\xe8\x23\x6a\x9d\x8e\x3a\x7d\x7c\xc1\xfa\x91\x1f\xf8\x03\x96\x90\x4d\xec\xe8\x2e\xa5\xff\x84\xe9\x79\x47\xda\x38\xbf\xe8\x01\x4e\xb9\x9e\x77\xa4\x2d\xf5\x0b\x7c\x09\xbd\xad\xce\x6e\x52\x2e\x37\x8e\x89\x70\x40\x49\xd0\xdb\x2d\xde\x70\xff\xf4\x53\xec\x86\x7b\xc0\x47\xc5\x76\x41\xb4\x22\xd9\x90\x26\xcf\xdc\x4a\x55\x6b\xe3\xe0\x5b\xf2\x0f\xc8\xb4\x78\x14\x29\x4f\x56\x8f\xc8\xcb\x57\xc2\x84\x7a\x96\x7c\x6b\xec\xf1\x17\xc2\x89\xe8\xf7\xb3\x39\x8a\xf7\x29\x23\xa0\x0a\x30\xa7\xac\x0f\x2d\x40\x29\xf5\x16\x3c\x6a\xd5\xee\xfd\xed\x77\x1c\x33\x82\x5a\x02\x16\xc3\x74\x57\x5d\x63\xbf\x17\xa0\x1c\x3d\x77\x6e\x0e\x9b\x90\x51\xce\x9f\xda\x63\xca\x9d\x85\x0b\x09\x37\xbb\x8f\xf4\x44\xc8\x76\xff\x1e\xec\x41\x27\xc8\xad\xda\x63\xfe\xad\x94\xdb\xd7\x3a\x3e\xcb\x5c\x97\xac\x95\xd4\x4a\xbe\x8d\xbd\x3d\xe3\x09\xa2\x50\xdf\xd0\x4e\x7f\xfa\x0e\xfe\x70\x4c\x52\xce\xe5\x4b\x94\xec\x7b\x1d\xe5\xf3\x80\x35\xb7\xe8\x04\xa8\x59\x58\x6f\x9a\x62\x6b\xcc\x1e\x13\x4e\xa2\x29\xe8\x29\x33\xcd\x55\x9d\x79\x9f\xfe\x3f\x33\xe1\x7f\xd4\x2c\x32\x16\x0f\x10\xae\x0a\x0a\x66\x48\xe2\x8a\x3d\x49\xd5\x73\x1e\xea\x44\x02\x1b\x7c\x71\xcd\xcd\x13\xfd\xd5\x29\x1f\x34\xe8\x56\xe5\x71\x08\x7b\x1f\x81\x2d\x8f\x45\xc2\x94\xa2\xc8\x50\x36\x91\xdd\xab\x50\x87\x28\xba\x56\x49\x7c\xb6\xe0\xb3\xe7\x0f\xd7\xa4\xa0\xf8\x7c\x77\x1b\x1f\xaa\xdc\xc7\x26\x78\xf1\x3d\x7d\x83\xaf\xf1\xc0\x70\x9d\xb2\x90\xc8\xa0\x97\x07\xee\xc6\x20\xc4\x55\xeb\x44\x4c\xd6\x3a\xb3\x73\xfb\x8c\x6f\x6c\xbb\x15\xa7\xa5\x62\x08\xd9\x62\xab\xd7\xae\xec\x64\x3b\xbb\x3c\x1f\x69\x3b\x76\x58\x03\x7e\x85\x3f\x92\x8f\x88\x5d\xd2\x40\x6a\x57\x6a\x16\xf5\xee\x04\x8b\x28\x34\x0a\xba\x23\x6d\xbb\xe9\xf1\xd3\xc6\x37\xbf\xbe\xf4\x84\x26\xa8\x69\x40\x16\x62\xad\xaf\x4d\x42\x8c\xd0\xc0\xcd\x6b\x73\x0a\x45\x8d\xfb\x5c\xbb\x26\x0a\x8c\xb2\xb1\x2d\x68\x5c\xa5\xd3\xd9\x4c\x76\xc1\x61\xbb\x3a\x45\x0d\x34\xaf\x92\xef\x38\x21\xcd\x32\xdf\x78\x81\x75\x52\xd4\xbc\xd8\xe6\x11\x7a\x67\x2c\x2b\x83\xf8\xe1\x73\xdb\xdc\x4c\x9a\x1f\xd5\xdf\x94\x8d\x9f\x53\xba\xbc\x52\x8c\x55\x28\xfa\x07\x58\xd1\xb9\xf4\xc0\x9e\x5d\xae\xf5\xf0\x8b\x8f\x77\x9f\x30\x7e\xd9\x97\xd9\xb9\x4c\x9b\x1f\xf5\x36\x79\x11\x84\x3b\xdb\x17\xdb\xb8\xcc\x98\xef\x4b\x95\x12\x46\xfe\x69\x33\x43\xb8\x9d\x09\x2d\x95\xdf\xa3\x0e\xa7\xec\x94\x1d\x4b\xc2\x33\xe5\xe2\x87\xda\x49\xb1\x1f\xd8\x12\x7e\xb5\x9c\xf1\xb3\x1e\xdb\x45\x0a\x7d\xd5\x3a\x40\x8f\x63\x3f\x50\x26\xac\xa5\xcf\x5a\xfe\x35\xc5\x25\x8d\xb5\xe8\x27\x59\xf7\xbe\x1b\x9f\x68\x4c\x57\x94\xc4\x4d\x2a\x6d\xd9\xf2\x84\xbf\xd7\xd0\xe7\x3d\xac\x9c\xb9\xf5\x8e\x9d\xba\x1e\x19\xaa\x8f\x1b\x86\x1a\x32\xda\xd8\x6c\x98\x0b\x6d\x72\x07\x12\x48\xda\x0b\x39\x77\x1a\x6b\xf3\xca\xe9\x0b\xe7\xbc\x82\x6c\xb6\x02\x33\xfe\x2f\x60\xb2\x03\x06\x10\x96\xa5\x91\x5c\x11\x66\x2f\xd7\xff\xb6\x2a\xe5\xd1\x2d\x12\x44\x8c\xb3\x4b\x99\xf6\x3a\x41\x41\xbf\xd7\xa5\xd9\x99\x48\xbe\xb3\x7c\xc0\x8b\xa4\x6e\xfe\x87\x5b\xba\x45\xed\x4a\xde\x05\xf5\x31\x17\xef\x3f\x0e\x2c\x58\x1c\x50\x4f\xdd\x36\xf5\x71\x72\xa6\x2b\x5b\x2a\xca\x85\x67\x83\x7a\x65\x6f\x0e\x17\x5c\x4f\x7b\xed\xcc\x31\xb9\x6a\xb8\x61\xef\x55\x1d\xd0\x29\xc8\x3a\xe6\x12\x35\x3e\x32\xae\x33\xc8\x57\xd4\x29\x43\x04\x5b\x34\x0c\x9f\x07\xcd\x7c\x07\x14\x9c\x21\x8a\x74\x47\x26\xf8\x20\x9f\x72\x3c\xda\xdd\x8f\x86\xa1\xd5\x3e\x8a\xa5\xfc\x32\xea\x37\x3d\x15\x1b\xfe\x40\x20\x29\xe0\xe7\x5e\xfe\x6b\x90\xad\xaa\xf0\xd6\x92\x54\x70\x8d\x98\x90\xce\xfc\x40\x9f\x7a\x13\xfd\x0b\x04\x1d\xaf\xb4\xd1\xe2\x40\x07\x95\xb5\x90\xd3\x0e\x0b\x15\x21\xb9\xe5\xf8\xdb\xd4\x41\x7b\x39\xf5\xb6\xda\x92\x1e\xf9\x5e\xfb\xa7\x18\x6c\x7c\xa5\x83\x59\x4d\xc3\x8c\x71\x30\x6f\x86\x7b\xfc\x45\xcc\x73\x8d\x03\x09\x86\xb9\x40\xd5\x68\xc4\x9c\xe1\x59\x37\x66\x57\x45\xe8\x6b\x53\x3f\xe2\xa7\x29\xed\x4e\xf2\x7c\x86\x15\x03\x8e\x0a\x8c\x60\x7e\x4b\x78\xf4\xa4\x8e\xa0\x96\xd7\xd6\x47\x88\x7d\x7b\xb3\xfe\x04\xef\x88\x73\x38\x32\x55\x74\x15\xb8\x61\xe4\xe6\xd1\x21\x27\x69\x83\xf9\xf7\x03\x12\x02\x33\x9d\xae\xa2\x6d\x9d\xd5\x68\x3f\x5c\xfa\x64\x33\xf0\xd7\x7f\x48\x27\x1c\x72\x9b\x0b\xe6\x67\xc9\x35\x40\x1c\x6d\xb4\x27\xbd\xbe\x18\x4e\xf3\x3d\x08\x49\xbc\x10\x86\x21\x5f\x61\x79\x7a\xc0\xaf\x18\xaa\x1f\x95\x11\x80\x4a\x5c\xbc\x10\x8b\xc1\xf9\x6a\xf4\x12\xf1\xca\xff\xd8\x35\x62\xfc\xec\x6b\x33\x8c\x53\x96\xc7\x11\x14\xf5\xca\x07\x2f\xf2\x01\x9f\xed\x53\x21\x7b\xcd\x10\x3f\x3a\xe1\xff\x0c\x01\x4d\xd6\x0a\xf5\xe7\x37\x7c\xb2\x1c\x78\xe9\x49\x72\x30\x29\xb0\x7c\xc3\x44\xf3\x61\xed\xfe\xaf\x23\xdd\xa8\xb3\x34\x11\xf1\x8b\x70\xfa\x13\xb0\x8b\x9a\xda\x2a\x70\x8e\x3f\x53\xce\x4c\x66\x86\xa9\x43\x75\x99\x31\x82\xfa\xb6\xd1\xa6\x2d\x62\xca\x67\x4d\x19\x91\xbb\xa1\x2d\x3b\x7e\x8e\x57\x4a\xd4\x92\x5d\x52\x57\xae\x44\x22\x17\xfa\x4a\xf5\x17\x86\x39\x2d\x22\x1d\x1d\x4d\x4f\xf2\xd7\x5a\x44\x13\x4d\xa7\x8f\xbe\xdc\xa7\xc1\x2c\x44\xbb\x40\xcd\x2f\xaf\xe1\x60\xd1\xe1\xc9\xcf\xab\xff\xf8\x8f\xff\x30\xff\xe7\xd5\x87\xa0\xe7\x26\xa6\x12\xe7\x64\xdb\x9a\x70\xed\xb6\x28\x3d\x23\x0d\xc6\xc3\x2d\xe9\x1f\x6e\x54\xa6\xed\xf8\x94\x78\xa0\x02\x15\x33\xc6\x2a\xbe\xba\x4a\x0e\x5a\x9a\x16\xf9\x1f\x7a\x6d\x3b\x66\x96\x56\xc6\x4a\x61\x57\xb9\x0c\x8a\x77\x37\xab\x00\xcf\x68\x18\xb4\xd1\x8a\x6f\x37\x8a\x86\xc1\x4d\xd3\x34\xc5\x9b\x87\x4d\x9c\x4e\xdd\x1a\x10\x38\xc9\xb5\x27\x90\x27\xcc\x87\xba\x9f\x30\x54\x4b\x9f\xf9\x2a\x46\xd7\xbd\x62\x5e\xe2\xbd\x70\x20\x05\xd7\x8f\x64\x7f\x60\x07\xca\x99\x73\xcc\x4a\xc1\x35\xc2\xcb\x30\x4b\x55\xb6\x9d\xb6\xad\xee\x75\x3a\xa1\xd2\xf8\xa3\x8e\xd5\xac\xfe\x9c\x38\x04\xf2\xf8\x08\xe5\x7b\x7a\xb9\xc8\x66\xbb\x98\x82\x8b\x8e\xea\x95\x31\x4b\xa7\x9e\x67\xb5\xc3\x9e\x99\xa8\xb5\x57\xc9\x24\x54\x31\x58\xc9\x74\xe8\x44\x4d\x36\x2c\xee\x33\x72\x53\x59\x6e\x04\x22\x04\x73\x2b\x3a\x8d\x68\x1a\xbe\x36\xe7\xe4\x0f\xb8\x84\x75\x4a\xd7\x28\x90\xb1\x21\xce\xc1\x22\xd1\x23\x12\xdc\xc2\x9d\x69\x25\x33\x87\x8c\x76\xf4\x5a\xc5\x91\x4a\xf4\xcd\x22\x96\xfb\xf2\xe1\x7e\xc5\xe8\x97\xe3\xf7\x2b\x25\x0d\xd5\x8a\xaa\xea\xb2\xef\xe9\xd8\x2b\xd3\x36\x2f\x4b\x72\xd9\x4c\xba\x21\xce\x02\x9b\xa9\x79\x9a\x16\x90\x8a\xac\xd6\x97\xdf\xeb\xbe\x04\x15\x9e\xe9\xd6\xa7\x24\x8a\x76\x80\xeb\xcb\x20\xdc\x9c\x0a\x6a\x34\x81\xbe\x63\xb8\x45\x5a\x5d\x35\x4f\x97\x3f\x70\xe4\xfa\x79\xc8\xe6\x22\x5e\x7d\x12\x65\x5c\x4e\x25\x64\xee\x71\xea\x07\xfb\x4c\x4b\x38\xfd\x79\xcc\x1f\xdf\x33\x58\xd1\x69\x32\x27\xb7\xf7\x80\x2f\xbc\x5a\xdd\x24\xd9\xdf\x41\xb6\x9c\xb0\x59\x65\xee\xe8\x87\xe6\x9a\xa2\xcc\x1a\x17\x9d\x34\x09\x54\x40\xf1\x0f\xf8\x33\x6b\xa3\x42\x9f\x10\xb4\x3c\xfc\x3b\x15\xa4\x1c\x52\xb3\x7c\xbe\xbb\x2d\x7d\x17\xa6\xc3\xf6\xa9\xbe\x9d\x41\x5b\xa9\xb9\xce\x0d\x52\xbb\xf8\x24\xc7\x67\xca\x4b\x24\xdb\x26\x36\x27\xd4\x00\x7e\xa3\xf0\xb6\x53\xf9\x7b\x9c\xac\x8a\x0e\xcf\x3b\x1f\x95\x19\xd4\xf2\x98\x3e\x26\x24\xf5\x01\xa6\x40\x57\xe9\x3f\xee\xe0\xe6\xb3\x29\x3a\x35\x85\x8a\x46\x6a\xfa\xe0\x37\x98\x19\x8b\xc0\xac\xe3\x9f\x76\x19\x7d\x7f\x0c\x56\x38\x5b\x53\x76\x5e\x1d\x98\xca\x0e\xea\x5e\xb6\x57\x7d\xda\x99\x43\xf9\x4f\xc8\xf1\xce\x35\x08\x3d\x7e\xaa\x80\x0c\x1e\x5b\x4c\xfa\x0d\xda\xe3\x8d\xce\x97\x0a\x1d\x23\xbd\x4a\x95\xb7\xc7\x1e\x77\xcb\xc9\xde\x84\xfa\x32\x64\x38\x9f\x24\x7b\x20\xf3\x33\x59\x57\x55\x2a\xa5\x03\x3e\x42\x22\x1d\x3f\x01\x5c\x37\x35\xef\x09\xcf\x41\x24\xe8\x3e\x86\x21\xae\x5d\x37\x08\x4f\x9c\x38\x65\x13\x90\x5f\x05\x11\x3d\x65\x3a\xd3\x02\xaa\x6b\x3c\x08\x7f\xac\x17\x49\xf9\x5c\x40\x95\xd2\x35\xb6\xc0\x3c\x46\xc1\x27\xad\x37\xe4\x3d\x35\x34\xa9\xbf\xe1\xaa\x9b\xea\x68\x66\x3a\x41\xaa\x0e\x56\x38\x2b\x00\x3e\xb4\xc1\x75\x4b\x7a\xdc\xe8\x1c\x38\xc0\x88\xd6\xc0\xc6\x5d\x28\x2b\xe0\x4b\xf5\x57\xd5\x61\x71\xa0\x8d\x13\x6d\xb0\x46\x6d\xeb\x9a\x9c\x30\x8c\x38\xed\xab\xbf\x9e\x5d\xab\x26\xab\x7b\xba\xd6\x3d\xfc\xeb\xd9\xc9\xf7\xd1\x47\xfc\x54\xdd\x7f\x5a\x5b\x9e\x19\x54\xf9\x4e\x72\xb7\xdf\x47\xcc\x48\x90\xda\xed\x3e\x42\x55\xc8\x9e\xab\x73\xc4\x45\x1c\x4a\x81\x2a\x1b\xba\xdb\x70\x7b\x36\xc0\xc7\xe7\xd4\x3a\x71\xe2\xf3\xf7\x7d\xba\x46\xd1\xd5\x5f\x6b\xc7\x20\xf0\x69\xea\x50\x83\xdd\xdd\x16\x59\x02\x7f\x32\xea\xa7\x29\x29\x77\x6b\x56\xe4\x60\x01\x25\x5b\x05\xfc\xc3\x5b\xc8\xb6\x53\x44\x00\x65\x7e\xa4\xad\x0e\x0e\x94\xa5\xac\x9d\xbe\x86\x52\xc1\xe1\x43\x6f\xf2\x2c\xa4\x19\x72\x7e\x45\xf9\xa8\x67\x52\xc7\xff\x38\xd9\x1f\xd6\x35\x65\xf1\x33\xcc\x16\x16\x68\xe7\xe4\x5d\x2f\x2b\x70\xa8\x50\xc6\xca\x50\x23\xb8\x22\xc6\x19\xdc\xb6\x10\x06\xf2\xd7\xbd\x3c\xf3\x7b\x14\x49\xaa\x91\xb2\xcf\x99\xc5\x50\x8f\x8d\x78\x0e\x59\x1e\xf7\xda\xc9\x16\x10\x84\x41\x2f\xd5\xa6\x41\x20\x7e\xc7\x15\x57\x57\xff\x86\xdb\x14\x68\x36\xee\x7c\xf5\x4a\xbe\x68\xd5\xd5\xa7\xb2\x9b\xc1\xb9\x7c\xd3\x0f\xa3\x30\xa9\x00\x1c\x65\xad\x9f\xa7\xef\xd4\xf4\x23\x04\xf2\x98\xbc\xa1\x62\xfd\x44\x44\x7d\x58\x7d\x88\xd2\x2c\x00\x95\x69\x25\xb6\x54\x00\x4f\xa1\x82\xc9\x59\xe6\x41\x50\x2b\x25\x3a\x90\x4e\xae\x09\x6d\x5f\x54\x46\x4b\x2e\x10\x13\x9b\x01\x31\xd4\x19\x6a\x0e\x36\x92\xbb\x91\xc2\x7c\x0f\xa8\xa9\x20\xc9\x18\x98\x0a\xdb\x51\x08\xaa\x13\xb7\x73\x18\xa6\xb6\x48\x33\x5d\x46\x9e\x15\xd4\x74\x5f\xca\x41\x82\x4f\x1a\xee\x1b\x3e\xfd\x52\xa9\x0e\x78\xe2\x30\xe1\x75\xd5\x19\x07\xfc\xfd\xca\x64\x53\x95\x5b\xff\xdb\xd4\x74\x0d\xa3\xb8\x1c\x86\xb7\x8f\x89\xe8\x56\x3e\xa0\x40\xf7\xff\xa8\xf2\x31\x22\x51\xd1\xba\x1e\x9d\x04\x41\xa7\xab\x8c\x4d\x44\xed\x6b\x2c\x10\x69\xb9\x59\xb8\xf8\x71\x66\x21\x63\xe4\x01\x97\x6c\x4b\x04\xa4\x70\xea\xc7\x0e\x33\x52\x57\x8f\xa8\x1d\xf1\x24\x35\xaa\x69\xff\x88\x7b\x95\xed\x0d\xb7\x3a\x6e\x31\xdd\x55\x35\x66\x02\x99\x64\xfa\xf0\xb0\xe7\xe7\x15\x65\xea\x6f\xae\x82\x5a\xa9\x4c\xcf\x72\xda\x0c\x5a\xc7\xf6\xf6\x6c\x60\x14\xd1\xae\x60\x0b\x7e\xc3\x2b\xfc\x45\x6e\x2e\xf9\x33\x17\xa8\x1b\xec\xe2\x08\x86\x60\x04\x0b\xf7\xc7\x01\x36\xa8\x02\xa4\xa7\xec\x0d\x15\x37\xb0\x89\xf4\xdd\xf2\x3e\xf1\x18\x4b\x83\x0b\x4c\x00\x4e\xb0\x99\x7a\xd6\x13\x43\x45\x15\xe8\x10\x7b\x50\xac\xbb\xea\x64\xf5\x80\x8f\x5b\x8a\x52\x1e\xd6\xd1\x11\xdd\x5c\x17\x0f\xde\xd1\xb9\x17\x46\x8e\xd0\x79\xa9\xa1\x6f\x66\xfb\x59\x55\xd6\x80\x19\x1f\xe4\x4a\x7a\xc4\x4a\x68\xbd\xa5\xcf\xf3\xc1\x9c\x99\x99\x45\x04\x50\xf1\xf4\x60\x10\xd7\xfb\x89\x32\xd0\x9e\xe8\x53\x01\xf2\x68\xb9\xfd\x4d\x3d\xec\xb2\x02\xef\x28\xf9\x3e\xe0\x86\xa0\xcb\x51\x44\x59\xb1\x85\x1a\x25\x4b\x0e\x62\xb7\xff\x09\x9f\xc3\x0e\x5f\x76\x85\x02\xab\xbe\xaf\xb7\x92\x81\x5a\x39\x76\x63\xb1\x52\x09\x95\x4d\x3a\xb8\xb2\xbd\x4d\x18\x9f\x94\xdc\xef\xe4\x5f\x55\x3f\xb3\xfe\x7b\xa6\xed\x9a\xd3\xee\x2d\x8a\x34\x5b\x2a\xb9\x5a\xa2\xbf\x03\x7d\xac\x91\x8a\xe3\xf0\xeb\x15\x62\x4d\x46\x4e\x9b\xa6\xf4\xfb\x78\x6c\xa4\x7c\x85\x02\x7e\x18\x53\x63\x3c\xf8\x07\x1e\xba\x7b\x4c\x37\x83\x36\xbc\xf4\x3e\xe9\xea\x60\x30\x6a\x74\xd4\xa2\x77\x94\x55\xad\x3c\xdc\x0c\x8e\x9f\x57\xa8\x6a\x08\xd3\xb7\x27\xe9\xb5\x13\xbe\x67\x6c\xdf\xd1\x47\x79\x85\x92\xbe\x6a\xf0\x9e\x61\xcc\xff\xa5\xfa\xf1\xbb\x7f\xfa\xcb\x0f\xfe\xad\xcd\x08\x55\x33\x81\x5a\xd2\x10\x71\xd4\x39\xfd\xe7\x62\x7c\xd2\x11\x71\xdc\x78\xc9\x92\x27\xbb\xcc\x78\xff\x3a\x9d\xbe\xb2\x21\x5c\xa0\xbe\x86\xe7\x29\xea\x75\x8a\x60\xc9\x9b\xe8\xf4\xd7\xa0\x5f\x32\x9f\xa8\x50\x8b\x99\xe0\x8e\xe1\x66\xf5\xea\x87\xef\x7e\xfc\x41\xfe\xef\xdb\xdc\x6a\xbb\x83\x60\x37\xea\x6f\x93\x1e\xf5\x7b\xe2\x2f\xc1\xc4\xeb\x36\xbd\x66\x7e\xc5\xfd\x58\x7e\xa5\x3b\x55\x96\x17\x9a\xc2\x95\x5d\x52\x53\xc2\x8e\xcb\x30\xd1\xc6\x1f\xb6\x00\xdd\xdc\xa8\xd0\x5b\x9b\x13\xf5\xb5\x13\x0a\x00\x52\x51\xfc\xf5\x6c\x47\x47\xc6\x7f\x1f\x11\xc3\x7f\x3d\xf3\xd3\x5c\x2b\xd1\x71\x2c\x94\x51\xd1\x51\x61\x4d\x9a\x55\x17\xe6\x87\x93\x4a\x05\xaa\xfd\x3c\x00\x71\x73\x6d\x98\x5d\xd3\xdd\x6f\x38\x38\x5f\x6e\x11\x8f\x54\x35\x4c\x9f\xaa\x2c\xff\xca\x55\x2f\x5f\x3f\x29\x5d\x7c\x1a\x5c\xf0\x68\x55\xe1\x23\x5d\x95\xfc\x9f\xfb\x96\x9e\x7b\x60\x06\xb1\xb0\x74\xc2\xa4\x79\x20\xac\xaf\x7c\xad\xdf\x41\x72\xb8\xe5\xd9\xd0\xb8\x82\xcb\xbb\x37\xbc\x9d\x7a\x0d\x43\xb5\x32\x99\x01\xed\x85\x36\x88\x55\x5f\xab\xf4\x2f\x3c\xe3\xcb\xa0\x91\xa9\xa8\xeb\x2f\xd5\x2c\x30\x7f\xd8\x90\x4b\xc7\x8f\xba\xe7\x9a\xdb\xe0\x5e\xe7\xb1\x51\x72\x65\xe8\x19\xe4\xd6\x69\x21\x53\xb0\xb7\x77\x0f\x63\xb7\x3d\x73\xc3\xfc\xc2\x62\x0b\xbf\x67\x37\xb9\x1e\xa9\xfa\x3b\xf2\x34\x33\xe5\x72\x9b\xbe\x92\x03\x95\xf4\xbf\x5c\xdd\x54\x0d\xad\x67\x32\x13\x65\x96\xfb\xf9\xee\xd6\x19\x62\xf1\x5a\xb9\xce\xc4\x9a\xce\xe2\x97\xd7\x8e\x8d\xc2\xf7\x0a\xd8\x6c\x15\x5e\xf4\xa8\x86\x84\xbf\x80\xfa\x03\x6e\xc4\x03\x15\x94\x7f\x5b\xf8\x48\x3f\x65\xbd\xb8\x46\xd9\xb6\x33\x7a\x66\xbf\xd2\xba\xd2\x1d\xf0\x4d\xab\xbf\xd6\xa2\xfa\x4a\x6b\xa5\x78\x2d\x94\x3d\xeb\x1d\x6c\x99\xd4\xf5\x94\x20\x28\x7f\x24\x3d\x7d\x27\x23\x90\x07\x73\xeb\x69\x54\x4e\xa5\x95\x76\x66\x2a\x22\x93\x02\x2f\xd3\x49\xe1\x5e\x4a\x28\xeb\x67\x05\xcd\xc5\x96\xfa\xd7\x5a\x9a\x2f\x5d\x79\x57\xda\x2e\x26\x45\xc6\xab\x99\xdd\x4c\xa1\xf0\xe4\x24\x27\xe3\x8c\x48\x44\xa0\x07\xdc\x4f\x62\x17\xdd\xac\x2b\xb7\x76\xa9\xa1\x8b\xa7\xa8\x23\x00\x4e\x4a\xf9\x9d\xf1\x25\xb5\x29\x21\xe8\x24\x4a\x80\x04\x74\xcb\xb1\x7c\x8c\x80\x9c\x68\x4e\x98\x64\x8f\xde\x31\xda\x65\x42\x4e\xa4\xa0\x05\xb7\x81\x0d\xc9\xdb\x91\xde\x52\x54\x98\x48\x5d\x1c\xe3\x5e\xb9\x8b\x1a\x81\xa7\x11\x7e\xa9\xfe\xeb\x1f\x4f\x88\x42\xe4\xcf\xca\xbd\x33\x8d\xb3\xe8\xfe\xd1\x20\xa3\x13\x73\xad\xe4\xe5\x07\xcc\xb0\xb7\x16\x4c\xa7\x63\xa2\xe1\xfb\x82\x6a\xd9\xb5\xb1\x70\xc8\x4c\x88\x02\x11\xf9\x17\xc2\x21\x3c\xcf\x60\xce\x04\xf9\x56\xc1\xa2\x42\x7a\xc3\x08\xc9\xff\x43\x34\x15\x40\x9c\x14\xb3\xca\x6f\xbc\x64\x4c\x8b\x2b\xde\x85\x15\x8c\x2e\x8c\xaf\xc2\x70\x47\x1f\xb1\xca\xd9\x34\x1f\x52\xbc\x63\x9f\x75\xac\xf3\x65\xa2\xfb\xc8\x02\x2d\x39\x7e\x8a\xd1\x5d\xf7\xed\x19\x64\x37\xc1\x4b\x54\x68\x1b\x48\x07\x4e\x7a\x88\x33\xc4\x4d\x0e\x47\x58\xc4\x60\x25\xa1\x62\xb8\x5f\x48\x98\xc4\xaf\x10\x7b\xf9\x9b\xe7\x51\xc7\xea\x3e\x5b\xc3\x1b\x58\xc7\x96\x86\xd0\x4f\x26\x43\x84\x1d\x57\xe8\x8a\xae\xf2\x5d\x28\xd5\x91\x32\x82\xbb\xb7\xda\x0a\xa5\xbb\xb2\x86\x1d\xca\x87\x04\x82\xe8\x23\x41\x6a\x1b\x39\xd8\xf3\xd0\xd3\xba\xfc\xfc\x4d\x83\xeb\x07\x63\x28\xbb\xb4\xfa\x02\x68\x91\xa6\x90\x81\xdb\x62\x4f\xc1\x68\xd9\x0b\x12\xbb\xd0\x9d\xf5\xdd\xaa\xac\x33\x12\xb8\xdc\x95\xab\x69\x1b\xc0\x8c\xd4\x26\x90\x13\x04\x01\x37\x62\x2f\x38\x4f\x7f\x7a\x77\x59\xad\xef\x56\xb6\xc7\xea\xf6\x5e\xdf\xad\x0a\xf9\xf0\x4b\xb8\x31\x1d\x75\xe0\x54\xdf\x99\xee\x0f\x3f\x02\x8f\xf1\xe3\x12\x8e\xb3\x41\x1f\xc1\xb2\x4f\xf9\x8b\x13\x94\x5d\x2b\x6d\x6f\x9b\x20\x9d\x83\x59\xa6\x9a\x6f\xcc\x64\x8c\x4e\x4d\x78\x4f\x9d\x72\xb4\xd4\xe1\x7b\x12\x60\xa9\x66\x22\xf9\x62\x6d\x5a\x57\x00\xb8\xd6\x86\x91\xe1\x5e\x67\x93\x2e\xcd\x21\x25\xc2\xf8\xf2\xcc\xdb\xcb\xb9\x97\x66\xdf\x4f\x27\x60\x8a\x03\x0b\xba\xdb\xb6\x53\x72\x2a\xa4\xa2\x39\xfc\x27\x25\x65\x52\x43\x58\x7a\x2d\x9f\xf2\x3c\xf6\x73\x14\x28\xe9\xd4\xb8\xe5\xf8\xf7\x51\xa9\x00\x05\x66\xa8\x3e\x41\x81\x3d\xe3\x67\x9d\x3f\x5d\x0b\x03\xc3\xd3\xda\x30\xfb\x09\xa6\xf6\x94\x94\x4b\x61\xf6\xa4\x65\x12\xe6\x8f\xe2\xeb\x97\xe6\x11\xc8\xdd\xf9\xa6\xf1\x77\x4e\xe0\x9f\xc5\x9e\x78\xe0\x13\x84\x1f\x56\x4b\xf1\x0a\xa6\xf9\x5c\x25\xf2\x39\x57\xd9\x8b\xce\xab\x2d\xe2\x3a\xaa\x0c\x7e\xc4\xcc\x97\x8e\xe8\x9c\x1b\xff\xe5\x26\x7f\x2e\x18\xdb\x98\x80\x7c\x93\x74\x0c\xa2\xf2\xb9\x79\xb0\xc1\x34\xd4\x14\x67\x96\xcf\xdb\xa5\x80\xc6\x11\x54\xc1\xcd\x09\x01\x4f\xf9\x57\x8d\x78\x6a\x22\x28\x02\xd1\x1d\x3a\x57\x5e\xac\xcd\xf3\x2a\x16\x7a\xb3\x9a\xc3\xc2\x40\xae\x7e\x98\xb4\x6c\xf0\x58\x9f\x24\xa9\x50\x93\x11\x54\x81\xa0\x1e\x0b\x90\xab\x3f\xa9\xa8\xbd\x7e\x28\x3d\xc5\x16\x42\xb4\x19\xb9\x34\x5e\x4e\xcb\x73\x6d\x62\x23\x59\x98\xf4\x02\x8f\xc7\xcc\x9c\x47\xa0\x74\xda\x22\x4d\xbe\x89\x42\xa2\xbe\x21\x7b\xf3\x3e\x28\xa3\xaf\x5b\xa1\xe0\x2e\x84\x30\x75\xf2\xbe\xe8\xf1\x53\xb5\x25\xfb\x39\xb5\x5f\xd1\x47\xcc\xaa\x1f\x7f\xf8\xb0\x85\xac\x35\xe4\xef\xf8\xdb\xf3\x53\xde\x08\x6f\xc8\xde\x3c\x13\x4e\x7a\x04\xea\x90\x7a\xd0\x07\xd2\x9c\x9b\xa0\xdb\x26\xf6\x8c\xb2\x10\x74\xe7\x21\x1d\xf0\x93\x74\x36\xd8\xa7\x89\x1f\x68\x18\x31\x3d\x58\x95\x36\x77\x36\xb1\x30\xb6\x33\x2f\x08\xa9\x1a\xb7\x2a\x28\x9c\xbf\xfc\x8d\x14\x81\x7e\xe5\x6b\xc9\xfb\xc2\xe2\xbd\x14\x47\x2f\x77\xe9\xd6\x09\x51\x87\x9d\x18\x91\x35\xc3\x42\x89\x03\x5e\x18\x39\x16\xf6\x69\x7c\x7b\x6a\x03\xb9\x53\x36\xa9\xb7\x37\x93\xf5\x0b\x67\xf8\xb4\xed\x79\xc2\xde\x84\x63\x10\xc2\xf9\xfb\x5b\x52\xad\xc2\xed\xd1\xdb\x7d\x91\x67\xb9\xde\x8d\xcf\xde\x76\x37\xd7\xee\xae\x83\x1d\x57\xb6\xe1\x66\x11\x76\x53\x9b\x0e\x05\x5b\xae\x6b\xfe\x79\x53\xeb\xe9\x56\xca\xca\xaa\x46\x1c\x57\x5d\xf3\xcf\xdf\xfd\x7c\xb9\xfe\xd9\xb4\xf6\xca\x84\x45\xb3\x94\xf9\x56\x75\x19\xd2\xdf\x30\xd4\xf3\x8e\x08\x81\x9b\x73\xf5\xab\xd6\x11\xda\x98\x89\xf0\x09\x90\x29\x10\xca\xb4\x11\xda\x57\xd9\xf9\xd9\x5b\xb0\xf0\xf2\x9b\x38\xf8\xdd\x33\xc5\x31\x2f\x38\x67\xad\xbd\xf5\xe2\x71\x9b\x9a\x2a\x73\x92\x7e\xc3\x61\xd6\x60\xaf\xca\x59\x51\xf6\xdb\xe7\x56\x5f\x6b\xa6\x52\x4d\x5b\xe1\xc4\x58\x03\xae\xb1\x55\x81\x37\xdc\x56\x16\x66\x50\xd1\x0f\xc8\xb9\x30\x83\x6f\xe2\xbe\xe7\x5e\xf9\x29\x37\xab\xbc\x55\x0b\xef\xd2\x3f\xc7\x55\xea\x91\x79\xca\x8e\xf9\xb5\xe8\xbb\x78\x0b\x9d\xfa\x2a\x7a\xbb\xba\x7b\x7b\x75\x79\xff\xf6\x3a\x16\x2a\xb5\x5c\x04\x5a\xfa\x36\x71\xa3\xa7\xbe\xf3\xf7\x8d\xaf\x15\x93\xb7\xdf\x99\x97\xab\x40\xfb\xe8\x71\x1e\x5d\xb5\x5e\xd8\xd5\x35\x66\x72\xb5\xa8\xdf\x72\x14\xcd\x46\xd7\x9c\x43\x0a\x94\x86\xff\xb9\x21\x36\x17\xe4\x42\xef\x51\x97\xb3\x94\xd6\xc5\x25\xf2\xb9\xaf\x1e\x64\x13\x39\xaa\x3e\xe0\x26\x40\x19\x9c\x78\x0b\x2b\x42\xc9\x6f\xc9\x6b\x36\x0e\xcf\x53\x01\xe2\x59\xa6\x1c\x98\x23\xa8\x32\xb5\xba\x3c\x14\x42\xfd\xf5\x42\x54\x6f\xea\x7a\xf1\x6c\xa9\xf6\x9d\xd0\x06\x60\x3c\x1a\x6a\xd3\x57\x9b\xdf\x6b\xc4\x37\xbc\x4c\x79\xfe\x3e\x13\x78\xd3\x07\x9c\x72\xdf\x9a\x4a\x92\x06\x44\x70\x37\xa7\x69\x39\xe7\xfa\x5f\x31\xe8\x26\x79\x5e\xd0\x4d\x8f\xd2\xf9\x77\xce\xfb\x67\x85\xdf\xb4\x13\x52\xf8\xd6\xf9\x45\x1b\xb5\xbd\x01\xbf\xa5\xcf\xac\xbd\x1c\xc5\x21\xd9\xa7\x38\x7a\xb9\x6f\x6f\xb4\x57\x14\x35\x7e\x5c\x15\x9a\x1c\xa2\x4c\x66\xa7\xea\x91\x20\x48\xb7\xa5\x2e\xf4\x35\x46\x5d\x2b\x4f\x07\x1b\x8a\xe6\x96\xee\x49\xa9\x0c\x76\x4b\x61\xae\x3e\x73\xcc\x0c\xd3\x03\x4e\x1a\xe7\xda\x6e\xd9\xb0\x4f\x36\x8d\x05\x74\xc7\xf4\x45\xb9\x2b\x55\x6b\x8c\x2b\x1d\x77\xb4\x1a\x07\xd5\xc0\x74\x32\x37\xca\x3f\x09\x1c\xaa\x7b\x2a\xa6\x78\x18\xe7\x5e\x22\xea\x2d\x15\xdf\x70\x68\x1e\x3a\x62\x3e\x8c\x38\x1f\x3b\xdc\xa8\x24\x63\x23\x6b\xbf\xe1\x55\x43\x3b\xd0\xb7\x6b\xcf\x75\x58\xba\x10\xf5\x4e\xe7\xa7\x54\xc5\x2d\xe9\x1f\x5c\x47\xeb\x2d\x15\xaa\xa7\xb7\x3a\x96\xd6\x91\x8e\xcc\x80\xb5\x92\x2e\xda\xef\x17\xef\x87\xdd\x53\xb3\x31\x4e\x70\xca\x47\x7a\xf2\x90\xd7\x7e\x70\xa4\x77\x84\x52\x5a\xa5\xef\x7f\x59\x2f\x88\xcd\x13\x23\x02\x6f\xd4\x85\xa0\xee\x72\xa1\x43\x77\xb7\x68\xef\xae\x1c\xed\x7e\xd3\x11\x0e\xa1\x2c\xe5\xb0\x60\xc4\x70\x88\x6a\xeb\x19\xf3\x25\x57\x49\x19\x75\xea\x37\x0b\x73\x66\x85\x1a\xc9\x39\xa7\xf4\xc6\x74\xc0\xbd\x21\x7e\xb8\x62\x54\xc6\x15\xd4\x34\x53\xc0\x81\xdf\x47\xcc\x8e\x15\x17\xe0\x47\x66\x8d\x7a\x0c\x75\x78\x35\x30\x2c\x99\x7c\xeb\x95\x0f\x8d\x32\xbc\x1b\xb9\xea\xbd\xbe\x11\x22\xdf\x39\xf7\x63\xea\xa9\x3c\x75\xe2\x40\x47\x2f\xbc\x8f\x13\x8d\x02\x9a\x36\xcb\x4f\x0d\x44\xad\x3e\xa7\xd7\x3a\xad\x9a\x59\x76\x6a\x43\x6f\x15\xb3\x7d\x07\x79\xcd\xe4\x38\xc2\xce\x5c\x7c\xfc\x74\xff\xf6\x75\xf5\xbf\xd3\x51\x2d\x5f\xd4\x3e\xa1\x23\x57\x8f\x13\x68\xd1\x8d\xa3\x6d\x13\xa4\xc1\x87\x05\xad\x1e\x31\x23\xbb\x29\xe7\x83\xe4\x0c\x35\x4f\x8a\x7a\x25\x91\x26\xbd\xc0\x7b\xa6\xb5\xa6\xc2\xf6\x79\xd6\x43\x2b\xa2\xf4\xf7\x71\xe6\x28\x2e\xf2\xbb\x39\xd1\xcf\x06\xbc\x55\xb6\x94\x3e\xbc\xc4\xdf\xe6\xca\x3a\xf6\xee\xa2\x9e\x37\x9e\x13\xcd\x04\x6e\x5f\xe2\x4e\x63\x7d\x64\x8c\x7b\xb0\xfa\x61\x81\x7a\xd7\x89\x08\x2a\x33\x44\x89\xec\xa6\x6f\xc0\xc9\xa4\xc6\xdf\x6d\x91\x3c\x97\xad\x25\xc3\x49\x09\xe1\x4d\xce\x57\xcb\x4a\x74\xf4\x6f\x44\x71\xd4\x3d\x7d\xaa\xce\x2b\x58\x55\x10\xee\x62\x72\x15\x58\x1a\xe4\x92\xbe\xd1\x47\x2d\x0f\xf6\x9d\x3d\x15\x4f\x4b\xea\xff\x02\x13\xd9\x7b\x57\xdf\xa4\x8e\x33\x7b\x36\xfb\x87\xa3\x68\x37\x26\x38\x83\xb6\x0c\x91\xf8\x56\x3b\x3b\x72\xdc\xee\xbe\x6b\xb0\xe2\x2e\xe4\x6e\x9b\x8f\x60\x89\x88\x6f\xbf\xa8\x60\x03\x65\xc4\xb4\xe8\x13\x74\x7d\xca\x9a\xcd\xa4\xfb\xd0\xaa\xad\x89\x21\x9c\xa2\x0c\xc1\x83\xb1\x34\x81\xee\x73\x48\x3f\xa3\xe5\xda\xa5\x1d\x78\x08\xbb\x94\x8d\xe5\x01\xf0\xad\xca\x5d\x9d\xe1\x12\xb9\xf3\xec\xa5\x03\x29\xe5\x2d\x95\xf5\xb8\x91\x0c\x02\x47\x15\x24\xaf\x4a\xf4\x25\x6b\xd1\x3c\x21\x4a\xec\x26\xca\x1f\x9b\xd3\xb2\x87\x47\xa3\xa0\x66\xbd\x2f\x51\xee\x3d\xa6\xb7\xe4\x71\xa9\xc3\x1a\x54\x20\xe9\x97\xd3\xbb\xff\xc7\xbb\xf9\x99\xfc\xc9\xfb\x7f\xb0\xbb\xdf\x45\x91\xbf\x9f\x8d\x25\xac\x7b\x99\x70\x08\xfb\xf3\xf9\x01\x72\x41\x87\x01\x74\x17\x36\xea\x14\x37\xa9\xf9\x74\xfa\x8b\x89\xe0\xca\xce\x54\xd7\x58\x5e\x76\xf9\x27\xba\x8f\x5a\x5e\x78\x1f\xd0\x50\xf8\x5c\x9a\x7b\xe7\xa9\x2f\x2c\xf4\xf7\xa6\x07\x13\x8a\x7c\x77\x0d\xa8\x40\x96\xa2\x52\x28\x03\x2b\x07\x75\xec\xa3\xad\x1a\xd0\xb1\xfc\x8a\x9c\xb9\xa6\xac\x18\x6d\xe4\x61\xeb\xfc\x7c\x5e\xfd\xf8\xdd\x4f\xff\xfc\xcf\x72\x2d\x30\x54\xcb\xa9\x7e\xb9\x17\x8a\xa5\x05\x1c\x38\xa8\x16\x23\x6a\xcd\x40\x7c\x31\xf0\x51\x5e\x46\xf0\xf8\xa0\xe2\x3b\x23\xaa\x30\x43\xd6\xc5\xb2\x87\x3f\xfe\xf4\x3f\x54\xb2\x44\xc9\xa5\x13\x1d\x75\x49\x07\xf6\x6e\x08\x1f\x5a\x74\x9c\x07\x36\x1b\x39\x9e\x1e\x44\xc4\xc4\xf4\x19\x18\x95\xaf\xaa\xd9\xc3\xcb\xfa\x28\x38\x57\xcb\xa0\x69\xa5\x4c\x65\x4d\xd8\x0a\xdd\xb7\x8b\xea\x4a\x45\x16\xd1\x52\x62\xbb\xda\x29\x6d\x78\x45\x19\x6c\x3c\xf6\x80\x81\x27\x20\x1d\xc4\x4b\x80\x5f\x6d\xe4\xb1\x15\xa6\x43\x8b\xab\x96\x3c\xe0\x8a\xc8\x71\x08\x21\x9f\x24\xfa\x55\x74\x04\x4a\x3f\xd9\x28\x70\x92\x41\x1b\xd0\x51\x67\x34\xbd\x48\x39\x8a\xae\xd4\xda\xe0\xd6\x7b\xb2\x12\xf4\x01\xf7\xe7\x15\xdd\x0a\xf4\xff\xb0\xf7\x77\xcb\x91\xe3\x48\x9e\x28\xfe\x2a\xb0\xdc\x31\x2b\xe5\xff\x2f\x29\x3f\xba\xaa\x77\x2d\xcb\xc6\x7a\x95\x52\x66\x96\xba\xf3\x43\x23\x29\xb3\xce\xd9\x33\xc7\xc2\x10\x24\x22\x02\x25\x06\xc1\x22\x40\x45\x46\xad\xad\xd9\xbc\xc3\xb9\xd9\xf3\x2c\x7b\x37\x8f\x32\x4f\x72\x0c\xee\x00\x08\x90\x20\x09\x86\x94\x35\xd3\xdb\xdd\x17\xd5\xca\xa0\x13\x74\x38\x1c\x80\xc3\xe1\xfe\x73\x90\xed\x3d\xa7\xe4\xb5\x50\x2b\xaa\xe7\x6a\xac\x99\x85\x85\x1c\xf9\xf3\xcd\xa7\x8f\x27\xac\xcc\x44\x6e\x4f\x27\xed\xf1\xc9\x48\xa1\xeb\x40\x90\x1b\x5a\xfb\xc7\x71\xa3\xaa\x8e\x9b\x53\x72\x66\x4e\xdc\xba\xc9\xb0\xbc\x83\x03\xca\x43\x7d\xf2\x82\x6e\xcd\xdb\xce\x62\xe9\xb5\x1a\x2e\x48\x01\x92\xcd\xcd\x08\x64\x8d\xcd\x64\xb2\x93\xa2\x04\xbc\xfd\x17\x27\x7f\x78\xe9\x4f\x86\x89\x79\x3f\x1e\x9e\xed\x91\xcc\x31\x83\xe7\x5c\x3c\x1c\x6e\x03\x5f\x79\x31\xe0\xce\xf8\x4d\xb5\x7d\x79\xe9\x8a\xbe\xc7\xcc\xe0\xa9\xd0\xfb\x56\x30\x69\x06\x70\x48\x3a\x2d\x4b\x2f\xc6\xdd\x37\x7f\x9b\x2a\x34\x7e\xd1\xe6\xf5\x6e\xcd\x5a\x1c\x57\xaf\x8e\xdf\xbf\xb7\x29\x5c\x05\x0a\x14\xb5\x83\xd3\xe4\x2d\x8a\x29\x31\x6b\x8a\x14\xc3\xb3\xd2\x84\x49\xe2\x81\x7a\x78\x99\x5a\xd0\x52\xee\x0c\x62\xec\x39\xfe\x44\xf0\x27\x72\x79\x21\xc9\x91\x5e\x1d\x7f\x6d\xf8\x6f\xd0\x72\x98\x4b\x7a\x18\x40\x32\xf6\x15\xa1\xac\x44\x51\x44\xf3\xce\x44\xd1\xd8\x9d\xf1\xcd\xd7\xaa\xa0\xa5\xbb\xfc\x03\x56\xdc\xf3\xc8\x3b\x8b\x59\x49\xdd\x13\x03\x63\x83\x3a\xd2\x4e\xd6\x3d\xea\xb4\xe9\x30\xef\x6c\x4d\x95\xaa\xf9\xb2\x31\xf5\x56\xcf\xdc\xbf\x4c\x46\x04\x4c\x13\x73\x80\x34\x78\x4d\x41\x08\xa7\x8d\x2b\x35\x01\xa5\x66\xb7\x30\xae\x8b\x63\xc2\x54\x76\xfa\xb4\x1b\xdb\x69\x87\xcb\x4d\xd2\xee\xfd\xe6\x81\xc5\xd3\xeb\x8c\x2d\x5c\x8a\x8a\xfe\x97\xb9\x1f\xd7\x07\x38\xb8\x9d\xc6\x25\xd0\x7d\x96\xca\xe8\xe1\x73\xcb\xb7\x2d\x5e\xc1\x87\xcb\x0f\x6f\x5c\xcf\x63\xd4\xa5\x90\xa2\x29\xf3\x85\x4b\x4d\x69\x2b\x94\xf8\xab\x8c\x13\x18\xf7\x62\xae\x31\xa4\x41\x6d\x48\x29\x50\x80\x44\xd5\x34\xbb\x93\xe4\x88\x92\x77\x97\x6f\x8d\x2b\x08\xc2\x77\xd9\x3d\x83\x7c\x94\x0f\x57\x6f\xde\x7d\xff\xf4\xd8\x2f\x7f\xd1\xb1\xd3\x41\xf2\x76\x30\xb1\xd4\x9e\xfb\xd1\x5f\x98\xfa\x49\xe3\x9d\xb1\x3d\x0e\x24\x65\xed\xa2\xee\x58\x3d\x60\xef\x48\x3d\xd3\xa7\x65\x48\x45\x48\x93\xdc\x96\x73\x6e\xfe\xbf\x8d\xe6\x46\xc7\x6c\x4b\xe5\x5d\x7c\xe0\xbe\xf1\x66\x3d\x0e\xc6\x32\x0b\x7c\xc5\x98\xce\x36\x9e\x4b\xa2\xaf\x13\x00\x41\xfc\xe3\xe2\x01\xe9\x2d\x9b\x3d\x04\xae\xdb\x0c\x17\xab\xba\xf7\x01\x63\xff\xfe\x00\x2c\x7f\x2d\xa8\x2a\x66\x5f\x3b\xa7\x45\xb1\xa4\xd9\xdd\x3f\x35\x2c\x5e\xd8\x6a\x98\x78\x5a\x19\x3e\x4b\x34\xc7\x96\x02\x83\xb6\x09\x60\xed\xdb\x3a\x38\xfd\x9b\x1b\x9b\x0b\x8b\xf8\x8a\x78\xe3\xa3\xcf\xc9\x14\x50\x97\xf5\x97\xf1\x9e\x69\x8e\x5b\xec\x83\xcb\xaf\xf5\x65\x09\xcd\xd8\x50\xf6\xa0\xed\xf1\xa0\x76\xd3\xda\x1b\x6d\x0c\xec\x3f\x68\x9b\x40\x94\xa3\x81\x16\x83\x2f\x24\x78\x35\x7c\xcb\x63\x8f\x42\xc9\xc2\xe9\x85\xe1\x5a\xf6\x92\x19\xa1\xc6\xf1\x1b\xaf\xda\xdb\x27\xf3\x0b\xdc\xcd\xfa\x62\xee\xf1\x14\xa6\xb5\xf2\x52\x2a\x46\x53\x43\x44\x0b\x56\xae\xe1\x42\xfd\xc9\x7b\xf8\xcb\x83\xdf\xb3\x1d\xd0\xdb\x9e\x97\x66\x7d\xc4\x4b\xf2\xf9\xf6\xed\xc9\x7f\x81\xc2\x51\x30\x63\x43\xdb\x50\xac\x56\x12\x83\xa4\x3e\xc1\x5f\x8f\xd0\xa4\x07\xf7\x7a\xd9\x06\x34\x0a\xef\x4a\xd2\xe5\x87\x1b\xa9\x4d\x78\xb3\xa6\xe0\x19\xe7\xa0\x32\xda\xf1\x5e\xfa\x3a\x38\x53\xc5\x27\x79\xbd\xe2\x65\x39\x12\x8f\x1c\x52\x25\x6c\xa6\x40\xd8\x83\x4c\x1a\xfc\x3c\x60\x89\xdd\x8e\xed\xe8\x01\x59\xba\xd0\x94\xf0\x3c\xb7\xad\x0d\x66\x35\xa3\x66\x55\xc1\xe1\xa6\x79\x8e\x60\xdb\xf2\x00\xc1\xca\xd4\x36\x16\x3c\xdb\x31\xd8\x1d\xa6\xc7\x40\xbe\xe5\x85\x62\xb5\xcb\x3d\x8f\xd6\x07\x19\x7f\x61\x5a\x30\xd7\x4c\x35\x75\x89\x7b\x18\x26\xdd\xc3\x91\xd9\x60\xa8\x4f\x8f\x94\xfd\xa6\x2d\xe7\x9a\xc8\x62\xb7\xfa\x6b\x1a\x83\x2e\x8e\x01\x6e\x92\x79\xa9\xb7\x08\x57\x48\x36\x95\xd5\x84\x13\x56\x94\x3c\xc1\x7b\x03\x2f\x60\x64\x49\x84\x53\x6b\xd4\xca\xf1\xeb\x21\xff\xe3\x53\x77\x56\x7d\xda\x64\x2e\xf5\x69\x63\x29\x83\xf4\xa7\x29\x6e\xc6\x10\x1f\xfb\x94\x0f\x1f\x5a\xcf\x10\x4c\x1f\xde\x77\x7c\x95\xca\x24\x5f\x3d\x06\x93\x7c\x95\xce\xdc\x87\x46\xf2\x2c\x91\x3d\xa4\x7d\x38\x83\x78\x7c\xd4\xc7\x91\x19\x7c\xda\xfd\x3e\x75\x42\x7b\x2f\x1c\xc8\xb1\x07\x49\x62\x6e\xc0\x30\x40\xc7\xdf\x63\xd3\x55\x15\x62\x3a\xb4\xc5\x96\xda\x01\xef\x85\x79\x1d\x30\xf5\x57\xe1\xcd\xb4\xd3\xe2\x41\x90\x7e\x5c\x4a\x66\x00\x96\x3c\xe1\xc1\xaf\x31\x16\x26\x77\x15\xd8\x20\xbe\x18\xcf\x44\xa2\x80\xec\x0b\x0f\x5e\x09\x11\x5a\x8d\x88\x1a\xdd\x1d\x33\x16\xc4\x59\x1b\x61\xf2\x26\x98\xc4\xee\x0c\x26\x93\x8c\xa7\x90\x38\x81\x49\x28\x40\x86\x3a\x17\x98\x53\xe9\xd3\xfa\x5a\x34\x65\x3e\x67\xd0\xbd\x17\xe6\xcd\x8a\x5a\xbf\x68\x46\x77\x26\x7b\x13\x77\xa8\x03\x2f\x1c\xce\x1e\x84\x3f\xe1\x6d\x63\x29\xd4\x0c\x69\x7e\xae\xc7\x5c\xe9\x5d\xca\x87\x2f\xe4\x41\x29\xb7\x29\xe6\xe6\x8c\xf2\x23\xcd\xea\xb9\x73\x79\xce\x48\x1f\x32\xc8\x51\x1e\x93\xc6\xf9\xa3\x50\x7c\xb5\x7f\x5d\x0b\x9a\x67\x54\x8e\x58\xb5\x3d\xc2\x84\x8b\x93\xa2\xb0\xa0\x5b\xd3\x2c\x9c\x9b\x9a\x7c\x63\x5f\x0f\xcb\xf5\x8d\x55\x46\x6a\x43\x46\x24\x59\xbb\xe8\x82\xe5\x1e\x4a\xb9\x03\xf6\xd3\xe8\xe8\xe1\xe7\x46\xd3\x84\x3c\x92\x87\x31\xe4\x80\xd5\xc0\x08\x10\x35\xb2\x97\x5a\xe9\x8f\xb5\x15\xfc\xdc\xbb\x23\x3b\x23\x72\xfd\xd9\x54\x33\x1c\xeb\x19\xd2\x3c\x58\xd6\x50\x38\x71\x4c\xd4\xe6\x12\xff\xbc\x66\xe0\x7e\xa0\x23\x66\x4c\x84\x34\xe1\x3c\x6e\xee\xcf\x33\xef\xad\x24\xd1\xda\xc8\x80\x58\x03\x0f\x76\x76\x53\x88\x31\x7b\x72\x43\xef\xdb\x1b\xfe\xf6\x03\xe8\x19\x6c\x54\x53\x33\xbf\x2c\x53\x64\x3c\xfb\x22\x39\x2b\xf3\x5a\xf0\xfc\x8a\x0e\x1f\xa6\x46\x5f\x4a\x98\xd6\x48\xac\xf9\x8e\xf0\x9e\x28\xdd\xb5\x10\xeb\x82\x2d\x20\xfd\x18\x21\x76\x8c\x17\xea\x1d\x3c\x20\xde\x83\x2e\xc2\x26\x7e\x72\x01\xb1\x1e\x18\xab\xdf\xe7\x07\x1f\xce\x92\x5b\x55\x15\x6c\xa6\xd4\xec\x2b\x09\x32\xd3\xa4\x0f\x93\x98\xed\x77\x57\x2f\xe1\xdf\x73\x7a\x7a\x03\x59\xa7\xe9\xdd\x44\xfa\xe9\x3e\xde\x98\xac\xef\x03\xfb\x67\x5c\xcf\xed\x24\xe8\xc0\xd8\x6c\xab\x85\x03\x77\x83\xda\x4b\xdb\x4a\x40\xed\x9f\x2e\xe4\x5b\x4c\x08\x0c\x7c\x45\xa3\x78\xa7\x3e\xcd\x74\x67\xdb\x44\x38\x0b\x2b\x89\x73\xb6\x86\x6b\xcf\x47\x45\x8e\xf2\x20\x17\x0e\x46\x42\x9d\xae\xe2\x15\x4a\x20\x05\x83\x74\x80\x7c\x8e\xec\xfe\xdd\x70\x48\x79\xcf\xd7\x1d\x65\x23\x38\x97\x0e\x80\x94\xc6\xf2\x72\x87\xd1\x47\xbf\x93\xad\x77\x74\x1a\x87\xd4\x88\x78\xd8\x81\xe7\x08\x66\x6a\xac\x7a\xa0\xba\x76\x71\x8f\x78\xce\x13\x15\x6c\xdc\xcf\xd7\x52\xa4\xec\x43\x58\xe9\x2c\xbc\xa4\x29\x85\x33\xa4\xa0\x9f\xdc\x25\x85\x8e\x5a\x21\x8c\xd5\x68\xf7\x98\xac\xbf\x11\x2b\xa4\x4f\x3a\xcf\x4a\x22\xd2\xbc\x97\x0a\x38\x7a\x90\x17\xa5\x51\x6c\xd1\x94\x8a\x43\x5c\xd0\x05\x55\x8c\xc0\xbf\xcc\x9d\x00\xc5\x80\x52\xcf\x72\x93\x1b\x6a\xc2\x1a\xb1\x76\x5d\x4e\xc4\x6a\xd5\x49\x42\xde\x2d\x0c\x04\x28\xb0\xe3\xaa\xc9\xb6\xb9\x7f\x56\xb5\x5d\x63\x6d\xb4\x2a\x2f\x83\x0f\x06\x2d\xf3\xc2\x40\xc4\x43\x2e\x3c\xf8\xc1\x1a\xc5\xf2\x3f\x85\xa1\x48\x4d\x09\xfa\xf6\xd1\x26\x75\x96\x9e\xbf\xcf\xe4\xf8\x78\xed\x8f\x6b\x21\xf8\x4b\x92\xe0\x15\xe2\xd4\xd3\x23\xee\x83\xfc\x04\x30\xb3\x50\x7f\x0e\x17\x83\x67\x60\xae\x3f\x93\x4d\xc5\x6a\xfc\xb3\x91\xa9\xb9\x4e\x4b\xc0\xdd\x68\x03\x6d\x3a\x40\x6e\x1b\xbe\xde\x9c\xfc\xda\xd0\x82\xab\x3d\xb9\x67\xb5\x34\xac\xc0\xb5\x78\x1f\x15\xf6\xb0\xac\x68\x0f\xda\x01\x0a\x70\xbb\xec\x7c\x5f\x56\x64\xcb\x94\x77\x21\xef\x09\xc2\x1c\x56\x3b\x31\xad\xfe\x1a\x0a\x68\x93\xbb\x8d\x90\xac\x0b\x69\xeb\x45\xcc\xb6\x59\x3e\x41\x6c\x80\x0f\x0f\xf1\x05\xfe\x71\x38\x7b\xe3\xca\x74\xc3\x8a\x61\x47\xbc\x23\x48\x5f\xa1\xbb\x9e\xe1\xa9\x85\xeb\xb3\x1c\x39\xa7\x3a\x82\x39\x3b\x04\xac\xa0\xbf\x97\x41\x03\x1f\x1b\xb0\x66\xe6\x57\x23\xf5\xba\x9c\x6a\xc4\x74\x69\xe7\x5a\x30\xe1\x35\xf9\xe3\x9b\x2f\x0f\xb4\x3c\xdc\xe5\x42\xd7\xa2\xf1\x84\x1b\xb7\x89\xfa\x1d\x1b\x93\xba\xbd\x56\x18\x96\xb5\xa3\x48\x38\xb6\x3b\x47\xff\x41\xea\xe6\x55\x12\xe8\x87\x82\x6b\x16\xc6\x43\x03\x90\xd3\x89\xe4\xe0\x80\x28\xb9\x47\xa6\xea\x2f\xa4\x5f\xbb\xa2\xbe\xda\x4a\xf9\x05\xb2\xa7\x4b\x42\x5d\x51\x53\x43\x4b\x2e\x2f\x5e\x11\x1e\x00\x73\x33\x15\x04\x3f\x1e\x63\x9a\x13\xe1\x65\x56\x33\x7d\xfa\xa2\x85\x49\xf2\xc5\x14\x0b\x8c\xf8\xb6\xd7\xc7\xa7\x58\x82\xd8\x5e\x4c\x87\x45\xf1\x6b\xa6\x6a\x5b\xa4\x18\xf2\x9a\xca\xc2\x00\x1f\x19\x72\xa3\x0f\xac\x66\xe5\x77\xaa\xad\x66\x2c\xbd\x1a\xc7\x87\x94\x34\xee\xcc\x6e\x22\xca\x01\xb8\xa5\x6f\x9c\x2c\xfd\xa4\x9b\x25\x3d\xaa\x24\x23\x91\x98\xa9\xc1\x97\xed\x52\xd2\xa6\xde\xfc\x1e\xab\xae\xdb\xe3\x1e\x07\x7c\x16\xd3\x2b\xd2\x96\xe7\xe9\x22\x04\x0f\x2b\x40\x30\xba\x5f\xa6\x1b\x7e\x07\x18\x7d\x9f\x21\x9e\x8c\x4b\x53\x2a\x38\xb0\xca\xec\x00\x23\x82\x04\x02\x95\xad\x19\xc0\x77\x19\xf8\xb2\x83\x86\x18\xd8\xfc\x4e\x12\x0f\x50\xc9\x4b\x80\xea\x0c\x77\xbf\x82\xf1\xa1\x23\x7d\x79\x31\xe7\x2b\x5d\x0c\x62\x46\xa0\x95\x9b\x0e\x04\xf1\x2b\x87\x80\x22\x99\xb2\xc1\x44\x10\xd0\x09\x82\x70\xb1\xd9\x4c\x42\xee\x54\xdb\x86\x11\x77\x62\x7a\x08\xbc\xf7\x9e\xad\x69\xb6\x4f\xd7\x84\x08\x7d\xc2\x21\x00\x5e\xb2\x33\x5b\x0b\x76\x5e\x26\x70\xda\xae\x76\xf8\x18\x4e\x59\xf3\xc1\x01\xcc\x21\xb4\xdd\xe0\x5f\x93\xc6\xf6\xd8\x10\xd4\xfc\x9e\x66\xfb\xbf\xb0\xfd\x59\x9e\xb3\xfc\xf5\xfe\xca\x2c\xbe\x03\x23\x10\x27\x9f\x1e\x00\x7b\x3c\xaa\x30\xff\x30\xd3\xfb\x6b\x9e\x93\xbd\x68\x8c\x7a\xf1\xda\x6d\xb3\x05\x97\x80\x66\x05\x29\x94\x55\x64\x0f\x88\x2d\x27\x8e\xb1\xf3\x0d\x55\x97\xe5\x3d\x57\x29\xbd\xf0\x88\xd3\xfb\xd0\xda\xca\x18\xf2\xca\xa1\x01\x8c\x7a\x85\x8b\xb1\x14\x36\x4d\xda\xdd\x88\x7b\xa3\x4f\x9a\xce\xa2\xbb\x87\x6c\xa1\x7f\xcc\xda\xc0\x65\x88\x42\x43\x4b\x51\xee\xb7\xa2\x49\xe3\x3a\xc1\xb6\x8c\xd0\x1e\x20\x5a\x60\x4f\xcf\x3a\xc4\x7e\xef\x85\xbb\x4c\x32\xf9\xd1\x62\xad\x24\xb1\xf9\x31\x44\x62\x49\xd6\x63\x27\xc5\x65\x61\x0a\x87\xb5\xa6\xfe\x77\x72\xbe\xf2\x02\x33\x57\x2f\x87\x4b\xa1\x44\x48\x0f\x90\x2e\x2d\x0a\xb1\x93\xe4\xea\xe5\x15\xc9\xc4\x76\xdb\x94\xd6\x23\x96\x37\x80\x92\xf4\x45\x5c\x5e\xcd\x11\x38\x1e\xd7\x27\xec\xb0\x38\xf9\xa3\x8b\xbc\x53\x71\x27\x85\xff\x1b\x45\x55\x23\x5d\xf9\x9d\x84\x2e\x74\xdf\x48\xef\xc5\x0e\x17\x3f\xcb\x35\xfb\x0a\x2b\x9e\x36\x83\x05\x16\x17\x55\xae\x0a\x90\x77\xf8\x9b\xee\xc6\x17\x6d\x55\x9e\xe9\x71\x3d\x9b\x9e\x9d\x21\x71\x52\x00\x81\xd8\xb5\xd7\xc8\x73\xb8\x81\xc8\x60\x5a\x2b\x9e\xf1\x8a\x96\x23\x91\x05\xd3\x6f\xa6\xf2\x89\xf1\x4a\xde\x9b\xe0\xe9\xf3\x8e\xfb\x89\x17\x61\x99\x89\x84\xc0\x66\x4d\x15\x04\x72\x79\x31\x16\xf1\xd6\xef\xc5\x54\x94\xf2\xf0\x1b\xb3\xfa\x9b\x10\x93\xdc\xfb\xd2\x78\xf8\xc1\x00\xf9\x3c\xae\xbc\x90\x8a\x44\xa9\x37\xd2\x26\x9f\x19\xa9\x07\xef\x4e\x88\xfc\x82\x4b\x3a\x67\x0e\xf8\xf4\x09\x47\x44\x43\x4d\x7c\x6f\x48\x1a\x43\x07\x4d\x83\xc1\x97\x67\xb0\xfa\xe8\x93\xc1\xb6\x3c\x7f\x3e\xb8\xee\xcc\x99\x12\xbd\x97\xe6\xf6\x7d\xe6\xc4\xb0\x2f\xa7\xcf\x8d\xf0\x8d\xd9\xec\x3d\x60\x86\xc0\x17\xe1\xdc\x66\x9a\x1c\x19\x88\x6b\x56\x89\x5a\x5d\x33\x2a\x45\x79\xbe\xe1\x45\x7e\xb6\x6c\xe4\xb0\x89\x3c\x40\x3e\xdd\x3b\x7c\xd1\xd4\x5c\xe3\x45\x4e\xe8\xd2\x8b\x9c\x89\x08\x3f\xf8\x92\xa8\xf6\x35\x5f\x6f\x86\x7d\x7d\x71\xea\x79\x6c\xd9\xd7\xb4\x06\x9b\xca\xdc\x69\xec\xbd\x63\xe2\xb2\xae\x59\xc1\xee\xe9\x48\x2e\xc7\xf0\x1b\xc9\x6c\xd2\x92\x70\xf7\x1a\x59\x33\x11\x84\x93\x4d\x70\xf9\x09\x30\x56\x52\xb8\xfb\x14\xa0\xb1\x0c\x73\x85\x74\x49\xba\x69\x51\x3d\xe1\x15\x52\x63\x77\x6a\xf8\x5a\xa2\x72\x5e\x89\xba\x14\xeb\x9a\x56\x9b\x61\xb7\xd4\x10\xfd\x2c\x3d\xa8\xbc\x17\xd3\x24\x7b\x53\x01\xbc\xcb\x34\x4f\x40\x38\x8b\x19\xa9\xdf\x48\xe3\xe2\x0b\x17\x85\xf1\x2f\x4c\x73\xe2\x88\x67\x71\x73\x6f\xdf\x1a\xe6\xe8\x86\x65\x4d\xcd\x46\x4b\x47\x78\x24\x09\x5e\xf9\x9a\xb9\x3c\xf6\x8a\x4a\x89\xbc\xf0\x82\x75\x81\xd8\xad\xe5\xec\x88\x72\x91\x49\xf2\xaf\xff\xeb\x20\x47\x0e\xb2\x88\x1e\x21\x3a\x76\x55\xe1\x13\x8e\x3a\x54\xda\x4e\x4f\xba\xb3\x22\xa4\xf3\xae\xb3\xdb\x0a\x2b\x0e\x4e\x31\x10\xdd\x37\xaf\x5c\x23\xfb\x23\x9c\x5e\xb6\xc6\x7b\x39\x45\x9c\x93\x05\x6b\x22\xa4\x09\x8e\x62\xab\x73\xb2\x1d\xe0\xc7\xd5\x38\x70\x0a\x5a\xd9\x82\x50\x92\x34\xcc\x0f\x21\xe9\x14\x2d\xf9\x70\xf1\x83\x03\xf3\x6d\x55\x20\x40\x81\x38\x36\x38\x00\xb6\x34\x09\x22\x0e\x9d\xc8\x0e\x66\xba\x2b\x88\xe1\x7f\x1c\x2a\x7a\x64\xa2\x09\xaf\x7b\x7a\x5e\xc7\xa9\x31\x03\xdb\x68\x62\xb0\x90\x66\x7a\x94\x0c\x7b\xa0\x3c\x8f\x3b\x3a\x36\x88\xd3\x55\x3b\x6a\xb1\xce\xaf\x6c\x83\xac\x60\x6d\x80\x67\xc7\xdd\x8b\x27\x95\xba\xa6\xfb\x70\x34\x82\x79\x28\xf1\xae\xc1\xa4\x20\x01\x66\x74\x08\x6e\xf2\xf0\x40\xe6\x55\x2d\x4a\xb5\x80\xf1\x0d\x7a\x13\xf0\xd1\x42\xa4\x01\x39\xd1\xe4\x3d\x48\x53\x5f\x3d\x0a\xca\xcb\x36\xce\x55\xff\x0b\x82\x8c\x00\x2c\x9a\xfb\xad\x77\x45\x53\xb3\x7b\x56\x4b\x96\xce\x90\x79\x61\x92\x25\xc9\x8a\x15\x9f\x6e\x92\x12\x24\x0c\x2e\xd0\x37\xa2\xc8\x2d\xe2\x56\xac\x6d\x08\x75\x2e\xec\x9a\x9d\x3a\xaa\xf6\x2d\x96\xdb\xf0\x1e\xe9\x61\xf9\x21\x84\x5c\x74\x9c\x2d\x5c\x86\x51\x6e\xd7\x36\x2e\x91\xf0\x74\x64\x8e\xf1\x72\x5d\x30\xc0\x3f\x19\x9e\x63\x1e\x4d\xc2\xa9\x9d\x48\xa0\x37\x10\x45\xbc\xc4\x1a\x23\xcb\x66\xeb\xf2\x19\x20\xff\x4b\x3f\x94\x58\x97\x4a\x6d\x5a\x40\x79\xc9\xca\xfc\x43\x53\x28\x0e\xdf\x4b\xdc\x79\x66\xa1\x59\x3d\x74\x8a\x6c\x8d\xb0\x4c\xf0\x86\x2f\x15\x78\x6a\xe3\x53\x9e\x9c\x91\x8c\x22\x40\xa0\x85\x19\xea\x51\xd7\x50\x9c\xc8\x5e\x99\x97\xfc\xd7\xc6\x5e\x91\x1b\x09\x5d\x5e\xb4\xd0\x82\x80\x21\xcf\xee\xf1\xa1\x4d\xfa\x37\x78\xa5\x63\x43\x8c\x70\x3b\x37\x4c\x9d\x19\x10\xee\x37\x5b\xf1\x0b\x1f\x1e\xee\x01\xfa\x84\xa1\xb7\x20\xdf\x80\xd3\x2d\x1d\xd0\x0f\x1b\x3b\x18\xb5\x9f\x1b\x85\x1f\xef\x90\x25\x5d\xdd\xe6\x21\x22\x8b\xc3\x20\xcf\x79\xc6\x5a\x14\xa2\x34\x0d\x7b\x5c\x24\xf2\xb6\x37\xe3\xf7\xe6\x5d\xba\x03\x2e\xcf\x93\x44\x3f\x82\xef\x11\x10\x25\x6c\xb1\x6e\xcc\xe7\xa0\x7c\xcc\x89\xf6\x19\x37\x9b\x5b\x6e\x15\x1b\x3e\x64\x75\xc8\x92\xbb\x85\x71\x60\x11\xbd\x1e\x37\x0e\x5a\xd8\x06\x50\x1e\x8b\x81\x7f\x1c\xe8\x17\x4c\xc9\x27\x67\x52\x8a\x8c\xb7\xb3\xe8\xe1\xcb\x15\x95\x77\x0b\x28\xe6\x63\xd0\x0b\x5d\x59\x1f\x34\x80\x3c\x44\xae\x24\xb9\x4e\x57\x5e\x8a\xd1\xce\x55\x9c\xb6\x10\xd2\xb1\xb9\x71\x5c\xbf\x7a\xf6\x8c\xe6\xb9\x95\xfd\x9f\x24\x53\xff\xe8\xd5\x51\x4a\x1a\x88\xb0\xee\xd2\xdb\x19\xed\x8e\x8a\xe4\xd6\xa0\xce\x4d\x89\x03\xe9\xe6\x9d\xcd\x5a\x5d\x6b\x6b\x39\x63\xc5\x7f\xb0\x1d\x12\x4b\x59\x4f\xc6\x02\xb4\x1a\xfd\xaa\x55\x76\xf9\xc0\xa0\x00\xd3\x0e\xcb\xd3\x0a\x2f\x0c\x90\xa7\x98\x1c\x0e\x88\x10\x8c\x09\xdb\x1b\x53\x28\x99\x25\x06\xe2\xf4\x6b\x2b\x24\xf7\x6d\xfc\xca\x32\x46\x9b\xd2\x2b\x2f\xbe\xe8\xc1\x5d\x9a\x8a\xa1\xb9\xa5\x77\x4c\x24\x56\x28\x8c\xd1\x1e\xb0\x33\xa1\x59\x84\x6d\x8d\xec\x52\xb7\x1b\x36\xb2\xd8\xe0\xd3\xe9\xaf\x23\xdd\xef\xbb\x19\xc1\x37\x27\xf3\x4f\x42\xaa\xc4\x9e\xb8\x9c\x93\xf4\x2e\x95\x6a\x91\x89\x42\xd4\xb6\x4f\x50\x59\xac\x10\xf5\x31\xb9\x7e\xf7\xfa\xe5\xf7\x04\xe1\xea\xfc\x2e\x2e\xa9\x64\x0b\x65\xc4\xff\xe4\x82\xad\x68\x53\x00\x8c\xdd\x96\x11\xd1\xd6\x11\xc0\x4a\x43\x5b\x46\xb8\x24\x50\xed\xe5\x11\x4c\x6c\x30\x6f\x17\x4b\xa1\x94\xd8\xb6\x6c\x5b\xdb\x7e\x5d\x53\xc8\x4f\xc2\x0e\x90\x23\xa4\x7b\x3a\xdc\x13\xdb\xa0\x12\xd5\x74\x6b\x4a\x54\x23\x4d\xed\x68\x51\x54\xb4\xc2\xe8\xec\x9f\xdd\x3f\x62\x14\x0b\xd9\x8e\x7d\x4b\xda\x1b\xba\x41\xcd\x29\x9a\xe1\x52\xac\x2d\x45\xaa\xc6\x20\x68\x74\xb0\x66\x4f\xec\x96\xf8\x7d\x7b\x2e\xe9\xbe\x1c\x61\x7b\x34\x71\xe1\x6f\x2c\x69\x41\x53\x8e\x1b\xf7\x2d\xc5\x01\x8b\xe7\x31\xc9\x05\x93\x50\x44\x00\xd3\xe1\x8c\xc0\xc6\x62\x65\x53\x73\x28\xfe\x9e\x3f\xf1\x18\xf9\x13\x5a\x8a\xa3\x99\x44\x8e\x20\x5d\xbe\x73\x32\x89\xf4\x82\x73\x65\x16\xaa\x38\x03\x2d\xc5\x34\x07\xed\x4a\xf7\xe8\x7b\x68\xbb\x32\x8e\x2e\x2e\x8e\xdb\x8f\x62\xf4\xba\xa8\x4b\x37\xa3\x6f\x0e\xb7\x7a\xe5\xdd\x26\x8c\x89\x76\x74\x89\x0e\xa9\xe6\xb0\xa1\x0f\x40\x45\xb3\x26\x47\x94\x34\xb8\xf8\x5e\x5e\x24\x5a\xfa\x9d\x45\x7b\x97\x28\x5b\xb6\x9c\x34\xcf\x7d\x9a\xa4\x3d\xe7\xb1\x30\xdb\x11\xb4\x27\xe7\x14\x9c\x99\x1d\x6c\x31\x1f\xd5\x1c\x40\xa3\xf5\x3f\xfc\x93\x8d\x89\x51\xbf\x66\x5b\xa1\xcc\xcd\x04\xfc\xe6\xcf\x7b\x2c\x48\x60\x48\xdc\x59\xa2\xad\x15\xe9\xd5\x1d\x6b\x8b\x2d\xd0\xaa\xaa\x45\x55\xeb\xb3\x7a\x27\xde\x3f\x2e\x60\xad\x8c\xb6\x1e\xcf\xa4\x89\x3d\x44\x3f\x2d\xf8\x77\x73\xab\x53\xa5\x4d\xd5\x14\xcc\x69\x78\xff\x03\xad\xc8\x86\xf1\xf5\x06\xb2\x30\x2b\xfe\x95\x15\x92\x2c\xd9\x4a\xd4\x20\xb2\x02\xaa\xc0\xc8\x8c\x16\xec\x47\xf2\xe2\x8f\x27\x2f\x9e\xbf\xfc\x3e\x18\x2f\xfd\xc4\xb6\x63\xc9\x4e\xfe\x10\xd8\x57\xf6\xf1\x8e\xe7\x6a\x73\xd0\x57\x7e\x13\x62\x6b\x5b\xd1\x7f\x93\x82\xdd\xb3\xe2\x47\xf2\xe2\x0f\x27\x2f\x9f\x4f\x0f\x63\xea\xf0\x1d\x78\x1f\x4b\x49\x8d\xaa\xf8\xd3\xed\xed\xd5\x91\x7c\x1a\x2e\x47\x8f\x30\x98\x46\xe1\x5d\x45\x54\xb1\x0a\x3e\xd1\xed\xf8\x48\x6d\xa8\xd4\x8a\x50\xb6\x76\x54\x52\x27\x70\x87\xcb\xf6\xb8\x11\xd7\x8c\x9d\x14\x58\x5f\xe8\xf2\xe6\x13\xf9\xfe\xe5\x8b\xff\x4c\x2c\x05\xa0\x20\x87\x7e\x34\xca\x8b\x85\x29\x30\xcb\xcc\x85\xa8\x5f\x7e\x96\xaf\x20\x59\xc0\x38\xd5\xfd\x88\x5f\x78\xd5\x61\xaf\x43\x2e\xd5\xb6\x2a\x98\x62\xa6\x3a\x6b\xde\xf5\xd8\xe9\x2f\x29\xb1\xf0\x91\xd6\x7b\xdf\x8a\xb6\xed\x27\xfe\x61\x01\x47\xd7\xc6\x83\xef\xef\x0a\xf6\x95\x2f\x0b\x16\x65\x06\x2b\x1d\x60\x1d\x29\x9e\x31\x92\xb3\x8a\x01\xaa\x3e\xe6\xe6\xc9\x0d\xaf\x2a\x3d\x6f\xcc\x6a\xe6\x35\xab\x07\xfc\x30\xa9\xae\x9a\xa2\x00\x3f\xde\xb4\x44\xb1\xb8\xe9\x41\x5f\xf1\x03\xe4\x53\x3f\x94\x38\x74\x41\xd3\x69\x23\x07\xd2\x45\x48\x7f\x90\xf3\xb2\x66\xf4\x4e\xef\x21\xc7\x84\x62\x56\x8a\x58\x01\x8b\xa2\x84\x72\x57\x47\xec\x74\x7d\xda\x56\xec\xaa\xa1\xda\x88\xa2\x5f\x8f\x49\xce\x25\xdc\xa0\x1f\x93\x9c\x15\xfc\x9e\x41\x12\xa9\xf4\xff\x09\x64\x4b\x51\x36\x32\x52\x97\xc4\x8e\xe8\xc2\x68\xde\x61\xc2\x75\x7a\x91\x3c\x37\x14\x93\xe8\xec\x66\x52\xb9\xca\x69\xd1\xc5\xe5\x17\x29\x4a\xb8\x20\x8d\x2d\x2f\xed\xc3\xe9\x05\xe6\xcf\x37\x9f\x3e\x12\x0a\xc4\x49\x6b\xcc\xbd\x09\x2b\xc0\x17\xe1\x5f\x03\x07\x72\xcd\xc5\x6b\x21\xa2\x81\xc0\xee\x59\x22\x83\x4b\x21\x0a\x46\x4b\xfc\xde\x4c\x46\xbf\xf8\xef\xf4\x59\xfc\xd8\xc4\x63\x95\xdd\xb3\x69\x16\x4b\x3d\x57\x5b\x79\xc4\x0d\x60\x6c\x6f\x28\x29\xc6\x7b\x9a\x28\x92\xb2\xd9\xb2\x9a\x67\xdf\x42\x24\x9f\x30\x6f\x71\x80\xcd\x4f\x61\x56\xe3\x04\x9b\x26\x23\xf1\x60\x2e\x47\x94\x0b\x19\x19\x8c\x73\xe9\x92\x24\x32\x7c\xc7\xf6\xaf\x8c\x93\xa3\xa2\x3c\xf1\xd8\x76\xc7\x60\xd3\xfd\x0b\xdb\x07\x8e\xff\x44\x79\xdf\x40\x6d\xf4\xa1\x3e\x98\xa7\x89\xec\x63\x9d\xf5\xc7\xd3\x87\x3b\xb6\x5f\x0a\x5a\xe7\x58\x26\x3e\xc6\x63\x87\x62\x9a\xcf\xd7\x42\x11\xfb\x92\xa9\x03\x3f\x2f\xb8\xd5\x2f\x59\x9f\xc0\xf4\xeb\x26\xba\x4a\xf6\x89\x12\x58\x37\x5f\x16\x64\xd9\xec\x09\xb5\x7b\xcf\x37\x65\xdf\x16\x21\x99\xee\x83\xa3\x9c\xee\x88\xab\x6c\x32\x47\xfe\x36\x12\xc9\xbd\xdc\x8b\xc8\x3a\xc4\xf4\x32\x3b\xa7\x0c\x50\xed\x7a\x29\x73\xc6\x82\x30\x75\xf2\xf5\xee\x8b\x6e\x26\xb5\xd7\xa7\x7e\x56\x2a\x06\x99\x73\xfa\xc1\xcb\xb7\x67\xe4\xe6\xfa\xaa\x8d\x7a\xec\xd6\x63\x90\xa7\x6b\xa6\x5e\x0b\x65\xfb\x71\x86\x15\xe9\xd0\x7c\x3b\x25\x58\xc8\xdf\x85\x74\xda\x02\xfc\x4b\xa1\xc8\xcf\x97\xef\xdf\xeb\xe7\x64\x43\xef\x5d\xc4\xaa\x69\xbc\x72\xf1\x59\xb6\x23\xc7\x44\x6d\x68\x79\x07\x14\x37\xd7\x57\xa6\x88\x29\x4a\x9c\x70\x49\xb6\x94\x97\xc5\x1e\x4b\xb6\x98\xd2\x84\x62\xb5\xe2\x19\xa7\x05\xf9\xaf\x4b\x5b\xae\x53\x7f\x18\x23\x26\xb0\xf3\xf6\x1c\x6d\xac\x8c\x56\x0c\x78\x8a\x83\x78\xa8\x15\xab\x41\x1c\x62\x57\xb2\x5a\xdb\x21\x6d\x21\x59\xaf\x10\x30\x7a\xc2\x8e\x1f\xac\xa1\x43\xa5\xad\x23\x54\x73\xa6\x18\x14\xf5\x24\x74\x46\xb9\xeb\x03\xf9\xbf\x46\xeb\xee\x1d\x13\x63\x07\xd4\xc9\x77\xe6\xf4\xcd\x18\x94\xc6\xf9\xfc\x9d\x9c\x5f\x1c\xfb\x61\x7d\x1d\x4c\x33\x1f\xa1\x7e\x50\xff\xa2\xa9\xb8\xdf\xb2\x83\x03\x55\x2f\x87\x89\x53\x6e\x96\xcd\xdc\x05\x57\xb6\x49\xe2\x6d\xfd\xdb\x6d\xd1\xa5\x32\xb7\xe5\xcd\xa0\x08\x25\x60\xcf\x54\xfa\x08\xc0\xf2\x1f\x09\xbd\xa7\xbc\x80\xec\x59\x48\x40\xe2\xfa\x11\xbf\xa7\x2a\x51\xc7\x0f\x5a\x63\x7f\x6d\xf8\x6f\x4f\x10\xaa\x0e\x30\x73\xe0\xcb\x6d\xe1\x4d\x9b\x49\x2f\xbb\x11\x99\x07\x0e\x81\xd8\x25\x88\x5e\xec\x92\xfc\x1f\x90\x94\xeb\xcc\x85\xba\x4d\xb2\x9a\x80\x85\x83\x8f\x80\xa0\xb4\xbd\x21\x6a\xc2\x3b\x4d\x59\x8a\x84\x0e\xdd\x00\x14\x20\xf2\x32\xdd\xb3\x80\x7a\xce\xa4\x81\xa2\x95\xf6\x02\x4f\x2f\x80\xd0\x90\xfe\xcb\xf0\xbe\x15\x39\x23\x57\x5a\x91\xec\x26\x60\x14\x12\x92\xb2\xab\x5a\x6c\x2b\x15\x28\xa4\x64\x05\xe0\x81\x94\x36\x12\x97\x23\x1a\xa4\x3c\x26\xa2\x62\x46\x91\xe1\x9a\x47\xeb\x2c\x2f\x25\xab\x95\xdd\xec\xfe\xed\x5f\xfe\x27\x62\x15\x80\x17\xc2\xee\x82\x6d\x01\x25\xc3\x13\x96\x46\x33\xc0\x71\xe0\xc4\x43\xfd\xfb\x96\xa0\x8e\xbf\x9a\x92\x74\x78\xdd\xe4\xf3\xa1\x00\xf5\x32\x38\xcb\xd3\x2d\x5b\xd8\x5b\x2d\xab\xff\xd5\x90\x0c\x1f\x2e\x02\x7b\xcd\xa4\xa5\xaa\xb7\x67\x5f\x22\xc3\x53\xab\xa0\x4b\x56\xa4\xa8\xe2\x40\x05\x82\x3e\xd1\xb4\xe2\x7d\xbe\x7e\xff\x10\xf3\x1b\x59\xee\x7b\x47\xbd\x12\xca\x13\x1d\x39\x6b\xa0\x2e\xdc\x74\x67\x80\xf0\xf0\xed\x07\x6c\x9e\x46\x6d\x44\xcd\x7f\x63\x50\x0b\x5d\x77\x1d\x6f\x24\x6e\x18\xdd\x16\xda\x8a\x73\x79\x07\xef\xc5\x9a\x97\xa7\xe4\x67\x53\x93\xdd\xdc\x70\x17\x3c\xbb\x03\x8f\x9f\x6c\xb2\x8d\x36\xa5\xe0\x5b\xc7\xad\x49\x69\x3e\x69\xb8\xf5\x3c\x5e\x19\x2d\x0a\x96\x1f\x1b\x8f\x57\xa8\x74\x0b\x9e\x3b\xb5\x6a\x4b\x8a\x39\xc0\x45\xdb\x3a\xa2\xa4\xd5\x50\xe8\x80\xe5\xa4\xc1\x6f\x5c\x33\xd9\x14\xca\x6c\x61\xf6\xa0\x0d\x5a\x6c\x1a\xc0\x2c\x0d\x2c\xbd\x2e\xbd\x62\x8a\x56\x16\xe8\x38\xb7\xb2\x3a\x32\x7f\x2c\x76\x35\x57\x6c\x61\x8c\x5b\xe3\xfe\xd4\x96\xe3\x0e\x7a\x04\xa5\xeb\x6d\xfd\x4e\x87\x73\xe2\xd5\xe0\x27\xb4\x10\xe5\xba\x4d\x2d\x70\xf3\x47\x78\x4d\x05\x05\xe4\x1b\x1b\x72\x8c\xaf\xfb\xdc\x3d\x3d\x25\x6f\x79\x49\x8b\x62\x7f\x1c\xe2\xbe\x64\x1b\x21\x24\x3a\x47\x69\x51\xb4\xc3\x80\x98\x25\x76\x14\x94\x20\x6b\x06\x6a\xe0\x8b\xec\x0c\x68\xfc\x92\xf5\xe6\xca\x0a\xd6\x44\x53\xdd\xd0\xdd\x5d\xd7\xa6\x16\x2e\x97\x61\x1c\x01\x14\xf6\x0f\xda\x35\x91\x3e\x00\x24\x87\x3d\xcc\xa8\x29\xac\x38\xd0\x8a\xc3\x79\xd2\x5f\xd6\x4a\x62\x4b\x2b\x92\x4b\xef\xe6\xbc\x66\xab\x46\x9a\x5b\xec\xf8\xd8\x2d\x1b\x45\xa4\xd2\xe2\xdc\x41\x8e\xb9\xed\x8b\x7e\xa3\xe0\xe5\xdd\x71\x12\x13\x7a\x1c\x12\x97\x6d\xa7\xbe\x4f\x82\x62\x78\x4b\x37\x03\xf5\x19\x48\xff\xff\xc0\xfc\x78\xb8\xc3\x7e\x97\x2f\xec\x82\xf4\x91\xed\x02\xf4\x5d\x7b\xc2\x2a\x3d\xf8\x1d\xc7\xc7\xe4\x22\xdc\x5f\xd1\xce\x4a\xe2\xae\x7c\xf0\x62\x13\x87\xcb\x40\x98\xf5\x94\x16\xce\xc5\x84\xe6\x39\x26\x1f\x68\x96\x70\x8b\x40\xe7\x0c\xda\x83\x3e\xa3\xd2\x5a\x87\x03\xe3\xee\xdc\xe5\x91\xef\x1c\x1b\x57\x32\x94\x44\x2d\x80\x47\xcd\x96\x9e\xeb\xf1\x52\xaa\x01\xfc\x10\x76\x04\xd7\x17\x8f\x6b\x0c\x4d\x23\x12\xb6\x3d\x49\x70\xc5\x5d\x22\x7a\xf1\x35\x54\x0f\xc5\x32\x63\x5d\x66\x4e\xf1\xec\x7c\xc3\xea\x7b\x9e\x31\x89\x9a\x45\x8b\x1d\xdd\x4b\xcc\x85\x43\x4c\x5e\x93\x3c\x87\x89\x47\xa6\x16\x29\x7c\x5d\x09\x7b\xc2\xb7\xba\xae\x0f\xb7\xe6\x86\xcf\x2e\x94\xfa\x94\xbd\xae\xf5\x91\xd7\x26\x2a\x01\xe3\x1d\x36\x21\x8d\xb2\xc7\xe5\x00\x84\x2d\x8c\x3c\xcb\xe1\xda\x21\xb6\x23\x05\xcf\x53\x2e\xf1\x5b\xe8\xbb\x9a\x55\x90\x6d\xa2\x00\xda\x50\xd4\xca\x07\x20\x86\x6b\x0e\xbd\xf2\xad\x85\xc8\xa1\x3a\x96\x34\xa2\x4b\x0d\xd4\xda\x42\xa2\xa0\xbb\x32\x69\x33\x9f\xe0\x4e\xc4\xd8\x24\x72\xab\xf7\x20\xa9\x48\x53\x72\xe5\xd2\xa3\xdc\x65\xe0\x11\x48\x94\x01\x68\xb8\x22\xab\x42\x50\xf5\x2c\x17\xcd\xb2\x60\x7a\xf9\xf5\xe1\x35\x57\xb0\xe8\x55\xf6\x53\x9f\x6f\xfe\x81\xbc\x38\xfd\xfe\x07\x9c\xed\xc8\x0b\xf9\x47\xf2\xe2\xfb\x1f\x4e\xc9\x8d\x43\xd8\xa9\xbc\xfc\x53\x5e\xda\xcf\x72\x26\x4f\x7f\x91\x7a\x0b\x45\x48\x4f\x73\x94\x32\x17\x46\x62\x45\x72\xbe\xd6\xcc\x56\x54\x2a\x83\x76\x97\xf1\x2d\x2d\x08\xdc\xa6\x23\xea\x27\xd5\x4b\xac\xeb\xc5\xcb\x36\x5f\x88\xfe\x22\xac\x82\xb4\x9f\x7b\x1a\xcc\x7d\x9c\xec\x5a\x70\x66\x4c\x46\x4c\xb0\x82\x96\xeb\x2b\x9a\xdd\x5d\xf0\x55\x0b\x2e\x17\x51\x92\x1e\x55\x82\x23\x0e\xab\x6e\xda\x75\x82\x56\xd5\x77\x12\xc0\xf1\x0a\x3b\xaf\x2a\x9a\xdd\x25\xda\xd2\xb5\xd8\x2e\x4c\x12\x1c\xaa\x04\xbb\xe7\xa2\x91\x0e\xf7\xba\x0c\x6f\x18\x4c\xcf\x16\x70\x19\xfc\x8a\x3c\x79\x4f\xcb\x75\x43\xd7\xac\x77\x3b\x8c\xeb\x96\x74\x51\xf0\xfc\x37\xa8\x23\x5f\x07\x91\xb7\x50\x87\xda\x7d\x5b\xaf\xc9\x9d\xcf\x8e\x8a\xd6\x7e\x7b\x4c\xb0\x8e\x26\xe1\xdc\x68\x63\xd0\xf4\xac\x3b\x50\x9c\x10\xc6\x1b\x08\x28\xac\x0c\x4c\x21\x6a\x97\x14\x56\x6a\xba\xe5\x1f\xc9\x96\xee\xf5\xc2\x0a\x88\xfc\xb0\x9c\x53\xbb\xec\x73\x69\xab\xf7\x99\x69\x19\xbc\x09\xeb\x78\x19\xe2\xdb\x42\x0a\x96\xc5\x8e\xeb\x7f\xec\x94\x7c\x2e\x5d\xd6\x14\x4e\x2d\xa9\xc4\x36\x24\x0a\x06\x68\xc9\xd0\x83\x7b\x29\xd1\x0a\xa0\x44\xff\xd2\x17\xd0\x9f\x1e\xbc\x3f\x0f\x2b\x16\x39\xd2\x5f\xf0\xa2\x04\x9f\x76\x6f\xcc\x83\x57\xba\xe8\xb4\x25\x55\xfc\x9e\x2d\xa2\x74\x3d\xc1\x72\x25\xfd\x40\x41\x2c\x1d\x0d\x0e\xd6\xae\x93\x39\x90\x99\x1e\x2a\x47\xe8\x5f\x50\x17\x4d\x4d\x0b\xd7\xad\xb3\xf6\x2d\xe8\x18\xda\x06\xb6\x02\x37\x84\xd3\x10\x7c\x05\xe2\xa1\x25\x2e\x8a\x1b\xa5\x2a\xf9\xea\xd9\xb3\xdd\x6e\x77\xda\x94\x5c\xbf\x79\x2a\xea\xf5\xb3\xac\xc8\xeb\x67\xd9\x86\xd6\x4a\x3e\x2b\xa8\x62\x52\x3d\xd3\x83\x5b\x18\x20\xe3\x67\xf6\x5b\x0b\xc3\x45\xdd\x14\x4c\x9e\x6e\xd4\xb6\x08\x33\xb2\x03\xdf\xba\x2a\xc2\xe1\xee\x8d\x34\x2e\xe9\x25\xb9\xbe\x7d\xef\x7a\x13\x99\xfa\x8b\xcc\xee\x33\xb7\xc2\x43\x55\x16\x2b\x52\x8a\xf2\x24\x67\x05\x53\xed\x92\xd0\x46\x07\x07\x52\x8d\xe5\xfa\xb2\x7c\xb8\x65\x2f\xb3\x77\x7e\xc3\x5c\x94\x72\x61\xec\xb7\xf7\xbc\xbc\xd3\x23\xe2\x5e\xf2\x88\x30\x38\x7a\x45\x33\xf6\xa3\xa9\xa2\x01\x18\x35\x66\x22\x41\xca\x4f\x67\x3a\x8d\x2e\x63\xc3\x57\x79\x1d\x8a\x04\x23\xa2\xed\x7e\x30\x6a\x73\x6e\xf8\xcc\xbd\xa4\x9b\x24\x77\xf3\x2f\x28\x43\xbe\x2f\x70\xa4\xa7\x3b\x68\x09\xa7\xfb\x69\x28\x1f\xde\x49\xff\x7d\xfd\x5b\x42\x77\xae\x60\x2a\xe9\xed\x6c\xba\x47\x1e\x6d\x8a\xab\x38\x5c\x50\x9c\xe5\xaf\x4f\x85\x1b\x6d\xab\x1a\x23\x41\xe1\xd2\x80\x09\x20\x36\xa2\xa8\x9d\x03\x52\x6c\x1d\xaa\x2f\x57\xae\x60\xff\xef\xb4\x92\xa4\x59\x1d\x6c\xb7\x08\x15\xc9\x98\x89\x2b\xb6\x33\xac\x3f\x1c\x5f\x61\x68\x8c\x3d\x92\x2d\x2d\xf7\x31\x46\xf4\xef\x31\x3e\x44\xc9\x62\xe4\xe0\x2b\xed\x01\x37\xc3\x85\x59\x4b\x6e\x73\x7a\xee\x83\xc8\x02\xbd\xfc\xec\x44\xac\x51\xb5\x13\x31\x16\x7e\x63\x75\x94\x5c\xff\xee\xe8\xa3\x6a\xbc\xa5\xf2\xee\xdc\x26\xa7\xf6\x14\xd7\x7b\x3a\xad\xaa\x57\x42\x72\x3c\x94\x94\x2d\x36\x37\x04\xfd\x53\x93\xe5\xea\xec\x91\xaa\xa0\x59\x98\xa6\xa4\xcf\x8d\x25\xa9\x6c\x13\xbc\xcc\xf5\x69\x2d\xa8\xed\x1c\x6d\xe3\x55\x9a\x6e\xa1\x19\x4b\x6b\x77\xb4\xd7\x0b\xf5\x31\xa9\x59\x01\x56\x40\x58\xdb\x7f\x92\xd9\xaf\x10\xbd\xb5\xe1\x2b\x48\x95\xfd\x3f\x4e\xe8\x57\x6d\x92\x31\x2a\x9b\x1a\xed\x27\x08\x8c\x75\xe7\x23\x6c\x2f\xa3\x45\x7b\x8c\xd7\x9f\x87\x30\x68\x93\x5d\x5b\xb0\x15\xdc\xa8\x02\x9e\xd9\x29\x39\x0a\x0e\x4b\x27\x2f\x4e\x9f\x1b\xcf\xbc\x66\xa5\x6d\x13\x2a\x1c\x98\x16\xa1\x05\x87\xe7\x8d\x5a\x05\x44\x56\xa6\x81\x75\xb4\x0f\x7a\xf0\x7f\xfe\x15\xf6\xa0\x8d\x20\x36\xac\x61\x45\x06\x06\xd6\x16\x2b\x7b\x2c\xbc\x3c\x7d\xae\x3b\x58\x6a\xe3\x05\xcf\xa4\x39\xb0\xff\x74\x60\x5e\x0c\xa7\xe8\x6c\x93\xb3\x72\xce\xac\xb7\x28\x39\x2c\x02\x17\x05\xaa\x58\xa7\x00\x54\x10\xf8\x9a\x73\x28\x5a\x68\xcc\x56\xa9\x88\xfe\x85\xe4\xee\x2d\x2e\x07\x5f\xdb\x18\x1c\x17\xdf\x62\x6d\x6b\x4c\xb9\xd8\xca\x8d\xd8\x95\x84\x62\x76\xd3\x56\xe4\x78\x49\xe1\xb9\x66\x8f\x09\xbb\xd7\x67\x0c\x28\x1a\xd5\x7e\xdd\xf8\x9f\x3a\x97\x7f\xbf\x2b\x38\xc8\xaa\x85\xe3\x7e\x62\xf0\xb6\x11\x03\xa9\x13\xdb\x5b\x3b\xd4\x8f\xd6\xe9\x28\x59\x99\xb7\xb9\x46\x11\x11\xc2\x5b\x52\x9f\xa4\x9a\x82\x75\xc2\x4b\xb8\x24\x60\x18\xbb\xc7\xd1\x06\x76\xf9\x42\x37\x02\xdf\x2d\x57\xc2\x78\xd3\xfa\xde\xc5\x20\xf2\x1f\x21\x5b\x0c\xbb\x80\xcd\x52\x39\x78\x17\xe7\x38\x97\x98\x92\x84\xe1\xc3\x51\x2c\x97\xd6\x4b\x0d\xee\x38\x8b\x04\x73\x79\xe1\x56\xdb\x00\x29\x06\xdb\x47\xc0\x42\x8f\x9b\xae\xd0\x22\xbd\x2c\x00\xa4\x1f\xaf\xd5\xac\x58\xf0\x37\x4b\x0d\xe5\x57\xb4\xf5\x82\x27\x9d\x9a\xd9\x03\xaa\x63\xb1\x64\x3b\x52\xd0\x7d\x38\x6a\x0e\xf9\x05\xfb\x83\xa9\xd8\x5d\xf4\x1f\x20\x5a\x34\x65\xcd\x68\x37\x02\x48\x6f\x45\x35\x23\xf8\xcc\x74\xb0\x6d\x44\xe2\xa9\x2f\x3e\x7b\x8c\xc1\x14\x8e\xfa\x8e\x41\xdd\x16\xe2\x1e\x8e\xb7\xe0\x80\x69\x6e\xe3\x72\x13\x8d\x0a\x0e\x59\x25\x11\x8d\x5a\x0b\x6f\x48\xbb\x09\x76\x46\x27\xa0\xca\xdb\xe5\x05\x7a\x70\x83\x64\x3b\xde\xad\x8e\xd8\x01\x86\xb2\xd5\xe6\x43\x45\xb6\xaf\xe8\xf9\x1c\x96\x98\xd7\xef\x08\x8c\x2d\xee\xab\xbe\xad\xf8\x08\x14\x9d\x37\x16\xe8\x3d\x7d\xe2\xd5\x9b\x6b\x6f\x21\xba\xcb\x96\x41\x1d\x6d\x5b\x93\xe4\x08\xb3\xf0\xf9\xba\xa4\xaa\xa9\x99\x24\xac\xa4\x7a\x0d\x7f\x1a\x46\x80\x55\x85\x59\x68\xbc\xd9\xa5\x1b\x00\x78\x74\x8c\xf5\xf6\xda\x96\x4f\x49\x5b\x8f\x9c\x98\xb7\x91\x02\x4b\x5a\xf7\x5a\xdf\x2f\xb6\xb4\xbe\x6b\xaa\x27\x90\xae\xa4\xcf\xe5\xf8\x6f\x48\x81\x7e\xd6\x89\x0c\x88\xbd\x0e\x28\x05\xe6\x55\xcf\xad\x1e\x12\x6a\x23\x1f\x4b\xf8\x1a\xc4\x4d\x5b\x6b\x87\x97\xd2\x38\xbb\xf5\xcf\x64\xb7\xd9\x07\xb1\x63\x9e\x04\xed\x55\x8c\x6d\x8c\x85\xb7\xc6\x6d\x85\xc0\xc8\x0a\x06\xcf\x5c\x4b\x47\xa5\x08\x0a\x01\x12\x55\xf3\xf5\x9a\xd5\x1d\xd9\xdf\x73\xba\x58\x0a\xd5\x5b\x54\x8d\x4c\x20\x62\x4c\x6b\x66\x5b\xd0\x7a\x60\xf5\x70\xe5\x10\xbf\x70\xb6\xc3\xb5\xbb\xaf\x0f\xa3\x9b\xf6\x19\xc8\xee\xb5\x50\x06\x79\x7a\x64\x13\xef\x91\xa6\xf8\xe4\x19\xc9\xc5\x96\xf2\x92\xf8\xb7\x91\x3b\xb6\x94\x5c\x05\x79\xf9\x16\xae\x8c\x4a\x52\x88\xf5\x1a\x96\x87\x53\xf2\x01\x52\xa4\x40\x33\xc3\xab\xe2\x74\xac\x3b\xf8\xfa\x93\x57\x0f\xe6\x25\x41\x8a\xa6\x1e\xed\x39\x04\x24\x4d\x0a\x32\xa4\x4e\x93\xa5\x1d\x57\xbd\x3e\x61\xdc\x53\x22\xb6\x86\xe2\x0a\xf3\x6c\x3e\xd9\x3b\x2b\x5b\x05\xb2\xad\xff\x48\x90\x28\xb9\x9f\x1f\xf8\x5a\x2b\xe7\x5b\xdc\xa3\x93\x3a\xeb\xbf\x92\x12\x87\x64\x0f\x36\xaa\xd3\xf7\x2d\xb6\xe3\x15\xff\x69\xe3\x43\xf4\x9a\x9e\x0e\xef\xed\xa5\x50\x8b\xc2\xa1\x7b\x07\xa7\x4b\x2b\xba\x80\x46\x71\x95\x28\x2a\x75\x96\xe7\x43\x58\x03\x83\xb4\xd3\xc2\xf9\xc8\x76\x64\xcb\xc0\x65\x61\x1c\xb0\x21\x5e\xf2\x68\xcf\xbb\x68\xda\xb6\xaa\x9a\x5f\xd6\xc5\xee\x8f\x89\xbd\x4c\xd7\x7a\x95\xac\xf2\xef\x40\x2d\x0f\x53\x74\x7c\xb7\xeb\xc8\x76\x1d\x7f\x6f\x32\x9b\x50\xf3\x51\x90\x29\x2b\xa5\xe6\x1f\x9d\x67\x83\x30\x3a\xa3\xf4\xa9\x9d\x0e\xab\x81\xd6\x6c\x2b\xee\x07\x8b\x08\x0f\x7c\x30\x59\xe9\x3c\xf2\x84\x00\x26\xbd\x34\xe2\x01\xd6\xea\x5c\xe2\xb5\xa9\x87\x58\xf0\x9e\x51\xb8\xcc\x86\x75\x76\x28\xd9\xbb\xc7\xe7\x9b\x9c\x0f\xd7\xbd\x1b\xa1\x9e\x2b\xf3\x0c\xae\x07\x13\x15\xae\x32\x0c\xc1\x84\x44\x6d\xaa\xbc\xa1\x9b\xd1\xb5\x5b\xa3\xba\x69\x5d\x43\xea\xd4\xae\xc1\x8e\x67\xfa\x95\x38\x5c\x6e\x26\xb5\x1d\x1b\x06\x19\xeb\xb1\xf8\x67\xc1\x4b\x96\xbf\xde\xbf\xe7\x65\x34\x89\x62\xfc\x85\x14\x77\x01\xe8\xce\x2f\xf0\x56\x6b\xcb\xdf\xeb\x53\x4a\x69\x96\x31\x88\xc2\x49\xc4\x9e\x82\x17\xea\x9e\x45\xd6\x82\x68\x98\x55\xc8\xd8\x69\xbd\xe6\x27\xc4\x61\x36\xbe\xdb\x34\xd5\x6d\xa9\x0f\xd8\x24\x55\xb8\x43\x9a\x95\xbc\xdd\x1f\xdb\x0d\x3f\x79\x97\xec\xd4\xaf\xf7\x4c\x06\xde\xfb\x5a\x8a\x40\xb0\x3a\xc5\x0d\x5f\x97\x9f\xa3\x85\x87\x46\xa8\x53\x34\xc3\xd6\x54\x03\x87\x99\x3e\x06\x01\x52\x34\x48\xc2\x18\x91\x29\xeb\x28\xdc\x46\xe1\xdf\xd3\x3c\xfa\xc4\x09\xf1\x07\x78\xd3\x85\xe8\x40\xe4\x68\xab\x0f\x5d\x05\xbf\x63\xc5\x1e\xbc\x48\xed\xf5\xb2\x49\x50\xb1\xe1\xad\x70\xc8\x3f\xd6\x0a\xde\x54\xeb\x9a\xe6\x4c\x0b\x7e\x03\x67\x97\x92\xb1\x5c\x9f\x32\x92\x86\xd4\xc7\x7d\x45\x1e\x3a\xbe\xb7\x91\xc1\x1b\x84\x09\x8a\x50\x4d\x4b\x22\xb5\x7c\x66\xd0\xf8\x3b\xba\x65\x37\x99\xa8\xa7\x17\xcb\x96\x72\x9a\x95\x1b\xb1\x65\xa2\x64\x44\x6a\xfa\x1c\x41\x80\xd2\xb3\x60\x34\xa5\x99\x22\xfa\xa3\x5d\xc8\x42\xc3\xed\x13\x64\x66\x5a\xca\xef\x98\xb8\xaa\xc5\x57\xbe\xe5\x6a\x7f\xcd\x10\x44\x6f\xb2\xb3\x91\x77\x92\x17\x52\x1b\x9e\xa4\xd7\x0f\x2e\x01\x27\x16\x92\x24\x4c\x7b\x58\xf3\xbe\xcd\x60\x4a\x3c\x7c\x71\xa9\xa8\xa9\x0a\x79\x61\xfe\x86\x40\x4d\x93\x21\x76\xf4\xfc\xe4\xc5\x73\xfd\xbf\xa7\x03\xfe\xc6\x5b\xbb\x04\xe3\x99\xd6\x1c\x8b\x07\xf8\x53\x42\xbf\xe5\x5b\xee\x62\xb4\x19\xd9\x2c\x6d\xe8\x9a\x12\xa4\xe0\xf7\xcc\x4f\x08\xf2\xda\xa6\x05\xab\x93\x8e\xd1\x3f\x71\xa9\x44\xbd\x3f\x2f\x18\x9d\xb6\xbc\x02\xe2\xa4\x98\x25\x45\x36\xf8\x0e\x9e\xff\xf4\x8b\x9e\x95\x32\xcc\xd6\x15\xdd\x6f\x59\xa9\x6e\x06\x00\x73\x06\x69\x53\x94\xa7\x42\xfa\xd6\x63\x96\xb6\xa7\x1c\x0e\x9a\xa1\x84\xa2\xc5\xe2\xef\x21\x78\xb3\x42\xf0\xa6\x55\xd7\x1b\xf7\x0f\xd3\xeb\x6a\x48\x9d\x6e\xad\xc1\x86\xac\xd5\x85\x3a\xc5\x81\x70\x65\x72\x04\x79\x92\x89\xdb\x57\xb6\xa1\x35\xee\x5e\x57\x06\xd0\xc2\xb5\xe6\xa1\xdd\x1d\x3f\x8a\xba\x1d\x74\xb1\x02\xf7\xf8\xe0\x6c\xc9\x61\xec\x57\xa2\x85\xc5\x37\x5b\x7a\x23\x3b\x30\x1c\x74\x5f\x08\x74\xc2\xbf\xd6\x26\x80\x97\xee\x02\x88\x14\xc4\x12\xf8\xbb\x8a\x45\xcc\x10\x20\x72\x6b\xbc\xf6\x90\xe0\x1c\x26\x06\xd2\x91\x6c\x23\x24\x2b\x87\x38\xf9\xfb\x04\xfb\x36\x13\x6c\xac\x8a\xec\x00\x65\xd2\x02\xec\x0a\xc5\x26\x4e\x1e\x5a\x58\x5b\x5e\x7f\xa3\x63\xa8\xe4\x4d\xed\x6a\x41\x5c\x98\xbf\xdd\xb0\x52\xc8\xd5\x22\x92\x69\xed\x7f\x78\x78\x49\xeb\xaf\xbf\xf4\x3e\xb0\xa1\x92\xb0\x32\x67\xf9\x71\xd7\x7b\xcf\x15\x3e\x08\x1d\xe0\x39\x13\x61\xb4\x1d\xfc\x04\x6d\xfd\x29\x65\x58\x78\x39\x82\x30\x39\x44\x3a\xe3\x3a\x1b\x76\x46\x73\x33\x34\xbd\x55\xdf\x64\x35\x63\xa5\xdc\x08\xc0\x2d\x9e\x3e\x78\x74\xe9\x53\x18\x93\xee\x9d\xc0\xea\xd3\x7c\x2a\x68\x24\x81\xcd\xb6\x92\x8d\x4c\x32\x2b\x7a\x2f\x4c\x33\x6a\x73\xac\xe0\xd6\x1b\xcb\x85\xf4\x2b\x3e\x21\x16\xce\x4c\xeb\x03\x91\xf9\x5e\x85\x25\x76\x0c\x5e\xdf\xb4\xc6\x74\xbb\x92\xb0\x5d\x46\x5e\x49\x38\x8f\x4c\xf5\x99\xd5\x6d\x26\x47\xe2\xdc\xaf\x19\x6c\x0e\xb4\x80\xee\xb7\xd5\x64\xbc\x07\x41\x09\x8f\x9c\x01\x85\x4b\xf8\xe8\xc5\x31\xe2\xe5\x13\x83\x8c\x26\xb8\x75\xec\xa7\xbf\xb8\x3a\x30\x90\x4b\x82\x47\x88\xc1\x7a\x43\xbe\x2f\x5a\x6e\xb4\x7d\xdb\x5e\x73\x2f\xc5\xb8\x2f\x7a\xea\x64\xfa\x00\xf8\xda\x52\x94\x27\xec\x2b\x97\xca\xbb\xec\x4b\x74\xa3\x99\x48\x04\x7b\x4b\x3c\x81\xc6\x6b\x59\x05\x74\x89\xd7\xb4\xbc\x3b\xa7\xf5\xd8\xc9\xaf\x43\x38\xc7\x5d\x44\x61\xd4\xb9\x22\x19\xad\xf3\x59\x20\x01\x05\x2b\xd7\x90\x44\xfa\xe4\x3d\xfc\xa5\x97\x91\xad\x1f\xac\xb2\x87\x41\xf3\xc0\x73\x8f\x78\x49\x3e\xdf\xbe\x3d\xf9\x2f\x60\x5f\xc1\x46\x1b\x5e\xf8\x8a\xd5\xca\xe0\xf9\x7f\x82\xbf\x0e\x6d\x32\x41\xa8\x85\xc8\xee\x7e\x6d\xc4\xe8\x5d\x45\x8f\x74\x5a\xb0\x1f\x42\x6e\x5d\x06\x12\x64\x43\x91\xa5\x6e\x8a\x40\x5b\x89\x7a\xf3\xd7\x2d\x64\x51\x24\x68\xad\x26\x7a\x98\x60\x97\xa2\xc0\x58\xa8\xbf\x0d\xa1\xaa\x73\xb1\xdd\xd2\x32\x45\xb4\x8e\xf4\xc1\x9a\x2b\x14\x79\x96\x99\xc6\xfe\xf7\x17\xf2\x39\x95\x1b\x45\xa3\xc9\x04\x51\xba\x87\x8a\xf7\x1f\x32\x6c\xe8\x6f\x41\x81\xcf\x31\x85\x67\x42\xb0\xfe\x01\xfc\x50\xa9\x6a\xbe\x60\xc9\xfd\x5b\x10\xeb\x9b\x2d\xe5\x63\xa7\x4a\x9f\xea\x81\x82\x2d\x11\x1c\xf6\xbf\x9a\x73\xfb\x69\x26\xb6\x7f\x0b\x12\xfe\x29\x71\x51\xf8\x29\x79\x51\xf8\x4f\x1b\x24\xed\x30\xfc\x37\x20\xcb\x4b\x45\x0b\x9e\x4d\x8a\xd2\x90\x3d\x4c\x5f\x39\x34\xf2\x37\x63\x20\x7c\xc0\xd0\xda\x49\xd9\x5a\xba\xd9\xc2\x35\xb1\xbb\x16\x4e\xc5\x2f\xee\xf0\xb7\x23\xde\xa1\x72\x72\x83\xb4\x0f\xdd\xcc\xc0\x75\x6e\x44\xff\x0a\xc3\x3b\x6b\x46\xcd\x43\xf3\xbb\x26\x42\xd8\xa3\x0f\x03\x6c\xfc\xf5\x4f\x80\x4e\x18\xd7\xa0\xbb\x3b\x2c\x7c\xd2\x06\xa3\x4f\x8f\xf0\x20\x40\x5f\x84\xea\xa1\xa3\xea\x63\xf3\xfd\xf5\x8f\x4d\x82\x6c\x47\xaf\xeb\x5b\x9a\x07\xcb\xb5\x66\xe8\x81\x02\xbf\x96\xb5\x03\x8f\x11\x39\xd0\x87\xf1\x04\x3c\x25\xb8\x66\x31\xa0\xb2\xeb\x9a\x6e\xb7\x9a\xc2\x65\x91\x5a\xb7\xff\x6c\x73\xb2\xc5\x55\x78\x72\x15\x6b\xd8\x61\x4e\xe5\x9d\x64\x90\xbf\xe2\x01\xbe\x51\x35\xbf\x9b\x1e\x63\x43\xf6\xb0\x61\x96\xd0\x88\xda\xd4\xa2\x59\x6f\xfe\x66\xf6\xf7\x5b\xf6\x55\x0d\x40\xd1\x45\xe9\x1e\x3a\x95\x00\xde\xa9\xa9\x0b\xdc\x74\x78\x79\x62\x7f\x90\x08\x48\x66\x53\xa1\xd7\x42\xac\xf1\x30\x00\xdb\x50\xc0\xcb\xe7\xba\xf8\xeb\x1f\x1a\x7f\xe7\x41\x74\x83\xdb\x0d\x23\x34\x53\x0d\x82\x3f\x25\x8c\xdd\xe7\x32\x67\xf5\x10\x94\xe5\x00\xe5\xc3\xc6\xaf\xb1\xed\xfc\xed\x78\xc8\x3e\x97\x77\xa5\xd8\x4d\x1b\xc0\x96\x6e\x5a\xc0\x86\xf2\x6f\xef\x98\x96\xb2\xce\x3c\xc2\x1a\x53\xfa\xcb\xca\xab\xc8\x8a\xf2\x23\x6e\xc2\x76\xe1\x39\xee\xaf\x30\x66\xb5\xfb\xdf\x5b\xbf\xdf\xee\xf2\x9f\x18\xcd\x47\x03\xfa\x5b\x9a\x94\x6b\x20\x97\xf2\x47\xfb\x29\xb5\xf3\x02\x83\x6d\x92\xa3\x87\xa5\x69\x52\x75\x6c\x7f\x9d\x31\xee\xbe\x14\xc4\x1c\x98\xf4\x6c\x00\xff\x84\x5b\x68\x2f\xd1\xda\x62\xec\x15\xfb\x5e\x42\xe6\x61\x39\xcf\x61\x70\x61\x2c\xd2\xbb\xf3\xc9\xd1\x04\x67\x3b\x04\x00\xc9\xe0\x65\x95\xcd\x6e\xad\x93\xf7\xf9\xd6\x4b\xbc\x44\x98\xe0\x95\x9f\xd0\x49\x6b\x66\x93\x3a\x8f\x83\xbc\xd0\x9e\xec\x83\x6f\x48\xea\xea\xcf\x5d\xdd\x9c\xf5\xcb\xcf\xd1\x7b\x86\x39\xd7\x8b\xb6\x6a\xe5\xa7\xb2\xd8\x9b\xaa\x76\xd0\xa0\x37\x88\x2e\x4b\xc8\xf3\x03\x68\xdd\xae\x1a\x75\xc5\xb0\x5c\xe4\xd3\x63\xd2\x4b\x7f\x8e\xa8\x43\x9b\xc7\xe5\x30\x15\x75\x63\xcf\x4c\x67\x06\x98\xb4\x00\xc3\x0f\x66\x11\xea\x3e\xf1\x76\x4a\xd8\x11\xb4\xdf\x9f\x1e\xc9\xb1\xb9\x7b\xd9\x56\x82\x3d\xc7\xec\xfa\x38\x7e\xc8\x30\x75\xfa\x22\xeb\x55\x9d\xb5\xa9\xfc\x89\x55\x97\x7d\x30\x80\x8f\x2d\x1c\x14\xdf\x32\xd9\xcf\x8d\x8e\xce\xe3\x56\x67\x2c\x37\x61\x6c\x51\x90\xac\x3a\x1e\x69\x01\x39\xeb\x26\xf0\x7f\x44\x56\x01\x59\x42\xe8\x8b\x29\x47\x6e\x13\x04\x52\xd1\xb2\x79\x2d\xdb\x42\xfc\xe6\x73\xdf\x49\x02\xbf\xf7\x32\xcc\x0a\x1a\x25\xd6\x3f\xf7\x68\xb1\xb6\x57\x69\x0b\x14\x3d\xb9\xf2\xf1\xfa\xe3\xee\x8e\x4e\x4d\x5f\x22\x6a\xf2\xfc\xd8\x02\x06\x1b\x94\x51\x13\x2f\xb1\xe6\xf7\xac\x0c\x4b\x82\x71\x84\xa9\xa8\xd9\x9a\x4b\xc5\xea\x4e\x2c\x55\x86\xb1\x06\x4f\xbe\x9c\x9f\x5d\x5f\x60\xd9\x2f\x14\xed\xe4\x50\x5d\x0c\x40\x78\xf6\x68\xa6\x07\x49\x93\x9d\x20\x30\x13\x2d\xf9\xd6\x20\x91\x41\x41\xf9\xb4\xe1\x62\x5b\xa1\x78\x26\x5c\xce\x2f\xdb\x8a\x5f\x38\x46\x18\x96\x62\x47\x8e\x09\xac\xa7\xb0\x84\xba\x44\x8b\x5e\x5c\x0b\x46\xac\x67\x2c\xac\xa1\x34\x22\x80\x91\x82\xa4\x51\xba\x04\x41\xd8\xd2\x9e\x47\x10\xd1\xa6\xd7\xf9\x9c\x8b\x63\x02\xe1\xa0\xc7\x56\x26\xc7\x84\x96\x7b\xaf\xe2\x28\x61\x5f\x33\x56\x29\x4c\x3e\x4b\x8c\xa7\xcd\x5b\xe6\xdb\x39\x92\x77\x39\x3d\x74\xc7\x55\xaa\x58\xd8\x90\x41\x3d\x24\x1c\xcb\xeb\x41\xbc\xbd\x58\x11\xc9\x8a\xd5\x49\xce\x30\xd6\x46\xdb\x84\xdd\x42\xac\xc3\x42\x9f\x0a\xf8\xf1\x88\x0e\x88\xfa\x19\xcf\x44\x81\xb6\x87\x6a\xb0\xf4\x68\xa6\x3f\xef\x22\xa2\xe6\xa5\x9c\xd8\x7c\x93\x69\x61\xbd\x63\x63\xb9\x67\x8e\x64\xc6\x2a\xba\xa5\xa9\x99\x9f\x6b\x8c\xd1\xb4\x05\x62\x93\x98\x7d\xcf\xef\xa7\x65\x6b\xc8\xe6\x85\x3d\x75\x33\x3d\xbe\x61\xcd\x84\xb6\xe3\xd1\x12\xb4\x8c\xe6\x08\x5c\x08\xf6\x1e\xf0\x65\xe9\xe4\x31\xa1\x24\xe7\x35\xc3\xbd\x9c\xfb\xe8\x04\x2e\x45\x65\x2b\xee\x99\x84\x84\x9a\x9c\xad\x6b\xc6\x24\x94\x9f\xfd\xe3\xf3\x10\xfa\xa4\xe6\x02\x97\x75\x5a\xf0\x5c\x9f\x46\xf0\x27\x3d\xf9\x5c\x54\xfa\x3a\xce\xa1\xcb\x81\x59\xf8\xa8\x16\x8b\x9a\xe6\xbc\x91\xc3\x7c\x6f\xe9\x57\xbe\x6d\xb6\xc4\xe6\xff\xf8\xf5\x8f\x20\xd6\xd4\x24\xae\xeb\x35\xb9\x9b\x66\x13\xcf\x0f\x1a\x8f\xb0\x06\x65\xb8\x1c\x2e\xfd\x1a\x23\x4b\xd1\x99\xdf\xa7\x0c\x6c\xc8\xc0\x93\x2b\x13\x62\xef\xfd\x7c\x4c\x5e\x9c\xbc\xfc\xe1\x07\x2d\x3b\x6d\xdc\xf9\x26\xe1\xa1\x9a\xe9\xd2\x96\x4d\x49\x5d\x3f\xb8\x1f\x73\xce\xad\xf3\xdb\x24\x20\x9c\x92\x73\xac\x57\x63\xe1\xea\xcc\x4b\x0e\x44\x9b\x02\xbc\x0b\xc3\x8b\xd7\xad\x75\x9f\x53\x0b\xae\x7d\x4a\xae\x98\xa8\x0a\x86\xae\x43\xae\xc8\x12\xe5\x63\x71\xd9\xf7\xc0\xf7\x0e\xb3\xb3\xd8\x1e\xf6\xe7\x8a\x42\xe1\xad\x95\x08\x2b\x66\x41\xd0\x6b\xa5\x16\x31\x83\x53\xb3\x65\x9e\xbf\x82\x43\x13\x53\xc7\x24\x2b\x38\xc4\x96\x1a\xd4\x2e\xcc\x83\x06\xee\x7d\x04\x7b\xb4\xe7\x7a\x15\xea\x2c\x60\xbc\x41\x54\xa7\x76\xf9\x0b\xcb\x9b\x81\x8a\x5b\x38\x4d\x96\x3b\x18\x66\x8b\x32\x22\xea\x1c\x41\xdc\x2b\x15\x4d\xe1\x88\x16\x3d\xf5\x91\xc7\x7a\x85\x4d\xb5\x1d\xde\x52\xfb\x6d\x2a\x5a\xab\x05\xa4\x46\x3c\x69\x8b\xab\x2f\x85\x56\x29\x56\x9d\x14\xbc\x04\x88\xf6\x36\x77\x02\xf3\x9b\x71\x74\x2d\x90\xae\x85\x9e\x31\x58\x37\x9d\x49\xe3\x95\x4d\xed\x61\xe2\x94\x36\xab\x23\xfa\x96\x4d\x2a\xb7\x5a\xae\xa7\xa8\x56\xef\x3f\xbc\x1c\xd0\xee\x6e\x3a\x0a\x02\xd6\x62\xa6\xc8\xdf\xb3\x50\xd2\xb3\x50\x60\xf1\x9b\x42\x4f\xf0\x88\x66\x18\x02\xb0\x1e\x7c\xcb\xd2\x43\x6e\xb1\x0a\x59\x9b\x30\x2e\xdb\x54\x95\xa8\x9d\x39\x0d\xcf\x80\xd2\x18\xa8\x69\xd6\xa3\x99\x16\x18\x90\x25\x49\xa9\xc2\x8f\xc2\xf9\xa5\xf2\x1b\x47\xc8\xab\xa6\x50\xd2\x3e\x36\xff\x74\x6b\xb8\xf7\x8d\xe1\x4e\x79\x10\xe6\x53\x7d\xf3\x49\xa7\xbb\x78\x6e\xfc\x2c\x9d\xe5\x0f\x17\x60\x92\x0b\x26\xfd\x0c\x77\xeb\x58\xb0\x87\x97\x04\x93\xfb\x0b\x2b\xe3\x95\x67\xfb\x44\xd3\xdc\x22\x5d\xd2\x88\x98\x55\x17\x8e\x48\xe6\xcf\x51\x3b\x4f\xf7\xfc\x3e\x60\x03\xcd\x29\x57\xc2\x1b\xbe\xed\x2a\x72\xbf\xb2\x1e\xaa\x62\x8f\x75\xe2\xfe\xf9\xc9\x4a\x34\xb5\xfc\xb5\xa1\x35\xfb\xe7\x27\x90\xde\x6f\x11\x00\xa3\xa7\x56\xb7\xb0\x62\xbb\x5d\x4f\x03\xb0\x62\x36\x4b\xa4\x00\x28\x43\xbb\xed\x03\x0f\xdf\x49\xc8\xf1\xd0\x67\xef\xfe\xab\xd6\x6f\x88\x2f\xc3\x49\x73\xe4\xf5\x49\x05\xfc\x99\x2d\xaf\xc6\x73\xae\x02\xb2\x84\xb9\x55\xb3\x7b\xce\x76\x5a\xec\x3b\xb6\xac\x92\x9d\xd8\x96\x58\xef\x64\xf8\x27\xa9\xb0\xa9\xd1\x4e\x5c\x6b\x0b\x62\x84\x7b\x7c\x3e\xef\x5c\x52\x83\x55\xa2\xd7\x74\x34\x91\xd1\x97\x99\x88\xe8\x40\xbf\x9a\xd1\x7d\x53\x82\x65\x8f\x8d\x1d\x6d\x9d\x61\x14\x5c\x59\x6c\xb9\xcd\x16\xbd\x51\x06\xe8\x37\xf2\xc2\xa8\x00\x1c\x7c\xe0\xa0\x08\x0c\xc5\xac\xcb\x08\x8c\x8a\x00\xf8\x41\xbd\x78\xdb\x99\x14\xe2\x25\x9a\x32\x50\x92\x6f\x11\xdb\xd3\x7a\x95\x01\xc5\x32\xcd\x5a\x0f\x30\x4d\xde\x76\x10\xf3\x1c\x00\xe2\xb1\x2d\xea\x85\x9b\x77\xeb\xc9\xa6\x52\x8a\x8c\x83\x6f\x2a\xe7\x32\x6b\x24\x2c\x76\x1e\xb2\x8a\x27\x6b\xdb\x58\xcf\x58\xf2\xab\x41\xb9\xef\xc4\xcb\x07\x3d\x4c\x24\x0f\x3d\x2b\xb4\xca\xd5\x4a\x00\x21\xce\x5b\xf4\x4b\x83\xe5\x89\x5f\x04\x9c\x85\x90\xe5\x8e\x01\x4f\xf3\x45\xdb\xea\x79\x5c\xc8\xe6\x13\x06\x7f\xf4\xb0\xef\x64\xac\x54\x0b\x04\xab\xac\x65\xea\x58\xc7\xc7\x00\x3c\xb8\x2b\x80\x59\xc4\x2f\xea\xd7\xf5\x29\xd5\x1c\x73\x30\x63\x3b\x33\xac\x1d\x43\x78\xd1\x46\xec\xf4\x23\x6d\x9f\x92\xc2\x20\x8e\x99\xd7\x59\xdd\x62\x7c\xf1\x0c\xaf\x75\xb4\xf9\x88\x3b\xa5\x59\x83\x64\xa7\x3b\x0e\xb2\x33\x10\x99\xea\xd4\x70\xb0\xe0\x9c\x73\x85\x05\x6f\x2d\x2a\x54\xd5\xab\xdb\x9b\xe8\xbd\x0d\x9c\x2e\x00\x07\xc9\xb5\x3c\x6e\x78\x02\x7e\xe7\xe4\xe5\xa5\x4f\x95\x7e\xdd\x61\x7b\x8a\x55\xaa\xa0\x97\x3e\x50\xe8\xb7\xb3\x48\x2d\x40\xa9\x77\x06\x45\xc5\xf5\x8e\x83\xd6\x61\x13\x82\xc4\xc2\x9b\x7e\x31\x0a\xbf\x35\x0f\xa7\x56\x2b\xaa\xed\x1e\x5c\x37\x69\xe5\x30\x8a\xeb\xad\x39\xd8\x6b\x30\xff\x5a\x07\x51\x70\xdb\x65\x7c\xfe\xd4\x38\x5d\x30\xad\xda\x6b\x01\x81\x9c\xc2\xab\x1a\xc7\x90\x12\x55\x6f\xea\x0f\xab\x43\x7c\x29\x8e\x6a\x85\xa9\x56\x36\xa2\x11\x96\x62\xde\x26\x6a\xbc\x0d\xf3\x6e\xb2\xa9\x45\x79\x7a\xf2\xe6\x1e\xca\x88\x8a\xb2\x64\x59\x50\xac\xb0\xdb\x6e\xe4\xfe\xda\x2a\x65\xee\x83\x1b\x3e\xc2\x3d\x75\x1c\x74\x3b\x0e\x9c\x3c\x76\xff\xf6\x6d\xa1\xa6\xe3\x28\xd2\x4e\x25\xdc\xe2\xea\x03\x4a\x87\x8d\xa4\x83\x46\x8f\x21\x42\xc7\x3e\xce\xa5\x43\x87\x0e\x5d\xa3\x6e\xb6\xdd\x38\xc9\x8e\x0c\x74\x17\xcd\x99\xab\xef\xc6\xa0\x9c\xfb\x20\xc6\x47\x38\x31\x9e\x0e\xa1\x19\xc7\x90\x86\x83\x5e\x18\x82\xb1\x89\xf5\x59\xb2\xfa\xcb\x78\x76\xab\x23\x99\x9e\x5a\x3f\xc1\x06\x06\xeb\xc8\xbd\x50\x16\x16\xab\x4a\x3e\xc8\x06\xb1\x1d\x39\xcf\xdb\x6b\xca\xcc\x3a\x3e\xee\x45\x38\x5d\x84\xf3\x84\x02\xe0\x6a\x0a\x64\x49\xf7\x7e\x74\x02\x51\xd2\xf6\xff\xb2\xac\x1a\xf5\xa9\x9a\xc8\x99\x88\x51\x3f\x44\x70\xe4\xa8\x66\x79\x93\xe1\x35\x74\x9b\x62\xee\x0a\xcd\x62\xa1\x00\xd3\x6f\x00\x8f\xb0\x4e\x7a\xbf\xb2\xe7\x9a\x41\x01\x75\xcd\x98\x4c\xbd\xe6\x9b\x3f\x16\x9e\x60\x6f\x83\xa8\x16\xec\x93\x75\x48\xfd\xda\xb0\x9a\xb3\xdc\x30\x9d\x24\x7b\x0b\xcd\x9f\x20\x78\x47\x7a\xa8\xd4\xb7\xa6\x81\x93\x6c\x83\x50\x3a\x8f\xa8\xbe\x1c\xbf\x24\xfb\x1a\x0c\x4b\x3e\xea\x8b\x7c\x5c\xfd\xfd\x62\x02\x29\x86\x04\x87\xcf\x13\xdc\x1f\x9c\xed\x8e\x6d\x2c\x87\x0d\x17\x21\xff\x7f\x3f\x12\xc6\x5a\x20\x70\xe0\x70\x26\xee\xac\xcd\xf5\x71\x4b\x53\x78\x36\xd6\x80\x69\x8c\x4b\x6d\xdc\x22\x1c\x78\x3b\x88\x4c\xe9\x7d\x66\x6c\x28\xe4\x29\x5d\xad\xc0\x54\x30\x70\x6e\x23\xc3\xd2\xa7\x4d\xf0\xb1\x9a\x37\x48\x65\x8e\xe9\xda\x82\x6f\x4a\x0b\x2f\xef\xf0\xe0\xfc\xba\xcf\x58\x77\x1f\x37\xa6\xd4\x18\x97\x36\x86\x11\x8a\x27\xb6\x1e\x6d\xb7\x6f\x63\x61\x99\x7b\x13\x11\x01\x6e\x6d\x6d\x59\xb2\x4c\x77\x0e\x8b\xc0\xd7\xac\x62\xd4\xc6\x45\xa9\x8d\xc8\x11\xd1\xa7\x71\x45\xdf\x31\x22\x05\x1a\xf8\x91\xe4\x4d\x6d\x7f\xaf\x6a\x91\x31\x06\x65\xba\xb5\xa2\x15\x05\xfc\x6a\x3b\x07\x0b\x13\x40\xb4\x60\x65\x41\x22\x37\x9a\x64\x5d\xd3\xbc\x81\x68\xac\x9c\x65\x35\xeb\x78\xad\xcc\x29\xa6\x8d\x64\x62\xf7\x70\x05\x24\xb2\xac\x71\xf0\x8e\x70\xfb\xb3\x14\x5f\x3b\x2f\xb6\xd5\xf1\xda\xd7\xed\xd0\x99\x76\x12\x95\xe2\x83\x75\xe2\xa4\x68\x85\x23\x4e\x08\x56\xc0\xce\x38\xa6\x96\x7b\x22\x2a\x56\xcf\x38\xf5\x18\xf9\x58\x7b\x57\xab\x3c\x5d\xe9\x01\x37\x17\x3f\xdd\x8b\xe0\xb8\x54\x8c\x50\x5b\xcc\x16\x57\xb1\x60\x4a\x40\x45\x71\x83\x01\x2c\x13\xb2\xf1\xe8\x66\x39\x92\x10\xab\x4a\x2a\xa8\x03\x6f\x83\x65\x12\x9d\x69\x1b\x2a\x21\x42\xf8\x27\x2a\x37\x78\x47\x4d\xd7\xbc\xa4\x78\x13\x1b\x14\x6b\xc3\x12\xf5\x64\xc3\xea\x30\x90\x92\xa1\x74\xcf\x8a\xc2\x7d\x9a\x4d\x2b\x4d\xdb\xd7\x8f\x42\x7d\x30\xa5\x84\x52\xc5\xe3\xbf\xf2\x08\x92\xd2\xc7\x80\xf2\x3b\xd5\xc3\xc2\x1e\x60\xbd\xce\x36\xfc\x9e\xe5\x69\x63\xda\x25\x4e\x58\x06\xcd\x2b\x31\x69\x4e\x78\xfa\x22\x53\xb9\xdb\x58\x74\xe8\x46\xbe\x38\x30\x7e\x4b\xa1\xce\x69\x51\x2c\x69\x76\x77\x56\xca\xdd\xa8\xbb\x23\x46\x9d\x70\xbb\x62\x5e\x20\x14\xde\x40\xbf\x80\xb1\x29\x96\x02\x5c\x04\x35\x93\x95\x28\xa5\xb9\x8f\x36\x57\xd7\x50\xe8\x3c\xf1\x28\x5c\xb0\x3a\x38\x81\x40\x99\x23\x56\xab\x5e\xc9\x2b\xaf\xc4\x95\x5f\xbe\x9f\x12\x25\x20\xd6\xd1\x0b\x18\x09\xdc\xa1\x34\xdb\xb0\x85\xe2\x28\x8e\xb7\xa2\x26\x1b\xb1\x23\x85\x28\xd7\xf6\x0b\xa6\xa0\x0f\xf4\x70\xc9\x48\x16\x22\xd9\x1e\x6a\x51\x6c\xa8\x2b\x4d\xea\x75\xed\xf3\xf5\xfb\x81\x4a\x5c\x76\xf7\x87\x69\xac\xfb\x6f\xfc\x79\x3e\x8d\x29\x8b\xdb\xf0\xe0\xc8\x66\xfc\x7e\x6b\xba\x45\x1f\xdc\xcf\x6c\x09\xe5\x59\x70\x5b\xc6\x77\xc8\xe7\xcb\xd3\x48\x5a\x91\x29\x76\x2f\x2a\x36\x6e\x45\x83\xfa\x5c\xbb\x8b\xc0\x51\x2d\xb3\x64\xd3\xea\x85\x94\x38\x88\x58\x3b\x1f\xe2\x76\xbc\xb2\x34\xa9\x10\x83\xfe\x10\x9f\xd3\x6c\xa3\x77\xf6\x7b\x1b\x7e\xe4\x8a\xd0\x87\x7c\x1d\x1c\x63\xa5\x17\x2e\x30\xbc\x82\x53\x33\x36\x8f\x5e\x0e\xe3\x60\x25\x96\xd4\x1f\x42\xf6\x55\x2d\x5a\xeb\x07\xe2\xf8\x31\x26\x04\x52\x39\x94\x80\x84\x13\x08\x52\x29\xe9\x3d\x5f\x63\xde\xb5\xcd\x3c\x8c\xf4\x01\x04\x67\x8c\xf9\x7f\x02\x21\x76\x5d\x6b\xb1\xeb\xdb\x60\x09\xda\x71\x95\x6d\x16\xd5\xb6\xdb\xa5\x25\x84\xee\x9a\x88\x8f\x20\x8f\xd5\xba\x08\x36\x7c\x8b\xb0\xc8\xfc\x9e\xf6\x4f\x72\x5e\xc5\x8f\x9e\x43\xc5\xf2\x31\xae\x75\xc6\xd5\x91\x64\xd6\x74\x69\x13\x96\xb7\x30\x75\x21\x75\x85\xdf\x50\x14\xe7\x39\xfc\x71\x1c\x59\xfb\xbb\x45\x8e\xed\x9d\x39\x98\x2c\x2b\xd1\x94\x39\xb8\x7d\x58\x7d\x22\x79\xce\xc8\xd1\x96\x22\x10\xfb\x92\x99\xdd\x31\x2b\x1a\x7d\x00\xd7\xfb\xfc\xd3\x07\x2b\x2c\x2f\xd9\x57\x8c\x6b\xd7\xc6\x36\x04\x28\xb9\xc3\xbf\xe5\xcc\x14\x34\xb7\xa4\xfd\x75\xc9\x9c\x8c\x34\xeb\xdb\xae\x84\x9d\x3d\xbf\xe0\xb9\xa7\xdb\x61\xa5\x00\xba\x94\xa2\x68\x14\x6b\xeb\x88\xb6\x47\x1e\xf9\x7f\x3d\xff\xbf\x6d\xce\x52\x7b\xc1\x60\x66\x94\x9e\x16\x70\xde\x40\xab\x11\xfe\x7b\x4a\xac\x4b\xb1\x91\x6c\xd5\x14\x68\x26\xb9\xb8\x1a\xee\xcf\x78\x4c\x20\x30\x8e\x45\x3c\x1b\x38\x6e\x8f\xe1\xdc\xb6\x43\x38\x7b\x00\x20\xe4\xb2\x2a\xa8\x4b\xd0\x66\x52\x3e\x43\x66\xec\x69\xf5\x08\xc2\xc9\x30\x22\xed\xc5\x1f\xbe\xd7\x9d\x78\xf9\xfc\xb9\x09\xe5\x29\x0a\x13\x5c\xe0\x8e\x43\xc7\xba\xf1\x0c\xb6\x19\xb8\x2b\xdb\xc3\xf4\xc6\xd7\xff\xe1\xbf\x77\xa5\xf6\x3f\x74\x73\xff\xf0\xdf\xe1\x5b\xff\xe3\x34\x72\xbc\x48\x35\x9f\xc3\xd9\x37\x3d\xc9\xd4\xdb\x66\x34\xea\xc4\x23\x4a\x38\x2c\x7c\x55\x80\x9b\x8a\x16\x2b\x38\xd3\xa8\x02\x41\xd3\xe6\x2b\x2f\xb8\x3e\xbd\xe5\x54\xd1\xc4\xa3\xa2\x9b\x6f\x50\x42\xc7\x9c\x0f\x01\x8c\x8d\x4a\x9e\x05\x1f\x09\xa6\x4a\x53\x14\x0b\xf8\xf1\x55\x84\x25\xda\xa3\xef\x55\xea\x69\x3a\x0b\x17\x5d\x8a\xfb\xa9\xc3\xb9\xe5\x75\x5c\x8e\x29\x6b\x93\xe5\x02\xe8\x51\xff\x1f\x41\x7a\xb6\xc1\x94\x6e\xdc\x14\xe3\xf7\x25\x01\x59\x42\xc0\x04\xad\x15\xa7\xde\xb5\xa4\x7e\xf9\x18\x8f\x36\x3b\x98\x20\x1b\x7a\x6f\xcb\xeb\x07\xf7\x00\xed\x69\xe8\x9b\x2f\xd0\xed\xc1\x32\xb2\x4a\xc3\xad\x56\x51\x40\xa4\xa8\x5b\xa2\xf1\x96\x6c\x2a\x9d\x52\x9e\xe6\x9b\x73\x51\xae\xf8\x18\xa6\x93\x47\x34\x2d\xce\x8f\x6c\x47\x4c\xee\x67\x06\xef\xa0\x77\xc3\x39\x52\x64\x6a\xa8\xfc\x13\x53\x71\x07\x3d\x1e\x55\xcd\xb7\x0c\xf7\x95\x9f\xf9\x1d\xaf\xba\xb7\x26\x55\x9f\x1c\xbd\x34\xb5\x10\x6a\xe4\xbd\x9a\x96\x39\x96\x56\xbd\x86\xbf\x88\xd4\x76\x45\x89\x71\x8f\xcb\xbd\x32\x2e\x3f\x69\xaa\xa7\x98\xac\xd9\x20\x2a\x08\x02\xbc\x30\x24\x48\xda\xfd\xc3\x48\xa0\xed\x75\xe2\x28\xa4\x9e\x77\x63\xf4\x09\x76\x45\x74\x40\xc0\x9f\xab\x75\x08\x8f\xb8\x89\xe3\x73\x98\xe0\x26\xa4\xc0\x69\x21\xd6\xe3\xeb\x94\xa5\x99\xee\xad\xde\x15\xc2\x59\x8d\xd3\xd6\x25\x47\x3e\xd2\xca\x6f\x8b\xa7\x45\x8c\xc9\xac\x3b\xd1\xdb\x1e\x76\xd6\xbd\x01\xc3\xc6\x12\x41\xcc\x45\x9b\xd5\x59\x8b\xad\x89\x8a\x9d\xbb\x59\xb4\xc9\xd7\xd8\x7f\xe4\x3c\x6d\x5c\x92\x95\xb3\x4f\x3e\x3d\x5a\x17\xf8\x12\x2c\xb6\x31\x7f\xcb\x5c\xe7\x86\x61\x22\xb2\x5e\x1a\x3f\x01\x9c\x4f\xd2\x3a\x3e\xbd\xe3\x04\x84\x29\x5e\xa7\x4c\x68\x8b\x10\x6a\x67\xe1\x40\x59\x7e\xbf\x95\x8a\xe2\x04\x08\x14\xa1\x3b\x95\xc6\x36\xa2\x08\x6d\x44\x97\x23\x54\x89\xda\x1c\x79\x73\xb6\x2e\xa7\x58\x10\x6d\xbc\xc7\x34\xda\x7d\x8c\x3a\xcd\xa3\x18\x06\x4d\xd1\x43\x43\xf3\x3c\x6b\x21\xec\xb6\x77\x61\xfa\x88\x41\x6d\x61\xf2\x88\x8b\x3a\xc3\xaa\xc3\x7e\x9c\xd3\xd0\xf8\x5e\xb4\xc1\x34\xb1\xb3\x18\x44\xbb\xf1\x72\x29\xbe\x2e\x26\x3f\x0a\xd7\x55\x99\xd8\x7a\x75\xac\x47\x98\x80\x96\x45\xa3\x52\x9b\xee\x96\xc8\x1e\x69\x7a\xcc\x5f\xe0\x0f\xc3\xb8\xda\xad\x68\xaa\x53\x38\xa4\x4c\xd8\xe5\xe8\xbd\xa8\xb9\xfa\xfd\x7d\xfb\x15\xcd\xee\xf0\xec\xb7\x15\xbf\x70\xe9\x87\x82\x2a\x11\x77\x29\xb7\xfd\x1f\x61\x3b\x45\x82\xa9\x3b\xd1\xe0\x4b\x09\x76\xac\x80\x18\x9f\x55\x8f\x4f\xcf\x0c\x9f\xb8\x0c\x58\x31\x40\xa9\x48\x1c\xf7\x2e\x71\xc2\xd0\x9b\x57\x1e\x70\x19\xd0\x5d\xe6\x57\xdd\x26\x3b\x9e\xe3\xc7\xb9\x0e\x8a\x32\xee\xcf\x39\x17\x41\x75\x79\x01\x66\x24\x8c\xc4\x48\x6f\x87\x74\xa6\x23\xd3\x64\xb5\x19\x79\xef\x80\x61\x79\xa0\x4d\x33\x3d\x46\x13\x52\xd0\xaa\x6a\xba\x72\xc3\x26\xdc\x00\x3d\xe2\x84\xfe\xa2\x85\x35\x57\x07\x1f\x4f\x9b\x86\xbe\x9f\x28\x8f\x64\xad\x18\x79\x2f\x69\x3d\x59\x35\x35\xb8\xb0\xfb\x5e\xd7\x89\x85\x64\xc3\xd7\x1b\x28\x98\x38\x3e\x76\x1e\x59\x42\x84\x10\x5f\x6f\xa0\x1a\xa3\x9c\x5b\xe1\x51\x5a\x4e\xbc\x36\x86\x77\xcc\xe3\xce\xc6\x80\x01\x0d\xee\xbd\xf1\xa1\xe2\x25\xcd\xf4\x29\xfe\x7c\xd2\x7d\x15\x52\xa6\x58\x69\x48\x8f\x3e\x40\x6d\x84\x1f\x60\x95\xe1\x7b\xbe\x49\xac\x6d\x8c\x27\x5d\x08\x27\xfc\x84\xb6\x79\xf1\x9b\x73\xae\x23\x7a\xec\x0d\x48\xca\xfc\xf1\x26\xe7\xea\x82\x2a\x3a\x2a\xab\x2e\xed\xb4\xb4\x1c\x74\x59\xce\x15\x9c\x42\x0c\xca\x50\xce\x69\xea\x4d\x98\x0b\x66\x84\x7c\x26\x62\x7e\x70\x2e\xf1\xb6\xce\x1b\xb4\xfa\x9d\xb4\x14\x36\x1f\x57\x7f\xfa\xd0\xdb\xcf\x24\xd1\x4d\x05\x93\x75\x08\xa7\x85\x96\x1e\x55\xf6\xcd\x0e\x04\xa9\xc6\xab\xef\xcf\xf2\x43\xc0\xe6\xb1\x3f\x2e\xdf\x24\xd9\xce\xf6\xeb\xb8\x03\x60\xeb\x89\xfe\x7d\x4e\xca\xb1\x73\x6d\xec\xd0\xf3\x4d\x4e\xb1\xf6\x8f\xd4\xad\x2b\x46\x9f\x6c\x02\x3b\xee\xb6\x54\xe1\x0d\xb6\x73\x9f\xc4\xb6\xb0\xb9\x8e\x1a\xbb\x1b\x0e\x3a\x6a\x30\x58\x2e\xc5\x5d\x63\xff\x98\xf6\xd7\x84\x94\x07\x39\x6c\x7e\x1f\x1f\x4d\x4c\xa5\x06\x2d\x43\xc7\x92\xd9\x3c\xba\xdb\xd3\x63\xdd\xd2\x72\xef\x02\xd5\xc4\x39\xce\xbb\xaf\x1d\x9b\x30\x10\x88\x50\x9b\x78\xe3\x6b\x40\x5e\x10\x06\xd5\x1d\x81\xf1\xf0\x6e\x12\x30\x19\x02\xc0\x01\x65\x43\x16\x20\xd8\xd2\x8f\x11\x97\x8c\xd6\xd9\xe6\x5d\x21\x96\xb4\xf8\xfb\xe5\xf0\xef\x77\x39\xfc\x4d\xd6\xbe\x8a\xb1\xfa\x22\xe1\xa2\xc0\xa7\x4b\x75\x3f\x9b\x6b\xd8\x95\x8b\x94\x27\xba\x95\x07\xc7\x5f\x78\x9e\x52\xef\x3b\x43\x93\xe3\x83\x5b\x6f\xfb\x5b\x50\xef\x45\xa9\xcc\x4c\xb1\x80\x03\x4d\xa5\x8d\x50\x02\xbf\xb7\x2e\xd9\x83\xef\xe0\x31\x73\x34\xc9\x83\xd1\x21\x9d\x96\xf9\x35\xbc\x80\xda\x35\xd7\x7d\xd5\xb7\xb4\xe1\x3e\xc4\x34\x82\xd6\xb6\x6e\xf6\x51\xfd\x17\x0f\x73\x79\x61\x77\x53\x4f\xed\xa1\x34\x53\x37\xfa\xe1\xb7\x92\xb7\xfb\x3a\x60\xd3\xa0\x5c\x4e\x9f\x51\x01\x8e\xf4\x1d\x5f\x8d\xeb\x48\x4b\x35\xcd\xcf\x8d\xa6\x25\x6b\x4d\x9c\xa4\x12\x6b\xfc\xb8\x5b\x6c\x64\xfb\xfe\x83\x95\x60\x7c\xac\x5c\xaf\x52\x87\x29\xfa\x42\xf2\x08\xb5\x1d\x4b\x77\x21\xe0\x16\x68\x80\x54\xc7\x79\x0b\x28\x53\x4c\x23\xbb\x61\x6e\xc4\x8e\x6c\x69\xb9\x6f\x1d\x1c\x36\x50\x16\x6d\xbb\xe5\xbe\xbd\x0a\xb1\xdf\xc1\xcd\xba\xcd\x2e\xa5\x5b\x16\xb9\x35\x3f\xd8\xa8\x1c\x89\x9b\x08\x0c\x23\x5e\x28\x83\x3c\x6a\x73\xcc\xec\xcd\x80\x79\xf4\x0d\xac\xa8\x11\xb3\x69\x42\xdd\x58\xa9\x5c\xc9\xda\xb7\x7c\x34\x77\x2c\x46\x9d\x7e\xde\xc7\x43\x15\x81\xe4\x7c\x56\x66\x85\x90\x4d\xcd\x0c\xe8\xaf\x40\x73\x43\x61\xe2\x05\x5c\x44\x27\xaf\xdc\x4f\x4c\xa6\x29\xc0\x5c\x76\xb3\x84\xb1\x43\x2d\xaa\x12\xfc\x30\x43\x22\x29\x17\x7b\xd1\x17\xe6\xc9\x45\x1f\x80\x41\x30\x06\x08\x6d\xab\x64\x2b\x99\x52\x8b\xcb\xd4\x14\xd6\x44\x89\x27\x02\x2b\x9b\x0b\xb3\x79\x4b\x94\xd1\x54\xef\x9d\x4f\x72\xbc\xcf\x2d\x59\xc2\xe2\xeb\xdc\xa9\x60\x98\x39\x57\x36\x2f\xe1\x68\xc6\x53\x07\xdb\xd6\x3c\x86\x11\x6f\x1b\xf1\xdc\xb5\xc3\x1b\x2c\xae\xc2\x50\xf6\x3a\x9e\xa0\x60\x63\x87\xbd\xc6\x52\x25\x75\x89\x89\x1e\x18\xe9\x6d\x72\x1c\x12\xa5\x17\x7d\x75\x5a\xa2\x21\xa3\xb0\xaf\xba\x6c\x93\x63\xb2\x6c\x14\x91\x1c\x20\x22\xf5\x86\x03\xb1\x5c\x4a\x08\x5c\x4f\x3d\xdf\x36\x91\x62\x6b\x72\xc1\x6d\xfa\x46\xa2\xd7\xf6\xf0\x7c\x8e\x81\xae\xdf\x34\x59\x86\x48\x50\xb3\xa5\x66\x5f\x7d\x98\xd4\x88\xc4\x66\x56\x4d\x51\xec\xa7\xf6\xbf\x14\x0b\xb6\xa7\x66\xa9\x97\x1e\xbf\xd7\x8d\x87\x67\x4d\xde\xa4\x99\x91\x72\xa6\x01\x19\xa3\x4f\x37\x4c\xfa\x57\xa4\x2e\x35\x3a\xe2\xc5\x19\x18\x2a\x48\x23\xd6\x46\xdc\x28\xa3\x2d\x55\xc2\x5d\x87\xd8\x99\xa3\xe7\x41\xb9\xfb\x83\xfe\x16\xe0\xc1\x1d\xa2\x4d\xb6\x33\x39\x12\x35\x42\x97\xb9\xaa\x59\x98\xf3\x2c\x5a\x8f\x77\x42\x26\xfb\x43\x0d\x8e\x4e\x3e\xc7\xa7\x30\x8d\xa3\x85\xb1\xf8\xaa\xe2\x1c\xd8\x04\x8b\x63\xc2\x00\x10\x5a\x2a\x08\x1b\xe4\x2b\x52\x0a\x54\x54\x6b\xbb\xe8\xa5\x8a\xde\x53\x5e\xd0\xa5\xde\xe8\x62\x27\x4d\x2f\xcb\x0e\xc7\xc1\xcb\x9d\xb7\xe8\x69\x1d\x74\x3f\x4c\x26\x7f\x45\x9e\x68\x6e\xda\x9d\x00\x4e\x79\x7e\x9d\xc5\x50\xef\x4b\x46\x6b\x26\xd5\x45\xb4\xae\x66\xfb\x30\x41\xa3\x91\x16\x2f\x3b\xf4\x81\xa8\x66\xc7\x84\x66\x99\xa8\xc1\x68\x01\x60\x50\x71\xc2\x53\x81\x9f\x41\x85\x30\x37\xe7\x1c\xff\x04\xf4\x5b\x92\x6b\x33\x77\x0b\xb5\x89\x96\x7b\xd3\x64\x38\x8a\xc0\xc6\x22\xcf\x42\xfb\xb6\xec\xb3\xe7\xbf\xa6\x36\x5c\xf6\xde\xb1\x60\x38\xfe\x3b\x71\x21\x0a\xc5\x57\xfb\xd7\xb5\xa0\x79\x46\x65\xfc\xe2\xad\x47\x33\x2d\x52\x9b\xd5\xe2\x27\xc4\x69\x4b\x58\xf1\x72\x2d\xe3\x6b\x02\x7e\x65\xf0\xf6\xcf\x7f\x9c\xb2\x48\xb5\xdf\x95\x6d\x82\x2e\x1c\x4b\x20\x8d\x5a\x34\x95\x1c\x40\x5e\xc4\x2f\x5d\xb1\xf8\xd9\xc9\x7b\xfa\x30\x36\x48\xc6\x6a\x45\x79\xe9\xd2\xd7\x81\xa9\x44\x1d\xb3\x55\x40\x82\x77\xc7\x46\xf8\xb3\x1c\xd8\x10\xfd\xc7\x0f\x96\x2b\x4c\xf8\x21\xb1\x0e\x64\x77\x94\x69\x09\x1d\xe7\xa2\xc6\x34\x4f\x84\x84\xa4\x25\xa1\xf5\x92\xab\x9a\xd6\x7b\xb3\x6a\x89\xe5\x2f\xcc\xaf\x6f\x11\x7c\xbd\x1a\x38\x25\x54\xa9\x81\x7e\x52\xd1\x52\x11\x80\x5b\x4c\x07\x5a\x84\xfa\x89\xb0\xb2\x5d\xc1\x95\x6a\xc1\xc0\x40\x36\x3e\x5a\x58\x99\x7f\xba\xfd\xf0\xde\x3d\x38\xc6\xcd\x84\x4a\xb3\xe6\xdb\x4b\xbb\x70\x8f\x08\x0c\xed\x0f\xd6\x9d\x5b\x75\x4b\xf5\x1c\x04\x3a\x4b\xeb\x9e\x67\x9c\x2a\xc4\x10\x6e\x8a\x82\xf8\x58\x91\x90\x66\x68\xf7\x02\x57\x73\x06\xa1\xdc\xa0\x7a\x8f\x22\x3b\x5e\x14\xce\x73\x0d\x1e\x6e\x6c\xc6\x8a\x13\x52\x44\x5d\x19\x1c\x3c\xb0\x1b\x0f\xb8\xbf\x51\x19\x44\x4c\x03\x77\x19\xe6\x24\x6d\x84\x12\x28\x61\xf8\x2b\x26\x89\x5a\x05\x19\xb0\xb0\x03\x05\xf0\x4c\xd7\xb7\xef\x01\x16\x21\x92\x9c\xfa\xc9\x96\xe6\x81\x37\x7e\xba\xbd\xbd\x82\xda\x77\xfe\xe6\xf5\xf2\x49\x1c\x11\xfa\xf2\x0b\xb9\x7f\xd9\x63\xa6\x0f\xbb\x11\x9f\xb6\xfa\xbd\xd7\x5a\x7d\xce\xca\x0c\xeb\x23\x45\x75\xd7\x27\x99\x56\xe3\xf7\xbc\xbc\x03\xf7\xa5\x81\x54\xf4\x6e\x34\xa0\x7f\x06\x6b\x02\xd5\xf3\x9f\x9b\xe7\xcf\xff\x90\x51\xb2\xa9\xd9\xea\x1f\xff\xf9\xc9\x7f\x52\xb4\x5e\x33\xf5\xcf\x4f\xe0\x77\x46\xe1\x9b\x48\xf3\x8c\xe2\x6f\x89\x98\x3c\x96\xff\x8f\xb6\x76\x14\x34\x6c\x99\x9a\x12\x47\x93\xf3\x28\x9a\x73\x87\x62\x5a\x18\x48\x97\xc4\x31\x54\x21\x31\x91\xa6\xf0\x1a\xb9\xbc\x20\x47\x61\x9a\x90\x53\x63\xa3\x56\xac\x76\x5a\x16\xbb\x7b\xf7\xa2\x24\xb0\x45\xfb\xc3\x54\xf7\xd5\x46\xd4\x17\x34\x8e\x75\x15\x23\x4b\x11\x04\xd4\xd2\xd2\x73\x36\x37\xce\x08\x2c\xb6\x6c\x40\x37\x6b\xc5\xb3\x22\x15\x55\xce\x55\xf3\x32\xad\xf6\xca\xff\x34\xcb\x82\xcb\x0d\xcb\x17\x5d\x07\x48\xd5\x2c\x97\x05\x0f\xcb\x53\x0c\x48\x01\xfe\xf3\x6b\x33\x80\xf8\x15\x23\x9b\x96\xc2\x3f\x69\x3a\x72\xc4\x7e\x6d\xf8\x3d\x2d\x8c\x73\x47\x8f\x27\xac\xd0\xa8\xe8\x4b\xd7\xe0\x2c\x85\xf7\xc6\xfa\x9c\x56\xdd\x3c\x49\x58\x79\x5e\x59\x06\xb4\xf6\x0c\x83\xad\xb8\xae\x19\x03\x6b\xb4\xfb\xe7\x9d\x42\x62\x63\xb7\x33\x2b\x56\x33\x5b\xb4\x82\x28\x5b\x97\xc5\x96\x22\x4b\xeb\xa5\x63\x09\x4e\xf2\xe6\x9f\xcf\x5a\x80\xd8\x67\xbe\xe3\x70\xa8\x5f\xa2\x28\x46\xb6\xea\x80\x26\xc5\x68\x00\x4a\xbc\xc8\x3d\x24\x80\x29\x32\x5c\x5c\xb1\xad\xb7\xf3\xda\xad\x7b\xb2\x5f\xf7\x71\x7b\xb2\x43\x91\x30\x5b\xed\xb2\x72\x9f\x5a\x1c\x2a\x33\xdf\x7e\x72\xee\xbf\x33\xc0\xe8\x05\x53\x94\x17\x51\x53\xb1\x47\x93\xc2\x6c\xa6\x87\xa0\x92\x5c\xdb\x08\x39\xbe\x47\x60\x1a\xcd\xb5\xa0\xe0\xcb\xed\xf4\x78\xa8\xa5\x03\x70\x13\x5d\xac\x01\xf8\x04\x97\x80\x45\xa1\x6d\xda\x9c\xad\x68\x53\x04\x76\x81\xc3\x1c\x3f\xc3\xd2\x18\xf7\x1c\xfb\x66\xea\xda\x38\x47\x40\xd0\xc7\x21\x59\x73\x8b\x8c\x3e\x22\x6b\x43\x93\x20\xeb\xd2\x18\xc2\xd8\x0d\xc9\x2a\x5a\xdb\x8a\xf9\x81\xc9\x1a\x67\xe6\xcd\x76\x19\xf7\x17\x75\x28\x12\x19\x59\xb2\x3c\x67\xf9\x3c\x5c\x72\x28\x57\xbe\x90\x59\x2d\x8a\xc2\xd4\x08\xb2\xc3\xe3\x7e\xf4\x20\x59\x80\x3c\xbc\xf6\x1d\x9f\xba\x87\xa1\xb2\x35\x45\xb1\xd8\xf1\x1c\x0b\xa8\xf6\xd5\xa5\xe5\x07\x4c\x5b\xa4\xf4\x2f\x21\x5b\xe5\xdd\x30\xbe\xde\x28\xf0\x0a\x85\xb5\x78\x35\x99\xda\xc2\xd2\xa9\x77\x9b\x93\x2d\xad\xef\x9a\xca\x82\x86\x38\x61\x76\x6d\x49\x04\x63\x5e\x80\x0d\x6c\xac\x93\x2b\xf8\x09\xe3\x37\xe0\x43\xce\x42\x8f\x18\xb7\x3f\xb3\x25\x2e\x26\x9f\xaf\xdf\x0f\x13\xef\xda\x0e\x40\xe7\x3c\xfe\xc7\xd5\x1b\xf4\xe5\x4a\xc4\x9d\x7b\x11\xaa\x79\x9a\x05\xc8\xa3\x8f\x63\x93\x20\x41\x20\x47\x0f\xf6\x1c\x1e\x7e\x27\x4d\xed\x8c\xe3\xe8\xe9\x4e\x18\x54\x80\xee\xd2\x34\xae\x8f\xd6\x02\x3a\xb7\xd6\x56\xf7\x7e\x2c\x32\x4e\xc1\xc8\xe0\xe4\x0a\x58\x6e\xcf\xe4\xbb\x14\x68\x7f\x37\x0c\x6f\x85\x18\xb8\x2d\xee\x92\x4c\x0f\xd3\x15\x16\x42\x02\xea\xa4\x11\xb2\x26\xd0\x79\x9a\xf1\x33\x0c\xac\xdd\x25\x49\xe4\x75\x83\xd4\xdf\x82\xd7\xbf\x60\x15\xc7\x31\x5e\x0d\xc9\x34\xaf\x7f\x99\x51\x11\x72\x26\x9b\x43\x3e\xf8\x90\x60\x9a\xc5\xcf\xa5\xa8\x73\x56\xb3\xdc\xc5\x4e\x5e\x7e\x21\x66\xa2\x24\xf1\xed\xcc\x2b\x1b\xda\x81\x2f\x83\x1f\x1f\xce\xd4\xd5\x20\x3c\xa5\xe3\xf5\x03\xad\x46\xfb\xa2\x9f\xa7\xd8\x2e\x5b\x5a\x3d\x86\xc5\x68\x0a\xa5\xbc\xf7\xaa\xa4\x60\x45\xa3\x0a\x5c\xb3\x61\xc4\x01\x6c\x17\x1f\x68\x65\x36\x0b\xf0\x67\xf0\xaf\x4c\x5b\x4d\x6c\x25\x6a\x46\x68\x85\x58\xea\x44\x66\xb4\x60\x3f\x92\x17\x7f\x3c\x79\xf1\xfc\xe5\xf7\xbd\x15\x5b\xb7\x01\xeb\x75\x6a\x13\x7e\x0b\xbf\x09\xcc\xf7\xd7\x8d\xe8\xbf\x49\xc1\xee\x59\xf1\x23\x79\xf1\x87\x93\x97\xcf\x27\xa4\xff\x09\x15\x60\x52\xa3\x7c\xba\xe9\xd1\xf8\xf4\x98\x6a\x85\xff\x1a\xef\xc6\x15\xad\xe9\xba\xa6\xd5\x66\xb4\x13\x2d\x55\x9a\xe5\x6e\xa9\x67\xcd\xe1\x5b\xfd\xff\x13\xdc\x0e\x15\xb9\xea\x50\x24\x71\xe9\x17\x89\x7a\x88\xe2\x1f\x5e\xf7\xca\x5a\x33\x10\x86\x1a\x62\x89\x99\x3d\xd1\xba\xe2\x10\x7a\xc3\x54\xb6\xc3\xb0\xd5\x02\x8a\x03\x40\x31\x02\x56\xe2\xf5\x6a\x68\x25\xc6\xf6\xcd\xaa\xad\xa5\xe3\xdc\x61\x53\x4d\x4e\x0c\x49\xcd\x30\x3b\x7c\xa0\xe0\x54\x9c\x30\x61\xc7\xf2\xc8\xc9\x11\x3a\x26\xaa\xda\x78\x24\xc0\x8f\x99\xe8\x96\x28\x68\xb9\x6e\x0c\xdc\xdf\x55\x2d\xf4\x89\x1f\x72\xb0\xed\xef\x46\x2c\xed\xc7\xba\x3e\xd2\x39\xfa\xd9\x14\xc5\xb4\xc3\xa6\xa5\x4a\x10\x83\xa3\x7d\x04\x4d\x9d\xd1\x93\x6b\x56\x68\xf3\xea\x0c\xbd\x62\xe3\x07\xe5\x2e\x6d\x8a\x27\x06\xde\xb0\x4e\xb7\x54\x00\xcb\x96\x99\x7e\x0b\xb1\xc3\xeb\x2d\xfc\x31\xde\xd1\x9b\x82\xe7\x0c\xd0\x1f\xc7\xba\xd8\x52\x4d\x77\xae\xa5\x7d\x84\x21\x73\x2b\xba\x6b\x35\x69\x59\xbf\x69\x96\x9b\x69\xf3\xb1\xa5\x4a\xe8\x95\xa3\x9d\xb5\xa8\xf7\x5e\x1b\x66\xd8\x0e\xdb\x28\xbf\x48\x94\xc4\xae\xf2\x47\xff\xd1\xb6\xa0\x5b\x38\x38\x8e\x71\x79\x1b\x1c\x2d\x47\x02\x81\x80\x2e\x89\xbf\xa5\x31\x37\xc1\x91\x2c\x4c\x26\x87\x82\x1b\x29\x80\xf2\xa2\xce\x41\x83\x94\x7f\x7a\xf0\xfe\x54\x0b\xbc\xbf\x01\x26\x09\xfc\xcb\x7b\x2a\x55\xcd\x2b\x64\xe7\xd2\x67\xc6\xfc\xfe\xa7\x83\x67\xe3\xed\xa4\x0e\xdc\x26\x2a\xc0\xed\x01\xa3\x9f\xc0\xe0\x44\x79\xc5\x28\x5d\xca\x79\xc2\x51\x6b\x93\xcf\x78\x5b\x27\x5c\x59\x5f\x78\x1e\x2f\xfc\xdd\xa1\x98\xfe\x3c\xd2\xa5\xad\xc1\x8d\x12\x55\x41\x7b\x98\xac\x50\xc8\x1e\xea\x98\x60\x4c\x8e\xa3\xfb\xb6\x6e\xab\x42\x88\x6a\x8a\x15\xa0\x09\xee\x26\x73\x66\x4d\x2f\xe8\xf9\x60\x51\x06\x2d\xc8\x73\x3a\x58\x45\xc4\x7f\x9c\x78\x04\xef\x5c\x7f\x4d\xec\x0c\x35\xcb\xb9\x32\xae\x93\x9c\x87\x3e\x17\x77\xf2\x9d\xba\x50\xd3\x47\x81\x4b\xc5\xb6\xaf\xad\x1f\x27\xda\x8f\x0e\xd5\x74\x77\xdc\x09\xe3\x20\x0f\xf7\xc8\xfe\x65\x39\xb9\xc5\x0e\x8e\x72\x7b\xeb\x9b\x6a\x8f\xc6\x6b\xda\x6e\xa0\x1b\x35\xc7\xb5\x34\xf1\xf6\x89\xbf\xf9\x79\xb0\x95\xba\xfe\x6a\xd4\x77\x57\x36\xdb\x30\xa8\xca\x2c\x3e\xf6\xd6\xdc\x77\x74\x24\x0b\x63\x6a\xec\xba\xa4\xf3\x05\x01\xf5\x1d\x02\x4b\x68\xe2\x36\x7e\x4e\x37\x67\x9b\xcc\xa1\x05\x3c\xd4\xf3\x0e\xd5\x6c\x33\xf9\x91\xfc\xc0\x9d\xa2\xf4\x17\xde\x3f\x1f\xf3\x54\x1b\x1e\x38\x7b\x6e\xe5\xc4\x1b\xf2\x61\x43\xa2\x7f\x58\x36\xe7\x64\xda\x91\x6f\xef\x28\x6c\xab\xc1\x76\x5d\xc9\x97\x5f\xa6\xbd\xc8\x60\x0f\x9d\xb3\x78\x90\x57\x48\x90\x68\x01\x92\x8c\xa5\x86\xed\xd2\x82\xaf\xcb\x85\xf1\xa6\xbd\x22\x4f\x7e\x12\x35\xff\x4d\x94\x0a\x4a\xa5\xe0\xcf\x2c\x37\x77\x72\xc7\xdd\xd7\x6a\xbe\xde\x80\x2a\x5f\xeb\x3f\x4e\xe0\xc7\x18\x75\x26\x0a\x59\x51\x50\x0d\x0b\xe1\x0f\x21\xfb\x99\x28\x9a\x6d\x29\x03\x28\x7f\xcd\x3a\x61\x80\xf8\xfb\x60\xdd\x71\xe7\x15\x34\x29\xb9\x74\x53\xd4\x16\xc8\xc1\xb0\x13\xcd\x05\xe9\x1c\x5b\x8c\xc1\x1a\x63\x5b\xff\x9e\xc2\x73\xc7\x93\x1c\x18\x0c\x28\xc0\xa5\x50\x0a\xfd\x85\x78\x4d\x74\xcf\xb4\xa2\x69\xd9\x9f\xd0\xc2\x48\xd3\x04\x53\x18\xd2\x7e\x1b\x5b\x9e\xe7\xb6\x98\xb3\x7d\xbb\x3b\x72\xe3\xba\x77\x3d\x7c\x52\x75\xcf\x53\x35\xaf\x4e\x3e\xa3\xb2\xa2\xf0\x8e\x03\xf8\xcf\x01\x3e\xa5\xdc\x89\x3a\xff\x4b\xbe\x3a\x2b\xd6\xe2\xe6\xa7\xb3\x97\x3f\xfc\x11\xff\x7b\xf5\xfa\x2f\x17\x6f\x5f\xfe\xf4\xe1\xec\xfc\xe6\xa7\xb3\x1f\x5e\xbc\xe4\x8a\xd5\x2f\x9e\xeb\xff\xe1\xf3\x0f\x22\xbf\x1a\xea\xdc\x43\x1b\x4d\x90\x88\xd6\x8d\x3b\xb6\x27\x39\x03\x88\x7d\x00\x3b\x2c\xd6\xa2\xe6\x6a\xb3\x25\x39\x5b\xf1\xd2\xc6\x09\xde\x5c\x5f\x91\x97\x6f\xcf\x48\x21\xd6\xbc\x24\xdb\x46\x02\x9c\x3c\xe4\xe6\x26\x49\x13\xae\x7c\x5f\x53\xc9\xc8\x91\x9e\x19\x41\x73\x41\x08\x24\x98\xb6\x2f\x9f\x7f\xff\x5f\x4e\x96\x5c\x91\xad\xc8\x9b\xa2\x91\x53\x2f\x49\x5a\xa8\x17\xfa\xc5\x4f\x25\xc6\x9d\xed\x04\xd1\xbf\x49\x4c\x4a\x36\x10\x14\x5e\x2f\x57\x4d\x89\x71\x72\x09\x0d\xbf\x7c\xb4\x86\x53\xb4\xe7\x73\x89\x17\xb0\xd3\x2a\x61\x29\x53\x8e\x5a\x40\x49\xfe\x72\xf1\x96\x1c\x6d\x85\x54\xa4\xe0\x77\xac\xd8\x1f\xfb\x81\x9d\x58\x55\x32\xc7\xcd\xb7\xcc\x63\xd5\xed\x7d\x80\x1f\xdd\x96\xd3\x95\xa7\x43\xc7\xb6\xbd\x5e\xcc\xce\x37\xb4\x1e\x0a\xfc\xf1\x09\x52\xce\x13\x40\x4f\x78\xce\x4a\xa5\xf9\x48\xf4\xcc\x98\x9a\x7f\x36\xf8\xa9\xea\x37\xe3\x6b\xa0\xa9\x00\xbf\xc8\x80\x2d\xeb\xb0\x36\xbf\xc6\x5e\x1e\x18\x57\xa0\xbb\xb6\x15\x2e\x2e\xcb\xd5\xc0\xc9\x35\x42\x97\x68\x1c\x62\x46\x85\xcb\x43\xf1\xeb\xf1\x25\xc9\x85\x6d\x29\x47\x33\x42\x42\xc5\x7b\xf8\x37\xa1\x79\x5e\xfb\x79\x5d\x07\x27\xaf\x98\x1e\x9a\xc6\x21\x88\xa2\x17\x34\xb8\x11\xa5\x4f\x04\xff\x36\xc9\x39\xc1\x44\xdc\xf0\xaa\xe2\xe5\x7a\x61\x99\x6b\x5f\xb1\x8f\x1c\xdf\x63\xc3\x01\xe9\xe8\xfa\x68\xa9\x07\x8f\x16\xf2\x9c\xd6\x03\x4e\x8d\x61\xf2\x04\x4f\x1c\xe4\x76\xe3\x59\x96\x64\xfa\x9d\x19\x6a\xaa\xbf\xd1\xb9\x19\x49\xf3\x27\x01\xc7\xf2\xf4\x0b\x2d\x38\x4c\xe3\x54\xd5\x1b\x7c\x25\xc1\x8b\x62\x5f\x04\xa5\x3b\x71\x9a\x08\x00\x17\x49\x7d\x3e\x2c\x0f\xdb\x58\xdb\x51\x0d\xf1\xea\x55\xde\x58\xd5\xb0\xbf\x8d\x4b\x6e\x49\xcb\x3b\x2d\xfd\x21\xec\xb5\x38\xe1\xb4\x94\xce\x5b\x45\x00\xc9\x1c\xf7\xa6\xac\x7e\xf4\x9d\x24\xba\xdd\xa3\xd4\x02\xa8\xa2\x62\xe5\xa2\xa9\x8b\x36\x37\xeb\xf3\xf5\xfb\x23\xf9\x74\xaa\xf1\x98\x5e\xf9\x1c\xaa\x04\x1d\x33\x7f\xbc\x15\xf5\x76\x54\x50\x3e\x5d\xfa\xf2\xbe\xd2\xe4\x49\x32\x58\x0a\x65\xd6\xe7\xd7\x42\x75\x26\x4d\x46\xcb\x85\xa4\xf7\x6c\x91\xb5\xf3\xb7\xeb\x37\x33\xc5\x4f\xa1\x22\xaf\xc0\x32\x63\xfa\x15\xe2\xbd\x72\xfa\xe0\x75\x90\x97\xf7\x02\xa1\xac\x9e\x5c\x9a\x3f\x83\x55\x12\xaa\x6e\x01\x5c\x82\x7c\xe2\x17\xc3\x8f\x17\xee\xb7\xfb\x8f\xdd\xa6\xc2\xf0\x2e\x2c\xd4\x6f\x76\x6c\xae\x4c\x7d\xae\x62\xef\x92\xdd\x31\x5f\xd0\x54\xbb\xd5\x2a\x64\xa1\xc0\x3e\x5f\xbf\x3f\x3d\x23\x7f\xbe\xf9\xf4\xd1\xe4\xdb\xa0\xe1\x07\xc2\x41\x8e\x80\x6c\x25\x8a\x42\xec\x20\x1e\x12\x3a\xfa\xea\x84\x98\x63\xad\xfe\xfc\xe2\x8e\xed\x5f\x91\x1b\x70\x89\x93\xb3\xab\x4b\xff\x99\xb6\x34\x4f\x20\x42\x41\xf7\x76\xbf\xd8\xb2\x3a\xdb\xd0\x52\x0f\xe0\x2b\x72\xa6\x7f\x26\x57\x74\x4f\xec\xcf\xe4\xf2\xe2\x44\x1b\x22\xb5\xe0\x39\xd0\x43\x53\x19\x7e\xe1\x0c\x7f\x87\x17\xf0\x77\xd3\xba\x47\xbf\x5c\x67\xa2\x10\x75\x48\xac\x25\x4a\x96\x34\xbb\x5b\xd7\x90\xd8\x0a\x24\xe1\x7b\xbc\xbc\x67\xb5\x64\xaf\x88\x57\x02\xad\x91\x78\x67\x9c\xd3\xfa\x4e\xff\xb1\x75\x40\x56\xdd\xc6\x4f\x40\xba\x0b\x93\x2a\xf8\x8a\xdc\xd6\x4d\x8b\x0a\x85\xea\x66\x52\x07\xad\x11\x6d\xa7\xeb\xb1\x79\xf5\x37\x5e\xc5\x5e\xfb\x6f\x97\x57\xcf\x2a\x21\x11\x10\x2a\x67\x83\xaf\xeb\x39\xbc\x11\x85\x36\x60\xf4\x74\xec\x34\xd5\x3e\x85\xad\xb8\xd7\x4a\x4c\x33\x8d\xa2\x81\x15\xd4\x51\x3e\x68\xe4\xd4\x1a\xc7\xbe\x7a\xbc\x3a\x31\x37\x23\x61\x12\x12\x5a\xb0\x8b\x2d\x97\xd2\xc4\x81\x5e\xf6\x61\xc8\xdc\xac\x84\xb9\x68\x15\xde\x9b\x93\x98\x69\x8f\x19\x55\x50\xa7\xc8\x24\x20\x92\xa6\x22\x14\x2c\x6e\xfb\x25\x72\x64\x12\x26\x0b\x5c\x0b\x69\x86\x50\x5e\xda\xba\x2d\xbf\x53\xf6\x2a\xc9\x7f\xe5\x69\xd4\x18\x34\x56\x60\xb7\xff\x97\x17\xa7\xe1\x79\xe1\x5e\x0f\x41\xb8\xe0\x8c\x4c\x68\x04\x81\x81\x65\xd7\x7f\xa9\xd7\x22\xc7\x1d\xdc\x18\x16\x3e\xbc\x9e\x70\x76\x60\xa4\x02\xbb\x71\x12\xf9\xeb\x6a\x37\xd2\x30\x05\x47\xaa\xbb\x9c\x5f\xb3\x8c\xf1\x6a\xc0\xdb\x19\x27\x4d\x71\xfc\x21\xe5\xc3\xd7\xfd\x56\x90\x0b\xb7\xc1\x5d\xf5\x94\xa8\x67\x8a\xa2\xa2\x64\x70\xcd\x73\xbb\xa9\x19\x3b\x29\x98\xd2\xca\x75\x79\xf3\x89\x7c\xff\xf2\xc5\x7f\x26\x96\x02\x26\x60\x2c\xdc\xd3\xba\xf3\xe2\x65\xb3\x0e\xdc\x3c\x70\xe4\x2f\x3b\x90\x61\xe3\x9b\x4a\x57\x6d\x5b\x75\x8d\x99\x4c\xa0\x59\xac\x40\x0c\x18\x19\xda\x4c\x81\xb9\x20\x14\x2d\x16\x74\x1b\x66\xd2\xe3\xbf\xed\x7a\x28\xb7\xb4\x28\x98\x54\xa4\x29\xb9\x92\xce\x85\x65\x25\x77\xc4\x4b\xc5\xd6\x7a\xd7\x82\xcc\xc3\x42\x50\xf5\x2c\x17\xcd\xb2\x60\x4f\x4f\xc9\x5b\x1f\x48\x0f\x12\xf2\x49\x55\x73\x2c\x46\xf3\xf9\xe6\x1f\xc8\x8b\xd3\xef\x7f\x80\x69\x6a\xbf\xf9\x8f\xe4\xc5\xf7\x3f\x9c\x92\x1b\x86\xab\x33\xfb\x5a\x85\x60\x82\xe6\xb3\x9c\xc9\xd3\x5f\x24\x64\xed\x43\xe1\xcf\x1d\xde\xdf\xfa\x75\x31\xd6\x9a\xd9\xca\x16\x8e\xcf\x59\xc6\xb7\xb4\x20\x95\xe0\x38\x6d\x4c\x9d\x16\xd7\x8b\x97\x2e\x1b\x60\x4b\x7f\xd1\x67\xe0\x7d\x9b\x9b\xad\x3f\xf7\x34\x9e\x41\x3f\x6b\x8e\xc9\xa6\x48\x9c\x62\xd2\xcf\x64\x98\x36\xaf\x30\xe5\x3f\x6d\xa2\x21\x10\x5d\x37\xfd\xdf\xb3\x43\xd2\x7a\xf3\x85\xd5\x2e\xbb\xf8\x23\x63\xf9\xd0\x4d\xf2\xe4\x5b\xe9\xbd\xdc\x51\xeb\xbe\xb0\xf0\x22\xc7\xfa\x84\x68\x67\xda\xbd\xd7\x36\x96\xfe\x86\xf6\xd3\x84\xd2\xfa\xde\x41\x4b\xdb\x56\x23\x7b\x55\xf0\xa5\x09\x69\xc1\x62\x3f\x79\x5a\x6b\xa9\x52\x4f\xa2\xe3\x1b\xc6\xb7\x3b\xa7\x6d\xa8\x5c\x44\xb7\xc4\x9e\x0d\xbe\xa1\x06\x14\x07\x77\xc4\x88\x1c\x1f\xb6\x29\xc6\xe5\xce\x58\x0d\x7e\xed\x01\x75\xf4\x1e\x4f\x4b\x3a\x56\x31\x66\x89\x6f\x03\xfe\xe4\x3c\xec\xa8\x00\x7a\x5c\xbf\x6e\xdb\x0a\x56\x79\xd6\xae\xf0\x0c\x57\xf7\xc1\x7e\x8e\xa5\x15\x7a\x8f\x13\x0e\xb3\xbd\xec\xbf\x59\x49\x84\x86\x5f\x0b\x23\x31\xc1\x72\x7c\x01\xb4\xcf\xa6\x99\x7d\x37\x03\x79\x21\xdb\x50\x6b\x54\xc0\x6b\xd3\x1e\x3e\xc6\x6a\x08\xfd\x1e\x56\x1f\xfb\x38\x61\xd9\x62\x50\x6e\x53\x14\xf8\x06\x60\x83\x2c\xf7\x89\x4a\xc3\xa5\xa2\x25\x1a\x03\x17\xe6\xef\x36\x6b\x19\xb4\x07\x30\x5a\x55\x07\x7c\x8b\x7d\xad\xb8\x29\x02\xf0\xc5\x96\x33\xae\x58\xcd\x45\xde\x45\x1a\xe9\x6a\x9d\x55\xb9\x61\xc1\x00\x9e\xc4\xfe\xc6\x02\x83\x0c\xc8\xa7\x43\x35\x2d\xa6\x8f\x31\xd8\x91\xc4\x01\x3e\xac\xb0\x52\xa3\xd8\xa2\x29\x15\xfa\x49\x3f\x34\x0a\x8b\xe8\x96\x01\x5c\x06\x3c\xc7\xab\xb6\x6e\xa2\x8f\x36\x37\x16\xe6\x8a\x55\x9a\x01\x02\x98\x5f\xbc\xcd\x2f\xc3\x96\x82\x37\x79\xc1\xd0\xce\x82\xaf\x6a\x71\x05\x41\x66\x12\x00\x23\x5d\x96\x39\xa0\xd8\xc1\x99\x4e\xef\x49\x61\xab\x83\xa3\x74\xc3\x8a\xd5\x84\x0a\xfb\x24\x09\xab\x83\x51\x9a\xf4\x15\xcf\x53\xc2\x37\xfa\xcf\x3d\x1a\xd0\x38\x11\x60\x73\xb6\xa8\x41\x59\xa4\xed\x58\x97\xc6\x55\x6e\x86\xb2\xc1\x9c\xec\x61\xdb\x8c\x5f\x57\xe7\xfa\xec\x5f\x2a\x83\x12\x69\xf7\xb9\x1d\x83\xf3\x2c\xcd\xbd\x42\xd7\x54\x12\x4b\xe9\x5f\x5c\x37\x4a\x38\x4c\xb8\x2e\xfc\x04\x4c\x65\xbd\x2b\x68\x2a\xbd\xd7\xe0\x65\xaa\xa5\x0f\xa1\x8d\xa0\x6c\x76\xb6\x6f\x3b\xe0\x7d\x05\x36\x93\x11\x46\x31\x01\xd2\x5d\x26\x3c\xf4\x10\xb3\x66\x62\x11\x5d\xa4\xdc\xb2\x44\x96\x4c\xed\x18\x2b\x49\x83\x18\xd2\xae\xbb\x81\x43\x02\x3d\x2b\xc0\xb4\x5c\xb0\xaf\x19\x73\x11\x1d\xae\x08\x3e\x5e\x51\xd1\x82\xb8\xc7\xa8\x3b\xe6\x2d\xcf\xd4\xf3\x2f\xd2\x59\x25\x6a\xb5\x30\xe9\x3c\x1d\x59\xe0\x43\x42\xb5\x52\xae\x71\x63\x90\x84\xd7\x35\x2b\xd8\x3d\x35\xc7\x03\x60\xd7\x6a\x6c\xa4\x65\x59\xd1\x6d\xa4\x69\xa9\x78\x51\xd8\x0f\x38\xc5\x00\xac\x44\xfd\x42\xb0\x8c\xd0\x9a\x8d\x0c\x18\x3c\x77\x4d\x7c\xd7\xaa\xd6\xe0\x3c\xd1\x67\x91\xa1\x39\xf2\x59\x26\xc5\x47\x43\xf5\x94\x8a\xd6\xaa\x4c\x9d\xec\x9a\x39\xb3\xc7\xea\x6f\x4c\x6f\xb1\x1b\x51\xb2\x53\xf8\xef\x39\x1d\x08\x40\xe9\x90\x4c\xb3\x7d\x46\xbe\x88\xcb\x2b\x73\xd5\xa4\x67\x50\x22\x32\x93\xa6\x5f\x64\xc8\x06\x00\x21\x74\x9b\x89\x1d\xf9\x3a\x34\x20\x2e\x9e\xf1\x8a\x0e\x67\xee\x4d\xf6\x36\xb1\x9f\x57\x33\x3b\x48\xe1\xa0\xb4\xb0\x00\x87\x67\xf0\x4f\x02\xff\xf4\x17\xa8\x7c\xcb\x4b\x7f\x0c\xdb\x84\x5a\xc0\x16\x11\xb5\xfb\x67\x47\x26\x99\x28\x4b\x44\x82\x09\xd2\x00\x59\x99\xc3\x39\x5b\x76\x3c\xf2\x48\x0d\xe1\x25\x42\xcf\x66\x28\xbb\x85\x42\xec\x9a\x24\x5d\xff\x8b\x0f\x72\x12\xe3\xe4\xb0\x45\x6c\x41\x17\xa2\x5e\x2c\xd1\x9d\x64\xbd\x0c\x7a\xb2\xde\xb1\xbd\x63\xb0\x7f\x4d\xa5\x47\xab\xe3\x78\xb9\x63\xfb\xc5\x8a\x97\x6b\x56\x57\x35\xc7\x3d\xfe\x2f\x6c\x4f\xfc\x9f\x7c\x83\xeb\x65\xb5\xb0\x19\xf1\xde\xcc\xbf\x7a\x79\x45\x5a\x91\xda\x30\x1c\x01\xcf\xd0\xe6\x93\xb1\x44\x7a\x4f\x01\xe3\xa3\x68\x5a\x68\xc9\x5c\x15\xa3\x8e\x14\xab\x5a\x28\x91\x89\xc2\x75\xd2\xfe\x80\x5b\x36\x82\xe8\x54\x54\x4a\x0c\x12\x2a\xf8\x52\xad\xef\x45\x08\x8d\x27\x15\xad\xd5\x22\x7a\xea\x81\x91\xa6\x99\x6a\x60\x8f\x03\xc2\xb0\x27\xf7\x26\x18\xbc\x0f\xd1\x64\xe2\xa1\x7d\xd5\x1f\x98\x63\x5a\xc9\xab\x21\xeb\xa7\x47\x94\xb0\xb6\x94\x7a\x13\x06\xea\xd9\x0b\xcc\xf0\xfc\x83\x10\xc1\xe8\x3a\xe3\xcf\x46\x6f\x22\x6a\xd1\x99\xd9\x18\x9b\x27\x31\x39\x77\xba\x78\xf8\x2c\x81\x09\xf2\xda\x73\xc4\xc1\x7e\xc6\xb2\xa6\x66\xe4\xcd\xcb\x37\xfe\x62\x38\x3e\x71\xb0\x3f\x31\x71\x8e\xaa\x73\x57\x93\x61\x45\x49\x50\xe1\x2b\xab\xbd\xe6\xbe\x07\xb0\x5d\xa3\xdf\x7c\x0c\xc5\xbb\xe0\x32\xa3\x75\x7e\xcd\xa8\x14\xe5\xeb\x46\xee\x47\x35\xb0\x4f\x3d\xad\x8a\xb7\x98\xe3\x68\x65\xad\x87\x3b\x87\x66\x58\x4e\x96\x2c\xa3\xf6\x4e\x0b\xe5\x23\xc9\xb2\x91\x7b\x4c\xc6\x46\xb9\x05\x8a\x9b\xd0\x09\xfd\x0f\x5c\x8e\xd2\xbb\xe2\xbd\x73\x70\x87\xf0\x7d\x36\x80\x9d\x1f\xff\xee\x4f\xb4\x5c\x37\xf1\x54\xf2\x31\xfa\x83\x78\x64\x65\xae\xcf\xf3\xa2\xde\xd2\x41\x84\xe3\xf8\x57\x3f\x70\xbd\x76\xa6\x73\x69\xe8\x0f\xe2\x72\x8b\xef\x26\x71\x97\xc6\x53\xa2\xd7\xcc\xde\xfe\x51\xa3\x9d\xf9\x01\x2b\x67\xde\x98\xdb\x16\x6d\x03\x98\xbf\x5d\xbe\x6f\xdb\x4f\x5e\xea\x75\x48\x94\xf9\xc3\x63\x9b\x06\xb7\x76\x38\xa3\xe4\x6c\xd9\xac\xbb\x7e\x4e\x03\x82\x58\xb3\x5f\x1b\xae\xe7\xa0\x17\x7b\x07\xc0\x7d\x65\x6e\xca\x3d\x99\x6d\xd2\x98\x3a\xba\xa9\x9e\xc1\x03\x5f\x41\x0c\xa0\x94\xcf\xc0\x14\x57\x82\x40\xb9\xa5\xd8\x3a\x58\x83\xfe\x60\x53\xfb\xd6\xef\xd8\x8a\x2e\xef\x8d\x69\x7c\x1d\xf4\x34\x6a\xc6\x62\xf8\x66\x5b\xa9\xf1\x05\x10\x29\xa6\xf5\x09\xe8\x62\x25\x9d\xd3\x22\xaf\x8a\x11\x8f\xa4\x65\xe5\xaa\xdd\x33\x86\xf9\x75\x44\x09\x66\x7a\x60\x35\xe9\x5d\xa7\xb5\x94\x92\x98\x3f\x2c\x8b\x8c\x2f\x6b\x5a\xef\x17\xf7\xac\x96\xd6\x22\x07\xb3\x00\x41\x3a\xf1\x54\x65\xd0\xa3\x41\x2e\xfa\x54\x8e\xbf\xe2\x8e\xac\x7f\x3c\x36\x01\xa1\x88\x11\x6b\x9a\x24\xb6\x49\xd2\x26\xf8\xd9\x48\x24\x50\xf7\x53\x72\xdb\xea\x29\x00\x89\x6e\x59\xbd\x66\xa6\x76\x14\xc6\xe1\x6c\x18\x59\x32\x08\x54\x0d\xda\x0c\x9b\x5c\x0a\xb5\xc1\xda\x4e\xc7\xa4\x66\xaa\xa9\x21\x98\x05\xc2\x02\x5c\x03\xf7\xb4\x68\x5c\xb0\x86\xa9\xca\xe5\x59\x49\x8c\xd9\xa0\x43\xaf\x5b\x08\x72\x5a\xb6\x73\xc0\x37\x02\x6d\x6d\xa6\x9a\x65\x0c\x9c\x2e\x2e\xca\xaa\x28\x58\x1d\xdc\xfb\x6d\xe9\xd7\x45\x41\xf7\xe8\x2e\xfd\x40\xbf\xf2\x6d\xb3\x25\xf0\x03\x0c\x73\xcd\xb6\x42\xb1\xb8\x5d\xac\xad\xba\xf6\x55\x5e\xce\x78\xb5\xc9\xab\x45\xf5\x32\x4c\x11\x14\x78\x12\x18\x3f\x33\xb4\x96\x54\xb7\xb9\x9a\xad\x0a\x06\xb3\x29\xd6\x68\x42\x83\x50\x93\x5d\x34\xeb\x8d\x19\x06\xd3\x9c\x51\x82\xa9\x83\xb0\x8b\x4a\x1c\x9d\x72\x2d\x55\x4a\xb0\x81\xa1\x7d\x44\x23\x3d\xc1\x2c\x0f\xcf\xc7\x71\xe3\x32\x7e\x03\xd4\xae\xc4\xd0\xc8\xa3\x18\xea\xd4\xf5\x62\xce\x71\xb6\xf5\x2a\x74\x76\xbe\x69\x4b\xdc\x3f\x53\x8e\xca\xe0\x31\x4e\x96\x8f\x61\xa4\xff\x4c\xb9\xd9\x62\x87\xd5\xce\xd2\xa4\xd8\x3a\x99\xd8\xba\xc5\xf5\x9b\xea\xdc\x99\xfe\xbb\x33\x3e\xbe\x93\xe4\xdb\xd9\x3f\x7d\x2d\xb8\xf2\x46\xbd\x43\xeb\x9f\xbe\x3c\x17\x99\x3f\xd8\xa1\x95\x02\x4b\x6e\xdc\x5d\xe0\x4d\x11\xbb\x34\x47\xd5\xc1\x66\x5a\xa5\xaa\x81\x5b\xdc\x86\xb5\xa0\x25\x49\x50\x02\xeb\xf1\x94\x58\x5f\x08\x7d\x5f\x6d\xac\xa5\xc9\xaa\xd1\x6a\xed\x7b\xc0\x7a\xa7\x59\x3a\x5b\x8b\x70\x34\xde\xd8\x2f\x86\x43\xc1\x61\xbf\xb8\xbc\xb2\x41\xf4\xbe\x63\x2e\xa4\xbb\xff\x23\x52\xde\xff\x71\x8a\x16\xae\xa7\x15\x05\x0b\xf5\x53\x63\x9c\x52\xfa\xdf\x3e\x8d\x40\x58\xf2\x2b\x51\xab\x09\xd3\xcb\x49\xf9\x67\xb6\xac\x55\xb4\x36\x44\x9c\x70\x7a\x50\x7e\x66\xcb\xeb\xdb\x73\x7f\x23\x9b\x5b\xbd\xec\x01\x93\x28\x71\x44\xa6\x46\x21\x16\x67\x89\xd3\xcf\xfc\x3d\x20\xf5\xd0\x1b\xd7\x94\xf1\x25\xf3\xe6\xf6\xf3\xc7\xe8\x20\x6b\xab\x2b\xfe\xca\xed\xe7\xeb\xf8\x2b\x5a\x85\xfd\xdc\x90\xd2\x2b\x5a\xdf\x1b\xf8\x01\xec\xab\x44\xc8\xab\xab\x74\xc0\xab\xb4\x45\xb6\xeb\x69\x6e\xaa\x42\xd0\x40\xb6\x79\x66\xd6\xbd\x8b\x73\x72\x79\xe1\x3b\x93\x72\xb1\x2b\xbb\xd4\x2b\x5e\x30\x6d\x5e\x21\x48\xb3\x7e\x0d\xee\x71\xdb\x5f\x1e\xba\x50\x43\x08\x8e\x57\x71\x28\xc0\xca\x07\x04\xac\x8d\x3e\xfd\x53\x79\xd7\x16\xfe\xa1\xb6\x68\x9b\x12\x84\xab\x98\x63\x2e\xbc\xa7\xfe\x0d\xaf\x6f\xcf\x5c\xc9\x00\xf8\x69\xb0\xcf\x08\x46\xe1\x5e\x7b\x0b\x08\xe5\x7c\x0b\x61\x0f\x55\x2d\xb4\x00\x24\xa6\xa6\x7d\xb8\x7a\xf3\xee\x7b\x5c\xa7\x87\x6d\x44\x25\xce\x81\xdb\x1b\xfe\x5b\x3c\xc9\xac\x43\x32\xad\x35\x5e\x7a\x38\x78\x20\x4b\xc2\xb7\xd4\x1c\x50\xb8\x92\x16\x53\x20\x31\xec\x60\xb9\x37\x01\x74\xaf\x79\x69\x6b\x4b\x1f\xe3\x75\x7d\xd6\x4f\xbc\x05\xe5\xbb\xdc\x22\x76\x25\xa4\x2f\xfb\x87\x36\x7b\xc3\xa8\xc5\xa6\x1b\x88\x5d\x39\xaa\x7d\x85\xb9\x42\x9b\x66\xbb\x2c\x29\x2f\x08\xfc\xe2\x51\xec\xda\x6f\x20\xa8\xed\xb0\x68\xc7\x4e\xe6\xf6\xe9\x01\xa7\xf2\x63\x52\x8a\xf2\x84\x7d\xe5\x52\xc1\x8d\x7e\xfa\x34\xf5\xe1\xe3\x12\x6e\x0f\x95\xb8\xa2\x6a\x33\xaa\x1a\x8e\x60\xba\x1f\x1f\xc2\x3a\xf5\x56\x69\xdd\xc4\xd1\x1b\xb8\x89\x28\xcf\xc4\xb6\xd2\xcb\xb2\x7e\x7c\xbf\xb6\x68\x6e\xe4\x0f\xcf\x9f\x13\x50\x88\xa7\xe0\xf4\xd9\x88\x1d\xee\xed\x8d\x2a\x78\x1b\x45\x6f\xcb\xb6\x1a\x54\x47\x28\x44\x60\xf3\x34\xf0\x46\x84\x14\x42\x29\xce\x0c\x0f\x5c\x94\x73\x95\xf1\xbc\xe5\xef\xe6\xcb\x3b\x52\x51\x7d\x94\xa6\x7b\x3d\x57\x71\x65\xd9\x60\xf5\xaf\x9a\xe4\xcc\xf6\x05\xa3\x31\x70\x0c\xbb\xd1\x2a\x56\xeb\x0c\x78\xf6\x2f\x23\x23\x32\x3a\x1a\x89\x23\x81\xda\xeb\x3d\x4e\xec\xff\xc3\xa7\x97\x44\xee\x91\x40\xfa\xdc\x3e\xf6\xdc\xd3\xa2\x18\x9f\x7f\x2d\xc5\x01\x73\xf0\x94\x58\x36\xa0\x8c\x18\xd7\x76\xb1\xe5\x9a\x4b\xd2\x94\x5e\x39\xb0\x24\xd9\xc6\x3b\x0f\x99\xd0\xa7\xc4\xf1\x3b\x94\x06\x6d\x9f\x5f\x99\xe2\xe7\x03\xa5\x1c\xa3\x74\x49\x4e\x36\x4b\x5d\xec\x09\x2b\x33\x61\xfc\xcc\x4a\xc0\x18\xa6\x2b\x0f\x2e\x3d\x0f\x50\x1e\xcc\x4c\x84\x1d\x12\xc0\x42\x1c\x63\xe4\xcf\x57\x6f\xde\xe1\xc6\x50\xd5\x6c\xc5\xbf\xea\x6d\x70\xb7\xe1\x50\x5f\x37\x38\x19\x54\x35\x2b\xf8\x56\x6f\x27\xbc\xd8\xb7\xab\x08\xec\x52\xa7\x31\x7d\xbc\xb2\x1d\x8d\xeb\x23\xf6\x69\x52\x1f\x55\xcd\xab\x6a\x62\xa3\x0d\x88\x12\xee\x4b\x49\x21\x76\x27\x35\x83\x02\xfd\x7a\x7d\xf1\xd6\xcd\x3f\x5f\xbd\xb3\x4b\xd2\xcc\xc5\xad\xd5\x40\xdc\x6c\x83\xf5\xac\xad\xcf\x28\xca\xce\xe2\xf6\xaf\xff\x2b\x61\x32\x0f\x0b\x48\x9e\x8e\x1b\xac\xf6\x79\xa2\xdd\x6a\x76\x99\xe6\x2b\x2f\xb8\x35\x1c\x52\xab\x88\x19\x3e\x9e\x5c\x75\x31\x68\x92\x72\x11\x3c\x66\xe3\x71\x74\x01\xc1\x74\x77\xde\x36\xe0\x1e\xc6\x78\x0f\x7c\xeb\xa1\x9d\x0b\x42\x48\x3a\x8c\xf8\xdd\xb4\x24\x6d\x19\xfe\x26\xb1\xe3\x37\x05\xe6\xd7\x8c\xf7\x1e\xa9\x12\x9d\x3f\x55\xc1\xc0\x6b\xfb\x48\x82\x18\x2c\x69\xd9\x97\xc7\x37\x94\x99\x18\x88\x54\x12\x69\x41\x4a\xc9\x05\x3c\x69\x29\x77\x86\x41\xb8\xbf\x14\x12\xe1\x1f\xcd\xef\xc7\x50\x89\xb2\x5b\x63\x4c\xb2\x32\xff\x22\x54\xb8\x2a\x66\x85\x90\xad\x17\xe9\x0a\x0e\xdf\xbc\x24\x8a\x6f\x19\x39\xfa\x5c\xf2\xaf\xf0\xa7\x54\x74\x5b\x3d\x45\x5c\x60\x5b\xdb\x12\xaf\x2b\x96\xac\x13\x80\x09\x0d\xe6\xa7\xe4\x83\xc9\xa6\xa4\x8a\x14\x8c\x4a\x45\x7e\x80\x33\x83\xad\xb5\xa9\x36\xb4\x24\x7f\x7c\xfe\xdc\xde\x42\xda\x3b\x86\x55\xa3\x9a\x9a\xfd\xa8\x57\xf9\xef\x94\xb7\xce\xaf\x4d\x88\x9f\x56\x10\xe4\x19\xa3\xb3\x23\x9d\xc1\x07\x60\x80\x61\x6a\x94\xb6\x24\x39\xa6\xa9\xda\xaf\xf5\x3b\x91\x29\xbd\xed\x60\x0a\xa5\x8d\x99\x3a\x26\x3f\x9c\xfc\xf1\xf9\xf3\x53\x72\x3e\xc9\x8d\x96\x60\x9f\x97\xbc\x77\xcc\xd4\xdf\xe4\xd2\x48\xc9\x81\x8b\xe8\xd6\xf1\xce\x85\xd0\x72\x8f\x12\xb2\x63\xfc\x38\xee\xc9\xd6\xff\xdc\xad\x4b\xba\x6d\x0a\xc5\xab\x82\x2d\xb2\x8d\xcd\xa2\xb3\x1c\xdb\x47\xae\x12\xac\xd9\x7b\x4d\xfd\x57\x2a\x0d\x93\xc1\xec\xc2\xd4\x64\xad\x80\xe1\x29\x3b\xd3\x4a\x80\x05\x66\x69\xcd\x4c\xaa\x72\xb1\x77\xd0\xa5\x78\x87\x62\xca\xa9\x1e\xe9\x33\x11\x2d\x45\xb9\xdf\x8a\x46\x02\xcf\x41\x2e\x2a\x5c\x59\x18\x0b\x43\xcf\x00\xfb\xef\xa1\x4e\xfe\xda\xf0\xdf\xe2\xae\x19\xfd\x84\x1c\xc1\x48\xee\x6a\x51\xae\xf1\xea\x4d\xd4\x35\xcb\x54\x3b\x9f\x6c\x69\x58\x6d\x5f\x94\xed\x15\x9a\x6a\xea\x12\x76\xc2\x21\x4b\x4e\x14\xc5\x19\x8a\x68\x60\x59\x38\x0b\x05\x38\x8a\x58\x1e\xce\x72\x38\x8e\xcf\x28\xfa\x2b\x2a\x5f\x60\xe0\xd4\x43\x57\xeb\x86\xca\xde\x35\xc2\xf8\xa2\xe1\xa3\xe2\xe9\x03\x58\xcd\xb4\xd9\xc0\x4a\x15\x44\x1b\x18\xdd\x98\x10\xcc\x17\xab\x28\x23\xe2\x31\x34\x69\x42\x82\x3b\x4b\xfd\xd6\x31\x0c\xe5\xa6\x53\x2a\x59\x9f\xdb\x12\x13\xfe\x50\xcd\x9f\x84\x11\xc6\x70\xa6\x35\x13\x00\x9d\xe7\xbd\x29\x60\xb4\xc7\x3a\x74\xb4\x86\xa1\xf9\xda\xae\x03\x38\x18\xdd\xf6\xf4\xc2\x60\xde\x7d\xe8\xac\x7f\xc4\xd1\x6e\xa7\xf2\x4f\x16\x55\xcd\x17\xa8\x8b\xf9\x16\x63\x48\xa4\xc2\x56\x4a\x1f\x1c\x6a\xfb\x38\xe5\xc6\x12\x27\xa3\xde\xb9\x93\xd5\xff\xb0\x8c\x17\x5e\xe2\x09\x65\xcb\x0b\x0a\xd7\xbc\x5b\x5e\x1a\x4c\x08\x79\x8c\xbb\x01\xc4\xc6\x69\xad\xf3\x4b\x99\xa2\xac\x6d\x1c\xba\xb4\xa9\x28\xed\x02\x27\xe1\x22\x63\x4f\x72\xe1\x52\xef\x8d\x4e\x18\x5d\xb0\x57\xe9\x26\xd1\x03\xee\x3a\x8e\xf6\xa2\x81\x35\xb8\x91\xac\x57\xe4\xda\x4a\x05\x2a\x39\x2b\xb3\x99\x16\x05\xf2\x66\xd6\xaf\x30\x17\xb7\x66\x19\x2b\x95\xb7\x54\x5f\x5e\xb8\x2c\xe5\x42\xaf\xd6\x5e\x69\x6b\xa4\xd5\xcb\xf5\x58\x8d\xeb\xda\x0d\x31\x18\x33\xf6\xb3\xc1\xb1\xcf\x9c\x6e\x9e\x60\x92\x4b\x41\x4b\xb7\x68\xc0\x52\xec\x9e\x47\xde\x59\x68\x23\x4c\x71\x3c\xd8\x18\x07\x14\xb1\xbf\x61\x6c\xa5\xda\x17\x06\xc3\x5f\xf3\x38\xd8\x22\xa6\x6f\xb7\x3d\xef\x59\x8d\x4c\xe8\x7d\x6f\xa0\xaa\xf7\x80\x8a\x57\x4d\x41\xeb\x73\x97\x97\x10\xd1\xf2\x80\x22\xc5\x20\x84\x17\xba\x09\x0c\x13\xab\x16\x04\x96\xd8\xdc\x42\x7c\x73\x00\xde\x8b\x6f\x21\x80\xa4\x33\xb9\x4d\xdf\xcd\x43\x0b\x9b\x38\x9a\x43\x21\xa4\x3a\x73\x60\x54\x91\x7e\xb7\x8f\xa7\x3b\x7d\x33\x80\x61\x35\xd1\x6b\xae\xb0\x18\x39\x57\x21\xe8\x34\x22\x8c\x2c\xb8\x14\x00\x5e\x77\x79\xf3\x89\xfc\xe1\xc5\x1f\xff\x78\xf2\x82\xd0\xa2\xda\xd0\x93\x97\x0e\x84\xa4\x8b\x64\xa0\xd9\x5e\xc0\x8f\x70\x8b\x8c\xf7\x7b\x15\x16\xc1\x0a\x29\xa5\x32\xf6\xf3\x8d\xfe\x03\x51\x68\xaa\xaa\xe0\x19\xdc\x00\x1c\x99\xca\xcd\x7a\xf1\xdf\x71\xc9\x42\x54\x3d\x55\x33\xa6\x16\x05\x2f\xd9\x0b\x74\x97\xd4\x10\xea\x53\x32\x97\x56\x1f\xb9\xd4\xf2\xde\x82\x5e\xdd\x80\x59\x1b\x7f\x2d\x3e\x62\x98\x10\xf5\x17\xb6\x3f\xcb\x73\x96\xbf\xde\x5f\x19\xf0\xb1\xfe\xe0\xc5\x29\x13\x2e\x12\xcd\x76\x67\xd4\xc9\xe6\x7c\xe9\x25\x0c\x6f\x71\xb9\x53\x6c\x3c\x06\x2e\xf7\xfa\x61\x1d\xe2\x9e\xd9\xc1\x1f\xe0\xfe\x7c\x43\xd5\x65\x79\xcf\x07\x4a\x6e\xc4\xe8\xd2\x39\x0f\x72\x30\x96\xfa\xfc\xa0\x1b\xc0\xfb\x68\x28\xd1\x3e\xc1\xdc\x5b\x51\xef\x68\x9d\xc7\xe7\x44\x9f\x2a\x9d\x31\xbb\xf4\xeb\xb1\xde\x61\x98\xa8\x4b\x71\x05\x86\xdd\xa9\xc6\x5a\xd0\xc5\xbe\xa5\x9d\x62\xfb\x6a\x34\xe9\x26\x42\x76\x80\x44\xf1\xb0\x23\xbd\x8b\xfb\x49\x69\xc2\xf7\x10\xc0\x39\x81\xb1\x8f\x21\x6c\xde\x1c\xd6\x8a\x42\xec\x24\x69\x24\x86\xa2\x32\x02\xe9\x77\x33\x74\x12\xbe\x7f\xf5\xf2\x2a\x81\x4b\x4d\x95\xce\x62\x18\xb1\x86\x55\xc0\x5b\xf9\x81\xb5\x61\x93\x5c\xa6\x58\xc4\xab\xc5\xe1\x7a\x4a\x71\xca\x79\xd2\x34\xf7\x97\xa4\xe2\x99\x3e\xd3\x5b\xcb\xc2\xc6\xd8\x9b\x73\xdf\x14\xab\x7a\x49\x6d\xe4\xad\x75\x42\x8c\x73\xdb\x25\x4e\x67\xd8\xe6\x0e\x1a\xf8\x14\x30\x7f\x44\x09\x0b\xaa\x73\x80\x8c\xb2\xfa\x85\x16\x0d\x3b\xd3\xe2\x3f\x1b\x9d\x39\x21\x5d\xc2\x91\x06\xe2\x0a\x9d\xe1\x98\xc8\x83\x5e\xef\xae\xfc\xf4\xba\x14\x86\x7a\x2f\xcd\xe1\x2e\x88\x70\x14\x2b\x92\xb1\x1a\x80\xd2\xc2\x95\x72\xe2\xbc\x45\xd1\x76\x3c\x43\x2d\x0e\xdf\x8d\x6e\x60\x1e\xf3\x26\xab\x35\xad\xa7\x96\x78\x4e\x0f\x6d\xde\x6c\xe2\x10\x7c\x96\x43\xe7\xda\x38\x65\x2a\x2b\x10\xd3\x6b\xa5\x1b\xea\xc4\xa8\x74\x9d\x4b\xd3\x4a\x77\xcc\x91\xe9\xb1\x78\xc1\x25\x4d\x54\x6b\x9f\x34\x21\xb4\xc0\x50\xcf\x51\x6e\xfb\xce\x5c\xfd\x1e\x7c\x6f\x06\x9b\x20\xf8\xc7\x54\x73\xdb\x72\xba\xa6\xbb\x6e\x24\x2a\x7b\x8f\x7e\x6e\x77\xd3\x75\xde\xbe\x97\xa4\xf6\x21\xf1\x6c\xa6\x1e\xa0\xfc\x9e\xcc\x47\xf4\xdf\x46\x4d\x22\x26\x87\x39\x69\xc6\x3a\x15\x27\x4c\x8e\x9e\x20\x97\x17\x88\xee\x85\x57\x9b\x57\x9f\x6f\x7e\x3a\x09\xe1\x34\x76\xac\x86\x9d\x29\x63\x45\xc1\xf2\xb9\xe8\x1e\xd7\x0c\xa2\xca\xd1\x49\x81\xae\x75\xdd\xed\xbe\x7b\xf8\x10\x7e\x86\x6a\x03\xa2\xab\xe0\x03\xfb\x5c\x17\x43\xb0\x35\x5d\x92\x14\x9f\x4f\x06\xd9\x41\xa7\x5b\xa6\x8f\x39\x77\x58\xc3\xdf\xaf\xb5\x9f\x8c\x68\x03\xa9\xfa\xd1\x72\x8b\xd0\xfa\xe7\xeb\xf7\x49\xfd\x1a\x3e\x76\xc4\x09\xe7\xf5\x11\xcf\x1a\x0f\xe8\xaa\xe5\x0e\xbb\x0b\xff\x1c\xc2\x44\x4c\xee\xf6\x0d\xc6\xe2\xdc\xb0\xa9\x41\xf5\x08\xe7\x75\xdb\x86\x0f\x31\x05\xd1\x35\xb4\x28\xd0\x3b\xe4\x71\x37\xde\x79\xc9\xb0\xee\x9c\x6b\xe7\x21\xfd\x1d\x01\xa0\x8f\x50\x4d\xf7\xd4\x82\xcf\x03\x03\x9a\x99\xb4\xb5\xcb\x41\xac\x4d\x33\x3c\x00\x64\xd1\x25\x39\x74\xbe\xa5\xc3\xa9\x7b\x4c\x77\xae\x55\xc3\x4c\xfb\xa1\x2e\x55\xc5\xfe\x12\xcc\xef\x0f\x50\x25\x3e\xde\xa9\x2e\xd1\x74\xb7\x5e\x0b\x45\x44\x4d\x38\x5a\xf6\x77\x6c\xbf\x14\xc9\x90\xe4\xb6\x26\x5e\xbc\x0d\x2c\x92\x37\xdc\x9b\xbf\x18\xba\xb7\xa2\xce\xd8\xb5\xfe\x65\xb0\x4f\x11\xd2\x84\xb8\x02\x4d\x1c\x64\x38\x42\x1a\x25\x25\xd0\xe4\x37\xf4\x91\x4b\x40\xcb\xc4\x10\x25\x3d\xaa\x06\xaf\xa6\xc5\x9e\x5c\x81\xcf\x67\x47\x4d\x72\xa7\x8d\xd0\x71\x82\xd3\x3f\x62\x2d\x85\xcc\x78\x9c\xf5\x2e\x7f\x4a\x6e\x69\xbd\x66\x4a\xbe\x22\x2f\x9e\xfa\x9e\x68\x7d\xcc\xfd\xaf\xed\x75\xbc\xf1\xcb\x82\xc7\xd7\x9c\x30\xed\x66\x86\x7e\xfa\x1f\xc9\xcb\xa7\x16\xf2\x77\x29\xd4\x77\xd2\xba\x4f\xf0\xfe\x0f\xc4\x43\x8e\x36\x54\xe2\x9f\x0b\x25\x16\x86\x60\xc1\xf3\xa7\xc7\x20\x46\xe6\x12\x95\x44\xcd\xd7\x5c\x0b\xc2\xd0\x9c\x92\x37\x88\xd2\xf9\x8a\x9c\xa1\xe4\x4d\xa2\xa0\x34\x6e\xa2\xd2\x94\xd8\x5d\x0a\xf5\x6f\xff\xf2\x3f\xa5\xab\x3b\x7b\xac\x7f\x81\x4f\x72\x26\x6d\x5e\x83\x79\xd7\xc4\x41\x84\x22\x02\x31\x1b\xcc\xea\x9d\x6b\xe6\x94\x7c\x72\xb9\x10\xee\x12\x1d\xa1\x79\x72\x51\xfe\xdb\xbf\xfc\xbf\xca\x9d\x69\x6d\x6b\x21\x4a\x2f\x2f\xd7\x05\x5b\x68\xa3\xe0\x95\xcb\x05\x93\x26\x3b\x11\xf8\xda\xf0\x3c\x7c\x9f\x00\x3e\xa1\x80\xfb\x5f\xae\xe5\xb9\x44\xb0\x22\x96\x63\x36\xa3\xa3\x03\x2f\x14\xe2\xfa\x2c\x99\x8f\xcb\xbd\x6c\x94\xfb\x02\x10\x85\x21\x04\xb9\x85\x05\x03\x65\x86\x08\x4f\x40\x9f\x3d\x71\x2d\x5b\x08\x03\xad\x0f\xff\xf6\x2f\xff\x4f\xe8\xa9\x83\x10\x26\x0f\xfd\x68\xd9\x28\x25\xdc\xa5\x2d\x2f\xab\x46\xa1\x1a\x5b\x07\x0f\xde\xb3\x48\x25\xb6\x5e\x1f\xd7\x94\xb7\x81\x94\x23\xf3\xf9\x27\x9e\x0f\x18\x01\x5d\xa2\xe9\x39\xac\xc9\xb4\xbe\x29\xd0\x8d\x79\xab\xd3\x23\xce\x5d\xdd\x54\x77\xda\xd6\x6c\x2b\xee\x3b\x7a\x80\xe0\x4c\x7f\xb5\x33\xb7\x3b\x71\x31\x36\x01\xf3\x89\x44\x51\xd8\x09\xaa\x9a\xba\x84\xfb\x8f\x15\xb7\x98\x96\x8e\x8d\xd2\x30\x61\xa6\x2f\x44\xdd\xd0\x32\x37\xd2\x92\x7d\x71\x81\x1c\xf4\xd7\x20\x9a\x11\x4a\xa6\xc2\x24\xd9\x20\x8e\xbc\x0a\xa7\x8f\xda\xe0\xed\x9d\x0d\xbf\xc0\x04\x8a\x5a\x92\xdd\x46\xc0\x9d\x61\xf9\x9d\xbd\x9e\xda\xb3\x81\xbb\x99\x40\x0f\x27\x36\xd3\x0e\x59\xda\x76\xfa\x3b\xa8\x69\xcd\x6c\xa4\x71\x6c\x81\xc2\xa7\xa1\xec\xda\xe2\x5c\x06\xdc\x5f\x01\x88\xf1\x8a\x2b\x72\xc4\x4e\xd7\xa7\xc7\x64\x4b\xef\x3a\xef\x20\x5c\x73\x6d\x34\xae\x66\xa0\xaf\xbf\x34\x52\x41\xa9\x23\x28\x24\x26\x56\x66\x35\x91\x4f\x4f\xc9\xe5\x0a\x41\x75\x99\x3a\x8e\x2e\x21\x80\x39\x04\x11\xe0\x36\x94\x9d\x6e\x6d\xa8\x35\x31\x99\x7a\xb4\xaa\xbe\x93\x44\x2a\x5a\xe6\xfa\x95\xe8\x12\xed\xec\x0e\x5c\xc7\x6a\xaf\x9e\xd5\xdf\xb7\xdf\xbf\xef\xbe\x7f\x7b\xbb\xaf\x54\x35\x87\x2b\x90\x6b\x0b\xd5\x11\x59\xce\xba\x44\x49\x61\x25\xf6\x1d\x82\x20\x20\xc1\x58\xb9\xd2\x05\xa8\x2a\xfa\x39\xd9\x6d\xf6\x04\x93\xe5\xcc\x21\xdd\x78\xa6\x4c\xd5\x10\x5b\x51\xc2\x72\xa3\xc7\xe8\xdc\x48\x5e\xcf\x23\x40\x70\x30\x31\x38\x39\x2b\xfd\xb6\x8c\x80\x01\x18\xd8\xcc\x9e\xaa\xa0\x0a\xca\x16\xa0\xf8\xb8\x24\xec\x57\x3d\x3c\x26\x70\x4e\xd4\xee\x3d\x0b\x0e\x6a\x5f\x38\xe2\x42\x1e\xdb\xc2\x1e\xc7\x64\x57\x1d\x13\xa6\xb2\xd3\xa7\xa7\xe4\xca\x90\xb4\xa1\x7d\xa2\xcc\xa8\x62\x25\x24\xf3\xe8\xf7\x4e\xdc\x6b\xfa\x1f\xbb\xea\xe9\x31\x69\xcc\x31\xb6\x72\x2f\x43\xa0\x0b\x04\x15\xf1\x75\x29\x6a\xab\x8b\x18\x86\x81\x12\x63\x75\x2d\xdc\xcd\x25\x2e\x25\xa6\x2c\xe3\x92\x99\xb0\x3a\xc3\xbe\x56\xa5\xd4\xf0\x67\xc3\x01\x04\x9c\xd8\xde\xb6\xb1\x0e\xb1\x8e\x03\x54\x07\xf4\xfe\x38\xda\x67\x33\xf9\x73\x2a\x37\x30\xd5\x98\x5e\x4a\x95\xa8\xc9\x91\x69\xe6\x04\xda\x44\x61\x40\x4b\x4f\xc3\xad\xca\xa2\xc7\xf4\xd5\x89\x1c\x55\xa2\x2e\xc5\x31\x51\xac\xde\x4a\xc3\x45\x2c\xae\xee\x4d\x28\x2b\x11\x15\x51\x7c\x76\x00\x1c\xf8\x95\xc9\xfd\x1d\x0a\x44\xe9\x13\x25\x84\x65\x60\x79\x8e\x39\x91\x28\x41\x82\x28\xcd\x3b\x88\x39\x2b\x5e\x4b\xb5\xb0\x2c\x61\xdc\x43\xb7\x0e\x45\x41\x3d\x92\xf7\x34\x42\xe1\x8a\xa6\x5d\x45\x6e\x68\x3b\xa2\x01\xdc\x35\xaf\x82\xd9\x9b\x32\xab\xf7\x43\x88\x77\x23\xd4\xd3\xc2\x72\xb4\x01\xfa\x7d\x8b\x43\xa4\xa7\x3b\x50\x10\xd5\x16\xe2\x93\x12\xb0\x4f\x67\x04\xbd\xe7\x58\x9c\xcb\xfb\xdc\x9f\x6f\x3e\x7d\x3c\x91\xac\xe6\xb4\xe0\xbf\xb1\x1c\x1a\x43\x95\x6e\x4a\xfe\x6b\xe3\x20\x51\x5d\x7a\x1b\x10\x6c\xa8\xdc\x30\x04\x9b\x95\x2c\xab\x99\xf2\x78\xd5\xe6\x93\x6b\xff\xca\x30\xf9\xc6\x94\x66\x35\xbd\x00\x9c\xf7\x32\xd7\x1b\xc9\x46\x77\x36\x33\xd1\xd3\x54\x9a\xb4\xb4\x25\x5a\x0a\x96\xbc\x44\x14\xa7\x4e\x8e\x89\x4d\x37\xbe\xb0\x2c\x61\xca\x9d\xfe\x57\xd8\xf0\xcc\x76\xb1\x4b\x26\x4c\xa6\xd6\xd6\x1a\x73\xf2\x32\x09\x5f\xd6\x34\x31\xf5\x93\xae\x6f\xce\xf4\x5e\x74\x1c\x4a\x01\x9a\xf6\x7b\x3c\xcd\xc5\x88\x1e\x0e\x15\x56\xf3\x9e\x26\x4c\x4a\x84\x12\x0c\x74\xe7\xb8\x93\xd9\x63\xf7\xd8\x96\x48\x64\xd2\x63\x2e\x4d\xc5\x2e\xfa\x30\xa3\x2d\x66\x8a\x1b\xb1\x31\xb1\x8f\x09\xe3\x2d\x8f\x97\xcd\xf6\x9e\xce\x17\xc6\x8a\xdb\xda\x29\x8f\x25\x8c\x6f\x93\x17\xdf\xcb\x81\xb7\xed\x43\xea\x5c\xb7\xf5\x68\xda\x79\x57\xd4\x81\x89\xd9\xcd\xd1\x9c\x18\x87\xc1\x34\xcb\x2e\x49\xc2\x32\x38\x88\x40\x16\xf9\xf6\x55\x58\xd2\x75\xb8\xb2\xef\x30\x6f\xe9\x4d\x24\xc4\x5e\xc2\xcb\xb8\x40\xe0\xeb\xb0\xc4\xe1\xfb\x44\x37\x65\x6e\xc4\x6c\xf5\xd7\xc4\xfb\x09\x5a\xe0\x40\xd1\x62\x74\x46\x5c\xf5\x6a\x1e\xff\xf0\xe2\x65\x72\xcf\x0d\x79\xc2\x9c\xc1\x9e\xfd\x2e\x7d\x18\xb9\x4d\x19\xa5\x4f\xbf\x57\xb1\xdd\x08\x2a\xfb\xfa\xe0\x82\x6d\xf0\x3b\x22\x97\xe5\x03\xd5\x7a\x0d\x3f\x05\xe5\xe5\x1b\x53\x17\x76\x88\xe7\x96\x26\x65\x3e\x78\x35\x65\x2d\x1c\x86\x3e\x19\x75\x8d\x80\x57\x84\xb7\xa7\x07\x2c\x9a\xc3\xf2\x63\x02\x26\x13\xf9\xd7\xff\x95\x68\x1e\xb8\x92\xb6\xc1\x77\x47\x47\x4c\xf7\x66\x30\x14\xb4\x47\x93\x30\x8b\x3c\xab\xec\xdb\x77\x78\xb6\x31\x78\x6d\xf6\xf7\x5b\x4c\x6f\x1d\xe8\x71\x40\x95\x72\x8e\xb4\x66\x9e\x97\x22\xfb\x0d\xbc\x62\xa6\x26\xa1\xe6\x15\xde\xfd\x08\xff\x26\xf8\xef\xd0\x43\xb4\xe2\x6c\x61\x6d\x99\x27\x08\xfc\x44\x09\xfe\xee\x6c\x9c\xe0\x20\x52\xd3\x52\xe2\xd5\x6b\xff\x3d\xef\x61\xfc\x65\x93\x2b\x6c\xf6\x63\x44\x1d\x1c\x4e\x17\xee\xcb\xf8\x53\xc9\x3e\xad\xd2\x86\x03\x49\xa7\xc7\x04\xcb\x32\xa6\xe7\xee\x4b\xaf\x03\xce\x08\x6c\x7b\x32\x3a\x89\x70\x0f\x1e\xab\xbd\x11\xa5\x4b\x36\x70\xe6\x55\xe1\xc0\x6f\x2d\x60\x75\x6f\xfb\xe4\x16\xfc\xe3\x1e\x65\x60\x4c\xe0\xf7\x7a\x36\x85\x4f\x69\x4c\x19\xec\xcd\xe0\x8d\x2e\xbe\x02\xc1\x3f\xc3\x12\xc1\xc7\xc9\x82\x80\xf1\x38\xf4\xa4\xe4\x2a\xa0\xdb\x33\x0d\x61\xf6\x50\xd3\x31\x75\x01\x84\x07\xec\xbd\xba\xa6\x7b\x44\xf8\xb2\xad\x04\xc6\xa6\xc9\x5f\x36\xb9\xcc\xe0\xae\x44\xcf\x4d\x2e\xb2\x06\xea\x95\x3d\x38\xad\x6b\x55\x8b\x52\x2d\x24\xde\x39\x79\xbd\x09\xf8\x68\x4f\x35\x40\x4e\xb0\x0e\x58\xc8\xca\xe8\xc1\x2b\x38\x60\xeb\xe5\x7e\x61\xe5\x07\x8b\x3f\xb8\x75\xec\x22\x1d\x1e\x3e\x42\x57\x08\x14\x8f\x4d\xe7\xd6\xbc\x30\xc9\x2f\x2e\x5c\x93\x4d\xba\x15\xce\x0f\x3c\xde\x88\x22\xb7\x37\x2d\xb1\xb6\xbd\xc5\x6d\xc6\x90\xdb\xb7\x58\xde\x22\xbe\xda\x4c\x54\x5b\x81\x3a\xaa\x04\x9d\xb5\xd2\xb5\x9d\xb6\x68\xc2\x7c\x01\x67\xd1\xc4\x9c\x42\x9a\x79\x13\x0b\x3d\x76\x89\x68\x20\x46\x83\x7e\xea\x28\x4f\xd4\xa1\x15\xc5\x95\xd8\x57\x30\x4e\x76\x0e\x62\xfc\xd9\xc6\xdc\x92\x70\x29\x9b\x44\x41\x8c\x1f\xab\x3b\x74\x29\x7b\xb9\xc9\x6c\x05\x88\x42\xe0\x43\xdb\x2f\xa2\xc5\x27\x82\xa3\x3e\xca\x04\xbd\x9a\x3b\x2a\x7b\x65\xc7\xc1\xa5\x09\x2e\x51\x74\x83\x62\x42\x95\xd6\x73\xbd\xaf\x00\xe4\xc7\x3d\xcb\xdb\xfc\x7a\x68\xef\x3b\x69\x06\x02\xef\x31\x52\x4b\x7b\x4d\x9f\xcc\xe1\x2d\xb4\x18\xb6\x91\x7e\x74\x84\xcf\x02\xdd\x99\x35\xa8\x00\x6d\x9c\xf9\x39\xc1\xc6\xfd\xd4\x5f\x7c\x23\xdf\x3c\xb6\x62\xf6\xc6\x4e\xeb\xc9\x15\xab\xa5\x5e\x1e\x2f\x98\xa2\xbc\x80\x95\x33\x7c\x6e\xda\xec\x3d\xb8\xa8\xf9\x3d\xab\xdf\xf3\x8c\x95\x92\xf5\x9e\x22\x1a\xa5\xda\x9f\xd3\x3a\xef\x3f\x2c\x15\xab\x4b\x5a\x0c\xb6\x7d\x36\x6d\x5c\xb7\xca\x37\xee\xee\xe8\xd0\x1d\xa6\xa4\xd6\x8d\x6d\x16\x1d\x22\x33\x5a\xce\xd3\x40\x7f\x65\x0e\x9a\x99\xa9\x8f\xd3\x2e\x8d\x64\x85\xfa\x14\xd5\x87\xcf\x8a\x17\x5c\xed\x5f\x73\x00\xe1\x0e\x9f\xbd\xa6\xe5\x1d\x24\xe5\x69\xee\x7b\x4f\xaf\x59\xa9\x68\x71\xb6\xae\x59\xfc\xb9\x1d\xed\x6b\xb6\xe6\x52\xd5\xc6\xab\xd9\x21\xba\x65\xdb\x4a\xd4\xb4\xde\xfb\x54\xe9\x7a\x30\x62\x20\x76\x09\x1f\xa4\x09\x16\x69\x45\x8f\xa0\x9c\xa3\x09\xf6\x45\xdc\xee\x4c\xfd\x7b\xbb\x85\x42\x6b\x7f\x57\x88\x47\x53\x08\x6d\xaf\xdd\x0c\x44\x14\x0d\x13\x3f\x40\x31\xfa\x56\x62\xbb\x68\x1c\xbe\x5e\x0c\xdb\x9d\xff\xd1\x74\xe5\xf7\xd8\x2c\xd2\xc6\xfe\x1a\xad\xdf\xd4\xd1\xf7\xc9\x1f\x38\xfe\x5d\xbb\xfb\xa1\x1a\x30\x66\xc7\xff\x47\x1b\xff\xf4\x61\x4e\x1b\xc5\x1b\x7b\x36\x99\x1c\x40\x43\xf9\xc0\xb1\x33\x47\x9c\xce\x76\x7f\xf8\xcc\x35\xed\xfd\x07\x1b\xa5\xff\x38\xb3\xf4\xb6\x3d\x1f\xa6\x5a\x71\xdd\x57\x1e\x30\xe2\xde\xb9\x03\xb7\x63\xc4\x4a\x17\xa5\x54\x5c\x35\xa6\xa0\x8d\xef\x9f\x7b\xd8\x6c\xfe\x8f\xa6\x05\xff\x11\x0d\xff\xbf\x5e\x63\xa3\xa3\x97\x49\x86\x68\xef\x9d\x07\x2e\x5f\x7d\xc7\xc9\x61\x2a\x4b\x87\x0e\x2c\xfe\x64\x78\x80\x3a\x1f\xec\xd8\xf8\xbb\x26\x7f\x5b\x4d\xfe\x09\x07\x68\x4c\x71\x83\xb1\x4b\xf4\x7d\xc1\xb8\x3f\xcc\xf5\x75\xc8\x2d\x48\xcf\x9d\x30\xde\x33\x9f\x72\xba\x83\x1d\x17\x45\xec\xc6\x33\x3e\xde\x09\x5c\x84\xf4\xd3\xbc\x68\x7a\x22\xdd\x0b\x29\x2c\x05\xaa\x9f\xc0\x52\x48\x3f\xcd\x12\xd2\x7f\x27\x49\x61\x5e\x49\x61\x6a\xe2\x76\xb8\x43\x97\x78\x43\x9c\xf4\xe5\xc0\x34\x9d\x66\x20\x20\x9f\xe6\xc3\x92\x93\xcc\x8f\xec\x1f\xe5\xa7\x6b\x4e\x25\xf0\xd4\x7d\x25\x81\x2f\xf3\x8a\xf3\x94\x27\xf1\x36\x83\xa7\x19\xbc\x74\x0d\xc7\x24\x16\x82\xc5\x2d\x9d\x9d\xe0\xb5\x19\x62\xaa\xbd\xf7\x66\xca\x2c\xdc\xa2\x52\x78\xed\xbc\x91\x20\x41\xf3\x06\xc9\xcd\x2b\x49\x8c\x8d\x87\x27\x74\xe8\x12\x43\x14\x92\xbe\xdc\xd9\xe6\x12\x78\xe8\xbe\x91\x62\x2d\xe9\x37\x08\x75\xaf\xa4\x30\x16\xdf\x3a\xa7\xd9\x8b\xbf\x37\xcd\xa4\x7b\x2f\xd0\xaf\x24\x56\x3d\x23\x23\x81\x41\x9f\x3a\x21\x0c\x08\xa9\xc9\x92\x0f\x55\xeb\x95\xac\xcc\x4d\x7a\xca\x39\x60\x18\x9c\x0d\x96\xb3\x1a\x22\x4d\x99\x7c\xf7\xb4\xe0\x50\x18\x11\x4b\x78\xb1\x7b\x2e\x1a\x09\x10\xc3\xa2\x34\x91\x47\xf2\x94\xbc\x39\x5d\x9f\xa2\xf5\x0a\x37\x93\x39\x2b\x98\x62\x92\x30\x3d\x77\x2d\x86\xa1\xa8\x09\x5d\x8a\x5a\xb5\x35\xba\x30\x9a\xf0\x74\xba\x7f\x50\x3d\xd2\xc4\x77\xa7\x75\x33\xf2\x46\x82\xd0\x0d\x9c\x93\xc9\x43\x2a\xd7\x50\xf0\x03\x61\xdd\x20\xdf\x88\xd6\x6c\x9a\xdb\x77\x74\xcb\xae\x0a\xba\x4f\x62\xb4\x43\x9c\xce\x63\x55\xd0\x3d\x72\xb8\xf6\xea\x2c\x0d\x33\xc5\xc4\x7b\x53\xb8\x20\x8d\xaf\x1e\xfd\x61\xe2\xb3\xd5\x12\x66\xc8\xef\x9a\x65\xa2\xce\xcf\x9a\x9c\x8b\x24\x56\xfb\xf4\xe9\xac\xd6\xf0\x2e\xb2\x7a\x2f\x78\xe6\xa0\x48\x53\xd9\xbc\x16\x4d\x99\xcf\x60\xd3\xa7\x3f\x8c\xcd\x5a\xb7\x60\x26\x90\x15\x6a\x22\xb3\x5f\xf4\x4b\x33\x98\xf5\xe9\x0f\x94\xa9\x6e\x61\x5a\x96\xb7\xfb\x8a\x97\xeb\x24\xce\x02\xd2\x74\xa6\x14\xbc\x36\xcd\xc9\x67\x58\x92\xd2\x95\xaf\x4f\x9f\xce\x13\x2e\x7f\xa3\xca\x37\x1e\x22\x68\x6a\x8c\x3c\x79\xd5\x16\x42\x21\x15\xab\x33\xbd\xef\xae\x07\x0f\x67\x1d\xde\x2f\x8c\x7b\x61\x46\x77\x3b\xaf\x1c\xd6\xe3\x15\x4f\xae\x40\xf3\x38\x1d\x05\xdc\xbf\x19\xbd\xf4\xe9\x0f\xeb\x22\x44\x4f\xfd\xae\x7d\x4c\x5f\x8e\xfa\xf4\x87\xf5\xd1\x5b\x8e\x7e\xcf\x8e\xa6\x2f\x65\x7d\xfa\x03\x67\x68\xb8\x94\x7d\x83\x3e\x1a\xb0\xe0\x4f\xd5\x60\xaf\x42\x8a\x04\x3f\x90\xc5\x1f\x0e\xf1\xcc\x53\x4a\xb1\xe1\x37\x7a\x95\x5d\x79\xc6\xc2\x72\x23\xfa\x17\xa2\x4f\x62\xbd\xca\x61\x5c\x15\x18\x3a\x03\x7f\xc4\xbb\xac\xa8\x92\xa7\xcb\x5a\xd0\x3c\xa3\x52\xdd\x28\x1a\xc7\x81\x8b\xd2\x4d\x77\xff\xdc\x24\x9d\xea\xd7\xb9\x54\x3c\x4b\xf5\x97\xb2\x92\x2e\x0b\x96\x2f\x02\xbc\x30\x18\x4c\x37\x86\xe0\x09\x6d\x96\x98\x33\x55\x9b\xd8\x39\xf3\x1e\x09\xdf\xf3\xc3\x95\x04\x00\xb6\xd5\xa6\x42\x22\xfe\x03\x51\x9b\x6d\x8a\x37\x60\xb0\x43\xd9\x0f\xc2\x4b\xe7\x25\xee\xe1\x5d\xb9\x96\x16\xeb\x9a\x56\x1b\xbf\x3d\x49\xd6\xb5\xd8\xa9\x0d\x81\x27\xe4\xa8\x66\x05\x86\x53\xb7\xfc\xe2\x27\x83\x84\x4d\x7c\xa7\x6d\xcd\x0a\x2f\x6c\x8b\x2e\x01\x82\x7c\xa2\x2d\xae\xed\x7e\x3c\x23\x78\xfc\x5d\x7a\xbf\x76\xdb\x0b\x5f\xbf\x5f\x0c\xb4\xf0\x85\xf0\xd4\x46\x6c\x5e\xbb\xf7\xfa\x4d\xcb\xb3\x7d\x6a\x9b\xa8\x38\xcb\x36\xb4\x0e\xbb\xb1\x6d\x14\x6b\xdf\xfe\xd0\x28\x8b\xb4\xd7\x95\x6c\xf0\x56\xc9\x76\x8b\x76\x74\x96\xfb\x85\x14\x4d\x9d\x79\x0d\x7d\x64\x3b\xe2\x08\xc8\x72\x4f\x90\x60\xb4\x37\x6d\x21\x98\xab\x69\xdd\x30\x60\xf8\x0e\x7b\xc0\x13\xd9\x93\x57\x0e\x0f\xab\x45\xfe\xf0\x1e\xfb\xa1\xa9\xda\xb2\x94\x8b\x8a\xd5\x8b\x4a\x48\xb8\x22\x30\x50\xf3\x9c\xed\x60\xcc\x9f\xe9\xdf\xe1\xaf\x63\x53\x3a\x40\x2a\x84\x15\x67\x39\xc9\x9b\xda\x46\xd6\x0c\xa8\x33\x39\xd2\x2d\xb5\x5f\x78\x7a\x4a\x3e\x0a\x65\x12\xaa\xb9\x29\x49\x91\x51\xc9\x8e\x5d\x1a\x38\x14\x50\x75\x49\xe5\x83\xed\x6e\x31\xcc\x97\x11\x80\x0c\xd8\xd2\xaf\xf0\xaf\xa7\x58\x45\x43\x1f\x62\xbb\x0d\xd9\x73\xad\x69\xf1\xa8\x6d\xe1\x84\x1c\xd9\xf7\xc9\x09\xb1\x3f\x3f\x7d\x6a\x9a\xb6\xff\x0e\x56\x3e\x51\x2d\x36\xa2\xf1\xa7\xe6\x17\xdd\x51\xdd\x3a\xd1\x0f\x46\x47\x1a\x65\x12\x51\x1b\x6c\x23\x4d\x5d\x42\xc1\xfe\x7d\xe8\xc6\x86\x6e\x00\x9b\x01\xf7\x9c\x2d\x5b\x53\x00\xc1\x98\xd8\x9b\x3a\x74\x09\x5b\x73\x53\xb1\x1a\xe1\x35\xda\xed\x29\x35\x75\xb3\xb3\x2c\xbe\x83\x66\xa0\xec\x13\x57\x7b\xab\x18\xe8\x84\xc9\x8f\xc9\x56\xe4\x18\xde\x6e\xb1\xd6\x8f\xc9\xb2\x10\xd9\x9d\x5d\xcd\x46\xb7\x01\x8f\xcf\x43\x76\x82\xc7\x58\x85\xd9\x76\x69\x76\xcc\x0f\xf0\xe7\x41\xfb\xa5\x69\xc5\x5b\xce\xf1\x07\xdb\xab\xc4\x5d\xd2\x8a\xf0\x89\x07\x34\x6a\x52\xc2\xe6\xf2\x83\x0d\xf9\x0c\x61\x73\xdd\x71\x94\x8a\xc2\x58\x2d\xa9\x59\x38\x8e\x5b\x38\x05\x28\xd7\xd4\xd9\x7b\x6c\x4f\x07\x76\x1e\xf3\xb8\xbb\x90\x1c\xbc\xd9\xc0\x9a\x81\xc3\xf3\xd1\xd5\x1c\xf1\x40\x76\xcc\x9a\xd2\xea\x9e\x16\x50\x0d\xa2\x1a\x6b\x56\x2f\xa2\x34\xdf\x72\xdc\xb2\x2e\xcb\x95\x20\x74\x29\x1a\x45\x20\x1d\xd2\x94\x38\x43\xbd\x34\x64\xe3\x2b\xf0\x99\x95\x6a\xd2\x22\xac\x1b\x40\xd8\xd1\x7a\xfa\xfb\x8e\xb0\xd3\x80\x27\x99\xd1\xf7\xad\x82\x7b\xaf\x3b\x8c\x5f\xef\x45\x94\x69\x00\x57\xe4\xad\x1c\x9d\xc5\x7f\x6c\x44\xe0\xf9\xfc\x11\xd9\x31\x76\x97\xd3\xfd\x90\x4c\x73\x4c\x2e\xd1\x54\x7d\xd1\x8e\xae\xb0\xc0\xc6\xe4\xfa\xea\x51\x4d\xaf\xae\x76\x2e\xcd\x5d\x5a\x71\x57\xeb\x4d\x49\xfd\xb3\x99\x26\xc3\x3d\x39\x5b\x4a\xc4\x41\x2f\xf3\xab\x9a\xdd\x0f\xf6\xa5\x4b\x97\xb0\x57\xb8\x5e\xd8\x2c\x0a\xd1\x54\x05\xfb\x51\x9b\x6e\x9c\x16\xb0\x35\xae\x00\x4a\x0a\x1f\x7b\x4b\x90\xad\x17\x68\x76\xe1\x62\xdf\x1f\xe2\x24\xc1\x98\xf7\xe1\x60\x60\x36\xf4\xfb\x20\xc3\x0d\x4e\x87\xb8\x15\xe3\xa9\xd7\x6c\xcb\x41\x62\x5b\x44\x6a\x17\x54\xb1\x6b\xad\x7b\x17\x74\x3f\x3c\xfe\x21\xd5\x21\x27\x3f\x02\x66\x00\x68\x79\x5a\x8f\xad\xe9\x80\x11\x60\x70\xb3\x47\x55\xd0\x5f\x6b\x41\xe0\x3c\xe5\x30\x14\xf0\xef\xe1\xde\xbe\x33\x9a\x15\xef\xe5\xbb\x60\x21\x9e\xd5\xbb\x40\x39\xbf\x41\x82\xee\x2f\x06\x09\xe8\x26\x10\x68\x90\x23\xf7\x9b\x10\xdb\x85\x12\x77\x58\x66\xee\xbf\x09\xb1\x25\xf8\xaf\x09\x71\x9c\xc9\x7d\x99\x8d\xcb\x04\x49\x12\x2e\xf3\xc0\xec\x1c\x90\x8e\xcb\xc9\x5e\xb3\x52\xeb\x3e\xcb\x09\xd5\xed\x6e\x6a\x51\x62\x59\x19\x2c\x32\x8a\x0b\x0e\xb8\x75\xf5\x63\x60\x00\xb1\xf9\xf2\x26\x63\x04\x50\xc8\x6b\x92\x5e\xbe\xd8\x89\xe4\x56\xff\x61\x33\xc7\x01\xc5\x3c\x28\x00\xaf\x3f\x36\xb9\xc8\x00\x37\xc3\x69\x72\x1d\x92\x84\x40\x9a\xd2\x44\xa4\x89\x0c\xa6\x78\x6e\xb0\x1c\x8d\x8c\x5c\x6e\xc4\x41\x9a\xc6\x0c\x9f\x4f\x5c\xe0\xdb\x68\xcf\x44\x53\xdd\x8a\xea\x2c\xc7\x4a\x75\x43\x9d\xf3\xa9\x52\x2e\x30\x57\xc2\x42\x5d\xe2\x36\x4a\x4b\x57\x20\x55\xb7\x81\x20\x99\xd2\x59\xb9\x69\x3d\x5b\x6a\x15\xcb\xc3\x1d\x16\x7f\x33\x1b\x2d\x16\x70\x73\x42\x4b\x30\x08\x8d\xb9\x1e\xb6\x69\x7e\x0c\xaa\x24\xcd\x6c\xf7\x8e\x6b\xeb\x31\x6c\x16\x7f\x3b\x98\xd5\x54\xe8\xeb\x60\xc4\x10\x3a\x7e\x4c\x6d\x43\xba\x87\x8d\x6d\x3b\xa0\xd6\x3c\x4b\x74\x7e\x3a\x70\xf9\x8e\xfd\xe4\x3d\xf8\xbd\x24\x76\x05\xf6\xe3\xa4\xc0\x0c\xd9\xc3\xe4\x85\x95\x8c\x0e\x99\x0a\xf4\x7e\xbd\xd0\x87\x36\x4c\x2b\xbf\x67\xb5\x77\x24\x12\x2b\xbd\x1a\xd7\x34\xd3\x76\x30\x58\x89\x91\xf0\x52\xff\x48\xd5\xca\xfb\x01\x1a\x3f\x4b\xd8\xc6\xa3\x3b\x9c\xcd\xdf\x23\x3a\x68\x7f\x6e\x9d\xff\x1d\x20\xc6\x6d\x65\x63\xdd\x5b\x12\x22\xf9\xb6\x2a\xf6\xfa\x88\x96\x0b\xbd\x04\x57\xb4\x56\xe4\xff\x47\xc0\x87\x43\x9e\x91\x17\xcf\x9f\x27\xde\x43\x50\x08\x14\x7b\x02\x65\x62\xac\x79\x18\x1e\x53\x14\x2d\x9e\xb8\xa2\x91\x53\xc6\xda\xe7\xeb\xf7\x83\x32\xf2\xe1\xf1\x47\x6e\x56\xae\xdf\x9b\x52\xd3\x80\x9a\x38\xd3\x3c\x37\x48\xfc\xe7\xf1\x77\xbb\x0c\x43\xd9\x84\x2b\x9a\xdd\xc5\x79\x6e\x1f\x27\x6c\x93\xb6\x9a\x43\x45\xb3\x3b\x44\x7b\xc5\xc5\x45\xac\x5c\x9d\x07\x42\xa5\x14\x19\xa7\xa6\xac\x9e\x43\xc9\x65\x5b\xf1\x0b\x0f\x46\xfd\x12\x90\x24\x4b\xa1\xf4\x74\xc3\xb7\x09\x34\xac\xdf\xd9\xd1\x3d\xe1\x40\x00\x88\xa5\x60\xb1\x2b\x56\xe6\x2c\x3f\x06\xf4\xdb\x2d\xdd\x6b\x23\xa6\x10\xe2\x4e\xab\x06\x94\x62\x25\x6d\x91\x8a\xd4\xcc\x6a\x97\xc1\xef\x55\x98\xf0\x79\x64\x5b\xa1\x78\x66\x6a\x9b\xea\x1e\x8c\x4a\x79\xa0\x8c\x86\x9c\x57\x3b\xa3\x0d\xae\xf7\x8b\x67\x1c\x79\xa2\x7f\xfa\x50\x70\x33\x7f\xc0\x42\x20\x10\x5a\xf2\x2d\x55\x0e\x1b\xc6\xd4\x43\x26\xf6\x67\x5f\x01\x82\xd7\xea\x6c\xc3\xef\xbb\xd5\xd1\xb9\xf4\x7b\xb0\xa3\x92\x58\x3a\x72\x94\x37\x80\x83\xa9\x84\xc0\x1a\xa5\x80\x60\xd9\x6a\x91\x45\xa4\x35\xa7\x2c\x9a\xf5\x9d\x50\xf0\x4b\xb8\x5c\xfa\xaf\x77\x59\x3c\xc8\xe0\x1f\x8a\x05\xef\x96\x60\x8f\x0b\xd3\x14\x3c\x61\xb9\x3b\x20\xfd\xbc\x61\x25\x08\xa2\x2b\x1c\x47\x1a\xec\x09\x54\xde\xc9\x60\x24\x88\xfe\x69\xe0\x6b\x62\xb5\xe2\x19\xc7\x85\xec\xb2\xff\x05\xf7\x38\xb8\xdc\x10\x75\x0b\xc7\x79\xa3\xff\x05\x68\x43\xa1\x7e\xf8\x30\x4f\xeb\x57\xcf\x9e\xd1\x3c\xb7\x0f\xff\x24\x99\xfa\x47\xaf\x15\x7f\x51\xdd\x34\xdb\x25\x9a\xbd\xcd\x76\x59\x52\x5e\x98\x4d\x2c\xc6\x3b\x10\x2f\x42\x14\x3d\x94\xad\x79\x77\xf8\x4e\xb5\xa3\xcb\x13\xf3\xf3\x5c\xdc\xb3\x7a\x00\x1f\xb4\x47\x94\xe2\x93\xb0\x1f\x3e\x76\x10\x25\x16\x7a\xdb\xae\x69\x80\x1e\xc1\xee\x39\xdb\x25\x3a\x19\xf4\xd7\x9d\xf7\x80\x75\xb0\xc1\xbb\xc5\x70\x26\xfa\xfb\xa1\x29\x14\x4f\xea\x74\x40\xf9\x28\x3d\x97\x87\x75\x5d\x7a\x7d\x77\x4d\x1d\x24\x04\xa1\xad\xb0\xd3\x15\x2f\xd8\x3b\x1e\x87\x9f\xea\x90\x4c\x77\xfb\xdd\xe5\x5b\xc2\xb7\x00\x14\xfe\xe1\xf2\xc3\x1b\xf0\x3d\xbf\xc2\x5f\x9e\xad\xf9\x6a\x28\xb4\xca\xfb\xce\x9f\x2b\xb6\x9e\xe2\x05\x68\xa6\x99\xf9\xf3\xd5\x9b\x77\x83\xdc\xfc\x52\xb1\xc1\x48\x2f\xef\x53\x1f\xc4\x80\x8f\x2e\x24\x99\x66\xe6\x9f\x1a\x9e\xdd\x81\x97\x0d\x63\x44\x7c\x8e\xe0\x97\x67\xbf\x5a\x8a\x14\xb6\xaa\x3f\x4c\xb2\x55\xfd\x21\xc5\x07\x5a\xfd\x81\xd0\x26\xe7\x21\x43\xf0\xcb\xb3\x6d\xa2\x88\xaa\xef\xa7\x79\xf9\x3e\x85\x97\xab\x37\xef\x4e\xbe\x1f\x94\xcf\xb6\xfa\x3e\x81\x1b\x63\xc5\x4e\x71\x64\xc9\xa6\xb9\xd2\x94\x98\xa3\xb7\xe4\xeb\x35\xab\x3b\x31\x69\xc3\x8c\xe4\x93\x73\x4a\x93\x24\x30\x70\xf1\xb6\x4d\xef\xeb\xab\xb3\x29\xbc\xad\xdf\x7b\x56\xe5\x29\x53\xec\xaa\x9c\x9c\x61\x9a\x24\x81\xb3\x8f\xc3\xf3\xab\x1a\x0e\xa4\xf4\xbe\x33\x06\x91\x19\x21\x4b\x38\x3a\xd8\x8a\x63\xfb\x2a\x65\x90\x7e\x66\xcb\x68\x75\x90\x1e\xcd\xf4\x97\x7f\x7e\xf3\xfa\x6a\x50\x1a\x3b\xb6\xac\x06\xd8\x51\xec\xab\x3a\x2b\xb3\x4d\xdc\x59\xe7\x3d\x4d\xf0\x6c\xb2\xaf\x50\x4a\x1d\x6c\x7e\x25\x08\x2d\xa1\x06\x7b\x17\x93\xa8\xa2\xa9\xee\x6d\x67\xfa\x98\x06\x7a\x46\x8c\xc9\x0a\xd5\x1f\x8e\xef\x32\x9a\xe2\xb5\x28\xa2\x9b\xab\x7b\x36\xdd\x33\x4d\x06\x09\x02\x89\xde\xd4\x24\xbe\xce\x01\x06\x7f\x88\x33\xf3\x34\xe1\x20\xef\xd0\xf4\x8d\x8c\x6b\x9e\x6d\x80\xd9\xc4\x03\x2b\x92\xbe\xf2\x5b\x62\x79\xa4\x95\x7e\x0f\x06\xb3\xf1\xda\x87\x09\x47\x2a\xfb\x21\x02\xf8\xa9\xa0\x40\x0f\xc2\x5b\x8d\x28\xc8\x7b\xa8\xa8\x37\x3a\x1a\x83\x30\xcc\xed\xc3\xe9\xbe\x20\x00\x73\xdd\xf6\xa8\x18\x49\x2a\xd2\x14\x6f\xf9\xd7\xb8\xe5\xd7\x3e\x9c\xfe\xea\x4a\xd3\x9d\xec\x78\xae\x36\xed\xb7\x1f\x53\x53\x2f\xb7\x03\xe5\x58\xdb\x87\x29\x9e\x3d\xa8\xdf\x07\x0b\xd2\xbc\xf3\xbf\x3d\x76\xd8\x4d\x28\x8c\xf7\xc4\x13\x20\x54\xf9\x09\x6e\x82\xe1\x40\xa7\x65\x32\xd2\x2f\x45\x0b\x1e\xbd\xd6\xf1\x9e\x26\xf4\x0c\x08\x1f\x5d\xea\x1f\x68\x7d\x37\xac\x1c\xe6\xe9\x34\x77\x3f\xf1\xf5\xa6\xd0\xd2\x61\x8f\xbf\x84\x0d\xe6\x06\xb6\x0f\xe7\x2c\x00\x7a\xea\xa3\x63\x8a\x9a\x4a\xfb\x21\xa4\xf0\x21\x68\xc4\xb3\xb7\x0b\x80\xdc\x1c\xec\x13\x3c\x4c\x30\x4d\x34\xdd\xa3\x8b\xfb\x46\xd5\xfc\x6e\x50\xde\xe6\x69\xca\xe1\x50\x13\xaa\x4d\x2d\x9a\xf5\xe3\x2f\x16\x26\x74\xaa\x1a\xdc\xd9\x5a\x82\x04\x56\x2d\xed\x37\x60\xb3\x62\xf5\x14\xa3\x2d\x49\x0a\xab\x8e\xfa\xd1\x99\xfd\x5c\xe6\xac\xd6\xcb\xe7\x10\xab\x2d\x41\x8a\x8d\x6a\x68\x1f\x7f\x3d\xf8\x5c\x0f\x9a\x03\xfa\xd1\x34\x6f\xef\x93\x37\x7f\x9f\x21\x6d\xf5\x80\xd9\xe0\x5f\xb0\xa0\x1b\x5e\x5b\xcf\x74\xcd\xc8\x4f\xb7\xb7\x57\xa4\x53\x1d\x77\x87\xcf\xcc\xf6\x72\xa9\xcf\x58\xc6\x1f\x82\xde\xd0\xa2\x66\x34\xdf\x7b\x57\xf1\x58\x51\x10\x2d\xd8\x63\xf7\xd7\xe0\xdd\x8d\xda\xb0\x6d\x7c\xc4\xe0\x41\x82\x41\x0d\x74\x49\xe2\xe8\x78\x93\xe1\x4d\x5b\xde\xaa\x0b\x0b\x94\xd5\x8c\x2a\xbc\xf4\x6e\xbd\xc1\xad\x37\xb7\xb1\xe9\x68\xfa\x37\x24\x45\xd3\x1d\x7f\x0b\x4d\xf0\x9c\xad\x68\x83\xe5\x09\x02\xcf\xb2\x79\xdf\x3c\x8e\xbc\x67\xb1\x80\x2d\xb3\x0f\x76\x06\xe3\x28\x62\xc7\x43\x0b\xc1\x78\x6f\xe5\xc2\xf9\xa4\x2f\xfd\x5a\xd7\xf8\x6b\xe8\xc1\xb2\x50\xe2\xa6\x3d\xd9\x05\x0d\xd7\x54\x45\xb3\x86\xeb\x3b\x2c\xf4\xa3\x22\x1f\x6e\x5d\xa1\xf0\xb0\xf4\x92\x60\x23\x9a\x32\x86\x60\x1e\x12\x24\x6a\xce\x4c\xe4\x72\xad\x2d\xa5\x5a\x64\xa2\x40\xdd\x38\x83\x7f\x13\xf8\xf7\x31\xb9\x7e\xf7\xfa\xe5\xf7\x04\x2f\x67\xfd\x3e\x2e\xa9\x64\x0b\xab\xe9\x4f\x5e\x53\xc9\xfa\x83\x7d\xd0\x78\xda\xcc\x80\xa5\x50\x4a\x6c\x5b\xb6\x6c\xbc\xdb\xba\xa6\x39\x77\x0c\x92\x23\xa4\x7b\x3a\xcc\xa9\x6d\x50\x89\x6a\xba\x35\x25\xaa\x91\xa6\x76\xb4\x28\x2a\x5a\xa1\x23\xf8\x67\xf7\x8f\xf8\xd8\x8a\xea\x8a\xc5\xaf\xc8\xed\xa3\x84\xf1\x14\x15\xa9\x58\xb2\x25\xc4\x8c\x8b\x9a\x85\x06\x10\x06\xcb\xe8\x27\xd7\x18\x36\x43\x25\xc9\xf0\x76\x17\xab\x0c\x9a\xaf\x10\x13\x55\x33\x54\x51\xc9\xf0\x7d\x4e\x15\x5b\x8b\x7a\xff\x5a\x28\x89\xd6\xfd\x48\x27\x23\xc4\x09\x2e\x39\x21\x61\x3d\xca\x6d\xf5\xef\xa5\x50\x03\xa8\x15\x91\xcf\x5c\x7d\x48\xe4\xe7\xea\xc3\x2c\x5e\x92\x99\x30\x77\xec\xf1\x19\x3d\x40\x9a\xc8\xc8\x0a\x8a\x67\x42\xb0\xe4\x3d\x97\x1c\x4a\x9f\xd9\x26\x92\x58\x13\x75\xcd\x64\x25\xca\xdc\x5c\xb0\x4e\x32\x18\xbe\x90\x60\x66\x60\xe5\x5c\xf6\xdd\x3d\x96\xae\x84\x10\xa1\x0e\xeb\x3b\xde\x1e\xcf\x46\xd9\x7d\x2b\xea\x1d\xad\xf3\xf3\xcd\x40\x00\xee\x18\x79\x82\x0b\x45\xd3\xe9\x63\x07\xa2\x62\x5b\xe0\x6c\x49\xc4\x4a\xb1\x52\xcf\x7f\xdd\x9a\x6c\xe3\x3d\x94\x98\xc3\xf5\x67\x13\x28\x9d\xc8\x35\x92\xa7\x0a\xf8\xf1\xb9\x86\x98\x9d\x14\x7e\x0d\xe1\x34\xa7\x9f\x34\x43\x27\xa2\x62\xda\xe6\x84\x98\x04\x53\xfc\xce\x85\xf1\xa4\x29\xad\xfe\x3b\x85\x31\xa4\x4b\x5f\x55\x49\x66\x5e\x4c\xbc\x07\xb3\xd4\xaf\x22\x4d\x40\xc2\x29\xeb\xdc\x89\x39\xc3\xe3\x1c\xb2\x42\x62\x24\x15\xb3\x77\x6b\xf0\x47\xca\xba\x8b\x15\x25\xb5\x65\x93\x22\x93\x96\x78\xfe\x12\x93\xc1\xe5\x37\xaa\xd7\xc0\x48\xd5\xf1\xd0\x24\xf8\x3d\xe1\xf0\xc4\x20\x4b\x2a\x67\x2b\x38\x97\xb4\x25\x45\xe5\x80\xdb\x1a\x51\x5d\x5e\x0b\xa5\xbb\xb4\xa4\xd9\xdd\x3f\x35\xac\x8e\xfa\xef\x06\x28\xa7\x79\x3a\x83\x6e\xeb\x37\x6c\x51\x5d\x2c\x35\xc0\xa4\x64\x39\xe6\x7a\x41\x25\x43\x7c\x86\x95\x1f\xa1\x82\x29\x56\x7e\x36\x55\x0e\x0d\x64\xa8\xb6\xa3\x99\xff\x42\xa2\xaa\x6d\xa8\x5a\x80\xfd\x5a\x66\xd0\x9b\x77\x85\x58\xd2\xc2\x13\xd0\xb1\xa9\x34\xa9\x47\xc9\x2d\xd1\xc6\x01\xef\xaa\x06\x07\x8b\x84\x4d\xcc\x71\xe0\x8d\xb1\x6e\x4a\x00\x83\xfc\x2c\xd9\xaa\xc1\xc8\x80\x0d\x5f\x6f\x88\xcc\x44\x8d\x35\xdb\xd7\x74\xcb\x64\x10\x30\x64\x4b\x96\x58\x31\xf7\xeb\xba\x1c\x62\x05\xea\xef\x2c\xc6\x02\x21\x28\x79\xa7\xff\xc2\x2a\x63\x58\x3d\x9e\x01\x18\x63\x7d\xcf\xa4\x2d\xfb\x6d\x8a\x71\x7a\x95\x6a\xed\x51\x6e\xdd\xb9\x52\xd8\xca\xb5\x39\x0f\x5a\xcb\xb0\x93\x5d\x6e\x4c\x2b\x08\xef\xda\x41\xd9\x72\xac\xb3\x0c\xe6\x49\x5b\x0c\xda\x88\xd0\x7f\xf5\x57\xad\x77\xa6\x71\xd0\xc1\x4e\xd3\x5e\x48\x60\x1b\xba\x02\x87\x31\xcc\x51\x42\xc5\x8b\xa8\xd0\xff\x88\xcf\x0c\xb4\xb2\xa6\xe7\x85\x4f\x97\x30\x2b\x4a\xc2\xcb\x4c\x6c\xb5\x8a\x99\x5e\x43\xc7\xbe\x61\x5c\xff\x9a\x41\x29\xa5\x33\xa5\x68\xb6\xd1\x3b\x08\x13\x16\xb2\xa7\x13\x61\x63\x62\x0f\x3e\xc1\x5f\x5a\x27\x4a\x7a\xcf\xd7\x90\xa9\x69\xbc\x5d\x35\x93\x4d\x11\xd6\x84\xf9\xd5\x48\xc8\xb9\x12\x7e\x0d\x44\x31\x6f\xe4\x3e\xbb\xf1\xc2\x75\x60\xd3\x11\xcf\xe8\x58\xdd\xb0\x32\xea\xef\x8d\x91\x25\x9d\x01\x4d\x77\x61\x9e\x94\xc1\x70\xb5\xb5\x53\xb2\x8d\x90\xac\x24\xcb\x3d\xa1\xa8\x6d\x58\x96\xd6\x2d\x62\xbc\xc6\x35\xa4\xa2\xb5\x2a\x59\x7d\x4a\xae\x0a\xa6\x4f\x79\x7a\xe8\x44\x53\xbb\xbb\x61\x73\xff\x64\xe0\x8c\x19\xcb\x61\x11\xc8\x44\x61\x81\x96\xa0\xa6\x2b\x02\xcf\x69\x32\x28\x8c\x2f\x0c\x1c\x81\x7e\x49\xda\x2a\x81\x18\x4f\xbb\xd7\x8d\x2f\x45\x6a\xb0\xe0\x43\x34\x0b\x71\x24\x68\x71\x4a\x6e\xb0\xfa\xbd\x55\xaf\x63\xa8\xcd\x0f\xec\x68\xa3\x1f\x85\x66\xea\x93\xa1\xb0\x62\x8a\xe8\x3c\x11\x23\xeb\x8e\x19\x98\xce\x28\xc4\x57\xa2\xcb\xf6\x75\x1b\xd0\x06\x77\xf1\x38\x9c\x16\x8f\x87\x9c\xd9\x92\xf3\xc8\x34\x56\x31\xaf\xb1\xee\x7f\xd9\x5b\xa1\xa8\x9d\x4d\x66\x9f\x70\xcd\xfc\x6c\x2b\xd8\x17\x52\x90\x9a\x65\x0c\x22\x02\x79\xd9\x6e\x13\x5a\x81\xb8\xa9\x5f\x6c\x4a\x7a\x37\xa6\xaa\x3a\xcb\xb9\x0a\x9a\x8b\x4f\xb4\x4d\x4f\x0b\x6d\x03\x62\x09\x05\xdd\x5b\x11\x0d\xcc\xb3\xdb\x60\x6d\x04\xe9\xf9\x2f\x8d\xcf\xb6\xab\x9a\x65\x1b\x96\xdd\x89\x46\x4d\x2f\x8f\x3d\xe2\x94\x99\xc7\xa5\xad\x49\x9f\xd9\x32\xf6\x3c\x16\xd9\xee\x96\xd2\xaa\x66\x27\xf6\x33\x28\x9b\x44\xbd\x47\xaf\x5d\x66\xe4\x5a\x33\x76\x52\x30\xa5\x58\x4d\x2e\x6f\x3e\x91\xef\x5f\xbe\xf8\xcf\xc4\x52\x90\x4c\xe4\x8f\xe0\x66\x2b\x57\x38\x67\xea\x1c\xa2\xf1\x57\x22\x5a\x7d\x29\xd8\x33\xb1\xf8\x35\xf8\x87\x84\xb2\x81\x68\xa0\x54\x08\x29\x65\x09\x06\x96\x5c\xe3\x61\x43\x8d\x69\xe7\x52\x18\x2a\x89\x20\x32\x0b\x04\x91\x19\x9e\x38\x21\xd8\x8c\xb7\xf8\xc5\x18\x47\x3c\x02\xba\xb5\xd6\x3b\x06\xa0\xe3\xbf\x6d\x0c\xac\xdc\x6a\xdb\x58\x2a\x3d\xd7\x95\xab\x42\xe6\x64\x7e\xc4\x4b\xc5\xd6\xda\x4c\x2b\x85\x22\xab\x42\x50\xf5\x2c\x17\xcd\xb2\x60\x4f\x4f\xc9\x5b\x51\x13\xf6\x95\x6e\x2b\x5b\x38\x99\x1a\xac\x1a\xb1\x22\x9f\x6f\xfe\x81\xbc\x38\xfd\xfe\x07\x40\x11\xb5\xdf\xfc\x47\xf2\xe2\xfb\x1f\xf4\x2a\x85\xca\xce\xbe\x56\x7a\x59\xa6\x5b\xa6\x30\x33\xc2\x7c\x96\x33\x79\xfa\x8b\xd4\xcb\x17\x87\xaa\xff\x3b\xb4\x82\xda\x84\x87\x9c\xaf\x35\xb3\x15\x95\xca\xb8\x69\x33\xbe\xa5\x05\xa9\x04\x2f\x15\x70\xc2\x68\xb6\xf1\x7a\xf1\xd2\x2d\x5c\x5b\xfa\x8b\xa8\xb9\x82\x73\x4e\xfb\xb9\xa7\xa7\x63\xfb\xe1\x6e\x23\xe6\x6d\x87\x16\x13\x68\x7a\x76\x86\x94\xdf\x64\x6a\x3a\x9d\x99\x33\x2d\x7f\x4f\x9d\xa7\x0e\xbc\x1a\xc5\xdd\x7e\xcc\xb1\x1e\x89\x8d\x78\xf0\x20\xfd\xcc\x96\x1b\x21\xee\xfe\x7c\xf3\xe9\xe3\xe8\x10\xf9\x74\x29\xa7\xae\x92\xed\x5a\xe1\xb3\x7b\x56\xaa\x1f\xdb\x1d\x58\x6f\x6d\x89\xd1\x03\xe6\x3c\x02\x79\x7d\xf7\x5e\x14\xc6\x74\x77\xa6\xd5\xae\x47\x3c\xbb\x63\x20\xe1\x07\x75\x0c\x2d\xd1\xee\x29\xab\x6f\xab\xc6\xb5\x47\xf1\x2d\x13\x8d\x6a\xc9\xec\x0f\x23\x52\x32\x4e\xca\x61\xc9\x58\x82\x54\x69\xd8\x34\x58\x6d\xa2\x58\xeb\x25\xf9\x60\xac\xdf\x34\x1d\xb5\xc9\x4c\x43\x37\x71\x01\x77\xce\x4e\xfa\xd0\x26\x75\x8d\xf7\xa7\xff\x46\x9a\xf5\xbd\xe1\x52\x19\x97\x10\xb5\x7d\x7d\xe6\x65\xfd\x69\xc3\x67\xc3\xf3\x9c\x95\x89\xab\x8a\x13\xd2\x62\xcb\xe3\x9b\x1c\x25\x5b\xfa\x95\x6f\x9b\x2d\x69\x4a\x47\xed\xc1\x28\xb5\x8c\x10\x93\xe3\x81\x0c\x58\x5e\x83\x75\x3c\x2a\x64\xbf\x03\x49\xf2\x36\x42\x33\xde\xcd\x69\x69\x77\xe9\xd3\x64\x6d\xdc\x9d\x78\x9b\xe7\x64\x11\xeb\xf7\x86\xda\x0a\x6a\x89\xc9\xd1\x83\xba\xe6\xdb\x52\x6d\xef\x0c\x76\x56\xc0\xce\x58\x76\x8a\x4d\x37\x4c\x96\x24\x80\x2c\xa5\x8a\x11\x89\xd3\x64\x08\x57\xdf\xff\x4e\x02\x1c\x92\x8a\x47\x72\x6f\xfa\x0d\x02\xfe\xff\xd8\x7b\xb7\x26\xb7\x71\x64\x5d\xf4\x7d\xff\x0a\x84\xf7\x43\xdb\xb1\xcb\x65\x77\x4f\xcf\xac\xb5\x7a\xe2\xc4\xda\x72\x55\xd9\xd6\x74\x5d\x34\x25\x95\x7b\xfa\xc4\x8e\xad\x80\x48\x48\xc2\x2a\x8a\x50\x13\x60\x95\x35\x27\xf6\x2f\x3b\x6f\xe7\x97\x9d\x40\x26\x00\x82\x14\x41\x82\x2a\xf9\xd2\x3d\x7e\x72\x59\x4c\x02\x49\x5c\x12\x89\xbc\x7c\xe9\xf3\x1a\x31\x74\x10\x70\x9d\xf0\x2d\x6d\xc7\x11\x0f\xd2\xc6\x48\xb2\x6d\x45\x0f\x63\x93\xb1\xa5\x3a\x21\xff\x25\x38\x58\xa2\xf4\x26\x37\x69\xd7\x5a\xc3\x4b\x37\xdc\x00\xa3\x54\x03\x2a\x0a\xcf\x14\x1e\xab\xf7\x47\x8c\xa9\xcd\x6b\x3a\xa7\xca\xd5\x31\xc2\xa3\xf0\xa9\xb7\x80\x9c\x3d\xce\xb7\xb5\x21\x85\x49\xf1\x47\x42\x2a\xaa\xca\xba\x89\xbb\x60\x0f\xcd\xb7\x1c\x06\x47\xf7\xab\xbf\x61\x84\xea\x64\x36\xed\x52\x61\x78\xae\x8f\x55\xe9\x23\x86\x74\x2c\x89\x5b\x46\x2d\xfe\xa6\x3c\x13\xb9\x0a\x39\xc2\xfa\x5f\x8a\xdb\x5d\x95\x5a\xd6\x72\x14\x38\x27\xcd\x23\x83\x12\xe8\xb1\xc0\x0d\x31\x22\x7a\xdf\x07\x8e\x69\x6b\xe7\xb2\x96\xc4\x8c\x77\xf1\x66\xf7\x1d\x03\x38\x13\xe2\x52\xb4\x07\xf3\xb7\xd2\x45\x0d\x53\xc1\x08\x2d\x18\x68\x07\xd6\x1a\x64\x6f\x5a\xcd\xf1\xc3\x10\x9c\x24\x03\xbf\x3d\x00\x67\x00\x58\x05\xc4\x1f\xd4\x73\x59\x4d\x4d\x3c\xbe\x5c\x32\x7d\x61\x01\x9b\x88\x12\x82\x64\x42\x5f\x05\x0b\x63\x2b\xf1\xd4\x91\xfc\x3b\x55\x87\xa3\xb1\x00\x13\x4c\xef\x10\x45\x0b\x55\x01\x63\x2c\x0b\xb1\x69\x30\xb8\x55\xb1\x28\x9e\xf5\xf9\x9b\x55\x4c\x3c\x79\x8b\x6e\x95\x0d\x60\x21\x93\xd9\x34\x00\x20\x57\x9b\x27\xbd\x87\x10\xba\xba\x77\x4a\x3d\xd2\x18\x09\x59\xd6\x10\xae\x9b\x39\xfc\x27\xbe\x20\x74\xb0\x61\xeb\xf8\x4d\x40\x2d\xc6\x6e\x2d\x9e\xa9\xde\xa9\x1e\xb5\xdc\xc0\xe4\x6e\x58\xca\xa9\xee\x0c\x33\xd7\xa5\xd8\x30\x05\x53\xc9\x32\xc9\x7a\x15\xa0\xe6\xc9\x7f\xc8\xe4\x28\xb1\x9d\x57\x06\xbe\x19\x7c\x6b\x8f\x51\x39\x4a\xd7\xfa\x85\x2d\x26\x81\x58\xed\x56\xba\x98\xc9\x33\x61\x72\x2e\x36\x0e\x14\x83\x8c\xe7\xf7\xb5\x43\xac\x45\x98\xc1\xd1\xe7\xa2\xe7\x3e\x89\x3c\x33\x8b\xfc\xe2\x01\x43\x77\xca\x5c\x11\xba\xd4\xda\x8b\xc5\x86\x69\xe0\xc0\x29\x2f\x08\xac\x4a\x4c\x86\x33\xd1\x17\x80\x15\xd3\x7e\xd0\x0f\x8e\x03\x78\xe1\x5c\x48\x60\x63\x70\x7a\xa6\x48\x9d\x63\x3c\xdc\x1b\xd0\x07\x6e\xf9\x6a\xdd\x73\xe4\xb4\xbe\xd0\x3f\x69\xe6\x2d\xab\x77\x14\xf0\x1e\x4e\x57\x2e\x8a\x0d\xcd\xd0\xa4\x0f\xdf\x8a\x7d\x45\x4e\x8f\x89\xe7\x9b\x63\xc3\xf3\xc2\x7e\x01\x9c\xfe\x69\x5b\xaf\x6d\xce\x33\x23\xe6\x6a\x6a\x88\x29\x47\xa7\x1f\x7f\x30\x7f\xf6\x8c\xa5\xa7\xa6\x8d\xd2\x0e\xbf\x49\x0b\x6d\xff\x08\x5e\x03\x98\x5a\x85\x7c\x17\x2f\xce\x6d\xba\xc2\xbb\x96\xe5\xda\x92\x68\xce\x6a\x9a\x0f\x4d\xd3\xfa\xa2\x33\xc0\x30\xad\x7e\xc1\x13\xb0\xd9\xc0\x2b\x86\x4b\x6b\xcc\x47\x68\x94\x3e\xdf\x62\xee\x90\x16\x03\x13\x01\x4e\x4e\x5b\x27\xb0\x1e\x8a\x1f\x35\x29\x01\x90\xa4\x0e\xea\x08\x79\x04\x80\x48\x5b\x56\x6c\xb8\x94\x80\x74\x03\xf2\xa8\xc2\x86\xc9\xd8\x8a\x26\x3b\x33\x79\xb0\xc2\x87\xde\x55\x54\x25\x7d\x9a\xc9\x26\x5c\x22\xe0\x63\xeb\x59\xa3\x27\xb4\x00\x07\x12\x4b\x51\xd1\xef\x9d\x82\xe7\x29\x7b\x61\xaf\x04\x4d\xeb\xb3\x37\x11\x77\x18\x02\x47\x16\x54\xf2\xc4\x46\xd0\x00\xdc\x97\x00\x33\xbc\xd5\x94\x68\x9e\x92\x0d\xbd\x67\x44\x96\x85\x01\xba\xa5\x59\x66\x3a\xdb\x18\x06\xd1\xa3\xd3\xa7\x10\xf8\x73\x73\x0e\x08\x4f\xd1\x53\x69\xc8\x63\xce\x16\xb3\x6c\xed\xad\xa9\x5a\xbc\xc7\xd9\x6f\x41\x97\xfa\xd7\x39\xce\x3d\x67\x41\x8d\xb2\x7f\x74\xcf\xc4\x66\x2b\x24\xb7\x69\x81\xce\x89\x6b\x9b\xb0\xfb\x22\xda\xa2\x5d\xe3\xf3\xd9\x1d\x9e\x1b\xfb\xed\xf6\x7d\x70\xa4\x9a\xa9\x06\xe9\x98\x33\x4f\xe1\xdb\x16\x6c\x4b\x0b\xab\xea\x79\x06\x0c\x98\xd0\xbf\x3a\x85\xd0\x15\x81\x39\xa9\x8a\x28\x9c\x10\xa6\x92\x53\x02\x6e\x02\x64\x45\xb7\x08\x05\xa6\xc0\x56\xfb\x17\x22\x99\x56\xed\xe4\x29\x19\x2f\x49\xae\x97\xc6\x16\x43\x7b\x0c\xb5\xf3\x98\xa2\x1e\xe2\xe8\xad\x2f\xa6\xcc\x52\xb2\x60\x7e\x65\x55\x58\x3e\x4e\x88\x48\x25\xb6\x5b\x96\x1a\xd5\xf4\x71\x4d\x15\x7b\xd0\x3b\x84\x7d\x27\xc9\x82\xb1\x1c\x1f\xc4\xda\x0b\x9d\x62\x3c\xdb\x6d\x31\x5c\x06\x7e\x99\x38\xa7\x11\x9e\x1e\x3c\x27\x97\x74\xc7\x0a\xf2\xfd\xbf\x35\x0d\x80\xf5\xed\xc5\xd3\xce\xfb\x77\xf7\xad\x51\xe4\x4b\xde\x35\xe7\xf8\x3c\xf2\x32\x0d\x08\x87\x2f\xa1\xe4\x79\x02\x2f\x96\x06\x9d\xdb\xb3\x4e\xfd\xd5\xbf\x20\x9a\xb1\x2f\xd8\x4b\x77\x4b\x34\x6f\x1a\x4c\xc5\x35\xcb\xb6\xa7\x2b\xa6\x0c\x1f\x76\x80\xdb\xbf\x44\xd1\x44\xc9\x5b\x26\xdb\x31\x85\xda\xc8\x22\xc4\x61\x96\xd9\x52\x5e\xc6\x0e\x60\xf1\xf6\x3a\x78\x39\x4f\x30\x7a\xa1\x43\x76\x54\x24\x11\x42\x03\x6b\xf6\xda\x2b\x2f\x44\xb5\x25\x50\x22\xad\x31\xcc\xe8\x40\x8d\xbd\xe6\xa6\x89\xf1\xcc\x3a\x65\x31\x11\x79\x6e\xf3\xc2\xcd\x93\x8e\xb5\x83\x47\x4a\xdd\xb2\xd9\xf5\xc5\xad\xe4\xfd\x5f\x3f\x15\x1b\x56\x19\x44\x1a\xd7\xd4\x57\xf6\x96\xda\x3a\x35\x4f\x36\xd6\xc5\x99\x66\x6c\xb7\x9f\xf3\x0e\xd4\x3b\x2f\xb1\x13\x32\x60\x26\xae\x6a\xf6\x30\xf3\xd5\x91\x8b\xcd\x1f\x49\x5b\x03\xc6\x8b\x28\x6d\xc3\xac\x6c\x19\x4f\xbd\x48\x7f\x2b\x69\x66\x7c\xdd\xb6\x9c\x07\x2c\x0a\x7b\xaa\x2c\xc4\xc7\x88\xa1\xad\x12\xc8\x70\x90\xfb\x07\x74\x9a\xac\x59\x5a\x66\x2c\x8d\x1d\xd9\xfd\x17\x22\x17\xbb\xb4\x2f\x36\x2c\x90\x76\x80\x2a\xe3\x96\x21\x24\xbf\x95\xac\x64\xce\xa5\x15\x99\x3e\xe8\x4f\xc9\xb9\x69\x7a\xbf\xeb\xb6\xbb\xe2\x84\x75\x5f\x3a\xce\x39\xcd\xc4\xea\x2d\xcf\x02\x30\x94\x2d\x54\xb1\xde\xc9\xa5\xc8\x52\xa3\xd6\xe3\xbd\x2c\xea\x53\x97\x96\x95\x67\x6f\xf1\x7d\x88\x98\x79\x72\xd8\x4d\xea\xb5\xd8\x6d\x0a\xf2\xbf\x15\xa2\x74\xe2\x86\x05\x49\xe3\x6e\xc6\x66\x64\x40\x29\x8e\x1b\x15\x61\x18\xc1\xb8\x21\xc8\xa5\x34\x9f\xd2\xbd\x1d\x3c\x06\xbb\x36\x41\x8d\x2c\xe2\x94\x03\x95\x40\x5a\x9d\xc0\xa8\x6e\x4b\x6f\xbe\xba\x4e\x5c\xe8\x6c\xc2\x0d\xba\x6e\x27\x4b\x86\x2a\x66\xc5\xa5\xf0\x02\xc6\x98\xc3\x5b\xaf\xca\x1c\xff\xf8\x84\x01\x90\xf8\xc9\xe6\x5c\xd2\x5b\xad\x9a\x17\x8c\x48\xda\x88\x82\x61\x94\x57\x92\xf1\xe4\x9e\xac\x59\xc1\x42\x26\x1d\xfc\x82\xda\x53\x3b\x48\xb5\xcb\xf2\xde\x97\xf6\xaf\x80\xbb\xbc\x60\x34\xbd\xa2\x45\x2b\x4e\x66\x80\x32\x4e\x93\xdc\xd0\xbc\xa4\x19\x29\xe1\x3d\xb2\xa1\xc5\x7d\x25\xdc\x4c\x68\xe6\x00\xf3\xc1\x61\xa6\xfa\xce\x41\x44\xce\x60\x10\x8d\xc5\x08\x58\xdb\x00\x00\x04\x11\x05\x29\x73\xf3\x37\x5c\x3b\xbb\x5d\x37\xe7\x05\x5d\x2a\x73\x48\x74\x0c\xa5\x4f\x15\x21\x12\xa0\x94\x98\xbe\x17\xdb\x02\x23\x35\xe7\x71\xaa\x5b\x8b\x55\x14\x35\xad\x1b\x0b\xf8\x4f\x60\xa0\x20\xeb\xa6\x96\xd8\x00\xe4\x10\x4b\xe2\x40\x4e\xbb\x86\xe2\x22\xe5\xaa\xae\x22\x86\x07\xa4\x85\x36\xce\xbc\x51\x19\xc2\x59\xca\x55\xc3\xf1\xfb\x6a\x28\x8e\xf1\xc6\xf1\x09\x43\x80\x06\xbc\x3d\x3f\xf9\x97\x54\x08\xf5\x40\x45\x8d\xe6\xd3\x86\xf1\xe0\xe1\x32\xb3\x10\x1e\xb5\x86\x8b\xb9\x36\x38\x93\xd9\xd4\x64\x8b\x77\x8d\x40\x9e\x14\xbb\xad\x62\x90\x7d\xd8\x67\xe7\x68\x23\xee\x1f\x11\x28\x52\x97\x89\xa4\x54\xc2\x77\xab\xd5\xad\x1d\x39\x61\xb6\x71\x10\x18\xa7\x04\x2d\x36\x0e\x9d\x5a\x3a\xe3\x04\xd8\x32\xca\xad\x30\x35\xb1\x00\x26\xd0\xc5\x8e\xef\xdb\x38\x8c\x29\x83\x62\x9c\x78\x9b\x25\x83\xfb\x0c\x5a\x8b\x46\xb3\xbc\xed\x50\x33\x6c\xcc\x98\x5b\xf5\xf7\x16\x25\x66\xdf\xa8\xd7\xc8\xa3\x2c\x6a\x9b\x32\x37\x68\x77\x2e\xba\xab\x6d\xb0\x61\xa9\xd6\xa5\xf2\xe1\x1f\xde\xe2\x40\x98\xe9\x29\x82\x5a\xe6\x2d\x81\x03\xfe\xa5\xd2\x2b\x10\x72\x65\x02\xc3\xb0\xfe\x8a\xbe\x04\xe9\xcb\x3d\xd4\xd5\x81\x93\xcf\x2a\xe1\xfd\xe3\x1c\x28\xfd\xb9\x47\x13\x6b\x6e\x40\x90\x58\xb0\xb5\xb5\x2d\xdc\xf8\x81\x03\xb1\x57\x7b\xb9\x2b\x1c\x06\xcf\xaa\xae\xef\x7d\x4b\x1f\x58\xea\x90\xa7\x83\x9f\x5c\x27\x8b\x53\x3b\x32\x73\x31\x5d\xd2\x07\x51\x70\xe5\xa3\x2b\x7b\x4a\xc7\x49\x8b\x05\x2b\xd1\x1b\xcf\xce\xd6\xe9\x8a\xa9\x5a\xf7\x68\xae\xae\x4c\x5c\x5a\xe8\xe9\xbe\xba\x34\x5a\xbc\x56\x04\xb3\x6b\xf7\x89\xe2\x3e\x11\x4e\x68\xfb\x9d\x14\xff\xeb\xdd\xa9\x06\x39\x1e\x8d\xa2\xea\xb2\x64\x21\xda\xc8\xb6\xff\xb5\x1c\x7e\xef\x98\xb8\xe4\x0f\x10\x72\xd7\x75\x35\xa8\x93\xf5\x8f\xe5\x25\x94\xe1\x62\xc2\x59\xf3\xfd\xf3\x10\x0b\x65\x45\x9e\x87\x2d\xc9\x8d\x68\xa0\xd8\x6b\x3b\xa4\x75\x55\x39\x37\xa6\x42\x97\x82\xb5\x5c\x67\xb0\x6b\x8c\x30\x85\x2d\x3e\x71\x37\x40\x1f\xb3\x02\x11\xbf\xde\x15\xb9\x35\x75\xdf\xd1\x3a\xbf\xd8\x61\xd8\x35\xc8\x50\x6a\x33\x5f\xb9\xcb\xef\xfd\xc3\xa6\xe7\x9e\x6b\xa1\xef\x55\x01\x08\x75\x73\x4a\xde\x30\x42\x1f\xa9\xf3\x6f\x91\x05\x4d\xad\x24\x4a\x68\x0e\xe1\x34\x84\x16\x0b\xae\x0a\x6a\xe2\xd0\x5d\x55\x4d\x18\xab\xd3\x27\x1b\x3d\xbe\x5c\xf2\x6f\xe5\x2d\xac\x67\xd9\x55\xc3\x65\x52\x70\xbd\xb7\x3f\x6b\x7e\xef\x25\xcd\x57\xa1\xb2\x11\x0d\x8a\x08\x01\x63\x4b\x5c\x42\x81\x87\x61\x01\x21\x2e\xa6\xce\x5a\xb6\x57\x70\x94\x15\x3e\xee\x50\xd7\x07\xf4\x06\x11\x36\x09\x63\x2e\x0c\x59\xed\x83\xd6\xdd\xe7\x29\x1a\x00\xb2\x1d\xf1\xfc\x42\xf5\xef\x30\x0e\x22\xdd\xaa\x6e\x50\x9f\xb9\xe7\xd5\x77\x47\x8d\x93\x7e\x77\x0e\x09\x78\x3f\x79\xe3\x0d\x3f\x74\x0d\x92\x58\xf1\x7c\x66\x6a\x73\x85\xc6\xa7\xa2\x89\x1a\x1a\x4d\x8e\x45\xcf\xc8\x73\xbd\x11\xf0\x87\x07\x4e\xc9\xdf\x6f\x81\xa1\x17\x68\xf1\x4c\x12\xb6\xad\xd9\xdc\x5b\xf8\x33\xc7\xc8\xf8\x3c\xcc\x5e\x45\x12\x61\x91\xf6\x4b\x3e\xc3\x4e\x2b\x68\x9e\x8a\xcd\x9c\x3b\xc9\xe3\xed\x62\xe0\x52\x4a\xbe\xca\xb5\x92\x9d\x7b\x8f\x22\x35\x46\xdc\x8b\xdc\x87\x9b\x40\xa1\xa2\xc5\x34\xc3\x9a\x43\xcd\x6b\x2a\xa0\x28\x19\x9e\x5c\xfc\x72\x29\x64\xb6\x23\xaa\xa0\xb9\x5c\x32\x28\x50\x66\xb8\xad\xd8\xf7\x92\x70\x3a\xe6\xdb\xf4\x36\x11\x59\x47\x92\x8d\x4f\x14\xa7\x88\x99\xa4\x77\xa3\x86\x89\x2c\x23\x6b\xfa\x30\x30\x2e\xe6\x30\xc3\x16\x7e\x88\x0d\xc0\x35\x65\xe9\xee\x73\x9b\x91\x68\x86\x69\x4d\x31\xe0\xd6\x24\x24\xeb\x13\x04\xb8\xdc\x31\x65\x60\xf6\xf4\xff\xb8\x92\x2c\x5b\x36\x9b\xb7\xf3\xa0\x29\xea\xf2\xd6\xa6\xfa\x5b\x6d\x51\x53\xd8\xdf\xe2\xe6\xe0\x83\xe8\x8a\x7a\x69\x12\xc6\xec\x3e\x57\x84\x01\xe4\xbe\x16\x4c\x0f\xc2\x59\x85\x60\xb4\xa2\x26\xc3\xf3\xa5\x9e\x61\x06\x2b\xfe\xf2\xbc\x5e\x27\xb9\x7b\x7c\x86\x05\x98\x5e\xb3\xc7\x58\x63\xd9\x3e\x69\xac\xc7\xc5\x57\x6c\x4d\x8e\xfb\x71\xac\x65\xd7\x5f\x9f\xa5\xec\x9a\x3d\x36\xed\x10\x9d\x43\xba\x47\x1c\xe7\xaa\xa9\xee\xd2\x2e\x25\x7f\xe8\xe0\xb5\xc8\xc0\xdf\x3c\x1f\xa9\xea\x2c\xa0\xea\xf8\x8f\xf9\xc6\x61\x9f\x56\x8b\xed\xd9\x16\xfc\x41\xdf\xeb\x41\xa1\x16\x2d\xb1\x80\x47\xf9\xee\xba\x6f\x38\x57\x9f\xd7\x39\x7c\xcd\x1e\x9b\x8e\xde\xce\xe1\xdc\x23\x1e\x6a\x6c\xc5\xe8\x20\x5b\x28\xec\x18\x1e\x60\x7f\x5c\x7b\xbe\xb4\xb3\x6a\x57\x1b\x59\xac\x94\x69\x54\xbd\xaa\x8a\x3b\x45\x7d\x88\x57\xcd\xc8\xdc\x89\x5d\x03\xbd\x95\x8e\x0c\xd7\xfa\x52\xba\xeb\x82\xfb\x6c\xa5\x1b\x14\xbc\x53\xbb\xf8\x5a\x1c\xd0\xc8\x2d\x00\xef\xee\xe6\x3e\x0c\xaa\x5e\xf0\xad\x4d\xb6\xd9\x09\xae\x45\x45\x06\xd5\xdb\xbb\x06\x63\xc2\x58\xf1\x06\x2b\xfd\x87\x47\xc2\x27\x8a\x99\x65\xb0\x0c\x41\xe2\x9d\x79\x29\xea\xbb\x17\x8e\x8d\x9a\xbb\xb2\xd9\x18\xba\xdc\x16\x0d\x76\xcc\xf7\x7b\x89\x3c\x96\x7c\xdb\x13\xc1\xa0\x3f\xee\x52\x24\xa6\xae\x5b\xc7\x08\x58\xa2\x18\x8b\x91\xac\x50\xe6\x48\xce\x28\xc0\xe9\x0c\xb7\xba\x39\x73\xdb\x3b\x03\xb9\x64\x3e\x07\xad\x7a\xd8\x54\xdf\xa7\xf5\xaf\xf3\x1a\x55\xcc\x2d\x01\x49\x8d\x04\x62\x05\x20\xc6\x00\x5b\xc3\xd5\xda\xa6\x47\xd1\x9f\x4f\x7f\x03\x8c\x2a\x8b\x09\xf4\xd4\x84\xd6\x6d\xfd\x7a\x0b\xb9\xd7\xf1\xe9\x8e\x24\x62\x59\xfb\x70\x31\x00\x71\x9f\xd0\x58\x85\x11\xe8\xe7\x09\xf2\x62\x00\xf2\xfd\xb7\x3b\xd9\x9f\xf2\x55\x4e\x33\x9e\xaf\xce\xd1\x86\xd4\xf7\x2d\x75\xfa\x18\x77\xd6\xde\x57\x11\x69\xdb\x70\x40\x19\x51\xdf\x69\xad\x5c\xd3\xbd\xd7\x4f\xda\x06\xc3\x2a\xc7\x55\xbf\xdd\x4a\x30\x86\x73\x44\x87\x21\xb6\x93\xf7\x0f\x48\x3d\xf8\xad\x11\x0d\xf2\x34\x9d\xf8\x93\x65\xb4\xf9\x11\x5e\x7b\x9f\x1a\x0c\x05\xd9\xb4\x7c\x29\xca\xd7\x6d\x3d\x72\xe6\x0b\x2b\xeb\x38\x93\x18\x61\xd2\x3b\xe1\x96\xac\x7f\xa2\x91\xde\xc4\x7c\xc8\x03\xf2\xb1\xbe\x4c\xd0\x8f\x0b\xe6\xd2\x6a\x01\x66\x46\xe8\xc3\xa6\xf6\x31\xfd\xa3\x19\xbb\x7f\x0e\x8e\xdf\xf5\xd7\x94\xdd\x34\x91\xda\xea\xb1\xb6\x00\xc4\xb7\xb5\xa8\x48\x4d\x64\xee\xdf\xf9\xee\xd0\x77\xaf\xa4\xc3\x89\x63\x09\x22\x76\x04\x52\x92\xa2\xcc\xec\x77\x0f\x3a\xcf\xef\xd9\xce\x8e\x6f\x03\x1b\x79\x5b\x6b\x99\x6e\xb7\x59\x0d\xe3\x11\x7e\x76\xb6\x22\x9f\xb6\xf3\xcb\x95\x34\x36\xef\x8e\x8f\xaf\x68\xe2\x42\x0c\x3c\x0f\xdf\x42\x7c\x24\x12\x60\x78\x13\x48\xe3\xae\xdb\xb2\xd1\x67\xae\x7f\xb2\x1e\x10\x30\x61\x43\x2e\x99\x3e\xfb\x4c\xba\xd2\xe9\x8a\xa9\xa9\xf2\x54\xb5\x36\x53\xee\x2d\xa3\xf6\xa4\x3a\xe7\x32\x29\x21\xb9\x6e\x9c\xeb\x4b\x6c\xf0\xcb\x3a\xde\x19\x70\xea\x27\x62\x03\x55\x9e\x71\x8f\xa6\xae\x21\x93\x02\x8e\x8b\xa0\x3d\xc2\xad\x47\x9f\x2f\x04\x4d\x13\x2a\x55\x55\xe1\x03\x0a\xa2\x3a\xdc\x2f\xbd\x2c\x2a\x57\x8c\x0d\xef\x47\x44\x41\x9f\x66\x2b\xa4\x81\x6a\x84\xd4\x7f\xe3\xa4\x31\x7c\x5b\x36\x6d\xc6\x44\xc5\x3f\xa6\x20\x3e\xaf\x8e\xdc\x9a\x71\xae\xe2\x4e\x37\x3f\x80\xbf\x76\x6e\xf6\x39\x6a\x24\xf2\x78\xc7\xfe\x79\x93\xc7\x23\x9c\xff\xba\xc7\xf9\x86\x7e\x6c\x75\x30\x67\x7a\x19\x2a\x62\xc6\xc9\xcc\xbb\x5d\xe3\xe8\x8d\x83\x82\x21\x4d\xb6\xeb\x69\xf2\xd5\x50\xd4\xd3\xcc\x5b\xc6\x02\x7a\x7a\xee\x19\x88\x4c\x69\xa9\xe6\xec\xbc\xe8\xda\xdc\xad\xcb\xfb\xa6\x54\xc3\xf7\x84\x79\xa9\x7f\x53\xdc\x94\x6a\x25\x3e\xe9\xa6\xa8\xaf\x84\x69\x28\xb1\x3e\x7a\x3a\x85\xe5\xf8\x53\x4f\x67\xe4\x4c\xc5\x8b\xac\xc1\x82\xaa\x9e\x18\xd4\x86\xe7\xf5\x49\xb1\x5b\xbe\x8c\xae\x57\xad\x81\x89\x0d\x11\x29\xb7\xd5\xc9\xaa\xef\x4c\xcd\x1d\x2d\x01\xc1\x05\x63\xde\x0e\xd7\x50\xa4\xe2\x59\x36\xc7\xe0\xe7\xf9\x3e\x80\x7e\x4d\x37\xca\xbf\x33\xab\x71\xd7\x6d\x79\xf3\x66\x7f\xc0\x3e\x1e\xbe\x7b\xbf\xf0\x4a\x89\x98\xb3\xe6\xb6\xf5\xe7\xac\x67\x00\xdf\x32\xaa\xca\x22\x26\x2e\xae\x95\x3a\x52\x8b\x5f\x9a\xf7\xbc\xb0\xb8\x0e\x91\x17\x60\xf5\x3d\x86\x68\x46\xc8\x84\x1a\xe5\x21\x32\x61\xe0\x8c\x7e\xe9\xcd\x6c\x83\x41\x51\x08\xbb\xaf\x68\x4a\xec\xe0\x7d\xe5\x33\xe2\xae\xb4\x0b\x82\xaa\x95\x7a\x96\xa4\x5e\xc6\xf0\x86\xc9\xe8\xe8\x5b\xcd\x66\xe2\x63\xc4\x41\x9d\xf4\x10\x71\x30\x70\x91\x84\xa6\xab\xf5\xe0\x8d\xbb\x67\x7e\xc1\x5b\xe2\x30\xbc\xb5\x03\x81\xd6\x2c\x69\x6d\x61\x18\xd5\x3c\xd9\xbf\x5b\x0d\x9d\x90\xfd\x1c\xdd\x7a\xec\xf4\x57\x33\xd4\x09\xcb\x55\x8c\x80\xae\xd1\xc5\x46\x93\x40\x5d\x38\x23\x97\xd1\x15\xd0\xe6\x59\x68\xe1\x6b\x4a\x1f\x58\xfa\x8e\x2f\x3b\x58\xaa\x48\xe2\xb8\x91\x9a\x9e\xac\xf8\x12\x19\xe9\x89\xf5\xb2\x91\xd1\x5c\x99\x2b\xb2\x1f\x47\x5d\x75\xdd\xf5\x09\xac\x78\xe0\x09\xfa\xe6\x8c\x97\xab\xe3\x63\x5a\x88\xa3\xc2\x44\xf0\xbd\x86\x4e\x8d\xd1\x82\x35\x9d\x4a\x8f\x00\xdd\x6e\x11\xfd\x4e\x42\x49\x05\x2f\x84\xd4\x38\x6e\x21\xd6\x04\xd2\x3b\x30\xfc\x15\xc2\x4f\x2b\x80\x8b\x53\x32\xce\x49\x62\x0a\xf7\x91\xad\xd8\x96\x3e\xaa\x38\x64\xe9\x51\x2c\x79\x03\xca\x38\xfb\x58\xc5\x68\x41\xb7\x0b\xb8\xf4\x6e\x33\xba\xab\x02\x59\x74\x1b\x34\x63\x85\x22\x7c\x03\x68\x6b\x8a\x65\x3b\x8f\x87\xad\x3a\x25\x63\x65\x22\x72\xe1\xaa\x63\x1c\xcd\x6b\x9a\xa7\x58\x0e\x02\x7b\xa2\x12\x3d\x57\x30\x7b\x34\x27\x00\xd8\x41\x8b\x9d\xef\xfc\x57\xac\xd8\xc0\x5e\x5c\xdb\x52\xc7\x10\xad\xc7\xf3\x7b\xe9\xe0\x3c\x58\x9d\x67\x28\x6e\xb0\xd0\x27\x85\xd0\x3a\x46\x26\x12\x88\x00\xa4\x88\x43\xd9\xc0\x20\x75\x99\x1e\x2e\xf8\x13\x91\x46\x52\xf2\x6f\xff\xf6\x6f\xaf\x5f\xbf\x26\xcf\x67\x2c\x63\xab\x82\x6e\x88\x3f\xd3\xf2\x45\xa4\xbf\x95\xe5\x8a\x2b\x5e\xb7\x1b\xda\xdf\x60\xea\xa5\xda\x65\xb6\x5a\xeb\x53\x2f\x04\x5c\x6b\x38\x2e\x27\xa4\x06\x44\x55\x73\xf0\xda\x48\xe9\x2f\x36\x74\x35\xc3\x6a\xca\x29\x8e\x4e\xca\x29\xd8\x47\xf4\x9e\x7e\x2e\x4c\xdd\x8e\x17\x2d\x56\x58\x7f\x30\x9b\x03\x07\xeb\x53\x13\x3c\x5f\x08\x91\xcd\x8a\x92\xbd\xb0\x10\x90\x31\x2b\xbb\xc6\x9b\xda\x6d\x31\x30\x19\x42\x45\x4f\x4c\xa0\x5f\x42\xf5\xb5\xc8\x54\x8e\xc4\x42\x19\xf6\x60\x32\x9b\x52\xbf\x87\xd3\xa3\x09\x47\x93\x31\x61\x45\x21\x0a\x79\x4a\xce\x41\x2e\x2c\x98\x44\x1a\xb1\x6c\x8a\x03\xbb\x75\x30\x44\x13\xcb\xa7\x08\xc2\x57\xb9\x80\xc3\xcc\xe4\x6a\xb9\xd3\xcf\x96\x3e\x80\x48\x69\xdd\xa2\x9e\x0b\xc4\xb6\x80\x60\x6a\x93\x0f\xa6\xc9\xf8\x86\x91\xe7\xdf\xff\x99\x6c\x78\x5e\x2a\xe6\x2d\xe0\xb6\x43\x06\x42\xb1\x3b\x64\x1f\x3c\x8e\xd0\xf6\x35\x1d\x54\x86\x4b\x44\x2e\x55\x51\x26\x4a\x14\xd6\x06\x86\x68\x91\x4b\x41\xa0\xb4\x8c\x75\x8e\x40\x2d\x05\x2c\xc3\x02\x79\x6f\xe5\x47\x9e\x71\x1b\x84\x1e\xed\x28\xac\xe5\x02\xed\xc1\xe2\x1a\xe7\xb6\x03\x3a\xea\x1d\x89\xb3\x35\xed\xcf\x7c\xdc\xa3\x3c\xf2\xf8\xd4\x20\xe6\x6b\xa2\x1a\x80\x1c\x86\xb8\x40\xbc\x44\xb4\x9a\x0d\xd2\x2f\x7b\xd5\x8c\xd7\x6b\xcb\xb6\x82\x7f\x4f\xda\xa5\xdd\xc5\xa7\x92\x72\xfa\x6b\xf7\x98\x97\x58\xdc\x27\x0c\x30\xbd\x7c\x4c\xe7\xfa\x4d\x78\x4d\x8f\xaa\x29\x06\x61\xd1\xbc\xdb\x13\x47\x23\x90\xab\x41\x80\xcd\xbd\x44\xee\x7d\x27\x4f\x65\xf5\x95\xfa\xfa\x6b\xd3\xd1\xf5\x68\xf9\xc8\x3d\xd0\x18\xfc\x56\x77\x17\x3d\x32\x73\x3f\xb6\x0f\x5d\x2e\x46\x2b\x3b\x5d\x31\x6e\xa6\x2a\x40\x1b\x8f\x5c\xba\x6b\xc7\xc1\xa9\xb3\x35\x23\xe3\x36\xdb\xcd\x15\xd4\x93\xb9\xd5\x7f\x93\xe7\x68\xeb\x7b\xe1\x97\xe4\xa8\xdd\x05\x79\x66\x8a\x46\x8f\x97\x44\x15\xa5\x29\xc3\xed\xf1\x47\x09\xd2\xd8\xdf\x4e\x48\x2e\x6a\x27\x9b\xf4\x50\xb8\x54\xc1\x57\x2b\x56\xd4\xef\x9b\x0f\x9c\xce\x17\xc2\xad\xfd\x6a\x1d\x78\xe9\x20\x0b\xa1\x5c\xc9\x22\xab\x91\xd7\x87\xbb\x4f\x5c\xc4\x89\x8a\x78\x31\x51\x5b\xaf\x76\x3c\x6c\x19\xaf\xe7\x2e\xef\x49\x2f\xef\x17\x84\xe6\x02\xe6\x16\xa0\xf0\x06\xc9\xcb\x2f\xb3\x9b\x9f\xb0\x2f\x7d\xfd\xa5\x09\xb8\x14\xdc\x94\x06\x84\xba\x6d\x27\x76\xef\xab\xf8\x9d\x19\x90\x13\xb5\x84\xf5\x16\x8a\x2f\xb9\x39\xb1\xe2\xa5\x71\xe2\x7c\xb1\xed\xd9\x28\x02\xb6\x27\xde\x9f\xf3\x65\x65\x1b\x79\x34\xc5\xcc\xea\x9e\xb4\x94\x49\xc5\x73\xe8\xee\x45\x67\xbd\x81\xcf\x21\x08\xa6\x2c\x8f\x14\x06\x3e\xe5\x91\xf5\x86\x3d\x2f\x8e\x12\x84\x5a\x30\x3a\x2d\x95\x6b\x83\x86\x6a\x40\xe5\x77\x66\x1f\x55\x41\x93\x1a\x5c\xd4\x86\xa9\xb5\x30\xb9\xca\xa6\x6a\x1e\x66\xe7\xe1\xe0\x60\x05\xa6\xd8\x0b\xd2\x17\x15\x3e\x2d\x5a\x84\x0a\x9e\xf1\xcf\xfc\x3a\x95\xf8\xcb\xe7\xdb\xbc\x5d\x2b\xcd\x45\x49\x77\x99\x5e\x3c\xa2\x98\x03\x67\x3f\xea\x59\xd6\x22\x30\xbb\x0c\x30\x80\x93\xba\x6f\x82\x19\x65\x99\xb3\x46\x75\x19\x61\x2a\x4e\x7b\x10\xae\xf6\x28\xe3\xac\x4a\x2e\xa8\xc9\xff\xb6\xcf\x03\x06\xb4\xa1\xf2\x5e\x36\x97\x89\xb1\xad\x55\xce\x10\x0a\xbe\x10\x79\xef\x7e\x09\xc6\x67\x59\x3b\x1d\x7e\xd2\x62\xe7\x7e\xe8\x0e\x75\x9c\xad\xd9\xa6\x43\x20\xe1\xe3\x18\x5b\x56\x92\x89\x12\xfc\xb8\x1b\x36\x3c\x00\x59\x19\x2e\x9e\x61\x7f\x1d\xfc\xde\x49\x56\x5c\xd3\x2e\x96\x1d\x45\x84\x15\xd9\x04\xd2\x5b\x83\xc5\x77\x92\x2c\x79\x21\x31\xf1\xf8\x84\x64\xd4\xfc\x09\x47\xa2\x26\xd0\xff\x89\x2d\x54\xaa\x1b\x72\xf9\xcc\x80\xa6\xe6\x9a\x3e\x25\x55\x99\x7d\x67\x29\xd0\x77\x3a\x87\xd9\x51\x30\x9a\xcd\xab\x26\x8c\x05\xc1\x4b\x26\x7e\x5b\x22\x8a\xa8\x95\xf8\x35\x63\x85\x66\xbc\xd6\xb5\xfb\x92\xc8\x9e\x5d\x03\x03\x3b\xde\x47\x8a\x6d\xab\x49\x66\x47\xd2\x72\xe7\x46\x36\x8c\x57\xfb\xef\x9d\x26\x0a\xdd\x17\x04\xf7\x76\xaf\x0a\x24\x89\x59\xcc\x66\x31\x60\xa0\xb2\xa9\xa7\x38\x58\x2c\x6c\x0d\x47\x18\x6a\xe6\x35\xd5\x35\x62\xdd\xbb\xd5\x7c\x05\x68\x6b\xdd\x1f\xaa\x44\xf4\xfa\x07\x8c\x14\x54\x01\xf4\x37\x17\x62\xc9\x33\xa6\x19\x56\x62\xe0\xc1\x6d\xad\x2c\xf0\xae\x35\x3b\x37\x42\xb2\x51\xd3\xc4\xe8\x3b\xaf\xa7\x1a\x95\x29\x16\x54\x37\xdd\x9d\x10\xad\xf1\xe5\xae\xc2\x91\xa5\xca\x76\xa8\x99\x41\x33\x52\x9f\xb0\x92\x29\xc8\x14\xab\x7d\x48\xdc\x2a\xed\x19\xfb\x29\x56\x2c\xea\x1c\xfc\x69\xbd\xaa\x51\xb7\x0f\x4b\xab\x5d\x58\x06\xc9\x0d\x57\xd4\x88\x4b\xcb\x88\x91\xfd\xcd\x42\x4a\x87\x7f\x62\x1f\x94\xd5\x31\xe1\xba\xff\x35\x31\xba\x47\x08\x87\xac\x76\x5b\x06\x02\xaf\x07\x9c\x7b\x18\xfa\x76\x6f\x65\x98\x01\x25\x61\x72\x4c\x79\xcb\x11\x04\x66\xaf\x40\xcc\x01\x65\x5f\xbe\x50\x1d\x97\x5f\xe2\xab\xb7\xc8\xd3\xc4\x46\xf5\x79\x88\x17\x81\xb1\x6c\x23\x8e\xdb\x14\x5e\xdd\xab\x78\x33\xad\x49\x04\xa7\xf5\x6a\x2b\x4b\x9e\xd3\xac\xdd\xb0\x01\x71\x22\xa6\x1b\x73\x87\xab\x47\x0e\xd7\x10\x2e\x4c\xc5\xab\x5a\xad\x2b\x57\xf3\x79\xdb\xe8\xf4\xd0\x6a\x72\xbe\x6b\xdd\x4b\xee\xad\xeb\xb5\xfa\x0b\xe6\x76\x78\x7e\x22\xcf\x6e\xd0\x8a\x65\x7e\xd8\xbf\x37\x99\xe2\x57\xc8\xb6\x09\x05\x17\xa6\x7e\xd7\x0a\x33\xb8\xaa\x61\x80\xd1\xff\xa8\xc0\x0b\x52\xf3\xf0\x54\x95\x52\x2d\x6e\x2c\x18\x87\xca\xed\x56\x98\x9b\xbf\x0f\xb8\xe5\xca\x6b\x56\xd5\xc6\x70\x29\x9b\x76\xac\xb0\xc1\xab\x12\xcb\xe8\x56\xee\x1b\x38\xa4\xdd\xd5\x9d\xd1\xe7\x2d\xcb\xec\x62\xb3\x55\x1d\x81\xf8\xc1\x37\xa2\x56\xa7\xad\xcd\x26\x86\x2f\xd3\xe8\xc5\x08\xd0\xa6\xc6\xf9\x66\xd7\xe4\x73\x9a\x3d\xd2\x9d\x24\x4b\x9a\x49\xf6\xe2\xc9\xcb\xcd\x5b\x1c\x26\x92\xb5\x71\xbf\xfe\x2c\x33\x3e\x6c\x5e\x7b\x61\x72\x3a\xde\x89\x93\x3c\xfe\x8e\x26\xff\x83\x64\x7c\xc3\x15\xf9\x5f\xe5\xeb\xd7\x7f\x4a\x48\xc1\x36\x42\x31\x28\x6b\x47\xa6\x7c\xb3\xcd\x76\x27\xde\x04\x2a\x21\xc8\x86\xe6\xbb\x80\x44\x79\x0e\x13\xac\xd6\x34\xc7\x46\x5f\x9c\x34\xb0\x3f\x70\x3c\xa5\xc8\x1e\x98\x77\xd9\x25\x2b\xba\xd5\x67\x9f\xa7\xd9\x2d\x45\x96\x89\x47\x38\x73\xe9\x4e\xfe\x74\x88\x80\x44\x51\xd0\x26\x5c\x0c\xf0\x2e\x84\xc7\x03\x3e\xb1\x67\x2a\x53\xb5\xa5\x62\x32\x04\x68\xae\xbf\xb2\x74\x0b\x42\x6b\x97\xfe\x72\x80\xec\x8c\x83\x04\xf2\x67\xd8\x03\xbe\xb8\xf5\x36\x42\xdb\xc0\x7c\x59\xf9\xd7\x98\xb0\xce\x5d\x93\x46\x1d\xcd\xe9\x90\x33\x19\x6e\xb5\x16\xc3\x50\x24\x50\x13\xd2\x42\x35\x0c\x00\xa6\x84\xef\xb1\x59\xd9\xf0\x43\xdd\x1f\x60\xb0\x1f\x1a\x67\xa2\xc3\xee\x98\xb7\x95\x34\xc8\x6b\xe8\x1e\x92\x25\x05\x53\x06\x1a\xba\x65\x16\x9b\x67\xac\xdf\x4a\xd4\x59\x6b\x5f\x68\x39\x6d\x71\xa5\xeb\xf5\x81\x25\x33\xf7\x97\xbe\x9b\x53\xd7\x0a\xcc\x6d\xdb\x18\x44\xce\x70\xef\x41\xd7\x24\xed\x9f\xeb\x6b\x31\x6c\x62\xd3\xc6\x57\x37\xcd\xd3\x92\xfd\x56\xd7\x4f\xc1\x74\xdc\x38\x36\xfb\xbe\x73\x9a\xf1\xd8\xe5\x8c\xa4\x31\x96\xdb\x44\x6c\xb6\x19\x53\xec\x8b\xac\x6c\x00\x07\x36\x41\x61\x73\xb7\x74\xc6\xee\xd7\x62\xb7\xbf\x7e\xc2\xbb\xc1\xd7\x15\x2b\xf5\xb4\xda\x17\xd0\xbf\xcb\xa1\x1b\xb2\x23\x56\xf4\xf0\x1d\x71\xfc\xf5\x1e\xa1\x00\xec\x13\xc7\x9d\xfc\xed\x75\x71\x4f\x8c\xbf\xcf\xaf\x6b\x8b\x09\x87\xf6\x68\x2a\x1b\xd2\xdf\xf2\x31\xe8\xca\x67\x2f\x3d\xd8\xb4\x12\xba\xd5\x4e\x9b\x9e\x3c\xb5\x6b\x26\x38\x10\xf5\xe5\x13\xfe\xf8\x3b\x73\xe0\x02\xfd\x81\x26\x2d\x77\xcc\xb6\x68\x98\x7b\x37\x53\xd8\x66\x36\x96\x0c\xc2\x73\x1a\x20\x41\xb6\xce\xb5\x4d\xdb\xc0\x30\x2d\x9b\x00\x5a\xad\x35\xfd\xc0\x93\xf8\xf2\x94\xbc\x15\x05\x59\x96\x05\xe8\x15\x29\x53\x94\x67\x10\xce\xbf\x44\x90\x7c\x28\xcf\x96\xb1\xda\x3b\x93\x5a\x8c\xa7\xb3\x35\x30\xbe\x52\x6b\x92\xd1\x5d\x23\xd4\xb4\x5b\x9a\xf9\x6b\x3f\x18\xa9\xef\x5c\xe9\x11\x87\xf9\x99\xd8\x2c\x78\x67\x85\x8d\x8a\x24\xca\xa4\xe6\x5c\xa0\x4b\x51\xd8\x5a\x70\xde\x88\x1e\x51\xe4\xb5\x8c\x49\xe4\x51\xf1\x01\x8c\xed\x92\xfd\xe6\x22\x7e\x8d\x5e\x66\xcd\x5c\xae\x8a\x5d\xe3\xe5\x39\xdc\x69\xdb\x9b\x60\xb4\xc8\x78\x6f\x23\xc7\x93\x6b\x31\x07\x5c\xbf\x34\x1b\x20\xc2\x1a\xd7\x0f\xb0\xe2\x71\x49\x72\x96\xe8\x85\x56\xec\xf4\x06\x60\x1f\x59\x52\x2a\xe6\xa7\x44\x57\x17\xa5\x20\xc6\x65\x26\x68\x7a\x9a\xa4\xf9\x5b\x9e\x05\x04\x4e\x8d\xa2\x9f\xd7\x5b\xb6\xd5\x17\x85\x5c\x41\x28\x5e\x99\x9b\x5a\x23\x67\xe7\xd7\x64\xc9\xb3\x58\x19\xb4\xd8\xa9\x4a\x73\xf7\x63\x1e\x9b\x63\xed\x73\x77\xcb\xf0\xff\xd7\x8c\xa5\xa1\x6d\xd5\x41\x1f\x77\x94\x80\x61\x1d\x1c\x22\x19\xa3\x85\x1f\x10\xa0\xd8\x66\x2b\x00\x29\xf8\x76\x74\x85\x50\x8f\xf6\x5a\xa7\xbf\x5e\x9f\x35\x7e\x22\x3b\xf6\x1d\x5d\xf2\xab\x60\x50\xf8\x7f\xae\x0c\x56\xea\xb3\x5b\xfc\xc1\x02\x9d\xea\x3b\xd1\xd9\xf9\x75\x30\xdd\x17\x3e\x7c\xd9\x3d\xcb\xcb\xb8\x29\xd6\x63\x67\xa3\x7d\x87\xce\xe7\x1b\x8c\x6d\xd7\x53\x7a\x82\x63\x69\x1a\xaa\x5d\xdd\xc0\x40\xf5\x13\x79\x76\x25\xd2\x2a\x5e\x1b\xe2\x90\xfd\x5b\x9b\x89\x4b\x06\x76\xe0\x3f\x7d\x9f\x7e\x96\xe6\xb7\x2c\xe5\x05\x4b\x02\x51\xbd\xad\x94\x03\xd6\x85\x8b\xa9\x16\x8f\x39\xce\xae\x8d\x4a\xd5\x2b\xe0\xfc\x2c\xbe\x96\xa0\xc9\x83\x84\xb7\x1a\x51\x5d\xcc\x95\x1f\x98\xf3\x87\x67\x55\x3d\x00\x3d\x46\xe3\x0f\x6e\x25\x00\x47\x75\xb4\x4c\xef\x4d\x83\x22\xe1\xbd\x7a\xcf\x76\x5d\xef\xea\x5f\xe6\x6b\x2a\xd7\x38\x8f\x30\xe8\xf8\xdf\xde\xb7\xdc\x92\xc5\x99\xaa\xad\x57\xfb\x4e\xd7\xd4\x3d\xb2\x45\x8f\x78\xb2\x14\x03\xc4\x93\xac\xc9\xa7\x9c\xbc\x9f\xcd\x26\xe4\x91\x2d\x60\x1e\xbd\xf9\x53\xeb\x42\x94\xab\x35\x51\x26\x8a\xff\x3b\xa9\x55\x8c\xb2\x60\xe4\x6a\x36\x29\x84\x12\x06\xf3\x35\xd2\x4a\xe8\x36\x42\x0d\x39\xca\x8d\xd4\xde\x92\xf6\x77\x05\xdf\x54\x14\x57\x7c\xd3\x42\x51\xdf\x37\x9a\xfb\x86\xa5\x57\xf2\x7f\x56\x1d\xc0\x7f\xda\x07\xbe\xc8\x46\xa5\x5a\xdf\x02\x96\xec\xc8\xe0\x24\xb7\x8e\x7f\x2b\x61\xff\x34\x9c\x83\xfe\x26\x6d\x98\x63\xee\xc0\x98\x09\x2d\xd5\x5a\x14\xfc\x9f\x36\x47\x03\x84\x5c\x38\xf7\x93\xfc\x7f\xff\x6f\xdc\xc0\x97\x45\x66\xcf\x93\xbb\xdb\x4b\x87\xaf\xae\xa5\xf3\x23\x5b\x48\xae\x75\xdd\xdc\x03\x53\x71\xf0\xb5\x99\x58\xad\xe0\xd8\x0f\xe9\xec\xfe\x10\x98\xb2\xf4\xbd\x43\x65\xe9\xbe\xd0\x48\x85\x3f\xc0\x9c\x2a\xbd\x1f\x60\xe9\x86\x7e\x80\x1e\xda\x4f\x35\xc5\x0b\xa1\xac\x51\xad\x82\xcf\x5f\x08\x75\x62\xa6\xd5\x86\x4a\xc2\xad\x4e\xf7\x06\x73\x5c\xe3\xc6\xf8\x53\x55\x75\x23\x34\xa6\x5c\xa3\xd5\x2e\x84\xfa\x4e\xba\xa8\x0d\xd7\x22\x95\xb2\xdc\xb0\x14\xd3\xb0\xca\x22\xfb\x4e\x92\x54\x6c\x28\xcf\xdd\x89\xe0\xf2\x53\x4c\x26\x92\x79\x6c\x40\x3b\x2a\xcc\x7d\xa1\x4e\xc9\x94\x31\x72\xc9\xf3\x7b\x9e\xaf\xc8\x4e\x94\x85\x25\x36\x31\x2b\x0b\xa1\xaa\xb1\xc2\x8b\x50\xa3\x10\x02\x90\x3b\xed\x09\x5f\x8e\x5b\xf0\xf0\x41\x99\x58\xc1\x72\x7f\xaa\x05\xd6\xaa\x2c\x8f\x05\x57\x6c\xae\xd7\xad\xdc\x0b\xfb\xd2\x1f\x83\xa9\x6f\x19\xbf\x87\xdb\x31\x54\x5d\xa8\x32\x9e\xab\x04\xbf\xc0\xf6\x93\x81\xe0\x38\x19\x15\x0a\x37\xce\x53\xad\x5f\xc0\x7d\xd3\x0b\xbb\xb6\x98\x8b\xf1\xe1\xe3\xf8\x79\x70\x42\xa2\xa7\x5b\xff\x17\x4e\xc8\x50\x55\x76\x00\x68\x9a\x6f\x78\x3e\x77\xb1\x21\x16\x1f\xc7\xf8\x1f\x31\x88\x83\x27\x4a\x1f\x37\x0e\x75\x04\x1d\xf4\xce\x87\xef\x20\x91\xfc\xb6\xcd\x56\x18\x4b\xef\x15\xd8\x0b\xff\xd9\xa0\x9a\x43\x12\x8c\xc9\x61\x03\x95\x83\xe6\x6e\x62\xf4\x2c\xfb\xa5\x78\xa0\xee\x06\x94\x8c\xdf\x6b\x46\x8f\xde\xdc\xab\x33\xff\x01\xff\xb4\xdf\x6e\x49\xaa\x7c\x30\x1b\x50\x75\x42\x78\x9e\x14\x4c\xdf\xaf\xd0\x96\xa5\x6f\x33\xfa\x70\xe3\xca\xc4\x1c\xc9\xfd\xbe\x32\x9e\xb3\xf9\x8a\x89\xb6\xd5\x94\x50\x27\x53\x88\xde\x3c\x2b\x03\xec\x69\x8c\x0d\xb6\xda\x85\x48\x59\xa0\xdd\x6d\x46\x13\xb6\x06\xd8\x01\x34\xdb\xc1\x0b\xde\xaf\xd5\x54\x54\x21\xd2\xcd\xb6\x72\x51\x79\x65\xbc\x11\xd5\xb2\xc2\x22\x0e\xb7\x8c\xa4\x89\x45\xaa\x7f\x96\x9d\x3f\x88\x2d\xb7\x14\xfe\x76\x37\x05\x93\x1b\x63\x41\x93\xc4\x22\x89\x54\x6d\xe8\x8b\x4b\x4b\x81\xe5\x7a\xc4\xde\x5b\x17\xad\x77\xf4\xd0\xe2\xe6\x1e\x08\x17\x8d\x08\xbf\xe1\x71\x7a\x49\x5b\x18\xdd\xa0\xec\xd3\x52\x54\xff\xe9\x3f\x29\x55\x49\xb3\x79\xff\x28\x23\x61\xdb\x60\xbb\xc8\xb6\x49\x20\xaa\xcd\xed\xe5\x49\x63\xff\x1a\x53\x42\x5d\x40\x4a\x55\xf0\xc4\x4c\x9e\x11\x19\x20\xf1\x2c\x37\xf6\xf8\xa8\x28\x9d\xd1\xa3\x60\x54\x8a\xdc\x33\x5d\xf2\xdc\x91\x69\x0d\x1f\x9f\xb7\x75\xe7\x3d\xfd\xc9\xc4\x62\x59\x2c\x2e\xd3\xe8\xe3\x7a\x47\x68\x14\x3b\x75\x03\x5a\x42\x37\x78\xec\x70\x49\x36\x74\x07\xcb\x9d\xe8\x5f\xf7\x3e\x1d\x0a\x1d\xb4\x4f\x80\x93\xc8\xde\xc1\x9b\xed\x2a\x3d\x6c\xbf\x2d\x17\x11\x76\x83\xfb\xd1\x84\x95\xb5\x8c\x38\xb8\xf4\x8a\xfd\xa9\xd7\xb3\xae\x85\xd5\x92\x27\x9c\x66\xc4\x90\xed\xbd\xee\x87\x6f\x5a\x35\xa3\x96\x4f\xc1\x0a\x98\x8b\xe0\xd2\x72\x04\xc1\xb3\x2c\xec\xf5\x71\x0f\xfb\x4f\x35\xa0\xf3\x43\x55\x4f\x48\x2e\xf2\x97\xec\x23\x97\x90\x57\x8c\x59\xf6\x51\xe7\x5a\x6b\x24\x1d\x11\x05\x79\x1d\xfe\x06\x2d\xd7\x43\x9f\x00\xcf\x22\xbe\xe0\xa3\xc2\x8c\x79\xb3\x26\xbc\x82\xc5\xdd\xc7\xf0\xc2\x38\x72\xdf\x70\x11\x12\x21\x2d\x28\xd8\x3b\x51\xa2\xb7\xd6\x42\x5a\xbb\x59\x6b\x3b\xe8\x40\x0a\x8a\x02\xea\x6b\x9d\xf8\x8a\x83\x15\xf3\xcf\xe1\x20\x12\x9b\x0d\x85\x98\x3b\xa6\x92\xda\xad\x38\xa1\xf9\x7c\xcb\xf3\xb9\x97\x0c\xe5\x33\xa2\x4f\xb0\x2d\xcf\xf7\xd1\x3d\x20\xea\x0b\x55\x45\xc3\xdd\x89\x7b\x21\x35\xfb\x54\xe4\xd9\xce\x18\x80\x2b\x7a\xad\x45\x36\x4b\x8b\x20\x56\x08\x9c\xff\x5e\xa8\x19\x86\x10\xf0\xdc\x42\x89\xd4\xbb\x7b\xf2\x79\xf0\x64\x7c\x9f\x35\x95\x73\x57\x56\xdd\x1f\xb8\x96\x32\xef\xb4\x60\x84\x3e\x50\x9e\xd1\x45\x56\xf7\x8b\xb5\xc0\xbf\xf7\x42\xbf\x3b\x48\x65\x39\xaf\x1a\x6d\xdd\xe7\x7a\x3a\x36\xf4\x9e\x91\x0f\x62\x3c\x81\x04\xa1\x60\x4b\xa6\xa6\x43\x6b\x3b\x10\x91\x8c\x28\x9d\x96\x21\xad\x8d\x89\x47\x98\x73\x25\x30\xf5\x68\xcd\x37\xb5\xc6\x01\x36\x75\x1e\xaa\x83\x87\x06\x77\xa9\x2c\xd4\x6a\x5b\xc5\x10\x3c\xb7\xe6\xfb\x07\x59\x33\x58\xd9\x1f\xbf\x49\x0d\x32\xbc\x21\x32\xd1\x5c\xb9\x31\xa1\x26\xd5\x8e\xf6\x25\x27\x4f\x99\xe8\x1e\x5e\x56\x8d\xae\x09\x6f\x25\xf0\x96\x19\xe1\xa0\x34\x32\xfc\x87\x83\xc7\x9b\x34\x11\x6e\x35\xcd\xc8\x41\xe1\xe2\xd6\xb2\x07\x56\x3d\x2f\xcf\x1c\xe3\xc6\xb9\x34\xa0\x13\x4f\xde\x68\x7a\x9f\xc0\xe8\xf8\x63\x48\x73\x42\x73\xbe\x41\x8c\xf7\x86\x7a\xa2\x4f\x40\x3b\xee\xf5\xbb\xc6\x9e\x76\x33\x5f\x70\x88\x22\xba\xb4\x6a\xb5\x0d\x5e\xe2\x19\x3b\x69\x2f\x02\xb8\xe0\xab\xfa\x78\x11\xb5\x2e\x37\x8b\x9c\xf2\x6c\xbf\x79\xa3\x34\xd6\x4a\x56\xa1\x72\xe2\x8a\x56\x01\x61\x30\x67\xe2\x87\xfd\x36\xe5\xc6\x20\xc3\x0f\x60\x1a\xde\x09\xb2\x1d\xb5\xde\x3a\x4f\xf3\x7d\xc2\xfe\x95\x57\xdb\x8c\x60\x9f\xca\xe1\x5a\xc1\x72\xbc\x39\x0a\xd4\xf1\xd7\x3c\x4d\x59\x1e\xf2\xfa\xb8\x50\xfd\x4e\xf6\x7c\x92\xc8\x2d\x61\x14\xaf\x26\x5b\x64\xc7\x54\x2f\x2f\x5a\x97\xbf\x12\xb9\x5a\x77\xf3\x53\x91\xf5\xf3\x54\x53\x07\x7f\x42\xc1\x27\x35\x4f\xf0\xd7\x06\x5a\x89\xe0\xea\x17\xc6\xda\xab\x10\xee\x53\x3d\x95\xa7\x47\xdd\x48\x0f\x4b\x37\xcb\xa5\x6e\xa2\x9b\x23\x4b\x14\xe7\xbc\x30\xc7\x8d\xc0\x97\x0c\x73\x91\x22\xed\x91\xca\xb9\xc8\x0d\x47\x58\xb6\xb9\x32\x27\x51\xe9\x7d\xa1\xa1\x0a\x6e\x1c\xc3\x79\x1e\xf1\x75\x79\xe4\xc7\xed\x5d\x08\x2a\x8c\xa9\xa8\x8f\x63\x1f\xb7\xbc\x30\x9e\x48\x8e\x75\x38\xe1\xa7\x9a\x08\xb1\xc6\x41\xe1\x77\xd6\xf7\x99\x08\x4c\x96\xf5\xec\x3e\x47\xf5\x84\x85\x55\xd8\x36\x5a\xd7\xd5\x03\xd3\xf7\x83\x36\x2e\xcc\x93\xfe\x9e\x47\xa4\xcc\xf9\x03\x2b\x24\xcd\x08\xbe\x54\xcf\x92\x6b\xef\x57\x1f\x4e\x53\x74\x47\xec\x77\xed\x1e\x46\xf4\x1e\x3c\xd1\x72\x72\x35\xb9\x78\xf7\xa3\xc1\x28\xfa\x84\x09\xad\x60\xf1\xfb\x00\xba\xc8\x9a\xf1\xd5\xba\x66\x31\xb0\xc6\x27\xe7\x76\x71\x3f\x74\xfa\x65\x5a\x1c\x9d\x25\xea\xf5\x81\xef\x95\x18\xce\xf4\x80\x87\x77\x01\xa8\x64\xf0\x4b\x2a\x1e\x73\x99\x50\xad\x1a\xa3\xbe\x64\x72\x41\xe4\xbe\xfe\x05\x31\x16\x73\xe5\xd6\xbb\x54\x74\xb3\x35\x70\xc5\xce\xe0\x28\xd7\xe2\x31\x27\x14\x83\x8a\x78\xe2\x92\x62\x7c\x2c\xb6\xe7\x26\x04\xb6\x76\xed\x79\xac\x86\xe9\x91\xa7\x95\xec\xad\x6f\x91\x47\x9a\x65\x13\xba\x6d\xb7\xea\x56\x0f\xfb\x17\xc6\x2f\x34\xcb\xb6\x9a\x76\x68\x75\xa8\xb0\x29\xb7\x76\x7f\x2a\x18\xc5\x9d\xf3\xec\x0c\xff\x74\xe6\x75\xdb\x71\x3d\x3e\xa6\xb8\x47\xbf\x5f\x71\xbf\x67\x7d\x4c\x9d\xdb\x68\xcf\x2c\x81\xc0\x04\xf0\x38\xd0\xb0\x48\xca\x8d\xc1\xa4\x00\xb0\xbc\x04\x6c\x57\xad\xb4\x4f\xb1\xe1\xb5\xe6\xb3\x6e\xa9\x52\xac\x80\xb5\x3d\x31\x7f\x06\x2e\x08\xfb\xb3\x51\xa3\xcc\x4a\x50\x29\xef\xb0\x92\xb1\x63\x3e\x98\x14\xea\x16\xc2\xb5\x08\xf9\x86\x9b\x24\xfd\x2b\xe6\x5a\xd8\xf0\x0e\x3b\x76\x71\x4a\xfd\xa7\x9a\xda\x83\xa6\xab\x67\xd0\xbb\x47\xb3\xab\x94\xd5\x3e\xd1\x21\x7b\x30\xd2\x95\x47\x93\xfb\x55\x21\xca\x3c\x9d\x27\x22\xc3\x5d\x66\x9d\x23\x94\x4c\xae\xdf\x11\xb3\xf2\x30\x9e\x13\x73\x19\x31\x56\xce\xab\xf7\xad\xdf\x24\x09\x96\x0f\x5d\xec\x9c\x74\xfa\x09\x71\x29\x28\x58\x39\xb2\x6a\xdf\x56\x9d\xea\xb3\xe3\xf6\xdd\x9b\x1f\xdc\xd9\x51\xb3\x1e\x95\x45\xd3\x57\x53\xad\x57\x3f\x02\xc4\x08\x5d\xa5\x57\x15\x14\xfa\xfc\xf1\xcf\xaf\x3f\xfe\xf8\xe7\xd7\x44\xfe\x56\x82\x6d\x02\xa3\x4f\x73\xb2\x10\x1f\x5f\xea\x66\x0b\xcb\x7d\x41\x53\x5e\x4a\xf2\xfd\x0f\x4f\xdf\xbc\xb9\x62\xb9\xe4\xa0\xe5\x43\x04\x32\xfc\xc7\x25\x12\x9b\x41\x84\x1a\xf1\x18\x53\x66\xa4\xfb\x42\x98\x54\x15\x18\x26\x6f\x64\x60\xc4\x4e\xc8\xeb\x97\xdf\xbf\x7e\x5d\xb3\xad\x0b\x7b\xc8\xf9\x03\xe3\xbd\x98\x33\x96\xda\xb9\x92\x80\x61\x99\xed\xc8\x46\x3c\xe8\x6f\xd6\xdd\xa7\x0c\x10\x00\xb9\x24\x85\x50\xcd\x8c\x46\xf8\xc9\xb4\x7f\x96\x89\xe4\xfe\x91\x4b\x46\xec\xaf\x84\xe6\xab\x8c\x55\x58\xfb\x34\xe5\x2c\x57\x27\x7a\xc8\x53\xb6\x2a\x18\x93\x7f\x25\xaf\x5f\xfe\xe9\xcf\xff\x71\x4a\xa6\xee\x18\x33\xd9\x26\x29\x7f\xe0\x92\xeb\x4b\xef\x62\x47\x7e\xfc\x73\x7d\x27\xe9\xb1\x9d\x1f\x65\x2d\x22\x02\x82\x9e\x71\x6c\x75\x6f\x48\x25\x79\xee\xaf\xb8\x17\x26\x82\x56\x6c\x5f\x2e\x84\x52\x62\xe3\x3e\x2b\xb0\x83\xd9\x62\xe4\x3b\xb2\x5b\x37\x70\x93\xa6\x7f\xff\xd6\xc2\x65\x16\x42\xd5\xac\xf0\x36\x6f\xc8\x01\x5c\x62\xa1\xed\x47\x9e\xae\x58\xa4\xba\x55\x81\x0f\xbd\x11\xaa\x11\xe7\xb4\x28\xc4\xa3\x31\x1e\xbd\xc1\x3f\x61\xf7\xbe\xa4\xab\x16\x1c\xbe\x39\x05\xc3\xc0\xb3\x26\xe2\xe7\x23\x5b\x10\xc9\xb0\xb0\x04\xa8\xc4\x86\xae\xf9\x3a\x9c\xe6\xce\xa2\xd8\xfe\xbe\xa5\x39\x8e\xab\xbd\x11\x5b\x52\xb7\xdd\xa0\xe2\x51\x8b\x93\x68\xea\x1f\x1c\xf0\x3d\xc7\x13\x42\xd3\xb4\x60\xb2\x6e\x62\xcc\xa8\xd2\xeb\x08\xce\x65\xfb\x77\xcd\x13\xb4\x32\x9b\xe9\x16\xfe\x3a\x21\x29\x53\xac\xd8\xc0\x9a\x85\x88\x35\xaf\xdd\xd0\x7a\x3b\xaf\x14\x8f\xb6\xa5\xe6\x1e\xc7\xac\x32\x48\xbe\x73\x9a\xcc\x11\xb5\x34\xaa\x54\xc1\x17\xa5\x09\xba\x1a\xb9\xff\xa1\xb1\x19\xc0\x56\xb5\x7a\x2d\xc3\x81\x56\xe3\xab\x8b\xbd\x40\xab\x4e\x75\xdd\x44\x1a\xd9\xef\x27\x77\xb7\x97\xbd\x63\x78\x2d\x26\x85\xf8\xd8\x7a\x19\x6c\xa1\x1a\x3c\xa2\xb5\x7c\x3e\x2f\xb8\x4d\x8b\x27\x51\x2a\x7d\x95\xf8\xb8\xc3\xed\x5c\x8f\x76\x8b\x9c\x8a\xaf\x7b\x90\x43\xa8\x00\x8f\xd1\x78\x00\x81\x2c\xfa\x21\xa3\x62\x9b\xf0\x7e\xf5\x97\x29\x6c\xf5\x6a\xd3\x3b\xd3\xc2\x7e\x70\x2c\xd6\x90\x9f\xdb\x04\xff\x89\x45\xd6\xb4\xb5\x74\x6a\xc0\x05\xfb\xea\x4b\xfd\x1b\x2d\x9a\x3c\xf1\x7f\xf6\xa9\x11\x1c\x78\x6e\x86\xdb\x7e\xc4\xdd\xed\xa5\x39\xe9\x2a\xf4\x60\x3f\x52\x27\x70\x3d\x99\x98\x9b\x62\xfd\xe3\xf4\x55\x92\x9a\x65\x52\x8b\x40\xd6\x6f\x97\x85\x3b\xf7\xcf\xcb\x86\xd9\x05\x5f\x3f\x31\x99\x22\xfa\xba\x59\x0b\x76\xdd\x2c\x58\x3a\x37\xf7\xf1\x9f\xc8\xb3\xf7\xf0\x97\x7d\x19\x9e\x42\x2e\xb0\x99\xd2\xbd\x37\xf7\xd6\x66\xe8\xd5\x13\xf2\x9c\x9d\xae\x4e\x4f\x20\xdd\xe5\xd5\x5a\x6d\x32\x22\x0a\xbc\x6a\xbf\xda\x6c\x7f\x7c\xb1\xdf\xb4\x19\x4d\x33\x8a\x00\x6a\x6e\x5c\x7c\xfd\x6c\xe1\xcd\x59\xcf\x85\xfe\x23\xe6\x73\x0e\xf5\x1f\x40\x2f\xef\xa9\x5c\xc3\x36\xde\xd2\x95\xc1\xc6\x8b\x73\xd4\x19\x17\x9f\x99\xf1\xfa\xc9\x5e\xc5\x3b\x6d\xf4\x6a\x2a\xac\x92\x61\x15\x8a\x96\x55\xaf\x0f\x51\x17\xf6\x01\xc0\x7f\xb5\x63\x16\xce\x58\x33\x0d\xef\x84\xd0\xda\xe0\xb9\x48\xe4\x09\x19\x6d\xb7\x64\xaa\x44\x51\x4f\x28\x56\x5c\x65\xc6\x5c\xa9\x2a\xc5\xb1\xa5\x5b\xbb\x08\x66\xde\xfc\x6b\x95\x60\x0b\x20\xd5\x67\x20\x50\x7f\xb2\xb9\x47\x27\x68\x95\x3f\x21\xb4\x4c\xb9\x38\xc1\x25\x70\xe2\x84\xf0\x89\xb5\xd8\x9c\x10\xba\xdd\x82\xa9\x5e\x8a\x0d\x53\x6b\xfd\xd9\x2c\x93\x6d\xf2\x4d\x2f\x11\xb1\xb4\xb3\xaa\x25\xb6\x81\xf6\xe8\x92\x75\x4e\x00\x07\x11\xce\xda\x09\x23\xbc\x0f\x58\xbd\xca\x03\x2a\xeb\xb9\x19\x9b\x4f\xb7\xa9\x1c\x1b\xf4\xb7\x3c\x1d\x4f\xc3\xbf\xe4\x62\xbb\x3d\x17\x5c\xfc\xe0\xa0\xbf\xa3\xf6\x3c\xca\x50\x60\xad\x5e\x2d\x7e\x33\xd6\x9c\xa5\x98\x08\x0b\x6f\xa7\x74\x7d\xc1\xb5\x50\x36\xb8\xbb\xe3\x3b\x7c\xaa\x38\x0f\xc0\xb6\x2e\x9a\x2d\xe0\xcd\x9a\xca\xfc\x3b\x35\x0c\xfc\xcb\x3b\xa0\xe6\x68\x67\xb4\xc7\x14\xf4\xb0\x07\xc3\x1a\xbf\x00\xba\x06\x66\xc2\xc0\x77\xd7\x31\x28\x96\x22\xc6\xa0\x1d\x18\x0e\x2e\xbd\x80\xa4\x05\x43\x1c\x99\x41\x30\x40\xad\x65\x09\xb6\x85\xd0\xca\xab\x6e\xce\x54\x85\x0b\xc5\xd0\xb5\xc3\xf8\xfc\x37\x33\x1a\xcf\x50\xcb\xb2\x1d\x3e\xfb\xef\x6d\xa3\xf1\xdf\xa3\x06\x60\x41\x25\x4f\xc8\x02\xc0\x2f\x76\x5b\x83\x72\x0b\x48\x79\xe0\x46\xc1\xbb\x4c\xe5\x35\x85\x73\x8c\xeb\x5b\xf8\x4b\x96\x41\x30\xa7\xcb\xe9\x94\x27\x84\x9f\xb2\x53\x52\xe6\x92\xaf\xf4\xfd\x02\x63\xe6\x4c\x2a\xf3\x6b\xfd\xe6\x0f\xff\xfb\x4f\x3f\xbc\xfc\xde\x34\x6a\xd1\x87\xa1\x5e\x87\x3b\x1a\x40\xea\x48\x96\x3d\xb0\x7a\xac\xf3\x95\x3e\x86\x44\x6e\xf8\x85\xef\x0f\x06\xba\x8f\x30\x22\xf2\xb4\x76\xaf\x7a\x8b\xd7\xa4\xbd\x61\x0a\x13\x47\x0c\x5f\xed\xe2\x06\x97\xaf\x78\x86\x5a\x6d\x6f\x01\xca\x7e\x56\x2e\xe1\x86\xf9\x12\x54\x24\xb8\xc5\x06\x50\x47\xbd\x0e\xc4\xb9\xb9\x20\x74\x19\x03\x3b\xe9\xfb\xd9\xc2\x32\x17\xb4\x54\xc2\xde\x46\xf6\x0d\x84\xad\xfc\x99\xea\xb9\xb7\xa6\x96\x6d\x90\xaf\x1a\x5d\x8c\x5b\xbd\xa5\x1c\x6e\x3b\x07\x33\x7a\x6f\xc0\x42\x82\x9d\x5b\x92\x08\xd1\x8b\x94\xf5\x00\xb7\xf6\x6e\x37\xdb\x09\x95\xf2\x51\x14\xad\x82\xbf\x8d\x2c\xa2\x7b\x97\xb2\xb8\xb5\x2f\x75\x32\xf1\x8b\x35\x01\x77\x8e\xbd\x47\x35\xc0\x42\xdc\x33\xec\xbf\x34\x8c\x57\xdd\x1c\xec\x11\x47\xdd\xf1\xea\xb9\x20\xdd\x0c\x9d\xd3\x9d\x9c\xcd\x2e\x3b\xb8\xb0\x14\x11\xd3\xc0\x37\xec\xa5\x12\x2f\x33\xfe\x80\x19\xf7\xc6\xa1\x6c\x42\xb8\x03\x7c\x94\x6a\x7d\x7a\xf1\x71\x2b\xf4\x79\xd1\x6b\xfb\xeb\xa0\xee\xe7\xcf\xbe\x57\x1f\x9f\x30\x5b\xbd\x9c\x1c\x6c\x82\xcc\x9a\xe2\x2c\xc8\x44\x9c\x14\xfb\x4c\xd2\xeb\x0d\xcd\xef\xcf\x68\x91\xde\x6c\x59\x7e\x57\xb4\xc6\xc6\x36\x49\xfa\xb9\x38\x2b\x58\xca\x15\x49\x68\x81\x68\xf5\x70\x2b\x77\x18\x57\xc6\xdf\xb1\xa0\x79\x20\xa0\xe4\x0d\x95\xe1\x0b\x42\xf5\xb0\x9f\x8f\x37\x78\xf4\xb6\x6a\xe1\x8d\x2e\x85\x68\xff\x76\xfd\x7b\x44\x47\x42\x64\x8c\x62\x22\x70\x20\xaa\xe0\x8d\x50\x67\x18\x76\xdb\xde\x8f\x7b\xda\xdf\x5b\x55\xa4\x08\x2d\xdf\x26\x9c\x77\x1f\x1a\x6b\xbf\xf0\x7e\x93\xa5\x31\xc6\x0c\xb7\xf1\x33\xf6\xe3\x20\xa3\x6a\x5f\x2c\x84\x92\xe4\x79\x75\xe7\x68\x09\x35\x0e\xf3\x91\xf1\x9c\x75\x40\xf1\xef\xd1\xc4\x70\x86\xf9\x34\xf5\x5a\x00\x81\xae\x31\x77\xb0\xb3\x67\x43\x12\x23\x17\x34\xa1\x34\xe9\xbb\x26\x13\xe7\xb7\x92\x15\x81\x40\x97\xb3\x34\x3f\x13\xf9\x92\xb7\x5e\x11\xaa\x87\x11\xfb\x0e\x08\xad\x31\x4a\x5f\xf9\x6c\x1e\xb3\x33\xad\xca\xc0\xf2\x3c\x4b\xf3\x49\xb9\xc8\x78\xf2\x33\x6b\xbd\x86\xd6\x9e\x47\x68\x2d\x40\x0b\x99\xdb\x08\x2b\x83\xd1\xdf\x69\x09\x58\xb3\x6b\xbd\x22\xd6\xf4\x1e\xb3\xe8\x30\x95\x3c\xc8\x18\x42\x9a\x8d\xd2\x0d\xcf\x2f\xc5\x0a\x50\x4a\x5b\x19\x6c\xa3\x8b\x50\x88\x0d\x16\x50\xad\x5a\x30\xa1\xba\x15\x2d\xd2\xe3\x79\x1a\x25\xa1\x63\xa5\x83\x3a\x62\x4a\x9b\x1c\x99\x6a\x59\xd1\x7c\xc9\xb7\x3c\x53\xed\x21\x2b\x5d\xe4\xfd\x9c\x21\x21\xac\x32\x48\xf3\x03\x5b\xd1\x83\xb5\xf5\xfa\x68\x74\x71\xa3\x79\x29\xc2\x15\x1d\x9b\x24\xfd\xdc\xbd\x63\x62\x55\xd0\xed\x1a\xaa\xc1\x65\x5e\x64\xad\x57\xb8\xf9\xf9\x4a\x13\x89\x72\x2b\x03\x82\xc9\x74\x6b\x4b\xa1\xf6\x8e\x64\x83\xf0\xb0\x31\x84\x8d\x62\xb3\x3c\xf1\xda\x88\x50\x37\x30\x96\x4d\xfc\x9e\x56\x86\x27\x60\xf6\xe3\x5b\xda\xb9\x55\x7c\xaa\xf8\x85\xb8\xf5\xde\x8a\xe4\xa1\x7f\xe0\x5a\x88\x0f\x1b\xbc\x64\x9f\xcb\xee\xa1\x92\xa7\x76\xf9\x1b\xa9\xdd\xc1\xe5\x3e\x6d\x84\x7c\xa9\xef\xdb\x3e\x66\x06\x4d\x60\x2b\xf9\xf1\x67\xb2\xad\x9b\xee\x61\x6a\xa3\x8f\xe6\xcb\x2f\xad\x1e\x35\x8d\xa1\x21\x8a\x19\x8b\x1b\xa8\x85\x43\x52\xb6\xe4\x39\xe8\x53\xd0\x6f\xf8\x28\x52\x30\x9f\xb7\x7c\xb5\x0e\x0e\x41\x8d\x64\xd0\x25\x02\x32\x09\xe0\x3d\xa3\x3a\xa0\xe0\x0c\xd4\xb1\xef\x60\xf2\x8d\xa6\x4d\xbb\xb9\xac\xd1\x3c\x85\x4d\x92\x8b\x62\x43\x33\x9b\x3c\x43\xa8\x27\x62\x5f\x59\xb6\xb5\x12\xda\xc1\x70\x28\x2d\xcf\x3d\x8b\x9e\x49\x0f\x38\xd6\x20\xb1\xa5\x06\x6e\x2c\x6c\xc8\xd0\xbd\x8c\xf3\x07\xde\x0e\x6c\xe7\x3d\x8d\x5a\xc3\x5a\x95\x00\xea\x60\x5f\x18\x0f\x1d\x9c\x19\xfb\x38\xc2\xd8\xef\xd0\xdd\x4c\x80\x37\x22\x82\xf5\xa8\xfd\xba\x8f\x7e\x01\xa3\x86\x09\x15\x8b\xa5\x01\x2b\x02\x07\x7c\xc3\x34\x77\x1d\xb3\x1e\x21\x4f\xd4\x40\x19\x52\x5f\x05\xd2\xd5\xd9\xf2\x39\xea\xd0\x34\x55\x30\x15\xab\x7a\x78\xa8\x50\x09\x65\x65\xd5\x79\x10\x29\xeb\x32\x0b\xd4\x9e\xf7\x73\x62\x49\x9d\xfb\x07\xf2\xd7\xc1\x65\x6c\xf0\x2c\x42\x6c\x04\xaf\x23\xb1\x77\x91\xd0\x4c\x8c\x26\x63\xfd\x23\xdc\x53\xf4\x2e\x75\xd5\xae\x83\xd3\xe2\x72\xe2\xdb\x98\xa9\x65\xc1\x77\x96\x42\x32\x85\x3d\x1a\x99\x11\xf5\x8c\x8b\xb6\x8e\xc3\xe5\x45\xea\x04\x51\xd7\x33\xaf\xb6\xc8\x4f\x76\xd3\xbe\xb2\xd9\x2d\xdd\x7c\xc8\xd3\x5b\xc4\xe9\x4e\x27\x2c\xa0\x4c\xb5\x12\x46\x5c\xd6\x18\x2b\xaa\x1a\x71\x08\x18\x8d\x98\xe0\x58\x18\xe4\x7f\xba\xe4\xf2\x6e\xfe\x66\x62\xab\x9b\xea\x1a\x2b\x8f\x28\xc2\xf8\x28\xb6\x64\xcb\x82\xf6\xd7\x73\xaa\xe8\xdf\xa6\x37\xd7\x6d\xdd\xb9\x67\x03\x4e\x36\x42\x89\x7e\xe5\x25\xcb\xf5\x2e\x49\x4d\x9d\xbc\x40\xdf\xc9\xcd\x36\x74\x59\x71\xcf\xe2\x8c\x27\xa6\x94\x23\x6c\xd1\x44\xe4\x39\x33\x95\x48\x04\x40\xd1\x91\x84\xe5\xaa\x08\x2d\x8d\x73\x8b\x9b\xbe\xcf\x04\x3e\x89\x3e\xb1\x96\x21\x89\x84\x0d\x85\x35\xf8\xda\xf3\x88\x73\x02\xf1\xdd\x97\xa8\xbb\x3f\xc7\x1c\xeb\xd0\xfd\xcb\x6f\x7b\x5a\xae\x56\x4c\x06\xc0\xbe\xda\x09\x23\xe4\xa3\xa5\x25\xa9\xcf\x97\x8c\x63\x2c\xb4\x0f\xbd\xa7\x71\x9b\x0f\x22\x2e\x20\xa3\x93\xb9\xf3\x1b\x19\x08\x74\xdf\x11\xdf\x38\x20\xb8\x71\xe4\x02\x40\x42\x73\x6f\x1e\xbb\x68\x8c\xae\x0e\x2b\xa2\xfe\x9e\x3f\xd0\x82\x8b\x52\x92\xad\x90\x18\xe1\x5c\xc5\x9e\xa1\x06\xe1\xc2\x03\x9f\x5b\xa0\x63\x3c\x4d\x09\x5f\x12\xae\xbe\x83\x5a\xa6\x58\x4a\xef\x84\x50\xf2\x6e\xfc\x56\xff\x63\xa2\x5a\x68\xad\x38\xdf\x09\xd8\xe0\x36\x50\xee\x54\xab\xd4\x18\x00\x03\xe1\xce\xfa\x3c\x0a\x4d\x70\x41\x97\x5d\x95\x41\x6b\xcf\x07\x7a\x0a\x6c\xd9\xc9\x54\xb7\x11\x18\xf9\x8b\x8d\xf8\x2f\xfe\x33\xdb\x85\x9c\x6a\xb5\xe7\x11\x6e\x12\x4d\x4e\xee\x0d\x7d\x6f\x8f\xb2\xbb\xce\x4e\x88\x34\x42\x61\x65\x8f\x84\xf9\xbc\x04\x44\x3b\xf4\x60\x41\x77\x82\x2c\x38\x82\xd8\x01\xc8\xec\x0b\xe1\x4e\xef\x6e\x5b\x1d\x67\xee\x59\x6c\x57\x5e\xd4\x67\xa3\x17\x8b\x8e\x1e\xba\xb9\xd6\x09\x0e\x57\xb4\x68\xee\x21\xb1\x77\xdc\xbf\x5c\x7f\xa1\x6c\xa5\x3a\x41\x94\xd2\x49\xeb\xbd\xd7\xe1\x75\xdb\x7b\xef\xd8\x6c\x7b\x34\xc3\x07\xa5\xe2\xc5\xec\xbe\x10\x3b\x45\xd1\x9e\x72\x8a\x0f\xa2\xec\xc9\x62\xef\x26\x4a\xd1\xfa\x4f\x98\x6e\x24\xd4\xb3\xf1\x64\x76\x5f\x46\x5b\xa8\x06\x38\x49\x93\xbe\xdb\xa9\xa5\x34\x03\x7d\xc9\xf3\xd6\xf4\xf2\x36\xb2\x7e\x36\x00\xc7\x34\xe3\xf9\x3d\x48\x5f\x88\x0b\x35\x8b\x75\xcf\xbc\xd9\xce\x9d\x5e\x7f\xef\x31\xfa\x73\x8f\x25\xf7\x2c\x82\x0f\x83\x7c\x47\x73\x62\x91\x8e\x0d\xd6\x82\x49\x91\x59\x33\x00\xda\xd1\x0a\x19\x14\xb6\xe3\x6a\x67\xb4\x62\xeb\x45\x09\xf3\xd7\x65\xc5\xae\x3d\x8f\x51\x0e\x7d\xb8\x29\xdf\x86\x4d\x6d\x38\xa7\x45\x79\x4c\xf5\xf9\x92\x60\x95\x5a\x11\x72\x3d\xbf\xb5\xc0\x71\xfb\x8c\xe1\x93\x18\x8d\xa1\x4b\x2d\xc1\x66\x42\x5a\x91\xf7\x34\xf2\x4a\x42\xa5\x14\x09\x87\xaf\x52\xa2\xb3\xe7\x77\xb4\xdd\x59\xfc\x8e\x46\xf9\x89\xab\x91\xd6\x1a\x42\x56\x30\x9a\xee\x10\x62\x7f\x15\xbc\xf5\xbc\x63\x62\x22\x78\xbb\x0e\xe6\x9e\x1d\x60\x2b\xb0\xef\x06\xc4\xc4\xbb\x4c\x2c\x68\x66\x82\x82\xba\x2c\x05\xed\x84\x11\x8e\x13\x78\x6f\x0f\xdf\xa7\x9d\x9b\xf7\x2c\xdb\x9e\x9e\x33\xb6\xd5\x22\x20\xe4\x4b\xde\x27\x8a\xbc\x2a\xdb\xd3\xcc\xde\x90\x2c\x04\xa6\x5a\xfd\xf4\xea\x15\x49\x19\xdb\x82\x38\xe9\x60\x6d\x42\xa5\xd4\xa2\x2a\x6c\xcf\x68\x23\x8b\xb8\x99\xda\xbc\xb2\xad\x79\xd3\x99\x34\x3a\xe2\x4f\xa0\x2b\x84\x4d\xb8\x62\x77\x45\xd6\x3a\x6d\xfb\x44\x31\xda\x65\x02\x71\x88\xa7\x1b\xc8\x7f\xe8\x9a\xab\x29\xc2\xc7\x85\x8a\x35\xef\xd1\xc4\x38\xda\x14\xc8\xa6\x8c\xff\x93\xa5\x18\xf9\x0e\x55\xe0\x7d\x9c\xba\x30\x3f\x33\x56\x6c\xe4\xcd\x72\xca\x8a\x07\x9e\x30\xac\x09\x12\x64\xac\x95\xb8\x9f\x43\x24\xd4\x72\x73\x56\x21\x65\x2b\xdd\x16\x56\xd2\x80\xd6\x3a\x78\xbc\x93\xac\xe8\x5c\xdb\x8e\x20\x82\x97\x3d\xcc\xb8\x7a\x7f\x7c\xb5\x9e\x26\xa2\x68\x1f\x03\xf7\x30\x62\x56\xf4\x3c\xac\xf9\x6a\x4d\x24\xbc\xd1\xda\xdb\x78\x63\x94\x89\xb0\x85\xad\x49\xf2\x04\x75\x94\xc8\x12\x12\xe1\x96\x65\x96\xed\x08\xdf\x58\x9d\x04\x5b\x0e\x88\x3b\x8c\xbc\x78\x23\xd4\xf4\x91\xab\x64\x3d\xb9\x6a\x65\x72\x8f\x28\x62\x07\x1b\x3c\x3c\x83\xc7\xca\xd2\x2a\xfd\x51\x09\x77\x45\x5b\xf3\x8d\xbe\x8d\x5b\x2c\xb4\x00\x8b\xdb\x52\x8d\xb6\xdb\x60\x64\x42\x9d\xe0\xc0\x11\x74\x20\xdb\x18\xad\x00\xa1\x3e\x5e\x45\x1b\x80\x55\xdd\x6e\x33\x83\x13\x17\x1c\xcd\x6d\xa9\x62\xa2\x6d\xda\x09\x07\xde\x73\x25\x86\x55\xf8\x41\x38\x5e\x0d\x53\x56\x38\xc8\x2c\x8b\x86\x3d\x80\xe9\xf1\x79\x34\xdb\x5e\x82\xcf\x97\x64\x3c\x1c\x60\xd4\x4a\x17\xa3\xb4\x58\x84\x5f\x52\xe0\x3b\x61\x2e\x8c\x6b\x35\xd8\xbb\x7d\x3e\x70\xa0\x8c\xd6\xde\xdd\x71\xd8\xa7\xd2\xa0\x88\x71\x32\x59\x2d\x29\x67\x8f\x03\xbc\x2a\xa6\x23\x96\xdc\xdb\x08\xe4\xe9\xed\xa4\x83\xa3\x06\x61\x94\xba\x62\x41\x85\xd0\xd7\x02\x77\x08\x9b\x34\xe6\x2e\x11\xb0\x5e\x7e\x78\x3b\x22\xd3\xdb\x49\x4f\x5c\x33\x72\x02\x25\x1f\x83\xf9\xb7\x7b\x34\x71\x06\xe7\x4a\x96\x40\x9d\x88\x8f\x3b\x57\x4c\xcc\x98\x9f\x3b\x47\xb1\xe3\xac\xf0\x9f\x1f\xa0\xf9\x5a\x0f\x8d\xdb\x6a\x7e\xc1\xff\x85\x10\xf7\x5d\x7c\x75\x5b\x64\x9b\x24\x87\x9b\x65\x6d\x60\x4e\xd7\x6d\x04\x7b\xeb\xb0\xd1\xd6\x09\x86\xac\x7b\x67\x17\x45\x1d\x6b\x81\xa9\x2c\x5a\x5a\x29\x56\x60\x35\xf3\xae\x51\xea\x35\x3e\xb5\x50\x45\xcf\xa4\x64\x4a\xee\x5b\x9d\xc8\xf8\x3c\x8a\xa3\x90\xf5\xa9\x85\x6a\x18\x47\x75\x33\x14\x02\x55\x29\x45\x93\xf5\x26\x18\x47\x07\x7d\x76\x32\x14\xc9\x47\x35\x71\xd0\xb7\x33\x37\x98\x10\x68\x2c\xc3\xdb\x35\x3c\x7d\x26\x85\x7d\xa2\x78\xa6\xf6\xad\x0a\x6e\x80\xac\x9d\xa3\x93\xb5\xce\xdb\x7e\x93\x24\xf2\xca\xdf\xeb\xfa\x80\x76\x43\xd7\xfd\xea\x61\x8c\x29\x43\xdf\xed\xbb\xdd\xe0\xd8\x5e\xc7\x45\xbf\x4e\x30\x64\x3d\xf4\x5c\xf3\xa1\x61\x08\xe6\x0f\x76\x8b\x4f\xe3\xfb\xc4\x34\x76\x9b\xd9\x0e\xf3\xdd\x6d\x0b\x35\xbd\x74\x2b\x89\xf1\xba\xe1\xa8\xdb\xb8\x07\xad\x01\xd6\xf1\xae\x73\x4d\x79\x24\x83\xcf\x18\xc8\xc7\x66\x5e\xed\x3c\x9a\xa7\xaf\x44\x61\xea\x1d\xa0\x52\x6d\xb3\x26\x49\xee\xe1\x2e\x87\x62\x13\x80\xa3\x09\xdd\x69\x51\x72\x56\x30\x00\x22\xa3\xed\x17\xfb\x10\x69\xc4\xc6\xc0\x97\x48\xe2\xbd\xd5\xc1\x4d\xd7\xe0\x0d\xd8\x8a\x3d\x5d\xe0\x34\x74\x19\xa0\x42\xa4\x11\x5e\x22\x7f\xe4\x5b\x20\xf2\x5a\x38\xd2\x2a\xc2\x19\x6d\x0f\x22\x6b\x50\x44\x7c\x3e\x14\x50\x48\x34\x71\x67\x97\x1d\x5a\xed\x70\x8d\x16\x61\x73\x97\x5e\x25\xd1\xc8\x33\xdd\x98\xf8\x02\x71\xfb\x4d\x92\x88\xaf\x37\x96\xbf\x7b\x16\x48\x57\xf0\x9b\xbc\x2d\x3b\x0e\x49\x9f\x26\xbe\xdf\x42\x93\x87\x3b\x9e\x42\x89\xb3\xce\xc3\xd9\x23\x89\xf1\x56\x41\xc9\x34\x67\xc8\x43\x4f\x40\x1d\x47\x42\x32\x03\x85\x6d\x89\x52\x91\x84\x93\x79\x3d\x1e\xa0\x20\x68\x0f\x9f\x48\x13\xcd\x28\x64\x3a\x1f\x83\x41\xc8\x89\xee\x3e\x62\x7c\x9a\x18\x01\x8f\x79\xd6\xe6\xa4\xe1\x39\x5a\xd3\x17\xe5\x86\x58\x19\x0b\xfe\x37\xfd\x10\xae\xd8\x00\x41\x66\x03\xda\x4f\xf5\x31\x7c\x55\x66\x8a\x43\x7f\x5d\x2b\x7e\x8a\x9e\xfd\x29\x0b\x9f\xc9\x1e\xc9\xd0\xcb\x3f\xbe\x29\x59\x97\x6e\x58\x35\x3f\x56\xac\x35\x49\xbb\x8d\x2c\x62\x8e\xf1\x85\xfe\x9e\x59\xda\x33\x73\x75\xb2\xc1\x11\x0a\x7a\x8e\x60\x7a\x50\x55\x86\xf2\xd3\x38\x2e\x1d\xbc\x05\x73\xf6\xbc\xa7\x11\x77\xe9\x4c\x94\x69\x03\xca\x23\xd0\x57\xef\xf1\x53\xa7\x8a\xb2\x0a\xf6\xa6\x0a\x42\xc3\x77\x81\xda\x5e\xd5\xc3\x21\xb2\x1f\xcc\x8e\x87\xdd\xe8\x7e\xe9\xc2\xa4\x6d\x50\xf4\xb3\xf4\xcb\x1e\xbc\x68\x4b\x8f\xdd\xf8\x6a\x7b\x34\x11\xab\xde\x14\x0a\xaa\x5d\x70\x15\x96\x08\xc9\x32\xac\x7e\x62\x30\x9d\x1a\xd5\x4b\x95\xa9\x99\x68\xee\x53\x16\x1b\x6c\xaf\xf0\x65\xeb\x57\x44\xdd\xad\x9a\x74\xfd\x5f\xe3\xc3\xf8\x17\x08\x76\x06\xd8\x51\x01\x5e\x1e\x04\x6f\x8f\xb2\xb1\x8f\x62\x8c\x3a\x48\xd9\xda\xc3\xdf\xa6\x37\xd7\xa8\x06\x07\x0f\xa3\x26\x49\x7f\x8f\xfa\x0d\xad\x20\xfc\x84\xc7\x11\xd9\x52\x1e\x58\x32\x9a\xb2\xb3\xe3\x41\x5d\x42\x6f\xed\x1d\xfd\xcc\x76\x0b\x41\x8b\xf4\x4d\xa9\x54\xfb\x7c\x36\x28\xfa\xbb\x7c\x23\x94\x3e\xb9\x8c\x25\xf8\xde\xbc\x4e\x16\xf0\x7e\x60\x71\xd5\x3b\xb9\x15\x8f\xfd\x9c\x68\xa2\x83\x99\x29\xc4\x63\x80\x93\x4b\xba\x60\x19\x4b\x27\x45\x60\x7d\xd5\x9e\x47\x2c\x6b\x24\x27\x5b\x4d\xaf\x68\x20\x97\xef\x92\xe6\xab\x09\x4d\xee\xbb\x03\xc8\x5a\xa8\x62\x18\x30\x35\xd8\xb6\x34\xb9\x77\x05\xf8\x3a\xb9\xe8\x8a\x20\xdb\xa3\x19\xca\x41\x77\x30\x99\x6d\x7e\xaa\x8a\x00\xf6\x4f\x83\x62\x68\xf7\x12\x5f\x6b\xed\xfc\x8a\xca\xfb\x33\x01\xe1\x75\x2d\x1d\x7b\x4f\xfb\x3b\xd5\xc4\x24\xd1\xd4\x3c\x87\x08\x89\xe7\x7c\x59\x15\x26\x6b\x46\x5a\x5a\x65\x41\x09\x7b\xa3\x09\xc4\x57\x76\x98\x15\x06\x07\x79\xe1\xf3\x05\x06\x5a\x75\x9b\x34\x4c\xdb\xe1\x5c\xdd\x3a\xc1\x41\x2c\x24\x78\x6d\x35\xb6\x74\x3b\x18\xc6\xcd\x1c\xc7\xdf\x45\xae\x78\x3b\x1a\x58\x9d\x20\x62\xfa\x8c\xfb\x8a\xe9\x17\x38\x93\x27\x75\x48\x3b\xa9\x76\x80\x03\xcd\x3e\x9a\x04\xe8\x4e\x13\x8d\x69\xec\xed\x63\xfa\x9e\xd1\x40\x28\xd1\x1e\xcd\x30\x9f\x84\xd6\x82\x1e\x69\x91\x7a\x05\xa0\xba\x58\x19\x57\x4a\xd2\x99\x28\xf5\x7f\xda\x57\x7c\x98\x3a\x7e\x08\x3d\x85\x0c\x91\xc2\x82\x0a\x86\x79\x23\xa8\xa1\xd7\x9e\xc7\x30\xa0\xe9\xba\x7a\xba\xd5\xb2\xb0\xa3\x27\x7c\x1e\x33\x13\x2e\x0e\x8a\x14\xfa\x1d\x13\x9a\xa7\x7a\xd2\x8e\x6d\x37\x6c\x9b\xf1\xf6\xbc\xb6\x06\xc5\xa0\x45\xb1\x15\x12\x71\x24\xe0\x76\xf2\x1c\xdd\x6b\x98\x69\xfa\x82\x00\x8c\x2b\x4e\x50\x81\x8d\x23\x45\x67\x5e\xb7\xc7\xcd\xae\x77\x29\xfb\x54\x51\xf7\xa8\x6c\xe7\x47\x2d\x75\x72\xa0\x6f\x0a\x1f\x44\x7b\xc8\x4b\x93\xa4\xbf\xef\xf7\xe2\xd1\x5e\x26\x1e\x84\xb2\xf8\x1f\x5b\x11\xb2\x63\x99\x1e\x3e\x18\x24\xbc\x10\x07\x1f\x6a\x15\x39\x3a\x82\xfa\x01\x71\xd4\x6c\x60\xbb\x45\xc8\xff\xf0\xe3\x17\xec\x14\x81\xf5\xd9\xd4\x07\x4d\xa2\x76\xba\x3c\x1d\x2d\x97\x20\x4f\xed\x0f\x1d\x1c\xb7\x10\x47\xef\x73\x49\xa8\x79\x57\xdf\x2a\x3a\xd5\x8c\xaa\xb7\x2c\x9b\xda\xeb\x71\x27\x57\x1e\x5d\x84\x3d\x25\xcb\x7a\x6e\xdd\x55\xc3\x45\xb2\xe6\x0f\x2c\x8d\xe3\xa2\x49\x1c\xc1\x8a\x79\x25\x96\x9f\x37\x42\x9d\xd1\x2c\x5b\xd0\xe4\x7e\x94\xcb\xc7\xce\xfd\xd5\x46\x1d\x61\x25\x30\x2f\x10\x0a\x6f\xe8\x15\x15\x0c\xc4\x70\x1d\x9d\xaf\xc3\x81\x80\xfb\x44\x51\x6e\xff\x7a\x90\x53\x22\x5a\xf2\x1a\xe1\x66\x7f\xcf\x76\xd6\xb5\xa0\x0f\x90\xc5\x8e\x68\xe5\x97\xb3\x97\xef\x59\x96\x6d\x68\x4e\xb6\x85\x50\x22\x11\x59\xb7\x66\x20\x4f\xdf\xd2\xd8\x79\xae\x53\xf6\x7f\xcd\x5b\xfa\x20\x0a\xae\xe2\x67\xf9\x2d\xa3\xaa\x2c\x62\xb9\x69\x12\x47\x30\x64\x5e\x89\xe6\x47\x94\x79\x5a\xd9\xdc\x7a\xf8\x69\x12\x47\xf0\x03\x35\x11\x2a\x03\x61\x1f\x3f\x2e\x60\xaf\x9b\x13\x8f\x2c\x42\xc6\xbb\x98\x3e\xad\x8a\xe7\xe0\xc4\xec\x39\xe6\xe4\xa9\xd5\x1a\x53\xae\xce\xa9\xea\xd2\x49\xf6\x69\x07\xe8\x98\x29\x57\x98\xb3\xe8\xc0\xd5\x7b\xf8\x9a\x30\x56\x60\x54\x46\xf7\x08\xf9\x74\x11\xf7\x24\x2e\xc1\xc5\x97\x9a\x37\xba\x79\xc0\xe0\xd9\xa8\x25\xdc\x20\x8d\x51\x06\x20\x30\x37\x72\xf9\x4e\xf5\x7e\x7d\xc7\x97\xdd\x4c\x54\x54\x11\x86\x35\x4d\x4b\xde\x8d\xdf\xf6\x76\xcd\x68\x91\xac\x8d\x52\xdc\xdd\x7d\x8d\x32\xc2\x97\xe7\x20\x0a\x0a\x83\x8a\x85\x86\x3d\x5b\xeb\xc4\xa5\x1d\x2f\x76\x70\x4b\xd2\xad\xf7\x32\x9b\xab\x98\xb4\xa1\xee\x17\x0e\x90\xee\x56\xd1\x44\xd4\x57\x11\x9d\x61\x55\x31\xd2\xe9\xb8\x68\x23\x8b\x76\x19\x04\xfd\x15\x2d\xad\x8e\x73\xa9\x68\x96\x85\x23\x12\x7b\xdf\x89\x59\xfa\x9a\x10\x02\xac\x1d\x83\x58\x00\x20\xcb\xf0\x08\x34\xd0\xc2\x71\x5c\xf7\xec\x89\xf8\x2d\x39\x8d\xda\x8b\xe1\x74\xe7\xc1\x10\x4f\x75\x0b\x01\xc4\x61\x98\x88\x52\x68\x21\xb0\x64\xae\x19\x2d\x98\x54\xe7\x49\x1b\x0f\xd5\xc3\xe8\xee\xf7\xc2\xb1\x73\x6c\x23\x22\xc7\xbc\x3b\x26\xe3\xab\x0a\xc7\xb8\x0e\xc0\xc8\x5c\x0f\x84\x90\xb1\xd8\xd1\xd2\xec\x72\x5a\x2c\xb8\x02\x30\x5a\x06\xe5\xeb\x31\xc3\x2f\xc0\x44\xa8\xa6\x47\x64\x41\x8f\xb1\x5f\x24\x63\x1b\xbc\x16\xe9\xd6\xde\x64\x22\x69\xcd\xcf\xab\x1e\x0e\x73\xfc\x35\x4a\x74\x00\xb0\xb8\x01\xcd\x0e\x73\x71\x46\x83\x48\x08\xfe\xe3\x98\x38\x97\x15\x23\x89\x21\x0f\x76\xa7\x4f\xf7\x90\xd3\xb5\xf6\x3c\x62\xa8\x15\x83\xf0\x7e\xa8\xac\x4f\x32\x2e\x3b\xbe\x52\x37\x7b\x53\xa4\xac\x60\x69\x5f\xef\x3e\xd9\x93\xc6\x5f\x60\x43\x3d\x9c\xdd\xb2\x8c\x2a\x96\x8e\xb0\xd2\x43\x88\xb1\x06\x55\x0c\x5f\xf0\x82\xad\x20\x11\x10\x98\xba\xe9\x19\x5d\x64\xec\x8c\xb5\x6f\xbd\x3a\xc1\x40\x3f\xb4\x02\x18\x51\x0c\x24\xa8\x8d\x0c\x3c\xe8\xe1\x28\xe0\x7b\xa9\x3d\x8f\xf0\x08\x03\x0b\x85\x78\x0c\xf5\x86\x41\xdc\x3f\xa7\xcb\x51\xb6\x6a\x8d\x07\x6a\x92\xf4\xf7\xf9\x33\xdb\x91\x94\x41\xce\x09\x00\x83\x94\xb9\x83\x04\x29\x25\xc3\x9a\x74\xf6\x2e\x69\x42\xcc\x6d\x30\x39\x54\x99\x02\xfd\x7b\x7a\x3b\x21\xea\x51\xbc\x5c\x52\x28\x7b\x1b\x81\x8f\x6c\x83\xd3\xd6\xb4\x08\x49\x30\x9f\x20\x42\x81\x02\xc2\x94\x6c\xf1\xbd\xce\x5e\x6f\x6d\x1e\x4e\x28\xd3\xaa\x95\x2e\x66\x3d\xd9\xfc\x1e\xc3\x45\x47\xf6\x95\xe9\x02\xb4\xe6\x9e\x68\xbe\x10\x69\xac\x4e\xbe\x8d\x8d\xe9\x33\x1d\xc9\x53\xf3\x47\xa8\x28\x40\x2b\x5d\x8c\xcc\xdd\xd9\x70\xf2\x40\x25\x80\x66\xc3\xfa\x4e\xc3\xb7\xad\x6a\x63\x88\x34\x9e\x8d\xc2\xbc\x11\xc9\x49\x48\x7f\x0d\x50\x0e\xe1\x23\x9c\x50\xe3\x1a\x87\x99\xec\x59\xae\x3e\xd5\xd0\xb5\xd1\xbb\x50\xe5\xe9\x07\x9a\xf1\x54\x8b\xe9\xd8\xed\x13\x7c\x25\xc2\xbc\x6b\x5f\xf4\x72\xe6\x3a\x58\x0c\xe8\x8b\x91\x9a\x22\xa0\x12\x6d\x69\xa1\x72\x7d\x79\x2c\x3a\x61\x19\x75\x93\xa0\xed\xb4\x63\x03\xf9\x8f\x07\x3a\xa3\x16\xf8\x5a\x47\x12\xab\x6e\x1c\x02\x3e\xc2\x7d\xdb\xc7\xfd\x7d\xbf\x63\x22\x43\x62\xc8\x38\x09\xf7\xd8\x1f\x7c\xfb\xe4\xb8\xdb\xbe\xb0\x5b\xdd\x41\x1f\x03\x03\xba\x86\xe0\xff\xee\xb8\x2b\x88\xca\x3d\xed\x8c\xf4\x6d\x92\x44\xf4\xdb\x13\xea\xdb\xdf\xdd\xb1\x3b\x3a\xe7\x32\xa1\x45\x7a\xcb\xa8\x0c\x28\xd5\xed\x94\xfd\x2c\xfc\xb2\xde\x55\x75\x7d\x1c\x3b\x24\xc5\x66\x58\xfa\x9f\x3d\x9c\x4d\x8c\x85\xba\x93\x29\x47\x34\x64\x48\x9c\xf1\xbb\x8b\x03\x07\x8d\x16\xee\xbf\x22\x19\xd4\x7b\x85\xba\x16\xec\xbf\x3d\xd4\x7b\x30\x20\xa4\x74\xb8\xfd\x5d\xe9\x8a\xd0\xec\x14\x6b\x4c\xb6\xf7\x39\xf5\x6b\x4e\xc6\x85\xa2\x55\xa9\x6b\x92\xff\xd3\xa4\xae\x9a\xfa\xfc\x01\x2e\x44\x60\xd5\x8b\xa8\x05\xef\xfb\x92\xb7\x22\xeb\x81\x76\xd1\x8d\x86\x3d\x45\xde\xd3\xa1\x1d\x5b\x7c\x31\xf4\x12\x61\x5c\x8a\xc8\x42\x5e\x96\xaa\xa3\x0f\x22\x14\x4c\xb0\x47\x13\xe7\x98\x45\x0b\x07\xfa\x65\x85\x9f\x49\x08\x83\x83\xfc\x85\x99\xea\x00\xa7\xf6\x1f\xc7\xda\xe5\xc0\x03\x1b\x76\x0c\x4f\xc4\xb6\xcc\x68\xd1\x91\xeb\xd9\xa0\x88\xd8\x6e\xf8\x82\x4d\xf2\x0c\xf5\x2b\xd5\xc8\xd4\xf6\x6d\xed\xb4\x7a\x1c\xa1\x4c\xad\xf9\x76\x0b\x11\x39\xf5\x6a\xc1\x8d\x2e\x3b\xb3\x27\x8e\x9b\x38\xd1\x93\x33\x71\xec\x74\x09\x50\xbf\x1f\x58\x8a\x7a\x40\x87\xa1\xbc\x9d\x30\xca\x40\xbe\xe4\x16\x9c\x45\x2c\xbd\x40\x8c\x0e\x2d\xde\xc3\x36\x09\xf1\x62\x1f\x47\x3b\x58\x00\xf9\xa4\x2c\x42\x77\x28\x88\xc9\xb8\xa2\xc5\x7d\xb9\x6d\xef\xb2\x7a\x1c\x1b\xe0\xb1\x01\x72\xb8\x68\x2f\x04\x56\x4f\x6f\x44\x66\x86\x79\x11\x85\x0a\x9f\xee\xb5\xe7\x51\xdc\x88\x42\xdf\x57\x80\x3e\xd0\xa3\x54\x05\x87\xe3\xad\xab\xdb\x26\x51\x94\x28\xb1\xef\x74\x33\xc0\x93\xf5\x8c\x7d\x6c\x95\x23\xee\x59\x44\x77\x50\xa3\x5c\xd3\xb6\xf6\x82\x57\xf1\xb0\xc4\xaa\x3d\x8f\xbd\x8a\x75\x4a\x2b\x4c\xc8\xf1\x6e\xff\xce\xc7\xd4\xda\x7f\x98\xba\x9f\x1b\x47\x4b\x24\x66\x01\xf5\xda\x0d\xb0\xbb\x90\xb7\xd7\x7b\x1a\x31\x14\x8d\x0c\xa9\x94\x2a\xfa\xb4\x04\xa4\xee\x1c\xae\x2f\x9c\xbe\x85\x2d\x46\x18\xf6\xda\x09\x23\xcc\x7b\xe7\x6f\x09\xcd\x56\xa2\xe0\x6a\xbd\xb1\x46\x3d\x44\xff\xdd\x6c\x4b\x34\xe9\xed\xe1\x4b\x41\xd5\xe3\x2e\x7e\x33\xca\xf3\xee\xe9\xae\x48\x22\x4e\x17\x4d\x0b\x61\xa1\x0f\xac\x80\x6a\xad\xf5\xf9\x0f\xe8\x4f\xd8\xd1\x2d\xfb\xad\xe4\x05\x4b\x67\x58\xa2\x38\xc0\x4e\x8d\x2a\xce\x90\xc7\x8b\x6a\x07\x40\xae\x3a\x14\x41\xee\xe0\x64\xca\x92\x82\xa9\xae\x7b\x6a\x2b\x5d\x84\x59\x78\x6f\x82\xba\x2f\xaf\x3d\xe9\x80\x07\x65\x02\xaa\x95\xeb\xbc\x23\x2f\xc2\x6b\x3a\x08\x6e\xb9\x47\x13\xcd\x03\xa6\x7f\x00\xae\x65\x6f\xf7\x21\xe8\xc6\x26\xc9\xc0\xce\xfb\x76\x06\x34\xdc\xbd\x14\x2b\x92\x81\x7d\x77\xad\xbf\x3c\xed\x8d\x36\xdf\x27\xea\xef\x1f\x10\xc4\x4c\x90\xf9\x29\xb9\x93\x0c\xa3\xf1\x95\xb0\x05\xf6\xcc\x4d\x03\xb2\xf7\x5c\x09\x0c\x2f\x06\x53\xad\x19\x2f\x30\xaa\xd7\x18\xd8\xe4\x77\xb6\xc1\x9f\xf4\x17\x41\x11\xa2\x02\x60\x11\x40\x7d\x76\x60\x19\x18\xb7\x99\x65\xe4\x9e\xe7\xc1\x42\x62\x56\xed\x0e\xe3\xa3\x37\x28\x06\x68\xf2\x02\x1e\x86\xb6\x98\xa2\x4a\x9e\xbe\x29\x04\x4d\x13\x2a\x01\x95\xbf\x7d\xc7\xb7\xd1\x45\x59\x24\x01\xa1\x54\x2a\xaa\xb8\x54\x3c\xe9\x62\x63\xb4\x90\xb0\xa6\x46\x79\x3a\x29\xd8\x43\x90\x8d\x26\xdd\x21\x6c\xf4\xa6\x60\x41\x4f\xe7\x54\x61\x18\xf8\x39\xdd\x85\x87\xa5\x4e\x75\x10\x37\x80\xb5\x07\xc1\xe3\x1d\xdc\xbc\x2b\xe8\xb6\x5d\x16\x54\x4f\x0f\xea\x1d\x6a\x7e\x75\x76\x2c\xca\xed\x4c\x6c\xa1\x46\x4f\x07\x03\x3e\x55\x3f\x23\x57\x42\x2a\xd8\x42\x0f\xcc\xaf\xd9\x53\xd5\xc1\x89\xe0\x08\xd1\x7c\xdb\xc5\x73\x1b\xdd\x30\xae\x10\xf4\x77\xaf\x3e\x4f\x04\x5f\xfa\xd2\x1d\xc1\x96\x21\x1b\xc6\x55\x5b\xc9\xa0\x0e\x96\x26\xac\xd0\xd7\xbd\xf0\x29\xba\x47\x74\xd0\x1a\xda\x62\x0b\x41\x5b\x15\x74\x13\xc0\x09\x77\xcf\x22\x04\xf9\xed\x25\x0a\x69\x10\xc5\xfd\x62\x05\xe2\x96\x26\xb4\x3d\xe2\xc3\x7f\x1c\x21\x50\x91\x7a\xab\xa9\xbb\x7a\x0b\x04\xaa\x1d\x23\xb9\x9e\x3c\x97\x15\x13\x81\xf8\xd5\xaa\x9f\x33\xf1\xc0\x8a\xc0\xbd\x6a\x8f\x28\xfa\xfb\x25\x53\x27\x26\xcb\xbd\x4a\x46\x30\x6c\x11\x2a\x9b\x25\xed\xeb\xcc\x05\x93\xdd\x8f\x96\xe7\xde\x9b\xe2\xfe\x29\xb2\xdb\x4d\x79\x96\xd6\xee\xcc\xa3\x88\x8e\x4c\xe1\x96\xce\x2e\xce\xa8\x62\x2b\x51\xb4\xda\xdd\x9a\x24\xf1\x5d\x92\xc4\xbe\x13\xd3\x77\xb0\x5c\x4d\x2b\x5d\x3c\x17\x12\x32\xd2\x23\x59\x2a\xda\xa5\x19\xfc\x1e\xa3\x8f\x32\xbd\x50\x31\xa6\x2e\x25\x1c\xcc\x02\x4b\x1e\xae\xa7\x14\x06\xd9\x8d\x46\xd4\x0d\x05\x15\x9a\xf2\x9f\x06\x97\xb4\xb3\xff\xd6\x51\xb7\x8f\xa2\x39\x78\x5c\xf3\x64\x4d\xb8\x91\xd9\x90\xa1\x52\x83\x56\x83\xdd\x8d\xbe\x5c\xf0\xf4\x88\x9c\x70\x25\x41\xef\xc5\x30\x1a\x07\xa8\x0a\x3c\x87\x87\x0c\xc0\xd0\x0c\x16\x40\x3b\xe7\x35\x8a\x18\xb1\xd8\x83\x0c\x70\x57\x64\xa3\x52\xad\xc3\x41\x0e\x75\x82\xb8\xf3\xa6\x16\x05\xd4\x19\xe5\x10\x02\xb8\x88\xc4\xb6\xd8\x03\x77\xec\xa8\xb3\xa5\x9b\x0c\x15\x00\x74\xcf\x86\x2f\x4a\xf6\x51\xb1\x3c\x35\xde\xfb\xae\x0a\x47\xba\x8f\x09\xa2\x88\x06\x3d\x7d\x7b\x34\x87\x6f\x12\x1f\xd9\x32\x02\xbb\x54\xf7\x1c\x2e\x41\xe6\x3d\x8d\xbc\x3a\x9a\xa2\x63\x58\x83\xac\xbd\xcb\x0f\x0c\x42\xc6\x5a\x57\x9d\x7b\x16\xd1\x5d\xce\x1f\x58\x21\x69\x46\x1e\xe0\xa5\xc0\x07\x7e\xe0\x29\x0b\x7a\x3b\xab\x87\xc3\x34\x0d\xbd\xb3\xf9\x06\x42\x29\xa0\x2a\x10\x51\xeb\x72\xb3\xc8\x29\x0f\x78\xbc\x3a\x61\x54\x86\x20\xa8\x84\xe1\xaf\x1f\x2d\xb6\x4a\x60\x1c\x5c\x2f\x5d\x47\xfe\x3e\x51\x84\xdf\xdf\x76\xdc\x73\xf4\xff\xc2\x16\xa3\x5a\x94\x60\x5b\xff\x4d\x9a\x88\xee\xd9\x22\x26\xfa\xb0\x07\x56\x66\x18\xa2\x8c\x91\xae\x16\x4c\x26\xd8\x63\x28\x56\xdb\x3e\x8a\xf1\x36\x63\x58\xea\x07\xce\x1e\xc9\x23\x5b\x40\xcc\x74\xa7\xe2\x68\xda\xee\xac\xa9\xb5\x47\x13\x35\xcc\xd0\x77\x55\x49\xab\xbd\x7b\x9a\x40\x66\xee\xe9\x19\x02\x41\x76\x2d\xb6\x10\x69\x8c\x52\x92\x4b\x0e\x57\x3c\x8b\x37\xd9\xbd\xf4\x6c\x4f\xd6\x98\xde\xc5\x8d\xa3\x89\x74\x50\xd6\xea\xe1\x0f\x8b\x88\x6d\x76\x69\x50\xdb\xfa\x47\xac\xfd\x85\x28\x86\x2d\x8e\x34\xe2\x41\xe1\xab\xa4\xdc\x1a\xcc\xeb\x38\xf0\xe8\x26\x1b\x43\x58\x1e\x12\xb4\x85\xb0\xf8\xc6\xb8\x58\x2b\xd6\x52\x8b\x49\x86\xe7\xcf\x0b\x96\xe8\x0b\xda\x8e\xb0\x0d\xe5\xd9\x49\x8b\x8f\x03\xe8\xfe\x57\xf9\xfa\xf5\x0f\x7f\xe9\x2c\xce\x66\x59\x86\xbc\x2e\xdd\xd8\x99\x48\x5b\xb7\x51\x3b\x61\xd4\x45\x09\xb9\x34\xf5\x52\x21\x63\x8d\x4a\x48\xfc\xea\x66\x09\xae\x58\x9d\xe3\x6c\x28\x22\x25\x4b\x96\x31\x73\x47\x0c\xed\x9c\x52\xad\x4f\x7b\xc5\x76\x0b\x55\xc4\x51\xd6\x7e\x92\x81\x3a\x55\xdb\x3c\x81\x03\x0d\x3a\xd5\x23\x1e\x32\xbe\xd7\x09\x22\xa6\x65\xb7\x85\xc0\x25\x74\x49\x99\xd0\x26\x6f\x86\x4c\x31\x24\x48\xcf\xcb\x01\xd2\x64\x49\x76\xa2\x44\xd5\x1f\xaa\x56\x6b\xf5\x20\xd5\x3d\x92\x0d\x53\x6b\x11\xda\x3e\x9a\xaf\x4b\xb1\xe2\xf9\x4c\xdc\xb3\xf0\x80\x7a\x24\xfd\xcc\x03\x31\x51\x9a\x1a\x11\x2a\xfe\x7e\x8b\xbc\x67\xfa\x41\x68\xa5\xeb\x6e\xec\xce\xbc\x35\x1b\x28\xc8\xcf\x1e\x61\x54\x00\x05\x6e\x4a\x5b\x88\x0b\xf1\xe9\xed\xd6\x3d\xd1\xea\xe2\x0e\x31\xb3\x71\xfd\x4a\x6b\x30\xa9\x6f\x67\x57\xff\x26\x78\xed\x03\x0e\xf5\x46\x0c\x6e\xd6\x1a\x41\x94\xac\x6c\xaa\x58\x89\x1f\x90\x92\xe0\x34\x7b\x29\x9b\x0f\x9c\x92\xe9\xd5\xf4\xc4\x8f\x7e\x14\x85\xab\x0a\x13\xc3\x78\xe7\x52\xae\x11\xc5\x2f\x67\x28\x11\x10\x58\xd2\x9d\x42\x67\xb1\x0b\xdc\xa3\xf1\x41\x3f\x07\x6f\xa8\xe4\x09\x59\xd0\x02\x3d\x59\xa7\x64\xac\x00\xd6\x29\x27\x34\xe3\x54\x5a\xe6\x10\x6a\x0a\x48\x8c\xbd\x4c\xff\x9a\x3a\xf0\x2e\xe4\xd5\x54\x3a\x28\x19\xd9\xd0\x9d\x15\x1b\x5e\xea\x9c\x66\x8a\x20\xba\x61\xc2\xe4\x09\xe1\x79\x92\x95\xe0\x61\xe2\x39\x54\x48\x20\x77\xb3\xb7\x2f\xff\xbd\x22\x39\x75\x5f\x00\xc1\xab\x2c\xf7\x1c\xe4\x49\x91\xfc\xe9\x07\x5c\x97\xba\x2b\x77\x68\x42\xe2\xb9\xde\xd9\x84\xc3\xa7\xe4\x2c\xd1\x2b\xa0\xd8\xe9\x43\xa9\x60\xdb\x8c\x26\x0c\x5c\x58\xc0\x8d\xfe\x22\xb3\xa0\xbd\x6f\xac\x77\x3c\x22\x8b\xe6\x28\x81\x6d\x19\x47\x47\x4f\xa1\x79\x35\x13\xe2\xde\x0d\x8a\xca\x76\x24\x65\x5b\xe3\x42\x33\xb7\xbe\x8c\xe5\x2b\xb5\x26\x97\x8d\x71\x5d\x30\x80\x62\x62\x05\xc7\x22\x4a\x3f\xd5\xba\x07\x10\x90\x02\x8a\x78\xeb\x5d\x59\x1d\xaf\xa3\xc9\x98\x6c\x4a\xa9\xb4\xc8\xb3\x25\x8b\x79\x8e\x83\x78\x4a\x60\xbc\x42\x83\xef\x43\x2a\x56\xfd\x9e\x00\x95\x34\x73\x8f\x3e\xc5\x05\xdc\x55\xd3\xda\x88\xbc\x35\xf8\xc4\xa9\x2d\xf9\x9e\x9b\x21\x82\xc1\x0b\x85\x55\x24\xb6\x00\x74\x47\xa8\xfe\x1e\x4d\xcc\x29\x59\x9d\x4a\xb2\x02\x85\xf4\xcb\x7b\x7f\x27\xc9\x22\xa3\x26\xc3\x2f\xb0\xc9\x5d\xcf\xb6\x4e\x75\x27\x7b\x8e\x28\x9e\xbf\x16\xa6\x6c\xbd\x8b\x18\xb6\x00\x7a\xa2\x93\x27\xa4\x38\xfc\x82\x6a\x06\x10\x20\x2e\x16\x3b\x2c\xe4\x25\xcb\x85\x59\xa3\x34\x4f\x09\x2d\x3f\xf2\x8c\xeb\xd5\xd4\x11\x01\xe2\xf8\x69\x54\x8e\xea\x1e\xd0\x3d\xe2\xc3\xbf\x03\xab\x4c\xb5\x17\x99\x0a\xd9\xf7\x52\x51\x2e\xda\xed\x7a\xe6\x49\x3f\x3b\x7b\x62\xe2\x04\x85\x21\x88\x09\x34\x53\x56\x79\xc5\x70\x0d\x31\x89\xb5\xde\xae\xf4\x2a\x86\xfe\xe5\xc7\x97\x0b\x0e\x71\x7d\x19\xc9\x01\x42\xc1\xd4\x1f\xd1\xb7\xcd\x94\x16\x29\x41\xce\x08\xe2\x4c\xd5\xf6\xe7\x95\x28\x58\xe4\xa6\x5c\xb3\x6c\x7b\x3a\xda\x6e\xc3\x36\xe1\x06\xc5\x21\xc7\xf2\x76\x4b\x4a\x2c\xc1\x46\x1f\x28\xcf\xe8\x82\x67\x5c\xed\x02\x53\x01\xfd\x01\xbc\x44\xc1\x99\xbc\xe4\xb2\xd5\x1a\xd0\x42\xd5\xcf\xd9\x35\xdd\xb0\x13\x32\x9e\xde\xc0\x01\x7b\xd2\xac\x5a\xa7\x97\xb8\x51\x0c\x44\xca\xe4\xab\x2d\x55\x8a\x15\xb9\x0b\x7a\x30\xcc\x67\x0c\xa1\xad\x74\xc7\xbd\x9f\xd0\xaa\xab\xd5\x9e\x7f\x5a\xb6\x2b\xb7\x56\x62\xfa\xeb\xe5\x38\xa4\x9e\xed\xd1\xc4\x2c\x05\xa0\x46\x7d\xa6\xe2\x13\xd7\x33\x31\x8c\x0e\xe6\x13\x1d\xe0\xa1\x80\xd2\x26\xc9\xd3\xec\xb4\x10\x01\xe7\x97\xca\x30\xda\x6f\x8e\x0e\xf5\xae\xdb\x0f\x30\x32\x29\xc4\x46\x84\xa2\xf2\x1a\x14\x91\x67\x89\xc1\xc4\xe3\x79\xce\x52\x57\xc0\x49\x14\x64\x52\x2e\x32\x9e\x10\x53\x1c\x91\x8c\xf2\x5c\x94\x79\x82\x22\x06\x5c\x52\x5d\x7c\x9a\x92\x8f\x41\x2e\xed\xf3\x41\x3c\x82\x8a\xe3\x95\x81\x3c\x21\x05\xcb\xd8\x03\x45\xf0\x94\xe6\x81\xd8\xc5\x5e\xbd\xf0\x63\x90\xcb\x06\xd9\x50\x59\x55\x71\x9d\x51\xc5\xa4\xaa\x2c\x14\xd0\x30\xb9\x59\xda\xd1\x0d\xf0\x1a\x28\x12\x13\x57\x1a\xa6\xe5\x00\x71\x1a\x75\xe0\x10\x11\x06\x70\x7f\xff\x28\x39\x21\xfc\x94\x9d\xba\x93\x03\xd4\xa2\x97\x3f\xfc\xef\x3f\x7d\xaf\x5f\xd2\xff\xbe\xfc\xde\xfa\xce\x72\x8c\x1f\x4b\xa8\x64\x15\x36\x28\x98\x1c\x24\xcb\x1e\x1a\xca\x70\xcb\xd1\x12\x8c\xa3\xcd\x44\x3b\xee\x2d\xfc\x7e\xd0\x78\x98\xcf\x0c\x8e\x46\xeb\xa9\xda\x40\x3c\x35\x07\xab\xe4\x2b\xbd\x7f\xec\x00\x3d\xcf\xb8\x52\x7a\x20\xf3\x94\xd3\xfc\xc5\xc1\xdf\xbc\x69\xe2\x0f\xbe\xe7\x52\x05\x7c\xdc\x41\xda\x27\x38\x19\x2c\x72\x21\x38\x38\xc5\x12\x50\x33\xcb\xdc\xde\x2b\xd7\xd8\x41\x75\x85\x03\x53\x8e\x30\x21\x38\x1d\x00\x46\x1b\x0f\xa9\xaf\x23\x13\xa9\x8d\x2c\xc6\x04\x61\x91\x82\x6c\x99\x74\x04\x5d\xe1\xae\xbe\x61\x0f\x53\x67\x6b\xaa\x42\xfe\xc3\x7d\xa2\x27\x38\x12\x1d\xca\x1f\x5a\x9b\xf4\x41\x10\xa3\x12\xd7\x78\xe8\x1e\x38\xa4\x18\xce\x62\x66\x20\xcf\x34\x67\xf2\x10\xd6\x3a\x50\xd8\xf6\x68\x86\xb3\x47\xdb\x18\xdc\x38\xbc\xcd\xd8\xbb\x85\xc7\x89\x4c\x4a\x29\xb9\xc8\x3b\xb2\x9a\x3a\xa8\x07\x1d\x63\xd5\xd9\xaf\xd6\x05\x0b\xd5\x7e\x77\xbd\x8d\x73\x0c\x6e\xeb\x9f\xec\x3a\x65\x0c\x4f\x26\x6c\x0e\xd6\x5f\x18\x14\x66\xd3\x80\xf2\x0b\xe2\xbb\xb6\x13\xf6\x33\x12\x0f\xf4\x1a\xc7\x60\x14\x73\x87\xde\x09\x0b\xbd\x63\xed\xf2\x73\x6b\xee\x80\x2d\xf2\x41\xa8\xf0\x85\xa4\x85\xaa\x9f\xdd\x66\x5a\x68\x0f\x5c\xef\xd6\x42\x38\xbc\xa1\xf9\xfd\x19\x2d\xd2\x90\x62\xd9\x4e\x18\xa1\x0e\x15\x00\xe1\x98\x50\xe3\xb3\x39\xb1\x21\xe5\x55\x54\x0d\x2d\xd2\xef\x24\x59\xd0\xfc\xfe\x79\x08\x75\x12\x82\x19\xe4\x69\x30\x94\xa2\xf6\x3c\xc2\xc9\x04\x75\xb1\xe2\xe7\xcb\x6f\xbe\x75\x61\xd5\x09\x0e\x97\xb5\xd8\xce\x00\xce\x24\x04\x9e\x5f\xb1\x15\x85\x40\xd7\x60\x80\x7a\x2b\x5d\x84\xcf\xd5\x85\xd0\xf6\x06\x93\xda\x1e\x60\xcd\xf6\xf2\xe1\x51\xf5\x73\x61\xc1\x40\xfb\x59\x10\x05\x5d\xb1\xd3\xb7\x3c\x0b\x1a\xd5\xf7\x68\x06\xc4\x1d\xd9\x4c\x7b\xbd\x6a\x5d\xaa\x50\x70\x62\x42\x35\x1a\x64\x6c\x6d\x86\x6f\x56\xe2\xc1\x56\x62\x8f\xf6\x9b\x1f\x22\xe0\x87\x68\x5d\xae\x68\x4c\x03\x65\x31\xcf\x59\xd6\x5d\x6a\x25\x4c\x3c\xe0\x7a\xdc\x18\xe6\xe7\x39\x7b\x74\x47\xe9\x0b\xb2\x60\xea\x91\xb1\x9c\x88\xb2\x40\xe3\x94\x85\xe7\x07\x21\x80\x96\x1f\xf4\xbe\x42\x50\x0e\xfc\xd8\xfd\x65\x71\x9f\x34\xe8\x5b\x6e\x12\x30\x36\xa4\x16\xd1\xbd\x67\x6c\xa7\x2a\x60\x0f\xad\x13\x3c\xc1\x4c\x0d\x43\xe3\x97\x7b\xb4\x2d\x87\x18\x83\x00\xd3\xb3\x34\x0f\x85\xa0\x36\x28\x06\xc5\xcb\xc1\x04\x9b\xda\x5a\x26\x34\x10\x2f\x64\x67\xe7\xd7\x1d\x31\xaa\xa6\xcb\x1e\x8e\x22\xd9\xd9\x33\x1c\xeb\x7e\x9b\xa3\xf1\xdf\x4c\xe7\xcf\x70\x77\x55\xe7\x96\x8b\xaf\xa0\x49\xc2\xb6\xaa\x3f\x22\xa2\x83\x3c\x2a\xbe\x29\xd5\xd7\x1a\x97\x06\x3a\xb1\x31\x2c\xf5\x08\xdb\xa5\x28\x36\x27\x84\xc1\xb5\x9c\x3f\xb0\x6c\x47\xe4\x9a\xc2\x06\x07\xdc\x55\x27\xc3\x4c\x75\x18\xf7\xb1\x8e\x83\x0a\x45\xde\xfb\x08\x42\x9e\x2d\x84\x9a\xf3\x54\x7f\xc8\x1b\xa1\xc8\xf8\xdc\x17\x51\x49\x0d\xba\xce\xcb\x1d\x47\x5b\x92\x4f\xba\x05\xa3\xe1\xfc\x1e\xd0\x2f\x9e\x19\xeb\xd6\x77\x92\xe0\xef\x80\x64\xe1\x51\xcb\x44\x6c\x31\x34\x7d\xef\xb3\xad\xd9\x05\x25\x59\x05\x10\x66\xf4\x46\xd9\x30\xc9\x11\xf2\x0c\x98\x99\xaf\xa9\x5c\x83\xfe\x0f\xde\x70\x58\x74\xc6\xe2\x05\x66\x28\x23\x3a\x78\x41\x0c\xa1\x79\xff\xff\xd4\x96\xa1\x9d\xcb\x84\xe6\x09\xcb\x6c\x14\x04\x04\xfc\x74\x4d\x7d\x1b\x79\xc4\x32\x85\xb7\x50\x1b\xde\xf3\xd3\x6b\xe9\x0e\xae\xfc\x1d\x44\x96\x43\x64\x84\x49\xf0\xa6\x12\x22\x2b\x5c\xd8\x04\x2e\xe0\x50\xcc\x81\x65\x11\x84\x15\x40\x15\x75\x7e\x89\x47\x16\xf1\x05\x40\xed\xc1\x40\xe5\x0e\xa3\xdb\x37\xca\x9a\xc6\xe3\xd7\x24\x34\x36\x4f\xd0\x7f\x60\xf1\x95\xf4\x10\x15\x06\x5f\x04\x43\xee\x13\x9a\x65\x58\x28\x09\x99\x87\x90\x9c\xea\x03\x6a\xbe\x85\x5a\xab\xb0\x58\x1a\x4d\x03\xdc\xe5\x11\xda\xc7\x21\x78\x06\xe0\xca\x8f\xb5\x61\x71\x4b\xce\x7d\x3f\x64\x3b\xcb\xda\x98\x56\xa3\x00\x2e\x50\x18\x81\x1f\x5f\xbf\x3e\xf1\x7f\x56\xa8\xe5\x3e\x9b\xbc\xbf\xb9\xbe\x98\x9f\xdd\x9c\x5f\xcc\x2f\xae\x26\xb3\x5f\x9f\xd5\xa8\xea\xb3\xe6\x7d\xbd\xd6\x22\x36\x5c\x4a\xaf\xe8\x97\xc7\xd4\x21\x2c\x5c\xdf\x5d\xbd\xb9\xb8\x9d\x8f\xaf\x3f\x8c\x2e\x6b\x12\x64\x9f\x8d\x59\x73\xad\x70\x69\xb5\x25\x8f\x99\x9e\xa5\xcc\x92\xfb\x3b\xc9\x0a\xb3\x78\x3b\x16\xb3\x4f\x18\x61\x8d\x30\xb8\x84\x36\xcb\xc0\x79\xc5\xa0\x21\x19\x70\x3a\xf6\xae\xe6\xb2\x62\xd5\xfd\x3d\x82\xc3\x02\x95\x88\x82\x26\xfa\xa5\x9f\xc8\xe8\xe5\x3f\xc9\xf3\x84\x4a\xf6\x92\xe7\xd2\xc6\xbd\xbe\x38\x21\xaf\x5f\xfe\x07\xb0\x51\xe6\x29\x2b\xb0\x62\xc3\xe9\x25\xe8\xf6\x3f\x91\x3f\xbf\xfc\xd3\x0f\x5e\x23\xa7\x47\x5f\x64\x77\xd3\x8b\xdb\xeb\xd1\xd5\x45\xd4\xec\xde\xe5\x78\x0a\x82\x73\xd3\x7d\x77\xec\xbc\x62\xcc\x55\xbc\xd4\x6d\xa3\x8f\x98\xe5\xc3\xa4\x6a\xef\x34\x5b\x71\x55\xad\xf0\xba\x54\x77\xb2\x85\x2e\x55\x15\x41\xbf\x17\xff\x76\xf4\x09\x04\xf9\x10\x33\x79\x10\xcd\xb8\xbf\x17\x0f\x13\x0c\x17\x57\xa3\xf1\xe5\xfc\xfd\x68\xfa\x7e\x7e\xf1\x8f\xc9\xf8\xf6\xa2\xbb\x6f\x98\x3c\x94\xc1\xec\xe3\x96\x17\x2c\x5e\x1a\x98\x55\xd0\x7b\xb2\xf9\x74\x51\x3a\xa4\x26\x47\x7c\xbd\x4a\x5a\x29\x41\xf0\xb0\xb7\x87\x02\x49\x59\xc6\xf4\xeb\x4d\xa8\x98\x24\xe3\xc9\x3d\x59\xb3\x82\xf9\x3e\x9e\x81\x47\xdf\xf4\x6a\x6a\x7c\xf5\x5d\x8d\x0f\x3a\xe3\xa2\xf8\x3c\xee\xe2\x83\x55\x10\xbd\x02\x61\x11\x1c\x6b\x19\x1e\xf5\x88\xec\x5e\x87\x05\xa3\x8a\x05\x73\x79\xdb\xc8\xa2\xec\xa8\x70\xef\x6d\x24\xf7\xf6\xae\xa2\xb4\xca\x7f\x31\xb9\xba\x4b\xff\xea\x44\xc8\xb3\x65\x46\xc1\x49\xf3\xec\xad\xfe\xe3\x04\x90\x8d\x66\x97\xfa\x76\x99\x72\xcd\x07\xcd\xc8\x92\xb3\x2c\xad\x29\xf9\xb2\x8a\xfe\x6f\xa6\x00\xfb\x54\x59\xb9\xc2\xc3\x80\xff\x56\x32\x64\xbd\x71\xb1\x50\x5c\x65\x55\xe2\x31\xf1\x4f\x89\x76\x85\x1c\x76\x99\x3e\x35\x41\x91\xec\x18\xdf\x3a\x61\xff\x08\x9f\x03\xbd\x9f\x4a\x67\x37\xb6\x8b\x00\x6c\xd6\x82\x3e\x25\x67\x34\xb7\x96\x2a\xdc\x4e\xec\x23\xdd\x6c\x33\x76\xa2\xe5\x43\x5a\xb5\x68\x9b\x82\x0b\x30\xb8\x48\xe1\x34\x70\xb6\x70\x30\xd2\x41\x34\x37\x6e\xf2\x45\x09\xf8\xd9\x2b\x81\xb6\x27\x3f\x7e\x1a\x14\x80\x5c\x34\xcf\x27\xbd\x50\xdb\x02\xa6\x7b\x57\x48\x61\x01\xdc\x00\xcc\x95\xcb\x1a\xbf\x68\x21\xc4\x0f\x49\x4f\xb4\xc4\x03\xa3\xdf\x66\xab\x76\x87\x4b\x88\x1f\xda\x77\xe8\x0f\x6f\x47\xf3\xb3\x9b\xeb\xb7\xe3\xdb\xab\xf9\x2f\xa3\xf1\x6c\xfe\x8f\xce\x3d\x3a\xe5\x68\x9e\xe3\xd5\x44\xc1\x9f\x88\x98\x91\xa7\x00\x00\xeb\x8a\xee\x35\x63\xd0\x1f\x19\xc6\xf6\x9b\x39\xe2\x50\xab\xf4\x7b\xf2\xc8\xd8\xbd\xc9\x92\x49\xca\x82\xab\x1d\xd9\x96\xc5\x56\x48\x26\x4f\xc9\xaf\x10\xf6\x9f\x5b\xb1\x0f\x3d\x9b\x82\x33\x84\xea\x7b\xe5\x8e\x28\xbe\x61\x27\x64\x27\xca\xef\x30\x6d\x00\xb4\x1f\xb0\xce\x49\xa6\xf4\xef\x45\xc5\x6b\x4e\xfe\xa1\x7b\x11\x3e\xec\x4d\x9f\x68\x41\x6e\x7b\x80\x9f\xc2\xc4\xd1\x9b\x40\x2a\x51\xb0\xb4\xc5\x14\x61\xc5\x89\x1c\x8c\x87\xd6\xbb\x0e\xe1\x9a\xaf\xf9\x3f\x77\xe5\xda\xe1\xfa\xee\x36\x52\xb7\x5c\x58\xf2\x9c\xcb\xf5\x8c\xde\x33\x51\xaa\x29\x03\xdf\x6c\xd7\xe8\xb4\xd2\xf7\x0f\xd0\x5b\x78\xcd\xcd\xa2\xc2\xf7\x89\x34\x0d\x44\x7f\xed\x61\x52\x17\xe2\x50\x71\x90\xa8\xa2\x5a\x41\xc2\x58\x54\xf3\x00\x22\x54\x9f\x70\x72\xff\xa9\x75\x5f\xce\x46\x3f\x5f\xdc\xdc\xcd\xe6\xb7\x17\x7f\xbf\xeb\x55\xdf\x46\xcd\x21\xd1\xa7\xb8\xb1\xe7\xf3\x9c\x2b\x67\xf1\x5f\xf2\xa2\x72\x36\xf7\xad\xfb\x15\x53\x46\x90\xcf\x66\xad\x18\x29\xed\x84\xfd\xd3\xf9\x8e\x29\x92\xd2\x1d\x70\x98\x69\xc1\xa1\x05\x74\xc3\x48\x11\xe4\x28\xcb\xbc\xcd\xd5\x99\xa0\xd5\x42\x1d\xc7\x1b\xcd\x32\x22\x01\x36\xf2\x98\x7b\x31\xf8\x45\xbe\xa1\x31\x54\x15\xa2\x93\x3e\xc6\x42\xac\xca\x22\x8f\x35\x74\xa2\x2c\xde\xb3\x6f\xd2\xa7\x58\x37\x21\x65\xbd\xc2\xb4\x70\x9e\x20\x67\xa9\x5c\x08\xf5\x25\x0d\x9a\x9d\x62\xae\x39\xea\xbd\xcb\xae\x4e\x1c\xb7\xea\x32\xb1\x5a\xb1\xf4\x25\xcf\xed\x26\xee\x49\xb1\xc5\x7e\xc4\xb9\xb1\xf6\xc7\xa4\x86\x86\x5e\x89\x63\x10\x0a\x41\xea\xe5\x22\x2a\x0f\x43\x54\x32\xf0\x8a\x29\x93\x0f\x30\xe5\xab\xfc\x6e\xeb\x97\x27\xe8\x61\x37\xfc\x5e\x3f\xcf\xbf\xac\x19\xf8\x63\x5c\x80\x1c\xe8\x1e\xc6\x0e\x50\x2f\x43\x66\x0c\x8e\x26\xb9\x00\x82\x0a\x49\x08\xc1\xaa\xc1\x5d\x64\xea\x75\x0b\x75\xdc\xa8\xcb\x03\x33\xb0\x57\x4c\xbd\xcb\xc4\x82\x66\x06\x5f\x3a\x92\xc9\xf6\x77\xe2\x58\x5d\xc1\xbb\x64\x6b\x00\xad\xa3\xf9\xbc\x2a\x33\xc5\x1d\x20\x42\x1f\x87\x4d\xea\x38\xde\xbc\x90\xa6\x8d\x6e\x60\x9b\xb1\x0a\xc8\x41\xc6\x4b\x34\xef\x9d\x9f\x3c\x44\x06\x38\xcb\x96\x4c\x41\x20\xae\xed\xa9\x57\xa8\x20\x4e\xf7\xc5\xc7\x84\x6d\x63\xc4\xca\x1e\x79\xbc\xe0\x6f\x09\xdb\xcb\x45\xfe\x32\x65\x4b\x5a\x66\xaa\xb6\x19\xf6\xe7\x2d\xc2\xf6\xb6\xd9\xd2\x82\xcd\xa5\x49\x6e\x7a\x36\x5e\x12\x55\x94\xec\x24\xd4\x1f\x10\xe2\x7e\xa4\x99\x14\x7e\xfd\xd0\x27\xdf\x92\xb7\x88\x7a\xa5\x79\x30\xc9\x08\xcc\xa6\xbf\x22\x37\xf6\xe8\xb1\x0f\x1d\xac\x93\x4b\x3c\x76\xbc\xc4\x4d\x60\xe4\xd6\x1a\x5c\xc6\xe5\x1d\x53\xd2\x79\x71\x5a\xa7\xc8\x04\x2c\xac\xf8\x03\xc3\xc4\xaf\x57\x10\x37\x74\x82\xb7\x67\xad\xc7\x40\x58\xda\x2b\xfd\x17\x16\x63\x1c\x70\x47\xb5\x03\x59\xaf\x26\x23\xca\xc2\x3b\x2e\x8f\xe6\x4b\xb9\xb8\xb8\x9d\x8f\xcf\xe3\x7d\x18\xf6\x0e\x0f\xb8\x5c\x3c\x3d\xc0\x8f\xb1\x62\x2a\x06\xa5\xc2\x27\x8b\x89\x12\x80\x20\x95\x24\x1a\xaf\x02\xf7\x46\x1c\x0a\x84\xc7\x4a\xe4\x92\x3b\x00\x0b\x42\x0b\xcb\xed\xe7\xc3\x83\xe8\x5f\x85\xd5\x1c\xe1\xcc\xdb\xce\x9f\x6b\x69\x30\xbd\x9d\xbc\x38\xfe\x62\x1c\x4d\xa7\xbf\xdc\xdc\x9e\xc7\x5b\x4e\xeb\x4b\xb2\x56\xc2\xef\xb0\x85\x89\x47\x68\xdf\xec\x1a\xaa\x01\x93\xea\x1d\xcb\x70\x1c\x1c\xea\x22\x36\x7a\xf9\xc4\x47\xc5\x23\x8f\x6b\x21\xd9\x7e\x3f\x72\x6d\x6b\x44\xc3\x01\xe9\x89\xd5\xa3\x4d\xd8\xed\xf8\xc3\xe8\xec\xd7\xf9\xcf\x17\xbf\x0e\x98\x2e\x57\xe4\xe3\xb0\x39\x8a\x34\x08\x35\x28\x23\x95\xbe\x9e\xdb\xe7\x27\x34\x04\x55\x75\x16\x2b\x64\xec\x9e\x70\x8d\x15\x53\xbd\x86\x77\x47\x13\x37\x00\x68\xb5\x86\xb0\xef\x4d\x1d\xd7\x27\xda\xf8\x6e\x2e\x9e\xce\xb0\x55\x37\x81\x63\xc3\x9e\x81\x1e\xfe\x7f\x02\x89\xb9\x18\xb8\xb7\xa6\xaa\xba\xb0\xa2\x81\x56\x73\xa5\x9f\xb1\x7c\x05\x68\x78\x26\x29\xae\x09\x56\x58\x33\xb5\x9b\x81\x31\x68\xa2\xc7\x5e\xf9\xb3\xf7\x17\x57\x17\xf3\xb7\x37\xb7\x57\xa3\x59\xd4\xd2\x1f\x9b\xd0\x48\xe5\x7d\xb5\x13\x5d\x4f\xf6\xf7\x20\x3b\xc3\xf9\x68\x61\xa0\x6f\xfb\xf5\x03\xf4\x54\x44\xb1\x57\x84\x00\x4e\x4f\xbf\x5d\xf1\x33\x2d\x26\xeb\x53\x7c\x6f\x6b\xc3\x6e\xe9\x8a\xe7\xb4\xdb\xff\xd9\xbf\x77\x37\xdb\x48\x45\xc8\xa7\x8c\xdc\xc7\x6c\xb3\x15\x10\xad\x6b\x8b\x61\xee\xa9\x3a\x83\x34\x00\x1f\x32\x8b\x78\x2f\xd4\xf4\xff\x82\x0b\x54\x17\xf8\x86\x91\xb4\x84\x19\xc0\x34\x43\xf4\x27\x55\x2c\x99\x86\xac\xde\x0f\x4b\xf2\x84\x80\x09\x06\x7c\x04\x7f\xf5\x0e\x2f\x1b\x1d\xfb\x97\xd7\xe0\xe8\xf8\xf7\xbf\xfc\xf8\xfa\xf5\xef\x50\xf5\x38\x70\x63\x5f\x4d\xe6\x8e\xb7\xf3\xf1\x74\xf4\xe6\xb2\xc7\x26\x3d\x6b\x1f\x6a\x2e\x49\xca\x25\x5d\x64\x83\x36\x7b\x27\xaa\x63\x2b\xdd\x60\xab\x40\x55\xc7\xcd\x5d\xf1\x0f\xb0\x0a\xd8\x2f\x77\x3f\x68\x9d\x79\x55\xeb\xa9\x77\x3f\x46\x5b\x42\x06\x19\x41\x2a\x13\xb0\xb5\x05\x54\x38\x08\x95\x51\x63\xc0\xf5\xf0\xd3\x08\xa3\x26\x2e\x65\xef\x18\xec\xd1\xc7\xcd\xfc\x23\x5b\x18\xdf\xef\x23\x4f\xf5\x04\xd1\x7a\x2b\x9d\x2b\x92\xe7\x5c\xc5\x3b\xbd\x5a\xa8\xfb\x79\x1c\xe7\xc6\x6b\xf3\x74\xaf\x57\x52\x01\xb7\x54\x36\x51\x61\xfc\x58\xce\xe8\x59\x53\x8e\x78\xc6\xe6\x1b\xfa\x71\x2e\x11\xcd\xf5\xd9\x15\xfd\xc8\x37\xe5\xc6\x55\x9c\xd4\x04\xb2\x6a\xa4\xf9\x6e\xa0\x2b\x7c\xf4\x54\xfb\x8e\xc9\x57\x98\x9b\xdc\x84\x40\x5f\x2e\x41\x90\xe7\xc4\x51\xb6\xb7\x12\x1a\x19\xbf\x89\x8c\xad\xf4\x65\x01\x6d\x28\x6d\xed\x6c\x6c\x96\x57\x44\x63\x55\x8d\x84\xd6\xa6\xc0\x64\xd3\xdf\x8a\xbd\xa4\xe3\x17\x1c\x7c\x10\x05\xe2\x02\xac\xff\x71\x7c\x3d\x9e\xcd\xcf\x2f\x2e\x47\xbf\xf6\x44\x06\xfc\x42\xb9\xaa\x9c\xeb\x64\xc1\x96\xb8\xfd\x39\xd6\xc1\xc2\xc5\x1b\x2b\xf2\x8d\x2a\xd6\x7b\xab\xa8\xd1\xc5\x6c\x2a\x20\x3f\x20\xa0\x87\x16\xf7\x8d\x19\x31\x5d\x63\xc6\x05\x2d\xee\xc9\x03\x2b\x6a\x7b\xfb\xd0\xf5\xfd\x65\x6e\x26\xde\x27\x75\xcb\x68\x43\x14\x75\x22\xef\xd1\xc6\x4f\xd1\x01\x87\xb0\x1f\x1e\xd5\x02\x95\x7c\x12\x38\xae\x7f\xf1\x8f\xea\xa8\x21\x28\xd8\x8a\x4b\xc5\x8a\x73\x16\x42\x31\x09\x50\xc6\x9c\xd2\xf8\x02\x49\xe1\x0d\x0c\x63\x41\x87\xd5\xe4\x6e\xfa\xbe\xee\xb5\x8a\x1f\x1a\xba\xdd\xce\x25\xcd\xd3\x85\xf8\x68\x4c\xe3\xcf\x17\x42\x64\xb3\xa2\x64\x2f\x20\xfa\xa8\xa0\xb9\xdc\x70\x05\xf1\x46\x94\x18\xd2\x97\x5a\x23\xc2\xee\x98\xd3\x91\x4b\xc9\x52\xab\x54\x9b\xd7\xe0\x3c\x3a\x7d\xf2\xc2\xcf\xc5\x7c\x53\x62\xd1\xc5\x67\xa3\x07\xc1\x53\xf3\xe9\xba\xa7\xe7\x92\x67\x36\x8f\x84\xe7\x0f\x1c\x8b\x01\x2f\x68\x72\xaf\xe5\x68\x9e\xbe\xa8\x8f\x0c\xd4\xd3\x5a\x96\x10\x5d\x2c\xe9\x83\xa6\x54\x8a\x15\xbb\x1a\x93\x42\x6f\xe5\x79\xc9\x21\xf9\xe8\xd9\xa5\xd1\x8a\xca\xba\xa3\x1a\xcc\x64\x02\xf3\xba\x20\xc3\xdb\x98\xcc\xb2\x1d\x29\x25\xee\xc6\xb6\xcd\x25\xa1\x0e\x1d\x8c\x80\x28\xc8\xdb\xb3\x2b\xe0\x7c\x34\xb9\x9e\x92\x0f\x62\x3c\x39\x31\x15\xb0\x68\x46\x18\x66\xf5\x70\x91\x83\x29\xaa\x34\x29\x9f\xe6\x67\xb2\x2d\xe5\xba\x31\xeb\xfe\x1e\x36\xb0\xa6\xcf\xce\xed\x72\xf1\x31\x4c\x2d\xc1\xdc\x0a\x75\x9f\x0a\x13\x34\x27\xb6\xae\x32\x26\xeb\xfc\xf4\x3d\x79\x89\x5c\x3e\x4f\x7d\x5a\x70\x33\x6c\xb7\x19\x03\x7e\x5e\xfc\x40\x5e\xc2\x37\x3d\x5f\xf2\x82\x2d\xa8\xf4\xc9\x56\x42\xac\x32\x46\xec\x93\x17\x7f\x22\x2f\xc9\x15\xb4\x68\x93\x09\xef\x6e\xc7\xa8\x1f\xf2\xa4\x10\x52\x2c\xf1\x23\x5f\xfc\x48\x5e\x92\x29\xdf\xd8\x4e\xc8\x73\x96\xa7\x5b\xc1\x73\x85\xc9\x75\xbc\x60\x4b\xf1\xf1\x3b\x49\xa4\x47\x33\x9a\x8c\x5f\xfc\x99\xbc\x24\x77\x8b\x32\x57\xa5\x89\x15\x7e\x5e\x31\x53\x9a\xdf\x75\xfb\x7f\x21\x2f\xc9\x9b\x8c\x26\xf7\x0b\x56\x14\x3b\x9f\x6a\x51\xfd\x0a\x94\xff\xa6\x5b\xcc\xf5\x4c\xfc\x3b\x79\x49\x7e\xd1\xbc\x3f\xf2\x3c\x15\x8f\x12\x9f\xff\x87\x1d\x24\x3d\x95\x7e\x43\xd5\x10\xc1\xa3\x17\xdf\xbf\xd6\xef\xb3\x85\xf9\xa0\x47\xf3\x17\xee\x87\x05\xcb\xc4\xe3\x8b\xef\xbf\xb7\xe3\xd3\x6c\xac\x3e\x3c\xa6\x41\x3d\xf2\x33\xfe\x4f\x96\xfb\x94\x0a\x7e\x00\xd6\xf4\x6a\xfb\xfe\x35\xa9\x7a\x82\xc3\x01\x28\x6d\xf2\x30\x25\x7f\x9b\xde\x5c\xbf\xb4\x39\xc4\xa2\x96\xd7\x68\x57\xf4\x3d\xdb\x49\x97\x7c\x0d\x89\xc6\x20\x7e\x4c\x6a\xe3\xf1\xcd\x58\x37\x3f\x5f\x5c\x0f\xbf\xee\xe2\x87\x0d\xb7\xde\x16\x50\x6c\x37\x54\x1e\xa7\x85\x2a\x46\x70\x63\x30\x0d\x3a\xa4\xf4\xac\x3c\x70\x91\xb9\x8a\xca\xd6\x27\xf2\x9d\x34\x18\x54\xc2\x61\x50\x0d\x77\xc8\xc1\x18\x30\x3c\xb0\x90\x49\x7f\xcb\x57\xa1\xa5\x33\xc8\xd5\xd5\xff\x23\x8f\xeb\x9d\x89\x9d\x64\x98\xf4\x83\x31\xa6\xf8\xf6\x27\xb0\xc8\x9f\xbd\x1f\x5d\x5f\x5f\x5c\xce\xc1\x32\x3f\xbb\xe8\x9c\xd2\x5f\x45\x09\x19\xea\xf9\x77\x8a\xfc\x97\x80\xe2\x37\x88\x64\x85\xf2\xe2\xd5\x7e\x49\xb1\xc3\xe3\xd1\x3f\xbf\x9b\x11\xa1\xaa\xa3\xb3\x6a\xda\xc8\x63\x56\x9f\x7e\xcb\xcb\x65\x3c\x6e\xf6\x22\x44\xd2\x46\x67\xe2\xb6\x50\xf7\x7f\xc1\xa5\x58\x11\x30\xc3\xe4\x2e\x9a\xd8\xb4\x00\x95\x62\x31\xaa\x71\xb1\x83\xaa\x3f\xb5\x42\xa1\xd1\x76\x8a\x69\x15\x1a\xb9\x7e\xc2\x7a\xff\x4b\xeb\xc2\x7a\x7b\x7b\x31\x7d\x3f\xbf\xbd\x98\x5e\xcc\xe6\xa3\xbb\xd9\xfb\x9b\xdb\xf1\x74\x34\x1b\xdf\x5c\xcf\xdf\xde\xdc\xbe\x19\x9f\x9f\x5f\x5c\xf7\xee\x81\x84\xea\x1d\x90\x89\x95\x1e\x07\x54\x39\x6c\x24\x18\xe1\x4b\x92\x31\xa9\x75\x7d\x9a\x93\x1f\x7e\x24\x6b\x51\x16\x06\xd7\xc1\xc0\x44\x48\x88\xcc\xde\x89\xd2\x04\x92\x35\xb1\x6a\x1b\x66\x83\x83\xb7\xd0\x61\x86\xc9\x03\x5d\xa1\xb0\x94\xe2\x83\x2c\xda\xc8\xe3\x36\x8f\x92\x10\x2d\x11\x08\xb2\x28\xc4\xc6\x68\x7f\x5a\x8b\x6b\x06\x52\x84\x39\x8f\xb3\xe4\x35\x49\xfb\x39\x36\x01\xe3\x95\xc3\xa2\x25\x92\xa9\x83\xab\x88\xf2\x30\xdd\x2f\x1c\xb2\x9d\xb5\x4a\xe2\x22\x03\xd0\xf2\x36\xd8\x92\xd5\xb9\x95\xe3\x3f\x38\x62\x36\x0e\xb0\x2a\xc2\x32\x42\x80\xd9\xbe\x2f\xee\x99\x25\x7d\x63\x19\x1a\xda\x19\x7c\xa7\x9f\x71\x93\x46\x1e\x13\xde\xd9\xef\x09\x3b\xe4\xe2\xb7\xe6\xab\x75\xc3\xba\x02\x97\x36\xb7\x01\x39\x8a\x32\x4d\x87\xf1\xc8\xa5\x34\xd5\x79\x24\xab\xe9\x3e\x99\x78\x8c\x69\x28\x13\x8f\xdd\xed\xf8\xa6\x84\xab\xfe\x71\x69\x5f\x7b\xba\xeb\xc8\x20\x81\x26\x69\xff\xa4\x21\x75\xb6\xc3\x0f\xfc\x9c\x91\x02\x58\xb6\x7d\x8e\x37\x5c\xe3\x64\x9f\x54\xc5\xd3\xf5\xaf\xad\x99\x8e\xc1\x9e\xbd\x71\x7f\x30\x03\x55\x2b\xce\x3d\xf4\x13\xc2\xb3\xd1\x6b\x4f\xac\x88\x22\x66\x40\x0f\xfc\x60\x4b\xe2\xbe\xd5\x4d\xf7\xe9\x8f\x41\x99\xc3\x2f\x90\xc1\x07\x7f\xf5\x7e\x56\x94\x2d\xae\x4e\x18\x6d\x88\x7b\x55\xe6\xfc\x73\x98\xe4\xfc\xaf\xde\xeb\xf0\x3f\xe3\x8c\x77\x11\xa3\xd5\x02\x21\xd1\x35\x66\x1d\x88\x13\xfd\x19\xee\x50\xe7\xa9\x99\xbe\xec\xa2\xe9\x9a\xd0\xc9\x07\xa2\x74\x74\xe0\x5d\x04\xe4\x99\x97\x90\xbc\x27\xc7\x8e\xe6\xc6\xfe\x02\xb8\x14\x58\x11\xa8\xca\x32\x8f\x9a\xdc\x26\x7d\x8c\xe0\xcd\xd3\x96\xfa\x34\x9f\x3c\x33\xdd\xea\x3e\x7a\xa4\x40\x9b\x76\x09\xb2\x26\x85\xa5\xa6\xbc\x46\x67\xac\x7f\xee\x95\xf1\x59\xaf\x0f\x7a\x8a\x71\x37\x46\x55\x17\x6b\x23\x8f\x5c\x10\x7b\xa5\x7f\xbc\xaa\x63\x60\xa2\x6b\xc6\xc4\x0e\x70\xb4\x33\x63\x33\xf0\xaa\x99\x3d\xc2\x4c\x6a\x91\xe7\x5f\xfb\xfb\x65\x1f\x7e\x5d\xf4\xf6\x68\x92\x1f\x3a\x18\x1e\x1e\xc7\x53\x07\xa3\x29\xf5\xf6\x04\x87\x33\x7d\x1c\xb2\xca\x03\x03\x17\x99\x07\x29\x07\xe6\x41\x4e\x99\x13\xfb\x44\xb2\x6c\xf9\x32\x65\x88\x3b\x08\x63\x86\x61\x4c\xf1\x8a\x85\xca\x5c\xcc\x93\xcd\xab\xe4\x39\xe4\x59\x1e\xdf\x5c\x3b\xbb\x9c\x9f\x8f\x7e\x9d\x0e\xdf\xc8\xb3\xd9\xe5\x41\xfb\xf8\xb0\x04\xb2\xce\xf7\xfa\xe7\x67\x26\x56\xab\x8c\xb9\xf2\x3e\x26\x2b\xec\x50\x1f\x1c\x7a\xb0\x1a\xd7\x13\x13\x0b\x15\xd7\x47\x70\x79\x0e\xc8\x43\x6b\xa1\x8e\x5b\xa8\xe1\x3c\x34\xac\x82\xf7\xc0\xd9\x23\x80\x9f\x16\x64\xcd\x01\x85\xf3\x7a\xfa\xf6\x17\x4b\x3c\x20\xe0\xff\x40\x68\x0c\xc3\xdd\x9c\xe5\x18\x5c\x06\x80\x79\x30\xb6\x3e\x1f\xbd\x43\x39\x38\x67\x2e\xf8\x4e\xdc\xb0\xf6\xe5\xcc\x0d\x52\xb1\xdf\x75\x37\x16\xfc\xe8\x88\x74\x03\x39\x24\xdd\xc0\x58\x14\x3e\x55\xc6\x01\x44\x1e\x55\x01\x9d\xb6\x9b\xa2\xcc\x98\x04\x1f\x5c\x4d\xf6\xc3\xcf\x4e\x41\xf6\x69\x7f\x1f\x79\x08\x07\x7a\x3a\x0c\x2b\x1f\x46\x97\x77\x71\x11\xd9\xb3\x5a\x4e\x9c\x3f\x50\x24\x11\x9b\x85\x09\xed\x3b\x40\x7a\x97\x79\x7c\xc0\xc4\x1e\x6d\xac\x31\x54\x12\x6a\x63\x26\x8c\x97\x00\x9c\x83\x27\x44\x2a\xb1\x05\x4c\x47\x90\x49\x93\xbb\xe9\xfb\x97\xf5\xd4\x5f\x25\x08\x1f\xa2\x81\x7c\xca\xb0\x81\x6f\xfe\xfc\x6f\xfe\xfc\x6f\xfe\xfc\xe1\x12\x06\x3e\x03\x77\xc3\x65\xb0\x28\x65\x07\x75\xbf\x94\x41\xb8\x70\xd8\xb0\x2f\x25\x4f\xd1\xfa\x68\xca\xfe\x26\xf7\x64\xc9\xa8\x2a\x0b\x00\x2e\x33\x0a\xc8\x09\x46\x4c\xe5\x42\x11\xb9\x16\x8f\x55\xed\x11\xf6\x51\x81\x21\x9a\xe7\x89\xd8\x58\x99\xd4\x08\x5f\x1a\x12\x13\x60\xb3\x1d\x4c\x55\x11\x80\x4f\x82\x1f\x0d\xd2\xa1\x39\x28\x05\x91\x8a\x16\xca\x2a\x67\x7b\xec\x74\x70\xd1\xae\x37\xe0\x30\xc6\x3b\xe7\x5a\xe9\xfb\x07\xfe\x22\xd5\xc2\xbc\xc3\x31\xf7\x25\xd2\x9f\x03\x57\xcb\xeb\xae\x34\xfa\x3f\x7a\x6c\xc5\xd5\xf4\x5d\x6c\x68\x85\x4d\xfe\xb2\x8b\x70\x7c\x7e\xbc\x14\xb4\x4f\x13\xe2\x71\x18\x2f\xd3\x8b\xd9\x6c\x7c\xfd\x2e\xee\x9e\x6c\x07\xc5\xad\xee\x47\x56\x0c\xcf\x8c\xc3\x5d\x36\x24\x4d\x3c\xf0\x46\xa4\xf9\x02\x8c\xdc\x3e\xca\x5b\xfc\x06\xcb\xd9\xe3\xbc\x01\x69\x88\x26\xf3\xfd\x0c\x6f\x6f\xbf\x35\xf3\xc1\x45\x96\x7e\x8e\x9c\x70\x04\x54\xbd\xbb\x36\x58\x79\x51\x78\xaa\x65\x6e\xec\xc4\x47\x58\xd6\x7b\xfd\xf7\x84\xe3\xd7\x96\x36\x1a\x0d\xb9\xd4\x52\xc0\xb1\x74\x42\xfe\x61\x81\x07\x4d\xa5\x92\xfe\x12\xe6\xff\xa5\x75\x0e\x8b\x8f\xae\xac\x39\xf2\x27\x8c\x2c\x32\xeb\xe9\xa1\xb2\xa0\x62\x20\xab\x32\x18\x3c\x0e\x81\x77\xbf\x03\x9a\xa7\xe6\xdc\xb4\x94\x1e\xa2\xc0\xe9\x93\x07\xef\xfa\xe2\x97\xf9\x74\x74\x19\x97\x21\x6b\x97\xa1\xa4\x99\x3a\xa6\x30\x00\x26\x86\x08\x84\xbd\xfd\xe0\x24\x03\x2d\x8e\x87\x14\x7c\x58\xc6\x61\x6d\xd7\x1d\x3b\xd9\x70\x7a\x3b\x19\x7a\x92\x4c\x6f\x27\x81\x53\x24\x46\x5a\x16\x62\x19\xa8\x7c\xd1\x4e\xd8\x2f\x1b\xb1\xca\xb2\xc4\x6b\xe1\x16\x5f\x1b\xa0\x7b\x60\xa2\xa0\xb1\x59\x2c\xb8\xa8\x27\x58\x15\x52\xcd\x2d\x83\x9a\x00\x3a\x81\x9f\x49\x0d\x6a\xfd\x50\x63\x5a\x46\xdb\x3a\xd0\xbf\xd6\xa1\x62\x8f\x25\x5b\x47\x6f\x6e\xee\x66\xf3\xd9\xcd\xcd\xfc\xf2\xe6\xfa\x5d\x37\xd2\x21\xe4\x6a\xda\x44\x18\x21\x08\x14\x21\x7d\xea\x82\x7b\x3b\xbe\x9d\xce\xa2\x51\xd6\x67\x50\x89\xca\x8e\xf6\xc1\xd7\x95\x29\x54\x67\xe9\x5f\x74\x86\x2e\x7e\xcd\x09\xac\xb7\x09\x93\x86\x25\x60\x86\x58\x37\x96\x4b\xfd\x76\x7f\x96\x88\xd7\x3c\xde\x74\x12\x53\x8d\x42\x90\xe7\xfa\x19\xb2\x7d\x83\xcd\xbd\x88\xba\x4b\xf4\x86\x67\xf8\x64\xb1\xe3\xf1\x95\x60\x37\x7f\xae\xac\xae\xe3\x61\x44\xef\x05\xaa\x94\xf5\xca\xf1\x87\xe0\x48\x63\x13\x31\xc5\x23\x1a\x94\xb1\x36\x67\x59\x55\x8e\x00\x4b\x4a\xb0\x36\x75\xef\x3a\x68\x2b\x1b\x41\x44\x81\x30\xcc\x76\xd2\xf8\xb2\xea\xcf\x55\x50\x2b\xd8\x46\x3c\xb0\xb4\xb5\xc6\x04\xfd\xb2\x35\x26\xbe\x6f\x97\xbf\x77\xb3\xf7\x60\xb3\x9e\x5c\xdc\x5e\x45\x00\xb5\xd7\x53\xfb\x69\xa9\xd6\x60\xbd\xb6\x06\xa9\x05\xcf\x53\x0f\x2c\x8a\x15\x1b\x9a\x83\xc9\xdf\x12\x9a\x50\x74\xb5\x66\x92\x99\x00\x74\xf9\x74\x25\xef\xa8\x95\x32\x9e\xc8\xc2\xf5\xcd\x6c\x7e\x75\x73\x3e\x7e\x3b\xee\xb9\x28\xdc\x79\xab\x27\x17\xaa\x2a\x28\x58\x85\x77\xf8\xeb\xf7\xb8\x5c\xde\x9c\x9d\xdd\x4d\x86\x70\xa8\xe8\x3d\xcb\xe3\x4f\xb9\x4c\xd0\x34\x42\xa6\x57\x64\x31\x32\x1d\x02\x30\x07\xca\x74\xa3\xdd\x79\xf2\x9c\x60\xb7\x2c\x25\xb4\x61\x17\xc5\xd4\xf6\x7a\x90\x0c\xe4\xc3\x5b\xc6\xdf\xea\xd7\x8f\xa2\x67\x6d\xf8\x86\x39\x5b\xfe\xd5\xf8\xea\xc2\x54\x44\x74\x96\xdd\xed\x36\x33\xd7\xa4\x57\x1f\x5f\xaa\x15\x7c\xf5\xcb\xff\x07\x8f\x8e\xff\x73\x62\xa2\x40\x0c\x86\x0f\x96\x9f\x94\x2e\xec\xbf\x25\xdf\xb7\xdc\x2c\x70\x14\xca\xcd\x22\xff\x14\xb5\x4e\x0c\x1a\xd1\xf8\xf2\x10\x0c\x20\x98\x96\xe1\x0a\xbc\x9e\xc6\xa8\x00\xc8\x26\x69\xc4\x91\x62\xca\x3f\x68\xb9\x8c\xeb\x0e\xcd\x1d\x07\x04\x42\x7a\x2b\x90\xfc\x6d\xf2\xee\xd5\xe4\xfa\x9d\xd7\x4c\xef\x9a\x00\x0f\x93\x5d\xb1\xad\xef\xf5\x44\x5a\x76\x9e\xca\xde\x8d\xbd\x6b\x00\x7d\xb2\xfe\xc1\x6b\xd6\xf9\xa1\x69\x5a\x30\x29\x9f\x1c\x00\xe4\xd7\xf9\xe9\xb0\x54\x58\x63\x83\x3f\x46\x2d\x81\x54\x55\xb4\xd0\xb1\xf7\x02\x1a\x6c\x3e\x5c\xdc\x8e\xdf\xfe\x1a\x55\x83\x67\xef\x83\x98\x2d\xca\x33\xb4\x26\xcf\x43\x15\xb6\xd5\x3f\x9f\xb1\x15\x79\x5c\x54\x6b\x2d\xda\xea\x38\xe1\x5c\x76\x4e\xcf\x6a\x45\xe6\xd0\x7d\x81\xd5\xaa\x33\x98\xaa\x98\xd8\xb4\x81\x95\xe6\xaa\x63\xf6\x90\x3e\xaa\x38\xb4\xc9\xe7\xaa\x34\x17\xb9\x92\xbc\x90\xbb\x9d\x28\x6b\x91\x94\x76\x39\x9d\xa0\x2b\x60\x43\x77\x64\x4d\xb7\x5b\x96\x6b\x75\x96\xd7\x6b\x20\xd2\x1c\x51\x73\xe1\x58\xb1\xf3\xfc\x9c\x2f\xab\x54\x43\x6e\x89\xd7\x85\x28\x57\x6b\x42\x2b\x3a\x78\xf1\x79\x6e\xca\xa9\x88\xe5\x92\x27\x9c\xba\x00\xd9\x17\xd0\x3e\xe4\xf9\x73\x45\x80\x81\x54\x2b\xd8\xdb\x02\x4e\x32\x17\x1f\x0d\x81\x7a\x62\x03\x40\x27\x45\x55\xab\x3c\xb8\x09\x4a\xb5\x36\xc5\x40\x2f\xc5\x8a\xe7\x33\xe3\x52\xdf\xdf\x06\xad\x84\xfd\x1b\x01\xf5\x7a\xf2\xf7\x5b\x62\xdc\x7f\x2b\x9e\xdb\x60\x83\x4c\xac\x56\x58\x80\x18\x0b\xba\x6c\xb7\x28\x91\x56\x2c\x67\x05\x40\xa8\x72\x55\xc3\x20\xb0\xa8\x4c\x1e\x10\x95\xb2\xf6\x47\xb6\x8f\xab\xf0\xd6\x0f\xea\x45\x2d\x03\xfb\x7f\xe0\xd4\x72\x34\x60\xf7\xb9\x70\x83\xcb\xea\x23\x08\xdb\x2c\x58\x6a\xaa\x4b\x9b\x26\x1b\xd1\xc4\x7d\x1d\x1f\xcf\x30\xa4\x2f\x26\x35\x5f\x72\xbf\xd1\xbb\x0a\x61\x81\xfb\xc6\x60\x97\xb2\x5e\x15\xfa\x06\x33\x63\x9b\xed\xa8\x54\xeb\x9f\x59\x7b\x5c\x54\x1b\x5d\xff\xe2\x79\xc3\xb1\xde\x6c\xfd\xfa\x54\xa1\x01\xc3\xf5\x88\x6d\xb6\x73\xfd\xf3\xfc\x9e\xed\xe6\x3c\x70\x93\xaa\xbf\xa3\x9f\xf9\xef\x9c\x92\x0b\x9a\xac\xbd\x57\xe0\x82\x46\x77\x88\x83\xad\x2f\x69\x80\xc0\xad\x04\xd1\x62\xa2\xe2\x46\x93\x51\xa5\x19\x84\xa2\x3a\xfa\x03\xb1\x4a\x9e\x5e\x91\x75\x32\xf1\xc0\x8a\xc7\x82\x2b\x63\xab\xd8\x16\xec\x81\x8b\x52\x2b\xa0\x2c\xbc\x66\x4d\xcc\x3c\xae\xa0\x09\x2b\x96\x2c\x51\xe4\xad\x28\x1e\x69\x91\x92\x29\x4b\x0a\x96\x0c\xa9\xed\xc8\x6c\x49\xdc\xb9\x71\x25\x82\xf9\x98\x31\xf2\x0e\x37\x1c\x1a\x4f\x9a\x34\xbe\x4a\x00\xa2\x50\xce\xd1\x34\x73\x97\xf3\x8f\xf0\xe5\x52\xd1\xcd\x16\xf1\x60\x1e\x4c\x55\xca\xfa\xd7\xe3\x07\xbc\x31\xc3\x63\xfd\x98\x26\xc8\xb0\x81\x6a\x82\xd5\xaf\x9f\xdd\xd2\x3c\x15\x1b\x30\x58\xe2\xa9\x13\xf3\x76\x73\x5e\x31\x04\xce\x5f\x07\xde\x22\xd1\xb3\x45\x94\x38\xbe\x2a\x73\x7d\x76\xfb\xeb\x64\x76\x71\x3e\xbf\xba\x98\x4e\x47\xef\xe2\xb4\xfb\xaa\x5c\xb1\xfd\x40\xd8\x85\x89\x28\x0a\x96\xa8\x27\xdf\x62\xc7\xd7\x13\x53\x1e\xe7\x62\x1a\x69\x3c\x46\x3c\x04\x80\xb7\x45\x6b\x8d\x1e\xb2\xa7\x5b\x8f\x67\x17\x57\x93\xb9\xb3\xa1\x8c\x2e\x6f\x2f\x46\xe7\xbf\xce\xdf\xdc\xdc\x5d\x47\x1c\xd3\xa6\xc6\x7f\x6d\x67\x71\x49\x68\x56\x30\x9a\xee\xaa\x6d\x4a\x73\x8c\x26\xdb\x5b\x10\xc7\xe5\x3e\xce\xf8\x63\x07\x51\x6b\x0a\xfa\x78\xdf\xb2\x42\x6f\x6d\x7d\x37\xc1\x42\x31\x1d\xe2\x2d\x4a\x00\x63\x2a\x4d\x30\x45\xa1\x41\x12\x71\x93\xab\x6a\x3d\x9b\x63\xab\x79\x73\x38\x44\x65\x0d\x6a\x97\x18\x7e\xa2\xb9\xc4\x24\xa3\x6f\xaa\xe3\xd7\xa6\x3a\x1e\xe8\x2b\xfd\x9c\x69\x6d\xb0\xc8\xd7\x2c\xb9\xef\x04\xe7\xdd\xa7\xea\xdf\x0d\xb3\x62\xe7\x34\x55\x98\x28\x97\x85\xd2\x51\xbd\x6f\xc8\xa5\xae\x11\xa2\x61\x5a\xff\x4e\xfe\x9e\xc0\xfb\x31\x5a\xe2\x2b\x74\x68\x1f\xce\x82\x1b\x9a\xb3\xf7\xa3\xeb\x77\x3d\x92\x60\xe2\x79\xf7\x8d\x6f\x2f\x6e\xcd\xa6\x85\xd8\x7a\x4a\x71\xbb\x87\xb3\x95\xb0\x7f\xe5\x1a\xe0\x0b\xb8\xaa\x87\x8f\x18\x2d\xa6\xe0\x8e\x66\x5d\x40\x02\x9c\x67\xf6\x62\x30\x40\xbd\x84\x66\xdc\x71\xeb\xa2\x94\xac\x27\x43\xe2\xed\x0e\x31\xa2\xf5\x72\x59\x30\xa2\xbf\x6a\xeb\xd5\x02\xfd\x3f\xfb\x23\x84\x60\x9e\xfd\x18\x1c\x21\xda\xfe\x71\xb2\xd7\x4a\x00\x39\xd0\xa3\x90\x88\xed\x0e\x14\xf9\xda\x58\x79\x7a\x85\xa6\x7c\x99\xb0\x5c\x15\x43\x2e\x90\x69\x62\x74\xd2\x6b\x14\x6f\x50\x69\x55\xd1\x62\x05\x15\xfe\x5c\x8b\x47\xdf\xe4\xe7\x67\x07\x85\xf8\x9d\x9f\xe9\x3d\x35\x50\x06\xe3\x0c\x44\xd8\x12\xf6\x08\xfb\xe7\xc9\x5c\x53\x18\xa1\x75\x3b\x82\x9e\xb2\x96\xfb\xb5\xa7\x44\xe8\xef\xaa\xac\x0a\xde\xcb\x1e\x62\xb9\x0d\x09\xc7\x8c\x83\x05\x95\xec\x2f\x3f\x96\x45\x06\x41\xe4\x40\xf7\x98\x13\x0a\xb7\xd1\xd5\x4f\xaf\x5e\x41\x1b\xff\x09\x6d\xfc\x5f\x48\x6b\xde\xc7\x66\xef\x6e\x2f\xad\x59\xa3\x8d\x9f\x23\x5b\x26\xe8\x96\x3b\xed\x6a\x54\xb9\x41\xfc\x0a\x82\xa0\x69\xe9\x73\xe4\x94\x8c\xb6\xdb\x7a\xc9\x9d\x5a\xc4\xa0\x6e\x0b\x57\x69\xa0\xa5\x98\x46\x8c\x28\x68\x64\x7d\x58\x35\xbd\xaa\xdd\x07\x61\x11\xe3\x73\x09\xb5\x88\xf5\x9d\x58\x2b\x38\xbe\x59\xe8\x91\x27\x0c\xd5\x64\xc8\xdd\xa6\x1b\xf4\x3f\x76\x88\x0b\xbe\x89\x17\x17\x6d\xb4\xfd\xcb\xf0\x52\x20\x36\x8a\xa9\x92\x8c\xeb\x85\xa2\x31\xa2\x8a\xf9\x40\xb5\x56\xeb\x7d\x39\x85\x44\xc0\xc3\x64\xc6\x62\xa7\x30\x1f\x6b\xb4\x77\x35\xf0\xc6\xdb\xab\x1a\x39\x3e\xff\x34\x86\xa5\x37\xbf\xce\x2e\x0e\x48\x61\xad\x8b\xd0\x23\x86\xbd\xdd\x4d\x0f\x8c\x5c\x36\x6b\x6e\xa8\x60\xc3\xb5\xf2\x46\x0c\x5a\x5a\x7b\xe4\x51\xab\x8b\x1b\x41\xb3\x10\x03\x32\xfe\xbe\x3a\x19\xb0\x10\x46\x17\x70\x76\xd3\x37\xfa\x82\x02\xe2\x11\x14\xda\x85\x50\xf2\x45\xab\x5b\xf8\x96\x41\xf5\xf2\x14\x73\x9f\x4a\xc8\x15\x29\xe5\x27\x08\xa5\x3b\x3b\xbb\x98\x4e\x8d\xcd\x34\xe6\xc2\x57\x7d\xc1\xbe\x93\xe9\xb0\x65\x5c\x63\xe1\xf0\x14\x20\x7d\xf7\x3b\xce\xbe\x1a\x4d\xc6\x43\xb6\x15\x2e\x95\x57\x76\xf5\xf5\x27\x3f\xf6\x71\xd5\x13\x74\x13\xc3\xd7\xc8\x86\xce\x0c\xdf\xdf\x11\x8a\xcb\x1e\x61\xec\x9e\xb6\x07\x45\xc1\x52\x5e\xe0\xbd\xb1\xa6\xc6\x78\x6e\x8f\x9c\x24\x54\x82\x1f\xfb\xfc\x8c\x6c\xb8\xdc\x50\x95\xac\x2d\x8e\x74\xcd\x97\xf2\xb9\x1d\x1e\x9f\xd2\x6b\x11\x6b\x72\x69\xaa\xe5\x7a\x0f\x0c\x71\xfc\xea\x59\xcc\xc4\xea\x06\x82\x86\xdb\x27\xd9\x3c\x8e\x54\x06\xac\x23\xaa\x1e\x34\xb7\xdf\xa9\x89\xd4\xef\x35\x51\x34\xe9\x62\xae\x30\x12\xeb\x80\xd5\xac\x10\x5e\xf6\xac\x4b\x12\x30\x50\x1e\x10\x22\x65\xef\x38\xa7\xc6\x44\x69\x3b\xbc\x35\xc4\x07\x04\x1a\xd4\x9d\xd2\x7a\xdd\x61\x1c\xc1\xb1\x97\x0d\xda\xe8\xa2\xec\xaf\x4e\x5a\x5a\x33\x1a\x04\x25\x46\xad\x92\xc0\xb8\x74\x4c\x5c\x3b\x7d\xcc\x04\xa2\x91\xb8\x3e\x4f\x70\x43\xf4\x67\xd4\x94\x66\x85\x74\x5b\xb4\x13\x49\x6b\x45\xae\xa7\x81\xb8\x83\x99\x0d\xb1\x45\xfd\xf8\xfa\x75\x97\x8d\xa7\x3e\x72\xc7\x37\x42\x0d\x9c\xcf\x20\x67\x3d\x73\xea\xcc\xcc\xe1\x69\xdc\xb3\x44\x47\xa1\x09\xa3\xb0\x85\x99\xd3\x2b\xdf\x5a\x0b\x36\x2c\xe5\xe5\x06\xb3\x91\x3d\x73\x31\x84\x2a\x71\x49\x52\x3d\x11\x1b\xc8\x36\x34\x81\xca\x58\x51\xd7\x94\x14\x34\x79\x46\xce\x63\x58\xb3\x94\xbf\x6a\xf0\xfb\x93\x27\xf4\x6b\x5e\xe8\x83\xa2\x4c\xe6\x3e\x8c\xd6\xb6\x61\xb6\x17\x50\xbc\xd5\x5e\x74\xa2\xed\xf7\x4d\x23\xef\x37\x1b\xfe\xd7\x6f\xc3\x87\xc1\x04\x0b\x71\xff\x0e\x6d\xac\x1e\xfd\xc9\x50\xf3\xe2\x08\x89\x27\x9f\xdd\xa1\xb0\x8f\xcd\x1d\xb6\xcf\xb6\xd1\x46\x38\x17\x60\xe7\x43\x22\x8a\x4d\xc0\xfe\x4e\xb6\x80\x79\xef\x19\x69\x6d\x9c\x73\x33\x7e\x60\x04\x61\x60\x09\xcd\x32\x3c\xf9\xf5\xf0\x43\xcc\xb8\x5e\x37\xfa\xa2\xc0\x12\x26\x25\x2d\x76\x08\x87\x6f\xf1\x43\x6a\x6d\x1a\xf0\x8b\x4a\x79\x30\x2d\x04\xea\xb4\x0c\x38\x5d\xfe\xf2\xec\x4b\xa0\x77\xff\x4b\xe3\x96\x87\x57\x77\xef\x31\x38\xe0\x10\x6c\x47\xb2\x73\x18\x76\x70\x20\x3d\xdd\x96\xe1\xe1\xe5\xa2\x09\xe1\x08\x66\x8c\x9e\x36\xba\xdc\xcf\x88\x4b\xa1\x58\x81\xf7\x5d\x9a\x99\xe8\xf2\x50\xa4\xf1\xd4\xaf\x43\x5f\x55\x1f\xd0\x6a\x80\x01\x27\x3c\xfe\xed\x2a\xfe\x36\x3f\x9a\x8c\xc1\x2c\x76\x24\xfb\x9c\xe9\x79\x72\xf7\xe6\x72\x3c\x7d\x7f\x71\x3e\x7f\x7b\x79\x73\xd3\x27\xae\xb9\x24\x9a\x0d\x9e\xc2\xb9\xba\x2d\x17\x19\x97\x6b\xbd\xec\xc5\x86\x41\xfc\xfe\x09\xac\x7d\xdc\x43\xa5\x64\x5a\xa8\xe5\xe2\xf1\x78\xe6\x85\xdf\x75\x4e\xcf\xe7\x0f\xf2\xf9\xd3\xeb\x3f\xb5\x72\x72\x7d\x31\xfb\xe5\xe6\xf6\xe7\xf9\xd5\xf8\xdd\xed\x68\x76\xd1\x93\x7d\x7f\xcb\xb6\x8c\xa2\xde\xf3\x5b\xc9\xf0\x68\x72\xd6\x72\x56\x90\x7f\x3c\x99\x1f\xd4\x1c\x3e\x37\x37\x51\x7a\xcc\x68\x32\x99\x4f\xc7\xef\xae\xef\x26\x83\x0f\x11\x0b\x7f\x68\x0f\x6a\x0e\x78\x6e\xc7\x65\xef\xcd\xe8\xfa\x3a\x46\x83\x76\x77\xb2\x86\xba\xb5\xa0\xb9\xbb\x23\x58\x5d\xf7\xb8\x1c\xf6\xcb\x15\x3d\x62\x54\xde\x1b\x7b\xb2\x57\xf6\x45\x90\x8d\xd6\xd9\x21\x86\xf1\xe9\xdb\x6f\xb0\x7a\x6a\xa3\x17\xda\xae\x43\x11\x5c\xb4\xeb\x28\xc8\x85\xbb\x52\xc7\x8d\x0e\xa8\x18\xaa\xe0\x68\x92\x74\xde\xb7\xda\x00\x1d\x69\x7c\x1c\x67\x93\xdb\x9b\xd9\xc5\xd9\xac\x77\x71\x71\x69\x06\x88\x7b\x11\x31\x2e\xf4\xe6\xe9\xa1\x1e\x57\x53\xbc\xdf\x9c\xdd\x5e\x68\xe1\xf0\x76\x34\xee\x2b\xd6\x3c\xca\x09\x1c\xcb\x44\x24\xa0\x77\xa5\xe4\x71\xcd\x33\x46\x92\x82\x61\x10\xad\x5e\x62\xd3\xab\x69\x2d\x54\xae\x5b\x15\xe3\xab\x7c\x1c\x36\x39\x9b\xc7\x11\x6a\x18\x5f\xe5\xbe\x6f\xd2\x98\x86\x6c\x54\x6e\x7d\xa9\x1d\x9c\x78\xf2\x01\x56\x6d\x5e\x6e\x58\xc1\x13\x6a\x71\x9b\x6d\x6a\xc8\xf4\x6a\xfa\xb2\x25\x76\xb8\xc5\xaa\xe0\x51\x92\xf1\xf9\xc9\xa1\x16\x85\xa6\x4a\xa6\x99\x68\x55\xcb\x3e\xa5\xa5\x61\xc0\xbd\xb8\x36\x54\x6d\xb6\xab\x27\x5f\xd5\x63\xec\x1e\xba\xef\x63\x39\xb1\xbc\xae\x07\x45\x6d\x99\x2d\xe2\x8c\x28\xbf\x3b\x11\x1c\xc1\xc5\xdd\x75\x54\xe2\xf0\xcc\x33\x11\x21\x4b\x8b\x52\xeb\xb6\xde\x3e\xd6\x2b\x06\xc1\xdb\xaa\xe3\xd5\x5e\xc5\x23\xbd\x1e\x12\x80\x9d\x3b\xe5\xcc\xdd\x36\xca\xe6\x89\xdd\xca\xa0\x70\xb1\x1b\x51\xee\xa4\x62\x9b\x01\xa2\x66\x10\x60\x4b\x1f\xf6\xca\x10\xf9\xf3\x55\x8a\x98\x61\x58\x2b\x76\x35\x7b\x83\xf5\xfb\xbb\x53\x84\x38\xb9\x1c\x1d\x30\x12\x7b\x30\x3c\x47\x11\xaf\x83\x85\x3d\xfd\x26\xea\x3f\xa9\xa8\xff\x97\xbd\x03\x44\x70\x11\x7d\xfc\x34\xaf\x6e\x36\x5c\x0f\xe3\xf4\xfa\xce\x97\x85\x50\xf2\x94\xe6\xf2\x91\x15\xbf\xb0\xc5\x5a\x88\xfb\xbf\x4d\x6f\xae\xff\x5e\x06\xdc\xa5\x5d\xe4\xfd\xe7\xcf\x08\x5e\xd4\xa7\x4f\x52\x4a\x25\x36\x78\x53\xff\x2b\xe2\x19\x0b\x05\xa8\x4e\xbb\x01\x81\xb9\x54\x51\xcd\x14\x40\x03\x4b\x56\x70\x9a\x81\xf1\x1d\xf9\xb3\x76\x9c\xdf\x6a\xcc\x11\xf2\x0c\x7e\x30\x16\xc6\x71\x65\x55\x04\xa7\xad\xcf\xd7\xd1\x4f\x85\xbf\xdf\x5d\xdc\xfe\x3a\x24\x4a\x07\x0d\x19\xa1\xa0\xb7\xc3\x16\x19\x04\xe0\xbd\xb9\x89\x85\x09\xac\x1c\x11\x09\xcd\x5d\x62\x65\x82\x15\x19\x21\x7f\xc2\x0b\x77\xeb\x5c\x64\x70\x27\x80\xe1\x35\x4e\xf3\xe0\xfa\xda\xa7\x8c\xb3\x64\x7b\x0b\xcb\x1c\x64\x07\x2f\x2d\x6c\x66\x8e\x9f\x6e\xa7\xc3\x0c\xc4\x9e\x8a\xa2\xdb\x90\x6d\x0b\xd1\xbc\xe0\x75\x72\xec\x25\x75\x75\x31\x7b\x7f\x13\xbf\xa0\xaa\xbc\x61\xeb\x5d\xfa\x43\x2c\x2c\xf5\x46\xa8\x33\xb1\xd9\xd0\x3c\x6d\xf5\xf4\xb5\x91\xc5\x2c\x29\xa5\x79\x20\x09\xbe\x42\x32\x2e\x07\x04\x76\x26\x15\x3f\x10\x7f\xe8\xfe\xff\xdf\xfc\x0f\xb2\x1f\x62\xa0\x8a\x25\xa6\x39\x75\x61\x87\x05\x28\xfb\x3f\xe7\x4c\xd3\x13\xbe\x34\x46\x06\x0b\x77\xb4\x2c\x18\xa2\xbf\xe8\x69\x58\x30\x42\xa5\xbe\x4e\xa0\x19\x9c\x76\x40\x28\x47\x8c\x00\xbe\xeb\xae\x49\x7b\x4d\x19\x20\x13\x9e\x65\x5e\xaf\xb5\x55\x5a\x36\x3f\xaf\x81\x59\x36\x5b\x57\xc0\x56\x50\x9d\x4c\x7f\xe3\xf1\x83\x96\x10\x8b\x7a\x3a\x1f\x9d\x5f\x8d\xaf\xd1\x37\x72\x06\x4a\xf5\xd5\xdd\xd9\xfb\x3e\xfd\xe5\xbb\x82\x11\x9a\x6e\x38\x96\x48\xb7\x8a\x0b\x38\x49\x12\x3b\x28\xf2\x84\x6c\xe8\x7d\x15\x03\x00\xbf\x61\x79\x0a\x65\x3e\x0c\x71\x07\xfd\xef\x85\x08\x93\x0a\xe6\xfa\xc9\x1b\xd8\x42\x6e\x0f\x0e\x67\xb5\x35\x12\x8e\x28\x4c\xce\xde\x8f\x66\x07\x85\x89\x27\x88\x30\x78\x6c\xc1\x36\x08\x37\xb3\x16\xb3\xee\x03\x9f\x45\x85\x30\x54\x1b\x1c\x90\x99\xce\xdc\x2e\xea\x10\x05\x35\xca\x08\x51\x60\x30\x9f\x48\xb5\x17\x5f\x99\xc6\x0e\xc1\x6f\x35\x1d\x13\xbf\x3f\x6f\xc3\x1a\x50\x24\x4d\xf9\x8e\x09\xdc\xf9\xf6\x37\x8f\x6c\x51\x08\x9a\x26\x54\x36\xab\x47\x25\x96\xd9\xa4\xf1\x7d\x87\x22\x92\xad\x98\x98\x43\x8d\x8e\x1a\x47\x99\x68\x94\xcc\x22\xe4\xd9\x86\xad\x28\x0a\xbd\x00\x4b\x9e\x58\xf4\x5e\x73\x88\x91\x76\x60\xf0\x87\x4f\x26\x96\x62\x25\x11\xfa\x0b\x2c\x42\xbe\x95\x44\x76\x15\x79\x82\xf9\xe9\x4e\x03\xd8\xbf\x03\x20\x6f\xcf\xf4\xb6\x35\xd0\x30\xc7\x02\xbc\x05\x1e\x66\xe3\xd9\x65\xcc\xd5\xff\x5a\xa0\xe8\x80\xa9\x3a\x24\x23\xb5\xdd\x83\x09\x4a\xd1\xed\xc5\x74\x76\x3b\xee\xf5\x99\x98\xb3\x42\x6e\xe9\xa6\x60\x08\x81\xea\xfb\xcd\xcd\xa2\x73\xa7\x83\x28\x80\xe3\xda\xed\xb7\x5b\xa0\x40\xb1\xce\x28\x81\x52\xa7\xec\x17\x28\x36\x65\xf5\x58\xfa\xc2\x59\x8b\xae\x20\xb0\xd8\xe8\x27\xdb\x47\x5f\xcb\xb9\xf7\x35\x96\xbd\xb0\x6c\xc1\x5e\x1e\xdd\xbe\xeb\x66\xec\xac\x1a\x17\xd8\xcc\xb4\x40\xc8\xe4\x05\x33\x53\x98\xfe\x15\x39\x45\x77\x9c\x1e\x3e\x29\x4b\xf0\xc7\xb1\x9c\xa8\x62\x67\x72\xf6\x91\xb8\x5a\xf1\x60\x4e\x87\xd0\x58\x88\xb4\xfa\xfe\xf5\xeb\xd7\x64\xc3\x36\x0b\x56\x48\xf2\x5c\x96\x58\x13\xc8\x29\x4b\x4f\x8f\xa2\x44\x21\x06\x3a\xdf\xed\xc5\xdf\xef\x7a\x0d\x76\x7a\x42\x1c\xac\x65\x6e\x94\x3e\x30\x3b\xe3\xac\x00\x73\xa9\x80\xff\x3f\x59\xb2\x00\x73\xbf\xdc\x8e\x67\x17\x83\x03\x10\x00\xd0\xa8\xc6\xd8\x40\x11\xf2\x9e\x4b\x25\xda\x0d\x44\x01\xca\x68\x11\x82\x25\xf0\xe1\x25\xb4\xc8\x3c\x51\x92\x4c\x2b\x09\xf2\xb8\x16\xb2\x6a\xdc\x4e\x94\x59\x91\xb5\x63\x9f\x7e\xb4\xe6\xa1\x73\xcd\x84\x75\x36\xa0\x14\xaa\x6a\xf2\x85\x9a\xfa\x26\xa0\x9e\x20\xa0\x62\xd6\xdf\x15\x4e\x48\xeb\x5d\x3f\x44\x1a\xbd\x02\xcd\x6c\x1b\x7f\xfc\x27\x3b\xd0\xf6\xf3\x80\xc7\xe7\xd2\x5b\x6d\xf2\xdb\x89\xf7\x79\x4e\xbc\x76\xf1\x6a\x41\xc0\xce\x2f\x2e\x2f\x0e\x10\xb1\xe6\xe8\x12\xb9\x4b\x04\x71\xd3\xaa\x35\x3a\x8c\xd9\x71\x13\x7c\x42\x36\x42\x2a\x92\xf1\x7b\x06\x66\xb0\x84\x9a\x20\x49\x2e\xb5\x04\x34\xa5\xcf\x4d\x0b\x4f\xf7\x76\x1c\xbd\x88\x55\xcc\x9e\xbd\x93\xac\x88\x3f\x37\x7c\xea\x78\xf5\x33\xcb\xaa\x61\x86\x84\x0d\xb0\x23\x26\xac\x50\xd4\xa2\x16\xc0\xa6\x3e\xda\x99\xd2\xb4\x4b\xcd\xbd\x8c\x7e\x3c\x6e\x2a\x7e\x1c\x62\xc5\xb7\x63\xe2\x4b\xea\xb1\xff\x7a\x1a\xdd\x57\x22\x24\x9e\xe0\x55\xf8\x3c\x78\x11\x4e\x04\xb1\x94\xab\x91\x9e\xea\x4e\x41\x55\x51\xf5\x0b\xa8\x2b\x91\xf2\x25\x26\x09\xe2\x1a\x2a\xf8\x6a\xad\x24\x6a\xb8\x6d\x72\xe9\x10\x73\x9c\x6e\x78\x8e\x0d\xdb\xd1\xf0\x3b\xf3\x65\x55\xc3\x34\xdf\xd6\xaf\x47\x5d\xd0\xfc\x1e\xe7\x39\xe5\x09\xb5\x58\xa8\x85\xc8\x18\x79\xae\x9f\xbd\xb0\x67\x9c\xb7\x3f\x18\xd6\xa2\xfc\x09\xab\xa9\xe9\xbd\x53\x2c\xb8\x82\xb8\x7b\x2c\x2b\x12\x10\x9d\x9a\x1d\xd4\xba\xad\xad\xdb\x08\xd2\xda\xb8\x55\xc2\x74\xa3\x47\x96\x7f\x02\x69\x0a\x52\x22\xd2\xb6\x36\x83\x1a\x05\xb4\xf0\x02\x13\x80\xdd\xa7\xdb\xd1\xde\xdc\xcc\x0e\xe7\x01\xfc\x9e\xbe\x50\x78\x75\x2c\x57\xc1\x9b\x9b\xd9\xdc\x99\x1f\xaf\x47\x7d\xe0\x1b\xd2\x88\x29\xbd\x65\xcc\x44\x6e\x0b\xfe\xc0\x33\xb6\x3a\x42\x80\xb2\x66\xe6\xdd\xed\xcd\xdd\x64\x3a\x7f\x73\x79\x73\xf6\x73\x4c\x68\x32\xf8\xf5\xa8\x41\x33\xa3\xa9\x49\xfb\x38\x9e\xf1\xf3\xdb\x41\x1c\x71\xd6\xe1\x41\x3c\xbe\xfe\xa0\x8f\xbc\xe8\xf3\x38\x15\xe0\x4b\xc1\xd8\x77\x2d\x87\x50\x24\x1c\x74\x10\x7f\xd3\x12\xa2\xb9\xe9\x4a\xad\x44\xa8\xc5\xb9\x11\x99\xf1\x6c\x41\xf1\x57\x38\x20\x58\x86\xc8\x2a\x30\x76\xbe\xd5\x9b\xa6\x90\x30\xbd\xc1\x03\x14\x13\x2f\x51\xb6\x92\x1d\x3b\x16\xc0\x32\x28\x19\xe7\x17\xa3\xb3\x19\x6c\x92\x21\x71\x14\x78\x42\x41\x7d\x9d\x9a\x56\x7f\x78\x10\xd8\x17\x29\xed\xdb\xbe\xd6\x6e\xc7\xef\xde\xcf\xe2\xe7\xb3\xa8\x1f\xd2\x66\xa3\xd2\x2c\x13\x8f\x78\xeb\x3d\xde\x16\xd5\x33\x16\x7f\x30\x92\x0d\xfd\xc8\x37\xe5\xc6\x46\xc9\x09\xac\x68\x26\x01\x29\x60\xc1\x00\x17\x2a\x61\x4c\x8f\xe2\xf3\x86\xc7\x51\x21\x4e\x21\xfb\x48\x37\xdb\xec\x08\x36\x65\x8c\x92\x89\x38\xa6\xe0\x0e\xb9\xc8\xb0\x74\xfb\x53\x27\x12\x7a\x1d\xe6\x2f\xbc\xa9\x4c\x17\x38\x56\x35\xbb\x85\xde\x96\xf5\x58\xc3\x4f\xeb\x4f\xc4\x0f\xb8\xbd\x18\xcd\x6e\x6e\x63\x73\xb5\x19\x9e\x10\xd5\x01\x76\xe2\x4c\x2b\x3b\x74\xb5\x71\xad\x99\xe8\xc9\x16\x4f\x0f\xde\xfc\x34\x17\x95\x27\xf0\x02\xe5\xd9\xee\x66\x77\xa3\xcb\xf9\xd9\xcd\xf5\x6c\x74\x36\x1b\xc8\x93\x09\x5a\xa0\x64\x53\xaa\x12\xf2\x85\x72\x45\x07\x81\xda\x77\x2c\x46\xd0\x47\xce\x7e\x8d\xf5\x8d\xda\x40\x9f\xef\x4c\x54\x4c\xb2\xab\x0a\x05\x1f\x47\xce\xfc\x0e\xfc\xb7\x5a\x7d\x7e\x03\x89\x99\xbd\x17\x53\x43\xd6\x7f\x33\x7d\x43\xf3\x57\x65\xbe\xa0\xf9\xab\x7b\x9e\xdc\x1f\xef\x36\x8a\x09\xa4\x8d\xeb\xa8\xc9\x2a\x7d\xea\x7d\x34\xe6\xba\x58\xeb\xea\x73\xdc\x17\xbf\x29\xfd\xdf\xf4\xea\x3f\x9c\xf5\x6d\x32\xbe\xbe\xbe\x38\x9f\x9f\x8f\x47\x97\x37\xef\x62\xf5\x2d\x17\xe2\xc8\x61\x0b\xa6\x9c\x66\x62\x75\x24\x15\xc0\x5d\x19\x7b\x87\xc5\x48\x63\x38\x19\xcc\xda\xf9\x4a\xcf\xf8\x7e\xa1\x7f\x66\x74\x94\x3e\xa9\x6f\xe9\xfa\xc5\xfe\xac\xa0\xb9\x5c\xb2\xc2\x49\x1f\xf1\x98\xb3\x42\xae\xf9\x93\xdc\x9b\xf5\xa8\xf8\xaa\x3e\x42\x0d\xdc\x50\x2c\x2d\x22\x51\x40\xa6\x5f\xb3\xc7\x3a\x5b\x9f\x4c\x56\x7f\x93\x8f\xf1\xcc\x1d\xab\xe4\x84\x45\x17\x3b\xd6\x59\xe7\xf8\xba\x1a\x4f\xa7\xe3\x9e\x30\x43\x37\x62\x2c\x87\xa2\xc8\x7a\x61\xf2\x9c\x88\x22\x35\xf9\x42\x76\x5b\xb8\xed\x60\xd2\x82\x8e\x64\x37\x75\xcc\x6a\x49\x8a\xb6\x93\xfe\x62\x6f\x6e\xe8\x1e\xa9\x74\xfa\x4b\x1b\xe2\x14\x5d\x89\x13\xa2\x8a\x1d\xa1\x2b\x8a\x2b\xe1\x1f\x44\xb2\x44\x78\x59\x07\x87\xe3\x2d\x5c\x4c\xa7\xe3\x9b\xeb\x01\x8c\x03\x68\x1e\xc0\x5a\x01\xe3\xa8\xfe\x7e\x76\xbe\xbf\x94\xc8\xbe\xb4\xe1\xc4\x7d\x32\xfb\xb2\x19\x77\x1c\x16\xda\x17\x29\x57\x2e\x4e\x59\x2f\xcc\x95\x09\x5e\x1e\xe2\x24\x72\xb1\xd8\x23\x53\xab\x76\xdf\x1d\xe3\x09\x76\x1b\x1e\x1d\x8c\x9f\xd6\xc2\x7a\xc5\x84\x8b\x9e\x3e\xb6\xa8\xbe\xba\x78\x37\x02\xe3\x7e\xbc\x48\x74\xf9\x44\x88\xd5\x54\x25\x1a\x89\x76\xdf\x7f\xd4\x7c\x4e\xd6\x42\x89\xde\xc9\x44\xaa\xfe\x99\x3c\xab\xd2\x39\xb6\xfa\x95\x9a\x94\xf9\x04\xc1\xb3\x78\x27\xc2\xae\xbc\xd2\x19\x29\x6f\x44\xbe\x6d\xcd\x57\xc2\xb4\xe2\x7f\xfe\xe0\xf7\xa4\xaf\xf7\xc0\x05\xe6\xa2\x6b\xec\xc3\x50\xa1\xc2\x6d\x2f\x02\x8f\x14\xaa\x3b\x35\x6f\xbc\x7f\x90\x1b\xd2\xe4\xfd\xcd\xec\x66\x7e\x76\x7b\x33\x99\x4f\xc7\xff\xf7\xc5\x7c\x7a\x35\xba\xbc\xec\x64\x07\x36\xa7\x0d\x4a\x96\x1b\x9a\x1d\xe1\x3c\x07\x26\x2e\xfe\x11\x9b\xf4\xc8\x08\xfb\xa8\x58\x2e\x8d\xfc\xae\xf6\xff\x31\x15\x22\xe0\x29\x86\x1f\x33\x20\x07\x9c\x6e\x33\x93\xe1\xd2\x2d\x0d\x91\x2a\xf2\x5c\x83\x8a\xc0\x26\xad\xed\x33\x85\x5d\xba\x3c\x1d\x2d\xed\x7c\xb4\x89\x6f\xc2\xee\x5f\x48\xd8\x7d\xbd\xc9\x43\x5f\x26\xc4\x1f\x2b\x7c\x99\xb8\xe9\x4b\x0e\xa1\x3f\x1d\xfb\x7c\x8f\xba\x7f\xbf\xbf\x63\x8a\x64\x3c\xbf\x87\xb4\x63\xa8\xc4\x8d\xa5\xc1\x61\xe7\xbb\x3a\xba\xc7\x8f\xbe\x7e\x7a\xe6\xa0\xe6\x00\xac\xef\x7e\x36\x20\xcf\x93\xac\x4c\x99\x71\x4e\x1b\x1a\x40\x8f\xa7\xe4\x39\x40\xfe\x67\x8b\x72\x53\xaf\x99\x83\x96\x8e\xab\x56\x14\x23\xb5\x2e\x18\x6d\x76\x42\x33\x59\xf5\x44\x09\xd2\x00\xfc\x1a\x5f\x12\xfa\x40\x79\xa6\x2f\xb4\x27\x84\xe7\x92\xa7\xce\x73\xa7\x47\xf9\x8f\x2e\xd4\xbe\x46\x4b\x8e\x2b\x21\x7d\xc0\xc5\xd3\x6d\x80\xa3\x26\x31\x7f\xe6\x98\xef\x15\xc3\xd8\xc8\x4b\xb1\xea\x14\x1f\x3e\x5d\x9c\xe0\xa8\xe2\x0c\x33\xb1\x7a\xba\xb2\x60\xe2\xf4\xc0\xe1\x9d\xed\xa0\x5e\x20\x81\x7a\x76\xd2\xe1\xfd\xd9\xe0\xc3\x90\xc7\xaa\x45\xba\x60\x0b\xf3\x25\xcf\x14\x22\x91\x5d\x40\x89\x3c\xf3\xff\xa7\x8a\xa1\x8c\x6f\x38\x5c\xbe\xaf\xf6\xc2\x1a\x0a\x26\xcb\x0c\xa3\xa1\xb0\x1a\x05\x36\xb9\xa5\x2b\x53\xdd\xa9\x3d\xcf\xc9\x36\x54\xcf\x77\x72\x8d\x20\xe2\x76\xd5\x48\x4d\x94\x6d\x78\x6e\x5b\xe1\xf9\xc1\xad\xfc\x06\x46\x26\x46\x8b\x64\x8d\xb0\x37\x27\x16\x90\xe2\xd3\x14\x2f\xf9\x26\xc4\x7e\x2f\x0a\xe3\xef\xe1\x32\xfa\x85\xa4\x2b\x4b\x27\x00\x23\x62\x24\x50\x77\x3e\x5c\xf0\xa5\x38\xb9\xdb\x16\xd6\xf3\xca\x1a\x20\x25\x79\x64\x15\xce\x09\xcf\x4f\xc9\x9d\x2c\x69\x96\xed\x2c\xa0\x0f\x66\xf6\x5a\x17\x3d\x46\x5b\x49\xa3\xa2\x6c\x38\xd6\xc7\x10\x8f\x7a\x35\x37\x80\x51\xda\xbb\x3b\x01\xd5\xd1\xb5\xc7\xa5\x41\xd8\x04\x80\xb8\xb5\xe0\x89\x11\x3b\x1b\xf1\xe0\x92\xb0\xbc\x5d\x12\x68\x75\x50\x7d\xcf\x79\x56\x59\x78\x61\x80\x5c\x33\xf5\x63\x82\x25\xf7\x73\x27\xb0\xc7\x4b\x22\x99\xaa\x33\xbf\xa6\x92\x14\x8c\x26\x6b\x83\x7e\x83\x03\x22\x96\xc3\xc6\x83\xe7\x52\x69\x8d\x10\xce\x00\x2d\x6d\x2d\xa0\xb1\x95\x57\x19\x54\x73\xad\x82\xba\xaa\x10\x46\x94\xa4\x88\xc3\xb3\xb0\x55\x8c\x58\x7a\x7a\x27\xd9\xb2\xcc\x1c\xac\x0e\x42\x07\xe5\xec\xb1\xc1\x12\xc8\x69\x9e\xa7\x8c\x81\x51\xd1\xd8\xf9\x4f\xe0\x14\x25\x0b\xb6\x14\x7a\x5d\xc8\x7b\xcb\x0f\x7c\xb3\x12\x04\x51\xd9\xdd\xe1\x5d\x83\xf1\x81\xec\xb7\x9c\xb4\x43\x1d\xbd\x72\x3f\x97\xdb\x94\x62\xaa\x98\xfe\xfd\xf4\xb0\x73\xf5\x13\x1d\x2c\x16\x2c\xe8\xf2\xe6\x6c\x34\xbb\x38\x8f\x73\x9d\xdf\x9a\xa1\xd7\x43\xbd\x10\x06\x3b\xd6\x5b\x42\x6e\xe1\x78\xcb\x8f\xc0\xa7\x42\xe0\x7f\xfc\xd2\x32\x33\x58\x2d\xd9\x23\x1d\x61\x87\x40\x24\xf9\x1f\xdd\xfc\x5e\xfd\x6d\x58\x7d\x69\xe0\x97\xf5\x04\x21\xf6\x8a\xd7\x58\x89\x3a\x50\x88\xc2\x35\x17\x61\x4e\xba\x38\xec\x97\x3f\xb5\x8c\xe1\xb6\xa6\x20\x9d\xa1\xd6\xe3\x37\x15\xea\x0b\xdc\x03\x3f\xbb\x5e\xf0\xb6\xcc\xb2\x18\x84\x97\x06\x69\xdc\xf2\x5d\x96\x59\xe6\xaf\xe1\x3d\xc7\xf8\xa1\xa0\x70\xdf\x56\xeb\xe7\x5d\xad\x41\x9d\x1a\xd9\x42\xe9\x8d\x6e\xd7\x9e\xec\xae\x16\x54\x3f\x08\xb9\xb2\x16\xa9\xdf\xe1\x16\x7a\x07\x02\xf4\xad\x28\xce\xb9\x4c\x4a\x2c\xcc\xd5\xb3\x95\xda\x5e\x89\xdb\x52\x34\xcb\x88\x95\xd8\xfa\x8a\x64\x2e\xbd\xa5\x64\x29\xa1\x92\xa4\xae\x3d\x62\x75\x54\x4f\xcb\x71\x47\x67\xc6\x56\x34\xd9\x21\x09\x46\x15\xbb\x9b\x18\x82\x8a\x97\xdb\x55\x41\x4d\x96\x9b\x7f\x4a\x18\xfd\x4c\xad\xd9\xce\x76\x0d\x67\xad\x24\x74\xaf\xef\x5a\xd7\x33\x81\x84\x4e\x5d\xf4\x9a\x6d\x7f\xfd\x84\xd0\x24\x81\xe0\x0f\x01\x81\xf7\x22\x4b\xab\xec\x78\xcb\x2d\xc6\xe5\xd8\x0a\xb8\x6e\x88\x95\x58\xad\x32\x36\x29\x2c\x9e\xcc\x7b\x9e\xa6\x2c\x3f\xc1\x8f\x0b\x94\xee\xf5\xe7\x67\x9c\xd3\x44\xf1\x07\x16\x7b\xac\xef\xd1\xc7\x1e\xef\xf8\x5a\x15\xe4\xad\x95\x96\xb6\x03\x3e\xc8\xe9\x25\x5b\x46\x2b\x1f\x35\xda\xc8\xe5\x66\xee\x01\x01\xa5\xe1\x91\x91\x8c\x2d\x07\xa0\x9c\x8a\xe5\x52\x32\xb8\xda\xdc\xc0\x5f\x70\x91\xf3\xac\x4d\x87\x4b\xf1\x76\x11\x35\x1b\xfd\x7c\x71\x63\x90\xed\x7b\x0d\x12\x23\xa2\xe8\x3d\xd3\x07\x95\x0d\x44\xd2\x6a\x23\x02\x51\xf1\x9c\x2b\x03\xd3\x6b\x96\xd1\x10\x11\x11\x05\x40\xe3\xd3\x0d\xba\x63\xfb\xc2\xd4\xee\x90\xcf\x89\x3a\xb3\x62\xdf\x8e\xdf\x2f\xea\x34\x98\xc6\xf9\x1c\x2b\x4f\x81\xc4\x54\xca\xa3\xc5\x7d\x7f\xfe\x43\x77\x42\x0b\xc5\x13\xbe\xa5\x79\x2b\x2e\x78\x88\x74\xf0\xb5\xab\xcd\x5b\x40\xb6\x5e\x8b\xc7\xdf\x67\x5e\x68\x33\x5a\xc6\xbd\xee\xbe\x29\xbe\x41\x5e\xfe\xf5\x2c\xdd\x5f\x75\x2a\xc8\x57\x99\xdf\x38\x19\xdd\xce\xc6\x67\xe3\xc9\xe8\xba\x3b\xb9\xd1\x4f\x06\x31\x90\x91\x0e\x3e\x7b\x3f\xd9\xec\x40\xb9\xd5\xab\x0d\xd4\x68\xe3\xbd\x9d\x9e\xb8\x90\x4d\x4c\xc4\x26\xcb\x4f\x0e\x8b\x70\x1e\xcb\x5f\x00\xe6\xb0\x26\xaa\x76\x5b\xd4\x0f\x96\x4c\x25\x6b\xff\x2d\x5b\x99\xe9\xbd\xfe\xb7\xcd\x51\x79\x09\x7f\x9c\x84\xf5\xc6\x6f\x52\xef\x9b\xd4\xab\x31\x87\xc0\x0c\x67\x37\xd7\xd3\xd9\xed\xdd\xd9\xec\x66\x40\xe5\x78\x37\x93\x22\x97\xaa\x28\x13\x25\x86\x54\x90\x77\x1b\x96\xe7\x0f\x5c\xb1\x99\x88\xb1\xa6\x35\x69\xfb\x37\xf7\x18\xde\x30\xa9\xf5\xc7\x2c\xb5\xd0\xaf\x8b\x80\x5f\xe4\xce\x76\x8c\xac\x1f\x7d\xff\x7d\xc5\xc0\x45\xdf\xb0\x82\xbe\xc9\xa9\xe3\x06\xae\x0e\xd1\xcd\x06\xc6\x1b\xfc\x1e\xa2\x1f\xbe\x3e\x10\x9d\xaf\x48\x67\xfe\x1d\xa3\xd4\x40\x0d\xf1\xf9\xf8\xda\x22\xc7\xc4\xa8\xd8\x7e\xe1\x70\xc9\xf2\x94\xe7\xab\x1a\xa2\xb2\x1f\xbe\x60\x8f\xcf\xaf\x1e\x54\xa7\xbb\xe0\x55\x67\x8f\x16\xfd\xce\x55\xb8\x32\xe0\x55\x7e\x78\xc3\x37\x78\x9f\xaf\xee\x72\xf9\xf3\x38\x4e\x37\x70\x92\xeb\x9e\x27\xf7\xae\x60\x7e\xef\xb5\xf2\x89\xd7\xde\x6f\xb0\x3e\x8e\xd7\x6e\x1d\x5e\x6b\x26\x31\xfa\xbb\x4f\xd7\xaf\xbb\xff\x4d\x7c\x5a\x68\x78\xfd\xa5\x9a\xa3\x4f\x17\x9b\xf4\x75\x56\x0c\xfa\xa6\x08\xf7\xe9\x59\x80\x94\x09\x00\x0c\xfd\x0e\x82\x19\x14\xbb\x86\x5b\xa6\xc5\x5c\x38\x4e\x19\xe3\x1a\x1b\x11\x75\x8c\x3d\x46\x20\xeb\x47\xab\x33\xc7\xaa\x6b\xec\xf3\x12\xbb\x72\x1a\x83\xf2\xd5\x66\x58\x1c\xc6\xc6\x97\xc1\x8f\xfc\x23\xea\xbf\xa3\xcb\xdb\x8b\xd1\xf9\xaf\xd1\x46\xe6\x99\x17\x8e\xec\x6b\x4e\x16\x0b\xfb\x48\x20\x88\x5f\x85\x9a\xd7\x7d\xec\x02\xf4\x62\xcc\xb9\x5b\x23\xec\x3f\x78\x2f\x01\xd2\xf1\x13\x9f\xbc\xc0\xd3\x37\x7b\xf4\xb7\xf0\xb3\xaf\x49\xaa\xff\x4e\xf0\x4f\xbf\x02\x9f\x9c\x16\x65\x31\x75\x66\x7c\xba\x7e\xc9\x73\x45\x8b\xfb\xb6\xc8\x01\x5b\x02\x0c\xc3\xd1\xd3\x4f\x60\xb1\x8f\x29\x46\xd6\x52\x64\x66\x43\x8b\x7b\x0c\x21\xf4\xf9\xfa\x26\xce\xfe\xb0\xb1\xdf\x7a\x9a\x4d\xb8\xd9\x99\xc8\x15\xeb\xf3\x47\xb7\xd1\x1f\xbe\x0f\x2c\xe7\x89\x69\xea\x13\x6e\x88\xf6\xb0\x35\x44\x38\x72\xdd\x7f\xdb\x08\xff\xc2\x1b\x61\x2b\x0a\x35\xdd\xd2\x4d\xcf\xfa\x77\x64\xfd\xcb\xfe\x16\x88\x25\xd6\x67\x77\x6b\x0e\x8c\x7d\xed\x88\xc9\x7a\xbd\xc9\x2d\xdd\xfc\x95\x14\xec\xb7\x92\x17\x4c\xa2\xe1\x97\x4b\x55\xe8\xe3\xd6\x02\x13\x9b\xfb\xc1\x27\x29\x48\x56\xdb\x28\x9a\x99\x2a\x98\xd4\xa3\xda\x8b\x4e\xab\x92\xf4\xd6\x54\x61\x19\x35\xcc\x17\xf4\x1b\xf8\x83\x6f\xa3\xaf\xd7\xdf\xf8\xf5\xf9\xda\xbe\x04\xc2\xa2\x64\xaa\xca\xb4\x78\x67\x2a\xb4\x87\xf7\x7a\x0b\x79\xff\x9e\x1f\x49\x29\x12\x8e\x26\x06\x77\x39\xac\xf2\x55\x5b\x92\x33\xc0\x06\x81\x59\x1c\x43\xa3\xb2\x6a\xc5\xef\x5b\xe2\xb2\x5c\x15\xfa\xf3\x66\x9f\x9a\x29\xc7\xa9\x12\x7e\xce\xef\xf1\x83\x3a\x6e\x6f\x46\xe7\x67\xa3\xe9\x2c\x76\xbe\xdf\xd8\xcf\x82\x79\x3e\xd2\xfe\xbc\x1c\x5f\xff\x1c\x8f\x15\xe5\x0d\x18\x58\x1f\xf5\x7d\xe3\x68\x28\x51\x15\x3a\xe5\xc0\x03\xce\x3b\x29\xc6\xe7\x43\x96\xfd\x54\xf1\xe4\xbe\xbe\x7c\x5a\xd7\xbb\xa3\x1b\xb6\xd0\xa5\x79\x8d\x29\xbb\x96\x3e\xc9\xd1\x54\x75\xe3\x04\x54\xad\x63\xb7\xa2\xff\xd0\x07\x8d\x77\x53\x46\x73\xde\xdb\x8b\x5f\x7a\x62\xfe\x15\x61\xb9\x28\x57\xb5\xc0\xcc\x78\xbb\x5c\x7b\x1a\x55\xe7\x52\x0a\xbc\xd2\xbf\xaa\xde\xf3\x94\xbd\x2a\xf3\x35\x4f\x9d\xc6\xe4\x6e\xcb\x5a\x4e\xe6\x15\xca\xb7\x7f\x91\xc0\x00\xb5\xe3\xdf\x1a\x4c\x62\x99\x26\xf4\x38\xfb\x43\x2f\xaf\xaf\xf4\x3a\xf0\x55\xab\x57\x18\xce\x75\x80\x32\x03\x8c\x1c\xd7\x7b\x02\xbc\xc0\x61\x77\xf1\x8f\xf1\x74\x36\xed\x65\x06\x79\x90\x06\x03\xc1\xaf\x3d\x03\xbb\xd0\x2f\x59\xaf\x04\x6c\xc0\xda\x6e\xfb\x1a\xc1\x1b\x63\xe4\xd9\x94\xaf\x72\xaa\xca\xa2\x27\x1d\x6f\x8f\xb8\x5f\x86\x5d\x80\xd0\x78\x95\x72\x09\x68\xf1\x96\x5d\xe9\xda\xf0\xc3\x78\x8e\x15\x82\xef\x49\xaa\x0f\x34\x2b\xff\xf0\x32\xea\x13\xec\xb7\xa8\x55\x93\x89\xc7\x2b\x64\xae\x77\xcd\x58\xd2\xfe\x15\x33\x83\x17\x7c\xf5\x4e\x66\xe2\x51\xaf\x6c\xf6\x13\xe1\x4b\x9b\xdf\x7c\x62\xbc\x71\x80\xb9\xe3\x22\xc3\xf4\x1a\x53\x02\xc2\xe6\x00\xa9\xc7\xae\x37\xf6\xc0\x8a\x9d\x45\xc4\x6f\x22\xe3\x0f\x86\x5c\x68\x3f\x1f\x6d\xab\x2e\x34\xfc\x09\xac\x9d\x90\xd7\x20\x93\xcd\xb6\x71\xf8\x2c\x9f\x06\x21\xfe\xeb\x3f\x4f\xbe\x26\x5c\x5b\xb4\x1f\x5c\x5d\xcc\xde\xdf\xb8\x5d\x37\xff\xfe\xfb\xff\xf8\xe1\x87\x1f\xfe\xad\xa7\xa4\x43\x65\x9c\x53\x6b\xf1\xa9\x38\xf9\xcb\xeb\x1f\x5f\xff\xf8\xc3\xeb\x3f\xbf\xfe\xbc\xcc\x4c\x2f\xce\x6e\xae\xcf\xa7\x83\xee\x70\x69\x59\x20\x02\xd3\x60\x13\x65\x1d\xb8\xaa\x53\x02\x35\x48\xfb\x25\x90\x57\x5a\xc0\x41\x6a\x7d\xe2\xa4\xb1\xb2\xfa\x10\x80\xd2\x76\xff\xff\x44\x27\xd7\x21\x28\x53\xc6\xdb\x88\xbb\x5d\x2c\xab\x40\x87\x06\x60\xd4\x09\xd9\xd0\x7b\x86\x86\x5e\x87\xe2\x00\xb1\x89\x68\x5e\x49\xda\x87\xd7\x57\x96\xbf\x85\xc2\x7d\xbb\x44\x7c\xab\xdc\xd0\x6d\x30\xbe\x1e\x5d\x5d\x1c\x66\x31\x86\x1d\x67\x62\x98\x8f\x17\xa5\x06\xfc\x0c\x9a\x32\xc7\xcb\x23\x95\xc7\x35\x2a\x3a\x7e\x6e\xce\xce\xee\x26\x51\xcb\xa7\x6d\x80\x6c\x54\x97\x48\x92\x72\x1b\x73\xab\xc2\x38\x70\x79\x4a\x93\x84\x6d\xd5\x99\x09\x0b\x6f\x3b\x9c\xda\x29\xfb\xcf\xa6\xb1\x29\x79\xc1\x58\x51\xc5\x79\x0b\x0b\x2b\x09\xfe\x00\x0c\xf7\x2e\xa5\x0d\x4f\x5b\xf3\x0d\xa1\xd2\x06\xa9\x9f\xc0\x6f\x60\x62\x47\x6a\xd9\x0c\x5f\x8f\x85\xce\x9b\x79\x50\x94\xba\xcd\xfd\x96\x8e\x77\x6a\x61\x98\xfe\x7c\x74\x1e\x57\xa4\xcc\x8c\xa7\x17\xa0\xb7\xe1\x52\xf2\x7c\xf5\x74\xc1\x64\x38\x39\xe8\xc2\x65\xb8\x3a\x6e\xb2\x85\xe5\xe8\xf6\xe2\xef\x51\x63\x73\x85\x23\xe1\xb8\x29\xd8\x6f\x25\x8b\xc0\xee\x71\x2b\x36\x4d\xa3\x16\x76\x45\x16\x61\x3f\xd7\xcb\x27\x27\xec\x23\x97\x0a\x50\x4e\x59\xc6\x56\x05\xdd\x34\x97\x68\x0d\x3f\xeb\xce\x44\x2b\x40\x77\x7c\xb3\x15\x85\xdd\x47\x6e\xe9\xdb\xc7\x64\xb1\x23\xdb\xb5\xbe\x75\x61\x60\xec\x09\x79\xe4\x6a\x2d\x4a\x45\xee\x73\xf1\x68\x70\x55\x79\x41\x66\xb6\xdf\xf1\xf9\x00\x24\x5b\x9a\xa6\x73\x68\x7d\x6e\x32\x30\xe6\xec\xa3\xde\xd5\x16\x43\x09\xf6\xa3\xde\xb5\x58\xde\xc0\xee\x19\xc9\x18\x11\x65\x51\x63\xec\x3f\xeb\x48\x02\x85\x54\x73\x3b\xb2\x6f\x01\x85\xac\xa6\xc2\x1e\x8a\x7e\x6e\xf6\x6f\xf5\xb1\xd6\x69\x5d\x31\x58\xc3\x20\xa0\x1e\x1b\x97\xb4\x85\x0b\xf8\x04\x7b\xf1\xfd\x4e\xd6\x3e\xe9\x93\x09\x83\xaf\x6f\x0b\xc2\x91\xd3\x9f\x56\x60\xa5\x13\x1c\x33\xc7\x49\x28\xf8\x4c\x01\x22\x76\xb7\x41\xfe\x5f\xe7\xf6\x47\x8a\xa8\x9d\x2f\x6b\xa0\xc6\x80\xcd\x9b\xd1\xe4\x3e\xe3\x3e\x2e\x5d\xe4\x99\x74\x87\x0e\xf1\x7f\x81\x35\xf7\xf5\x45\x31\x7c\x25\x71\xbe\x9f\x26\x7b\x23\x62\x3f\xbc\x2d\xc4\xe6\x96\x6d\x33\x1e\xb0\xa2\x07\x89\xfb\x77\xc9\x54\x89\x2d\x59\xa1\xba\xa7\x35\x65\xbe\xe4\x08\x5d\x2d\x0d\x26\x97\x29\x66\x53\x60\x8b\xa6\xa6\x07\x2b\x14\xe5\xb9\x0b\xae\xfa\x9f\xe6\x69\xfc\x9e\xc2\x95\x31\x5f\xbb\x58\x60\xbf\x9c\x0e\x3e\x04\xf4\x4d\xdb\x72\x23\xae\x4b\xb9\xf4\x4e\x2a\xc9\x23\xcb\x6a\x16\x0f\xd3\xb6\x79\xa3\xbd\xed\x3a\xc8\xba\x5d\x2c\x2d\x8d\x1d\x74\x0a\x6e\xe4\x6a\x2f\x6a\xcb\x2b\x9d\xa4\xff\xeb\x3e\x0c\x6e\x6d\xde\xbb\x18\xfa\x36\x97\x18\x22\xb7\x57\x65\x08\x1f\x7b\x03\xb0\x14\x05\x84\x7f\x39\xc1\xd4\xbe\x8e\xf0\xbb\xdf\xec\x26\xfa\xfc\xec\x5e\x45\x0d\xd2\xfe\x35\x74\x8e\x63\x1a\x52\x89\xe2\x57\xc5\xd6\x32\xf7\x6c\xe2\xbd\x2f\xa3\x3e\xcd\x2a\x68\x11\x9f\xe6\x48\x63\x3f\x4d\x12\xc9\x1e\x58\x51\xe5\xe3\x56\xf5\x67\xc8\x53\x0e\x13\x78\xb9\xe7\xeb\x56\x4c\xbd\x31\x39\xf1\x5d\x5f\xe6\x91\xf5\x7f\x15\x42\xd3\x4a\xc7\xbf\x5e\xa3\x26\xf1\x1e\x7d\x1f\x03\x3e\xc8\xc1\x48\x69\x89\x57\x25\x87\x41\xb3\x2c\x63\x1b\x88\xf8\x45\x58\x4f\x8b\x46\xdb\x8e\x35\xd5\xff\xbe\xbc\xe7\xdb\x6d\x25\xc7\xc3\x03\x66\x26\x78\x7c\xde\xbd\x1a\xea\x94\xfd\xc3\x06\x28\xa0\xe6\xc8\x5d\xec\xaa\xab\x84\x7e\x3b\x7a\xbc\x7c\x38\xae\x06\x20\x2b\xe6\xc9\x6d\x44\xc1\x10\x72\x30\xc9\x78\x72\x4f\xd6\xac\x60\xd1\x9f\x1c\xfb\xc1\x31\x9f\xeb\xaf\x92\xff\x9f\xbd\xb7\x5b\x72\x1b\xc7\xd2\x45\xef\xe7\x29\xb0\x7d\x53\xae\x7d\xd2\x69\x57\xff\xd4\xc4\xa9\x8e\x89\xbd\x95\x92\xd2\xd6\x94\x52\x52\x4b\xca\x72\x7b\xa2\x63\x2b\x20\x12\x92\xd0\x49\x11\x2c\x02\xcc\xb4\x2a\x62\x4e\xec\xc7\x38\xe7\xee\xbc\xc7\xdc\xcd\xa3\xcc\x93\xec\xc0\xc2\x0f\x41\x89\x12\x41\x89\x72\xca\xae\xac\x88\x8e\x76\x66\x82\xe4\x02\xb0\xb0\xb0\x7e\xbf\x15\x64\x69\x4a\x62\x61\xea\xc1\xcd\x2a\xd4\x64\x7e\x33\x77\xe5\x6a\x48\x49\x5e\xdc\xc6\x11\x56\x00\xe6\xee\x9b\x11\xd3\x4d\x43\x22\x4a\x62\x71\x85\xb0\x2a\x0b\x85\x2b\xc8\x65\xdd\x5c\x0d\x82\x98\x2f\xe6\x81\xc6\xb6\x50\xad\xc3\xd7\x18\xc2\x64\x09\xe6\x1c\x9a\xd9\x29\xe1\x69\x69\xbc\x46\xda\xf3\x61\x5e\xc3\x89\xb0\x7e\x23\xe5\x51\x0e\xaf\xd0\x6b\xbb\x88\xe6\x1f\x03\x26\xee\xb4\x57\xe9\xfb\xdd\xfe\x1c\xd5\x3b\x06\xbd\xa5\xab\x4f\xb5\x19\x56\x8b\x3d\x39\x8a\x09\x4e\xd1\x86\x65\x35\xb2\x1c\x71\xf0\xb0\x4c\x59\x16\xeb\xee\x76\x54\x47\x07\x9d\x06\xd2\xe6\x2e\x73\xb9\xc1\xcd\x69\x50\x1b\x65\x13\xfc\x55\x78\x04\x51\x61\x2e\xbd\xfc\x13\x3a\x36\xb9\xc2\xd1\xe2\x0d\x8e\xdf\xac\xa4\xb5\x2a\x2f\x32\x76\x85\x9e\xe0\xcb\xda\x03\xa5\xf6\x4a\x5e\xc2\xd7\xa8\xa3\x3c\xc0\x2a\xee\xa9\xfb\x51\xc4\xe4\x29\x6f\xba\x4d\xb9\x3a\x3c\xd0\xc0\xfc\x07\xf4\xf3\x1d\xc2\x4f\x78\x93\x8b\xea\x24\x25\x8f\x94\x65\xf2\x0d\xe4\x4a\x7e\x4e\xbf\xc4\xfe\xde\x7d\x53\x16\x4b\x03\x3e\x3e\xb2\x71\x89\xf3\x50\xa1\x23\xf7\x7b\xa7\x1b\x77\x21\xc0\x1b\x2d\x66\xaa\xec\x9a\xbf\xb2\xad\x68\xae\xbc\xd6\xdf\xb0\x9e\x8e\x95\xa8\x34\x57\x57\xbb\xc9\x85\xaa\x0e\x01\xff\x05\xce\x02\x7a\xf7\xf9\x9f\x17\xea\x3f\x37\x20\x0c\x54\x6c\x74\x94\x18\xc2\x2d\xee\x17\x5d\x62\x74\xe0\xe5\x2f\x66\x19\x75\x3f\x90\xf8\x3b\xa1\x88\x8f\x4d\x40\x26\x6f\x5f\x83\x13\xa9\xf4\x38\xa7\xa3\x29\x2b\xea\x7d\x77\x38\x1b\x0d\x7b\x83\x7a\x70\x4f\x4b\xc2\x12\xc6\xe9\xbe\x38\x61\x95\x95\xf0\xe3\x5e\x0f\xf1\xa8\xd7\x9e\xdd\x8f\xfa\xc3\x56\xa7\x66\x04\x64\xa5\x6a\x68\x93\x94\x2d\xe4\x29\x48\x68\x20\x32\x00\x5f\x53\xdb\xcb\x57\xf2\x4c\xa7\x65\x4d\xdd\x2b\x2d\x89\x25\x11\x13\xfc\x58\x2d\x70\xd4\x20\x3f\x71\x83\x73\x89\x5d\xe3\x0a\xfc\xd3\xbb\x3f\xbe\x3a\x1a\x01\xfc\x9b\x40\x2b\x77\x97\x5b\x60\x91\xf1\x0a\x95\xdc\x1d\x77\x9c\x7a\x67\x2f\x37\xfd\x9a\x7d\xb8\xfc\xce\x17\xa7\x2c\x19\x91\x7d\xd9\xcc\x65\xe3\xfc\x78\x66\xcd\xb8\x50\x2d\x14\x12\x52\x2b\x9d\x74\xce\x04\x9f\xd1\x38\xa2\xca\x21\x78\x67\xdf\xa3\x7e\x07\xc0\x84\xae\x50\x85\xf1\xc9\xba\x38\x76\x7b\x50\x90\xc3\xf9\xab\x51\x0b\xf0\x5a\xc7\x22\xda\xa0\x47\xca\xa9\xc8\x23\xb7\xc5\xe7\x58\x9a\x12\x9e\xb0\x38\xd4\xc5\x7c\x26\x33\x87\x7c\xa7\x5a\x0c\x08\xf9\xe4\x7a\xeb\x8d\x4f\x54\xac\x4e\xbe\x50\x16\x2c\x7d\xc2\x69\x38\x83\x56\x12\x3a\xea\xaf\x74\x64\x55\x70\x9a\xe3\x09\xb0\x85\x20\x31\xd2\xe3\xb9\x0b\x23\x5f\xf6\xbe\x5d\xf8\xc9\xe3\xde\xa7\xf1\x08\x00\x3e\x56\x90\xf8\x0d\x4b\x48\x4c\x42\xd3\x48\x63\xbb\xe9\xc2\xd5\xa9\xaa\xf1\x55\x89\x2d\x72\x62\xef\xcd\xaa\xc6\x09\xdb\xfe\xe9\x59\x80\xa3\x72\x16\xd2\x1d\xf6\x0a\xa9\x9c\x8d\x5d\x7a\xd3\x4f\xa3\xae\x27\x1a\xbd\x60\x89\xf2\x42\xc9\x67\x41\xbb\xad\xed\x99\x2d\xc6\x41\x0e\x0a\x85\xad\xa1\x1e\xb1\xc7\xb5\x2a\xe1\x33\x6f\xf8\x09\x71\xfc\x48\xac\x51\xe0\x1a\x03\x9c\xa4\x8f\x24\x85\x58\x63\x1e\x46\x4d\xc9\x92\x72\x41\x52\xe2\x04\x66\x4c\xb9\x8d\x63\x50\x5c\xe9\xbd\xe7\x1a\x29\xd4\x8e\xd5\xed\xcb\x68\x0a\xdc\xb5\x3f\x16\x94\x87\x9e\x4c\x1c\xc8\x86\x3a\xec\xbb\x4c\xfc\x07\x07\x42\x75\x59\x54\xed\x52\xd4\xeb\x5d\xbf\x48\x0d\xc3\x29\xc8\x57\xfd\x55\xbf\x28\xd1\x15\x4e\x2c\xac\x5f\x85\xcd\x91\x12\xee\xa3\x02\x38\xc3\xbc\x5d\x3f\x72\xb7\xc2\x5d\x4d\xe0\x00\x1d\xfa\xd2\x18\x63\xa9\xe5\x57\xd3\x53\x1c\xee\x73\x05\xca\x63\x9b\xc2\x70\x95\x51\xa4\xf8\xbf\xc6\x92\x63\x41\x96\xda\x37\x39\x35\xa7\xc7\xfe\xd2\x95\x00\x44\x61\x72\x4b\xfa\x74\xa5\xb3\xfe\x6e\x5e\xe7\x0c\x73\x68\xfc\xfc\x3f\x87\x3f\x3a\x25\x9c\x45\x8f\x87\xd3\xe3\xf6\x8d\xf5\xda\x36\xf9\x04\xc2\xe8\x7f\xba\x2d\x27\x97\x44\x68\x9a\xe3\x05\xf3\xdf\x42\x37\xf5\xad\xf0\x3e\x4d\xd8\x09\x1b\xf2\x43\xe9\x86\xb4\xee\xa7\x1f\x66\x3f\x77\x3f\xcd\x46\xdd\xf1\x9d\x27\x0a\x98\x20\xf2\xec\xe2\x74\x83\x70\x26\x56\xe8\x81\x6c\x6c\x2e\xd4\x9c\xc6\x1a\xcf\x58\x25\x66\xa4\x6b\x1c\x4b\x23\xcc\x0e\xd4\xdd\x38\x55\x1b\x6c\x95\x6c\x59\x0b\xb0\x72\x6f\x44\x6a\xd0\x6d\x4f\x7b\xc3\xc1\xac\xd3\xfd\xa5\xd7\xee\xce\xee\x86\x9d\x6e\xdf\x63\x3e\x1d\xf2\x48\x03\x02\x09\xd5\x51\x43\xe1\x47\x87\x98\x7e\xeb\x53\xd7\x0f\x69\xbc\x8f\x37\xc0\x2c\x0d\xa7\x20\x5d\x62\x4a\xd4\x69\x69\x48\x92\xa8\xda\x29\x48\x1c\x1a\x81\x1f\x3c\xf9\x7a\x88\xbf\xa9\xa2\xf4\xcb\x05\xb8\x86\xe6\x9b\x9c\x46\x9e\xcd\xb9\x48\x69\xbc\x3c\xc6\x23\xbd\xab\x05\x5a\x44\xf7\x3d\xde\x68\x68\x74\x3e\xc5\xa9\x14\x38\xf6\xd3\x8d\xcb\xed\xbf\xde\x77\xc7\x9f\x20\x33\x76\xf2\x61\x38\xae\xc6\x2d\x83\x96\xeb\x48\x11\x23\x77\x4d\x30\x26\xef\x96\xf4\xf4\x6c\xbf\x49\xb7\x35\x6e\x7f\x98\x29\x82\xfc\xe4\x15\x77\xda\xc0\x97\xc1\x16\x1e\xe6\x1d\x55\xb3\xe1\x65\x59\x6e\x0d\xad\xe6\xa5\xad\x82\x20\x73\xe5\xd7\xb0\x30\x9d\xea\x9e\xe2\xcb\x2a\x34\xab\x2c\xae\x4e\x5b\x30\x63\xfc\x63\x4e\x36\x77\xc1\x3a\x30\x7f\x5f\xd9\x0b\xa5\x9c\xb4\x60\x51\x48\x52\x13\xc9\xbb\x85\x9f\xca\xd6\xbd\x74\x9c\xb7\x3e\x8b\x95\xba\xa1\x5e\xe2\xbf\xd6\x6a\xbc\x0e\xfd\x8e\xf2\x37\xa0\x5e\xa7\x6e\x6c\xc7\xd0\x4f\x42\x2a\xe4\x9b\xd4\x0c\x4a\x4f\xcc\xbe\xa1\x1e\x27\x26\xa4\x4a\xb1\x82\xb8\xc9\x29\x53\x4e\xf4\x71\x86\x12\x03\x78\x51\x21\xb4\xd9\x14\xbb\xdd\x0e\xfb\x1d\x7f\x9d\xd7\xb8\x79\xed\x26\x54\x31\xd7\x8a\x44\x89\xce\x9b\x9d\x92\x74\xcd\x87\x8b\x09\x49\xa5\x4a\x53\xb6\xec\xfb\x07\x57\x2f\x7c\x0b\x1e\xb3\x11\x0c\x21\x9f\x57\x0e\x7a\xf5\x86\x9a\xa7\x5b\x67\x19\xec\x79\xcb\xbf\xef\xce\x31\xa4\x7c\x4d\x39\x9f\x64\xcb\x25\xe1\x9a\xbc\xf2\x09\xee\x8e\xf4\x38\x44\xea\x19\x28\x6b\xb1\x8f\x79\x4f\x89\xbb\x44\xbd\x9a\xec\xbc\xa1\x64\x3a\x92\xf3\xa5\x84\xeb\x49\xf3\x60\xdf\x4c\x0a\x83\x3c\x5c\x12\xb1\x90\x3a\x08\xf4\xbe\xaf\x73\x83\x08\x2a\x54\x9a\xce\xab\x3b\x53\x86\xa7\x7f\xa7\x52\x35\xc4\x26\x92\x3a\x3d\xf9\x5c\xc8\xfa\x70\x92\x55\xf4\x63\x7b\x60\x80\xe4\x0c\x0e\xac\xc4\x92\x88\x56\x92\xa8\x32\xa3\x88\x95\x1a\xd6\xa5\xe3\x3c\xa3\x8b\x66\x3c\xf8\x1f\x74\x48\x08\x27\x5b\xcd\x67\x37\x09\x0d\x70\x14\x6d\xae\x10\x8e\x75\x0c\x90\x17\xfa\xfd\x6c\x07\x4b\xaf\xd4\x55\x40\x63\x30\xd6\x63\x82\x8c\xa4\x54\x0f\xeb\x63\x35\x70\x92\x93\xec\x6b\x9f\xa8\x58\x49\x0a\xde\xe8\x70\x57\x90\xd3\x58\x27\x89\x21\x49\xc9\xe3\x0c\x27\xc9\xec\x91\xa4\xba\xa5\xf0\xab\x91\x89\x0a\xe2\x24\x41\xe6\xf7\x95\x2b\xcf\xe2\x05\xad\x5c\x76\x35\xc8\x33\xc4\x52\x98\x1c\x3c\xa9\x4b\xdb\x94\x07\x53\xc5\x5c\x8b\x7f\xd9\xba\x6b\xb4\xe7\x4c\xb9\x40\xf7\x38\xfe\x1d\xf2\xee\x61\x6d\x2b\xe6\xa0\x07\xf9\x6b\xf8\x92\x92\x74\xad\xc3\x98\x66\x03\x0d\x16\x28\x8d\xa8\xd8\xd8\xd0\xa5\xc3\x59\x91\xde\xf0\x1a\x7b\xc9\x59\x96\x06\x4a\xbb\x55\xff\x3a\xb8\x67\xed\x30\xae\xde\xb3\x7c\x90\x77\x14\x7e\x6b\x33\xda\x9d\x01\x82\x88\x5e\xc8\x9e\xe2\x88\xe1\xb0\x0e\x77\xfe\xe9\xdd\x0f\x67\xf7\x16\x7c\xb3\x3e\x90\x83\xdc\xee\xb1\xf5\xbe\xfb\x6e\xf8\xdc\x30\xef\xd6\x51\xa5\x71\x10\x65\x90\x94\x12\x62\x81\x51\x40\xe4\xf5\x52\x1c\x54\x8b\x23\xde\x79\x26\xbb\x36\xa9\xe9\x1b\x47\x4c\x6b\xd4\x3b\x4a\xe1\x6f\x8d\x7a\x4d\xa3\x70\xb8\x44\x8d\x66\xbf\x74\xc7\x13\xf9\xef\x6a\xae\x6b\xe5\x32\xbd\x39\xec\xfd\xcb\x75\x9c\x0d\xde\xcf\x46\xad\xf6\xcf\x9e\xce\xb3\x78\x99\x49\x6e\x4a\x70\xf0\x70\x8e\x9d\x7a\x2e\x3f\x9e\x43\xc2\x60\x38\x9d\xf5\x06\xbd\xaa\xb4\xf6\x36\x8b\x63\x12\x80\x10\x8f\x99\x70\x03\xfd\x4d\x12\x33\xf9\x34\x99\x76\x7d\x44\xa5\x43\x0e\xdf\x70\x41\xd6\xcd\xb3\x8a\xa6\x05\x38\xa6\x3d\xec\xf8\xd4\x9c\x80\x53\x08\xc8\x99\x45\x38\x5e\xce\xe4\xc7\x54\xd4\xba\xb9\x93\xd5\x69\x4d\x5b\x5e\x1c\xd3\x8d\x83\x74\x93\x08\x12\x2a\x31\xdb\x6c\x49\x84\x3f\xe3\x16\xc4\x5e\xa4\xb8\xf8\x82\x9b\x59\x54\xdc\x91\x59\x2c\x52\x4a\x78\x9f\xf2\xd2\xc2\xbc\xf2\x81\x7e\x9a\x92\x7c\xc7\x15\xea\x4d\x86\x48\xce\xf9\x0a\x32\xf0\xe0\x80\xa9\x12\x26\x1c\x87\x3a\x64\x2a\xff\xcc\xdf\x26\x58\x48\xab\x4c\x95\x21\x44\x51\x0e\x25\x8f\x02\xf3\xf1\x73\x67\xe2\x3a\x96\x8e\x65\xf7\x82\xd8\x04\xfe\x2f\x49\xd4\x3b\xac\x87\x76\x08\x49\xfa\x34\x7e\x38\x68\xc2\x6e\x8f\xf3\x5b\xe3\x42\x83\x75\x71\xbd\x56\x9d\x5e\x6a\x18\x47\x58\xc0\x3a\x8d\xb0\x58\x41\x26\xe7\xf5\x9a\xbc\x85\x5f\x1e\x9c\x91\x6a\xa2\x3a\x95\x86\xee\x81\xf9\x38\xa3\xfc\x75\xac\x9c\x4b\xa4\x1d\xad\x13\x82\xe5\xbf\x6c\x8d\x3e\x98\x85\xb1\xea\x26\xb3\xa5\x5c\x95\x12\x3b\x20\x38\x25\x5c\x74\x82\x43\xb4\xe6\x83\xea\x99\x3d\xd2\xde\xb1\x5a\x5f\x4a\x20\x37\x97\x70\x0b\xe2\x28\x99\xa3\x82\xbc\x11\xe6\x5c\xa7\x54\x54\xe8\xab\x5b\x23\xfd\x38\x24\xd1\x0f\x15\xf5\xd1\x67\xc9\x69\xb7\xf3\x48\xd9\x9a\x75\xb0\xc0\x07\x27\x6b\x07\xf9\xcd\xf3\x6e\x3a\x4a\xd9\xe7\xcd\xdb\x91\x4a\x95\xd5\x8e\x05\xd4\x8a\x63\x96\xc5\x01\xd4\x1a\xb8\x76\xea\xe1\x3d\x19\x13\xb9\x9d\x77\xe4\x3e\x8d\x4a\xdd\xb2\xa5\xe3\xfc\xe8\x4c\xe1\x11\x48\x1d\x91\x3c\x6e\x8e\x6c\x0d\xd9\x96\x92\x05\x49\x55\x5e\xc2\x58\xff\xf3\xe0\x72\x4f\xb2\x04\x32\x48\x0e\xcc\xc3\x0c\xf1\xe7\x7d\x8d\x50\x0a\x9c\x65\x6b\x95\xe4\x2f\xbf\xc3\xfc\x01\x61\x04\xd5\xe1\x94\xc5\xdf\xa1\x05\x01\xc8\xb6\x8a\x53\xa0\x29\x18\xec\xc9\x3b\x28\x1b\xe6\xb7\xde\x5b\xb7\x8e\x16\xde\xb6\xbe\xc3\x9d\x43\xed\x2c\x57\x73\x03\xc3\x02\x34\x60\x9d\x1d\xe8\xef\x57\x47\x21\x28\x25\xa7\x4a\x15\x28\xfa\xb9\xab\xfd\x44\xa5\xe3\xab\xb7\xa4\xcf\xd8\x03\xf0\x8a\xf1\xf2\x81\x73\x5b\x6d\xc6\x77\x7c\xbf\xb7\xbc\x94\xe6\x4a\xbf\xb0\x3b\xe6\x5c\x6e\xe1\x2d\x07\xee\x69\x91\xb8\x67\xe3\x80\x15\x0d\x49\xb5\x5c\x2e\x8e\xaa\x5e\xd1\x0f\x34\x24\x47\x4b\xe6\x6a\xe5\xc5\xcd\xce\x12\x0c\x15\x80\x65\x77\xa7\xc8\xf1\x23\x69\x25\x49\xff\x80\xeb\xdc\x19\x52\x3d\xb9\x09\xa4\x31\x46\x4c\x43\xa9\xe4\x0e\xcd\x62\x3a\x63\x0d\xd7\x0f\x79\x34\x09\xc7\x26\x11\x90\xc6\x49\x26\x90\xfe\xfd\x81\xa9\x11\x71\xc3\x84\x3a\x84\x5c\x65\x93\xef\x9f\x63\xc9\x58\x9f\xb3\x21\x37\x88\x3b\xf3\xb2\x35\xc4\x6e\x69\x5f\xa2\xab\xb3\xe6\x4c\xd8\x13\xae\x4a\x48\x36\x16\xa1\x0a\x3a\xca\x25\x29\x0b\x08\x14\x6d\x49\x61\x80\x51\xc4\xe2\x25\x12\x74\x4d\xfe\x02\xbf\x80\x46\xf4\x2c\x8e\x36\xfe\x8b\xe7\x84\x59\xba\xf2\xb8\x19\x85\xf1\x4a\x12\x90\xa4\x84\x93\x58\x14\x73\xfb\x80\xd4\x99\x26\x73\x06\x56\x06\x84\x39\x77\x66\xa3\x87\x94\x6f\x00\x8d\xa9\xc8\xad\xf7\xb2\x65\xdf\x1a\xe1\xb3\xd8\xc6\x19\x21\xb5\x36\xf3\x9c\xf7\x4a\xe0\x84\x6a\x81\xd4\x72\x98\x92\x86\x24\x16\x74\x41\x49\x8a\x5e\x73\x42\xae\x51\x2b\x49\x8a\x4a\xe1\xf7\xee\xf2\x6c\x45\x4c\xdc\x37\x99\x5f\x3b\xa3\x43\x70\x72\xcd\xc0\xc9\xb5\xed\xf4\x3a\x39\x29\xbe\x60\x8b\xb5\xc1\x05\xa1\x95\x8d\xc8\x18\x66\xa0\x4c\x6d\x95\x14\x4a\xcb\xf3\xc7\x3f\xfe\xdf\x6f\x7e\x40\x5c\xe0\x38\xc4\x69\xb8\xf3\xd2\x04\x43\x66\xc7\x96\x5f\x4c\xb9\x9d\x0b\xbc\x22\x57\x1a\xe8\x6e\x85\x96\xd0\xe2\xb6\xe6\x45\x87\xfc\x1a\xdd\xb2\x14\xc5\xec\xe9\x4a\xd5\xb3\x81\xc2\xf1\xdb\x8c\xe9\x7c\x73\xe3\x3e\xd1\xaa\x07\x54\x96\x40\xa1\x37\x09\xe8\x62\x43\xf5\x39\xf8\x0d\x82\x65\xea\x11\x1a\x9b\xf2\xae\x42\x34\x2e\x91\x62\x55\x89\xfd\xdc\x0a\x8c\x95\xbc\x15\x0c\xa9\x3f\x3b\xe3\x21\xaf\xa7\x98\x78\x44\x05\x27\xd1\xa2\x50\xae\xb6\xe5\xee\xf1\x5b\x73\xb5\xff\xdf\x71\x34\x9c\x54\x2d\xbc\xfe\x80\xc3\x5b\xc3\x84\xe8\x70\x8a\x76\x7d\x6d\x47\xe4\xce\xe0\xe7\x3e\xdd\x51\x59\x7a\x97\xd2\xf8\x91\x3d\x90\xd6\x42\x90\xf4\x8e\x97\xde\x33\x5b\x23\x7c\x84\x81\x7c\x80\x2b\x9d\x3a\xdd\x20\x2c\x1f\x45\x3c\x0b\xa4\xfc\xd4\x75\xb5\xeb\x24\x22\xa6\x88\x90\xe5\x9d\x27\x6d\xf1\xa3\x7c\x92\x92\x3a\x71\xa9\x1c\xe6\xc0\x84\xba\x1d\xf9\xc1\x62\x5d\x3e\x82\xad\x17\x44\xd1\x16\x12\x29\x32\xb9\x1f\xd3\xed\x91\xa6\xee\xf2\x94\xde\x62\xdb\x43\x8e\x5d\x42\x7c\x60\x11\xb7\x57\xae\xee\xc2\x15\x2e\x71\x5b\x4b\x73\xf6\x75\xfb\x48\xc5\x0a\xf8\x75\xff\xba\xe5\x43\x7c\xd7\x6d\xab\xe4\x54\xd1\x62\x0b\x1f\x9c\xbf\xb4\x46\x3d\xe5\x10\xad\x91\xcf\xa9\x89\x85\x59\x2a\x67\xea\xae\xf4\xdd\x5d\x8a\xc6\x25\x03\x44\x36\x6f\x3e\x4d\xbb\x7e\x48\xb4\x05\x1f\x30\xce\xc4\x8a\xa5\xf4\x37\x5b\x5e\xdc\x58\x50\xa3\x33\xd8\x82\xe9\xad\x2c\x34\x55\xd8\x91\x01\x8e\x22\x55\x4f\xad\x82\xa6\xaa\x49\x56\xbb\x33\x40\x9d\x76\x0d\xaa\xbe\x06\x4c\xcb\x4b\x0f\x5d\xbe\x04\x0b\xf7\x93\xf3\x12\xa9\x43\x17\x1b\x87\x3a\x4f\xaf\xf9\x03\x3a\x93\xbc\x97\xb4\xaa\xc1\xc7\x38\x5e\x96\x3a\x9f\xf6\x0d\xf5\xbe\xca\x20\x78\x00\xc8\x0b\xf4\x91\xc4\x36\xa6\x90\xc2\x5b\xbc\x6f\x2d\x7b\x21\xfd\x15\xfe\xe1\x5c\x55\xa9\xa6\xdc\x6a\x4d\x85\x37\xef\xbb\xb2\xa7\xaa\xfe\xfc\xf0\x8c\xcd\x20\xef\xb9\x62\x23\xfd\xe5\xa4\xe1\x06\xd8\xaa\x73\x6f\x62\xc2\xfa\x95\x5a\x57\x9c\x6e\x15\xd2\x9f\x21\x2b\xbd\x1c\xbd\xfe\x4f\xef\xde\xfd\xf0\xc7\x7f\x7e\xf7\xe3\x1f\x8f\x45\xaf\xaf\xe0\x4c\x96\x19\x8f\xc9\xe1\x4d\x72\xc6\xd5\xd8\x27\x0d\xa6\x6a\xcb\x4b\x79\x36\x97\x8f\xcc\x8d\x8a\x05\x96\x56\xee\x09\x28\xf8\x4f\x5f\xc3\x5d\x4a\xb9\xe9\x70\x81\xe6\x52\x9d\x5c\xe0\x2c\x52\xa5\xcd\x90\x99\xa6\xb5\xd8\xef\x6b\x18\x00\x07\x94\xae\xc2\x1a\x49\x73\x50\x5e\x10\x10\xc0\xa4\x8b\x05\x49\x49\x5c\x9e\x54\xbd\x67\xa4\x67\x30\x99\x3c\xe9\x2a\x19\xc8\x67\x37\x46\x28\x18\xf0\xde\x73\x5a\xa4\x6c\x5d\x9a\x06\xaa\x83\x04\x1a\xfb\x44\x5e\x77\x25\x3e\x8e\xfd\x21\x61\x3f\xbf\x42\xe3\x47\xa1\xde\x75\xbe\x75\x5f\x14\xee\x76\xef\x12\x0d\x77\x0f\xe5\xe4\x46\xb8\xbc\x34\xa6\x74\x5c\xad\x80\x8d\xb3\x17\x7a\xdf\xeb\x58\x15\xa7\xed\x14\x3a\x4b\x13\x85\x0b\xd8\xae\x0c\x97\xdf\xab\xa5\xe3\xfc\x33\x10\x4c\xee\xaf\x49\x44\xb0\xe4\xc2\xad\xb3\xb3\xa1\xcf\xb5\x91\x95\x4b\x53\x2a\xdc\xcb\x07\x1e\xbd\x38\x51\x64\x97\x87\x37\xb3\x3e\xbf\x0b\x61\x33\xd1\x32\xa0\x62\x83\xcc\x30\xbf\xed\x31\x17\x8a\xee\x27\x1d\x95\x2d\x60\xf5\x26\x3c\x90\x0d\xb8\x7b\xf4\xb7\x75\x51\x7b\x93\x37\xc7\x37\x23\x8f\x8c\x27\x4c\xd7\x56\xe9\x8c\xbe\x3d\x61\x93\xfd\x83\xab\x77\x17\x52\x64\xd2\x35\x47\x41\x4a\x2c\xbc\x1a\x46\x9c\x04\xa9\xaa\x75\xa9\xd1\xb7\x60\x39\x9b\x4b\x72\x6e\xd0\xbf\xa0\x25\xfa\x5f\x68\x2e\xad\x73\x94\xa8\xd8\xc5\x47\xfa\x40\x13\x12\x52\xec\x6e\xe4\x03\xd9\xcc\x16\x34\x5e\x92\x34\x49\x35\x36\xdc\x8f\x7f\x7a\x33\xa7\x02\x39\xbf\x35\x3e\xda\x94\x04\x84\x3e\x92\x10\x3d\x90\x52\xe8\x89\x49\x4e\xf2\x59\x8a\x3c\x2f\xa8\xef\x62\x77\xd0\x1e\x7f\x1a\x29\x5f\x4e\x7f\xdc\x6d\x75\x3e\xcd\x5a\xed\x76\x77\x54\xe5\x20\x70\x97\xc8\xa0\xc6\x28\x9e\x69\xc0\x45\x50\x42\x54\xa7\xdb\xee\xf7\x06\x3e\xb0\xd9\x0e\x61\x4f\x38\x87\xb4\x09\x49\x10\xd1\xb8\xda\x32\xde\x3a\x01\xf7\x69\xd4\xca\x44\x69\x75\xfe\x9e\x91\xd5\x07\xe5\x1e\xea\x2b\xa8\xea\x7d\xa0\x2a\x17\x31\x9a\x10\xbc\x8e\x08\xe7\x39\x02\x4e\x9f\x2d\xe5\x5d\x55\xf0\x74\x6a\xab\x65\x7f\x16\x18\xfa\xcf\xff\xa8\x81\x00\x96\x09\xc1\xe2\x1d\x68\xe5\x08\x3e\xac\xfe\x78\x72\x20\x71\x37\xa8\xb1\x8b\xe1\x6c\x3d\x04\xfb\xbe\x6c\x0e\x26\x78\xac\xb7\xc0\x1b\xd7\xbb\xf5\x7d\xe0\xf3\x9c\x41\x77\x15\x55\x7d\x3e\x21\x22\x47\xbe\x54\xd8\xcf\xa6\xd3\xc3\x9c\x09\xdb\xec\xcf\x01\xe0\x82\x7e\xa2\xaf\xe9\xc2\xac\x38\x09\xbf\x2f\xd7\x69\x72\x2e\x08\xc3\xf6\x0a\x43\xee\xcb\x61\x6e\x71\xc6\x55\xf3\x0a\xa0\xee\xe3\xbc\x7b\x8b\x3e\x71\x71\x08\x14\x43\x4d\xa8\xce\xed\x30\x8b\xc9\x62\x44\xeb\x14\xb4\xcb\x17\xea\x1d\x6a\x6b\x81\xe7\xee\xf9\x53\x38\xb3\x00\x10\x79\x94\x3e\xc2\x5c\x14\x96\x6b\x4e\x0c\x8e\x59\x11\x01\x62\x37\x53\x47\x8f\x06\xc4\xa8\xf3\x88\xd6\x8b\x6e\x95\xf5\xc5\xe5\xfe\xd7\x10\x51\xb8\xbc\x16\x09\xe7\xc1\x82\x3a\x8e\x16\xb9\x2e\x13\xbf\xce\x7f\x92\x94\xf5\x1e\x98\x96\x15\xe6\x2a\x0f\x88\x7c\x0e\x08\x91\xb4\xbe\x16\x4c\x29\x6b\x44\x0b\x16\x75\xaf\x90\xcf\x78\x9d\x44\xe4\xfb\x46\x08\xb7\x37\xb8\xd3\x00\xbe\x72\x0a\x06\x08\xd9\xe2\x59\xab\x8c\x87\x66\xda\xe9\xa9\xcc\xbe\x23\xb6\x36\xd3\x02\xac\xc1\x63\x08\xb4\x40\x2b\xb6\xfb\xe9\x7d\xab\x3f\xd3\xf8\x1f\x35\x69\xd2\xc8\x43\x18\xad\x33\x91\xe5\xa8\xfa\xcd\x50\x07\xcd\x10\xdb\x9f\x66\xe3\xee\x64\x3a\xee\xb5\x7d\xce\xa5\x46\x35\xd7\x3d\x96\xf2\xee\x67\x21\x53\x74\xc2\xe5\x2b\x2f\xd8\x52\xe1\x7a\x58\x2d\x0b\x56\x24\x78\x90\x17\x95\xaa\x74\x38\x78\xd5\x6e\x8f\xf5\xb0\x61\xe4\x13\xc0\x6b\xb0\xbf\x54\x6c\x74\x87\x0e\x90\xc0\x4e\xac\x45\xde\xc0\x4b\x22\xd0\x1c\x73\x1a\xb8\x25\x21\xb4\x86\x95\x63\xf1\xdb\xd5\x8b\x01\x8d\xdd\x14\x84\xfc\x83\xd1\x58\x7e\xf5\x2d\x0c\x6a\xfa\x9e\x2c\x84\x9a\xbc\x4a\xd2\xa8\x4b\x63\x53\x75\x68\xe7\x89\x78\x9d\x4e\x8b\xaf\x68\xd8\x5a\x94\xba\x16\x79\x10\x11\x9c\xb6\xa2\xa8\x93\xe2\x45\x39\x04\xe8\xbe\xa1\x1e\x9c\x2c\x1f\x00\xd7\x57\x08\x8f\xec\xa9\x05\x28\x7e\x40\xd5\x56\x4c\x04\x0d\x1e\xf6\x80\xe3\x1c\x1c\xef\x4b\x95\xaa\xc7\x40\xdc\x3c\xe7\x7d\x60\xb0\x10\x38\x58\xed\xd1\xe9\x81\xa2\x02\x48\xb3\xf9\x40\x5e\x00\x62\x5e\x00\x08\xe0\x2b\x26\x18\x62\x29\x92\x92\x94\x41\xd0\x86\x1f\x67\xee\x1c\x36\x0c\xd4\x0d\x2b\xc5\xd0\xe1\x05\xcd\x87\x79\xac\x23\x0c\xe6\xba\x99\xa4\x94\x13\x35\x34\x7e\x41\x45\x44\xac\xbe\xbf\xdd\x21\xce\xc2\x16\x9b\x54\x2a\x7d\xed\xe5\xf0\xdc\x92\xe7\xcf\xa4\xba\xd7\x49\xb8\x6f\x26\x97\x45\x7e\x75\xda\x9b\xf6\x7d\x4a\x73\x07\x4c\xdb\x04\x72\x01\x9b\xeb\x83\x75\x79\xda\x6f\xae\x71\xde\x76\x3f\x56\x2c\x89\x40\x24\x66\xd9\x72\xa5\xb5\xcc\xe6\x74\xca\x03\x3a\x89\xa7\x2e\xa2\xfb\x60\xf3\x04\xaf\x55\x9f\x27\x12\x5e\x81\xde\xa1\x53\xb6\x14\x99\xb6\xf3\x35\x4b\x81\xe0\x6a\xb8\x0b\x7b\x66\x75\xff\x23\x1f\xb3\x7f\x6b\x68\xf5\x11\x37\xb0\x75\xd8\x01\xad\xfb\xe2\xe6\xff\x5e\xf3\x7d\x8b\xd3\x5e\x0c\xf8\x2f\xed\xb8\xbd\x34\x03\xf5\xcb\x5b\x54\x07\x68\x91\x16\x95\xaf\xbd\xa9\x85\x84\x36\xa0\x88\xb1\x99\x81\x81\x72\x60\xfd\xb7\xbb\xfd\xee\x7d\x44\xc3\x07\xdb\x90\xaf\x4a\x32\x98\x91\xfe\x82\x21\x60\xeb\x75\x16\x9b\x02\x11\xdd\xfa\xaf\xc6\xc9\x3f\xca\x9d\xfb\x8f\x8c\x8b\x19\x68\x5a\xf2\xc9\x7f\x95\x27\x4f\xe9\x5d\xfa\xfb\x3b\xa0\x53\x72\x8b\xaf\x76\x41\xdc\x53\xb2\x66\x8f\x34\x5e\x3a\x8d\x08\xe5\x2d\x01\x5d\x8c\x02\xd3\xf2\xba\xe0\x47\xc6\x9f\x8d\x1f\x59\xfb\x37\x94\x1f\xd9\xc8\x3d\xdb\x8b\xb0\xcc\x6f\x0c\xb2\x4b\x8b\xf7\xab\xf2\x85\x93\xef\x52\x89\xe2\x06\x4e\xcd\x88\x38\xe7\x7d\x29\x79\x64\x0f\xb0\x7b\xe5\x2d\x10\x0d\x31\xee\x62\x40\x4f\x17\x39\xa3\x04\xa7\x82\x06\x34\xc1\x6e\x5d\xd9\xb7\x18\x53\xba\xeb\x4e\x26\xad\xf7\xdd\xa3\xc8\xb1\x6d\x1d\x9b\xa5\xe8\x77\xd7\xf0\x74\x4b\xba\x98\xd4\x4d\x0f\x41\x64\x87\xfa\x4b\x22\x7b\x86\xe7\x1b\xd3\xf6\xc1\x16\xae\xd4\x29\x80\x39\xa1\x45\xb6\x13\x5c\x8a\x5c\xb8\x94\x8a\x43\x5b\x90\x3e\xf2\xa4\xba\x87\xd4\xa2\x8e\x38\x86\x46\x63\xf5\xc5\xe6\x90\x74\xba\xfd\xee\x11\x4e\x78\x4d\xbf\x53\x78\x64\xa7\x02\x8e\xb5\x94\x2a\x23\x57\x8d\xbb\x52\x9d\x73\x22\xfa\x40\xa2\x0d\x9a\x93\x00\x67\x5c\x35\x92\x2b\x51\x21\xeb\xaa\xbf\x13\x69\x50\x67\x11\x09\x6b\x30\xd9\xee\x33\xbe\xdc\x86\xb8\x79\xd4\xce\xd8\x9f\xc1\x14\xaf\x4c\xb6\xdf\x80\xdc\x7e\x95\x5b\x45\xce\x15\xc6\x7d\x48\x79\x80\xd3\xd0\x33\xab\x62\x77\xb4\x87\xa9\x8f\xe3\x40\x5a\x27\x79\xca\xaa\xe4\x55\x9b\x63\x81\xe3\xf0\x2d\x4b\x0d\x3f\x18\x78\x14\x27\x0a\x7e\x9c\x2d\xf0\x85\x52\x20\xfc\x7c\x8f\xc5\xcb\x4a\xe9\x8b\xcd\x38\x20\xbf\x50\xa6\xc1\xc9\xc4\x1d\x73\x69\xf0\xc2\x16\x1e\x73\x77\x90\x90\x0a\x69\x14\xb6\xe6\x7b\x32\xe5\xf7\x8c\xac\x66\x6a\x40\xca\x56\x45\xac\x76\x84\xf2\xb4\x2b\x6d\x7b\x57\xf1\xae\xc1\xc6\x58\x93\xab\x5a\xe0\x92\x27\xf7\x23\xfb\xb2\x0a\x2a\x3f\xdb\x24\xeb\x0f\x06\xdd\xfe\x51\x9a\x9a\xa4\xa8\xd1\xa2\x29\x4d\x0b\xc4\x78\xa6\xdd\xca\xbb\xc7\xc0\x09\xfc\x83\x49\x06\xb7\x46\xb6\x24\xcb\x59\xbb\x66\xec\xec\xd6\xcd\xf0\x7e\xaa\x62\x63\xc3\x4e\xef\xb6\xaa\x27\x47\x4b\x21\x23\x90\xcf\x02\xa2\x02\x4e\xb3\xd9\x26\xc9\x99\x0e\x87\xb3\xfe\x70\xf0\xfe\x70\xb5\x12\xf8\x68\x14\x3d\x8c\x01\xcc\x42\x43\x34\x5c\xb2\x5f\xc4\x7b\xa7\x80\xa9\x69\x1c\x3b\xf7\xef\x13\x86\x36\xa7\x6b\xdd\xff\xf7\x1b\xcb\x6e\x78\x0e\xb5\xdf\x0a\x64\xb9\xf1\x7e\xa2\x1b\x46\x56\x8b\xee\x3b\x0c\xf5\x33\xe0\xba\xb1\x6c\x85\x51\x44\x96\x38\xd8\x28\x39\x7a\x9c\xca\x21\xa7\x9e\xe7\x86\x29\x49\xe2\xea\xf9\x7c\x86\xf5\x64\x5c\x45\x1e\x5a\xea\xae\xe8\x5a\xd1\xb2\xc7\x77\x69\x73\x0a\xcc\x03\x6a\xf0\xb9\xb4\x9a\x4b\x30\xc2\x5f\xfc\x83\x97\xed\x1f\x34\xc7\xae\xa3\xea\xc6\x6e\xe4\xd3\xe1\x98\x2e\x57\x15\x81\xe0\x43\xcf\xd5\xd2\xbb\x54\xb9\xda\x1c\x9e\x47\x29\xbc\xc0\xe6\x3a\x6c\x5d\xe8\x6f\xeb\x9e\x6a\xf5\xd6\x59\x6a\xa6\x63\x35\xb1\x65\xc4\xe6\x38\xd2\x9f\xdb\xa7\x8b\xb9\x8d\x05\x1b\x3b\x9b\x37\x52\xd3\xe9\xcc\xc6\xbd\xf7\x1f\xa6\x7e\x80\x03\xf2\x4e\xc8\x95\x69\xb6\x26\x86\x07\x21\xe2\xcc\xf3\x26\xec\xce\x0a\xbe\xdc\xf3\x67\xba\xe7\xbf\x02\x21\x37\x98\xf6\xfa\xb3\x4e\x6b\xea\xd7\xd8\xce\xc2\xc6\xc5\x82\x46\x08\x9a\x37\xf8\x82\xc7\xed\xc8\x82\xd1\x8a\x89\x52\x40\xbe\x3d\x23\x3d\x9c\x0e\xba\xd1\xbc\x72\x5c\x43\xa2\x44\x65\xd0\xb1\xa9\x98\x63\xa2\x67\xf3\x0a\x88\xd5\xf1\xc6\x73\xf4\xfb\xbc\xa4\xeb\xfa\xe2\x8e\x96\x4a\x4a\x68\x0f\x07\x93\xe9\xf8\xbe\x3d\x1d\x1e\x01\x90\xe0\xf6\xa8\xf9\x46\x35\x9b\xd1\x87\xe1\x74\x38\x6b\x8f\x87\xa3\xd9\xa4\xf7\x6f\xdd\xd9\xe4\xae\xd5\xef\x1f\xa4\x48\x31\xb5\xe9\x3a\xb8\xc6\x51\xd4\x10\x11\xdd\xbf\xf9\xa5\xcf\xc8\x25\x21\x9f\x05\x89\xb9\x53\x44\x91\x18\xaa\x9a\x5d\x18\x1f\x7a\xf4\x82\x1c\x69\xdf\x4c\x75\x2e\x53\xb5\xe8\x53\x23\xfd\x44\x1f\xb6\xb2\xcf\xc2\xa6\x7f\x99\x7c\x0b\x9b\x9a\x35\xd0\x69\x5d\x1a\xd1\x3d\xd4\xb5\xfb\x22\x6f\x5e\xc8\xa2\x10\xb1\xb8\xf9\x12\xc5\x17\xa9\x78\xe1\xe9\x62\xcf\xe5\x4e\xe8\xc5\x11\x8d\xc9\x0d\x13\x77\x16\xf5\xf3\xf0\xa9\xdb\x79\xc0\xd3\x3e\x01\xa0\x79\xf9\x28\x14\x67\x99\xfa\x2e\xef\x13\x76\x6c\xcf\xb8\x13\xa2\x8f\x13\x85\xa7\x0b\x34\xe7\x31\xa5\x42\xfa\x02\x14\xac\x02\x45\x5b\x95\xab\x87\x5b\xd5\xc5\x6c\xf6\x44\xe6\x89\x1e\xd0\xd1\xbd\x58\xf5\xaf\x14\x64\x1e\x79\x2a\x46\x3b\x93\x68\x33\x5b\xe3\xf4\x21\x4b\x5e\x01\x5c\x79\x12\x6d\x90\xfa\x19\x66\xaf\xc9\x7c\x20\x9b\x39\xc3\x69\xd8\x7c\x2a\xc2\x05\x86\xff\x35\x45\xb5\x24\x89\x4d\x2c\x39\xec\x52\xae\x3e\x37\xbe\xc7\xa5\xe6\x29\xf9\x1a\xce\xc5\x6e\xa9\xa7\x60\x48\xce\xb5\xf4\x68\xc8\x3b\xcf\x26\x68\xaf\x0f\x9c\x13\x39\xb0\xa4\xec\xb3\xf6\x59\x31\x4e\x87\x8f\x50\x39\xfb\x84\x79\x81\xd4\x6d\xf0\xe2\xfa\x27\xcb\x79\xd8\x44\xad\x67\x1a\xe3\xbd\x24\x08\x0d\x36\x20\xec\xc3\xde\x08\x77\x73\xde\x90\xfb\xe9\x74\x38\x98\x79\xf7\x01\x92\x07\x02\x5a\x6e\x18\xb0\x53\x5d\x7d\xac\x77\x57\x55\xec\xaa\xd4\x03\x7b\x96\x1b\x3c\xc0\x9a\xdc\xe9\xa7\x91\x7f\xd7\x78\xf9\xec\xf3\x92\x7b\x3f\xf6\x8b\xf2\xdd\x00\x39\xe8\x7e\xdc\x6f\x3c\xb0\xf7\x12\x64\xbc\x74\x4f\xdb\x65\x05\xb0\xca\xa9\xe9\x0d\xfa\xbd\x41\x77\x76\x33\x9c\xfa\x2d\xd5\xd0\x20\x70\x3b\x6a\x5c\x80\x63\x90\xfc\xdb\xf7\xd6\x37\x54\x35\x71\xd7\xed\xf4\x5a\xb3\x76\x4b\xa5\x6c\x78\x85\x8a\x25\x45\x01\x56\xe9\x0f\xda\x27\xd0\x48\xb8\x58\x91\x32\x1a\x77\x7f\xf1\xb3\xc1\x0d\x28\x1b\xdc\xba\x8d\x55\xb7\x1a\xbd\xab\x75\x3f\xfd\x30\x1c\xfb\xf1\x8e\xd1\x4c\x14\xee\x05\xe4\x3c\x35\x52\xde\x67\x68\xe9\x76\x7a\xd2\x82\xbb\xeb\x7a\x15\x1c\xe6\xc7\x8a\xa8\xc8\x09\xb5\xd9\x8e\x08\xc7\x1b\x79\xa9\x5c\xc1\xae\xad\xb3\x60\x05\x18\xf2\xa0\x2a\x26\x18\xda\x2c\x70\x1a\x07\x04\x51\x91\x43\xe2\x5c\x37\x37\x8f\x7a\x99\x53\x56\xb1\x6e\x2a\x73\xea\xf7\xa5\xe5\x9f\x46\x91\xb7\x28\x28\xdb\xae\xe6\x64\xc2\xb7\x9c\x04\x7d\x1c\x2d\xe3\xee\xa8\xff\x69\x76\xd7\x1a\xff\x7c\x3f\xaa\x4f\x50\xea\x1a\x00\x0d\x52\x35\x69\x7f\xe8\x76\xee\xfb\xdd\xfa\xc1\x24\x63\x39\xec\x8d\x27\x1d\x47\x10\x5c\xb2\x3a\x80\xda\x1b\xcc\xb4\x42\xe7\x13\x35\xd7\xc1\x51\x70\x5a\x72\xdd\xd9\xc5\x26\x2a\xd3\xd8\x09\xa0\x73\x13\x41\xf7\x87\x02\x20\x9f\xa1\x33\x9f\x1f\x16\xc0\xce\x60\x0f\x33\x1b\x1e\xb1\x7d\x0f\x75\xcd\xb9\xea\x9d\x53\x0f\xce\xcc\x18\x9a\xed\xd3\x32\xc9\x5f\xf4\xeb\xaf\xbb\x92\xef\xb2\x74\xfd\xcb\xf1\x2e\x2f\xf0\x23\xd1\x20\x02\x07\xcf\xb0\x3b\xae\xfa\xf8\xde\xe1\xf4\x01\x61\x03\x02\x80\x30\x47\x0b\xfc\xc8\xe4\x8a\xd5\x2e\x18\xd0\xaf\x80\xec\x31\xf9\x52\xe7\x55\x8e\x8f\x27\x8b\x25\x81\x20\x30\xe3\xed\x4f\x35\x76\xda\x27\xd3\x5e\xfb\xe7\x23\xb7\xc8\x2c\xc5\x71\xd9\xe0\x1a\xdf\xcb\xab\xca\x63\x7b\x6c\xf5\x6e\xdd\xaa\x27\xca\x8a\x89\x7a\x9d\x3a\x45\x44\x73\x1c\x3c\x48\x09\x16\x87\xaf\x8a\x99\x82\x00\xf1\xe6\x3a\xf8\x68\x8c\x9c\xc1\xa7\x7a\x3c\x01\xe8\xda\x22\x48\xb2\x2c\x0d\x88\xdb\x88\xa6\xcc\x39\xca\xf7\x0d\x48\x71\x1c\xb2\xb5\x0e\x13\x8e\xe1\x07\x5d\x7a\x9d\xa4\xd0\x98\x0e\x41\x6f\x35\xb8\x4e\xf7\xbc\xe2\x44\x87\xa3\xfb\x26\x1a\x11\x85\xa8\xb9\xbd\x98\x76\xab\xd4\x90\x68\x83\x5e\xc7\x00\xf1\x43\x17\xa6\xba\xd2\x14\x53\x8a\x94\x2e\x97\x24\x75\xbb\x57\x71\xa1\x7b\xda\x22\xd5\x3d\x8c\x17\x7a\xa1\x09\x66\x17\xb3\xe3\x0c\x85\xdf\x39\xc3\x9e\xa8\x58\xcd\xd6\x9b\x19\x0f\x58\x4a\x34\x8d\xb1\x81\xa2\x93\xcb\xb3\xc4\x6b\xc2\xaf\xd0\x53\x4e\x3a\x8d\x83\x28\x0b\x09\xda\xb0\x4c\x4e\x5d\x81\x28\xaa\x9c\xd3\x73\x40\xbe\xde\x8c\x87\xad\x4e\xbb\x35\x99\xce\x46\xf7\x37\xfd\x5e\x7b\xf6\xcb\x70\xda\x1d\x4f\x6a\xcb\x7a\x3d\x27\x94\xb0\x28\xe2\x0a\x32\x31\x51\xdd\x1d\x1f\x99\x70\x50\x54\x5e\x7c\x86\x2f\x3a\xcd\x65\x04\xee\xfd\x51\x3a\x34\x8b\x17\x85\x8a\xbb\x4e\x0a\xb6\xe3\x89\xa4\x44\x4a\x3e\x91\xd2\xa0\x9e\xc3\xee\x80\xe6\x35\xe9\x0e\x3a\xb3\xf7\xbd\xdb\xfa\x27\x12\xc8\x5d\xd2\x05\x6f\xd6\xdb\x9a\x53\xa5\xbc\x78\x47\x91\x65\x1c\x79\x67\xa1\x6b\x34\xec\xf7\x8f\x23\x4b\x09\xaf\x33\x91\xa5\x55\xa3\x23\x37\xd2\x82\x45\xb9\xd4\xd5\xf1\xd7\x7d\x0d\xda\xfd\xfb\xf1\xf0\x7e\xd4\x35\x9c\x55\xc7\xb5\x00\x02\xd4\xc6\x65\x4f\xa5\xe3\x52\x9d\xf7\xb5\xbd\xaa\xf2\x94\xb1\xf9\x3f\x48\x20\xce\x83\xa0\x30\xf1\xcb\x33\xca\x3d\xaa\x5c\x49\xc9\xc6\x7c\x3f\x17\xe8\xe7\xfd\xc2\x7e\xcc\x3f\xec\x31\x94\xdf\x0d\x3e\xcd\x6e\xfb\xc3\x61\xe7\x63\xab\x77\xb8\x84\xe4\x3f\xff\xff\x0b\x35\xcb\x8f\xf4\x9a\xb6\x06\x9d\xe1\x9d\x2f\x35\x2d\xc7\x61\x6a\x2d\x99\x73\x78\x4b\x7d\x01\x72\x53\x82\x70\x4a\x54\xd4\x06\xc7\x9b\x03\xe9\x16\xc7\xd3\xd4\x1f\x7e\xbc\x1b\x76\xba\xb3\xbb\xfb\xfe\xb4\x37\xbb\x9b\xbc\x9f\xcc\x3a\xbd\x49\xeb\xa6\x5f\x05\xab\x1f\xb1\xa7\x35\x0b\x89\xd3\x5c\xca\x22\x96\xc5\x2c\x37\x02\xd6\x59\x24\x68\x12\x91\x02\x06\x37\x5c\x13\xc5\x52\x9d\xa3\xb9\xdb\xce\x40\x32\x77\x45\x83\xaf\x12\xa2\x0b\xb7\xd6\x4f\x30\x03\xd0\x83\x9f\x30\x15\x16\x22\x28\x97\xe6\x39\x54\xb1\xee\xb9\x8c\xe6\x64\x21\x0d\x33\x63\xe4\xe2\x98\x81\xf9\xe6\xa4\x11\x19\x64\x8e\xd3\x43\x6a\xcf\xe6\xde\x3e\x81\xdc\xde\x64\x76\xd3\x1f\xb6\x7f\xf6\xd0\xad\xe1\x3e\x98\x47\x2c\x78\x50\x9d\xca\x60\x5f\x00\x5e\xa9\x31\x4a\x86\x87\xe5\xdf\x0d\x13\xbc\x54\xc5\x17\x0c\xa9\x7d\x9d\xb3\x06\x6a\xa7\x3e\x0d\xef\xcd\xa2\x80\x6a\x51\xb9\x32\x66\x51\xca\x56\x44\xff\x6b\x8f\x2f\x6c\x49\x44\x2b\x8a\xda\x2b\x5c\x51\xad\xe7\x8e\xab\xf6\x81\xbd\x27\xc2\xc2\x45\xf1\xab\x1c\x98\x10\xf2\xcf\x73\x56\xaa\x91\xf2\xf7\x39\x20\x89\x30\xbd\x91\xbb\xf0\x93\x3c\x38\x5c\x1d\x9d\x9c\x29\xdf\x96\xbc\x7e\x0f\xe2\x89\x9a\x92\x07\x64\x6d\x61\x60\xf5\xe4\x27\xf8\x91\x00\xa4\xb2\x5c\x01\xeb\xa2\xf2\xc2\xae\x55\x5f\xf2\x82\xad\xdd\x1a\xea\xbf\x27\x34\xe6\x02\x47\x51\xee\x45\xad\xb1\x0d\x06\xe7\xf9\x03\xe6\x2b\x90\x7e\x09\x5e\x6a\x87\xd6\xfe\x4e\x1e\x1e\xdb\x90\x06\x2b\xfa\x48\x42\xef\x89\x6f\x8f\xf7\x9f\x3d\xd6\x8f\x1e\x31\xf9\xa3\x9c\xa9\xb6\xe5\xc4\xdd\x0e\x98\x7d\x4a\x78\x16\x09\x90\x1d\x29\x11\x59\x1a\xab\x57\xe6\x4b\x5a\x48\x1a\xc5\xfc\x01\x3e\x2e\x27\x22\x7f\xc8\x27\xe0\x8c\x52\x2d\xff\xb5\xbb\x75\x08\x3f\xf0\x26\xf7\x49\xe7\xb4\x7a\xef\xd3\xf6\x78\xbf\x7d\xb2\x06\xac\x0b\x72\x8c\xb7\x60\x8e\xfd\xf7\xcd\xa6\xe5\x6a\x32\xb6\x6d\xbf\xfd\xf3\xbd\x61\xa2\x8d\xa3\x68\x8e\x83\x87\x56\xcc\x9f\x2a\x82\x3a\xa5\x0f\x54\xcf\x78\x94\x12\xce\x9d\x52\x81\x40\xbf\x40\x27\x77\x5a\x80\x76\x9c\xff\x05\xc3\xbb\xf3\x0a\x9a\x39\xab\x11\xc2\x0d\xb1\x80\xd5\x30\x84\x42\x3a\xec\xc9\x41\x83\xa5\x5e\x0d\xeb\x59\xd7\x8d\x45\x31\xfa\xfb\xab\x24\xc2\x1b\x70\x49\xff\xfd\x55\x49\x4b\x9c\xbc\xaf\x4e\x9e\x64\x7d\xb7\xdd\x4f\x67\x2b\x23\xb9\x90\xfb\x8c\x39\x7f\x62\x29\xbc\xe1\x96\xa5\x36\x27\x56\x25\x5c\x49\x45\x46\x03\xf4\x3f\x92\x94\x2e\x36\xca\x5b\xae\x60\xdd\xc4\x46\x7d\x01\x7e\xf5\x87\xdb\x16\x32\xef\xba\x82\x8f\x4e\xc6\x23\x94\xe0\x4d\xc4\xb0\xdc\x81\x98\xa4\x58\x80\xc1\x2e\xdf\x39\x19\x8f\xae\xab\x33\xb0\xb7\xc8\x56\x99\xd8\x86\xed\x1a\xf3\xcb\x43\x36\xe3\x64\x34\x1c\x4c\xba\x90\x10\x36\xbc\x3f\xac\xc5\xb4\x20\xbf\x8b\x65\x02\xb1\x00\xd0\x2d\x43\xf4\xb4\xa2\x11\x41\x0b\x22\x82\x95\x9c\x1d\x64\x48\x97\xb1\xd7\x8b\x4f\xfe\x7c\x3e\x79\xef\x1c\x76\x8d\xba\x46\x42\xb5\x4f\xdf\x2e\xda\xe5\x73\xf8\x0a\xde\xfc\x79\x8f\xff\x73\xaa\xce\xcc\x61\x22\xf4\xb9\x2a\x39\x4e\x75\x34\x72\x2f\x75\xdc\x57\x17\x1f\x83\x6e\xa1\xa3\x34\x4e\x97\x0f\x15\xbe\xac\x1d\x95\x56\xa2\xda\x40\xea\x6b\x4c\xb6\x6f\x1b\x06\xf6\x39\x32\x49\xe4\x06\xb3\xf5\x9a\xc5\x7e\xbc\xe0\x0c\xf5\xd3\xb1\xc0\x6a\x92\x96\x7d\x00\x8f\xaa\x7b\x10\x17\x6c\x47\x8f\x0e\xb2\x8d\x29\xb7\xe5\x90\xc8\x26\xb0\xa8\xde\x80\x5e\x17\xdf\x50\x88\xb2\xef\xe2\xbb\x37\x5f\x0e\x78\x19\x69\xa7\xe7\xc1\x20\xaa\xe4\xc6\xce\x0a\xda\xa2\x2e\xab\x58\xd1\x8e\xab\x21\x99\xe0\x81\x2c\x35\x4d\x8c\x0d\xb3\x81\xa5\xd2\xa1\x8b\x05\x25\x6f\x3e\x90\x28\x5a\xe3\x58\xaa\x52\x46\x17\xa3\x2c\xbe\x46\x6d\x1c\x23\x1c\x71\xcb\x23\xd8\xf8\x66\x39\xf9\x35\x23\xb1\x4a\x5d\x99\x6f\x04\xe1\x8a\x2b\x55\x12\x3e\x8a\x48\xbc\x14\xab\x1a\x62\x4f\x27\xb2\xa8\xe7\x40\x02\xc2\xbf\xf2\x46\xac\xfa\xc5\x5b\x5f\x77\x59\xd4\xe9\x1d\xff\x0b\x8e\x32\x5b\xc4\xa5\x7f\x9f\x4f\x5c\x69\x5e\x39\xd6\xaa\x5e\xd1\x2b\x84\x1f\x29\x8e\xa0\x16\x10\x2b\xf0\x23\x95\x6f\xd2\x38\xa7\x6b\xbf\x78\xbf\x3b\x78\x3f\xf5\xeb\x21\xa4\x53\x7b\xd4\xf2\x1c\xc5\x5e\x14\x47\x6c\x79\x4b\x23\xe1\x61\x57\x16\x07\xfb\x09\xbc\x05\x8b\x42\xd7\xdc\xaf\xa0\xe4\x3e\x4e\x09\x0e\xef\x70\xfa\xe0\x49\x8d\xfb\x80\x1f\x45\x21\x3c\xc7\xd1\x1a\xc7\x0a\x4a\x7e\x8d\xd3\x07\x12\x22\xcc\x51\x06\x2f\xf3\xa5\xd5\x93\xc2\x3a\xca\xc2\x36\xf0\xbd\x26\x16\x20\xa9\x6b\x9c\x1a\xf2\x19\x32\x94\x66\x0a\xcc\x40\xbb\xee\x20\x67\x49\xc3\x1b\x84\x5b\x94\x1d\x9d\xb3\x06\xbb\xab\x2f\x80\x91\xbc\x76\xd5\x6f\x50\xaf\x73\xc0\xe1\xe1\xbc\xe0\x38\xcf\x56\x99\xa3\xc7\xe9\x2d\x2a\x95\x24\x12\x91\x35\x89\x85\x69\x3a\xa4\xc4\x54\x11\x8c\x5f\x7b\x6d\x4c\x7e\x5b\x6d\xbf\x4d\x63\x0e\xa0\xdd\x17\x19\xb3\x56\xbd\x4a\x29\x34\xc5\xd7\x35\x2e\x7c\x6e\x87\xfd\x8e\xff\x0d\x67\x6e\x5a\xbb\xdd\xdf\x30\x5e\xd0\xf0\xf6\x76\xd2\x9d\xce\x8e\x56\x47\x99\xb3\x89\x47\x2a\x01\x94\x07\x19\x97\xb7\x95\x0f\x16\x40\xe9\x03\xbe\xb2\xd1\x3c\x67\x75\x28\xeb\x8e\xc0\x9c\xb3\x80\x82\x2f\xc6\x19\x06\x36\x78\x01\xf7\x0f\xb2\x3b\x57\xec\x09\x51\x01\xc6\x0e\x4b\x2c\x0e\x3e\x5b\xaf\xa1\x6f\x1b\x09\xd4\x89\xd8\xe9\xea\x21\x4d\x7d\x69\xb9\xed\x34\xeb\xf4\x70\x37\x96\xf4\x89\x2e\xf3\x14\xb5\x35\x95\x8e\xa6\xba\x7f\xdd\x59\x90\x49\x8a\x6f\x36\x1f\x94\x9c\x3a\xbc\xe8\xc5\xd1\x9e\xce\x71\x14\xea\xc7\xd0\x7c\x03\xa5\x7e\x93\x0f\xad\x3f\xfc\xf9\x47\xe8\x09\x78\x85\xd6\x98\xc6\xd1\x46\xde\x05\x21\x08\x80\x25\x5d\xd4\x70\x9d\xaf\xe9\x9a\xcc\xac\x1e\x4d\xd7\xaa\xa8\xbd\x90\x9b\xbb\xc2\x7f\xf8\xf3\x8f\xe0\xa5\x55\x9f\x65\x0b\x68\x64\x57\xcc\xdf\xfd\x4d\x85\x74\xe9\x6f\x56\x79\x92\x63\x20\xff\x59\xaa\x78\xcd\xe7\xa8\x03\x2d\xf5\x5a\x29\xda\xe3\xe6\xac\xdf\x91\xc7\xad\xbb\x66\xff\xa0\x3f\x93\xcd\x13\x4b\xc3\xca\x4b\xbe\x38\xd8\x6f\xd3\x23\x16\xe0\x88\xfe\x46\x42\x44\xe4\xd3\x52\xbb\x56\x8f\xfb\x9b\x80\x38\x5e\xce\xf4\x2a\xbe\xea\xe3\x78\x99\x49\x8e\x87\x5f\x54\x72\x75\x81\xe2\x8e\x06\x86\x0a\x2a\x65\xca\xbe\xc7\xbc\x0d\xdf\x78\x79\xc2\x84\x21\x3b\xde\x51\xe5\x6d\xc5\x71\xe1\x85\x66\x65\x95\x49\x63\x86\x5f\x9d\x61\xdd\xcc\xb3\xf5\xf8\x23\x7f\xca\x6f\xd5\x9c\xbe\xb0\x38\x3e\x30\xd5\x23\x18\x87\xef\xac\x80\x47\xe0\x16\x26\x73\x3f\xee\x7b\x4d\x5a\x8e\xf3\x57\x7d\x71\x8c\x3e\x4c\xa7\x23\x40\xb1\x50\x7d\x94\x02\x1c\x4b\xd5\x0d\x64\x9f\x60\x08\x67\x82\xad\xb1\xa0\x01\xdc\x14\x52\x2b\x86\x5c\x68\xc1\x90\x48\x71\xcc\x23\x6d\xc6\x46\x58\x2c\x58\xba\xd6\x31\xef\xe5\x92\x70\x01\xc8\xb1\x6a\xf1\x52\x92\x44\x38\x50\xaa\xe1\x35\x92\x72\x03\xbe\xa7\x8b\x0c\x8c\x4e\x93\xa2\x3f\xbe\xb3\x99\x24\x78\x21\x6d\xc3\xdc\xf8\x6d\xe2\x90\xc2\x37\xd4\x2c\xa5\x34\xdd\xa5\xcd\x92\xa4\xa7\xe0\x74\xca\xdb\xbb\x39\xb7\xb8\x46\x2c\xb7\x38\xd8\xd3\x96\xc3\xc7\x45\x70\xcf\x14\xbe\xbe\x25\x58\x64\x69\x8d\x29\x6f\x8f\xf7\x9c\xb5\x7e\xec\x82\x26\x9e\xa9\x94\x90\xca\x09\x9b\x71\xfe\xa7\x70\x91\x99\x6e\x63\x4a\xf4\x04\x01\x53\x65\x30\x82\x81\x72\xd2\xeb\x9c\x06\x55\xd8\xb4\xa6\xf0\xe2\xaf\x16\xef\xf1\x9a\x7c\xa0\xcb\xd5\x24\x60\x69\xf5\x75\xb4\x35\xda\xef\x08\xac\xe8\x72\x05\x85\x4e\x1a\xe1\xdb\xad\x73\xf2\x0d\x5d\x14\xbb\xed\x81\xdf\x5b\xbe\x46\xa7\x40\xab\x94\x83\xf5\x16\x62\x56\x79\x74\x17\x1e\xdb\x06\xd7\x72\x1c\xd1\x86\x62\xa4\x49\x5e\xe3\x90\x48\xe5\x1a\xa3\x80\xa4\x02\xd3\xb8\xe0\x6e\xff\x86\x61\xeb\x2e\x29\xe7\x57\xe5\x48\xfa\x02\x00\x4d\x15\x4e\x8a\x58\xb1\x10\xd4\x00\x16\x43\xdb\x31\x48\xc5\x50\x49\x88\x78\x2b\x3c\x5e\x79\x4c\x7c\x3a\x69\x3a\xc3\xbc\x0e\x06\x87\xfa\x4f\x6d\xdb\xc6\x52\xdd\x2c\xb6\x84\x04\x2e\x67\xb1\x14\xf1\x82\xa4\x11\x0b\x32\xc1\x52\xf4\x16\x7e\x0f\x4d\x2f\xea\xa1\x00\xe0\x30\x9c\x29\x67\x42\xb5\xc3\x8b\x3f\xd0\x24\x21\xe1\x15\x8a\xc9\x12\x0b\xfa\x08\xca\x4d\x46\x38\xa4\x2e\x83\xe7\x1e\x07\x01\x49\x04\x09\xaf\xcb\xfc\x71\x63\x88\x23\x81\x11\x55\xe1\x6d\xdb\x89\x38\x95\x47\x98\x7a\x52\x6e\x24\x8c\xd3\x9c\x16\x75\xa0\xa5\xee\xb6\x20\x69\x4a\x74\xf6\x87\xde\x75\xd0\x7f\x74\x70\x01\x76\xdf\xe6\x7c\xc2\xa2\xf6\x3a\x1c\x45\x84\x4b\x81\x80\x63\xa4\x3f\xe3\x7e\x98\xc6\xe7\xfb\x30\xdc\xda\xea\xc3\xea\x33\x07\x9c\x8a\x31\xf4\x2a\x85\xb7\xe5\xd5\xae\x60\xed\xab\x04\xe5\x62\x1e\x33\x3c\xb6\xd7\xaf\x58\xfa\x2e\x81\x53\x21\x2f\x68\xeb\xa7\xc9\xdf\x56\x8e\x24\x6a\x3b\x25\xe0\x74\xa9\xdd\x52\x27\xc8\xc2\x1f\x4a\x4f\x7b\xeb\x7e\xfa\x61\xf6\x73\xf7\xd3\x6c\xd4\x1d\xdf\x79\x16\xc5\x08\xb2\x4e\x58\x8a\xd3\x0d\x40\x37\x41\xc4\xc9\x94\x3e\xce\x69\x1c\x2a\x23\x00\xb0\xa6\x49\xba\xc6\xb1\x5c\x43\x3b\x50\x30\x29\xd3\x75\x66\xaa\xda\x48\x7e\x7a\x5e\xf7\x4b\xf2\xcc\x57\xa5\x7f\xb5\x87\x83\x41\xb7\x0d\xd8\x69\x9d\xee\x2f\xbd\x76\x77\x76\x37\xec\x74\xfb\x1e\xec\xd7\x21\x0a\x92\x9b\x85\x24\x6a\x0a\xde\xea\x32\xa2\xd6\xcf\xa4\x93\x5a\xe4\x66\x75\x8f\x54\x6a\xa5\x3b\xe3\xab\xaf\xdf\xbf\x66\x44\x8a\x0a\x17\xea\xb9\x06\xc6\x03\xb3\xfd\xfd\xe6\x0c\x72\x1d\x7e\x95\xaf\x3b\x3d\x1d\x93\xb0\x59\xc2\x68\x6c\xdf\xbe\x24\x2c\x62\x81\xb6\xf8\xe8\xc2\xb4\xe0\x2c\x0b\x44\x99\x47\x74\xb8\x40\xeb\x08\x2a\xca\x0d\x8b\x72\x65\x9d\x02\x1a\x1e\x2e\xa4\x29\x09\x44\xb4\x41\x98\xbf\xa1\xdc\x88\xc7\x39\x13\xa5\x29\x92\xd3\x3c\xb6\x18\x6d\x10\x4b\x48\xac\x8f\xa1\x3b\x58\x2d\x83\x1e\xad\x7e\x68\x5a\x4f\x96\x4a\xa0\x06\x84\xf4\x2a\x69\x02\x5d\x50\x23\x40\x7e\x27\xac\x47\x88\xda\x9d\x5f\x3b\xde\xbb\xe3\x21\x57\x87\xbe\xdd\x0f\x54\x82\xad\x6a\xe7\xa4\x0e\x6e\x13\x89\x9a\x5f\x55\x36\xe9\x85\x5d\x42\x17\x58\x0c\xfc\x65\xa5\xff\x25\x24\x4f\x2a\x11\x5e\xcf\x19\x51\xfa\xcc\xf1\x2e\x09\xa5\x58\xab\x44\xf1\x23\x2f\x06\xd7\x57\x51\xc4\xe3\xf7\x74\x36\xa8\x48\xe8\xef\xcb\xcf\xf0\xec\xb6\xfd\x1d\xe6\x0f\xbe\x5e\xe0\xc2\x58\xdf\x28\x8c\x29\xdd\x2a\x56\x00\x79\x73\xd5\x99\xfc\xc0\x3a\xd0\xdd\x0d\xa9\xe8\xa8\xea\x92\xc3\x33\xdf\x1a\x5e\x3d\xf9\x5b\x1a\x87\x48\xca\x06\xba\x80\xde\x85\x21\xc5\x86\x85\xbe\xe3\x16\x77\x58\xc7\x69\x48\x48\x1d\xd1\x79\x94\x5b\xb0\x4c\x6d\x81\xac\xa2\x27\x70\x00\x2a\x2b\x5d\x12\x21\x65\xf5\x59\x8a\x3a\x2e\x04\xa0\xe7\xeb\x81\x43\xbe\x1c\x29\xf4\x4c\xa6\x8e\x17\x9c\x9d\x3b\xce\x3f\x18\x23\xf9\x3d\xd2\x19\xff\xa7\xa2\xda\x6d\xa7\xc6\xc0\x8b\xbd\x45\x0c\xff\x85\x92\x27\xef\x29\xaa\xc1\x7e\xb2\x15\xc7\x52\x95\x0f\x52\x82\x95\xff\x06\x3d\x52\xf2\x84\x02\x96\xc5\x42\xf9\x17\x71\xa1\x9f\x06\x62\xa9\xc1\x30\x30\x75\xf3\x36\xf1\xa8\x31\xd1\x03\xf4\xac\x77\x31\xeb\x00\xbb\xd1\x05\x00\xc4\x1c\xc8\x25\x61\x3e\x0d\xc8\xe4\xd9\x9e\x87\x97\x5c\xd3\x81\x11\xcc\xd1\x02\xf0\x04\xcf\x20\xda\x5e\xbc\x59\x5f\x8f\x37\xeb\xf7\xed\x40\x1a\x46\x61\xdd\xf0\x7e\xd9\x23\xd5\x32\xe8\x4e\x29\xa2\x52\x09\xb3\xa6\x4f\xa2\x73\x8b\xa2\xcd\x97\x0f\xfe\x97\x05\x5b\x4e\x2c\xf3\xc9\xdd\x4b\x2a\x9d\xb8\x5a\xea\x0f\xc1\xf2\xa9\x5e\x71\x3d\xcc\x4f\xd2\x83\x2c\x54\x0d\x75\xc0\xae\x92\xc6\x11\x47\x47\x84\xc1\x0a\x0e\xad\xdf\x11\x20\xf6\x33\x1d\x45\x79\x51\x79\x16\x3c\xb8\x43\xfd\x98\x42\xd7\x37\xa8\xca\xc8\x85\xe3\x92\x91\x34\xd7\x38\x6c\x6a\xb8\xbe\x56\xcf\x52\x16\xf9\x72\x77\xbe\x44\x5f\xea\x92\xf1\x8c\x27\x76\x42\x84\xa0\xb1\xdf\x91\xb5\x63\xfd\xce\x2c\x10\xc7\xcd\x33\x47\x89\xed\xb3\x74\xe8\xbf\xa4\x43\xfa\x5c\x3b\x0f\xe5\x5d\xbe\xd2\xba\x30\xd8\x73\xef\x8b\xf5\x63\xde\x9b\x7f\x5c\xa1\x58\xd3\x1c\xd2\x5c\x8d\x53\xf5\x4e\xb0\x28\xf2\x0c\x7e\xba\x43\x3d\x77\x81\x41\x8e\x8a\x7a\xc4\x7b\x0f\xca\x2a\x64\xe4\xa5\x0b\x6f\xf3\xf7\xc0\xc1\xf0\xf3\x99\xa9\xe7\x74\x2c\x79\xed\xda\x2f\x4c\x54\xab\xbe\xf9\xc0\xfa\x3b\x06\xfc\x1e\xb3\xf8\x0d\x8e\x59\xbc\x59\xb3\x8c\x2b\x58\xe3\x33\x43\x62\x1d\x2a\x8e\xaa\x9b\xd7\xb5\x6d\x52\xc0\x94\x6c\x98\x5a\xe0\x07\x12\xe7\x91\xc7\x98\x7c\x16\x3a\x6f\x4d\x91\xe5\xfa\xb3\xae\x1f\xe5\x2a\xf6\x29\x17\x57\x88\xc6\x54\x50\xc8\xee\x87\x62\x87\x44\x6c\x10\x17\x29\x8d\x97\xd7\x68\xc0\x04\xf9\x09\xd1\x05\x8a\x99\x12\x15\x86\x3c\x48\x67\x7b\xc4\x14\xea\xb3\x0b\x89\x5c\x01\x96\x7c\xea\x64\x73\xd9\x97\x3a\x04\xfd\x05\x89\x55\xc6\xaf\x10\x7e\x64\x34\xd4\x8c\x64\x0a\xd0\x5c\xba\x4d\xfd\xa8\xb4\x57\x76\x49\x97\x84\x51\x61\x7b\xa3\x5d\x41\xb9\x02\xbc\x11\xc2\x50\x0b\x39\x31\x82\x22\xc6\x92\x42\x64\x9e\x59\x2e\x96\x2c\xc2\x54\x7a\x57\xce\x22\xc5\x64\x2e\xe0\x20\xfd\x44\xc9\x21\x85\x04\xeb\x92\x43\x7a\xa2\x97\xbc\xdc\x11\x9d\xb7\x24\xf0\x83\xa4\x6e\x00\xbf\xf6\x8b\x6b\x74\xe5\x33\x07\xe4\xf2\x5f\x86\xd3\xae\x9f\xf7\xbd\x8d\x39\xa4\x09\x30\x61\x7b\x44\xc0\xce\xe8\xe4\x3f\xc9\xa2\x8a\xdb\x6c\x48\xac\x8e\xb4\x1a\x93\x80\xc4\xa2\xaf\xf3\x4b\x2a\x65\xd6\xf6\x70\x3f\xc9\x15\xd1\x47\x82\x4c\x0e\x8b\xcd\x6c\xdd\x1b\xe6\xfc\x8a\xfc\x22\xe6\xe8\xdc\xbb\x51\xda\x8a\xc5\xf6\x75\x46\x6d\x8d\xf6\x5b\xea\x14\x1e\x3a\xc2\xd5\x64\x00\xfb\x8c\x28\xb1\x48\x7e\xea\x8d\x52\xa0\x3a\x90\x7e\x45\x40\x3f\x28\xe5\x3c\x1d\x09\xe0\x4c\x21\xce\x31\x49\x22\x5a\x7d\x1d\x9b\x61\x7e\xeb\xec\x22\xec\x62\xdd\x85\x4f\xac\x0a\xd0\x0f\xd5\x4b\x5e\xc8\xc5\x3e\xa5\xe4\xff\x62\xce\xc3\x19\x93\xb5\x11\x5f\xe3\x28\x02\x7c\xc2\x2f\x9d\xae\x8d\xe6\xd0\x38\x68\x5f\xbe\x76\x55\xd9\xf8\x25\x82\x44\xb8\x8a\x79\xf5\x11\x9a\xe0\x47\x12\xbe\xa7\x8b\xca\x43\x94\x0f\xf4\x3b\x46\x1c\xca\x01\xdf\xf7\x6e\x9f\x3f\x13\xc2\xf6\xa6\xf2\xac\xf2\xd8\x19\xef\x39\xe3\xbd\x48\xef\x5f\xe0\xda\x2b\xdd\xf5\x06\x7d\x27\x97\x90\xf7\x70\x51\xce\x14\xcb\x24\xbe\x21\xfe\xdd\x07\xce\xcf\x56\x85\x56\x70\x87\xfb\xb0\xbd\x30\xd0\x97\x66\x20\x82\xd3\x60\xd5\x56\x39\x00\xd5\xdc\x53\x1c\xed\xc7\x3a\x60\xa7\xee\x5e\xf7\x60\x0c\xb2\x2c\x0a\xe5\xf2\x82\x9f\x46\xe5\xd5\xd9\xef\x71\xf8\x98\xb1\x91\x35\xda\x2f\xc7\x6b\xe2\xe0\xc0\xd5\xf0\x47\x58\xfc\xb0\x57\x6a\x16\x68\xb1\x05\x12\xb6\xc7\x9d\xc4\x90\x22\xc4\x43\xc2\x27\x11\x15\x63\x1c\xfb\x1c\x43\x67\x68\x2d\x85\x10\xa5\xf0\x90\x6a\x69\x88\x1f\x8d\x1f\x40\x9a\x37\xdf\x69\xa6\xd4\xf6\x4f\x35\x44\xd8\x44\x60\xc1\x3d\x90\x12\xec\xb8\x6a\x4a\x4d\x5a\x90\x42\x2c\xd0\x7b\x06\x54\x71\x81\x05\x95\x4a\x3f\xbf\x46\x6d\x9b\xe2\x2f\xb6\x12\x2d\x4d\xe6\x3c\xa8\x49\x72\x8e\xdb\x1d\x25\x7c\x40\xac\xd3\x07\xd8\x43\xcc\xa5\x4a\x96\x11\x95\x19\x58\xa0\x28\xd4\x59\x32\x6b\x62\x0f\x78\x19\xfa\xd6\x51\x56\x06\xd0\xa5\xe2\x7c\x0e\x5c\x21\x38\x9a\x96\x3f\xbd\x7d\x2b\xd7\x81\xa7\x64\x91\x12\xbe\xfa\x1f\x6a\xec\xbf\xfc\x77\xf8\x0f\x5a\x2f\xef\xf5\x9b\x28\x58\xea\x05\x3d\x83\x5c\x7c\x2e\xd1\xa3\x2c\xc0\x09\xa9\x04\x09\x70\x46\xfa\x1d\x16\x17\x93\xc4\x5a\x9a\xa4\x46\xfc\xde\x79\x26\x47\x87\x77\xf3\x12\x9a\x5a\x7b\xd3\xcf\xad\xeb\x5b\xda\x51\xd2\xea\x96\x93\x3d\x8d\xb9\x7c\xb7\xa0\x5a\x5c\x1d\x89\xd2\x3f\xdf\x28\xdc\x90\x1a\xb0\x80\x6b\x26\x68\x90\x4f\x56\x3d\x7e\x7e\x23\x7e\x62\x30\x4c\x6a\xa1\x4d\xee\x79\xca\x73\x95\xcc\xc3\xfe\x00\x94\x1a\x49\x52\x4a\x02\x0f\x67\xda\xd6\x68\x3f\xaa\x14\xbe\xa4\x63\xa2\x2a\x5c\x03\xa2\x5a\xec\xac\xd5\xcb\xea\xe4\x50\x37\xe7\x85\x38\x1f\xa6\xb0\xe3\x86\xf5\x7b\x83\xf5\x05\xdc\xd1\xf8\xa8\x37\x9c\xc5\xd0\xce\x55\x96\x88\x31\xd5\xc5\x7f\x6d\x76\xff\x0c\xca\xf4\xc5\x44\xb2\x2f\x34\xdd\xe4\x99\xee\xd5\x8f\x64\x3e\xf2\xc0\x5f\x34\xc3\x7c\x6f\x54\x2e\x70\x2c\x54\xca\x70\x22\x9f\xf3\x16\x00\x27\x7b\x15\xb2\x34\x02\x1f\xf8\xb8\x2f\x8f\x7a\xef\x17\xf8\xbe\xe4\x72\xc8\x86\x6c\x9c\xb3\x3f\xb6\x67\xed\xe1\xe0\x97\xee\x78\x3a\xbb\x1f\xfb\x31\xf8\xc7\xb6\x06\xd7\x10\xa0\x67\x1e\xbf\x69\x00\x19\x47\x9e\x3c\xf7\xce\x8c\xf6\x8c\xef\xaa\xd1\x72\x0d\x9f\xc8\xbc\xde\x1e\x42\x4b\x14\xe5\xe4\xb6\x4e\x48\xf3\x3b\x65\x8b\x88\x8d\xb4\xe9\x05\xf9\x2c\x4e\xd6\xa0\x4d\x9c\xdf\xf9\x16\xe8\xcf\x1a\x8c\x8c\x21\xf2\x59\xa4\x38\x50\x96\xa5\x9e\xd5\xd9\x62\xfc\xb5\xbb\xa5\xea\xf0\x3e\xdf\x49\x13\x3b\xcc\x03\x2b\x1a\x12\x37\xd1\xe9\x06\x1f\x6e\x29\x54\x36\xbe\x9a\x0f\x26\x2b\x63\x71\xeb\x52\x36\x85\x1c\x67\x4c\x48\x24\xdf\xca\x75\x41\x77\xc2\x52\x81\x78\x82\xd7\x6f\x71\x08\xd0\xd3\x01\x8b\x85\x5c\xf6\x39\xd6\x55\x0f\x31\x79\xd2\x9d\xab\xc9\x62\x41\x02\x41\x1f\x49\xb4\x31\xed\xfb\x79\xfe\x56\xd8\x3d\xf2\x99\x04\x99\x30\x06\x2b\x06\x78\x55\xee\x04\x8f\x4d\xec\x91\x80\x25\x6b\x72\xb7\x6a\x94\x8f\xd4\x70\x39\xd3\xb5\x9c\x9c\xb4\xab\x7a\xf1\x23\x15\x87\x65\xe5\xce\xe0\xea\x65\xee\xc1\x23\x3a\x6b\x58\x8a\x03\x2a\x08\xd4\x5f\xc8\x1b\x07\x61\x94\xa4\xf4\x11\x0b\x65\x19\x3b\x37\xce\xdb\xda\x55\x22\x46\xb6\x02\x92\xa8\x32\x32\xaf\xd7\xe4\xad\xfc\x0c\xbc\x1b\xfe\x7e\xa6\xab\x7f\xe2\xd7\x8d\xd4\x5c\xb8\xf6\xb6\x35\x3d\x49\x0f\xf5\xe5\x7b\xc1\x43\x39\x67\x29\xfa\x2f\xbd\x69\x57\x21\xd7\xfa\x49\x37\xcd\xc0\x06\xae\xb6\x99\xfc\xd7\x02\x19\x7f\x1b\x79\xd4\xe4\x5a\x42\x22\x1a\x3f\x48\x6a\x10\xf9\x9c\x34\x52\x29\xe8\xd2\xe2\xcb\x39\x5b\x8b\xf2\x52\x53\x73\x56\x5c\x36\x4f\x61\x23\x49\x59\xef\x58\x87\xaa\x8c\x43\x32\xcc\x9c\x90\x18\x91\xcf\x01\x21\x92\xd6\xd7\x82\xa1\x20\x25\x52\x12\x63\x7d\x91\x49\x5d\x86\x7c\xc6\xeb\x24\x22\xdf\x37\x53\x74\xde\xea\x8f\xbb\xad\xce\xa7\xd9\xa8\x35\x9e\xf6\xda\xbd\x51\x6b\x70\x18\x34\x63\x6a\x6e\x4d\xca\x11\x8e\xa4\x31\xbe\x31\x77\x63\x33\xe7\x1f\xa8\xaa\x27\xc3\x87\xb1\x45\xd5\x56\x6b\x09\x7d\xf3\x52\xaa\x51\x6f\xc3\x70\x9b\x58\x4f\x19\x7f\x58\x25\xd2\x35\xed\x9e\x7e\xc2\xdd\xd1\x1e\xf7\xb4\x7a\xe6\x48\x27\xa1\x69\x18\xfa\xaa\x58\x82\xa9\x7f\xed\xbe\xd2\x51\x6e\xf7\x79\x16\x01\xbd\x54\x91\xf3\x2d\x39\x19\xd7\x38\x7d\x70\xbb\xa0\x1c\xdc\xc2\x9d\xc1\xd5\x3b\x78\xe7\x76\x48\x31\xa5\x3a\xbb\x6d\x52\xaa\xc3\x43\x47\xb9\xfa\xb5\xc6\xa9\x68\x2e\x98\xac\x66\xb2\xaf\xee\x24\x5d\x96\xa0\xb7\x2e\x55\x7b\x94\xd3\x35\x5d\xa6\x58\x90\x4a\xf4\x5c\x77\x5c\xf5\x42\x4d\x55\x0b\xa4\x88\x2c\x71\xb0\xd1\x2d\x11\x00\x99\x1a\xa3\x5d\xdd\xa2\x16\x6e\x6e\xdf\x7d\xa5\x60\x48\xd3\xd5\x78\x46\xe7\x45\x87\x6f\x2f\xa9\x2c\xf7\x39\xfc\x4e\x92\xaf\xf3\x8e\x1e\x07\xf9\x76\x6b\xa8\xcf\x19\x97\x47\x48\xa7\xbf\xc9\xb3\x54\xef\x68\x6f\x77\x91\x35\xea\x92\xd0\x61\xc9\x54\x80\xb2\x4d\x4c\x7e\x5d\xc9\x01\x7f\x0f\xbc\x5d\xcc\xba\x92\x63\x67\x4e\x3e\x5a\x07\x29\xf6\x37\x90\xe9\x5b\x6e\x74\x02\x09\xe1\x95\x87\x5f\x0e\xb1\x4d\x3c\x7d\x32\x85\x4a\x1f\xf0\x5b\x53\x6e\x97\xc2\x05\x83\x05\x03\x95\x93\x20\xd5\xad\x00\xcd\x82\xd7\xb0\xc4\xe5\xaa\x98\x6c\x34\xe3\x62\x97\x3f\xeb\x5c\x39\x95\x88\x1f\x10\x68\xb6\xed\x26\x3a\xae\xb6\xc8\x77\x76\x60\xe2\x10\x74\xa6\x06\x7e\x1f\x5b\xbd\xe9\xec\xb6\xd5\xab\x02\x7b\x6b\xa1\x27\x4c\xc1\x91\x01\xa9\x09\x36\xed\x1e\xc7\x08\xa8\xa8\x75\x66\x6a\x55\x90\x97\x3e\xe0\x79\x7e\x62\xf2\xb4\x5b\x29\x5e\xff\x30\x15\x73\x79\xac\xf6\xc2\x2d\xf6\xc4\xd6\x1b\x0f\xb0\xb9\x2f\x77\x9f\xca\xd4\xc7\xf1\xef\xfe\x54\x4f\xca\x35\xb8\xe1\x55\x59\x36\x67\x1e\xa7\xd7\xe8\xbf\xd2\xa0\xf8\x35\xc3\x91\xca\xee\x04\x35\x9e\x3e\x92\x18\x30\x97\x0d\x58\xe2\x3e\xb9\xa3\xf1\x6f\xc1\x1c\x60\x69\x51\xff\xff\x26\xf1\xe9\xbf\x69\xeb\xb7\x5a\x1a\x78\x45\x76\x6b\x06\x75\xe1\xf4\x9b\x30\x60\xfd\x03\xbf\xa5\xe3\x9e\x81\xf9\x5e\xfc\x75\x2f\x67\xe2\xe0\x99\x80\x1f\xda\x2c\x16\x24\xae\xa8\x54\x2d\x1b\x5f\x7d\x42\x06\x0c\x04\xb6\x0a\x58\x70\x12\x87\x24\xd5\xc9\x43\x2a\x10\x12\xd0\x84\x92\x58\xc8\xfd\x96\xb7\x7e\x44\xb9\x00\x60\x5a\x8c\x1e\x19\xa0\x02\xe8\xd5\x66\x29\x7a\xc2\x02\x4a\x58\xb0\x2a\x5c\x39\x33\xf8\x95\x51\xa2\xbc\x92\x7f\x77\x06\x57\x2f\x0c\x34\x97\x4d\xd7\xaa\x46\x87\x26\x3b\x20\x5f\x18\xa9\x2e\xb3\x57\x28\xc0\x71\x40\x22\x8e\x46\xf7\x93\x0f\x6f\x62\x58\x4f\x5d\x8d\x25\xd7\x93\xc6\xcb\xa3\x6e\xdf\x92\xf4\x0c\x5b\x47\xa9\x51\x59\xe0\xfb\xd7\x9e\xeb\xf4\xd7\x8c\x64\x87\x63\x3d\xc5\x91\x27\xae\xd0\x8e\x26\x3d\xdf\xec\x2c\x58\x92\xf1\x15\x72\x17\xac\x4e\xc4\x4b\xae\xd4\xaf\x82\xbb\x4b\xf5\xab\xe0\x5a\x4d\xc9\x57\xea\xbc\x1d\x81\x9f\x49\x75\x66\x69\x48\x52\x7f\x2c\x81\xd2\x07\xaa\xf7\x77\xac\x1e\x3b\x1e\x53\xe0\x59\x3a\xd6\x2e\x58\x1a\x10\xad\xbe\x72\x22\xae\x6c\x3f\x61\x3d\x0d\x4e\xd2\x47\x92\xbe\xe1\x34\x24\x68\x9e\x09\x00\x8a\x4e\x52\x02\xe0\x75\xda\xd5\xac\xa6\xad\x4a\xa1\x8d\x96\x9a\xc5\xea\xf9\x62\x81\xb0\x1c\x28\xbf\x35\x20\x4f\xc6\xff\xa6\x7e\xd7\x34\xa3\x3d\xcf\x05\x04\x73\xc9\x9d\xca\x5e\x5c\xe6\x0e\xf7\xe7\xb1\x1c\xc2\xd5\xb1\xab\xce\xcc\x6a\x6b\xcc\xa1\x8b\xb5\x25\xa2\x80\x1e\xeb\xd2\xbf\xbd\xd5\xf9\x18\xcd\x2b\xf3\x8d\xfb\xbb\x5e\xa7\xaa\x55\x9f\x4a\x30\xa8\x58\x4e\x18\xe2\xb3\x84\x3a\xde\x6e\xd3\x2f\x0c\x64\x17\x9c\x97\x47\xca\x74\xeb\x3d\xb6\x40\x82\x44\x64\x99\xe2\xf5\x77\x1c\x4d\x89\x14\xdd\x6c\x81\x26\x24\x7d\xa4\xc1\x11\xfd\xa2\x78\x41\xe0\x43\xe6\x5f\x81\xe4\xed\xb4\x84\xa2\xff\x88\xeb\xec\xa1\xd5\x06\x30\x02\x4c\x6b\x10\x73\xc1\x12\x29\x28\xd5\x0b\x49\xf3\x20\x16\xcf\x73\x9c\xe4\x64\xac\xbb\x6a\x92\xe0\xb5\x07\x03\x14\xc7\xd7\xe0\x06\xf7\xee\x85\x24\x25\xf9\x7c\x6d\xcb\x07\x70\xd8\x9d\x37\xe5\xbb\x7c\x06\x63\xe8\x0c\x96\xb8\xcf\x96\x78\xee\x44\xdd\x0d\x88\xc9\x13\xa2\x71\xc0\xd6\x70\xe5\xbb\xdb\x00\x9d\x26\x4c\xbe\x8f\xcd\xf6\xb1\x5d\x98\xc1\xef\x18\x45\xec\x09\x65\xdc\xba\xe9\x8f\x01\xe0\x83\xeb\xf3\x7c\x3b\xf6\xbb\xb6\xcd\xa0\x4d\x88\x3e\x9c\xd5\x4e\xff\xed\xd1\xd5\x6c\x34\x21\xd0\xdb\xd4\x34\x24\x81\x52\x2c\x81\x77\x4e\xb6\xee\x29\x92\x71\x92\xd6\xd0\x9d\x97\x33\xac\x34\xd2\x7f\x41\x4b\xf4\xbf\xe4\xd5\xc1\x42\x94\xa8\x6b\xf3\x23\x7d\xa0\x09\x09\x29\x2e\xc8\x6b\x1c\x87\x6c\xad\xb5\xb2\xfb\x98\xfe\x9a\x19\x95\xda\x12\xd8\xeb\x58\xf0\x6a\x00\x31\x50\x89\x70\x08\x34\x2b\x30\x82\x10\x00\xcb\x43\x6b\xb3\x90\x65\xf3\x88\x80\x43\xc6\x72\x7c\xaf\x53\x50\xad\x1c\x08\xff\x7b\x5e\x40\x77\x6a\x8c\x7f\x3b\x1f\x66\xef\x67\x2d\x2f\xbe\x59\xce\x70\xb3\x68\xfc\xc7\xf0\x6b\xa6\xd6\xe1\x04\x7e\xbd\x4f\xa3\x56\x26\x0e\x37\x4a\xdf\x1a\x5a\xcd\xa9\x50\xa0\x67\x95\x72\x53\x78\x34\x21\x78\x0d\x2e\xe0\xa9\x56\x39\x50\x9f\x2d\xa5\x66\x02\x38\xe7\xa6\x03\xb4\xfe\xd8\x7e\xcd\x1e\xfd\xe7\x7f\xf8\xb3\xf5\x3c\x13\x82\x99\xe2\x04\xb9\x74\x2a\xe6\x05\xdd\x55\xe0\x4f\x79\x11\x5c\x29\x19\xe5\xb8\x03\xd3\x55\x69\x8f\x89\x0a\x9c\x68\xca\x15\x28\x4b\x65\x63\x60\x8e\x1f\x49\x27\xc5\x8b\xc3\xda\x60\x3e\xca\x43\x74\xe0\x47\xe2\xa8\x83\xa1\x7c\x0c\x61\xce\x59\x40\xb1\xd0\x59\x2b\x70\xe6\x6a\x48\x8c\xe7\xca\x81\x96\x8b\x1f\x16\xe6\x2d\x57\x87\xcd\x4c\x12\x37\x38\x67\x39\x58\xfa\x79\x07\x68\xb3\xe9\x7a\x90\x4d\x93\x2e\xcb\x5e\x20\x5c\xe8\x7c\x7c\xf3\x54\x31\x44\x6a\x73\x86\xb7\x1b\x9a\x02\x2c\xc9\x4c\xb0\x59\x29\x6c\x9b\xfb\x22\xfd\x0e\x8d\x63\xc2\xbe\x09\x65\x56\xf2\xe3\x7b\xba\xa8\xe4\x59\x39\xa6\x9a\x63\x5b\x21\xe0\x54\xc0\x25\x07\xa0\x15\x4b\xba\xe0\x05\x27\xa0\xaf\x55\xe2\xbc\xa5\x98\x92\x02\xbf\x29\xe6\x2a\xa5\x64\xcd\x1e\x09\x7c\x18\xb2\x87\xf7\x7c\xba\xb1\x7d\x7a\xdf\xbb\x3d\x6a\x9b\x24\x81\xc7\x89\x7d\x39\xa3\x02\xd2\x51\xe5\x7e\x15\x47\x7b\xed\xdc\x5b\xbd\x8e\x26\x59\x0a\xd6\x72\x0b\x2a\xa9\xe6\x5e\xba\x78\x49\x6e\x72\xd9\xce\xc7\xbe\x24\x82\x92\x62\xb0\xed\xa5\xd9\xc7\x5c\xf2\x57\x92\x02\xf5\x47\xe5\x5d\xd7\x8f\x36\xcd\x57\x3a\xc3\xed\x28\xde\x32\x9b\x76\x24\x7f\x29\x70\x80\x83\x4c\xa5\x86\x78\xa9\x11\xba\x5d\xaf\xc2\x43\xa8\x0f\xb5\x51\x2c\xb6\x6c\x85\x76\x2f\xf5\x2f\x5d\x06\x80\x62\x55\xe0\x00\xf8\x57\x5e\xb7\xa8\xc2\xda\xbb\x3d\x5a\xe5\x62\x9f\xce\x43\xf2\x6c\x1c\xec\x16\x0b\x9d\x67\x37\x5b\xd0\x82\x5a\xf1\xdb\x57\x09\x5c\x5a\x26\x5a\xa3\x01\xb0\xc9\x56\xf1\x82\x76\x2a\x89\xfa\x63\x13\xe7\x50\x79\x2e\x05\x28\x29\x48\x2d\xca\x9f\xdf\x0a\xfc\xef\xa2\x0e\xf8\x95\xa7\x6e\x97\xa3\x36\x3c\x03\x17\x91\xaa\xf6\x04\xbc\xaa\x63\xf7\x57\xc3\x36\xdb\x43\xf8\x5e\x27\x4f\xa8\xfc\x6e\x95\x14\x42\xcd\xac\x55\xb2\x16\x4e\x89\x06\xf9\x80\xc5\x49\xd1\x6b\x1a\x27\x19\xe0\x4e\x77\xd7\x89\xd8\x7c\x2f\x59\x9a\x8b\x34\x0b\x84\xea\xed\x82\x96\x11\x9b\xe3\x08\x6d\x9d\x6c\x84\x5e\xfd\x0a\xe2\x85\x7c\x16\xfa\x6f\x65\x7a\xb5\x60\xc9\xcc\xd5\xad\x21\x53\xec\x0c\xc6\xdd\x4b\x6c\xfd\xeb\x86\x04\x52\x3d\x23\xdb\xc3\xc1\x64\x3a\xbe\x6f\x4f\x87\xe3\x23\x76\xd2\xe1\xdb\x06\x77\xf3\x77\xdf\xcd\xf2\x6b\x28\x9b\x31\xb4\x0c\x86\xd3\xd9\xe4\x7e\x34\x1a\x8e\x7d\xf6\xa8\x48\x91\xd2\x89\x62\x26\x10\xcf\x92\x62\x20\xe2\x68\xba\x26\xdd\xd6\xb8\xfd\x61\xf6\xd7\xfb\xee\xf8\x93\x67\x01\x9a\x96\xa5\xd0\xec\xb7\xb9\x0a\xb4\xe7\xf0\x42\xa9\x99\xbc\x87\xeb\xc3\x43\x69\xd4\x03\x7d\x7c\xa5\x0a\xd3\x0a\x20\x1f\xf4\x9d\x89\x63\xdd\xa3\x44\x5f\x57\xd1\xa6\x2e\x5c\x16\x98\x6c\xee\x55\xa7\x41\xb3\x4e\x57\x02\x4f\x0d\x71\x5b\x25\xef\x14\xec\x8c\xda\x9a\x9f\x3f\xa8\xe7\xae\x1a\x68\x3f\x56\x53\x71\xb3\x42\xb3\xf6\xe7\xb7\x51\x45\xb7\xbf\xde\x18\x06\x89\x7e\x91\xd1\xb8\x1a\x78\x55\x6a\x16\xc5\xc2\xad\xbf\x83\xe9\xc7\x48\x97\x4a\x59\xf0\x73\x39\x32\x07\x84\x2b\xc0\xb6\x9b\x7f\x4c\x22\x1a\x90\x1d\x25\xed\xaf\x67\xe9\x1c\xde\x5c\xfb\x86\x8b\x11\xae\x3e\x02\xcd\x37\x41\x62\x77\x74\x2d\xd1\x76\x54\x62\x04\xf9\x1c\x44\x59\x48\x66\x26\xfb\x5d\x12\xd4\x55\xbf\xdb\xcd\x88\x07\xbe\x55\xde\x9b\x62\xb7\x8b\x2f\x0b\x3a\x5d\xca\xac\xba\xd3\x40\x95\x33\x9d\xc4\x79\x41\x48\xc5\x66\xb8\x23\xfd\xe3\x71\x42\x9a\x37\xd6\x29\xc0\x8a\xe1\xb8\x1a\x0e\xf5\x50\x35\x04\x7e\x35\xed\xbf\xe1\x24\xa5\x38\x32\xb1\x08\xb6\x40\x1d\xa2\xe9\xba\x73\x9c\x0f\x57\x88\x18\x72\x8d\xd1\xfa\x40\x36\x1a\x4a\x12\x73\x5d\xcb\x1b\xa2\x30\x4b\x6d\xc0\x59\x37\x6c\xd0\xaf\x3e\x79\x3b\xf7\xd4\xa3\xf8\xc5\x09\x73\x8d\xf3\x0a\xc5\x24\x90\x3f\xa5\x9b\xbc\x11\x83\x85\x78\x34\xf1\xc2\x42\xdd\x28\x8d\x74\xb7\x4f\xb9\x0d\xce\x42\x98\xa7\xe4\x82\xa8\xb8\x93\x9b\x4e\xf8\x95\xe4\x28\x1c\x27\xec\x3a\xad\xa9\x5f\xec\xd2\x72\x39\xb4\x8c\x6f\xec\xfb\xdd\x41\x7b\xfc\x69\xa4\xfb\x89\xb5\xfb\xbd\x81\x8f\x0d\xe4\x30\x8e\x32\x80\x82\x88\xc6\x0d\x59\x40\x5f\x3c\x0f\xb3\x20\x42\x6e\x69\x74\x38\xbb\x76\x77\xb4\xbf\xd0\x71\xd9\x1c\x61\xf0\x67\x6b\x7f\xb7\x6a\x67\xbb\x25\x86\xbe\xbc\x14\xd2\xb1\x37\x7f\xf1\xa3\x56\xeb\xd5\xed\xd6\x4c\x6c\x5b\x15\x67\x32\x17\x22\xb5\x8a\x42\xcb\xa4\x37\x78\x8a\x2d\x37\x30\x20\x25\x98\x9c\x23\xec\xa2\x11\x5c\x22\x05\x7d\x55\x2e\xdd\x99\x65\x18\xc8\x8d\xe9\x70\x38\xeb\x0f\x07\xef\x0f\x1e\x94\x8e\x14\x17\x82\x31\x14\xb1\xfc\xe2\xfd\x46\xe4\x45\xe7\xcf\xb3\xf6\x87\x6e\xfb\xe7\xc9\xfd\x9d\xb7\x34\xbf\xeb\xfc\x19\x05\x2b\x12\x3c\xf0\x6c\xcd\x51\xc8\xc0\x35\xb0\xc6\x0e\x0c\xdb\x57\x2c\xbf\x4c\x16\xa8\xb7\x08\x33\x0f\xf8\x4b\x31\xae\x9e\x38\xb7\xf6\x74\x56\xc1\xd5\x94\x30\x29\x4b\x95\xda\x95\x25\x67\x39\xfb\x2f\x3a\xc3\x0e\x31\x47\x45\x4e\x0b\x1c\xd0\x74\x1d\xe8\x19\x84\x41\x15\x31\xe5\xc0\x13\xca\x4f\x38\x99\xdd\xf4\x87\xed\x9f\x3d\x02\x04\x50\xeb\x3f\x8f\x58\xf0\x40\x42\x15\xc9\xa4\xbc\xd0\x80\xca\x4b\x2c\xf5\xa0\x05\xf5\x0d\x13\xaa\xef\x62\xa5\x54\xda\x1e\xef\x27\x94\x20\xbd\x52\x8e\x47\x6c\x2e\x30\xc4\x5a\x32\x2e\xd7\xd2\x85\x9b\xdc\x7a\x75\x9d\x12\xa5\x39\x0e\x1e\x96\x29\x74\x61\xdc\xa3\x03\x38\x29\xfb\xce\x60\x47\x9a\x04\x11\xc1\xe9\x2c\xd4\xf9\x61\xee\x3b\xe0\x2f\x0a\xd0\x7d\x3b\x3f\xea\x38\x5b\x9d\x86\x64\xf6\x48\xf1\xd6\x67\xe4\xaf\xe1\x2b\x8f\x14\xa3\xff\x39\x67\x42\xae\xbf\x29\x94\x51\xab\xe7\xac\x18\x7a\x6d\xc1\xeb\xe7\x4c\xd5\x6e\xcb\xf1\x5c\x0a\x5f\xd5\x38\x21\x07\x3b\x0c\x58\xbc\xa0\xcb\xef\x77\x53\x2c\xd4\x42\xcb\x43\x05\xce\x88\x43\x9b\x51\x91\xd2\x55\x70\x25\x64\x24\xdd\x68\xb1\xac\x3c\x0a\x75\x3f\x50\x90\xec\x63\xf8\x41\x07\x75\x95\x09\x6b\xe5\x76\xde\xac\x01\x3e\x5a\x91\x35\x96\x27\x29\xe6\x99\x67\x94\xef\xcd\x1e\x73\xf5\x4b\xdd\x4e\xc4\xba\x51\x27\xdb\xfd\x45\x94\x2f\x14\xbc\x47\x07\x5b\x8f\x1c\xd6\x54\x2d\x29\x30\x2a\xda\xa0\xd7\x31\x2b\x28\xa9\x36\x22\xae\xd5\x58\x88\x93\xab\x52\x2a\x78\x99\xba\xff\xbe\x7f\x09\xf2\xbe\x04\x79\x77\x89\x1b\x77\x27\xd3\x71\xaf\x5d\x15\x9f\x93\x84\x05\x58\xae\x18\xf0\xa5\x5b\x68\x6a\x69\xbb\x02\x6c\x36\x0d\x37\xc3\x45\x4a\x83\x7a\x31\xbb\x03\xd8\x4b\x93\xee\xa0\x33\x7b\xdf\xbb\x9d\x78\xb6\xd4\xdc\x22\x17\xb2\x0a\x5d\x52\x1b\xa4\xaa\x37\x90\x9a\xd4\x71\x74\x51\x90\x77\xbb\xab\x59\x97\xf9\xaa\x68\xbc\xeb\x76\x7a\xad\xe3\x48\x5c\x93\x90\xe2\x73\xad\x9d\x41\x87\x3b\x8e\x34\x9b\x85\xe8\x52\x77\xdd\x0c\x79\x1f\xc7\xbd\x69\xfd\x4d\x7d\x4a\xa9\x69\x65\x5a\x7f\xb1\xf6\xe5\x3b\x00\x7b\x8d\xbb\x93\xfb\xfe\xb4\x06\x5a\x29\x30\x96\x0a\xac\x34\x07\x55\x7a\x71\xa9\x17\xc0\xd7\xb5\x71\xb2\x25\x47\xb3\xf9\x3f\x48\xb0\x07\x57\xf0\x78\xc3\xe1\x25\x0f\xa4\x40\x8b\x8a\x05\xf6\x3a\x9e\x5b\xf4\xab\x51\x0c\x1b\xcb\xb3\xd0\xc7\xc6\x8b\x82\x5c\xf1\xad\xf9\xed\x3f\xec\x89\x87\xf6\x87\x1f\xef\x86\x9d\xae\xb2\x26\xff\x76\xf0\xdb\x93\x88\x3d\xad\x59\xa8\xc0\xdb\x63\x3c\x8f\x8c\xa2\xae\xc5\xc8\x4f\x70\xb5\x82\x66\x20\x2d\xce\x92\x06\xd8\x39\xe4\x2c\x27\xd2\xd4\xe0\xa6\x8b\xb2\xd1\x8a\x71\xac\xb4\x41\xc7\xff\x63\xaa\xbf\xea\xc8\xcc\x03\xf9\x2c\x37\x52\x05\x93\x8c\x67\x20\x5e\xab\xa4\xe6\x77\xd2\x58\xc5\x80\x0b\xa0\x4a\x00\x34\xa9\xee\x7d\xe8\xa0\xb7\xbe\xdd\xee\xc8\x75\x34\xb9\x1f\xbb\x37\xa3\xd6\xfb\xee\xac\x7d\x3f\xee\xfb\xd8\xf9\xb7\x98\x46\x59\x4a\xd0\xd3\x8a\x46\x44\xf5\x7e\x30\x86\x86\xa9\x72\x01\xaf\x56\x70\x3f\xee\x37\x46\x9c\xaf\x70\xfb\xa8\x29\x50\x72\xad\x99\x73\xf3\x69\x78\x6f\x7c\x0e\x20\xf0\x2b\xef\x3f\xe3\x73\x38\xce\xe1\x70\x07\x15\x8f\x55\x6e\x86\xbb\x42\x5d\x64\xa5\x73\x01\xd6\xe3\x58\x77\xc1\xc4\xd1\x72\xbd\xfd\x03\xed\xfd\x4e\x81\x2f\x5c\xc1\xa5\x96\xf3\x55\xcb\x54\x65\xac\xb7\x4b\x4a\x9d\x22\xaf\x36\x4e\xf6\xf9\x59\xf7\x18\xf3\x47\x98\xe2\x25\x25\x7c\xca\x18\x5f\xe3\xf4\x21\x4b\x94\xfc\x4d\x34\x98\x6e\x96\x58\x1f\xc6\x03\xd9\xcc\x19\x4e\x8b\xf3\xab\x28\xfe\xca\x81\x30\x9f\xcf\x90\x2f\xf0\xcf\x7e\xcb\x3d\x2f\x70\xb3\xb6\x7b\xf3\x76\xfa\xcd\x78\xd8\xea\xb4\x5b\x93\xe9\x6c\x74\x7f\xd3\xef\xb5\xa1\x43\xff\x11\x4a\xf7\x82\xa5\x4f\x38\x0d\xa1\x47\xbf\x4e\xf6\x4a\xb2\x79\x44\x03\xe8\xe0\x9f\x9e\x2e\x96\x6f\xee\xa7\xd3\xe1\x60\xe6\xed\x27\x87\xf2\x44\x2c\xb0\xbc\xf5\x58\x0c\x05\x3f\x90\xd2\x52\xa8\x3a\x55\x88\xe1\x56\xcb\x69\x50\xbb\xd1\xe4\x4e\x3f\x8d\xba\xde\xe4\xca\x67\x9f\x97\x5c\xdf\xc6\x42\x37\xaa\x66\xb7\xbc\xa9\xd0\x69\x4e\x9a\x17\x87\xd1\x8b\xc3\xe8\xf7\xeb\x30\x7a\x71\xc6\xd4\x25\xef\x62\x9c\x31\xdd\xbf\x4d\xbb\xe3\x41\xab\xef\x2d\x44\xbb\x9f\x05\x49\xa5\x92\xd6\xa4\x18\xbd\xed\xf5\xbb\xd0\xd3\x63\xe2\x2d\x49\x73\xeb\x10\xf2\x5e\x12\x9c\x0a\xde\xa4\x34\xb5\x24\xcd\xfa\xdd\xc1\xfb\xa9\x7f\x2b\x9b\x88\xc4\x4b\xb1\x52\x3d\xbd\x2c\x69\x8d\xd6\x0b\xdd\x49\x5b\x6a\x34\x1e\xb6\xbb\x93\x49\x7d\x5b\x2f\x49\x59\x40\x38\x84\x25\xe9\xda\xe9\x5b\xf7\x2d\x39\xd1\x2e\x2d\x1b\x07\xe4\x63\xbb\xa5\x92\x03\xbc\x72\xa5\x24\x45\x81\x32\x63\x24\xef\x34\x96\x35\x75\x59\xfe\x45\x20\xc6\x67\x83\xee\xf4\x35\xf1\xe2\xd7\x3c\x57\x7d\xdb\x87\xe1\x74\x38\xeb\xfe\xcd\xbf\xa9\x0d\xf9\x2c\x48\xcc\x1d\x9c\x13\x05\x92\xd0\x38\x4d\x9a\x9e\x59\xa7\x77\xd7\x1d\x4c\x7a\xc3\xc1\xa4\x7a\xa1\x80\x92\x90\xae\x15\x81\x1c\x6a\x92\x9b\xa5\x6a\xd2\xfa\xa5\x3b\x83\x3b\xc2\x8f\x8b\xf4\xa5\x49\x39\xcf\x08\xbf\x42\x22\xdd\x20\xbc\xc4\x34\x46\x11\x16\xa4\x4e\x56\xcd\x1e\xa2\x86\xfd\xfe\xac\x35\x98\x7c\x94\xda\x4e\x1d\xbe\x96\x96\x2f\xc2\x31\x7f\x92\x8a\x0e\xe8\xad\xcd\xb1\xb7\xa4\x69\xa8\xb3\xb3\xee\x47\xfd\x5e\xbb\xca\x2a\xe9\x64\x49\x44\x03\xa8\x41\x92\x64\x31\xf8\x03\x3f\x0f\x45\xb5\x17\x49\x51\xd3\x1c\x31\x7f\xbd\xef\xfd\xdb\xac\x3d\x1c\x8f\xbb\xed\xa9\xdd\xba\x6a\xc1\x3c\x60\x28\x60\x69\x2a\x25\xf1\xaf\x19\xfd\x4d\xef\x5d\xb1\xb8\xed\x1c\xb4\x79\x2d\x58\x2b\x36\xc7\xcc\xa9\xb9\xb3\x62\xcb\xf8\xe7\x15\xf9\x33\xc3\x75\xe0\xed\x6b\x20\x2e\x32\xea\x7f\x9a\xdd\xb5\xc6\x3f\xdf\x8f\x66\x37\xf7\x3e\xf5\x5a\xbb\xee\xb9\x6c\x63\x80\xbd\x9a\x0a\xd6\x38\x44\xd5\x16\xf3\xa9\x4b\x5f\x83\x72\x75\xd2\xfe\xd0\xed\xdc\xf7\xbb\xde\x5d\x00\x53\xa2\x20\x55\x4d\x23\xba\x12\x97\xa1\x37\x4d\x2f\xa1\xa5\x57\xd3\x69\x7f\xe6\xaf\xfa\xe4\x1a\x88\x54\x81\xa6\x74\x4d\xd0\x94\xa1\x3e\x7d\x2c\x9e\xae\xdf\x5b\xc0\xeb\x1c\x79\xa4\x27\x52\x32\x3c\xdc\x8b\xf2\x86\x09\x5e\xea\x40\x12\x4c\xa7\xb5\xcd\x99\x78\x89\x04\x7e\x7b\x91\x40\x13\x97\xaa\x8a\x05\x16\xe3\x49\xfe\x55\x5c\x16\x7f\xf1\xa4\xd0\x60\x21\xb6\x84\xb9\x13\x1f\x2c\x0b\x75\x1d\x8e\x13\xea\x3b\xdd\x19\x5f\x1d\x2d\xd4\x82\xe3\x8c\xb8\x8f\x25\xd3\x28\x22\x3f\x4e\x88\x50\xcb\x20\xbf\x06\x6e\xe6\x53\xa0\x20\x21\x96\xe3\xc0\x41\xee\x62\x7a\x9a\x2c\xd7\x1d\x28\xc8\x06\x4b\x3e\xdc\xd7\x56\x85\x27\xcd\x1e\xcc\x99\x30\xb1\x9b\x8a\x20\xa5\xb3\xac\xfb\x03\x95\x1a\x5e\xe1\x0b\x86\x29\x8b\x71\xd2\x7d\xb1\x4a\x6e\x35\x03\xdd\xa9\x24\xe5\xa7\x84\x2a\x7f\x28\x95\x36\xad\xfb\xe9\x87\xd9\xcf\xdd\x4f\xb3\x51\x77\x7c\xe7\xe9\x78\x11\x64\x9d\xb0\x14\x4b\x1b\x31\x13\x2b\xa8\x2b\x32\x11\x91\x39\x8d\x1d\x55\x3a\x21\xe9\x1a\xc7\x72\xe3\xed\x40\xc1\xa4\x88\xb2\xf0\xf7\x62\xc5\x42\x7e\xba\xca\x72\x33\x9c\xce\x3a\xc3\xbb\x56\xcf\xcf\x70\xba\x61\x02\x85\x6c\x8d\x69\xdc\x5c\xac\x6f\xe8\xeb\x9a\xa0\xdc\xc0\xec\x60\xa4\x54\xa7\x39\x3b\xdd\x51\xfe\x12\xc9\x7d\x89\xe4\xbe\x44\x72\x2f\x3c\x92\x7b\x21\x50\x0a\x5f\x51\x54\xf9\x72\x02\x91\x97\x55\xca\x39\xed\x4d\x3f\xcd\xee\xe4\xff\x4b\xb1\x34\xf1\xf4\x7f\x01\xc7\xab\xee\x90\xaa\x66\xd2\x78\xc3\x1a\x31\x34\x6f\xc7\xc3\xbb\xd9\x5d\x77\x32\x91\x16\x14\xdc\xc8\xbd\x49\xeb\xa6\xca\xbe\x73\xcc\x4e\xa9\x18\x48\x2b\xdd\x28\xe0\xf2\x3c\x3a\xa0\x86\x4d\x81\x2c\x5e\x54\x28\x50\x2f\x57\xed\x88\x97\x45\xdd\x6f\xc6\xe8\x34\x74\x78\x07\xff\xca\x48\x69\x2e\x0a\xe8\x1f\x00\x1b\x15\xbc\x91\xb9\xf6\x7f\xf9\x3d\xd6\x8f\xa4\xa5\x07\x1e\xb0\x4e\xaf\xd5\x1f\xbe\x9f\x78\xba\x48\x8d\x63\xb4\xbc\xb3\xdd\xb7\xea\x3e\x96\x22\x68\x30\x9c\xce\x5a\xfd\xfe\xf0\xa3\xa7\x14\x02\xf4\x4b\x6d\xca\x1d\xe1\x3d\xae\x22\xa9\xd3\x9a\xea\x33\xe6\xa3\x37\xe9\x7b\xd7\x90\x83\x8b\x05\xb3\x0b\x9c\x9a\xd2\xe2\x45\x26\xb2\xf4\xf4\x4c\x89\x17\xc7\xfb\x4b\x4d\x47\x5d\x72\x5f\x5c\xdc\xbb\xe4\x7c\x69\x0f\x6e\x16\x09\xea\x59\xd0\x91\x0f\xf5\xf3\xe3\x82\x61\x14\xcd\xb3\xb5\x6d\x49\x6f\x6b\x1b\x0c\x61\xc7\x38\x73\x0b\xf5\x1d\xff\xa3\x0e\x00\x04\xfc\xe5\x74\xa4\xc6\xb5\x5c\x88\x99\x2d\xdb\x50\x7e\xc2\x90\x62\x6e\x80\x00\x7c\x3c\xa6\xdb\x70\x5d\x15\x0e\x48\xd5\x99\xee\xd9\x50\x0d\xd4\x36\xee\xaf\x8c\x38\x63\x3d\xc4\x45\x5b\xe6\x2f\x29\x67\xf2\x6d\xf7\xfd\x69\x4f\x87\xbd\xfc\x6c\x00\x73\xe7\xab\x95\x80\x96\x33\xc0\xa2\xc0\x66\xdf\x94\xca\x3d\x6e\x0d\x3a\xc3\x3b\xcf\x92\x56\x5b\x9b\x55\x17\x59\x37\x0e\xed\xb9\xf7\x6a\xf1\x5e\xfe\x84\xa7\x54\xdf\x95\x23\x28\xa5\xcb\x95\x40\xf8\x09\xd7\x00\x0e\xd7\x2d\x82\x76\xe4\x55\xaf\x53\x8a\x54\x03\x5d\x71\x9b\x96\x2d\xc6\x72\x3d\x86\x59\xac\xed\x7a\x5c\x4f\x30\xd8\x81\x94\x90\x98\xaf\x98\x18\xb8\x20\x86\xd5\x1b\x57\xfa\x58\xf5\xee\xc1\xf0\x8d\x03\x35\x03\x1e\x09\xe8\x80\x9c\xa4\xf4\x51\xde\x13\x4a\x3e\x42\x53\x55\xc4\xed\x77\x0a\xdd\x56\x01\xeb\x1c\x3f\x90\xd8\x7f\xab\x2d\xde\xb7\xfd\x6a\x9d\xfa\x44\x8f\xb8\x5f\x09\x46\x50\xa1\x33\x1d\x64\x90\xd9\xe9\x08\x12\x42\x5f\x7d\x79\x43\xbc\x6b\x9c\xa7\x9e\xa5\xc3\x1c\x89\xc3\x5f\x98\xa8\x0e\xc4\xc3\xa0\x6a\x4e\x91\xc3\x34\x63\xb0\x28\xf2\xdf\xe8\xbd\xc1\x53\x93\x46\x2b\xdf\xe6\xec\x9e\xce\x82\x34\x0f\x98\xa4\x48\xb5\x67\x52\xe3\x0f\x56\x8c\x93\xd2\x62\xd7\xa9\xe5\x47\x1b\x7a\x86\x54\x46\xd8\x6a\xa9\xc9\x7c\x4d\xb2\xe2\x34\xbf\x1b\xa4\x7e\xb6\xfb\xc3\x49\x85\x66\x34\x92\xeb\x13\x44\x8c\x37\xe0\x7b\x54\x99\xa6\x75\x7d\x48\x8d\x67\xbd\x1e\x91\xf0\xaa\x73\x5d\x39\x89\x48\xcd\x50\xc3\x3e\x47\xd6\x2f\xc3\x69\xd7\xdb\x59\xa4\x7d\x33\x31\x03\xdf\x7e\xbc\x24\x68\xc3\xb2\x14\x6a\x72\x6b\x1c\x77\x71\xc3\x44\x1b\x47\x91\x34\x84\x5a\x90\x6b\x5a\x71\xf4\x4b\x1e\xf0\xb9\xee\x85\x92\xfb\xfa\x41\x93\x90\x0b\x49\x39\x70\x79\xe8\x8c\xd2\x24\x25\x9c\xa3\xd7\xd2\x00\x86\x26\x13\xdf\xfb\x8b\x0c\x1c\x91\x74\xc7\xec\x58\xb1\xa7\x42\x32\x09\xe6\x20\x8a\x92\x2c\x41\x34\xe6\x82\xe0\x50\xd5\x20\x09\x86\xb9\x28\x42\x00\xbb\xe6\x20\x0e\x56\x64\x26\xa8\x5a\x8c\xb6\xfc\x49\x05\xcd\xa9\xd8\x34\x99\x7f\x33\x02\xc2\x34\xdd\xee\x98\x32\x18\x3d\xf7\xef\x59\x1a\x81\x07\x62\xdc\x07\x27\x42\x42\x9a\x47\x30\xb6\x98\x2e\xbe\x32\xcb\x45\x75\x69\xac\x8b\xb3\x67\xe8\xdb\x1c\x51\xb9\x20\x25\x22\xc2\xe7\x50\x8c\x52\x02\x85\x4e\x2c\xb3\xa8\x84\xd5\x07\xa3\xe4\xa1\xea\xc3\x31\x8c\x03\x62\xfb\x89\xa3\x15\xe6\x0a\xa4\x31\x5d\x83\x2f\x86\xd0\x14\x25\x78\x03\x40\xdd\x58\x2a\xcd\x2b\x9a\x24\xd0\x34\x8f\x08\x4c\x23\xae\x7a\xb4\xcc\x99\x30\xf9\x39\x5c\x1a\xab\x59\x22\xad\xf5\x22\x45\x8a\x71\xd4\x5f\x0a\x5d\xbf\xef\xb9\x45\x3f\x84\x4e\x2f\xe0\x22\xe0\x09\x8b\xe1\x9f\x3c\x0b\x56\xf2\x5c\xbe\x31\xef\x81\x9d\xa5\x84\x17\xde\x31\x60\x82\xfc\x94\xb7\x9d\x06\xbb\x59\x13\x04\xc6\xb3\x4e\xc0\xa7\x62\x45\x63\xf4\xc3\x3b\xeb\xd9\xc4\x0b\x68\x04\x09\x77\xdc\xd6\x27\x36\xf6\x0a\xae\xd3\x32\x19\xf0\x57\x21\x6f\x4b\x27\x7e\xe9\xae\xff\x3c\x0b\x02\x29\x5b\x28\x57\x8e\x37\x71\x8d\xba\x72\xac\x8b\xf6\xb1\xca\xd6\x38\x46\x29\xc1\x21\x24\xb4\x2d\x58\xba\x56\x2a\x04\xf9\x9c\x44\x98\xc6\x5c\xe7\x41\x61\xce\x62\x30\x33\x17\x3a\x2d\x14\x92\xcb\x58\x40\x0c\xcc\xb1\xd2\x71\xf5\x5c\x5e\x93\xeb\xe5\x35\xfa\xfb\xab\x09\x4b\xd3\xcd\x15\xe2\x6c\x4d\xe6\x2c\xdc\xa0\x7f\x80\x6f\x81\x65\xd2\xe2\x91\x0f\x44\x52\x04\xb1\x05\x92\x52\x1c\xaf\xf1\x6f\x90\x64\x16\x49\x69\x39\x7d\xc3\x57\x34\x15\x5c\xa7\x9f\xda\x38\xf7\x3c\xe3\x1b\x69\xf4\x46\x72\xa8\xfc\x14\xdc\x00\x86\x5b\x34\x83\x5c\xa3\x51\x44\x30\x07\x15\x88\x71\x82\x30\x0a\xe9\x62\x41\x52\x39\x24\x60\x11\x83\x56\x85\x4b\x9c\xca\x67\xfe\xdb\xdf\x5f\x7d\x7f\x9d\xef\x22\xe4\xa4\x85\x94\x27\x11\xde\x14\xd3\xc5\x0a\x1d\xf0\x4f\x95\x80\xae\x74\xd3\x89\x7c\x34\x24\xb1\x94\xc5\x24\xb5\xfe\x71\xc5\x12\x82\x29\x77\x8c\x64\xa7\x62\x0f\x48\xbd\xc1\xbb\x29\x8a\x74\x81\xc8\x23\x49\x37\x02\x52\x76\xa1\x1b\xbe\x32\x33\x5f\x2f\x19\x0b\x55\xdd\x13\x7e\xc4\x34\x92\x9b\x7e\x85\x88\x08\xae\xbf\x87\xa3\x66\x0e\x16\xe5\xc0\x13\x9b\xd2\x6d\x66\x69\x48\xd2\x2b\x65\x07\x3d\x51\x4e\x4c\x51\x24\x27\x02\x51\x71\xa5\xce\xac\xbe\xfe\x80\x39\xd5\x02\x5c\x99\xfb\xa7\x71\x41\xdd\x1d\x8f\x87\xe3\xd9\xb4\xfb\xb7\x69\x5d\x77\x12\x29\x9e\x87\xfa\x7d\x79\xa4\x08\x9c\x68\xf9\xe4\x2f\x34\xb7\x9f\xa8\x96\x98\xbd\x05\x9c\x01\xae\x64\xa2\xbc\x5d\x18\x0d\x88\x69\x7c\xa9\xe0\xfc\xad\x9c\xc4\x61\x08\x4a\x85\xd9\xd1\xbc\x73\x13\xe5\xb3\x45\x44\x3e\x53\x79\xd6\x4b\xfa\x5e\xc9\xad\xd7\x59\x99\x56\x8e\x59\xb9\x6a\x88\x2e\x08\x55\x54\x2a\x49\x95\xb3\x35\x27\xc8\x8a\xcf\xfa\x42\xed\x08\x89\xf5\xb4\xda\x20\xaa\xbc\x83\xeb\x84\x71\x0e\xb3\x15\x0c\x05\x6c\x9d\x44\x44\x90\x9c\x89\xb7\x05\x55\x48\x22\xfa\xa8\xcf\x1c\x08\x96\x90\x70\x90\xa8\x66\x45\x29\x47\x59\x6c\x4f\xce\x77\x5f\xaf\xe4\xd0\x3b\x33\x73\xac\xc8\x16\x7a\x24\xd0\xc3\x52\xaa\x87\x66\x8a\xf9\x1e\xea\x91\xd7\x97\xae\x66\x55\x9e\x58\x8b\x39\x3f\xdd\xc8\x89\x55\x1d\xd7\xed\xe1\x9e\x9e\x3e\x01\xa3\x91\x4a\xbf\xd6\x9d\x96\x83\x2c\x85\x3b\x08\xb4\x9e\x13\xba\x12\x54\x37\x07\x10\x66\x6a\xaf\x14\xd5\xd7\x23\x73\x0e\xa0\xfe\x8e\xff\xf4\x7a\xce\x58\x34\x4d\x33\xf2\xfd\x95\x51\x17\x80\x2a\x68\x01\x4c\x2c\xf9\x52\x82\x40\xbe\x27\xf4\xb7\xfb\xb3\xd5\x61\x56\xf8\x51\x8a\x15\xce\x49\x88\x38\x35\xda\x1c\x5c\xe7\x5a\x24\xc1\x07\x6e\x71\xc4\x77\xbf\xc0\x92\xc4\x7e\xe1\x3c\x21\x8f\xc6\xf3\xfd\x2a\x99\xea\x3d\x5e\x93\x49\xc0\xd2\x2a\x37\x92\x33\xb0\x9a\x91\x4a\x64\xab\xb9\x57\x79\xe0\x64\xe1\x6e\xe5\x49\x81\xf3\x69\x89\xd7\x44\x5f\x17\x1c\x5a\xbd\xa4\x6b\x1c\xe5\xf0\xe9\xb9\xb9\x59\x47\x28\x87\x54\xcc\x1c\xe3\x6d\x47\xe9\x90\xc4\x2c\x1d\x10\x34\x07\xf5\x0b\x67\x82\xad\xb1\xa0\x01\x34\x1a\x94\x6f\x52\xe9\xea\x34\x56\x4d\xe2\xdc\xf3\x01\x93\x03\x30\xb4\x93\xc5\xe5\x82\xa5\xc1\x7e\x5a\x57\x74\xb9\xd2\x4b\x09\x4a\x52\xc4\x9e\x14\x55\xa1\x3c\x59\x98\x93\x6b\x04\x79\xe3\xda\xe1\x99\x71\xb2\xc8\x22\xf4\xb4\x22\x31\x5a\xd0\xcf\x10\xec\xa7\x5c\xe0\x07\xc2\xa5\x46\x39\xc7\x71\xac\x5a\x7b\x10\x0c\x8b\xe7\xd0\xa1\xdd\xab\xb9\xa4\x36\x5b\xe7\x54\x67\x94\xb9\xea\x76\x45\xbc\x7c\x10\xa7\xcb\x92\xae\x45\x5c\xf3\xdf\xab\x01\x79\x52\xb3\x2a\x18\xcc\xdc\xf6\x02\x85\x6e\xdd\xf9\x2b\x7f\x07\xee\xbe\x4b\x0a\x6b\xa9\x6c\x93\xe1\xd4\x2f\x24\x3b\x75\xce\xbf\x64\x43\xe8\x7b\x30\x57\x7e\x25\x95\xce\x81\xb7\xea\x18\x2a\x65\xd5\x4e\xef\x81\x0a\x91\xb5\xb7\x57\xc1\x7e\xc9\xa5\xdc\x64\x4a\x53\xcd\xf1\x99\xaf\x0c\xd8\xa1\x12\x3d\xfe\x82\xa7\xe8\x8d\x02\xff\xb8\xee\xda\x8f\xd7\x2c\x8b\x55\x90\x85\xaa\x7e\x11\xe6\x8a\x12\x2a\x1c\x43\x6c\xeb\x0d\x75\xe0\x0a\x78\xd1\x6b\xac\xd7\x12\xa0\x23\x75\x2b\x01\x4e\xd2\x47\x92\x5e\xa3\x0e\x59\x60\x39\x5d\x29\x0f\xfe\xf8\xee\xdd\xe9\xaa\xdb\x12\x1a\xd5\x6e\xf6\x4a\x23\xdd\x0d\x13\xac\x33\xa9\xab\x32\x79\xbb\x42\x38\xc6\x46\x7a\x0b\x35\x6a\xe4\xb3\x98\xa9\x56\xae\xc0\xe2\x98\x2b\x63\x5d\xfd\xca\x44\xa2\x74\x7d\x98\x16\xc4\x1a\x8b\xdd\x76\x76\x35\x5e\x07\x63\xda\x01\x82\x25\xb4\x9e\x04\x3d\x5e\x19\x01\xa0\x00\x68\xe2\xae\x11\x7c\x07\xeb\x4a\x78\xdd\x2d\x53\xcf\x40\xa7\xa5\xc5\xac\xf0\x88\x14\x8d\x54\x99\x2f\x21\x8b\xff\xeb\x7f\xff\xbf\xb6\xcf\xb5\xd3\xa6\xf3\x1a\xa9\x86\xb6\x06\x26\x29\xc0\xf1\x7f\xfd\xef\xff\x4f\x2a\xf5\x60\x7b\xfe\xf8\x27\x34\xdf\x88\x2d\x07\x8c\x0e\xbc\x95\xae\xa7\xf9\xf6\x81\x1d\x46\x9c\x86\x04\xd9\x3e\x22\x56\x41\x81\x85\x03\xb9\x6c\x35\xe9\x6b\x74\xb3\x41\xa1\xe2\x87\xab\xed\x77\xdb\x5e\x38\x52\xa3\x8b\x37\x3a\x57\x79\xa5\x32\x40\xf8\x81\x1e\x1d\x7e\xaa\xbc\x51\xdf\xcb\x7a\x7c\x98\xe3\xfb\xea\x17\xab\xb9\x1b\xe2\xcc\xe3\x2e\xbf\x17\x2e\x8b\x27\x2a\x82\xd5\x2c\x59\xbf\x52\x6d\x91\x95\x32\x77\xa5\xf9\x85\x17\xcd\x19\x6c\x9c\xd5\xc0\x28\xb9\xba\xa1\x38\x05\xd6\x0b\x5e\x47\xb8\xb3\x8c\x6c\x3b\x36\x6a\xb9\x4c\x9a\x99\xca\x49\x60\x16\x08\x7e\xa3\x94\xcf\xed\x26\x84\x01\x49\x05\xa6\x71\x6e\xc4\x36\x6f\x81\xb4\xc6\xd3\x5e\xbb\xdf\x9d\x4d\x7b\xd3\xbe\x6f\x4a\xb8\xa0\x22\xb2\x0a\x18\x4e\x05\x0d\xa2\x06\xd3\xc2\x5f\xaa\xca\xbe\xed\xaa\xb2\xf7\xbd\xdb\x59\x7b\x38\x98\x76\x07\x53\xff\x55\x7b\xdf\xbb\x95\x37\x8c\x20\xb1\x78\x03\xab\xd7\x74\x30\xf4\xa5\x18\x02\xed\x00\x3a\xd5\xde\xa5\x11\x80\x4c\xad\xe9\x9a\x34\xbb\x49\x45\x72\x24\xef\x56\x6f\x97\xa2\xa5\x49\xc6\x2d\x60\x6f\x79\x7c\xbb\xd9\xef\x4e\x3f\xdc\xdf\xdd\xd4\x9a\xbb\x58\x65\xeb\x79\x8c\xa9\xc6\xa5\x6c\x8a\x53\x2f\x22\x34\x78\x99\x65\x20\xaa\x11\x45\xdd\xec\x06\xa3\xb6\x34\x0b\x35\x96\x37\xc5\xf0\x03\x1a\xfb\xe4\x5e\x38\x18\x85\x16\x77\x2c\x35\x1d\x33\x9a\x22\xc9\x5b\x9c\xe8\x5e\x1d\x8d\x8a\x12\x0d\xce\xab\x84\xed\xb1\x88\x43\x8d\x6d\x52\x81\x9a\x5a\x2a\xc4\xda\xe9\xbb\xda\x68\x25\xd3\xb4\x35\x9e\xce\x46\xad\x71\xcb\x0f\x26\x74\x02\x7a\xab\x13\x65\xa9\x4d\xc7\x81\x9e\x98\xb5\x00\x0e\x6a\x39\x0a\x8e\x5b\x9c\x8f\xdd\x9b\xce\xb0\x7d\x7f\x27\x6f\xa1\x3a\x5c\xf3\x44\xe6\x21\x0b\x32\x88\xd3\xee\x49\x52\x38\x9d\xa0\xbb\xde\x9d\x2f\xf2\xe2\x2e\x55\xf2\xce\x56\xbc\x74\x16\xda\x26\xbd\x7f\x53\xaa\xcd\x4d\xef\xb0\x66\xf3\xd1\xa1\x49\x2b\x34\x73\xba\xfc\x6f\xf5\x5d\x3c\xde\x4e\xe9\xed\xe1\x5f\xd2\x35\x1d\x6f\xf5\x86\x7b\xf1\x4d\x3f\x93\x6f\xba\xb3\xe5\x22\x2b\xf1\x4a\xbf\x78\x98\x2f\xd7\xab\xeb\x17\xcd\xac\x15\xc4\xe4\x08\x6f\xc5\x2c\xdd\xa0\xe6\x6b\xc9\xe4\x93\x1c\xa1\xac\x15\x40\x72\xa8\xaa\x45\x89\xf4\x20\xb9\x3c\xfc\x7b\x0d\x45\xc6\xe2\x47\x92\x72\x55\xf5\x94\xe0\x54\xc4\x24\xb5\xe5\x6d\x35\x8e\x3a\x0e\xec\x32\x6a\x1f\x82\xfa\xcd\xc8\x5e\xc0\x38\x0c\x55\x09\x6a\x1f\x6f\x48\x8a\x7e\xf8\xe7\xd3\x9d\xb7\x36\x77\x5a\xc5\x5e\x60\x39\x0c\xed\x85\xc8\x2b\x4b\x0a\x65\x68\x29\xc1\xa1\xa3\x37\x36\x19\xe7\x7c\xc1\xa5\xf9\x8a\xab\xdf\x9e\x07\x97\xe6\x6b\x40\x7c\xb9\x40\xb0\x90\x17\x5c\xf8\x6d\x5a\x5e\x4a\xe6\x2f\xad\x64\xbe\x42\x41\x90\x26\xea\x0d\x13\x87\xf5\x03\x33\xc8\x43\x3d\x00\x93\x77\xeb\x4e\xd7\x11\x1b\xd5\x91\x5f\xe5\x24\x86\x84\x24\x28\xa2\xf1\x83\xfc\xd1\x5e\xe8\x35\x6a\xd8\x81\x64\x60\xe7\x39\x13\x3e\xc5\x4c\x4c\x87\x91\x74\x58\xc9\x56\xab\xe9\x9f\xbf\xe3\xc5\xa0\x94\xd4\x56\x76\x6f\xf1\x66\xfa\xfe\x01\x21\x33\x98\xda\x2b\xe8\x31\x78\x68\x2d\x1a\xd3\x0c\x9e\x1b\x11\xf1\x45\x7e\x7f\x05\xf2\xdb\x75\x71\xf9\x85\x7d\xf8\xb6\x93\xab\x29\x5f\xfa\x97\xf7\xb6\x55\xd3\xe1\x15\x81\xda\x21\xa4\x34\xf8\x74\x58\x2e\x0b\xb6\x5c\x46\xa4\x03\xc0\x50\x23\x7a\xb8\x80\x79\x7b\x6c\xb5\x94\x1e\xd1\xf8\x6d\x16\x27\xe0\x75\x51\xe0\x53\xfe\x92\xf7\x34\x2b\x69\x45\xf4\x07\xa1\x82\x80\x16\xcb\x50\x01\x0d\xeb\x55\xb1\x6e\x4d\x12\xc9\x52\xa4\xa8\x15\xf6\xf1\x6f\xa2\xc4\x58\x6d\xdc\x44\xf5\x8d\x9b\x90\x8a\x8c\xab\xdd\xd1\xd5\x1b\xdd\x4a\x92\x68\xa3\x8b\x22\x41\x45\x00\x9c\x95\x24\x22\xb6\x5b\x1d\xc9\x95\x05\x0f\x0b\x3b\x0d\x56\xf4\x51\xe5\x46\xa8\x7f\x6e\x39\xf3\xdc\xb7\x9e\x6a\x59\xbb\xef\x82\x53\x65\x7f\x84\xfb\x36\x10\x28\x4b\x8a\xc5\x89\x59\xec\x10\x78\x6f\x7e\xf0\x23\x31\x8b\x69\xcc\x05\x8e\x22\x9d\x75\xa3\x7e\x38\xf0\xec\x3f\xb9\x5b\xbc\xb3\xb5\xf6\x75\xf9\x7e\x1d\xdc\xdc\xb2\xf1\x1e\xde\x56\x4b\x27\x76\x68\xf3\xdf\x4f\xe7\x19\x2b\xcd\xcd\x6f\x00\x19\xda\x2e\x4a\xd3\xc7\xcd\xb4\x5a\xec\xfa\x37\x90\xb2\x27\x4e\xd3\xa8\xea\x8a\xea\x9f\x3a\x10\x25\xad\x28\xf2\x42\xf5\xd8\x19\xec\xb3\x29\x20\x58\xa3\xc8\xc0\xfb\x6d\x63\xaf\xf9\x27\xf2\xb7\x0b\xfa\x2b\xd0\x52\xc5\x77\x50\x7e\xa3\xee\x82\x5b\x1a\x89\x8a\x22\xe6\x92\xe1\x1e\x13\x4c\x34\xfe\x51\x14\xd6\x51\xd9\x17\x86\x9c\x57\xb7\xf0\x24\xa2\xf1\x82\x9d\x2c\x25\x94\x2a\xae\xdf\x78\x06\x7f\xda\x6d\xaf\x3f\xad\x77\x33\xe4\xe2\x42\xcd\xf8\xc8\x8a\x94\xdd\xad\xe1\xc3\x34\xac\xbd\x9f\xfa\xa1\xea\x5d\x1d\x13\x55\xfa\xa4\xb6\xb5\x06\xb3\x32\x4d\x15\x38\xff\xd5\xd3\xaa\x8a\xca\x8b\x55\x47\x70\x46\x7c\x9a\x5e\x94\x8d\xf7\x52\x75\x72\xa0\xc6\x33\x6b\x39\xa5\x10\x63\xae\x02\xb3\x4f\x25\x02\x1d\xc2\x9e\x73\xa3\xe9\x94\xa5\xff\xaf\x67\x2c\x26\x9c\x86\xa4\xa0\x26\xad\x76\xa2\x57\x26\x70\xa0\x45\x90\x4e\x70\x8d\x58\x80\x23\x9d\xdf\xba\x40\x18\xb1\x98\xbc\x11\xec\x0d\x8b\xc9\x6e\xd1\x80\xc5\x2e\x1b\x15\xc9\xb1\x88\x65\x57\x60\xd7\xb3\x4c\x18\xa4\x32\x65\xd9\xef\x43\x0e\x50\x0b\x70\x98\x6a\x18\x03\xf4\xa6\x9a\xf2\xb3\xf9\xc7\x5f\x7c\xd2\x35\x89\x1b\x0c\xa7\xb3\xbb\x61\xa7\x77\xdb\xf3\x30\xda\x8b\x37\x9f\x34\xda\xe5\x1a\xae\x59\x58\xb7\xdf\xdc\xd7\xe0\x98\xbe\xbc\xa0\xe3\x08\xd8\xa8\x26\x9e\xbc\x14\x3b\x25\x30\xb1\x55\xb7\x54\xc4\x70\x68\x6b\x21\x6f\x69\x54\x25\xc4\x77\xc7\xfb\x68\x1c\xf2\x29\x44\xcc\x63\xaa\x51\x32\x8e\x43\x84\x39\x67\x01\x95\xea\x08\x15\x3b\xa5\x93\xb5\x74\x13\x5b\x42\xb2\x70\x69\xda\x12\xd4\x2e\x82\xbc\xfc\x9a\xfd\xba\xd0\x0f\x22\xc1\x2a\xaf\x3d\x39\x97\x6a\x78\x50\x77\x9c\xf7\x0a\xe1\x43\x2b\x03\x54\xbf\x36\x42\x1b\x07\x22\x83\xbc\x06\xe3\xb1\x54\xc3\x0c\x26\x59\x0d\xb8\x19\x8b\xda\x29\x77\x13\x29\xba\x55\x98\x35\x58\x65\xf1\x03\x47\xe0\xb2\x93\x84\xcf\xd5\xaf\x15\x38\xe1\x7f\xfe\xc7\x21\xb7\xad\xf5\xcf\x42\x22\x48\x92\x89\x11\x21\x69\x17\x6a\x4b\x4c\xb1\xd0\x59\x3c\xa4\x77\xbd\xc9\xa4\x57\x99\x62\x5c\x1e\xa5\x4f\xb3\xb8\xb9\x7c\xaa\x97\x8b\xea\x10\x71\x5f\xc3\xbd\x70\x81\x5d\xea\x5f\x7a\xc1\x5f\x2c\xe0\xeb\x4b\x2c\x62\x87\x96\x8b\xed\x31\x7e\x61\xdd\xbc\xbf\xb2\xa0\xfb\x17\xea\x38\x5a\xaa\xb8\x6a\x44\x28\x7e\x0d\xe8\xe5\x13\xfc\x48\xc2\x5e\xbc\x60\x65\x9a\xd8\xbe\xa1\xd5\xca\x98\xea\x6e\xc9\xe5\x13\x16\x82\x8a\xc6\x0b\x96\xae\x95\x55\xec\xad\x59\x05\x29\x81\x5c\x49\x1c\x81\x2f\x62\x4c\xd6\xec\x91\x6c\xbd\xd8\x1d\x73\xb2\x33\x4d\x2d\x85\xd3\x9e\x53\x21\x71\x81\x63\x88\x13\x21\x68\xbc\xe4\xfa\xfb\x1a\xbb\xc4\x4d\x7e\xf8\xf7\xf2\xa5\x5e\x12\x71\x83\xe3\x87\x36\x4e\xc3\x0e\x16\xa5\x5a\xef\xde\xb1\xd5\x8b\xfd\x9e\xa8\xc5\x45\x78\x0e\x6a\x2d\x2c\x08\x15\x28\xc0\x69\xe8\xbf\xd2\xea\xe2\x85\xb9\xe7\x8f\xeb\xeb\xb8\x7a\x7a\x23\xf5\xef\x5b\x96\xae\xab\x66\xe7\x0e\xf5\x9b\x1c\xb6\x5b\x2d\x39\xe8\x18\xe0\xd8\xbb\x02\x68\x6c\xd9\xdb\xbe\x8a\x04\xdc\xc3\x07\x3a\x5f\xdb\x31\x09\x08\x4d\x4a\xe3\x2d\x07\x46\xfb\x6d\x86\x59\xbc\x54\x3f\x75\xf2\x6e\x6c\xbd\xe8\xdb\xd8\x08\x3f\xb9\x5a\x18\xe8\xb7\xfc\xd5\x32\xb5\x9c\x26\x79\xb7\xf9\x1e\xd2\xed\xb1\xd5\x94\x01\xb0\x53\xc0\xd6\x09\x8d\x1c\xea\xea\x9d\xd6\x2d\x51\x3f\x3a\x83\x74\xdf\xc7\x82\x0b\x77\x96\x80\x1f\x00\x48\x4d\x24\x9c\xc9\x05\x2e\x20\x80\xab\xf5\xc7\x71\xa8\xf2\x82\xb0\x00\x5f\x6d\x59\x30\x67\x0b\x49\x4c\xbf\xa5\x0d\xd8\xd3\xdb\xe0\x61\xe7\x88\xdb\x3c\x1f\xff\x9b\x95\x19\x9b\x65\xac\x3c\x08\xe5\x4f\x78\xf0\x5d\x36\x5f\x53\x8b\xac\x55\xd8\x0a\x7d\x2c\xc0\x57\xa2\x5f\x5f\x4b\xf3\x38\x49\x7d\x18\xef\x27\xc8\x87\x1f\x0b\x07\xc8\x65\x29\xac\x22\xfb\x52\x68\x94\x4c\x15\x90\x49\xde\x64\x1c\x1c\x5e\x00\x49\x0a\x5d\xb8\xd4\xc8\xe6\x9d\x45\x5f\x9e\xc1\x56\x2c\x26\xd7\x38\x08\x48\x02\xb0\xd3\xa5\x2c\xb5\x3d\xa6\x9a\x89\x5a\x30\x18\xd1\x38\x60\x6b\xa8\x04\xc2\x75\xd0\xe9\x97\xb3\xb9\x12\x57\x26\xd9\x49\x2e\x7c\xf7\x0f\x5d\xe3\xab\x95\x1b\xf3\x40\x36\x88\x7c\xd6\xc8\xdc\x07\xbc\x7e\x90\x6f\xc1\x90\xa2\xbe\x30\x2a\x65\x82\x05\x0c\x52\x33\x46\x2b\x88\x56\xc9\xb1\x46\x21\x6d\x3e\x46\xd4\xea\xf7\x67\xad\xfe\xb8\xdb\xea\x7c\x9a\xb5\xda\xed\xee\xc8\xc7\x29\x01\x34\x3d\x61\x00\x55\x05\x8c\x54\x35\x91\x06\x8c\xf2\x02\x3d\xde\xdd\x4e\x77\xe8\x69\xac\xdd\x29\xd0\xa3\x3c\x05\xb5\xab\x14\x20\x2f\x82\x90\xf4\x0c\xbd\x7a\x14\x59\xe3\xe1\x74\xd8\x1e\xf6\x67\xb7\xfd\xd6\x7b\x3f\xc7\x5b\x1b\x68\xd2\x3c\x06\xb5\x76\x35\xcf\xa4\x06\xa9\x3e\x7c\x28\xdd\x41\x1e\x26\xa4\xc1\x24\x4d\x72\x7e\xaf\x38\x56\x35\xce\x2c\x3e\xe5\xcc\x3e\x90\xcd\x6c\x41\xe3\x25\x49\x93\x94\xaa\x10\xf1\xcf\x64\x83\xdc\x5f\xed\x39\xe1\xf9\x5c\x2e\xe6\x74\xff\x1e\x4e\xd3\x01\xce\x0d\x29\x97\x86\xee\x61\xce\x75\x07\x55\x73\xee\x98\x2c\xe4\x1d\xcc\x52\x24\xb5\xe2\x34\xd3\xf5\xa5\xb5\x6e\x95\x80\xc5\x31\x09\x1c\xbd\x71\x94\x92\x05\x49\x53\x12\xa2\x88\xce\xc5\xf2\x91\xd1\x04\xa5\x24\xc2\xdb\xe8\xff\x61\x96\xe2\xc2\xb1\xb6\xbf\x38\x55\x79\xae\xe6\x63\x05\x86\xae\x32\x1c\x14\x60\xbb\xe9\xf3\x80\xf4\x0a\x16\xb1\x76\xe5\x16\xb2\x62\x42\x84\x4a\xbc\xc7\x08\xfe\x54\x58\xb3\x6f\xfb\x6e\x7b\x26\xee\x5f\x12\x50\x92\xda\x52\x32\x97\x56\xc8\x96\x0d\xf3\xf4\x13\xe4\x82\x0c\x04\xff\x52\xf3\xa1\xc6\x5e\xd6\x10\xb9\x82\xe5\xfc\xfc\x1d\x47\x7c\x85\x25\x8b\xab\x07\xf6\x58\xb4\x40\x91\x46\xe0\xab\x38\xb7\x85\x51\xd5\x64\x0f\x13\xc5\xfc\x3f\xa9\x14\x9e\x8d\x0b\x89\x67\x41\x13\x55\xb5\x3e\x37\xe5\xbf\xd1\x46\x21\xef\x43\x92\x95\x9c\xed\x4f\x8a\x8b\x01\x25\xae\x58\x3e\x9f\x2a\xb9\x20\x57\xc4\xea\x9a\xf9\x2a\x71\x94\xc5\x82\x46\x85\x92\x7a\x67\x0d\xa1\x81\x6c\x48\xc2\x23\xc0\x90\x8b\x07\x16\x3d\x91\xef\x52\xe2\x90\x4f\x9b\xef\x0f\xf2\x72\xc1\xb8\x9c\x0a\xa6\x60\x15\xa3\xe6\x83\x3c\xac\x5e\x5d\x62\x26\x0c\xc2\xba\x23\x8e\xbd\xb9\xe3\x38\xa0\xce\x19\x9e\xad\x30\x5f\x9d\x64\xf1\x54\x68\x3b\xee\x85\x52\xbf\xd8\x4c\xed\xd2\x1e\xf0\x85\x8e\xd3\x2a\x35\x8f\x8f\x95\xdc\x64\xbb\x37\x93\x29\x9e\x3b\xff\xd5\x74\x36\xfd\xfd\xc8\x78\x1f\x60\x40\xf6\x46\xad\xc1\x74\xf6\x4b\x77\x3c\xe9\x0d\x07\xb3\xe1\xfd\xb4\xe3\x15\xa6\x56\xf5\x98\x09\xa0\x40\xd2\x04\xc7\x02\x85\x8c\xa8\xc2\x3a\x10\x85\x31\x52\x3d\x8e\x20\x9d\xda\xb2\xb3\x46\x66\x55\x90\x9a\x1a\x10\x55\xf2\x18\x88\xc9\x86\xea\x4c\x8f\xf0\x59\x80\xe4\x3f\x16\xa8\xec\x00\x8e\xd1\x17\xae\xbe\x3d\x40\x09\x64\xda\xb4\x3f\xf9\x66\xce\x4d\xf5\x75\x68\x2a\x47\x83\x4d\x1e\x22\xd3\x9d\x4f\x00\x9d\x05\xe0\x2a\x4b\x93\x5c\x0e\xc8\x4d\x8e\x1f\x89\xe4\xeb\x0e\x99\x67\x07\x54\x93\xe2\x30\x4f\x4f\xb5\x73\x1b\x86\xf2\x39\x85\x10\x0a\x48\x3d\xf2\xb2\xf7\x17\xa2\xa1\x26\xee\x15\x7c\x5e\x8a\x08\x41\xb9\xa0\x01\x47\x6c\x2e\x30\xb5\x91\x65\xab\xe3\x94\x29\xd4\xa3\x1d\xe9\xdd\xb0\x40\xb9\x38\x3f\x05\xa0\xb7\xfe\xeb\xc4\xb3\xc7\x5e\x81\x2c\xf9\x94\xda\xae\xba\x17\x31\x74\x39\xa5\xcb\x18\x47\x34\x5e\xee\x0d\xc3\xee\x19\xea\xc9\x58\xbf\xb0\xde\x08\x71\xf3\x24\xd0\x59\x83\x99\x14\x4d\xaf\xec\x97\x51\x82\x37\x11\xc3\xa5\x9d\xbf\x4b\x98\xa6\x74\xce\xa0\x53\x8c\xb1\xd8\x83\x80\x53\x36\xcc\xc3\xc2\x95\xe2\x1a\xd7\x36\x69\xd7\x6b\x9d\x50\xdf\x8a\x11\x0e\xad\x9a\x61\xfe\xd0\xa4\x81\x6a\x5c\xa9\x29\x16\xa4\xa8\x51\xe8\x95\x78\xa5\x26\x2b\xf5\xf6\x1f\xde\xfc\x19\x2e\x77\xbe\xab\x35\xc4\x54\x50\x2c\x74\x3d\x9d\x9b\xb6\x0f\x77\x41\x48\x02\xe0\x49\x55\x5b\x40\x53\xc4\x9e\x62\x94\x3f\x63\xbe\x6f\xad\xe0\xaf\xef\x78\xef\x3b\x4e\x82\xf1\x6b\x95\x6f\x06\x60\xa2\xa5\x15\x64\x65\xc3\xaa\x59\xab\x03\xc3\xa1\x99\xa7\x4a\x00\x54\x6f\xf1\x67\x33\x1d\xac\x8b\x93\x4c\xe8\x87\x15\x34\x98\x7c\xed\xde\xa3\x22\x3f\xb1\x24\xe2\x9e\x93\xb4\x72\x42\xc5\x71\x3e\xee\x20\x91\xa5\xba\x5d\x5c\x44\x55\x5b\x37\x60\x9f\xda\x53\x8b\xe8\x9a\xc2\xf9\x19\xd8\x24\x49\x78\x21\x89\x08\x84\xd1\xb4\x69\x6d\x60\xd7\x0b\x91\x26\xfc\xd9\x84\x31\x17\xd0\xf5\x92\x53\x60\x51\x68\x7a\xa3\x5c\x35\x29\x8e\xb9\x72\x31\x5d\xe9\xca\x14\x48\xef\xd5\x5d\xaf\xe4\x2b\x55\x9a\xaf\x5e\x54\xd0\xce\x7a\x1d\x8e\x22\x02\xf0\xfa\xd8\x20\xc8\x0b\xc4\xe2\xc2\x99\xcb\x91\xf8\x0f\xd3\xcd\x1f\x68\x92\x14\xc9\xde\x06\x4e\x3b\x47\x98\xb4\xf5\xb7\xe3\x22\x58\xf8\x73\xd3\x0d\x2d\xcf\xa2\x98\x1e\x3a\xc2\xba\xa0\x4c\x1d\x35\x60\xe8\x03\x7c\x5f\x32\xb8\x9a\xf9\x7b\xaa\x7a\x16\x3a\xad\xa6\xe4\x91\xb2\x8c\x47\x9b\x3c\x43\x5e\x65\x27\xaa\x46\xac\xee\x81\x3f\xe5\xbc\x9f\xa3\x00\xf2\x25\x8b\xf9\x30\x3d\xfd\x61\xbb\xe5\xdd\x33\xb9\xc0\xbb\x11\x53\x85\x72\xcd\xa7\xa8\xb6\xc7\xc3\x91\x82\x16\x9d\xdc\xb5\xfa\x87\x93\x41\x47\x26\x4b\x56\x30\x86\xf8\xda\xb9\xab\xbf\xc1\xdc\x5d\x4f\x11\xa3\xd6\x44\x8a\x95\x9a\x32\x45\x9e\x6d\x6f\x99\xb2\x33\xb8\x5a\xa6\xa8\xea\x6b\x5e\x04\x60\x3c\x56\x7c\x98\xba\x27\xa8\xdc\x51\xc9\x3d\xaa\xa5\x86\xe0\xd2\xc0\x5e\x13\x1c\x73\xb8\xb1\x81\x52\x30\x37\xe5\xd0\x91\xea\xc7\x21\x6f\xc8\x93\xf5\x56\xeb\x6c\x6a\xc5\x74\x0d\x09\x45\x76\x32\x34\x80\x04\x0e\x35\x62\xfb\x91\x99\x42\x51\x12\xfa\x83\x4c\x29\xb4\x09\xa3\xb1\x40\xf7\x83\xde\xdf\xa0\xf1\x0f\x17\x78\x9d\x38\xdd\x7f\xae\x10\x8d\x43\x28\x4e\xd5\x5e\xb3\x45\x0a\x6e\x33\xc5\x71\xca\xb7\xa5\xfa\x96\x58\x10\xd8\x8c\x93\x50\xca\x68\xb0\x6e\x03\x25\xc7\xc9\x53\xf3\xcd\x46\x5e\xe4\x6c\x1d\xc9\x06\xab\xe5\x53\xab\xa5\xce\x71\x90\xb2\x44\x2d\xd2\x9a\x02\x45\x2f\x52\xf6\xbc\x52\xd6\x7f\x7f\x5c\xc9\xd5\xec\x16\xfd\xd2\xeb\x74\x87\xfe\x65\x1a\xc5\xc2\x22\x25\x0b\x80\x1e\x7f\xc5\x52\xca\x08\x95\xc3\x9e\x32\x1c\x06\x98\x8b\x89\xfc\x4d\xd9\x15\xb0\x6f\xa8\x5f\x78\xd1\x80\xb5\xe6\x2e\xb7\x1a\x9e\x08\xf5\xec\xab\xbc\xd8\x12\x7e\x74\xe4\x6b\x88\xd3\x87\x2d\xf7\x3f\x89\xa1\xeb\xab\xfc\x8b\x64\x9b\x35\x34\xd8\x45\xcb\x14\x27\x2b\xd5\x3a\xfb\xc8\xf4\xd4\xa6\xa5\xe8\xcd\x78\xd8\xea\xb4\x5b\x93\x66\xf0\x96\x59\xac\xca\x66\xe5\x02\x5d\xa1\x44\x35\x0f\xcf\x38\x80\x9e\xa9\xdd\xbb\x23\x4b\x0c\xf5\x31\xb0\x7b\xb0\x28\x4e\xcd\x4c\x63\x45\xa0\x2f\x68\xbe\xcf\x5d\x90\x7a\xf8\xbc\x17\xd9\xe0\xe0\x79\xdf\x1a\xea\x77\xde\xf3\xf5\x3a\xf5\xc8\x4f\xf2\x37\x6d\xa5\xce\x7c\xf9\x43\xbf\x6f\x2d\x21\x39\x76\x94\xcd\x23\x1a\xdc\xb2\xf4\x09\xa7\x61\xd5\x92\x96\x3d\x51\xbd\xb2\x43\x88\x52\x48\xf3\xdb\x78\xa6\x4c\xed\x5b\x51\x4f\x64\x52\xa1\x09\x56\x26\x9e\x07\x9f\x31\xac\xcc\x55\xcc\xde\x1e\x38\x93\xda\xbb\x50\x64\x90\xb0\x00\x31\xfe\xd1\x71\x27\xed\x7e\x55\x79\x95\x12\x02\x5e\x1f\x44\x7e\xcd\x70\x64\x4a\xf2\x8b\x1f\xcd\x49\x2a\x34\x14\x97\x94\x38\xdf\x3d\x8a\x3d\x58\x96\x06\xa5\x97\x82\x75\xbf\xdd\xe9\x16\x9b\xb9\xf6\x69\x9a\xf4\x40\x06\xb6\x9c\x9b\xda\xfc\xbc\x8b\x63\x79\xd6\xb7\xfe\x56\x5e\xc6\xba\xeb\x36\xd3\x23\x55\x0f\x48\x25\x5e\xf3\xb7\xaa\xb6\xa1\xd0\x20\x0e\x0a\xc0\x82\x88\x06\x0f\x68\x45\xd2\x12\xff\xdb\xcc\xb8\xc7\x1b\x78\x55\xaa\x9b\x4b\xf6\xc0\xd7\x1d\x45\x1b\xf4\x0e\x7c\x86\x31\xd2\xb0\x69\xa6\x8b\x26\x8c\x74\x80\x20\x9d\xad\xbe\x36\xff\x98\x44\x34\x20\x67\x43\xb9\xb9\x84\x7b\xe3\x8b\x27\xca\x6f\xcb\x05\x1f\x99\xec\x0c\xf4\x93\xc8\x16\xb9\xe8\x34\x71\xdc\xd6\xeb\xfd\x6c\xb2\xb8\xf4\x64\xe6\xf5\x18\xe7\xe0\xcc\x67\xbe\xae\x23\x86\xc3\x16\xdf\xc4\xc1\x7b\xb9\x78\xfb\xf9\x62\x6b\x5c\x35\x5b\xf4\x19\x0e\x4b\x34\x73\xbd\x49\x58\xbe\x6a\x95\xb2\x18\x9c\xc0\x67\xce\x54\x12\xec\x81\xc0\xf2\x01\xed\x08\x7e\xd4\x55\xde\x72\x6e\xf0\x5b\x98\x9b\x7c\x0f\x17\x69\x16\x08\x96\xba\x2f\xf8\x2c\x1f\xfe\x37\xc6\xd6\x2a\x46\x72\xa5\x7a\xe7\xfe\x9a\xd1\xf4\x0c\x98\x5c\xef\xc7\xad\xd1\x07\x23\x1c\x66\xe3\x6e\x7f\xd8\xf2\x43\x40\x58\x3a\xb3\x33\x32\xc3\xea\xe9\x29\x01\x48\x1c\xb1\xd2\xea\x3a\x94\xad\xe9\x51\x2a\x8a\x99\xa8\x02\x36\xb5\x58\xa7\x8a\x39\x35\x09\x93\x1b\xe4\x33\x0b\x29\xe9\xd4\x0c\x28\x47\x2c\x13\x40\x8d\x25\x7f\x09\xa5\xbf\x31\x79\x52\x9c\xa3\x67\xa9\xf0\xd3\xf7\x19\x8f\x95\xfc\xaf\xc0\x3d\xaf\x71\x18\x6a\x9c\xd1\x29\xdb\x83\x4c\xba\x77\x6c\xf5\x39\x68\x85\x61\x8e\x47\xaa\x41\x99\x2c\xac\xe8\x55\xde\xe7\xfb\x1a\x39\x88\xa3\x70\x77\xc2\x41\x97\x76\x03\x9a\x13\x12\xa3\x20\x25\xb0\x41\xba\xd4\x7c\xce\x44\x0d\xa5\x46\xbf\xf7\x55\x11\xd8\xb4\x50\x4f\x76\x00\xfd\xf4\xdb\xc6\x16\xfa\xf2\xe8\xab\x96\x9d\x54\x52\xa4\xe6\xa8\x11\x04\x62\x59\x29\xbc\x75\xc5\x13\xd5\x6c\xd8\x36\xa8\xc7\x2b\x82\xf0\x9c\xb3\x28\x93\xca\x98\x7e\x5e\xe1\x1f\x9a\xb9\xd0\x3c\x7a\x6b\x35\x6b\x2a\xaf\x9c\x88\xc5\x4b\xfe\x97\x62\x7b\xfa\x23\xd8\xb6\x46\xd6\x72\xbe\x22\xca\xc5\x4b\x9e\x0a\x34\x8b\xfc\xd3\x57\xe8\x37\x92\xb2\x37\x73\xcc\x8b\x51\xe3\x3d\x8c\xff\x7b\x60\xe8\xe3\xb9\xf9\x18\x4e\x86\x6d\x3e\x8c\xef\xbc\x7f\xb0\x07\xff\xc2\x23\x7b\x85\xa7\x3f\x4f\x61\x1d\x58\x79\x55\x56\x6b\x12\x23\xf3\x67\x57\xfa\x9d\xac\x4a\x62\xfe\xc0\x4b\xbf\x87\xe4\x9f\xf6\x7c\x8a\xaf\x58\x2a\x66\x66\xed\x26\xce\x09\x93\xbf\xbb\x46\x6d\x1c\x43\xa3\x6b\x4c\x35\x1b\x75\xe3\x65\x44\xf9\x0a\x45\x44\xc8\x69\x5f\xa1\x90\x2e\xa9\xbe\xe9\xb3\x38\x24\x29\xf4\xa2\xe3\xd7\xe8\x4e\x9e\x50\x12\x87\xca\xc2\xfe\xfb\xab\xf9\xe6\xef\xaf\xd0\x6b\x28\x64\x90\x77\x2d\x8d\x39\x89\x55\x4e\xc8\xf7\x7f\x41\x3f\xbc\xf9\xf1\x4f\x52\x8f\x4b\x71\xb0\xdd\x12\xcf\xd0\xed\xd0\x57\xd4\xbb\x56\xd9\x7a\xae\x98\x4c\xf7\x17\x2e\xfc\x95\x8a\xc8\x9d\x9a\x99\xd9\x55\xfe\xc9\x92\x2c\xac\x70\xeb\x09\xf6\x14\x7f\xeb\xc7\x79\xd4\x6a\xff\x3c\x9b\x7c\x18\x8e\xa7\xb3\x41\xcb\xb3\x73\xe7\x44\x32\x0f\x4a\x70\xf0\x00\x6b\xda\x60\x06\x78\x91\x96\x61\xbb\x7d\x3f\xaa\xc2\x40\x6d\x19\x0e\x07\x7a\x80\xe9\xe0\x04\x00\x65\xa6\xc0\x83\x7c\xa6\x5c\x9c\xee\x23\x06\x02\xa7\xbd\x69\x9d\x30\x87\x43\x1c\x30\x65\xa3\x01\xa0\x0b\x82\x10\x83\x7d\xcb\xb7\xed\x93\x4f\x10\xb3\x25\xed\x4b\x8d\xd8\x05\x87\x0a\xb1\x00\x82\xed\x4d\xb4\x12\x51\x7a\x97\x47\x6b\x95\x01\xb3\x77\x53\x73\x1d\x95\xf5\x2d\xd9\xbd\x1b\xfe\x6b\xcf\xb3\xa7\x8a\x22\x81\xac\xd9\x3f\x68\x83\x1d\x55\x14\x1d\xde\xa1\x39\x43\x86\x0a\xc7\x35\x4c\xc5\x68\xf0\x7e\xd6\xe9\xdd\x75\x07\x93\xde\x70\x30\xf1\xa2\x23\x89\x97\x28\xa4\x6b\x15\x49\x6d\xb2\xf9\x4e\x4e\xd1\x60\x38\xaa\x90\xc4\xc3\xb8\xa4\x9b\xae\xb9\xa0\xb6\x1b\x38\x8d\x06\xef\x15\xb0\xed\xa9\x34\x7e\xc1\x34\x3d\xab\x3c\xa5\x80\x7b\xa6\x17\xff\x36\x65\xeb\x2a\x6d\xab\xf4\x81\x6a\x8d\x4b\xe3\xab\xe5\x76\x01\x78\x4c\x8c\x65\xa0\xf0\xd9\x73\xb3\xe0\x99\x2d\x59\xe5\x6d\x97\x04\x7f\xdb\xba\xc0\x73\xa8\xf6\x9c\x88\x5c\x55\x9f\x6a\x9d\x6e\x3f\xbb\x95\x0c\xaf\x66\xb6\x09\x11\x85\x6e\x2b\x56\x61\xac\xcb\x17\xda\x7f\x31\x29\x55\xa9\x4b\x14\xd2\xa6\xb9\xe5\xcb\x3b\x13\x94\xe3\x0e\x1c\x60\xda\x7f\xde\xa1\x8b\x05\x49\x49\x0c\x7d\xb3\x77\x36\xea\xe0\x78\x1f\xb1\x90\xa7\xb0\x87\xf6\x41\x34\x27\xe2\x49\x9e\xed\x42\x17\x70\x21\x4d\x36\x48\x98\x53\x59\x7a\xe0\x66\x08\x48\x0a\x36\x8b\xf1\x0d\x4b\xf3\x04\x12\xce\xd7\x54\x88\x63\x23\x75\x7b\x72\x37\xf2\x2e\x2b\x77\x84\xeb\x50\x64\xb1\xb1\x4b\x33\x6d\xc9\x19\x12\x69\xa6\xda\x2a\x3e\xd0\x04\x71\xb6\x06\xe7\x0a\xa7\xf3\x68\x83\xb2\x38\x26\x04\x84\xbe\x5e\x06\x39\xe3\x94\x84\x59\x60\x2a\xca\xdf\x40\x13\x8a\xed\xf2\x1e\x1b\x63\xfc\xc0\x9e\xd0\x1a\xc7\x1b\xfb\x02\xc1\x14\xf0\xe7\x15\x64\x9e\xff\xf0\x4e\xfe\x37\x4c\x43\x1a\xe3\x74\x83\x5e\xc7\x2c\x7e\x33\x67\xe2\x7b\xb8\x64\x38\xc2\x29\x51\x95\x93\xba\xc6\x3e\xc1\x9c\xa3\x1f\xde\xbd\xf9\xe1\xdd\xbb\x42\xc5\x8c\xca\x1d\x1c\x91\x94\x53\x2e\xa0\x2b\xb5\x4d\x19\x84\x26\xd6\xfa\xe3\xdf\x7f\xd3\xe1\xb9\x67\x4f\xeb\xd8\x0b\xe5\xad\xc8\xba\xbf\xe9\xf7\xda\xb3\xf7\xe3\xe1\xfd\x68\x36\x68\x1d\x24\x6f\x97\x0c\xa5\x03\x3d\x62\x1a\xe1\x79\x03\xca\xcf\xed\x78\x78\x37\x33\xf1\x4c\x79\x4b\x76\x7a\x93\xd6\x4d\x95\x41\xe1\xb4\x6c\xcd\x38\x01\xa5\xc2\x04\xd8\xd6\x34\x76\x23\x30\xa7\x1b\x83\x17\x03\x23\x3d\x9e\xf4\x26\xd3\xee\x60\x3a\x9b\xf6\xee\xba\x93\x69\xeb\x6e\xe4\x61\xf4\x94\x1e\xc5\x66\xba\x49\x96\x52\xe4\x95\x08\x5e\x46\x53\x83\x8d\x3a\x06\xdd\xce\xac\xd3\x6b\xf5\x87\xef\x27\xd0\x5e\xf2\xee\xbe\xfd\xe1\xb0\x40\x60\x4c\xc9\x46\xdd\x64\x45\x35\x44\x3c\x9d\x75\xc6\xad\xc1\xfb\xae\x5f\xf2\xb1\x61\x9d\x14\x00\x0e\x4a\xb8\xa6\xea\xda\xf6\xbe\xaf\x6b\x5d\xd4\xef\x89\x00\x87\xb9\x79\xbe\x56\xf1\x29\x7c\x59\xfe\xbf\xba\x0e\xed\x3b\x4e\xbd\x36\xcd\x2d\x33\x9d\xec\x7f\x71\x22\xf8\x4c\x30\x81\xa3\x99\xbd\x01\x6f\x59\x8a\x16\x98\x0b\x35\x9e\xc6\xcb\x9f\x10\x5d\xe4\x17\x01\xc4\x32\x05\x47\xff\x17\xda\x7a\x16\xfd\x3d\x7b\xf7\xee\x8f\x01\x98\x06\x82\xc8\xbf\x5e\xd9\x4f\xe6\xca\xcb\x94\xb1\x3e\x8b\x97\xaa\xbc\xcd\x29\x9a\xbb\x9e\xd0\x75\x12\x6d\x90\x20\x51\xc4\x0b\x00\x30\xaa\xa0\x5d\xa7\x2e\x6d\x69\x42\x74\x21\xcd\x22\xca\xd1\x1c\xfa\x40\xa9\x72\xb8\x2d\xba\x7a\xca\x52\xcd\xc9\x32\x99\xd0\x73\xba\x44\xaf\x81\x68\x82\xfe\x9f\x3f\xc1\xc5\xfe\xee\xfb\x2b\x75\xaf\xc0\x6a\x2a\x22\x43\xb2\xc0\x59\x04\x8a\x87\xba\xfd\x0b\x57\xf9\xaf\x6a\x91\xff\xba\xb3\xc8\xc7\xdf\xdc\x3f\x94\x1e\x92\xd6\xfd\xf4\xc3\xec\xe7\xee\xa7\xd9\xa8\x3b\xf6\xed\x90\x2b\xc8\x3a\x61\xa9\x54\x54\x70\x26\x56\x00\x0e\x62\x32\x1a\xe6\x34\x0e\x95\x8e\x02\x49\x5e\x24\x5d\xe3\x58\x4a\x1a\x3b\x50\x30\xb8\x33\xc4\x8a\x70\x53\x93\x98\xcf\xea\xf8\x3b\xbf\x33\x98\xdd\x75\xa7\x1f\x86\x7e\x37\x45\xde\x25\x43\x15\x16\x3b\x66\x1f\x00\xff\xb4\x3b\x03\xd4\x69\x37\x51\x17\xdf\xf5\x58\xd2\x8e\x54\xb1\xcf\x78\x29\x7c\xd3\xd7\x54\x95\x60\x9e\x08\x25\x09\x0f\xc9\x64\x35\xc6\xdf\x6e\xc2\x7b\xcd\xa3\xeb\x72\x90\x2b\x5d\x6d\x24\xcd\xb5\x30\xde\xd7\x52\x6a\x77\x50\x35\x45\x1d\xf6\x14\xeb\x3e\x49\x92\x67\x17\x34\x22\x35\x8b\xa5\x66\x36\xb3\xe6\x56\x75\x7b\x92\x3f\x95\x59\x30\x7d\x12\x2f\xc5\x4a\xce\x15\x9a\x20\xa9\x2c\x25\xf5\xf5\xf2\xea\x60\x95\x98\x58\xfe\xc0\x3f\xb9\xbb\xb7\x77\x95\x3e\x60\xbe\x2a\x6f\x67\xba\x6f\xa8\xdf\x95\x3a\xf9\xd0\xfa\xc3\x9f\x7f\x44\x2b\x78\x46\x21\x0a\x93\x94\x2e\x36\x80\xf1\xa0\x49\x24\xa1\x5d\xd1\x1a\x89\x70\xbb\x2b\x7a\x70\x6d\xc0\x1d\xa7\xf3\x5e\x0d\x22\xd1\x52\x41\xae\x68\xea\x9a\xb7\xd4\x2e\x52\x52\x8e\x27\xad\x59\xa7\xdb\x1e\x7f\x1a\x4d\x7d\x22\x1a\xb6\x01\xc9\x78\xd2\x42\x21\xb1\x30\x55\x0b\x4c\x23\x1f\xb5\xcd\x30\x4f\xf5\x51\xf4\x3c\x87\x46\x32\x04\x2c\x06\x89\x05\x5e\x92\xa7\x15\x8b\x74\x13\x35\x96\x22\x2a\x38\x14\xb4\xd5\x71\x8e\x84\xf1\x4c\x03\x26\x6d\x07\xbb\x73\x0f\x8d\x46\x57\xd2\xe3\x38\xec\x88\x61\xe2\xd3\x53\x28\x4b\x30\x0a\xe6\x1b\xed\xbf\xd8\x83\x4d\x60\x4a\x80\xad\x4c\xb1\xbf\x28\x3d\x0a\xe5\x2f\x2e\x01\x0f\x48\x52\x12\x50\xae\x2e\x56\xca\x21\x79\x14\x9c\x34\xc1\x8a\x04\x0f\x1c\xb1\x18\x29\x7d\x51\x6a\x92\xea\xf5\x2a\xd5\x4f\xea\x8b\x9c\x2c\xb2\x08\x4e\x3a\xf9\x8c\xd7\x49\xa4\xfc\x3c\x22\x25\x78\xad\x0a\xa3\xa0\x3a\xf4\x81\x6c\xa0\x7c\xf2\x94\x53\xf7\x4d\x6b\x59\x2f\x5e\x9e\x9c\xac\x1f\xcb\x1d\x2a\xbd\x7e\x77\xdc\xbd\x9d\xdd\x8f\xde\x8f\x5b\x9d\xee\x6c\xd0\xed\x76\x7c\xb0\x12\xd5\x21\x5e\x61\xc3\xff\x26\x95\x13\x7a\xed\x86\x1a\xb1\xce\x60\xa7\xc9\x43\x05\xf8\xb1\xd2\x58\x39\xdd\x4e\x56\x51\xcb\x23\x22\x60\x2a\x7a\xd9\x68\x7c\x1b\x68\x19\x77\x6f\xbb\xe3\xee\xa0\xdd\x9d\xfd\xf7\x4a\x62\x8a\x8b\x81\xc8\xe7\x84\x02\xe4\x09\x15\xf6\xb4\xa4\x64\x91\x12\xbe\x6a\xc0\x0b\xb4\x45\x5d\xf7\x6f\xa3\xca\x74\xef\x5b\x2f\xfa\x88\x08\x56\xaa\x2a\x5b\x3d\xae\xfb\x4a\xae\x84\x48\xf8\x4f\x6f\xdf\x06\x2c\x25\xd7\x06\x4f\xef\x9a\xa5\xcb\xb7\x38\xa1\x6f\x41\xd9\xb0\xaf\x3e\x1d\xf4\xa1\x77\xd7\x3b\x22\xe2\xa1\x84\x6e\x83\x2c\x70\x59\xe0\x13\x17\xe2\x7f\x1c\xde\xde\x1e\x15\x8f\xd2\x17\xe1\xc5\x67\xc3\x78\x28\x6a\x3e\xd6\xc0\xb9\x4c\x81\x9a\x66\xc0\xb6\x0a\x54\xc3\x08\x58\x12\x2d\xe0\xcf\xa4\xff\x9f\xeb\x74\x55\x6c\xe0\x47\x32\x5f\x54\x2a\xdb\x66\xd0\x71\xfa\x76\x8c\x3e\x4c\xa7\x23\xab\x6f\x63\xd0\xb6\xaf\xa4\x5e\x97\xa4\xec\xf3\xc6\x00\x64\x68\x6c\x5e\x24\x56\x29\xcb\x96\x2b\x0b\x53\x7a\x1a\x70\x57\x1d\xa5\x78\x9a\xb7\x56\xae\x30\xa1\x0f\xeb\xc6\xdf\x02\x6b\xa4\x44\xfd\xa3\xda\x2f\xb2\x3d\xd2\x87\x49\xd4\x4e\x63\x64\x9e\x2d\x46\xaf\xcd\x1e\x18\x2b\xb6\x61\xcf\x89\x66\xb4\x7c\x98\xa1\xa7\x50\x9e\xd3\xd8\xee\x3d\x87\x09\xcd\xf1\x23\xb9\xa1\x4b\x83\xa0\x73\x60\xf7\xb6\x47\x56\xef\xde\x04\x3f\x12\xae\x4f\xb1\xda\xb7\x08\xa7\x4b\x7d\x72\x5e\xb3\x47\x92\xa2\x1f\xde\xdd\xcd\x01\x0b\x87\xfe\x46\xbe\xd7\x87\x03\x1a\x90\x3a\x70\xf4\x2c\x4f\x2a\xdb\xb6\x83\xaa\xb7\x19\x4e\x1d\x44\x3c\x55\x5c\x3e\xc4\x02\x5f\x29\x8a\xb4\xe4\xe1\x5b\xa9\x0a\xa4\x88\x6e\xad\x35\xe4\xab\xed\x7c\x29\xa5\xef\xef\x3c\x9b\xa8\x45\x7c\x05\x70\x44\x5c\xb2\x8b\xd4\x19\x75\xd3\xc6\xed\xc1\x2a\x16\x01\x18\x39\x2a\x8a\x26\x70\xe4\xd4\x30\xab\x3f\x34\xcd\x65\x17\x08\xea\x63\x49\xf2\xb4\xab\x8b\xe6\x0b\x6c\x26\xe5\x0d\x79\xbb\x73\x5a\x7c\x57\x27\x27\x42\xaf\xd3\x59\x56\x06\x10\x7d\xa4\xc9\xfc\xbe\x42\x2c\x8c\x76\x17\x47\x9e\x2e\xb0\x4c\x55\xdd\x52\xe3\x64\x1d\x67\x76\xe6\xa4\x9d\x65\xc1\xa6\xc3\xe1\xec\xa6\x57\x95\x2d\x48\x72\xe8\xc3\x02\x33\xe9\x30\x60\x0d\x29\xea\x29\x42\x4f\x90\x9f\x40\xa0\xee\x22\xb7\x82\x0c\x35\x0d\xb5\x7f\x16\x19\xa9\xc4\xa3\xbe\x70\x13\x97\xe2\x43\x72\x92\xc4\x82\x2e\x28\x49\x6b\x8a\xcb\x41\xb6\x26\x29\x0d\x70\xa4\x7d\x25\xf9\x47\xcf\x26\xfe\xbe\x61\x59\x53\xce\xaa\x9c\xa4\x10\x2b\xbb\xcd\xa2\xe8\x9e\x43\x42\xde\x2e\xa3\xee\x0c\xf2\xd7\xe4\x01\xc7\xcb\xa6\x55\x03\x66\xc5\x7c\x83\x7a\x9d\xda\xd0\xa1\xe7\x02\x96\x7d\x76\x87\xe3\x45\xfb\x27\xbe\x60\x16\xbd\xe5\x32\xb9\xd3\xe5\xfe\x80\xe2\x08\x7f\x26\x9c\x63\x4e\x03\x87\x03\x71\x10\xb0\xd4\x48\x49\x85\x09\x9e\x0b\xa9\xfa\x28\xd6\x7d\x17\x2e\xda\x79\xd1\x4b\xb8\xe1\x6b\x3a\x71\xed\xe1\x60\xd0\x6d\x83\xa1\x3c\x18\x4a\xe1\xdb\xab\x6a\xac\xd1\xb6\xdd\xdf\x20\xe7\x48\x41\xca\x47\xf4\xb7\x06\xce\x5d\x6f\x30\xba\x9f\xce\xfa\xad\x4f\xc7\x14\x14\x44\x78\xd3\xac\xc2\xd9\xb8\x30\x3a\x20\x00\x38\x11\x13\x12\x64\x29\xf9\x05\x47\x19\xe9\x9a\x03\xb3\x47\x18\x94\x8e\xae\x16\x0c\x83\xbc\x71\x18\x1c\x5a\xdb\x36\x8c\x43\x3f\x2f\xcc\x39\x44\x64\xa0\x81\x85\x2e\xe4\xe5\x2a\x2a\xa9\x4e\x30\x32\x3d\x55\x54\xce\x97\xdc\xfd\x39\x41\x10\xbb\x54\xdd\x7d\xb9\xea\x78\xac\x64\xcb\xa8\xf0\x3e\xc1\xa0\xd1\x4a\xde\x46\x4c\xbf\x12\xa7\xf2\x26\xff\x4c\x42\xf4\x1a\x74\x23\x6d\x88\x1a\x0d\x4e\xa5\x98\x49\x45\x4f\xf9\x14\xe5\x3b\x8c\x47\x2a\x7f\x8d\x3a\xdb\x4a\xa3\xff\xbe\x90\xba\x77\x0f\x07\x59\x32\x85\x7a\x1f\xd0\xa2\xc8\x74\x34\x32\xd5\x30\x81\x11\x2e\x0f\x1c\xc7\x82\x72\xd3\x5f\x4d\xe0\x38\xc4\x69\xc8\xe5\x87\x53\xc8\xb6\xa3\x01\x31\x50\x2b\xca\xc5\x8a\xe3\x0d\x52\xcd\x05\xaf\xd1\x6d\x1e\x93\x05\x4c\x16\x8c\xe6\x34\x15\xab\x10\x6f\x54\x17\x21\x4e\xc8\xda\x32\xe8\x15\x72\x49\x09\x59\x90\xa9\xb6\xe9\x1c\xcd\xa3\x2c\x4d\x37\xf0\xf7\x00\xc7\x88\xaf\xd8\x13\x47\x44\xb2\x93\xb4\xa0\xe5\xd2\xe0\x75\x42\x52\x1a\x2f\xaf\x10\x11\xc1\x35\x9a\x64\x49\x12\x6d\xd4\x5e\x85\x44\x60\x1a\x71\x83\x9a\xa0\x17\x48\x33\xa6\x60\x68\x8d\x1f\x08\xe2\x59\x4a\xf2\xa9\x3f\xc4\xf2\x03\x2b\xf6\x24\xff\x1e\xb0\x34\x25\x81\x62\x0c\xca\x79\x56\x2b\x53\xd3\x8a\xfa\x57\x5b\x5c\x69\xaf\x0d\xc3\x43\x8d\xab\x34\x5f\xe2\xd2\xfe\x27\xf9\xbf\x7f\xff\xa7\xff\x13\x00\x00\xff\xff\x83\x97\xf0\x68\x3b\xf6\x09\x00") +var __schema121Json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x1c\xb9\xb5\x20\xf8\x57\x72\xe9\x98\x68\x75\x04\x45\xb5\xdb\x33\x8e\xd9\x9e\xd8\xd8\xa1\x48\xa9\x9b\x6e\x4a\xaa\xcb\xa2\xba\x6f\xc4\xd8\x5b\x81\xca\x44\x55\xa1\x99\x95\x48\x03\x48\x52\xe5\x1b\xfe\x70\xff\x92\x67\x76\x37\xf4\x55\x3f\xe5\xfe\x92\x0d\x1c\x3c\x12\x8f\x83\x64\x15\x45\xb9\xe9\xbb\xb7\x23\x6c\xb1\xce\x41\xe2\x71\xf0\x3a\x38\xcf\x7f\x39\x62\x5d\x43\x3f\x1c\x7d\xf7\x2f\x47\x2d\xd9\x51\x71\xf4\xdd\x6f\xbf\xfd\xed\xf1\x51\x4d\x14\x5d\x73\xc1\xa8\x3c\xfa\xee\x7f\xfc\xcb\x51\x47\xb6\xf4\xe8\xbb\xa3\x9a\x77\x52\x89\xa1\x56\x5c\x1c\x1d\x1f\xdd\x92\x76\x00\xfc\x11\xa9\x6b\x3e\x74\xea\x84\x0c\x6a\xc3\x05\xfb\x0b\x51\x8c\x77\xaf\xb9\xd8\x1e\x1d\xe3\x38\x19\x23\xf8\x39\xbf\xeb\x5a\x4e\x9a\x39\x55\x8a\x75\xeb\x10\x5d\xf3\x4e\xd1\x4e\x21\x98\x9e\x48\x79\xc7\x45\x83\x80\x2e\xba\x7e\x98\xfa\x04\x43\x09\x76\x4b\xea\xdd\xd5\xd0\xd2\x10\x2c\x69\xa7\x5e\x6d\x09\x6b\xcf\x78\x43\x03\xb8\x22\x37\x94\x0f\x2a\x84\x6c\xe8\x36\xfa\xd4\x00\xde\x72\xf5\x86\x37\x6c\xc5\x68\xd8\x51\xb5\xed\x67\x79\xf7\xef\x48\xdb\xce\x48\x4f\x85\x44\x81\x78\x55\x77\x74\x79\x5a\xa0\xed\x39\xd9\xc9\xeb\xeb\x4b\x0d\x18\xd4\x26\x9e\x02\x14\x38\x67\xeb\xee\x7d\x7f\x45\xff\x3c\x30\x61\x1a\xd1\x45\x6a\xde\xd0\xeb\x5d\x4f\xcf\x48\xdb\xa6\xb0\xd7\x2d\x91\x1b\x0c\x31\xdf\x4a\x07\xa2\x1f\x7a\x2e\x14\x6d\x4e\xb1\xf6\x5b\xbe\x66\xdd\x35\xbf\xa1\x08\xe4\x0d\x5b\x0b\xa2\xe8\x35\xcf\x51\xf3\xa1\xae\xa9\xf4\x4d\xb8\x89\xbd\xa2\x35\xbf\xa5\x62\xe7\xe0\x7a\xfa\xdc\xcc\x85\xbf\x75\x0f\x4f\xfb\x1e\x03\x87\x83\x09\xe1\xd9\x48\x43\xe4\x38\xda\x64\x80\xd8\xd2\x5e\x92\xee\xe6\x8c\x88\xe6\x5d\x4f\xbb\xf7\xa2\x05\x88\xa4\xd7\x7a\xb9\x9c\x8a\x5a\xb1\x3a\x84\x9c\xb5\x44\xca\x18\x74\x4e\x76\xe1\xcf\xb7\x6c\xbd\x51\x21\xe0\x9a\x75\x0a\x66\x6f\xc9\x79\xfb\x9a\xb4\x92\xda\xbf\xaf\xc5\x60\xfe\x54\x67\x7c\xbb\x25\x9d\x29\xa3\x2e\xba\x15\x77\x7f\xb5\xac\xa3\x6f\x68\xc3\xc8\x15\x95\x43\xab\x62\xb0\x94\x64\x6d\xb0\xa7\x83\xe2\x25\xdc\x19\xef\x14\xa9\x8b\x9f\x7e\x4f\x8b\x5f\xfe\x44\x3b\xd7\xc1\x08\x79\x4d\x3f\x44\xd5\xf9\xbe\xd5\x4d\x77\xc6\xbb\x15\x5b\x9b\xbf\x67\xc3\xb2\x65\xf5\x8f\x54\x93\xa7\xde\x90\xae\xa3\xed\xf8\xd7\x69\xb3\x65\xdd\x25\x5f\xbf\xba\xa5\x9d\x2a\x80\x4f\x6b\x3d\x73\x67\x1b\xd2\xad\xe9\xe9\xd2\xec\xef\xfb\xca\x5d\xb2\xee\x86\x36\x67\x1b\xb2\x57\x61\x5e\xbb\xc5\x71\x5f\xd1\xd9\x86\x03\x8d\xef\x2b\x37\x57\xac\xbe\xa1\x62\x4e\xf7\x69\xff\x9a\xa9\x96\xee\x51\xee\xbd\xa4\x02\x0e\xfd\xa9\xa2\xe7\x74\x45\x86\x56\xbd\xd4\xf8\xe6\x4a\xaf\x42\x79\x4f\xf9\x96\x2a\x37\xa7\x93\x25\x5f\x35\x4c\xed\x53\x6e\x46\x84\x62\x35\xeb\x49\xa7\x2e\xba\x5b\xa6\xf6\x2e\xfd\x07\xce\xa6\xe7\x20\x28\x7b\x49\xc9\xed\xde\x15\x5f\xf3\xf5\xba\xa5\x50\xe6\xb0\x4f\x5e\x92\xe9\x0f\xe6\x8a\xf7\x33\xde\x96\x16\xb4\x29\x64\xaa\x32\xa4\x98\x9e\x0b\x53\x72\x26\xe8\x0f\x4c\x2a\x2e\x76\x3f\xb0\xa6\xa1\xd3\x3d\x30\x9f\xe8\x2b\x82\xa8\x41\xec\x55\xff\xbc\xe5\x77\x6f\xcc\xf1\x5b\x2e\xfa\xbe\x6f\x88\xa2\x33\xa6\x57\x51\xa1\xa0\x7c\xcd\x5a\x45\xc5\x88\x7d\xcd\xc5\x32\xe9\xf1\xeb\x21\x24\x4e\xbe\xd1\x1c\xe4\xd5\xb6\x57\xc1\x01\x61\x97\x59\xd6\x42\x0c\x4f\x3e\x0a\x66\x0f\x05\x26\xf3\x1f\x60\xcc\x66\x41\x51\x67\x82\x12\xc3\x59\xe5\xb8\x4b\xba\xc2\x5b\x9a\xd3\x76\x85\x22\x24\xf4\x41\xe2\xb8\x89\x5e\xc8\x97\x5c\x15\xbe\xb2\x07\x7b\x01\xfb\xa3\x3e\x86\x0a\x75\xbe\xa1\x9d\x63\x4d\x10\xec\x15\xad\x69\x81\x90\x72\x4e\x89\xa8\x37\x23\x4e\x9e\x10\xbb\x30\xcc\x25\x20\x43\xd4\xd4\xec\x60\xd8\x7b\x3e\x4e\x18\xae\xda\x1f\xf1\x66\x7e\xc3\x13\x0f\x39\x04\x55\xb0\x66\x54\xb2\x5e\xd5\xb8\x58\xa3\x83\xcb\xfe\x38\x6d\x05\x25\xcd\x2e\x82\x85\xb5\x59\x88\x65\xab\x22\xe0\x8c\xd2\x1b\x0b\x78\x07\x77\xa5\xeb\x4d\x46\x14\x85\xaf\x57\x55\x5a\x91\x2a\x27\x5c\x04\x4a\x87\x18\xdc\x5f\xe6\x6f\x3f\x02\xde\xd0\x80\x1b\xaa\xfd\x05\xee\xf9\x06\xfb\xd7\x5c\x11\x35\xc8\xf1\xb7\x3c\x59\xb6\xdc\x2d\xb2\x04\x34\x6f\x59\x4d\x43\x78\x1d\x2c\xd6\x14\x96\xcc\xab\x43\xaf\xf8\xd0\x45\x00\xb6\x35\x14\x3e\x43\xea\x12\x54\xf2\xf6\x96\x36\x33\x6a\x4e\x0d\x07\xd7\xc7\x34\x35\x1c\x7c\x06\x3b\x67\x92\x2c\xdb\xb8\x51\x87\x8b\xfb\xd4\x10\x45\xfe\x30\x7f\xf7\x56\xff\x59\xbf\xeb\xed\x49\xd6\x30\xd2\xf2\xb5\xff\xc3\x1f\x59\xe1\xcf\xf9\xb0\x5e\x53\x69\x96\x85\x85\xf3\xb6\x09\x8a\xd9\x0e\x8f\x3f\x46\x3c\xaf\x87\xad\xd9\x89\xee\xcf\x53\xa5\x04\x5b\x0e\x8a\x9e\x76\x6c\x4b\x6c\xad\x19\x6e\x68\x18\xc7\x10\xaf\x59\x4b\x2d\x17\x91\xe1\x7e\x20\xd2\x72\x2e\x12\x43\x5f\x6c\xc9\x9a\xce\xd9\x5f\xd0\x6f\xed\x87\x18\xea\x27\xd6\xd0\xb0\x2f\x6e\xd1\x35\x82\xac\x02\x96\x22\xfc\xe9\x8a\xd0\x2d\xff\x85\xfd\x48\x77\xf6\x51\x16\xfe\x34\x9c\x4b\x0a\x95\xe7\x6c\xb5\xa2\x82\x76\xb0\xf2\x00\x73\x49\xba\xf5\x60\x9a\x80\xdf\xef\xaf\xf4\xeb\x8b\x76\xb5\xd8\xf5\xca\x73\x89\xd1\xef\x73\x26\x6b\x22\x1a\x53\x7b\x88\xf0\xfd\x0a\x81\xfa\x6d\xe6\xa6\x37\x42\xfc\x4c\x98\xde\x51\x21\x58\x93\x3f\xfd\x9d\x55\x3a\xd2\x24\x05\xcd\xa9\xb8\x35\x9b\x8a\x0a\x01\xa7\x80\x7b\xc8\xd9\x02\x9a\xf3\x3d\x3a\x3e\x5a\xb1\x56\xcf\xe6\xc6\xfe\xe9\xee\xd9\x6b\xfe\x92\x9e\xd3\x5e\xd0\xda\xae\x9b\x95\x5b\x67\xe6\x0f\xbb\x0e\xd7\x66\x7d\xac\x29\x9f\x71\x06\x6b\xcf\xfd\xe9\xba\xba\x6e\xf9\x92\xb4\x33\xf3\x3e\x0f\x0e\x8e\x0d\x6d\xfb\x13\xd2\xf7\x86\x7f\x70\x00\x78\xf8\x0a\x46\xe5\x25\x93\x0a\x05\xc6\x3b\x2d\xc0\xef\x92\x9f\xf6\xe1\x08\xa0\x86\xd2\x5e\x8f\xd7\xbe\x95\x32\x98\xeb\x2c\x20\x18\x1c\xc5\xf6\xd5\x02\x90\x8e\x9f\xa6\x1d\xd5\x4f\x56\x4d\x4e\xff\x80\x41\xa0\x48\x57\x7b\xc1\xb7\xfc\x9c\x28\x92\x01\xa2\x2e\x08\xb8\x53\xdf\xd0\xf7\xa2\xf5\xb4\x92\x43\xaf\xab\x4e\x7e\xbe\x35\x13\x00\x20\x45\xc5\x56\xbe\x5b\x8d\x33\x8f\x40\xe3\x51\x60\xb8\xa8\x23\x83\xa4\x22\x24\x9a\xfb\xed\x0b\xb1\xf5\x66\x5e\x73\xa1\x6b\x4c\xce\x5b\x0d\x81\x3b\xec\x25\x57\xf3\x3b\xa6\xea\xcd\xec\x0d\xc0\xfa\x41\x9d\xf6\xbd\x7b\xc8\xc1\xef\x97\xc9\x93\xf1\x7b\x33\x2a\x14\x77\x71\x5e\xc2\x84\x6f\xdb\x72\x81\xb0\x7b\xa5\x32\xe6\x95\x5b\xc6\xbb\xa7\x2e\x5a\xc2\xae\x9c\x18\xe7\x1f\xbd\x18\xf8\x7c\x3c\xba\x31\x34\x4a\x0d\x83\x72\xd7\x34\xe0\xce\xfc\xa3\x39\xfc\xe9\xa6\x2a\x84\xbd\x16\x7c\x3b\x1e\x1d\x0e\x93\xd5\x16\xdf\xfc\x1e\xfa\xbe\x6f\x39\x69\x68\x93\x14\xa7\xf5\x8d\x93\x8a\x25\x9f\x04\x98\xf9\xd5\xcc\xc3\x5b\x46\x3b\x35\x13\xfc\x83\x2f\x7a\x1e\xde\x71\x09\xc4\x5f\x74\x06\x9e\x90\xec\x3c\xb9\x31\x22\xe0\xeb\xe0\x60\x73\xb8\x57\xc9\xa9\x1e\x03\xed\xe1\x9b\x03\x5f\xb2\xb5\x1b\x3e\x8a\x8f\xda\x8f\x30\xc5\x0e\x68\x64\x5a\x67\xd8\xbe\x6d\x36\xfc\x99\xd6\xf5\x3a\x3c\x93\x01\xa2\xd7\xcc\xb8\x53\xf4\xaf\xf9\x66\x3c\x2e\x0c\x70\x3c\xb4\xa3\xdf\xd1\x10\x7e\xa4\xbb\x25\x27\xa2\x79\x39\x28\xc5\xbb\xf7\xa2\x3d\x1d\xd4\xc6\x21\xb1\xfd\x04\xb0\x73\x73\xfe\x04\x80\x64\xba\x22\xe0\xab\x0f\x8a\x8a\x8e\xb4\x11\x32\xea\x85\xd9\x94\x41\xdf\xdd\x2e\xbd\x64\xb7\x19\x2c\x1a\x14\x00\x2f\xba\x5b\x9e\xf6\x28\x5a\xbc\x23\x04\xed\x8b\x7d\xb9\x8f\x00\x37\x5d\xe8\xb0\xd0\xed\x91\x1f\x1b\x76\xff\x9d\x91\xb6\x5d\x92\xfa\xe6\x9f\x06\x23\xf8\x0c\x71\xaf\x3a\xc5\xd4\xce\x3e\xbf\xde\x46\xc3\x4f\x8e\x42\x0b\xf0\xcf\xf0\x10\x78\x45\xfb\x76\x77\xcd\x13\xa8\x7d\x1a\xfb\x5d\x2e\x0b\xf8\x91\x79\x46\xb0\xf9\xf8\xb1\x67\x37\x82\x0a\x0e\xd8\x04\xc1\x56\x38\xe2\xcd\x60\xe4\xa8\x18\x6a\x17\xbc\x50\x11\xfc\x6c\xc3\x3b\xa0\x73\x19\xaf\xb8\x63\x3d\x4b\xf8\xd2\xb7\x18\xc5\x2d\xee\x4a\xbf\x48\x26\xea\x35\xf8\x78\x65\x86\x78\x23\x5d\x46\x10\x13\x75\x46\xd5\xbd\xe5\x8a\xad\x76\x2f\x05\x27\x4d\x4d\xe4\x38\x89\x06\xae\xa7\x3e\x01\x85\x27\x88\x81\xbc\x97\x86\xc5\x07\xd0\x8c\xec\xf4\x6c\x9f\x09\xda\x68\x82\x93\x76\x02\x73\xda\x35\x82\xb3\x66\x46\x76\x13\x65\xfa\xbe\xa5\x93\x25\xe6\xe4\x76\xa4\xae\xee\x5d\x72\xc7\x05\x20\xe4\x4e\xb3\x58\x15\xfe\x8e\x16\xa5\x06\x98\x71\x06\x9c\xa9\xc7\xc0\xbc\x63\xc7\xad\x46\x5a\xd1\x8d\xff\xad\x09\x95\xfe\xc6\xba\xe4\xd6\x62\x0c\x88\xcf\xd0\xe8\xe4\xc8\xef\xe0\x72\xbf\x34\xe2\x92\xae\x49\xbd\x43\xd1\x86\x09\xff\x91\xee\x4e\x9b\x86\x36\x2f\x77\xd0\x76\x8e\x3d\x0b\xe5\x1a\x09\xee\x35\x17\x77\x44\x34\x32\xc7\xe4\x23\x8b\x51\x6f\x87\xed\x32\x20\x51\x8c\x9c\x7d\x3b\x43\x30\x82\xeb\x27\x49\x4c\x0d\x8f\x35\xf2\x85\x6b\xb6\xa5\x52\x91\x6d\x9f\x14\xf8\x89\xb4\x03\x3d\x6d\x5b\x7e\x77\x9a\xf5\x68\xc4\x9d\xe5\x82\x91\x42\xc1\xe4\x18\xcc\x0a\xc4\xfb\x24\xc0\x9e\x33\x49\x26\xba\xe1\xd0\xfb\xf4\xc4\x97\x9d\xe8\x8c\x2b\x13\xf5\xe7\x8a\x6a\xce\xfc\x8a\x12\xc9\xbb\xb3\x0d\x6b\x9b\xd3\xe5\x20\x29\x8a\xe5\xfd\x4e\x58\x8d\x54\x86\xfc\x9e\xf2\x0b\x21\x68\x4b\x6f\x49\x87\x16\x78\xa7\x36\xe3\x0c\x87\x88\x19\x17\x1d\x5f\x0b\xd2\x6f\x76\x18\x7a\xde\x93\x2d\x06\xff\x89\xf1\xd6\xbe\xcf\x99\xd1\x09\xd7\x83\xa0\x21\x6f\x34\x42\xd2\xc5\x3e\x62\x52\xde\xca\x60\x80\x5a\x1e\xc4\xba\x75\x6b\x58\x7b\x0f\xf2\x8a\x19\x27\x3c\x79\xb5\xe5\xbf\xb0\x1c\x1d\xf2\x3a\x23\x34\xda\xb0\x23\x78\xbc\xb1\x03\x98\xa2\xdb\x1c\x9a\xb1\x6b\x23\xea\x7a\x33\x6c\x97\x09\x58\x3f\xeb\x11\x3e\x2b\xc6\x46\x3b\xe9\xda\xe8\xc0\x31\xda\x81\x1e\x32\xfa\x91\x1e\x8f\x06\xd8\x0e\x9e\x2b\x0d\x8f\x3f\xfd\x77\x34\xfe\xc2\x59\xa8\xc1\xe1\x31\xfa\xb3\xd3\x95\x67\x80\xb7\x3c\x9c\x74\x0f\x0e\x3b\xf0\x33\x5d\xa6\x83\xff\x99\x2e\xf5\x67\x8e\x25\x4c\x47\x69\xd1\x11\xd8\xf1\x89\xbf\x48\xde\x9d\x0a\x01\x57\x93\xfe\xfb\x25\xe7\xad\xfd\xf3\xad\x11\xfe\x9a\x3f\xed\x91\xa6\x7f\xbc\x5b\xfe\x42\xe1\x08\x1f\x7f\xb8\x35\xa6\x21\x73\x25\x8c\x80\xe7\x26\xe2\xa8\x33\xc0\xcb\x61\x97\xc1\x1c\x8f\x98\x21\x2c\x4b\x1c\x03\xad\x90\x49\x73\xc7\xe3\xd0\xd0\x22\xee\xfc\xc7\x91\x86\xe9\x4d\x70\xfc\x2e\x83\x99\xc7\xbd\x79\x95\x66\x48\xc3\xc3\x64\x30\xfb\x8a\x68\xc9\x92\xb6\xb4\x99\x09\x43\xf5\x96\x74\xeb\x19\xa9\x6f\x22\xc9\x9c\x03\x06\xc2\x39\x07\xf2\x34\x8d\x01\xa3\xbc\x2f\x86\xcf\xda\x41\x90\x96\xfd\x05\x50\x5b\x22\x6f\xce\x38\x37\x57\xd9\xd6\x2f\x4c\xfb\x97\xd1\x6d\xbd\xe4\x0a\x0e\x77\xf3\x41\x88\xb1\x3c\x07\x88\xd8\xb3\xcf\x2c\xd2\xda\x3f\xe8\x85\x8f\x94\x50\xa7\x4d\x63\x37\x4d\x86\x2a\x56\xab\xcc\xd0\xdc\x3e\x2e\xa0\x4b\xd5\xbe\x6a\x98\x2a\x7e\xaa\x91\x4e\xbf\x9c\x21\xff\xc0\x59\xa7\x19\x06\x2b\x33\xcc\xf0\xa1\xa9\x47\x8c\xb4\xba\x00\xb0\x4c\xc9\x90\x83\x54\x7c\x6b\xfe\x4e\x71\xee\xfc\x88\x80\xf0\x8c\xb5\xd2\xa6\x18\x41\xf9\x4c\xf0\x0f\x6c\xcb\xd4\xee\x8a\x92\x7a\x93\xcf\x98\xd5\x94\x9e\xb5\x94\x64\xc4\xb1\x7c\xe7\xdc\x9c\x1d\x25\xd4\x9b\xac\xd9\x90\xe5\x89\x11\xac\x7b\x83\x2f\xa9\x79\x2d\x28\xed\xe4\x86\xc3\xf9\x9b\x0d\x3b\xb8\x9b\x24\xd6\x9d\x14\x1f\xf6\x29\x21\x99\x79\x3c\xbe\xb4\xd6\x2a\x19\xbc\xe5\xf5\xcd\x9f\x07\x1e\x2e\x33\x8b\xe1\x6d\x5e\x3a\xb4\x39\x89\x30\x67\x44\x6e\x14\x59\x67\x60\x23\x7c\x8d\x60\x60\x88\x95\x02\x7f\xc0\xbf\xbf\x50\xa4\x85\xe7\xde\x16\x79\x09\x17\xc0\xf6\xb2\x8c\x50\xee\x84\x8b\x81\x22\x03\xe9\x03\xe2\x26\x83\x5e\xd3\x0f\xca\x1c\x60\x11\xf8\x7d\xd7\x50\x61\x4f\xbb\x04\x71\xd3\xf1\xbb\xac\x7f\x51\x15\xaf\xef\x9a\x1f\x28\x69\xc2\x1d\x7a\xd1\x29\x2a\x88\xdd\x2f\x83\xfe\x11\x9c\x49\x89\x8c\x25\x84\x5a\xce\x23\x02\x8d\x57\x60\x08\x4e\x96\x46\x28\x4e\xd9\x66\x62\xcf\x04\x62\x45\x2c\x21\x74\x94\xa7\x84\xd0\xe4\x68\x09\x25\x27\x21\xe8\x7d\x67\x45\xd7\xe1\x1e\x8d\xc4\x23\x21\xec\x67\xba\x9c\x45\xdb\xe8\x8a\x74\xd1\x4f\xda\xb7\x8c\xca\x18\xb0\x4b\x29\x3c\x8a\xc4\x2d\x40\x1f\x91\x3f\x45\x8b\xdf\x41\xc0\xf8\xd0\xeb\xec\x12\xe4\x9b\xa1\x55\xac\x0f\xcf\xc8\x9f\x18\xbd\x0b\x5a\x97\x27\x64\xb5\xa2\xb5\xa2\x8d\x3d\x6f\x30\x94\x7b\xb1\x47\xb8\xb6\x0d\x14\x6a\x18\x38\xd6\x26\x8c\x25\x44\xbd\x61\xb7\xb4\xc1\xbe\x5e\x72\xe5\x58\x87\xd3\x4e\xde\x85\x14\x01\xe4\xa8\x84\xf7\xd0\xc4\x7e\x22\x41\x39\xcd\x77\x04\xcb\x0a\x49\xa7\xce\xf5\xd0\x66\xe3\xf5\x24\x19\xac\x30\x2e\xa3\xe1\x94\x08\x68\xfa\x83\xbc\x6d\x26\xeb\x41\x4a\xc6\xf3\x23\x59\x9e\xac\x48\x81\x74\x11\xa2\xd0\xe2\x8a\x82\x29\x0d\xfe\x7d\x82\x2b\x55\xc1\x87\xae\x19\x39\x7b\x39\x85\x2b\x54\xe1\x55\x30\xd1\xc7\xac\xd3\x07\xca\x2d\x3d\x4b\x27\xc8\x9d\x4c\x0d\x53\x56\x0f\x95\xa2\xb2\x25\xbd\x45\x16\x83\xfb\xa3\xd0\x29\xf7\x47\x36\x1b\x3d\xa5\xe2\x3c\x9f\x5a\xa3\xf0\xc2\x08\x19\x63\x0a\xcd\x49\x3d\x5b\xdf\xb3\x95\x44\x81\xa5\x8f\xc0\x38\xc5\x9e\xb8\x31\xa2\xcb\x34\x01\x38\x12\x59\x51\x32\x34\xe8\x43\xa0\x17\x9d\x54\xa4\x6d\xcd\xd6\x3b\x35\x9b\x77\x8f\x92\xa3\xc5\x6c\x5a\x12\x85\x15\x86\x7c\xcb\x95\x57\xad\x76\x94\x08\x2a\xd5\xb9\xbe\x65\xbb\x5c\x50\xd8\x45\x32\xc2\x2e\x14\x0f\x76\x91\x64\xb0\x33\x47\x42\x6f\xe8\xa0\xff\x01\xde\xe2\xb4\xab\x37\xa0\x76\x1e\x21\xd6\xd0\x20\x00\xa8\x0d\x17\xe7\x86\xd5\xf5\xd0\x88\x33\xf1\xd0\x51\xee\x37\x82\x78\xdb\x26\x8d\x9e\xf1\x5b\x1a\xb5\x79\x4e\x15\x61\x20\xa6\x1c\x41\xec\x96\x35\x71\xa9\x57\xdb\x25\xd0\x29\x06\xcc\x38\xd0\xc9\x03\x5f\x73\xae\xe2\xef\xfc\x35\xe3\x21\x3f\x3a\xd3\x06\x0f\xb1\xd4\xf6\xbf\xdf\x90\x3e\xfc\xf9\x4e\x34\xfa\x79\x9e\x96\x9a\x11\x41\x40\x5e\x12\x01\xed\x05\x3b\x02\x04\x5d\x71\xb1\x25\x4a\xc5\xdd\x9f\x0d\x6d\x9b\x51\xf0\x8a\xb6\x44\xd1\xe6\x54\x28\x56\x1b\x2b\x79\x8f\x9a\xb7\xac\xa1\x72\x03\x6f\xbb\x11\x38\x2c\x37\xd9\xf8\xe6\xc3\x52\xd9\x47\x82\x87\x5d\x93\x65\x02\x48\x4b\xc4\x57\xbe\x07\x3b\x31\x76\x0f\x6a\x10\x77\xe5\xf6\x60\x9b\x20\x41\x2c\x02\xc5\x64\x02\xb4\xfa\x55\x07\xb2\x14\x44\x8b\x07\xb8\xe0\xab\x98\x12\x16\x08\xa3\x38\xa3\x7e\x2d\xc3\xef\x2b\x4b\x12\xa3\xbb\xfc\xb1\x59\x9d\xb6\x6b\x3e\xff\xe1\xf4\xdb\xff\xf2\x7b\xf3\xff\xb3\x97\x3f\x9e\xbf\xfe\xf6\x87\x37\xa7\x67\xf3\x1f\x4e\xff\xcb\x6f\xbf\x65\x8a\x8a\xdf\x7e\xa3\xff\x33\xf8\x37\xbc\x99\x61\x75\x8c\x9c\x62\x6f\x65\xde\x1b\x22\xec\x5a\x86\xdf\xde\x52\xc4\x6a\xdf\x2d\x18\xe4\xe1\x81\x7c\xdc\xb2\xf6\x16\x2b\x4f\x9c\x71\xba\x3d\xda\x3d\xdc\xfe\x61\xbd\x3a\x52\xf0\x15\xad\x29\xeb\x15\x8a\xb1\x6a\xeb\x14\xf1\x13\x15\x6c\xc5\x8c\x78\xe1\x2d\xa5\x0d\x8d\xba\x01\x47\x6f\xdc\x73\x79\x72\x4b\x5a\xd6\x68\xc2\x67\x63\xa3\x54\xbc\xf4\xb6\x61\x7d\x24\xe5\xef\x47\x11\xbe\xfe\x13\x24\x1a\xbe\x58\x26\xba\xef\xad\x60\x3e\x2e\x96\x14\xb0\xcf\xe3\x5e\x3f\x0d\x4e\xfa\xe0\x09\x87\xfe\x7d\x5a\xd7\xb4\xb7\x75\x39\x98\x35\xfa\x31\x42\xca\x97\x83\xdc\x15\x91\xfa\x07\xef\x3a\x23\x18\xc2\x8b\xfc\x40\xba\xf5\xd0\x17\xd1\x6f\x98\x94\x68\xeb\x31\xd0\x71\xf8\x1e\x30\x13\x5c\xf1\x9a\x47\x63\x09\xcd\x8f\x3c\x70\x34\x3d\xea\xad\x2a\x42\x77\xd7\xee\xc5\x18\xf2\x33\x5d\x0a\x55\x1b\xb8\x39\x89\xf4\xbf\x67\xf0\xde\xb6\xd6\x5e\x7d\xa8\xad\x80\x1f\x33\xa2\x36\x21\x32\xfd\x3b\x2a\xac\x01\x33\xc1\xd7\x82\x4a\x69\x2e\x46\x03\x56\x82\xf5\x7d\xdc\x88\x3c\x89\x7a\x61\x7f\xca\xf4\xb7\xe3\x40\x7a\xf3\x12\xd1\xff\x78\x5e\x78\xfc\xa1\x99\x7b\xb8\xcd\x34\x68\x64\x8b\x7b\xde\x0f\x2d\x11\xe3\xf3\xab\xe7\x52\x9d\x36\x8d\x30\x57\x71\x5f\x52\xa8\xf4\xb8\x2e\xa5\xc7\xd4\x28\x3d\xaa\x41\xe9\x0b\xca\x93\x1e\xd3\x9b\xf4\x25\x95\x49\x3f\xa1\x2d\xe9\x71\x45\x49\x06\x46\x34\x13\x79\x99\x51\x23\x91\xe1\x1c\x9f\xd0\x17\x95\x22\x18\xe6\x9e\x56\x11\x55\x08\x86\x76\x6d\x6b\x26\x52\x3f\x92\xcc\x81\x31\x72\x6d\x81\x9d\x95\x3d\x64\x12\x88\x9f\xba\x00\x1e\xb9\x6c\x04\xf0\xf1\x4c\x0f\x81\xe6\xb0\x11\xfa\x55\x6a\xad\x84\x88\xb8\x81\xfd\x0e\x30\x67\x5f\xf1\x9a\x8b\xda\xbc\x5d\x53\xcc\x0f\xac\xa1\x29\x2c\xa8\x43\x2a\xc1\x60\x73\x9a\xe3\xe2\xe8\xf8\x08\x0e\xdf\x44\xad\x28\x41\x6e\x14\x5c\x1c\x9e\x85\xf5\x48\x7b\x65\xc8\x50\xc7\x32\xfe\x70\xbb\xd4\x40\x66\xf1\x6d\x56\xbe\x05\x4b\x5f\x98\x72\x25\xec\x48\x49\x8b\x6e\x09\xeb\x9c\xf8\x28\x00\xb9\xed\x66\x40\xce\xf1\xed\x7a\xd7\xe3\xc0\x77\x1d\x7d\xb7\xf2\x98\x39\xad\x05\x0d\xdd\x0c\x65\xa4\x17\x0a\x7e\xbd\xb2\x06\x94\x29\x28\xa2\xd8\x08\x8e\x68\x17\x83\x25\x06\x17\xbc\x53\x73\x33\xc9\x29\xee\x8a\xde\x52\x21\x69\x01\xab\x6f\x3a\x86\x21\xae\x05\xe9\x64\x6b\xfc\x38\xf1\xce\x24\x25\x92\x7e\x59\x7b\xd0\x00\x02\x1e\x77\xfe\xdc\x4b\x10\x2f\x49\x77\xa3\xcf\x17\x6a\x25\x4f\x09\xfa\x5c\xb0\x5b\x2a\x2e\x59\x4d\x3b\x49\x73\x74\x3c\xaf\x1e\x7c\x01\x2b\x55\xed\x2c\x87\x93\x62\x3b\x63\xa6\x33\xb3\x06\x97\x79\x89\xfb\x31\x57\x74\xcd\xa4\x12\x4e\x43\x92\x96\xa2\x42\xf2\x8e\xb4\xe3\x0b\x22\x2d\x10\x2d\x3e\x0f\xbe\xa2\x9d\x22\xed\xe9\x5a\xd0\x02\x39\xae\xe9\xb6\xe7\x82\x88\xdd\x74\xfb\xef\x15\x6b\x99\xda\xbd\x64\xad\x21\x4e\xd7\x78\x83\xa1\xae\xa6\xad\x97\x9a\x87\x98\x0d\xe7\xd2\x6d\x7a\xac\xc0\xf7\x64\xab\x37\xce\x0e\xc5\x8d\xea\x22\x0c\x7d\x45\x6b\x2e\x1a\x78\xc2\x95\xd1\x60\xd0\x52\x46\x03\xbf\x8f\xa1\xaf\x77\x3d\xeb\xd6\x18\xc6\xe8\x6e\x8b\xcd\x1a\xb4\x13\x7a\x96\x4b\xc0\x7d\x58\x46\x17\xfb\x6d\xd0\x49\xbf\x37\xac\xd7\xdd\xf5\x32\x42\xa9\x88\xe6\xbc\xdd\xe3\x59\xef\x04\xe9\xc1\x5b\xba\x26\x6b\xc1\x87\x3e\x05\x1b\xb9\x64\x08\x3c\x5d\x4a\x73\x6b\x76\xcd\x4c\xd0\x5b\x07\xd6\xef\x63\x10\x7a\x9e\x93\x9d\x2f\xfb\xbd\x7d\x1b\x8e\x3f\x4e\xe5\xae\xab\x23\x88\x3f\xb6\x0c\x84\x0f\xfd\x35\xef\x9d\xaf\x48\x04\x34\xb7\x5c\x56\x56\x3f\x80\x47\xe8\x8c\x0a\x7d\xab\xf9\xf3\x51\xc3\x8c\x81\xbc\x15\x3a\xcc\x8c\x86\x32\x12\x80\x8c\x3f\xe0\x69\x6e\xae\x1b\x0f\x03\x71\x6a\x88\xe0\x82\xac\xe9\x89\xe6\x60\x8c\x1d\x58\x08\xf9\x43\x4f\xd7\x09\xe8\x0d\xbf\x4d\x21\xfd\xef\x32\xc8\x7f\x4e\x20\xc0\x56\x80\x85\x5f\x04\x6d\xd2\x06\x67\x5d\xda\x5e\x70\x2f\x05\xd0\x9f\xe9\x52\x5f\xc5\x8a\x7e\x50\x5e\xe8\xa1\x7f\x58\x45\x8a\xfe\xf3\x8c\x77\x35\xb0\x17\xfa\x87\x3b\xf0\xcc\xdf\xe6\x5a\xd5\x7f\xbf\x66\x1f\xa8\xfb\x00\x1c\x28\xdc\xdf\x4e\x17\xa2\x7f\xe8\x9b\xdf\x97\x72\x47\x10\xfc\xad\x2f\x44\xfb\xb7\xd7\x66\xc0\x8f\x61\x29\x6b\x61\x9e\x77\xe6\x77\x4f\x45\x04\x09\xf5\x19\xca\xab\x3c\x94\x35\x02\x50\x89\xfe\xdf\xba\xbc\x8c\x7f\x9d\x99\x68\x03\xbb\x97\x5c\x49\xaf\x05\x46\x70\x60\xfe\x9d\xc0\xed\x43\x4f\x22\x18\x2e\x04\x95\x3d\xef\xf4\x3d\x80\xe0\x2d\x07\xed\x04\x54\x38\xd6\xf1\x7f\x09\x16\x16\x38\x02\x77\xae\x3f\x29\x38\xb4\x1f\x54\xc6\x0b\x7b\x00\x5b\xf9\x97\xa3\x80\xdd\xd9\x6f\x7a\x84\x21\x45\x01\x3c\xa7\xa0\x4a\xf3\xd0\x99\xa0\xf5\x86\xd6\x37\x7c\x50\xd9\x17\x73\x7b\xe0\x64\x88\x9f\xe9\x72\xc3\xf9\x8d\xf5\x34\xc2\xc0\xf1\x27\xe3\xab\x3a\xfa\x7d\x7a\x4b\x58\x4b\x96\x2d\x0d\x84\xfe\x51\x01\x0b\x0f\xde\x2c\x18\xda\x89\x8d\x23\x5c\xec\xb7\x16\xa1\xae\x28\xf1\x9a\x90\x33\x13\x26\x22\xfb\xfc\x9a\xf3\x4b\x0e\xdb\x30\x02\xeb\x69\x35\x77\x46\x8a\x19\xd5\x45\x1e\xac\x70\x47\xe7\x11\x1f\x79\xd2\x35\x65\x94\x39\x38\x51\xa4\xd1\xbb\x97\xb0\x71\x73\x58\xe7\x9d\x72\xc4\xff\x84\x47\xcd\x15\x95\x74\x24\xdb\xb9\xf5\x24\x1b\x6b\x33\xad\x9e\x65\x1a\x9b\x10\x5b\x00\xcf\xf5\x93\x7d\x68\x23\x5d\x94\xc5\xc7\xce\x69\x39\x10\x64\x6a\x28\x26\xad\xc4\xdb\xc6\x86\xc0\xf7\x9d\xd0\x13\x4f\xc4\xcd\x88\x88\xbd\xbb\x0c\xf0\x55\xc3\x54\x3c\xb4\x08\x95\xc1\x42\x73\xfe\x84\xbc\xa9\xb8\x5e\xea\xa5\x97\x62\xcd\x5d\x6e\x40\xaf\x13\xad\x90\x85\x7a\x23\xfb\x11\x66\xf5\xa3\x7a\xed\x07\x23\xbd\x70\x7e\x2f\xf8\xe1\x70\x69\xad\x52\x32\x40\xba\xdc\x2f\xc3\xe8\x1a\x06\x14\x5a\x7e\x47\x10\xab\x69\xcd\x60\x56\xcb\x69\xe0\x6f\xe9\x5d\x81\xa6\x6f\xe9\x1d\xa2\xd5\xf0\x38\x04\x94\x2e\xa1\x08\x17\xf2\x00\x16\x9a\xca\xea\x0c\x78\x16\xc9\xfe\x46\xd8\x28\xc1\x1b\x61\xf9\xc7\x81\xc0\x24\x81\x80\xa3\x7b\xcb\xba\xb5\x7d\xa4\x0d\x81\x9b\x7a\x69\xc7\x18\xec\xa8\x9d\x0a\xa1\x79\x61\x23\x6e\x18\x7f\x2b\x69\x82\x2f\x8c\x7d\xd6\xcb\xcc\xb6\x75\xee\x95\x90\x17\xdd\x92\x7f\x98\x2e\xf2\x6e\x50\x85\x32\xc5\x8f\x91\x4f\x5e\xe7\xda\xc9\x11\x69\xb5\xd3\x79\x7d\x16\x81\xd4\x57\x3c\xab\xaf\x52\xdd\x9d\x01\xcf\x03\x9d\x9c\x85\x18\x2d\x3c\xac\x04\xe6\x2d\xd3\x2c\x6e\x63\xde\x6a\xc1\x2f\x30\x2c\x4a\xd6\x16\x20\x50\xa0\xb1\x86\x49\x10\x91\x62\x35\x83\xc5\x27\x99\x33\x7a\x34\xbf\xf4\x29\x6d\x0d\x4a\x46\x80\xe3\xb7\x22\x08\x08\xda\x46\x88\x77\x7b\x1e\x41\xc9\x71\x94\xde\x51\x63\x61\xaf\x7e\x8f\x0c\xe0\x8a\x38\xc7\x3c\x16\x0b\xa4\xe7\x89\x3c\x69\xb0\x8a\x9b\x62\x8d\x23\xc6\x89\x51\x73\x4c\xde\x88\x7e\x1a\x04\x65\xcf\xf8\x76\xc9\xc2\x8b\x40\x86\x9f\xe8\x07\xd6\x49\xdd\x38\x41\x45\x0c\xb8\xa2\xe6\xb7\xd7\x30\x58\xf4\x2a\x2a\xac\x7f\x9d\x35\xdd\x15\x6d\x98\x30\x92\x76\x8b\xb8\x33\x16\x9e\x1a\x60\x4c\x0e\xad\xd6\x75\x14\xe9\x47\x70\xcb\x28\xa4\x60\x2b\x35\xd7\x60\x23\xcc\x1b\x02\xfb\x56\xfd\xb7\x35\x8a\xd0\x7f\x26\xf2\xd7\x14\x14\x7e\x65\x16\x4a\x0e\xb9\x24\x52\xbd\xe1\x1d\xd8\x47\xc6\xd0\x9f\x4d\x74\x80\x11\xf8\x6e\xb5\xb2\xec\x76\x00\xeb\x32\x90\xd9\xa0\x20\x59\xbc\xa5\x2e\xfc\x97\x7e\xd3\x5a\x71\xfa\x5d\x60\x77\x7b\x97\x99\xdc\x7a\x48\x70\xfc\xa6\x51\xab\x0c\x28\x30\x3e\x0a\x7e\xbd\xe5\xce\xc5\xef\xce\x2f\x7c\xfb\x97\xf7\xfb\x76\x7b\xcf\xc2\x1d\x51\xec\xcf\x58\x99\x6d\x81\x33\xda\x35\x7a\x57\xfd\xe9\xaf\xc7\x3e\xc2\xd9\x96\xaa\x0d\x6f\xf0\xe0\x66\x30\xe7\x59\x0c\x2b\x17\xa6\x0c\x64\x2a\xa3\xf7\xa2\x79\xa0\x79\xac\x8b\xe8\x03\x74\x1d\xa1\xb4\xbe\x09\x22\xed\x04\x21\xcf\x56\x4c\x6c\x8b\x95\x59\x74\x5a\x1b\x98\x7c\x3a\x3a\x38\x68\x03\xcc\xda\xa9\xf9\x95\xc1\x63\x43\x76\x87\x5b\xb1\x8e\xc9\x8d\xb5\xee\x9e\x53\xb8\x51\x02\xf4\x9a\x2a\x5b\x9f\x8d\x2d\x16\xc0\xdb\x36\xb4\x2f\x4c\x90\x13\xd1\xe1\x52\x74\xfe\xe9\x54\x8c\xb8\x35\x55\x91\x99\x68\x72\x3f\x24\xc5\xf0\x68\x72\x6b\xaa\xbe\x2f\x38\x9a\x07\x45\x40\xde\xf0\x33\x16\xa6\x6d\x4d\xad\xbf\xd3\xab\x0f\x7a\x9d\xe4\x63\xc8\xd8\x97\x00\x87\xc4\x82\x0b\xa0\x85\x6f\x3c\xfb\x10\x00\xf1\x09\x5d\x53\x95\xae\x0b\x07\x4a\x2a\xbd\x46\xe3\xd2\xad\x69\x64\x59\x8f\x81\x93\x7a\x7e\x2e\x07\xa5\x3b\x61\x1d\x53\xc5\xc5\xc5\x8c\xc9\x4a\xda\x5d\x0b\xc6\x7a\x21\x40\x08\x4a\xc5\x39\xb5\x06\x7a\x23\xa2\xe7\x42\x59\x49\xc3\x08\x94\xb4\x6b\x4a\x5b\x4b\x63\x8b\x5b\x1c\x90\xc5\x59\x04\x2c\x4a\x0e\x83\xc9\xcf\xbb\x49\x7c\x58\x81\x24\xb7\xf4\x9e\x1d\xa0\x8b\xe0\x73\xaf\x31\x29\x35\x35\x0c\x23\xa5\x26\xcd\xd9\x78\x54\x25\x21\x0f\x01\x1b\x9c\x3d\x08\x1a\x74\xfa\x3b\x2c\x5e\xe2\x88\xc5\xbf\xc5\x8f\x14\xb9\xdf\xc6\x96\x53\x1b\x5b\xde\xbf\xb1\x25\xb6\x9b\x86\xae\xb8\xb2\xdc\x3b\x58\x83\x2f\xdd\xcb\x23\x46\x16\xd7\x89\xe5\xf5\xcb\x5b\xdb\x3d\x0e\xb8\x65\x51\x62\xb8\x67\x0e\x63\x70\x3a\xc3\x23\xeb\x98\xdc\x2d\x86\xaf\xc9\x8b\x6b\x28\xb6\x24\x6e\xc7\x19\xcd\xa0\xfe\x06\x82\x38\x92\x70\x3d\x5e\x66\xd1\x1c\x97\xac\x6b\xae\xe9\xb6\xd7\xab\xdb\x44\xe6\x33\x61\x22\xe1\xbe\x0c\x43\x33\xd6\xa1\x93\xbf\x03\x36\x82\xf7\xc1\xd7\x32\x0e\x29\x89\x06\x94\x34\xa8\xbc\x23\x26\xb8\x04\xfa\x89\x41\xbd\xe4\x53\xd8\xbc\xc2\x96\xaf\xdf\x99\x08\xa0\xfa\x97\x30\x91\x27\xd3\x01\x08\xeb\x0a\x53\x88\x4f\x69\x8e\xa3\x90\x0c\xf9\x11\x24\x83\x80\x93\x51\x51\xc9\xd6\xdd\x45\x17\xfe\x02\x0f\x89\x25\x57\xf2\x84\x80\x51\x02\x22\xc8\x03\x2c\xd4\x04\xbe\x13\x23\x6b\x6a\x11\x6a\xb4\xd4\x97\x71\x78\xac\x98\x59\x19\x11\xc0\x77\x9c\xa5\xe1\x16\xa5\x65\x31\x8a\x88\xd1\xbc\x39\x41\x04\x0f\xe5\x04\xa3\x9b\x47\x3e\xa3\x0d\x4b\x23\xae\x19\x60\x1a\xe6\xcc\x40\xb3\x38\x6b\x06\x9c\x47\x8c\x33\xf0\x24\x0e\xa3\x01\x26\x71\x14\xa5\x5d\x75\x71\x60\x1c\x8f\xd4\x1c\x8c\x8d\x5a\x86\x81\x69\x63\x02\x57\x06\xa2\xec\xb0\x4c\x01\xac\xdf\x0c\x08\x71\x35\x1f\x03\xc2\xe9\xd7\x5c\x8c\x02\x81\xa4\xc4\xc5\x68\xdb\x8b\x55\x7d\x49\x57\xa5\x56\xb1\xc9\x01\x56\x05\x0d\xb9\x16\x63\xa2\x8f\x6c\x8c\x1c\x8e\x0c\xe1\x17\xce\x3a\x04\xdc\x52\x72\x8b\x2d\x27\x31\x0a\x1d\x52\xb0\x53\x6b\x8e\x02\x87\x00\xad\x27\xcc\xfa\x8d\x7a\xa8\xa4\x6a\x24\x1a\xd0\x31\xc1\x06\x42\x0a\x0f\x56\xf7\xc4\x52\x74\x25\xb0\xd0\x89\x1e\x97\x45\x4a\x94\xf9\x21\xee\x83\x86\x99\xc3\xf6\x2c\x0d\x98\x26\x4f\x48\xd3\x20\x50\x88\x91\x96\x01\x5e\x0b\xbd\xfd\x9d\xf3\x83\xc7\x99\xad\x66\x2d\x91\x10\x0c\x16\x0c\x6d\x4d\xd5\xcb\x3c\x34\xdb\xc8\x96\x5f\x9c\xa7\xc5\x0b\xb5\x8c\x42\xbb\x10\xea\x7c\xf8\x23\x18\x5c\x84\x34\xad\xe0\x1a\x09\xbf\x66\x0e\xf0\x42\x10\x37\xa4\x76\x80\xda\x8a\xae\x88\x35\x6d\x4b\x03\xbf\x61\xd3\x22\x7d\xb0\xc2\x31\xba\x9b\x9e\x5c\xac\x53\x43\xe7\x66\xc5\x84\xc3\x72\xe4\x7d\x1d\x47\xc9\xb2\x67\x90\x8f\x5e\x23\x7d\xe0\x2b\x58\x02\xd7\x68\xc0\xa6\x86\xc9\x2d\x93\xd2\x86\x82\x33\xdb\x1f\x10\xba\xae\xf7\x49\x40\x26\x7d\x0a\xf5\xbd\x61\xfb\x4c\x74\xb9\x10\x1c\x05\xa7\x32\xb0\x38\x00\x94\x9e\xcb\x20\x0a\xaf\x87\xe5\x00\x24\x2e\xd7\x9a\xaa\x73\x24\xb0\x16\x9c\x50\x69\x08\x2d\xfd\x84\x0a\x0c\xce\x1d\x6c\x86\x86\xd1\x82\xf7\x51\x12\x28\x6b\x4d\xd5\x15\x12\x15\x4b\xaf\xa5\x38\x30\xd6\x08\x09\x63\x63\xe9\xc5\x35\x11\x08\x6b\x4d\x33\xca\x6e\x58\x43\xb3\x5e\x00\x33\xdf\xf7\x97\x23\xa5\xcd\x9d\x6b\x6a\x93\x9e\xbf\xd3\xaf\xa4\xc8\x92\x92\x75\xb7\xfc\x86\x9e\xae\x14\x15\x6f\xe4\x3a\x03\x48\x0f\xf9\x99\xa9\xcd\x25\xc4\x72\x0f\x21\x5e\x73\x61\xbd\x9f\x46\xcc\xb5\x0f\x65\x3e\xc2\xf8\xe0\x3a\x64\x7d\x60\x7b\x52\xdf\xc0\x74\xa5\x8e\xb5\x0e\x11\xa8\x24\x52\x70\xe0\x73\x9b\x82\xd3\xea\x8d\x9b\x6d\xe4\x90\x60\x16\x7a\xa4\x63\x49\x70\xa3\x37\xf0\x88\x68\x1a\xa7\x29\x8b\x7d\x8b\x28\x38\x02\x8c\x56\x79\x23\xaa\xa5\x44\x9c\xb6\x2d\xa8\x92\x64\x86\xc9\x44\xd4\x23\xda\xf1\x3f\x91\xbb\x86\x67\x7e\xb2\x3e\xa4\xdc\x4f\x82\xc0\xfc\xa6\x9a\xa2\xc6\x2d\xf2\x51\x22\xa2\xc1\xc9\x44\x8d\x26\x4c\xb9\x90\xd6\x39\xc2\x72\x4f\x19\x02\xd7\x7c\x66\xc5\x12\xc7\xbd\x11\x91\xf8\x03\x1b\x84\x57\x6e\x21\xce\x2f\x34\xd2\xcc\x8d\x60\x60\xaf\xf0\x99\x5b\xe9\xb7\xaf\x8f\x08\x19\x38\x3f\x81\xb2\x19\x23\x96\x91\x54\x65\x8e\x4d\x06\x9c\x2f\x00\x2b\xd8\x42\xe6\x5e\x63\x26\xbc\xe7\x34\x5a\x29\x63\xdc\x8c\xa3\x5f\x4e\xf9\xd7\x19\xde\x2f\xeb\x8b\xe6\xce\x8d\xd3\x74\x8a\x39\x47\x9c\xe4\x60\xcf\xc6\x1a\xd6\x1c\x37\xaa\x54\x71\x7c\x0e\x9d\xf0\x88\xd3\x78\x2b\xb9\x7d\xb9\xb3\x86\x80\x21\xf2\x55\x18\x42\x73\x0a\x17\x9d\x35\xc5\x52\xe1\x51\x92\x15\x32\xe6\x45\x21\x38\xd5\xcc\x46\xb8\x09\x77\xbc\x91\xe3\x56\x09\xf8\x7b\xb2\xa5\x3f\xa0\x2e\x74\x6b\xaa\x90\x7d\x0e\xb7\x9b\xdd\x01\x88\xff\xa4\x47\x4f\xd6\xfb\x86\xc8\x9b\x42\x37\xdf\x94\xfd\xf3\x62\x06\x1e\x03\x67\xae\x7b\x6b\xaa\xde\xb5\x98\x2a\x30\x2a\xe1\x43\x0d\x87\xd0\x19\xee\xa9\x67\x31\x81\xe8\x23\x42\x25\x2a\xd4\x08\x17\x99\xd6\xa7\x98\x9f\xb8\xca\xba\x60\x8e\x6d\xf7\xb4\xc3\xb1\x85\x31\x65\x7e\xc1\x23\x2b\x9a\xfa\x09\x6a\xb8\x3b\x9c\xf1\x09\x9f\x3c\xbb\x41\x6e\x1b\x78\x12\x66\xc8\xbe\x65\x0a\xee\xed\x0c\x33\x9a\xd0\xc5\x60\xcc\x83\x70\x4d\x4b\x43\xf5\x31\x83\xa7\x4e\x0a\x7b\x46\x8c\x71\xd2\x42\x64\xe6\x64\x1d\x42\x67\x82\xde\x32\x7a\x17\xbb\x9c\x36\x91\x42\xfe\x25\x89\x4e\x3e\xcb\xb1\xa3\xc7\xbd\x15\x05\xe3\x63\xdc\x12\x71\x13\x1e\x69\x11\xce\x84\x98\x48\x77\xb0\x2e\x16\x3d\x94\x23\x8c\x37\x69\x40\xe6\x55\xe0\x3a\xf2\x08\x5f\xf8\x0c\x23\x23\xfe\x60\x8d\xdc\x58\xf5\x45\x83\xad\x20\x87\xfb\xa7\x81\x0e\x34\x46\x70\xd1\xb8\x18\x73\xa8\xd7\x2c\xe0\x0b\xfe\xc3\xe6\x8d\x9c\x43\x3c\x51\xec\xf3\x39\x41\xe7\x50\x90\x31\xe1\xbc\x89\x45\x22\x3c\x9c\xe6\x94\xe1\x32\x4e\x81\xc6\xb2\x33\x02\x45\x3b\x39\x77\xd1\xcd\x21\x46\x24\x9c\xc3\x0b\x94\x90\xb4\x6b\x42\x87\x07\x1c\x81\x78\xfa\x8e\xc8\x2c\x82\x80\xc1\x27\x57\x41\x8a\x76\x11\xa5\x12\x60\x76\xe9\x02\x78\x68\x15\x43\x3f\x98\x3c\x7e\x4c\x01\x17\x54\x24\x11\xb1\x47\xa5\xe2\x78\x07\x5e\x5a\x58\x64\x60\x0c\x3e\xb0\x4c\x44\x0e\x6f\x53\xc6\x59\x28\xe2\x05\x3c\x0d\xbd\x1d\x44\x88\x45\x62\xba\x00\x7c\xea\x92\x95\xe1\x25\x8b\x7d\x8c\xb4\xa4\x08\xc8\x88\x43\x98\x79\xde\x7b\x5b\xb5\x1c\x55\x58\x4e\x43\x37\x79\x8a\x0d\x5d\xcf\xba\xd3\x16\x8d\xa1\x80\xda\xd8\x4d\x60\xbd\x8d\x4a\x52\x26\x32\x4a\x8a\xd1\x2d\x27\xe5\x35\x6d\xd0\x6e\x95\x79\xd7\x4c\x78\x24\xcd\x31\xa7\x4d\xcd\xe5\x16\x7c\x4a\xe1\xf9\x8e\xba\x95\x8e\x18\xc4\xb3\xd4\x5d\xc3\x69\x4b\x46\xb3\x87\xd6\xe7\x3c\x47\x33\xc7\x51\x70\xe1\xb4\xe2\xb4\xc0\x6f\xd3\x29\xd9\x23\x98\x7d\x63\x45\x30\xcd\x8f\x93\xb6\xf5\x7c\xb7\x81\xba\xf3\x38\x2a\x6a\x4f\xba\x08\xa6\xcf\x2e\xf0\xc8\xa4\xcb\x61\xfc\x1c\x76\x64\x62\x7e\xe6\x30\xf0\xbd\x97\x4a\x59\x47\xc5\x66\x0c\xea\x24\x47\xa8\x15\x49\xa4\xe0\x48\xc1\x34\x8b\x3d\x20\xcd\xec\x26\x38\xe3\x70\xa0\xe7\x11\xf7\x50\x00\xf6\x11\x75\x52\x18\x19\x4b\x23\xe1\x0e\x0c\x80\xd3\x02\xf1\x87\xe0\xb3\x21\x77\x5d\x3d\xba\x29\x98\xfb\x55\xbf\xec\xed\xa6\xb9\xe6\x91\x87\x80\xb4\x56\x16\x16\x3b\xe3\x92\x79\xf7\x0a\x57\x00\x9e\xea\x73\xc4\xbd\x40\xdf\x43\x5b\xee\xdf\x91\xaf\x05\xdf\x26\x78\x49\x91\xf8\x79\xce\x5e\x69\x94\xd2\xa3\x76\x57\xa9\xdc\x24\x80\xcf\xbd\xa5\x13\xd8\x1b\x19\x69\x5a\x6c\xc9\x34\xc2\xf4\x63\xca\x1a\x7b\x39\x4c\x56\xb4\x50\xee\xe7\xd1\x90\xc9\xc0\x84\x35\x8c\xca\x9a\xd3\x4b\xf2\x25\xd3\xa7\x07\xf8\x39\xc4\x88\x10\x2a\x35\x59\xec\xb3\xe8\xfd\x68\xd7\xe4\xd7\x9d\xf4\x00\x19\x19\x26\x80\x57\x89\x8c\xcc\x6e\x94\x71\xb8\x1b\x8d\x6e\x7e\x73\x74\x7c\x74\x9a\x26\xb1\x4b\xb5\x73\x05\x9d\xf8\xcb\x2c\xbd\xda\x4b\x97\x19\x4d\xff\x6d\xe2\xf0\x45\xf1\xa8\x5e\xfa\x1c\x68\x69\x24\xf6\x10\xe4\x2f\xe8\x50\xde\x79\x16\x67\x1d\x3b\xc3\x73\x8d\x61\x60\xef\x0e\x84\x21\xc7\x74\x44\x67\x59\x3e\xa3\xb3\x42\xe2\x22\xd4\x60\x3e\x07\x46\x1f\xd8\x22\x49\x42\x9b\xb3\x3c\xa1\xcd\xd9\x18\xba\x27\x62\xcb\xcf\xa2\x44\x33\x67\x59\xa2\x19\xc4\x90\x3d\x14\x18\x9d\xc5\xb9\x60\x46\xb2\x7a\x25\xc6\x59\x92\x0b\xe6\x7c\xcc\x8c\x72\x3e\x66\x46\x39\x77\x99\x51\x92\x8b\xf1\xbc\x90\x19\x25\x0a\x13\x1f\x58\x9d\x9d\xa7\xf9\x44\x34\x2c\x36\x2e\x7f\x15\xa7\x09\x29\x4b\x2c\x5e\x25\x09\x41\x02\x81\x44\x1a\x3a\x3e\xbd\x6d\x11\x43\x6a\xe7\x8b\xe5\xb2\xfe\x44\xb3\xf0\x0a\x4d\xcc\xf1\x7a\x4c\xcc\x91\x84\xa9\xf4\x4a\x86\x28\xec\xbb\x8d\xe7\x15\x04\x40\x2f\x19\x4e\xfc\x10\x24\x6d\xb8\xc8\x92\x36\x5c\x20\x49\x1b\x20\x28\x56\x90\xb4\x01\x7e\x23\xbb\x0d\x85\x83\xad\x7a\x8c\xf1\x9b\x11\xc0\xa3\x56\xd0\xfd\xf4\x2b\xcc\x02\xb2\x04\x02\x06\x1e\x25\x10\x30\xa0\x60\x18\x69\x3e\x01\x03\x19\x57\x0b\xfc\x4e\xe7\x32\x06\xda\x09\x05\x60\xfa\x77\x30\x21\x06\x16\x4e\x06\x40\xec\x8c\x98\xbf\xc7\x69\xb9\xf0\xf1\xe0\xc7\x1f\x11\x01\xa3\x58\xdc\x17\xc5\xc0\xdb\x17\x2e\xd4\x74\xf8\x77\x66\xb9\x72\x91\x46\x9d\xbe\x08\x23\x4c\x5f\xc4\x31\x95\x13\xc8\xd5\x30\x0e\x39\x8a\xbd\x7b\x91\xc7\xd1\xbd\xc8\xe3\xe8\x5e\xc4\x61\x6b\x73\x88\x8d\x7c\x7b\x91\x47\xaa\x75\x50\x77\xee\x5f\x60\x91\x68\x2f\x82\xc0\xb3\x17\x69\x00\xd9\x8b\x3c\x28\xec\x05\x1e\xf5\x75\x8c\x66\xa7\x4f\xa6\x38\x72\xab\x86\xb8\xbf\x7f\x4c\x03\xb7\xfe\x88\x84\x46\xbd\x8c\x23\x9a\x5e\x62\x11\x4d\x2f\xf3\x88\xa6\x97\x69\x44\xd3\x37\x61\x78\xd2\x71\x7d\xd8\xbf\xfc\xed\x13\x25\x0a\x18\x7f\x87\x41\x06\xdd\x2e\x44\x83\x0c\x86\x49\x4d\xc6\x9f\x4e\xcb\x14\x24\x10\x30\xb2\xb4\x30\xa3\x40\xda\x40\x10\x52\x2f\xf1\x08\xcb\xee\xba\x50\x13\x18\x2d\x76\x1b\x5b\xd7\x0a\xa3\x66\x2e\x50\x90\xfd\x7b\x8c\x11\x34\x0b\xc2\x01\x05\x3f\x83\x70\x3f\x16\x9a\x85\xfa\x99\x25\xa1\x7e\x66\x71\xa8\x9f\x24\x10\x01\x40\xe2\xf8\x3c\x33\x3c\x3e\xcf\x0c\x8f\xcf\xa3\x31\x66\x68\xb1\xa3\x4b\xec\xe2\x82\x6e\xdc\x44\xca\x1a\x6e\xe1\x19\x1a\x29\x26\x44\x04\xd1\x5f\x66\x59\x54\x17\xb7\xf9\x67\x41\x38\x16\xeb\x3e\x34\x0b\xc3\xa3\xcc\xf2\xf0\x28\xb1\x0c\x77\x96\x86\x47\x99\x45\xe1\x51\xa2\x73\x25\x3e\x52\xae\x0a\x01\x39\x02\x15\x2f\xfc\xea\xdb\x9d\x8f\x75\x11\x46\x06\x87\x9f\x79\xe8\x8b\x2b\x56\x6f\xac\xd6\xd9\xcc\x84\xef\xd9\x7c\x2a\x00\xc6\x3c\x0c\x80\x11\x1d\x74\x73\x2c\x3c\xc5\x08\x6f\x09\xeb\xa2\xcf\x92\x18\x14\x73\x3c\xd2\x44\x7c\x72\xa6\xcc\x75\x0c\xb2\x2c\xc0\x3c\x8e\x0e\x00\x10\x2f\x4a\xf2\xc7\xc1\x3c\xf5\x4d\x9f\xe3\x8e\xe5\x73\xcc\xb1\x7c\x1e\x3a\x96\xcf\x31\xa7\xf1\x39\xee\x34\x3e\x47\x9d\xc6\xe7\x88\xd3\x78\x20\xf1\x9e\x47\x4e\xe3\xd1\x2d\x31\x47\x9c\xc6\xdd\x45\x90\xde\x01\xd7\xde\x1b\xf9\x3a\x76\xda\xcd\x21\xce\x88\xc3\xe6\x51\xf6\x06\x00\xa3\xaa\xfc\x7d\xe8\xf6\xa1\x7f\x9b\xbb\xe5\xfd\xe8\xe3\xf1\x3e\xf7\xf1\x88\x9c\x7e\x7e\x02\xff\x8a\x4a\x7f\xfc\x53\xe0\x61\x11\x5e\x4c\x3f\x23\xfe\x14\x88\x7d\x71\x7c\x75\x8d\x12\xfa\x9f\x13\xd7\x89\xc0\xae\x73\xca\x44\xbf\x68\x9e\x7c\x8f\x69\x72\xd9\x32\x17\xb1\x34\x9f\xdd\x93\xc0\x7d\xc2\x6e\x76\x86\x27\x70\x9f\x17\x12\xb8\x5f\x67\x09\xdc\x33\x7b\x78\xdc\x18\x1e\xb5\xf1\x46\xcd\xb7\x07\xb5\x39\x41\x2d\x4a\x5d\xd6\x70\xf7\xfb\xd5\x54\x82\xf4\xdc\xf0\xb4\x64\x4c\x3a\x4f\x92\x9d\xcf\x83\x04\xe5\x47\xc7\x47\xcb\x9d\x8a\x2d\xcf\x4e\xcb\x99\x54\xd1\xb7\xe4\x04\x36\x32\x6d\x42\x4c\xc1\x30\xe3\xab\xd7\x69\xba\xcd\x8b\x89\x74\x9b\x57\x85\x74\x9b\x81\x69\x55\xc3\x07\x13\x46\x10\xac\x6a\x32\x43\x25\xd4\x00\xe9\x2c\x4e\xfc\x77\x96\x27\xfe\xc3\xec\x93\x72\xe3\x24\xdc\x0a\x29\x33\xfe\xc1\xec\x8f\x12\xe3\x23\xc4\xf2\x08\x37\xf2\x9a\x32\x46\x0a\x2c\x91\xcc\x8b\xa1\xe5\xb1\x30\xfb\xb4\x1c\x63\xf8\x74\x22\xc6\x70\xc1\x0c\x62\xca\x06\x62\x52\x41\x80\x0b\xe7\xcf\x90\x30\xc1\x99\xb9\x03\x66\xeb\x80\x28\xb8\x26\x2d\x15\x8a\xb6\x00\x53\x5a\xbd\xd7\x13\x01\x77\x71\x75\xfd\x45\x29\x92\xee\x84\xa6\x3e\x61\x80\x53\x78\x04\x2b\xe8\xd9\xcb\xda\x6d\x54\x89\x3d\x2f\x05\xb3\x9d\xdf\x13\xaf\x16\xd7\x61\xcc\xf1\x28\xb4\x48\x91\xa8\x17\x3f\x05\xf1\x65\xbd\xf4\xbe\xa4\x3f\x28\x08\xfb\xcb\x9a\x83\x59\x29\x26\x25\xaa\x4f\xf8\xa9\x18\x6e\x12\x64\xf1\xb3\x38\xd8\xa3\xe2\xf2\x24\x91\xa6\x7b\xc9\xbb\x11\x6a\x17\xc4\xe7\x05\xd9\x79\x26\x17\x37\xf1\x62\x34\x5b\xe9\xe2\x93\xb9\xa7\x9e\x93\x27\x4f\xc9\xa0\x51\x60\x22\x7d\xce\x64\xc1\xf1\x2f\x27\x43\xfe\xd3\x5f\xff\xf4\x57\x38\x82\xa5\x12\x83\xe6\x56\xe4\xd1\x77\xff\x32\x4a\x9b\xbe\xf3\x62\xdd\x40\x00\xd5\x50\x13\x30\x46\x5f\x6c\xdf\xfd\x8f\x23\x13\xdb\xb4\xd2\xc8\x8a\xaf\x2a\xd2\x55\x83\xcd\xb1\x53\x69\xce\xe8\xb8\x52\xbc\x5a\xd2\x0a\xf4\x86\x1a\xc6\x45\x05\x2a\x1c\xa6\x76\x15\x59\x29\x2a\xaa\xc6\x72\x1c\x47\x7f\x3a\x3e\x5a\x31\xda\x36\xd0\x89\x8d\xed\x40\xd4\x9c\x6e\xed\x79\xd8\x9c\x6e\xa2\xaa\x37\x43\x77\x73\x48\x43\xc7\x47\x2d\xeb\x6e\xe4\xd1\x77\xdd\xd0\xb6\x7f\xd5\xbf\xb6\x4c\xe5\x8d\x5d\xd2\x6e\x6d\x52\x93\x44\xa5\xf9\x6a\x25\x29\x52\xfc\x1d\xc0\xab\x95\xe0\xdb\xea\x6e\x43\x05\xd5\x3d\x02\x5d\x63\x55\xf3\x6d\x3f\x68\x36\xa7\x72\x03\xd8\x18\x62\x86\x35\xff\xf5\xaf\x23\xff\x39\x52\x7e\xe4\x48\x13\xc2\xeb\x73\xb5\x0a\xa6\x4e\x93\xc3\x39\x91\x47\x94\x34\x71\xd9\xf3\xd1\x31\xa9\xf4\x37\x80\xae\xb6\xc6\x8c\x81\x36\x15\xeb\xaa\xd1\x17\x3d\x1e\x39\x5c\x4c\x59\x45\x67\x83\x10\xb4\x53\x95\xbd\xb6\xe2\x4f\x24\xfd\x73\xfe\xc5\x35\x57\xa4\xad\x3a\x88\x63\xa9\xbb\x20\xf5\xe7\xa5\x46\x87\x91\x24\xf8\x00\x8a\x1f\x82\xe6\xa2\xfc\x99\x46\xef\x33\x6e\x3d\x2f\xde\x75\x38\x63\xab\xc7\x99\x2a\x97\xc9\xe6\xee\x9a\xb6\x74\x2d\xc8\xb6\x72\xdc\xc6\xa7\x8f\x55\xf4\x99\x5e\xbe\x5b\x3d\x8d\xb6\x23\xff\xe3\x68\xa3\x54\x2f\xbf\x7b\xf1\x42\xdf\x49\x27\xca\x7e\x7f\xc2\xc5\xfa\x85\x4b\x34\x1c\xcf\x3a\x35\xba\x99\x9c\xf6\x48\xd3\xb6\xec\x81\xad\xfd\xf5\xf8\x68\xd5\x92\x35\xd2\xc6\x6b\x0d\x3e\xae\x24\xa5\xd5\xf5\xa5\x5e\xa3\x0d\x28\xf0\x48\x5b\x99\xfe\x7d\xfa\xb8\x5f\x5b\x5b\xd5\x0b\xae\xf8\x8b\xeb\xcb\xe7\x35\x04\x0e\x20\xfa\x88\xfa\x4d\x50\xe1\x73\x3b\x60\xdd\x19\x1b\xf4\x73\xd1\xf3\x96\xd5\xbb\xc5\x20\xda\xbc\x67\xef\xaf\x2e\xf5\xdc\xab\x0d\xad\xa4\x61\xb7\xbe\x92\x95\xfd\xb0\x32\x1f\x66\xeb\x48\xd8\x77\xfc\x42\xed\x7a\x6c\x1d\xba\x77\x7e\x85\x91\xd6\x65\x2f\x7f\x08\x75\x0b\x0b\x58\x5f\x5d\x15\x59\xf2\x41\xc1\x38\x96\x5c\xe9\x83\xe6\x6e\xc3\xea\x0d\x00\xf4\xd2\xa9\xee\x58\xdb\xea\xe3\x50\x0e\xcb\x2d\xb3\x31\xc1\xe3\x61\x39\x15\x5d\x5a\xfd\x69\x2b\x28\x69\x76\xe3\x97\x8f\x3c\xae\xe2\x76\x92\xf7\xed\x25\xe4\x10\xbc\xe4\xeb\x35\x6d\x9e\xb3\xae\x92\xc6\x01\x39\x39\xfb\xf2\x06\x92\xc3\x20\xff\x7e\x72\xf3\xe7\xcf\x63\xb4\xcf\xd8\x2b\x3a\xe9\x39\x88\x59\xf5\xa6\xe7\xee\x5a\xaa\xa4\x2b\x1c\x5f\x84\x6c\x8d\x5c\x84\x9a\x3f\xd5\x27\x2e\xa9\x06\xcd\x5b\x54\xbd\xb0\x01\xa2\x92\x9b\x8d\xdf\x61\x83\xbe\xdb\xe3\xd3\x2d\x6d\xd8\xb0\xcd\xbf\x7e\x03\xf0\x7b\x2b\x08\x09\x57\x27\x82\x83\x9c\x66\x69\x89\x9c\xcd\xa0\x9d\x64\x9a\xf5\xae\x6c\xd1\x02\xb5\x9e\xd4\x89\x24\x5d\xa7\x17\x35\xe9\x16\xc6\xa8\x21\xef\xdb\xcf\x1b\xaa\x36\x54\xc0\xde\xad\xed\x5d\x5a\x83\x3a\xab\xaa\x49\x57\x99\xcf\xec\x91\x55\x22\x82\x3e\x01\x6e\x19\xbd\xab\xde\xce\x5f\xff\xec\xb0\xc8\x65\xec\xfa\x43\x3b\xb2\x6c\x69\x53\xee\x8c\xae\x4c\xf3\x2b\xe6\x76\xb6\xad\x3e\xd3\xb5\x7f\xed\x1b\x67\xb2\x72\xf5\x94\xe7\xde\x05\xbb\x47\x26\xbd\x1f\x45\x32\xc9\x6c\x9b\x07\xe1\x20\xfc\x5d\x58\xa9\x3b\xfe\x7c\x45\x80\xcf\x89\xf6\x74\xc2\xea\x18\xf2\x2d\x48\xbb\xe6\xc8\xd5\xb7\xa1\xd5\x8f\xe7\xaf\x2b\x8d\x15\x4c\x6d\xb6\x50\xf3\xfc\x6a\x96\xd6\xae\x79\x02\xa3\x12\xfa\xf4\xd1\x5d\x17\x6e\x66\x82\x4e\xef\xb1\x5e\x48\xcf\x5e\x48\xd1\xc3\x6a\xa0\x5b\xc2\xda\xc5\xd0\x59\x83\x24\xda\x2c\x7a\xa2\x14\x15\x1d\x72\x06\xfb\x66\x2a\xeb\x8d\xbc\xab\xe0\xf3\x4f\x1f\xab\x3b\xa6\xcc\x39\x2f\x7b\x5a\x43\x20\x94\xca\xd6\xf3\xe9\x6f\x7a\x4a\xa4\xd2\x47\x3f\xb9\x33\xa1\xdc\xab\xdb\x20\x38\xff\x41\x7d\xfe\x0d\x34\xf8\x3c\xf9\x7e\xfa\x33\x37\xa0\x27\xc7\x1b\x6c\x88\x5c\x84\x2b\xb1\xbc\x03\xf5\xa5\xab\xb9\xf3\x8a\x20\x53\x6d\xf7\x91\xae\xcd\xcd\xcb\xde\xb5\xf9\x89\x34\x91\x69\xaa\xda\xae\x71\xe4\x6a\xd6\xf5\x9b\x10\xc0\x8b\xd2\x2d\xed\x1b\x71\x77\x73\x3f\xde\xcd\xd8\xbe\xdc\x9b\xe9\xd8\xb0\x0e\x79\xdb\x5c\xd3\x0f\xaa\xd2\x28\xb3\x19\x37\xb4\x4c\x9c\x8e\xde\x3d\xea\xfe\x53\x5c\x53\x51\xbf\xa8\xba\x0a\xcc\xbe\xf4\xaa\xee\xe8\x9d\xef\xc1\x9e\x2c\x48\xb8\x15\x75\x1f\x2d\x81\x0f\xe9\x2a\x42\xec\x07\x50\xd8\x36\x2c\x48\xd7\x70\xe4\x7e\x35\xda\x9d\xca\xa0\x2b\x2f\x19\x48\x4e\x72\xd1\x2f\x5e\x22\xdf\x8a\xbe\x7a\x59\xf5\x44\xf7\xd1\xd1\x36\x3a\x2e\xf7\xed\x70\x48\x2c\xdd\x16\x43\x76\x8d\x6e\xec\xe2\xfc\x71\x5b\xc3\x6e\x8e\x58\x83\x50\xbe\x46\x52\x4d\x43\xc6\x41\xd8\xab\x52\x77\xd5\xde\x9b\xd5\xd0\x57\x24\x5a\x4c\xc9\x23\x0a\xa2\x65\x64\x23\x9f\xe1\x87\x73\x36\x4b\x4f\xeb\x08\xfc\xb2\x1b\x1b\x26\xdf\xed\x16\xbf\x6d\x1f\xb6\x35\x5d\x17\x16\xb8\x10\x48\x37\x67\x24\x2a\x70\xf7\xd9\xb9\xd0\x65\x1f\xb2\xbc\x83\xb3\x40\x06\x8b\xac\xf0\x6a\x0e\x8e\x59\x39\x2e\xb5\x87\xbf\x80\xfa\x54\x0d\x56\x5e\xdf\xe5\xa5\x0d\x0a\x33\x45\x2b\x06\x2f\x43\x29\x79\xcd\x88\xa6\x8d\xe2\xd1\x8c\x1a\xfc\xb3\x78\xd1\x1e\xe3\x57\x88\x2e\xf9\xc7\xe1\x9b\x6f\xbe\xfd\x7d\x25\x79\xc5\xbb\xaf\x3f\x4f\x18\x81\xef\xa3\x6f\x5f\x9f\x56\x57\x09\x7f\xf3\xd9\x3c\xca\x93\xe3\x3d\x7e\xc5\xc5\x15\x2a\x52\x91\x85\x15\xeb\x59\xb1\x45\x55\xef\x2a\x01\xe8\x7d\x24\x8a\xa0\x15\x89\x65\x11\xf0\x71\x45\x7a\x93\xcb\x24\x91\xab\xb8\x6e\x25\x87\x6b\xd4\xee\x9e\x42\x3d\xb0\x52\xde\xb7\xe9\x90\x44\x32\x52\x2a\xe7\x34\x92\x89\xd2\x39\x15\xe4\x99\x57\x99\x32\xab\xb7\xaa\x75\xa1\x7c\xe5\x97\x19\x7d\xfd\xbd\xf9\xf4\x59\xd4\x79\x5d\x51\x75\x47\x24\x54\xfe\x75\xb5\x1d\xa4\xaa\xb6\x44\x01\x96\x49\xcf\xf0\x1f\xb0\x5b\x42\xd6\xbc\x35\x82\x6d\xb4\x37\x06\xe7\x5e\x3d\xe1\xce\x32\xa3\x2b\x93\x52\x59\x3d\x7c\x4e\x44\xe5\x35\xf4\x29\xf9\xc8\x0d\x1f\x14\x9c\x36\x31\xd9\x30\x7e\xc3\xea\xf9\x2b\xb0\x21\x2d\x76\xc2\xa8\xfe\x91\x3e\x38\x9b\x80\xa4\x0b\x56\xa7\xa5\x4f\x4b\x53\x62\x0f\x2d\x04\x68\x1f\xf4\x7d\xd9\x93\xb5\xde\xfc\x8c\x77\xc7\xf0\x7b\xcb\x85\x3d\x85\xeb\x96\xd5\x37\xd5\x86\x0a\x7a\xc8\x24\x19\xd5\x82\xfc\x8d\x6e\xf6\xf9\x9a\x76\x54\x8c\x67\xda\x38\xb2\x6c\xd2\xb6\x93\x32\x6b\xf3\x61\x18\x38\xb3\x44\x9d\x38\xb8\x66\x42\xa8\xb7\x1c\x18\x25\x53\xb2\xba\xa3\x30\x52\x4b\x3b\xe8\xa0\xaf\x2b\x30\xb6\x40\x5a\x8a\x4c\x31\x32\xb9\xb8\xcd\x87\x52\x59\xd5\x5d\x81\x2f\x53\xdb\x7e\xe2\x39\x17\xd6\x52\xe0\x65\x40\x33\xb4\x18\x3a\x85\x5d\x4b\x3f\x39\xb5\x51\x4f\x05\xe3\x53\xc2\x8d\xbb\xd1\x82\x24\x1f\xe9\x5d\x68\x5e\x52\x5c\x75\xba\x54\x6f\x4a\x3d\xd5\x95\x17\x74\x31\x7f\x87\x8e\xb8\x7d\xc8\x34\xbd\x0a\xf1\x72\xa5\x95\x38\x76\xcb\xac\x46\xc8\x91\x1b\xad\xc4\x34\x34\x2d\x3a\x4b\x88\xbd\x4f\xd2\xde\xcf\x74\x59\x25\x82\xe4\x83\x84\xcc\xd9\xf7\x55\x6b\xd4\xe2\xfb\x5f\x6d\x65\xe2\x3a\xa7\x9a\x6c\x64\xa3\xb7\x4d\xba\xc9\xd8\x16\x54\x93\x2d\xbb\xd5\x4b\xa6\x6a\xc8\x4e\xa6\x52\x2e\x5b\x47\x3c\x4e\x5d\x10\x3b\x7f\x98\x74\xe5\x8d\xda\x41\xd2\x76\xf5\xbc\xa1\x46\x31\xa9\x5b\x88\xa5\x55\xa3\xde\xaf\x31\xc6\x86\xd9\xc8\x20\x0a\x61\x24\xe5\x0b\x46\x97\x23\x31\xf1\xa1\x22\xac\x93\x46\xfc\x12\x93\x5e\xef\x91\x93\x27\x2c\x33\xd6\x47\x9b\xd7\x45\xdc\x73\xb4\x79\x5e\x31\x55\x5d\x1c\xa4\x62\x2a\x68\x98\x78\xe7\x29\x47\x9b\xca\x86\xbb\xbe\x7f\xaa\x4c\x78\x4f\xa7\x13\x9b\x9c\xb8\xa4\x68\x36\x8d\xa7\x5d\xb0\xae\x94\x63\x7d\x36\xbc\xa3\x6e\x0d\x35\x9c\xca\xee\x2b\x55\xd1\x0f\xa0\xd4\xed\xfc\x5b\xe6\xbb\x58\xfa\xa6\x78\x45\x3b\x45\x45\xb5\x24\x92\xd5\xb0\x06\xc4\xd6\xac\x07\xd2\x35\x95\x64\xeb\xae\x1a\xfa\x4f\x1f\xf7\x7c\xe4\xe8\x03\x53\x8f\xe4\x29\x2f\x23\x2a\xb6\x72\xc1\x57\x0b\xab\xe6\x2c\xbf\x3a\xbe\x92\x15\x14\x36\xa2\x7e\x28\x1c\x50\x0f\x38\x4f\x41\x49\x03\x84\x32\xee\xb5\x80\x4d\xbf\xa9\x96\x74\xa5\xef\x20\x4d\x4b\x2b\x59\xd1\xcf\x4f\xdb\x48\x69\xe9\xd4\xd6\xa8\x11\x8c\x6f\x92\xb5\x12\xe1\xf2\x53\x6c\xd7\x53\xdd\x7c\xc6\xa1\x56\x6a\x43\xd4\xa8\xff\xd4\xa7\x59\x47\x3f\xa8\x8a\xad\xaa\x1d\x1f\xaa\x9a\xb4\xad\x79\x1f\xf8\x80\x9d\x56\x22\xfb\x5d\x35\x7f\x33\xb7\x2c\x7c\xda\xbf\xd7\x2d\x91\x9b\xa9\x4e\x8e\x05\x7e\xe5\x9e\xce\xb7\xb2\xd4\x47\x8d\xfa\x95\x7a\x47\x51\xbb\xd8\xa4\x9f\x78\xa1\xac\xc7\xe7\x44\x11\xe0\x79\x6a\xde\xef\xac\x8e\x2a\x3e\xe3\x97\x54\xdd\x51\xda\x19\x1d\x65\x4d\x3b\x25\xa8\x4c\xce\x7c\x63\x42\x9b\x6d\x0a\x7f\xe2\xc9\xea\x86\xe6\x4f\x56\xec\x59\xe2\xae\x4c\xd8\x2e\x0c\x5c\x0a\x56\xac\x7c\x58\xb6\xa3\x11\x70\x32\xfc\x36\x34\x0f\xce\xf5\xdc\xfa\x1e\xd5\xc8\xea\x99\x1e\xfb\x3f\x5d\x99\x49\x82\x8f\x3e\x7d\xdc\x57\x3c\xa3\x4f\xae\x3f\x8b\xe7\xf0\x55\xf2\x50\xfd\xd0\x33\x81\x91\xe4\x95\x46\xec\xc0\xba\x47\x53\xda\x36\x9c\x91\x46\xb9\x21\xa5\xa6\x3e\xba\xcb\x8a\x57\x82\x76\x8d\x26\x50\x57\xa8\x01\x21\xd0\x1b\x13\xe6\xe5\x9a\x97\x29\x35\x16\xc9\x48\x76\x45\x7b\x4a\xcc\x59\xf5\xe7\x81\x8a\x9d\x93\x86\x8d\x8c\xc8\xf9\x59\xc2\xdf\xd4\xa8\x9c\xfb\xfc\x2c\x7f\x72\xde\x3f\xde\x41\x82\x25\x86\x99\xa0\xfb\xc7\xea\x72\xfa\x17\x47\x3a\x26\xfd\x47\x97\xc6\x2d\x23\x6e\x79\x58\xfa\x7e\x5d\x49\xfd\x49\x43\x9b\xff\x6d\x82\x5d\x45\x74\x8f\x19\xbb\x54\xea\x7d\x9f\x5a\xaf\x27\x9d\xcf\xf0\xc8\x1c\x59\xe1\x1f\xbc\x5c\xf4\x3e\xae\xbe\x7d\x3d\x2a\x3f\x3f\x7d\x3c\xae\x78\xd7\xee\x80\x90\x96\x15\x90\x86\x17\x20\x89\xec\x3d\x50\xa7\x7d\xfa\xdb\xc9\x01\xbb\x41\x8a\xfe\x5e\xb5\x66\x49\xd2\xf8\x20\x41\x4f\x2c\xa4\x72\x83\x88\x04\x3e\x65\x79\xcf\xc9\x43\x04\x3e\x7e\xc2\xa4\x73\x2b\x48\x26\x4a\x8e\xee\x06\x25\x4e\x9a\x8d\x46\x47\xc4\xf4\x31\xbb\x30\x9e\x32\x57\xad\x6f\x2e\xb0\xdf\x42\xe4\x8d\xc0\x50\x9a\x1b\x4f\xdf\x85\xf8\xb5\x77\xac\xef\x3d\x10\xa6\x8f\xc5\x99\xac\x3a\xae\xb9\x23\xe3\xbf\x06\x0b\x53\x9f\xd2\x6c\x0b\x72\x2a\x49\x75\x67\xe4\x77\x60\x06\x4a\xbb\xa6\x62\x70\x49\x54\x49\xb8\xf0\xbd\x07\x0c\x97\xeb\x8b\x34\xd8\x38\x58\xbe\xe9\x3e\x2d\x74\x9f\x0a\x1a\x93\x60\x8c\xba\x80\xb3\x95\x95\x8a\x0b\x6a\x38\xbb\x96\x68\xf6\x58\xd0\xe7\x83\xb4\x23\xa9\x82\xc8\xe4\x0f\xe9\xa3\x8d\x69\x0e\xcc\xa8\xa1\x08\xb2\x2b\x2c\xa9\xf4\xfe\xd6\x64\x04\xb8\x7b\x8b\x8e\x94\xce\x0f\xdf\x7d\x66\xb2\x74\x6c\xc9\xc0\x99\xe6\xb4\xef\x4b\x9b\xc1\xa1\x51\x99\x6f\xbc\x5d\xd5\x46\xf0\x61\xbd\xb1\x7c\xb1\x15\xe6\x93\xbe\x8f\x37\x44\x49\xea\x7a\x19\x49\x5c\xcd\xca\xea\x2a\xe7\xe3\x73\xef\x10\x30\xae\x34\xc3\x4f\x0c\x22\x5c\xe9\xfa\x16\x21\x8e\xf0\xa4\x6d\xbf\xd3\x9b\x7d\xd7\xa9\x0d\x95\xf0\x0a\x04\xe7\x68\xf3\x89\xa2\x96\xff\x03\xbe\xc7\x9c\x68\x08\x0f\xc9\x2b\xd6\xf5\x83\x3a\x79\x08\x29\xf6\x12\x3e\xa7\xc3\x2d\x72\xea\x78\xa1\x83\x08\xb3\xd2\x9f\x05\xe4\x39\x8e\x0f\x8b\xba\xe5\x7a\xf3\xb0\xed\x96\x36\x8c\x28\xda\xee\x4e\xaa\xeb\xf8\xc8\x30\xa4\xdb\x50\xcd\xa3\x06\x8b\xdc\x3e\x67\x99\x92\xb4\x5d\x1d\x57\xbf\x98\xe3\xff\x86\x56\x72\x10\xf6\x44\xca\x0a\xc3\xf5\x40\x25\x6e\x0a\x94\xd0\xbb\x78\x2d\xf9\x8b\x45\xcf\x14\xd4\xf8\x28\x17\x4c\xe1\x21\x92\xa2\xf7\xd8\x5a\x9a\xf0\xf3\x37\xf3\x2f\xb5\x93\x4a\x6f\x91\x89\xe7\x47\x66\x32\x9a\x70\x57\x3d\x43\xb9\xc8\xd3\xd9\x45\x75\x71\x7e\x90\x48\x76\xa9\xaf\x5e\xd6\xad\x17\xb6\x4e\x78\x4d\xf5\xfd\xc2\xf4\x33\x6b\xa0\xef\x2b\x1b\xc6\x3c\x3e\x2c\xf5\x27\xb7\x54\x48\x9c\xdb\xeb\xfb\xca\x21\xd3\x0f\x6b\xeb\x52\x97\x2b\xfa\x0c\xa2\x6a\xa8\xa2\x02\xd2\x1e\x18\xaf\x87\x8b\x59\x5e\x87\x79\x1d\x4d\x59\x49\x31\xa9\x6f\xd2\x50\xfa\x28\x7d\x32\xa1\xdc\xff\x60\x61\x3c\xb0\xd0\x0a\x3b\x58\x37\xc6\x52\x12\x6a\xa8\x5a\x22\x55\x65\xbf\x40\x6b\x33\x81\xa4\x70\x9b\xb0\xbc\x3a\x57\x3a\xab\x0a\x12\xc8\x2c\xb6\xbc\xa1\x88\x3e\xc1\xa4\x97\xa9\x0c\xf6\x69\xdb\x88\xa0\xdc\xc3\x45\xe9\x51\x7b\x7c\xc4\x7a\x64\x17\x6a\x9a\x43\x72\x6c\x6c\x41\xf0\xd5\x8a\xd5\x8c\xb4\x0b\xd2\x23\xdf\x86\xb6\x73\x8e\xe8\x4c\x9a\xd5\x45\x34\x67\x60\x3e\x86\xcb\x35\xad\xd9\x5b\x8d\xf4\x36\x1d\xdc\xbe\xb5\x1b\x8b\x49\x67\x30\x09\x6f\x8d\xe8\x19\x92\xb7\xd4\x12\xb5\xb2\xce\x1f\x09\x0b\xe2\x30\xb9\x13\xc1\x1a\xdd\x7f\x57\x00\xdf\x67\x27\xc9\x9d\x54\x74\x5b\xde\xc9\x73\xc0\x17\x36\xb3\x3d\xef\x26\xcd\xd7\xf7\x32\x5b\x3f\xbd\xdf\x60\x9d\x0c\x0d\xe3\x8b\x5e\x50\x5d\x66\xa1\x99\xe7\x89\x99\xe0\x95\x2d\x08\x93\x02\x02\x26\xf8\xbe\x52\x82\xd4\x37\xc6\xea\x6f\xc7\x87\xaf\x04\x05\xa5\x09\x05\xd9\xa2\xbe\xab\x06\x09\x79\xd0\x93\x7d\xc8\x64\xc1\xae\xf9\xdc\x60\xc0\xe0\x7e\x4b\x14\xab\x2b\xb8\xa4\xbd\x4f\x98\xfc\x3f\xf3\x9d\xc9\x5a\xba\xd0\x7c\xcf\x62\x4b\x3e\xe4\x35\xbe\x21\x1f\xd8\x76\xd8\x56\xba\x84\xbe\x72\x38\x0c\x48\x7f\x24\x83\x61\x3d\xed\xfd\x0e\x0c\x85\xe6\x64\xe4\xa2\xa5\x52\x2e\x1a\xa2\xc8\xe4\x64\x19\xbb\x52\x23\x58\x93\xe4\x56\x4f\xc6\xd6\x5e\xb3\x23\x5b\x94\x5b\x6d\x80\x17\xe5\x01\xb4\x34\x5e\x97\x53\x64\x84\x9c\x95\x7e\x91\xb5\x10\x90\x65\xdf\x55\xb6\x62\x42\xfa\xe7\x19\xc8\x3e\x75\x65\xb2\x82\x5a\xf4\xe9\x40\x52\x95\x95\x71\x10\xc4\xfb\xb0\xff\xa8\x6c\x33\xf7\x8e\xca\x38\x50\xea\x3a\x97\x4c\x09\xd4\xe7\xce\x57\xed\x22\xa1\x55\xb6\x28\x1c\x5f\xa6\x02\xb0\xfe\x86\x26\x91\xc3\x60\x99\x84\xd6\x1b\xcf\x81\x14\x93\xcb\x04\x04\x6d\x98\xaa\x6a\xe2\x2c\xca\xde\x5f\x5d\x56\xbd\xe0\xba\xad\xa6\x5a\xee\x8c\x57\x12\xe9\x6e\xe2\x63\x01\xe7\x5a\x5e\x92\xee\x06\x67\x5b\x50\xff\xad\x0b\xdb\x1e\x3a\x22\x1b\x1a\xf0\x54\xd4\x8a\xd5\xd1\x88\x62\x4c\x7e\xa8\x01\xdc\x98\x36\xc0\xbe\xf0\x5f\x9c\xb5\x44\x4a\xbc\x32\x87\xca\xe9\x63\x10\x58\x75\xe7\x64\x87\x55\xa5\xc1\x88\x98\x7b\x87\x55\xf1\x96\xad\x37\x0a\xab\xc4\x20\x72\x65\xb9\x06\x63\x15\x5d\xb3\x4e\x45\x0a\xba\x14\x83\x28\x8e\x3b\xe5\xec\x64\x4c\x5d\x9c\xb7\xaf\x49\x2b\x43\x81\xd2\x08\xc3\x84\x49\xde\x59\x75\x4b\x76\xfa\x09\xa4\x6b\x14\xbd\xa0\xba\x5e\xb0\x92\xd7\x9f\x53\xd2\xad\x74\x0d\x15\x18\xbf\x9f\xf8\xa6\x20\x58\x4b\xdc\x92\x8d\xdf\x82\x3e\x23\xc6\xc6\x6a\xd2\x4d\x35\xa6\xc4\x90\xb4\xe5\x23\x4a\x86\xad\x05\x61\x26\xd3\xa9\x82\x9f\x4b\x6a\xea\x04\x77\x5f\x5d\xd0\x3c\xdc\x6c\xe3\x20\x57\x61\x5d\x45\xc0\xe1\x36\xb1\xa7\x1b\x5b\x8b\x97\xfb\x0b\x57\x13\xba\x43\xa2\xb2\x39\xd3\xe9\x7f\x8d\x0f\x22\xd7\xff\x6c\xef\xd8\xb0\x99\xd1\x70\xad\x8b\x7c\x66\xb9\xe2\x05\x81\x4b\xae\x64\xf5\x8c\xdc\x12\xd6\xc2\xad\x10\x0c\x5d\x1e\x57\x54\xd5\x5f\xa3\xc3\x44\x6e\xbf\x97\xc1\x97\x28\xd5\xa0\xfb\x26\x2a\xdf\xe7\xd1\x60\xc9\x71\xc3\x0b\xf4\xcd\x76\x71\x5e\xfe\xcc\x93\xcd\x44\x37\x6c\x18\xb1\xb1\x08\x12\x1a\xa6\xe8\x82\x23\xa0\x30\xd8\x58\x1f\xb1\xe7\xd8\x72\xa2\xb8\x60\x41\xf9\x88\x56\x46\xc8\xc9\xa4\xf7\xe0\x3c\x86\x01\xba\x5f\x4e\x58\xf9\xb4\xf9\x16\x6c\xb2\x0c\x7d\x31\x55\x0d\x70\x13\x93\xb4\x80\x12\xc7\x4e\xc6\xa2\x78\x91\x0a\x1a\xb8\xb0\x21\x2e\xb0\x39\xb1\x4f\x0f\x30\x45\xd8\x58\x81\xb2\xde\xbf\xf6\x77\x70\x28\x7d\xfa\x78\x0c\x8e\x74\x20\x5d\x07\x1c\x89\x16\xaa\x61\x4f\xad\x4d\xbe\xf3\xb8\xf3\x38\xe8\x80\x93\xe2\x82\x2f\x5e\x27\x15\x25\x4d\xf4\xf5\x7e\x94\xd7\x7d\x7c\x91\xc5\xef\x34\x62\x5b\xd5\x22\xa3\xb4\x84\x56\x36\x21\xd0\x3e\x92\x59\xf7\x89\x26\xc7\x33\xbd\x56\xf4\x51\x71\x3a\xbb\xd0\xcb\x4e\x7e\xfa\xf8\xf5\x7e\x3d\xd5\xe7\xcd\x0b\xd2\xb3\xdf\x30\xe8\x2a\x68\xf5\xdc\xbe\x49\xf7\xe3\x18\xca\x50\xbf\x58\xf0\x4d\x99\x94\xc1\x7c\x4e\x9b\xea\x6e\x43\x14\xbd\xa5\xc2\x4e\x08\x93\x15\xb1\x89\x80\x9c\x42\x11\xdb\xe6\x7b\x9b\x92\x04\x2b\xe2\x05\x7a\x5e\xc4\x4a\xa6\x4e\x31\xc5\x30\x2d\xad\x1d\x4d\xe5\x4a\x18\x2f\x17\xb5\x03\xc3\x56\xfa\x61\x6f\x4f\x25\xd2\xb3\x17\xbe\x95\x27\x67\x4a\x5f\xdc\x79\x63\x38\xc8\xf4\xd9\xdd\xb7\xbb\xc5\xd6\x84\x0d\x44\xb8\x49\x4d\xed\xea\xc6\xc6\xee\x9c\x3e\xe1\xc7\xd5\xe2\x22\x09\xde\xb3\xa8\xc6\x80\x83\xd8\xba\x22\x95\x8d\x7c\x95\x68\xcd\xf4\xdb\xa4\x20\xe1\x7b\x0d\xef\x16\x94\x15\x78\x52\xb3\xd4\x92\xe2\x10\x40\x36\x84\x8e\xc0\xe8\xb0\x8c\x6c\xbb\xa4\xda\xb1\xd8\xc7\x9c\xe4\xe3\xa3\x5b\xfd\x90\xc9\x3f\xfb\xe9\xcc\xbd\x6f\xf6\x5d\x16\xdf\xd3\x7b\xcf\x19\x5d\xa4\xb4\x1c\xd6\x94\xb7\x1c\xd3\x2c\x3f\xa9\xb9\x5d\x53\xe4\x26\xfd\x3e\xe8\x7a\xe6\xcb\x4a\x09\x2e\x8c\x7b\xcd\x85\x31\x41\x75\x9f\x4a\x7d\x25\x92\xaa\x61\xc2\x44\x27\xd5\x7c\xdf\xa8\x29\x77\xa5\xaa\x2d\xbf\xa5\xf2\x18\x0c\x57\xe9\x5a\x50\x2a\xff\x5b\xf5\xdb\xe7\xbf\xfb\xfd\x37\x07\xa8\xc6\x75\xb3\xcf\x47\x62\xeb\xd5\x67\x2c\xbd\x0f\x34\x05\x3f\x3e\xea\x05\xff\xc0\xb6\x4c\xed\x16\x5d\x90\x6d\x65\x21\x48\xc3\x06\x6c\xce\x0a\x63\xde\xda\xe7\x7c\xc3\xa4\x22\x5d\x0d\x37\x3b\xe9\x8c\x44\x49\xb3\xbd\xd5\x96\x82\xce\x07\x2c\xbf\x5d\x93\x15\x69\xa9\x50\x86\x14\x5b\xaa\xa8\x90\xd5\xb3\x6f\x9e\xff\xf6\x1b\xfd\xdf\xd7\x9f\x45\x8d\x2f\x72\x6a\xfe\x44\xbb\xe4\xf9\x56\x2c\x54\xda\x22\xb7\x80\x8d\x85\x8d\x36\xc2\x6c\xae\xd8\xf0\xa1\x67\x9f\xf0\x49\x79\xdf\x6e\x32\x86\x79\x86\x24\xd9\xc2\xbb\x65\x0d\x76\x54\x02\x09\x9d\x3c\x46\x7c\xe7\x94\x2a\xed\xce\x98\xd2\xfc\xf1\x68\xc5\x07\x21\xff\x3c\x10\x41\xff\x78\x54\x75\x94\x36\xd2\x31\x92\x26\x60\x21\xa2\xdf\xf8\xbc\x13\xb6\xc0\x47\x9a\x8e\xa2\x97\x01\x8c\x19\x7d\x92\x99\x8f\x2e\xce\xdd\xa3\xd0\x8d\xf3\x2b\x09\x42\xc9\x25\x91\xa5\xda\x70\xce\xd4\xd4\x67\xde\x01\xfb\xd6\x88\x2d\xf1\x6b\x2b\xe6\x2e\x2c\x6e\x1b\x61\x12\x5f\xd6\x92\x6d\xfb\x96\x02\x9b\xe6\x58\xfb\xff\x60\xfb\xf6\x62\xfb\xae\xc7\xc7\x50\xee\xae\xcc\x17\x77\x74\xd9\xe3\x0f\x35\xab\x0d\xb0\x05\xaa\xde\xe7\xb5\xfb\x42\xec\x63\x59\x36\x50\x12\x0b\x7c\x4f\x3b\x2a\x58\x8d\x0a\x06\x5c\x7c\x17\x44\x31\x1b\xbd\x13\x85\xab\xfb\x00\x99\x89\x7d\xaa\x35\x13\xe2\x85\x27\xb5\x36\x0e\x13\x05\x4c\xbf\xdf\xdf\x8c\xef\x6a\xf4\xf5\xaf\x20\x59\x10\xb2\x0a\x87\xed\xb2\x23\xac\xf5\x3e\xf4\x05\xc2\xff\x43\x3d\xa8\x0b\x12\x78\x1b\x41\x8d\x98\x28\xfa\x15\x17\x6e\x13\x21\xcb\xbf\xf6\xe9\x75\xc6\x85\x5f\x07\x29\x77\x72\xf9\x70\x12\xf5\xe7\xec\xfc\xed\xa7\x8f\x26\xc8\xa3\x57\xd4\xed\x6b\xdc\x59\x37\x09\x1f\xdd\x43\x76\x9f\xc5\x0d\xc5\xbc\x98\x6c\xb0\x6e\xbe\xaa\x4c\x31\xbd\xab\xa5\xb3\xe3\x85\x8b\xb3\x19\x04\xeb\xd6\xd5\x86\x74\x8d\xdc\x90\x1b\xa3\xe5\x33\x1d\x3c\x3f\x93\x7b\xf2\x5b\xd0\x29\x47\x9b\x31\xdd\x50\x44\x9e\x30\x0b\x51\x42\xa1\x99\xef\xdb\x41\x5d\x7b\x20\xc1\x0a\xf6\xd0\x67\xe7\x6f\xab\xf3\xb3\x4f\x1f\xa3\xfd\x75\xff\xa0\x8f\x83\x09\x40\x16\xf4\xfc\x34\xa0\x3c\xb6\x96\x6c\x62\x98\x80\x54\x3e\x55\x4c\xba\x8e\x0c\xe2\x85\x1c\x7a\x2a\x20\x1e\x2b\xe2\x61\x4c\xc0\x9c\xba\x60\x2f\x79\x0a\x48\x2c\x48\xe7\xf1\x11\x69\xb6\xac\x5b\x08\x93\x4e\x09\x61\x3b\xb7\xac\xab\x0c\xd6\x1d\xc3\xc6\x33\xa0\x33\xa6\x2e\xb6\xd7\x66\xd7\x9a\x72\x7b\xef\x57\x7d\x4b\xdb\x86\x8d\x2a\xa7\xeb\x68\x53\xec\x8a\xc9\xfb\xf4\xf7\xea\x8b\x8b\x88\x8b\x5c\x93\xd2\xb4\x46\x5c\x7b\xb9\xaa\x1d\xec\x6a\x38\xc2\xcc\x62\xb1\xd1\xcc\x10\xac\xd0\xd4\x7c\x68\x46\x37\x8e\x08\xb5\xf5\x41\xd8\x00\xa2\x6c\x60\x21\x4f\x9a\x5f\x38\x18\x61\x80\xfa\xd7\x2f\x9f\x17\xb6\xda\x63\x7d\xdc\xb1\x90\x90\xe0\x7d\x46\xec\xf3\xec\xb8\x62\x4a\xda\x18\x45\xbc\xc3\xe3\xa1\x36\x26\x0d\xfb\xe2\x9e\xb9\xb3\xd9\xda\xcd\xe3\xcf\xce\xe0\x23\xcc\xd2\x93\xba\xb9\x37\x44\x2e\xd0\x07\x50\x64\x1a\xa6\x49\x4f\x5b\x1b\x43\x6b\x4d\x79\x3f\x66\x03\x4c\x04\x0d\x44\x2e\x34\x64\x8f\xfa\xc6\x0a\x7b\x1b\x39\x45\x4f\x7b\xd5\x9a\x64\x5b\xf7\xbb\xfc\x8c\x7a\xa1\xd2\x7a\x6b\xe9\x6a\xd2\xe6\x2d\x59\xcd\xba\x33\xfa\x93\xe9\x45\xbc\x75\xe1\xa5\xa7\xf6\xd8\xb8\x6a\xf3\x6d\xb6\x65\x98\xdd\x10\xa5\xd5\x96\x1d\x14\x4b\x42\xd7\x03\x07\x7a\x90\x36\x60\x61\x1c\x86\x73\xc9\xdd\x58\xa6\x32\x45\xf6\x54\xcf\xd8\xd4\x1a\x46\x21\x83\x70\xe6\x26\xe3\xcb\x1e\x31\x0c\x5f\xdc\x09\x63\xd9\x95\x1e\x7b\xc6\xd2\x4b\x40\xc2\x18\xbb\xbb\xc6\x3c\x32\x0b\xe1\x12\xc9\xe0\x0d\x07\x45\x50\x36\xdc\xeb\x75\x6c\xfd\x77\x9b\x5d\x65\xee\x1c\xa3\x37\x08\xfa\x01\xde\x1e\xcb\xb1\x75\xda\x9c\xe4\x8c\x6b\x4d\x10\x73\xb3\xeb\xa0\x9a\xe8\xba\x93\xfa\x19\xbb\x24\xcb\x76\xa7\x97\x44\x9d\x39\x60\x1e\x1f\x49\xb6\xee\x20\x34\xfe\x44\x70\xb9\xb1\x4c\x45\x04\x75\x41\xe5\xaa\x67\x2e\x7d\xc4\xd7\x79\xad\x2d\xbf\xdb\xf2\x66\x8f\x00\x93\xba\xa4\xb5\x1d\xf2\xe1\xea\x60\x46\x60\x04\xce\x4a\xe6\x56\x6f\x91\x55\xcb\x39\x68\x81\x51\x0d\x70\x81\xa9\xbe\x46\xb9\x69\xbd\xdb\x70\xc9\xf4\x7b\x87\xc9\xa5\x07\xc2\xc7\x2b\xc0\x37\x9d\x9b\x47\x57\x12\x6c\x60\xec\x9e\xc9\x37\x61\xd1\x80\xef\x27\x83\x48\x8e\x96\xea\x19\x69\xef\xc8\x4e\x56\xdf\xa4\xd4\x0e\xb8\xa2\x38\x4b\x65\xc6\x22\xa5\x49\x2c\x53\xf3\x17\xe0\x59\x5a\xbe\xae\x80\xde\x29\x9f\x84\xbf\x13\x7d\x9e\xa1\x7d\x2f\xda\xbd\x4e\x56\xe8\x21\xf6\x70\x2b\xea\xe8\xf5\xbc\xe1\x21\x61\xb0\xc1\x9b\x5e\x9f\x41\x48\xd5\xd3\x65\x1c\xad\x66\xbf\xf2\xa8\xb1\x49\x00\x02\x9b\x61\x13\xb3\x35\x09\x5a\xd2\xd1\x3b\x13\xce\x31\x1f\xc4\x5b\x7a\x37\xf9\xe2\xd6\x3b\xa1\xf4\x2d\xe4\xe4\xe7\x83\x9c\xa8\x60\x1f\x6a\x5c\xb2\xee\xc6\x66\x3e\xdc\x9f\x24\xc1\x47\x28\x5d\x5a\xc0\x1b\x2e\xe6\xa1\x74\x09\xea\x78\x18\x5d\xca\x15\xec\x45\x17\x27\x18\x3f\x80\x2a\xa3\x2e\x04\xa1\xc9\x9a\x72\x73\x48\x7b\x21\xef\x83\x29\x53\xd2\xb9\xec\x47\x16\xfc\xeb\x7d\x68\x32\x73\x37\xf6\x9e\x04\x71\xc9\x34\x30\x33\xad\xec\xf2\xfa\x4a\x56\x3d\xab\xf5\xad\x33\x4d\x98\x02\xdb\xa0\x09\x63\xbf\xc7\xe9\x52\x64\x37\x2c\x5d\xf0\x8f\xf7\x21\x4b\x90\x3e\x65\x7f\xda\x44\x39\x57\x10\x02\x45\x84\x71\x39\xac\xe9\x3d\xdb\x69\x2c\x87\x13\x28\xc0\xa3\x34\x9a\xfa\xde\x13\xaa\x58\xc9\x3e\xb4\xba\x76\xb7\xf6\x9e\x64\x72\xd7\xf9\xfd\x4f\x7d\xe0\x07\x1e\xbc\xa7\x70\x21\xdc\x5e\x1b\x0a\xfb\x74\x1f\x52\xbc\x0f\x78\x92\x3d\xa9\x11\x30\x2b\xf7\x13\xc4\xf1\x3c\x0f\xa6\xc9\x50\x62\x8d\xa6\xc8\xf2\xae\x6d\x4a\x1f\x4e\x13\xc5\x3e\x7d\xa3\xac\xd5\xfb\x50\x06\xfb\xae\x70\x59\x9b\xb7\xf5\x32\x92\x8f\x40\x08\xa9\xad\x8b\x39\x95\x91\xe7\x9e\xf7\xba\x26\xd3\xba\x5d\x72\xd2\xc6\xd5\x1e\xe4\xb1\x1d\x3c\xd4\x81\xb2\xf7\xb4\xe9\x17\xde\x1a\x72\x3b\xa7\x0d\x3f\xa0\xdd\xfb\x26\xa6\xa5\xca\x1b\x88\xed\x37\x25\xe1\x17\x39\xdf\xe9\x0d\xd9\xf4\xca\x6c\xa0\x70\x42\xfa\x7d\x34\x3f\xd6\x09\x33\xa8\xe2\x90\xe5\xf6\xaa\x61\xea\x90\x31\x85\xe5\xef\x19\x11\x6d\x58\x36\x20\xbd\x96\x8a\x83\xd2\xab\xa8\xa4\xce\x82\x15\x51\xfc\x52\xef\x36\xfc\xcb\xe9\xd1\x07\xaf\x73\x9b\x82\x7c\x1f\x1a\xe4\x5f\x21\x94\x30\x7e\xc1\x44\x56\x0c\x8a\x78\x73\x39\x23\xc1\x48\xdc\x53\xc7\xe4\x84\xe8\x4c\x43\x5d\x7e\x9a\x6d\x85\x0f\x1d\xe8\x1f\x38\xdb\x8f\x9b\x4b\xbf\x29\x0d\x72\x43\x64\x28\x37\x34\xa7\xee\x33\x67\xb5\x4c\x24\x38\x7f\x2c\xd9\xda\x3e\x6d\x8f\x7d\xb4\x0b\x15\x0d\x2d\xa8\xc6\xc8\x15\xe5\x86\xdf\x75\x5f\xc3\x79\xb0\x57\x27\x2f\x29\xb9\x3d\x78\x02\xcd\x47\xa5\xa1\x59\xa1\x14\xc6\xa7\xfd\x1a\x23\xbc\xe6\xeb\x75\x4b\x4d\x0a\xda\x03\xc7\x19\x7e\x8a\x5e\x0b\x24\x90\xdc\x9b\xb4\x0f\xc4\xae\x61\x7d\x33\x04\xf7\xe6\x81\xa7\x6a\xc6\xb7\x4e\x2d\x76\x7d\x02\x84\x1d\x29\xb0\xb0\x53\x55\xf8\x6b\x61\xa2\x9e\xbd\xf7\x8a\xa1\xda\x4b\xf2\x40\x72\xeb\x0f\x51\x62\x27\x77\xd5\xaf\x48\xed\x65\xaa\x25\x41\x22\xdd\xed\x43\x76\x7d\x02\xef\x53\xd7\x34\xe9\xe7\x8a\xf7\x90\x7e\x7b\x1f\x72\xfb\xc2\xc8\xee\xed\x39\xb8\xb4\x6a\x2e\x9d\xf7\xfd\x41\xd7\x2a\x7c\xea\x0f\x5b\xf7\xfd\x21\xa3\x30\x93\x6f\xae\x86\xfd\x98\xb7\xf8\x0b\xc4\xe9\x04\x10\x66\x71\x58\x61\xe1\x0b\xef\xec\x79\x08\x2f\x7b\x6b\xb3\x4f\x1f\x3a\x98\x99\xa0\x36\xc3\xea\x0f\xac\x69\xe8\x7e\xfb\xa1\xf0\x29\xba\x23\x36\x80\xab\x7a\x41\x37\xa6\xb0\xcf\x51\x10\xb0\xed\x7b\x9b\x95\xdb\x40\x2c\x3e\xcf\xaf\xc2\x7b\xf2\xf7\xa0\xdc\x3c\x12\x34\xef\x49\xb3\xe0\xa3\xd2\x13\x27\x94\x4e\xff\x7a\xeb\x62\xde\xf2\xbb\x37\x71\x48\xa5\xbd\x3f\xc9\xed\xc1\xbc\x4c\xdc\xcd\x3d\x98\x73\xf9\x2b\x57\x3e\xe2\x5a\xf0\xbd\x38\x84\x4a\xa3\xd0\x1e\xa3\xd7\x9e\xef\xe4\xe9\x4a\xa6\x89\x6e\xb2\x61\xce\x98\x3e\x67\xf7\x22\x79\xf4\xc1\x3d\xfc\x7a\x6f\x4a\x7d\xc6\x03\xa4\x77\xed\xec\x33\x22\xf9\x9a\xb5\xca\x58\x70\x4e\x0c\xc3\x95\xca\xf3\x7f\x02\xdc\x18\x80\xd4\x54\x28\xc2\x3a\x7b\xe5\x7b\x49\x7e\x72\x1f\x2e\x09\x22\xc7\x7f\x49\x3a\x5b\x78\xdf\x27\x63\xe8\xb2\x72\x20\x2f\xf0\x27\xd0\x80\xeb\x47\x5a\xd9\xf8\x0a\xf0\x8c\x7f\x99\x5e\xc5\x2f\x52\xd3\x9d\x2d\xc7\xba\x63\x94\x22\x80\xfd\x52\x9d\x29\x70\xa7\x90\x2b\xac\xc1\x12\xd2\x7a\x6b\xcf\x86\xa9\x2f\xd2\xa3\xf0\x71\xfb\xe4\xec\x05\x98\xf5\x50\x4d\x8d\x30\x57\xdc\xe5\xc8\x33\x24\xa9\x9e\x81\x49\x07\xf8\xa8\x7e\xfa\x78\x1c\xca\xff\x3f\xfd\xed\xd8\xcb\xbd\x3f\xfd\xcf\x63\xa3\x5b\xfe\xb7\x7f\xfd\x5f\xc7\x81\x30\xf3\xdf\xfe\xf5\xff\x3e\x36\xb2\xbc\x7f\xfb\xd7\xff\xa7\xe2\xc2\x4b\xb1\xfe\xed\x5f\xff\x5f\x13\xf8\x00\x98\x55\xa7\x9e\x5b\x53\x25\xbd\xdc\x68\x4f\xab\x8c\xfd\x26\x23\xd6\x3a\x3d\x4e\x6d\x91\xc2\xe6\x91\xaa\xe4\x7b\x24\x87\x3b\xa4\x42\xa7\x2d\x78\x9c\xda\x22\xf9\xfa\xe3\x54\xe9\x64\xd1\x8f\x53\x9b\x97\xe5\x9a\x35\xee\x84\x30\xe9\x2a\xd7\xf0\x2f\x7d\x0a\x59\x61\x8e\xee\xc8\x2f\x1c\xb3\x15\xf9\x03\x67\x5f\xfc\x28\x04\x51\x8b\xee\xc2\x0d\xab\x11\x63\x9e\x1f\x59\x7d\xf3\xf7\xbd\xb0\x5a\x27\x56\x89\x3b\x02\x82\x93\x2f\xdd\x13\x23\x9d\x01\x89\xb0\xe7\x79\xf0\x3b\xa1\xff\x42\x33\x13\x31\x50\x46\x34\xcd\xa7\x6e\x4c\x83\xfe\x15\xae\xcc\x72\x7e\x25\x9f\xf9\x2d\xb9\x26\xcc\x66\x03\x17\xac\xec\xf5\xa5\x6f\x8a\xf1\x81\xa1\xef\x0a\x54\x6d\xf0\x6f\xff\xfa\xbf\x1e\xf5\xcc\x4f\xdf\xc1\x8f\x53\x1f\xf2\x02\x7d\x9c\x8a\xa3\x67\xda\xe7\xf3\x66\xb9\x02\x07\xcc\xd0\x3b\x94\x71\x7d\xaf\xc1\x7f\xdf\x93\x60\xe8\xf0\x33\xe9\x3d\xc0\xff\x9e\x7d\x09\xde\x14\xaf\xb9\x58\x16\x44\x12\x23\x0a\x91\xa8\x34\xac\x26\x8a\x06\x66\xb9\xa1\x6c\xf7\x8e\x56\x35\x01\xdb\x56\x63\xb2\xb6\xa4\x35\x81\x2c\x9c\xd4\xbc\xb5\xcd\x26\x00\x7b\x58\x78\xa2\xf2\x2d\xb5\x01\xb0\x8c\xb9\xdb\xc9\x23\x19\x5b\x1f\x62\x56\xfc\x8f\xe7\xa7\xe2\x24\x19\x88\xbd\xd3\x81\xb6\x9e\x9f\x69\x15\xd7\x29\xd6\x2e\x70\xd3\x2d\x2b\xad\xad\x98\xac\x20\x69\x52\x05\x85\x93\xf8\x58\x88\xa9\x73\xb8\x42\x07\x4c\xa0\x09\xd0\xfc\x55\x3b\xb4\x6d\x1c\x6c\x3a\x5f\x9d\x07\xe5\xe9\x70\x8b\x23\x5e\x8f\x4b\x34\x1c\x71\x92\x59\xbf\xb4\xae\xe0\x95\x5d\x34\x78\x7d\xeb\xd3\xdb\xb8\x27\x82\x29\x9f\x57\xe3\x02\xe7\x2c\xb6\xac\xc3\xe3\xcf\xf8\xc0\x8b\xe6\xcd\xe1\xdc\x84\x87\x6e\x0c\xba\xe3\x64\x10\x2e\xb4\x10\xb4\xd8\x0c\xe0\xc4\x64\x6f\x35\x7b\xa5\xe5\x46\xa5\x56\xc1\x7c\xef\x40\x20\x33\x91\xdd\xf3\x9f\x3e\x9a\x08\x85\x28\x81\x0e\x71\x18\x68\x79\x7d\x33\x65\x20\x4a\xba\x5d\x45\x3a\xde\xed\xb6\xa3\x32\xc3\x99\xf9\x87\x27\x15\x91\x95\xad\xeb\xbb\x8a\xad\x2a\x49\xd5\x31\x24\xa8\xb8\xe3\xfa\xfc\xb2\xc1\xb9\x1d\x99\x7c\x28\x49\x57\xaf\xa9\xc4\xcc\x10\xf8\x94\x33\x59\x0f\x26\x32\xa4\xa0\x7d\xcb\xa8\x84\x10\xb4\xff\xdd\xfe\x38\x44\xad\x3e\x56\xe5\xa2\x4a\x2d\x26\x9e\xb0\x41\x48\xa5\x31\xde\x51\xb8\xf0\x91\x4d\x5e\x93\x6e\x21\xa9\x5a\xb4\x81\x8d\x5a\x72\xc2\x90\x4e\x9f\xd9\x92\x9a\x15\xbd\x8e\x5d\x8b\x81\x96\x56\x99\x07\xa6\xb7\xd6\x34\x0d\x31\xec\x75\x4d\xb9\x77\x72\xb1\x29\x9f\x7e\xf4\xd3\x47\x7d\x42\x99\xe2\x3d\xa9\x6f\x7c\xfe\x05\xcc\x40\xfd\x10\xf9\xa5\xa4\x6a\xee\x7a\xf1\xa7\xa0\x6b\x65\xdb\xde\x84\x0a\xb6\xa6\xaf\xa4\x7f\xda\x23\x1e\x29\xa4\x5b\xdc\xb2\x58\x81\x54\x1e\xf4\xad\x49\x8c\x57\x05\x85\x21\x5c\xe5\x44\xbd\x52\xe1\x39\x34\x49\xe0\x8c\x02\x19\xfd\x91\xdb\x59\x7f\xcb\x34\x69\x0f\x5a\x8f\xa6\x45\xab\x6b\x55\x25\x3b\x38\x77\x27\x95\x6c\xe8\x5c\x92\x96\xc5\x3d\x4f\x55\xd4\x99\xe2\x49\xdd\xc8\x2b\xde\x36\x05\xa3\xe2\x19\x85\x60\x0b\x1a\x5f\x5d\x9c\x3f\x4e\x86\x3d\x53\x9d\xfc\x4d\x4f\xa9\x78\x6e\x7f\x78\x3f\x18\x59\x6f\x68\x33\x4c\x1b\xcc\xbb\x22\xe3\x59\x46\x04\xad\xfc\x4d\x90\x3b\xc4\xc0\xe9\xbf\x18\xdf\x34\x05\x56\x82\xba\x0b\xc2\xa5\x70\xba\xa3\x4e\x4b\x6f\x2f\x10\xf0\x35\xcc\xd7\xf2\xc3\x5c\x63\x34\xab\xbc\xff\xa5\x63\x4a\x3f\xd6\xa5\x63\x44\x81\x0b\x58\xff\xd3\xbd\xb7\x42\xc3\xe0\x3a\x00\xf9\xe1\x47\x93\x78\xc8\x1e\x45\x0f\xbe\x0b\xca\x07\xf6\x65\x74\x3c\x8f\xd6\xc2\x88\x2f\x0f\x64\xbe\x69\x16\x9a\x30\xe5\x11\x59\x1b\x5b\x55\x5d\x9c\x1b\x12\xba\x88\x2a\xfe\xe4\xd7\x17\xa8\xab\xec\x90\xf5\xec\x19\xab\xac\x33\x5b\xf2\xa1\xd8\x17\xc7\xae\x8c\x11\x1c\xb8\x60\x6b\xa6\xf7\x3a\x74\x93\xa8\x2f\xd3\x43\x08\xcf\xb2\x9b\x48\xc2\xfc\x36\x88\xdf\x82\x64\x5f\x76\xd1\xab\xc1\x51\x7a\xdf\xc5\x1b\x85\xde\x60\x1d\xa2\x2f\xdb\xc3\x81\x6a\xac\x34\x2c\x7d\xdf\x2e\x33\xe2\xa2\xc5\x56\xae\xd1\xa9\x78\x33\x4e\x83\x5b\xf0\x44\x2a\xab\xbf\x72\x93\x74\x50\x7a\x61\xe7\x12\x86\x5d\x6a\x97\xfa\xa1\xa9\xaa\xd9\xf5\xdc\x6e\x20\xdc\xcd\xed\xbe\x36\x06\x10\x45\x49\x1b\xa2\x86\xe8\x2b\x68\xc9\x3f\x14\x97\xdb\xcc\x7a\x0a\xda\x54\x74\x66\x59\x11\x78\x5e\xd4\x7c\x0b\xa1\x8b\xc3\x83\x54\xd7\x98\xb3\xc8\xd0\x0e\x1f\xd4\x83\x1a\xe2\x83\x5a\xf3\x3d\x1b\xf2\x9e\x53\x90\xaa\x06\xe2\x14\xe0\x0f\xb2\xf1\xe5\x1e\x7b\xae\xba\x2c\x14\xa4\x6d\xf9\x9d\x31\xb7\x83\xac\x33\x2e\x8e\x50\xf0\x50\x88\xd9\xb0\xea\xd9\xd0\xb1\x0f\xba\xb1\x09\x7f\x2e\x1b\x2d\x19\xe9\xce\x6a\x7c\x07\x1e\xdb\x75\xcf\xba\x58\x69\xad\x7b\x06\x7a\x4a\xdd\x3d\xfd\x68\x71\x7d\xe3\xdd\x78\x22\x50\xc8\x83\x94\x36\xe8\xc2\x34\xe7\x3d\xd3\xdc\xcc\xa2\xa9\xf1\x1e\xe9\x47\x80\xeb\x96\xb9\xe3\xce\xcf\xc2\xac\x5c\x2b\xaa\xea\x8d\x9e\x19\xf7\x62\x1a\x59\x2a\xa4\xa5\xb2\x31\xfc\xe9\x98\x6c\x7f\xc2\xa6\x7e\xe8\x60\x19\x15\x36\x38\x64\x53\x80\x43\x03\x8a\xf9\xc5\x52\x7e\x50\x97\x7d\x52\xca\xae\x27\xdf\xeb\x8b\x84\xf4\x1b\x56\x93\xb6\x0a\x1f\x01\xe1\x42\x08\x1e\x00\xfb\x45\x59\xba\xa6\x1f\xd4\x40\xda\xc8\x01\xca\x1e\x28\xa4\x10\x80\x69\x4d\xf9\xa2\xe7\x0c\xa3\xc4\x7d\x7d\xcc\xae\x41\x84\x26\xaf\xb6\xbd\xda\x95\x09\x63\xd0\x58\x4a\x61\xdf\xde\xb3\x8e\x8b\x2d\x69\x03\xc2\x44\x16\x8a\xf6\xe8\x2c\x6a\xef\x13\x7c\x49\x6f\x6f\xde\x5b\xc6\xca\x23\xd2\xe1\xab\x5d\x4f\x65\x28\x3e\xf0\xeb\x21\xc9\xd7\x57\xb7\x03\x1c\x17\xde\xa0\x78\xc2\x93\x53\xf1\xca\x7e\x00\xa9\x93\xe3\xd7\xb0\x49\x87\x40\x44\x9d\xcb\xdf\x9e\x14\xc3\x2e\x48\x87\x0e\xf2\xb4\x02\x8c\xa6\x99\x1f\x98\xe2\x66\x8f\x97\x17\x4c\x3c\x4f\x85\x65\x83\x15\xc2\x16\xcf\xca\x4c\x76\xb0\x4c\x66\xb1\xb1\x60\x5c\x6d\x88\xdc\xc7\x85\x23\xb4\x3c\x4c\x52\x32\x17\xe3\x1a\x18\x16\x7e\x7f\x47\xca\x19\x11\xcc\x3f\x5e\x87\xfb\xbc\x2a\x83\x11\x14\xcc\x71\xb3\x12\xb8\xdf\x69\x7a\xd0\xec\x1b\x5c\xe3\x41\x0e\x0e\xe6\xfd\x8d\x1b\x57\x98\x97\x37\x73\xa2\x26\xab\xe6\xb2\x52\x6d\x2b\x20\xb2\x69\x88\x69\x25\xc9\x96\x56\x3d\x15\x5b\x66\x52\x2f\xe7\x8f\x23\x7c\x66\x20\xab\x4c\xc3\x9a\x38\xe0\xc4\xd3\xde\x76\xe6\xa1\x3f\xe1\x7d\x0b\xe6\x4f\xde\xca\xdf\x9b\x52\x5b\x79\x8f\x93\x5f\xe0\xcf\x18\x4b\xe6\x66\xb1\x44\x9e\xa7\x63\xed\xae\x58\x60\x50\xce\x4d\x33\x39\xc7\x46\xb0\x18\x10\xfa\xed\x21\x78\x4b\xab\x67\x1a\xff\xf5\x78\x49\xe9\x9e\x5a\x96\x08\x7a\xf8\x9d\xc9\xbe\x45\xba\x8a\x08\xc8\xa9\xa0\x99\x12\x25\x58\xb7\x3e\xb6\xa5\x97\x3b\xa7\x0b\xcc\x59\x05\xda\xae\xca\x02\xfb\x34\xec\xc3\xfe\x7b\xd3\x2c\xfc\x43\x36\xa5\xd1\xa2\x4d\xee\x4a\x5b\x24\xdb\x96\x06\xfe\xc2\xbc\xbc\x4d\x47\x53\x33\xb2\xbd\xc3\xce\x3c\x70\x97\x1e\xb2\x79\x02\xa7\x92\x27\xbd\x8d\xac\xdc\xa3\xb8\xce\xf5\x2b\xd7\xd2\xdc\xe6\xd0\x18\xf5\x2b\xf8\x4a\xbf\x3f\xc8\x48\x1a\x5c\xa4\x44\xa8\x87\x7b\xd7\x07\xeb\xe9\x6c\x0c\xe2\x53\x5c\x73\xae\xcc\x3e\x97\x9e\x0b\x0a\x74\xc0\x05\x61\xab\x9f\x76\xa1\x78\x52\xab\xe2\xa0\xd3\x2a\xa2\xcb\xe3\x9d\x5a\x8f\x32\xfb\x97\x76\x31\x16\xa7\x1e\x0a\x60\x9e\x0a\x81\xcc\x1c\xce\xfa\x09\x9f\xa3\x78\x2d\x3c\x4a\xbf\xe7\xf6\xc8\x2e\xf6\x1b\x0a\xe4\x59\x1b\x76\x70\xd6\xef\xc1\x8c\xf9\x53\xeb\x62\x3c\xae\x90\x91\x65\xc2\xd5\x83\x6e\xdd\x2d\x4d\xaf\xdb\x89\xaa\x1f\x85\x6e\xf2\xd4\x68\x35\xa7\x48\xe7\xca\xe4\x6f\x20\xcd\x9a\x9b\x67\x8f\xe5\xb6\x42\x2d\x0b\xce\x45\xcb\x3d\xae\x34\x59\xba\xd3\x82\x06\xad\xfd\x4e\xdc\x62\x38\x8d\x7f\xce\x09\xf3\xae\xf7\x47\x81\x7f\xbc\x99\x17\x93\x7e\xbe\x21\x35\xea\xed\x06\x3e\xd7\xcf\x80\x7f\xbc\x63\x92\x56\x54\xbf\x1e\x26\x82\xb8\x44\xe3\xe0\x98\xd7\x73\x56\x62\x72\x9c\x5c\xed\x45\x56\x1b\xa6\xfe\x9e\xe6\x7c\xa9\xa9\x26\x23\x0a\xc0\xfa\x04\x0d\x45\x2b\xb9\x0b\x76\x7f\x00\xa9\x0d\x7d\x6d\xee\xf6\x98\xe0\xb6\x32\x94\xe2\xfb\xd1\xf7\x47\xe6\x94\xcf\xe5\x21\xdb\x32\x53\x03\xb6\xf7\xf5\x23\xae\x25\xa4\xc6\xcf\x5d\x4b\x6f\x68\xa7\x5b\xbc\x67\x82\x7d\x29\xc4\x3b\x89\x49\xd7\x59\x26\x4d\x4a\x1e\x10\x3d\xb6\x9c\xdf\xe4\x4e\x2a\x36\x18\x1e\x3c\xc1\xb7\xa6\xd2\x93\xa3\xe3\xa8\x16\x10\x08\xfa\x4c\x7c\xa4\x6d\x77\x95\xa0\x5b\x7e\x4b\x53\x85\xbf\x3c\x86\xec\x29\x82\xaa\x41\x18\x5b\xaf\xaa\xe3\xdd\xf3\xf0\xca\x30\x12\x47\x58\x6c\x46\x47\x0f\x92\x4f\xe2\x98\xa7\xba\x52\x1b\x41\x49\xf3\xe9\x63\x94\xa5\xb9\xe6\xdb\xad\xc9\x34\x0a\x56\x56\x9f\xfe\x16\x19\x75\x1f\x92\x3f\xde\x54\x3f\x6d\xff\x16\x94\xfb\x8d\x6d\xe2\xb9\xed\x81\x7c\xc2\xb1\xfe\x91\xc5\x6b\x85\x57\xcb\x9d\x61\x2d\x61\x59\x06\x26\xf2\xb9\x19\x12\xef\x8b\x3a\x88\x4b\xce\x6f\xc6\xf4\xfe\xc1\x3c\xf6\x1c\x32\xda\xb9\x70\x6d\x6e\x02\xf7\x7f\x49\xb8\x39\xf9\x53\x69\x4b\x5c\xd1\x1a\x0d\x94\x85\x94\x99\xda\xfe\x02\x8a\xec\x75\xca\xce\x8d\x7c\x6d\xb2\xc5\xb9\x93\xc1\x25\x2d\xfe\x13\x1c\x81\xe8\x61\x77\xdf\x61\x33\x0f\x0e\xd1\xf2\x69\x21\x4f\x88\xb5\x3c\x34\x71\x85\x91\xa3\x22\x2f\x72\x5f\x18\xb1\x64\x65\xd7\x1b\xdc\xde\x41\x83\xdd\x39\x61\x26\xdd\x7e\x9d\x19\x1e\x18\x70\xe1\x6d\x1c\x34\x8b\xb1\x3b\xc8\x77\xef\x61\xc1\xdd\xdf\x72\x44\xa7\x7d\x84\x7b\x68\xa9\x8c\x5a\x57\xb4\x87\x2c\xfe\x2a\xb0\x60\x2c\xcb\xf9\xee\x8d\x90\x80\xd5\x70\x08\x21\x0e\x1b\x34\xba\x40\xb0\x62\x53\xc3\xde\x0e\xad\x62\x7d\x8b\xf6\x3d\x5d\x3c\xb8\xe6\xe4\x9a\x2b\xd2\xba\x7c\xe8\xa9\x82\xd4\xa4\x91\xe3\x42\x50\xd9\xf3\x6e\x0c\x3f\xc1\xf4\x2d\x82\x6d\x88\x58\x1d\x8b\x0a\x48\xc3\x81\x3d\x74\x91\x85\x97\x57\x21\xbd\xcc\x14\x49\xdf\x72\xf5\xc6\x45\xa9\xd9\x6f\x12\xc2\x2f\x30\xd9\x75\x47\xef\xb2\x4e\x55\x35\x1f\xda\xa6\x5a\xd2\x6a\xc5\x87\xae\xf1\x56\x43\x71\x93\xc8\xb2\xbe\x08\x4d\x37\x91\x37\xdb\x21\x02\xde\x3c\x66\x71\x26\xbf\x38\x44\xf2\xfb\x28\x31\x86\x4b\x12\x94\x09\x41\x3c\x5f\x8d\x31\x81\xa7\xeb\xa0\x90\xa9\xbc\x98\x8f\xdc\xf7\xf2\xf1\xcc\x22\x0e\x0c\x47\x8c\x85\x6d\x68\xdb\x51\xeb\xfb\x79\x33\xf4\xa4\x98\x9f\x69\xf3\x20\x7c\x02\x6f\xd8\xb4\x49\x6b\xb6\xc2\x02\x99\x9f\xd7\xc4\xe1\x55\x3f\x3c\xa0\x70\xa9\x46\x6f\xb3\x83\x59\x01\xbe\xa1\xa4\x1b\xa3\x9b\x1a\xe7\xe6\xa1\x5f\x0b\xd2\x80\x31\x96\xe1\xb0\x11\x09\xc3\x21\x6b\xef\x8b\x46\x0f\x3e\x03\x46\x12\x0d\x1d\x7c\x90\x69\x7c\x31\x5a\xeb\x7b\x9b\x99\x74\x49\x24\xab\x83\xa0\xb5\x82\x72\xd1\x50\x51\x59\x63\x15\x78\xbf\x6c\xc9\x0d\xad\xe4\x20\xac\xa7\x38\x98\x86\xc0\x3a\xda\x1a\x6f\x0a\x6b\xa4\x9c\x59\x85\xd8\xbb\xc0\xe8\xcf\xb0\x50\x68\x11\x66\xea\xae\x85\x40\xc4\x3e\x2c\x09\xe9\x46\xc5\x07\x6e\x60\x7f\xc8\x0b\x08\xb7\xb0\x6f\x9a\x05\xf1\x12\x22\xdc\x40\x03\x2c\x55\x64\xac\x31\x22\x4d\x33\xa5\x72\x7b\xe6\x0c\x31\x21\x23\x37\x6d\xbe\x0e\x95\x70\x05\xc3\x69\xe3\x31\xf0\xa0\x25\xea\x9f\xa3\x53\x5b\xcf\xab\x0c\xf5\x1f\xfe\x03\xc4\xd6\x7e\x51\x60\x12\xa6\xe8\xb1\x24\x9d\x3d\x5e\x53\x03\xc8\x47\x18\x9e\xf1\x87\x2b\x59\xa5\x4f\xf4\x0a\xfc\x9d\x8d\x92\x02\xb1\xfc\x78\xbc\x0e\x9a\x58\x01\x13\xf6\x0d\x93\x4b\xa9\x95\xdc\x86\x84\x4b\x0c\x1e\xa2\x05\x16\x2f\x9a\x87\xf6\x94\x36\x4c\x7d\x4e\x3f\xc1\xa5\xff\x8b\xf7\xf2\x69\xdd\xb0\x20\xbb\x7e\xc8\xa6\x30\x5f\xc6\x6c\xc7\xe3\x2d\xba\x9e\x75\x0f\x9c\xc9\x1e\x32\xf1\xd9\x39\x7c\xfc\x7e\x71\xf9\xd0\x25\xa6\x3f\x2d\xf5\xec\x61\xdd\x71\x57\x53\x39\x4c\xe7\x3d\x91\x38\xcb\x97\x53\x65\xed\xaf\x1c\xdb\x4f\x90\x4c\x1c\x2f\x8c\x35\xf6\x49\x75\xe1\x62\xfa\x13\x49\x4d\x02\x67\x58\xe3\x20\x78\x66\xdd\x2d\x15\x2a\xf4\x0b\x22\x80\xad\x1a\x4e\x65\xd5\x71\x65\x68\xe5\x22\x8f\x29\x5e\x35\xbc\xfa\xe7\xcf\xbe\xfa\xf6\x3a\x55\xd3\x2e\x74\x3b\xdf\x09\xeb\xa5\x8c\x1c\xae\x29\x25\x0e\x4a\xef\x16\x9d\x56\xdb\x25\x6d\x16\xf6\xc3\x7d\xbb\xe8\x3b\x08\x5f\x83\x85\xbc\x5f\x4b\x7e\x6d\x3d\x66\x2f\xff\x01\x4f\xab\x89\x69\x4d\x0f\xad\x47\x23\xd3\x7e\xe7\xd5\x44\xcf\xd2\x63\xeb\xd1\x7a\x06\x56\xcc\x6b\xb2\x3d\xa4\x5f\xbe\x57\x60\x20\x0c\x1f\x7f\x81\x3e\xb1\xd5\xc3\xbb\xc4\x56\x5f\xa0\x47\x26\x03\xdb\x03\xfa\x34\x48\x7d\xd0\x41\x22\x42\xe7\x3c\xf8\xb8\x3d\x33\xa9\xe4\x1f\x48\x2c\xbd\xcc\x6c\xe2\xf4\xc7\xef\xd7\xa1\x4b\x3e\xee\xda\x97\x5b\xf1\x3d\x6f\xdb\x07\x77\xcb\x99\x91\x3f\x7e\xb7\xca\xae\x9b\xbf\x62\xcf\xa6\x5c\xcf\x7d\xf2\x65\xbe\xaa\x24\x61\x4d\xf4\xd6\x7b\xc6\x94\x7e\x70\xd5\xbc\x93\xac\xa1\xc2\x24\x8f\x81\x44\xfd\x7a\xcd\x41\x64\xb9\xaa\x85\x6c\x3b\x1b\xda\x55\xbf\xfb\xc6\x39\x12\x54\xee\x05\x69\xe0\xbf\xff\x7d\xd5\x90\x9d\xfc\x3a\x77\xc8\x00\x2f\xcd\xcf\x58\x64\xe0\xbc\x39\xb5\xc8\x02\x3e\xe6\x73\x38\x30\xc4\x72\x59\x15\x0c\x95\x01\x5c\x05\x81\x27\x8e\xad\x28\x51\x0f\xa2\xfb\x4a\x55\xf4\x03\x93\x89\xe6\x01\x93\x83\x7d\x6f\x92\x0c\x79\xef\xf4\x82\xd8\xa2\x10\x99\x42\x4d\x84\xa5\x38\xb5\x1d\xf2\x6e\x34\x91\x15\x5b\xc7\x6d\x3c\x8a\x93\xea\xd5\xc9\xfa\xe4\xd8\x87\xa5\x18\x9d\x60\x4a\x02\xb5\x93\xfb\x47\x05\xd6\x2f\xc5\x41\x15\xe5\x46\x86\x18\x65\xd3\x03\x95\x87\x3f\x50\x78\xec\x83\x73\xaa\x08\x6b\x5d\xbe\x14\x24\x65\x21\x1e\xb5\x00\x22\x84\x59\x6b\xaf\xc8\xbb\x2a\x17\x96\xed\xef\x83\xee\xad\x37\x82\xa4\x59\x79\x7d\x7b\xbb\x5e\x07\x3c\xad\x4f\x47\x10\xe4\xec\x43\x6a\x9e\x76\x51\x2e\xc9\xf6\xee\xf5\x4e\x3e\x1b\xad\xa6\x9e\xb6\x61\xe0\x3f\xbc\x77\xf2\xa7\x8f\x25\xff\xe4\x7b\x1d\xd5\x5d\x5d\xcf\x47\xd7\x97\x7d\xdc\x8d\xf3\x55\xf4\x48\x5e\x9f\x7b\xeb\x05\xc1\xe9\xff\x89\xf8\x62\xba\xe3\x07\x8b\xeb\x5f\x0c\xdb\x1f\x6c\x0f\xe4\x00\x9a\x88\xc6\x13\x89\x43\xc3\xa8\x3c\x9f\x23\x9b\xb4\xf9\x5e\xf7\x6c\x29\x12\xb1\x54\x90\xdb\xcf\x4a\x12\x0c\xec\x6f\x87\x77\xe4\x3e\xa3\x9e\x27\xfb\x5a\x9d\x08\x1f\x94\xd3\xef\x11\x44\x53\x93\x1b\xe4\xb4\x5a\xd1\x3b\xb7\xb6\x71\x1b\xc1\x49\x33\xfe\x2f\xae\x28\x7a\x91\x33\x66\x85\xfb\xc5\xa4\x28\xde\x87\xa8\x36\x99\xf1\xe3\x89\xff\x0a\xec\x47\xa9\xff\x13\xd9\x88\xec\xee\x3f\x6d\x05\x25\x4d\xca\x3a\xc6\x38\x34\x54\xb9\xe7\xc7\x88\x29\x35\x26\xbf\x70\xb7\x79\x66\xf9\x53\x34\x5a\xd1\xb3\xd5\x75\xb4\x0e\x12\x84\xa0\xb7\x73\xdc\x75\x8c\xe7\x0d\x31\x98\x99\x03\x5c\x8e\x7a\x6a\x46\x97\xdd\xd1\x64\xda\xf3\x04\x7f\x8a\xdb\xb1\xec\x04\xde\x94\x43\xe6\x7c\xb6\xc5\xc4\x35\x87\x34\x69\xd1\x44\xb5\xe3\xe9\x6b\x2e\xa4\x36\x8f\xa1\x12\xd3\x61\x46\xe9\x0d\xda\x37\x40\x20\xdc\x75\x9d\xb4\x60\xf5\x91\x92\x3b\xb1\x71\x4f\xe9\x8d\xc9\x95\x1a\xa6\x6b\x31\x8a\xcd\xc0\x37\x19\xd4\x72\x9a\x59\xd4\x53\x0f\xe5\xd5\xc9\x3e\xb3\x7e\xe6\x38\x5b\xb1\xc5\x53\xd7\xd1\x0f\x3d\x43\x73\x92\x5e\x51\xd2\x3c\x37\x16\xe3\xa3\x8d\x68\x9c\x4f\xd5\x9a\x45\x58\x3f\x78\x41\x6f\xb9\x7e\x07\x10\x9b\x55\xb7\x1c\xa3\x4c\xbd\x03\xf9\x49\x2a\xbf\x76\xd0\x7c\x31\x79\x83\x23\x13\xd6\x21\x94\xe9\xe5\xcb\x9f\x8f\x95\x27\xbc\x07\x5a\x4d\xa1\x8b\x45\x8b\x33\x35\x69\x65\xf6\x7d\x60\x91\x7b\xb2\xb7\xeb\x28\x69\x9a\x34\x5f\xcf\x21\xee\x09\x23\x23\x33\xa6\x7e\xb1\x55\x82\xa8\x18\x86\x3d\x59\x7b\xd1\x43\xe1\x8d\xf9\x78\xd2\x13\x4e\x4d\xfb\xa6\xe6\x68\x9c\x0b\x22\xb9\x77\xea\xde\x59\xc4\xf5\x33\x14\x46\xfc\x54\xe8\x66\xaa\xb6\x16\x59\xbe\x2a\xd8\x8c\x12\xf5\x2e\x43\x68\x89\xfa\x77\x61\x05\xee\xd3\xf5\xa0\x06\x55\xfb\x79\xf6\x60\x24\x82\xea\xc2\xdc\x4b\xf7\x0f\x25\xdd\xea\xd3\x36\x8b\xe1\x26\x92\xc8\x31\x87\xf6\xf4\x1e\x19\xc9\x7d\x3c\xd3\x25\x93\x10\x13\x22\x32\xa9\xdf\xdf\x3a\xc5\xb4\x6e\xd1\xd6\x42\x72\x0f\xb2\x94\x24\x36\x78\x19\xdc\xf8\x8f\x77\xde\x03\x80\xc9\x30\x54\xe1\x41\x84\x43\x42\x62\x3e\x29\x06\x5b\xd2\x76\x35\x9d\x10\x28\x09\x26\x19\x4d\xe4\x86\xf5\xfe\xdd\x5a\x76\x08\xf6\x33\x94\xa7\x5b\x55\x85\x94\xaa\x86\x78\x7d\x98\x3a\x3d\x3d\xf6\x6b\x94\xea\xe7\x67\xfa\x08\x03\xb1\x28\x93\xe6\x43\x3d\x7d\x52\x71\x81\x9c\x62\x4f\x6a\x2a\x36\x44\x2e\x6e\x59\x43\x11\xe6\x1e\xf5\x85\x25\x5d\x45\x3a\xb6\x85\x33\xc3\x53\xaa\x94\x31\x56\x13\x62\xb1\x64\x6b\x64\x87\x26\x91\xba\xa0\x9e\xd1\xde\x58\x33\x45\x2e\xe2\xe1\x96\x40\x46\xa5\x61\xbb\xec\x08\x6b\xc7\x2c\xe7\xf1\x44\x15\x1a\x87\xaf\xff\xfe\xcd\x47\x8b\x0f\xe3\xb7\x03\x44\x69\x19\xba\x55\xd4\x71\x55\x49\xaa\x39\x44\x5d\x29\x6f\xe8\x3c\x10\xc8\xb8\x2a\x43\x70\x9e\x19\xc7\x85\xf0\x06\xef\xa3\x20\xbf\x7a\x25\xa9\xb8\x05\xf3\x28\x70\xa3\xb2\x03\x07\x0f\x9f\x6e\xc5\xc4\xb6\xd2\xf5\x9e\x1c\x1d\x1f\xbd\xfa\x40\xb6\x7d\x4b\x2b\xa6\xff\x7f\x4b\x3b\xc3\x00\xcb\xef\xc6\x9a\x74\x0d\xa4\x6b\x04\x67\xcd\xa7\x8f\xc7\x95\x6a\x5a\xb6\xfc\xf4\x37\xdc\x1c\x60\xcd\xd4\x66\x58\x9e\xd4\x7c\xfb\xe2\x5c\xfc\x78\xf9\xee\xc5\xb5\xad\xe5\xc5\xb2\xe5\xcb\x17\x5b\x22\x15\x15\x2f\xae\x5d\xf8\x90\x99\xe0\xbf\xbc\x90\xa2\x7e\xb1\x25\xac\x7b\xf1\x0b\xb9\x25\x2f\xf4\x3a\x77\x4d\xbf\x18\xd8\x8b\x4b\xbe\x66\xdd\x69\xad\xd8\x2d\x53\xbb\x13\x5d\x24\x90\x3e\x04\xcd\x41\xb7\x5e\xa8\xe6\x85\x12\x94\xba\x86\xf4\x4f\x57\xd7\x9c\x76\xcd\x19\x6f\xe8\x0f\xb4\xed\xa9\x38\xa9\xfb\xd4\x02\x5b\x33\xfa\x0b\xd2\xf7\x85\x70\xcc\x17\x9a\x4f\x50\xfc\x86\xda\xd7\x81\xe3\xa7\x59\x07\xf1\x63\x46\x47\x89\x01\x1c\xb7\xf4\xb5\x5e\xcd\xdf\xcc\xe1\xb4\x17\xf4\xcf\x03\x13\xb4\xf9\xce\xff\xa5\x4b\x77\xf4\x8e\x0a\x77\x19\x59\x03\x44\x20\xf3\xb1\x53\x60\x82\xb1\x8a\x81\xe9\xba\x9c\x41\xa4\xa8\x4e\x67\x17\x85\x53\xa3\xa1\xb7\xb4\xe5\xbd\xbe\x91\xd7\x9c\xaf\x5b\x0a\xd4\x31\xf7\xad\xda\xbd\x90\x5b\xf9\x5c\x50\x25\x18\xbd\xa5\xe2\x05\xbf\xa5\xe2\x96\xd1\x3b\x63\xd4\x07\x04\x58\xb5\x44\x6e\x6a\x74\x6b\x05\x41\x73\x8c\x52\xa7\xdf\xf0\x8e\xda\xf4\xfe\x76\xd7\xdd\x32\x62\xc1\xba\x8e\xc3\xf2\xbc\x92\x41\x6d\xcc\x56\x30\x67\xff\xc2\xde\xcf\x88\x50\x43\xbf\x6e\xc4\x40\x2b\x66\x85\x27\xd0\xa2\x75\x78\x70\xbe\x78\xbc\x8b\x2e\x92\x86\xde\xb2\x9a\x9e\x54\x17\xeb\x8e\xc3\x04\xac\xaa\x64\xc4\xd1\x96\x7c\xc2\x47\x3b\x1c\x41\x7a\x1b\xaf\xa3\x73\x02\x00\x39\xcf\x6e\x87\x6f\xf0\x83\x30\xcf\xcb\x78\xe5\x0f\x8a\x1b\xb3\xdc\xc5\x20\xda\x45\x2f\xe8\x8a\x7d\x40\xf4\x40\x57\x97\x7e\x5d\x72\x70\x53\x7c\x6e\xbe\x8a\xc8\x4c\xfa\x9c\xfd\x5e\x12\x49\x17\x2d\xe9\xd6\x8b\x9e\xd4\x37\x8b\x22\x77\xf6\x12\x6c\x86\x75\xc1\x01\x52\x37\x90\xfa\xc6\x6d\x8f\xbc\x4e\x13\xdb\x78\xb1\xb5\x49\xc6\x52\x26\xc3\x05\x83\x83\xbd\xea\xcf\x32\x7d\x87\x0b\xbe\x24\x4b\x08\x2c\xd5\x49\x58\x09\xcb\x5d\xb5\xd6\x3b\xa1\x03\xc7\xc3\x17\x17\xf3\xd9\x68\x0b\x66\x47\x25\xe8\x1a\xeb\x84\x5e\x35\x0b\x2b\xa8\x59\x28\xb6\xa5\x7c\x50\x8b\x2d\xb2\x4c\x7e\xe2\x17\x33\x27\xd1\x01\xf9\x82\x29\xfb\x9d\x5b\xc0\xac\x93\x8a\x74\x35\x28\x7f\x5a\xb6\x54\xeb\x5b\xae\x59\x21\x1b\x09\xd2\x68\x12\x58\x43\x3d\x73\xa4\x57\xab\x53\x4e\xda\x6a\xf5\xa4\xf0\x41\x14\xaa\xba\x63\x6a\xe3\x22\xdc\xf9\xf0\x19\xba\x17\x90\xae\x74\xcb\xda\x96\x59\x45\xf0\xd7\xc7\x63\x13\xdb\x41\x2a\x13\x9c\xce\x49\x74\x90\xf1\xeb\x69\xa2\xd3\xc3\xbf\x58\x55\xcd\x00\x7a\x38\x52\x19\x52\xe8\xda\x49\x65\x3e\xb5\x49\x4f\x9d\xb5\xb7\xd5\xd5\x85\x1d\xed\xa9\x60\xbc\x81\xd1\xb3\x2d\x3d\xb4\x83\xb6\xe2\xc9\x1e\xbe\xb1\x21\xc4\x5d\x94\x40\x1f\xa2\x10\x7a\x0d\x84\x62\xdd\xd8\x77\xe9\x67\xce\x26\xe7\xfc\x4a\x98\x1e\xe9\xd2\x6e\x62\x04\xed\xdb\xdd\x61\x94\xbf\xa3\x95\xdc\x80\x8b\xd1\x86\x74\x6b\x08\x9c\x68\x87\x5a\x18\x1a\xeb\xd6\x07\x8d\xcb\xc7\x78\xbc\x6f\x5c\x91\xdb\xc4\x67\x8c\xc8\x4f\x95\x8f\xc3\x98\xf8\x37\xaf\xf4\x61\x8d\x8c\x0e\x46\xb0\x68\x69\xb7\x56\x9b\xc5\x96\x20\x07\x92\x1b\x9b\x29\x03\xfe\x44\xe6\xab\xea\x99\x05\xb1\xae\x1a\xd4\xea\xbf\x02\xb3\x03\xb1\xf5\xb0\x08\xde\xd6\x45\x6c\x01\xb1\x08\xc1\x28\x67\x61\xd6\xdb\xbd\xc7\x8a\xe0\x43\xd7\x54\xc0\x63\xcb\xea\x19\xfc\xab\x2f\x10\x2a\xbf\x06\xf7\x86\x5b\xce\xea\xc0\x04\x10\x38\x02\xd6\xf9\x28\xb9\x50\xc6\x68\x2b\xd5\x86\xa4\xf4\xb4\x4b\xde\x2d\xf0\x2d\x11\x20\xb4\x93\x20\x6f\xc4\xd5\xc2\x92\xfd\x85\x4e\x53\xca\x0a\x38\x40\x11\x00\xdb\x2c\x54\x04\x1d\x14\x94\x28\xb2\x46\x47\xc5\x3f\xee\xe2\x81\x1b\x82\x28\x1b\x4d\x4f\x33\xa5\xb9\x83\x57\xbd\xe0\xf0\x19\xe6\x62\x75\x56\x5d\xcc\x70\xfd\x61\x53\x2f\xd4\x07\xb5\x68\xb8\xe6\x1e\x17\xb8\x9e\xfd\x1c\x90\xc6\x21\x3b\x0a\x70\x49\xbb\x5a\xec\x7a\xfd\xd6\x39\x3f\x83\xea\x8d\x61\xc4\xf9\xdb\x79\x75\xfd\xcf\xd7\xfa\x30\xe2\x22\xa7\xb3\xf3\x0b\xeb\xbf\xed\x17\x75\x10\x20\x62\xc2\xfd\xa8\x65\xe0\x50\x6f\x76\xb5\xbe\x3c\x67\xdf\xce\x82\xa8\x33\xd0\xab\x80\x63\x32\x8e\x1d\xf5\x18\x56\x22\x91\x03\x37\xcc\x1c\xb5\x0b\xf0\xf4\xc8\xdb\x7e\xd7\xb5\xbb\x58\x1c\x5d\xe9\xbb\x14\x1e\x3b\xe1\x4a\xd3\x0d\x8e\xab\xad\x26\x9d\x5e\x65\x36\x33\xfb\xde\xc2\xe7\x57\x1a\x61\x18\xbf\xc6\xba\xf4\x19\x65\x07\x30\x1b\xdf\x19\xe9\x1f\x53\x95\xad\xa0\x62\xea\xab\xb6\xad\x36\xe4\x16\x58\x08\x10\x46\xc3\x84\x40\x3c\x2d\x3d\x2b\x1b\xda\xf6\x27\x6b\xaa\xce\xa0\x82\xbd\x99\x27\x13\x09\x3f\xfe\xf8\xe9\x29\x1f\x57\x5c\xdc\x11\xd1\xb8\x20\xdf\xd3\x5b\x75\xf4\xde\x1d\x63\x37\x82\x54\xcf\xcc\x94\xaf\x4b\x6f\x2d\xae\xaf\x7b\x43\x40\x57\xf8\xc4\x16\x78\xe3\xad\x0e\xf6\x64\xc4\x2d\x2d\x4b\xf5\xc0\x40\xd6\x6c\xb5\x30\xa1\x39\x26\x2c\x5c\xde\x47\xf6\x2c\x60\x85\x19\xb0\x8f\x36\x8a\x89\x5e\xfc\xdf\x5f\xbc\xce\xd7\x39\x03\x2e\x7d\x01\x1b\x63\x01\x6f\x17\x36\x19\xc7\x33\xdb\x69\xa6\x02\xbb\xb3\x5c\x05\x87\x9c\x70\xbe\x51\xb0\xb1\xd8\xae\x3f\x6b\xc4\x7a\x9c\x6c\x0b\x1b\x11\x0f\x28\xba\x07\x77\x7c\xb9\x17\x5f\xbc\x9d\x66\xe2\xaf\x37\xb4\x32\x07\x66\x30\x19\x3d\x11\x60\x2d\xfb\x9c\xf4\xbd\xb1\x5f\x3f\x79\xcd\x45\x45\xad\x68\x40\x9d\x00\x97\x10\x73\xd4\x27\x5b\xfa\xc2\x9b\x2c\x19\x9b\x77\x4b\x79\xa8\x0d\xd4\x24\xff\xdd\x15\x38\x36\xe5\x49\xd3\x58\x63\xc9\x17\xf0\x99\xfd\x60\x49\x83\x6f\xe0\xc9\xdb\xf7\x82\xf7\x82\xe9\x23\x65\x0c\x1f\x0c\xf7\xa5\xe4\x15\xef\x4e\x4e\xf2\xf7\x99\xd7\xec\x3f\xe4\x1a\x0c\xa2\x32\x3f\x38\xd4\xbb\xd9\x20\x07\x32\x2c\x7e\x6f\x1f\xc2\xb1\x58\xeb\x9d\xba\xe5\x43\xb3\x68\x68\x4b\x76\x25\xa6\xfb\x8e\x82\x15\x01\x5f\xad\x5a\xd6\xd1\xe3\x6a\x39\x28\xa7\x54\x83\xdb\x2e\xc8\x4f\x65\x77\x0f\x58\x7f\x42\x9d\x91\xd4\xc8\xd6\x50\x75\xa1\x5d\x90\x61\x20\x90\xbe\x44\x3c\x60\x3e\x55\xf6\x1b\x77\x97\x4e\x8e\x20\xef\x21\x93\x76\x08\xc7\x61\x67\xf1\x8e\x59\x40\xd6\x54\xd4\xc1\xac\x7f\x76\xb0\x8b\x65\x3b\x88\x49\xe6\xfa\x1c\x9a\xb6\xd9\x21\x1c\x89\xa4\x22\x6a\x90\x55\x47\x69\x23\xed\x2d\x07\x9c\x9f\x93\x3a\xe2\x2c\x90\x6b\x93\x35\xed\xf4\x43\xe5\x5a\xf3\xd9\x4e\xcb\xec\xbd\x15\x88\x15\x90\x55\x64\x05\x81\x84\xc0\x46\x94\xa9\x60\x87\x29\xab\x0d\xb2\x0d\xe5\x1d\xb0\x11\xfc\x61\x22\xef\x79\xcb\x61\xcb\x0a\x1c\x76\xa7\xd7\x16\xeb\x8c\x05\x57\xa1\xa9\x68\x52\xdc\x40\x68\xb5\x21\x4d\xb5\xd6\x87\xb8\x6f\x2e\x98\xf6\x47\x5d\x97\xb6\x5f\x56\x14\x62\x18\x70\x7c\x0e\x72\xbe\xce\x08\x42\x98\x72\x8b\xd3\x2e\x83\x4f\x1f\x6d\xfc\xf6\xb7\x85\x25\xb7\xc7\x55\x4c\x6a\x38\xa8\x4e\x4c\x1b\x73\xa8\xd7\x58\x17\xad\xe4\xc2\x26\x77\x2f\xdf\x8c\xfd\x4a\x77\x02\xfc\xd4\xa3\x77\xd6\xbd\xc6\x72\x2b\xdb\x88\xbe\x40\x81\x33\xdd\xa3\xad\x80\x8d\xb5\x7c\x0a\xfa\xb8\xb3\x86\x7f\x0d\x23\x2d\x5f\xcb\x7d\xb8\xa1\xda\xc5\x82\xb7\xd6\x7f\xf6\xd3\x52\xcd\xac\xb3\x66\xa2\x87\x54\x6d\xeb\xd4\x2f\x2f\x6b\x45\x9a\x57\x2f\x68\xcb\x49\xb3\x58\x51\xc8\xee\x38\xe5\x3b\x50\xe6\x4c\x6c\x25\x95\xab\xc4\x5f\x71\x88\x55\x95\xdc\x98\x14\x26\x05\x66\xff\x2d\x37\xf7\x97\x6d\x60\x90\x88\xa6\xc6\xd7\x31\xb1\xa0\xf7\xa8\x47\xb3\xf9\xdd\x7a\x41\x17\x0d\xad\x09\x12\xab\xf5\xd5\x87\x9e\x77\x9a\x67\x82\xa8\xf7\x35\xd9\x55\x42\xef\x08\xa8\x95\x6f\xfb\x41\x19\xcd\x4b\x5f\xf5\x94\x8a\xca\xd4\x76\x50\xec\x2a\xde\x3f\x37\x5f\xd9\x3c\x17\xb7\xfc\x86\x2e\xfa\xad\x49\x76\x51\xa6\xbf\x17\x78\xf4\x02\x42\x88\x8c\x57\xae\x5d\xa1\xc6\x13\xda\x48\x9d\x96\x5c\x6d\xe2\x70\x3b\x19\x19\x7c\xbb\xf7\x3e\xc2\xb2\x06\xcb\x8f\xb1\xec\x21\x66\x3b\x55\x6a\xfe\xde\xb6\x91\xe4\x58\x8f\xd9\x0d\x49\x6e\xa9\xf1\x16\x2b\xf5\x22\xdb\x5d\xf0\x09\x38\x89\xe5\xb5\x29\xa2\x58\xbd\xd8\x92\x5e\x2e\x7a\xc1\x6f\x59\x83\x09\xfd\x47\x13\x87\x2d\x01\x15\x1d\x94\x0b\x19\xec\x5b\xda\x0d\x59\x7a\x88\x31\x4f\xc5\x62\x05\xbd\xbe\xa7\xc3\xe3\xbb\x0b\x8a\x97\x37\xa7\xaf\xd6\x44\x3b\xdb\xbf\x5e\x1b\x1d\xad\x5c\xf1\xb0\x5e\x53\xa9\x74\x57\xf5\xa3\xa0\x46\x05\xdc\x73\x57\x68\x14\x97\x43\xc1\xcc\x39\x83\x4a\x55\x90\x91\xbb\x1d\x62\x85\x97\xa9\xb9\x21\xa4\xa6\x39\x3f\xcb\xfb\xa7\x5f\xf8\x78\x82\x11\x3f\x43\xe7\x67\x2e\xf2\xa0\x1a\x44\x67\x6d\x50\x40\x78\x98\xd7\xb6\xed\x17\x92\x1a\xe7\x25\xe4\xa6\xa5\xdb\x9e\x43\xd4\xde\x9e\x48\xd9\x73\xa1\x3e\x7d\xac\x7c\xf1\xbd\x0e\x0f\xf7\x21\x1c\x1b\xb0\x44\x1e\xf1\xed\x5a\x58\x72\x77\x74\xb9\x62\x2d\x5d\x94\x8d\x0a\x2e\xce\x83\x0a\x1b\x7e\xd7\xc1\x95\x60\xbf\x3b\xe8\x11\x02\x1f\x8c\x5a\x21\x45\x6a\x15\xab\x85\x00\x82\xd9\x3c\xda\x68\xa1\x88\xc1\x85\x37\x81\x12\x74\xcd\xa4\xa2\xc2\x85\x1d\xa4\x95\xdc\x49\x45\xb7\x89\xf1\xc4\x76\x50\x03\x41\x34\x86\x67\x49\xd8\x28\x36\xda\x82\x7d\x25\x7d\x07\x50\xe1\xde\x74\x30\xde\x69\x1f\x2b\x53\xaf\xe5\x94\x32\x5a\x58\x78\xae\x29\xb3\xdd\x31\x9c\xdb\x77\x8e\x91\x7b\xe1\x98\xcc\x64\xcc\xd2\x57\x9f\x9d\xbf\x23\xff\xf7\x05\x86\x25\x4f\x82\x14\xa1\xf1\xc8\x46\x14\x9e\x3f\xb6\xb5\xc6\x53\xb6\x94\x31\xac\x4c\x86\x55\xcc\x3f\x7a\x89\x7d\x8c\x0a\xa2\xb1\xe0\xf7\xf6\x23\x83\xc6\x88\x32\x61\xeb\x55\xb4\xff\x4c\x46\x3d\x6f\x59\x4d\x27\xa8\x62\xf0\x88\x75\x96\x66\x50\x20\x1c\xca\x53\x25\xd0\x9e\x71\xfe\xa8\xb1\xe0\xf0\xfb\xac\xb8\xb1\x3e\x87\xd8\x35\x12\x17\x39\xc3\xa1\xf6\xf1\xe1\x09\x93\x6c\x7f\x90\xed\x30\x6b\x26\x87\x51\xbd\x2c\x6c\x3f\x9b\x3a\x45\x0c\xa3\x72\x7f\x46\x62\x5b\xbb\xb5\xec\xd0\x4f\x59\xc3\xaf\xc8\x01\x4c\xa9\x57\x43\x8b\x5c\x5d\x13\xb1\x0d\xb1\xde\xa0\x54\x2c\x84\x2d\x9c\x2a\x56\x3c\xb8\xcc\xea\xed\x02\x31\x83\x0b\xd5\x07\x31\xa2\x88\xf4\x8b\xc2\xdb\x46\x00\xbf\xef\xec\x8f\x6c\x9b\x26\xb2\x21\xd2\x19\x83\xc8\x9a\x37\xb1\x1c\x01\xe9\x43\x32\xcb\x61\x69\x1d\x2f\xf5\xc4\x92\xe1\x03\x6b\x99\xbe\xc5\x1b\xa2\x08\x62\x29\x8a\x89\xe8\xa1\x3e\x7c\x3b\x6c\x77\x0b\x31\x06\x64\x4d\x6c\x43\xa8\x90\xbc\x23\x2d\xfb\x0b\x6d\x2a\xe1\x63\xb2\xa6\x6c\x74\xe1\x6b\xb7\x0b\xcc\x68\x86\xf8\x4c\x7e\xfc\x83\x8b\x6d\x8d\x43\x04\x16\x6b\xbc\x58\xa6\x68\x5e\x6a\x16\x2b\xac\xd5\xca\x7d\xe5\x97\x76\xea\xe8\xbb\x1d\x3d\x38\xf0\xce\x4f\xd6\x96\x3f\x33\x79\x3f\xb4\x44\x58\xff\x52\x6c\x5e\x4c\x81\x72\x0d\x82\x2a\xb1\x9b\x50\xaa\xb9\x7e\xb9\x63\x83\x35\x3e\x96\xa9\x7e\x55\x77\x1c\xf4\xa4\xbe\xa7\x36\xd5\xb7\x61\x57\x4c\x58\x34\x23\x1d\xd2\x0b\x12\x74\xd1\x1d\x35\xcc\x6e\xf8\x15\x51\x15\xa9\x5a\xa2\xa8\x00\x85\xd6\xc9\x8c\x08\xb2\xa5\x0a\xe2\x4d\x59\x1b\xaf\x4b\xb2\xa3\xa2\xfa\xed\xef\x0e\xe1\xd1\x5a\xfd\x8d\xfc\x0d\xfc\xf3\xfc\xb7\xbf\x33\x1e\xfe\x9f\xb9\x76\x04\x95\xbc\xbd\xa5\xcd\x8c\xc6\xd9\xd6\x50\x3c\x62\x7a\x6e\xb0\xf0\x1c\xdf\x3f\x22\x71\x3e\xef\x14\x7b\xab\xe9\xd3\xbe\xa7\x85\x4c\x3e\x87\x84\xda\x75\x83\x51\xbc\xd7\xe3\x40\x37\x88\xc7\xe5\x97\x8e\x15\x37\xa4\x51\x73\x89\xa2\x6b\x2e\x50\x85\x92\xff\x04\x8c\x29\x9d\xb8\xc2\x7e\x91\x5f\x01\x07\xd1\xea\x73\x07\x7f\xce\xa4\x17\xc0\x95\x88\xe0\xcb\x94\x89\x51\x35\xae\xcc\x9f\xb0\x56\xee\xb9\x91\xb0\x62\xc5\xb6\xcc\x95\xbe\x21\xc6\x4e\x09\x7c\xdd\x1b\x67\x32\x40\xfe\x30\x7f\xf7\x36\x68\xc1\x83\xa6\x43\x42\xff\x22\x79\xf7\x9c\x76\xfa\xb1\xdb\x54\x7c\xf9\x0b\xad\xf3\xd4\x6f\x48\x58\x16\x5d\x73\xfa\x59\x4e\xf2\xa6\x7e\x67\x3f\x18\xbb\xe5\x40\x79\x58\x02\xa2\x48\xa5\x9f\xf2\x22\x35\xe1\x6f\x10\xed\x5d\xee\x09\x79\x76\xfe\xb6\x3a\x3f\xdb\x5b\x31\xab\x6b\x7d\x72\x2a\xed\xe2\xeb\x36\x57\xe8\xf6\x8b\x62\xb6\xcc\x8b\x99\xcb\x8a\xa9\x4f\xbe\xf3\x33\xe4\xe3\xdb\xdf\x4f\x8b\x58\x47\xd1\xd5\xc5\xcc\x04\x9c\xac\x2e\x66\xb7\xbf\x2f\x66\xdb\x34\x76\x3e\xbc\x6b\x11\x51\x66\x34\x55\xe7\x67\x4e\x6e\xeb\x32\xb5\x0e\x56\x53\xe9\x5f\xed\x5c\x54\x43\x6f\x44\xba\x0f\x7d\xbc\xeb\x0b\x54\x60\xee\xbb\x1a\x9a\x31\xb5\xb4\x16\x58\xd2\xd5\x0b\xf3\x90\x57\x75\xcf\x17\x26\x7f\x40\x4b\xd6\xe0\xad\x90\xa7\x7d\x35\x75\x38\x19\x04\xd8\x69\x38\xf3\xc4\x6e\x6d\x6d\x09\x94\x20\x1d\x88\x4e\x2a\xbe\x5c\x0d\xd2\x68\x57\x0e\x5d\x47\xf6\xdf\xe7\xbe\x32\xf9\x1b\xff\xe7\xf3\xa0\x5e\xe3\x3d\x02\x92\x40\x5c\x11\xa8\xc7\x00\x33\x72\x31\x0b\xd4\x5a\x63\xd6\x8d\xa0\xfb\x2e\xa3\x05\xa9\x7a\xc1\x3f\x20\x32\x27\x47\xa1\xfb\xe7\x1e\xe8\x28\x87\x1e\x7a\x1e\x5a\x70\x9a\xf8\xab\x7f\x67\x0a\xc1\x19\x05\x6a\x8a\xf0\x84\x32\x00\xd4\x5b\x2f\x39\x1a\x05\xc1\xa2\x25\xbb\x40\x0b\x06\xfd\x84\x0d\x9f\x9f\x4e\xf4\x8f\xc7\x0a\xa0\x51\xe4\x9e\xd0\xb0\x1d\x46\xbb\x85\x6c\x0f\xb3\xa7\xcd\x42\xb0\x2a\xb2\xfc\x63\xf4\xb5\x74\x3d\x3f\x84\x1e\xff\xae\x33\x8d\x43\x4e\x16\x53\x0c\x9f\x93\xd6\xa4\x6b\x1f\x53\xf5\xe7\x1c\xde\x64\x42\xeb\x20\x0d\xfe\x64\x46\x6b\x5f\xcf\x96\x08\xc4\x1b\x3e\xd2\x2c\xba\x20\xe4\x5b\xd2\x19\xbf\x93\xd1\x50\xd4\x54\x52\xac\xdb\xe6\x35\x3a\xa0\xb3\xe6\x83\x43\xd6\x8b\xfb\x26\x3a\xba\xb2\x04\xd1\x11\x38\x67\xb3\xcc\xaa\xb6\x29\x92\x4e\x7f\x3c\xb5\x9b\xfc\xd3\xc7\x03\x02\x92\xfa\xbd\x1b\x49\xf2\xf8\xa4\xf1\x26\x77\xae\x3d\xb0\x92\x5c\x10\x41\xb8\x18\x7c\x0f\x0e\xef\xc0\x5f\x8f\xc7\x70\x31\xfb\xb7\xee\x6d\x86\x1f\xa7\x07\x7b\x98\xae\x26\xed\x3b\x01\xd9\xe3\xb4\x4f\xb7\x5c\xb1\x1a\x33\x72\x7b\x6d\xeb\xad\x7c\x91\x87\x35\x60\xb3\x80\x43\xfa\xb0\xdb\xc9\xdc\x03\x63\x06\x70\x57\xd8\x48\x9d\x5c\xa0\xb4\xcf\x1f\xac\xed\xcb\x76\x98\x4e\x60\x31\x76\x04\x4a\x7e\xa1\x5e\xf4\x14\x7d\x84\xbe\xb2\x4d\x83\xcb\x24\x6f\x5b\x7e\x07\x09\xe5\xbe\x48\x17\xe0\x58\xda\x87\x0e\x70\xee\x3c\x6e\x1f\x9e\x14\x37\x63\x2c\x0e\xf7\xde\x84\x36\x99\xc2\xe3\x6c\x41\xec\x1a\xf5\x9b\x2f\xbc\xda\x0e\xaa\xb4\x9b\x5c\x64\x17\x5d\x79\x91\x3d\xce\xa8\x3a\xde\xed\x63\x97\x1f\xd3\xb5\xe3\xdd\xf3\x47\x3e\xe0\xac\x1d\x52\x81\x0e\x33\x63\xc4\x04\x03\x3f\xb6\x2d\xc9\x4f\x1f\xc1\xea\x02\x8c\xe3\x87\xce\xe6\x71\x70\xf6\x4e\x89\x1c\xfc\x90\xae\x14\xe2\x23\xf9\xb9\x8e\x23\x34\xee\x5f\x73\x7a\xa1\x7b\x8b\x84\xc2\xcd\x3e\xe2\x73\x2f\x66\x6f\xcc\xe0\x69\xf1\xb9\x77\x7b\xd4\x42\x71\xec\x21\xf8\x61\xc7\x89\xe7\x65\xb0\x16\xe0\xe9\xf1\xb0\x25\x14\x50\xd7\x98\xa2\x65\x44\x75\x16\x6a\x38\xbb\xc4\x3a\x67\xc3\xf6\x74\xf3\x28\xae\xfc\xc8\x72\x5e\xbb\x64\x80\x87\x3e\x98\x66\x46\xd4\x58\xfc\x68\xea\xd9\xe4\xb7\x7a\xe9\xdd\x34\xf9\x2c\xb8\x4c\x9f\x04\xa3\x21\x61\x91\xf1\xd6\x97\xbb\x0f\xa0\x7b\xf0\x5b\xc1\xdc\x84\x86\x43\x30\xe2\xdc\xf2\xc0\xa3\x16\xa1\xf0\xfe\xcd\x1d\xd2\xc0\xd0\x3d\xca\xa0\x6c\x35\x87\xb6\x7a\xd8\xc0\xf6\x6b\x64\xdc\x7e\x89\x7a\x25\x00\x66\x5b\x6f\x96\xa9\x52\xca\xcb\x75\xb2\xbd\xc2\x96\x0f\x50\x68\xdb\x9f\xf1\x30\x4a\x24\x1c\xd1\x91\xf1\x24\x44\x2e\x40\x20\x5e\x0f\xdb\x38\x3f\xa9\x07\xe5\xe7\xa0\xc3\xc4\xae\xee\xa0\xce\x2f\x44\x78\x38\xdb\xd0\xfa\xa6\x92\xc3\xf6\xb8\x6a\x68\x4f\xbb\x86\x74\xa0\x29\x77\x8d\x60\x2f\x7e\xa2\x94\x60\xcb\x01\x55\x79\x9e\x8e\xb8\xcc\x8f\x10\x77\x99\x74\xe9\xf0\x90\x98\x6c\xc7\x13\x11\x6a\xb0\xa0\x40\xac\xd5\x8c\xf6\x8a\x0a\xda\xd5\xd8\xf5\xcf\x5a\xe3\x7d\x07\xf8\x43\x45\xd6\x41\xcd\x4f\x8e\xa9\x46\x69\x34\x31\x83\x5b\xb6\xa5\x0b\xb5\xeb\x11\x22\xbd\xb9\x78\xf3\xaa\x02\x54\x26\x82\x67\x7f\xc1\x8c\x32\x35\x34\x37\x97\x1c\xb6\x4b\xd4\x89\xc0\x06\x9e\x41\xc2\x57\xb1\x86\xf2\x45\xe9\xc3\x9f\xc0\xcf\x58\x95\x3e\x0f\x77\x8a\x5f\x81\xa7\x36\xb0\x0f\xb2\x75\xf2\x32\x48\x00\xee\x15\xeb\x68\x1c\x21\xe8\xfb\x8b\xd7\x46\x93\x97\x55\x33\x34\x8c\x4f\xb6\x03\x05\x26\xb5\x7c\x5d\x45\x74\x21\xd0\xa7\x24\x7c\x9d\x8b\x60\x91\xcf\xb1\xc5\xe8\x33\xbd\xe4\xd9\xf3\xa4\x16\x6a\x4f\xc5\x8a\x8b\x2d\x7e\x43\x38\x54\xb6\x9a\x70\x6e\xfe\xad\x35\x56\x95\xbc\xcb\x19\x0f\xf0\x43\xdf\x47\x23\x19\x39\xac\xe7\x46\xad\xe4\x96\xea\x5e\x21\x35\x39\xcc\x1e\x2b\x51\x1f\x3c\xce\xe8\xb6\xb4\x42\x7c\x19\xc4\x6a\x55\x42\xa0\xa2\xf1\x4c\x36\xd6\xec\x26\xcc\x53\x9e\xfa\x19\x0e\x2b\xdc\xc6\xf7\xda\x05\x87\x2a\x84\xa8\xcf\x7a\xf5\x03\x91\xf3\xc0\xdd\xa3\xd4\xf9\xb0\x58\xd6\x7f\x2c\x31\xa5\x1f\xca\x86\xc8\x31\x99\x04\x51\x8a\xd4\x1b\xa7\x2e\x4f\x1b\xb9\xd8\x92\x35\x9d\xdb\x43\xa8\xd4\x93\xb1\x50\x71\x47\xeb\x7e\xdc\xb1\x46\x93\xb0\x6b\xaa\x0d\x65\xeb\x8d\xb2\x99\x10\x8d\xbb\xaa\x51\x6c\x1a\x81\x72\x83\x5e\xa9\xc8\x45\xfa\x83\xaf\x07\x2a\xc9\x57\x12\xb2\x84\xa0\x13\x85\x2f\xd0\xe9\xb0\x44\x9e\x22\x80\x2b\x52\x3e\xd0\x1c\xbd\xd3\x50\x50\x58\x3a\x01\xfd\xd2\xeb\x88\x62\xb7\xb4\xa2\x5b\xfe\x0b\xab\x84\x3b\xb1\x7c\xc0\x31\xe9\x1b\x7c\xc2\xe7\xce\x96\xc8\x49\xad\x82\x3b\x0d\x74\xb9\xe2\x88\x34\x72\x51\x73\x2e\x90\xe7\xf6\xd1\x1b\xfd\x25\x20\x75\x57\xa8\xac\x9e\xb1\x55\xa1\xe2\x63\xbf\xd0\x4d\xf2\x54\x88\x8d\x96\xbb\xbc\x8e\x5e\xc0\xc8\xc4\x8c\x81\x8b\x83\x62\x7b\xac\xa0\x9f\x5c\x70\xbc\xd2\xfa\x31\x05\x26\x56\x8f\x09\xaf\xf7\xef\xf5\x82\x42\x76\xb6\xe1\x3d\xcc\x39\x91\x6b\xea\xf8\x30\xe6\x1f\xda\x67\x85\x05\xf1\x53\x10\x2f\x18\xa3\x73\x5f\x48\x25\x28\xd9\xb2\x0e\x09\x35\x18\x9e\xa6\x26\xfa\x8a\xd7\xd4\x8f\x5f\xed\x71\xf8\x98\x51\xc1\x39\x38\xb1\x6e\xd2\x60\x7f\x31\x7c\x9f\xa4\x32\xfe\xa4\x8f\xf2\xca\xec\x91\x82\x25\xe0\x5f\x2b\x2e\xaa\x6f\xb0\x5e\x0a\xb2\x52\x6f\x46\xda\xbb\x4e\x86\xe0\x69\xcb\xaa\x6d\x68\x06\x70\x58\xaa\x5b\xf8\x24\x95\xc0\x4d\x66\xfe\x06\x47\x60\xeb\x35\x6b\x1d\x50\xa0\x92\x5c\x2d\x5b\x0e\xfe\xe0\xec\x16\xc6\xe8\x0e\xc6\x99\x5f\xed\x5a\x7d\x9c\xd0\x0f\xea\x80\xe0\x73\x51\xb8\x87\x27\xb5\x0d\x27\x75\xd2\xb8\xcd\x46\xc7\x17\x77\x74\xd9\x4f\x6e\xc3\x8e\x57\xb6\x4c\xd5\x0b\x0a\x59\x99\x5c\x88\xa6\x35\xed\xa8\x20\xb8\xff\x61\xdf\xee\x16\x8a\x17\x93\x76\x5c\x8f\x49\x0f\xcd\x46\x77\x3f\xa0\x6e\x13\x3f\x0a\x8d\xa9\x19\x2e\xd4\x6c\xa7\x65\xb8\xc2\x6e\x33\xd4\xd8\x63\x19\xfe\xbc\xa1\x1d\xe8\xcd\xfd\xc2\x0b\x57\xe4\x93\x0e\xec\xfa\x57\xa3\x3f\xfd\x85\xfd\x48\x77\x77\x5c\x84\x4f\xba\x08\x8c\x90\x48\x33\x2d\x37\x16\x1d\x11\xc9\x29\x5b\x31\xc5\xa0\xfe\x2a\xcd\x0e\x70\xe3\xdb\x88\xc9\x74\x33\x76\x29\xae\xe5\x47\xf4\x83\x74\x28\xe7\xd6\xdd\x14\x1f\xd1\xb9\x77\x46\xcd\xee\x63\xe3\xc1\x4b\x3f\x67\x80\xa3\xe7\xc7\xdf\x65\xa8\xf2\x9c\xad\x02\xe1\x0c\x32\xdc\xb0\x04\x66\xdb\xd5\x41\x48\x20\x1e\x8f\x3a\x95\xdd\x09\xbe\x2d\x07\x94\x99\xe9\x6d\xcf\x07\x19\x57\x61\x1c\x44\x4a\xe1\x65\x7c\x3b\x07\x2d\x94\x9c\xd1\x99\x70\x6d\xbd\x0c\x1d\x5a\xe1\x44\x2f\xd6\x52\x1c\x9a\x73\x3c\x74\x91\xbe\xf9\x0a\x19\x64\x69\x8a\x5c\x07\xd2\x89\xf1\xf0\xc2\xd6\x72\x9e\xb8\x49\x4a\x8b\x3d\x47\x5a\xea\xcd\xfb\xab\xcb\xb4\x23\x1a\x94\x3f\x8d\xbb\xea\x87\xeb\xeb\x59\xf5\xfe\xea\xd2\x1a\x40\x05\x21\x18\x5c\xc4\xce\x31\xf0\x9e\x55\x12\x99\x7c\x16\x82\x74\xb2\x35\xcc\x69\xdf\x12\xa5\xdf\xf2\x26\xda\x8e\x51\xcc\x55\x1d\xbd\x1b\xdf\x3c\x2d\xa9\x8d\x9b\xd9\x49\xa5\x4f\x7b\x68\xcf\x5e\x1c\xb7\xa4\x65\xc6\x93\x3e\x48\x2c\x68\x22\x79\xd8\x3b\x85\xa5\xc1\x47\x07\x81\xf8\x8d\xfe\xe3\x8c\x05\x99\x34\x17\x58\xee\xcc\x66\xfa\x70\x33\x17\xc1\xf3\x25\xe4\xe3\xd1\xe5\xa9\x32\xf6\x93\x5a\xc7\x42\x6b\x1f\x9b\x12\x13\x5a\x37\x5b\xd6\xa1\xd7\xf7\x99\x4f\x1c\xc0\xd1\x2f\x27\x98\x3a\x6f\x8a\x66\xf3\x0e\x64\xdf\xae\x17\x64\xc1\xc5\x62\x99\x7f\xff\xb2\xfa\x3f\xaa\x75\xf5\x7f\x55\xcb\x6a\xcb\x9b\xaa\x3f\x4e\x62\x50\xb6\x3b\x3d\xdf\x1b\x2e\xc0\xa7\xcb\xf9\x12\x3b\xf3\xb7\xaf\xa4\xeb\xf0\x31\x17\xd5\xa9\xad\x8a\x98\xaa\x4c\x00\x9a\x3b\x26\xe9\x9c\xd2\xea\x67\x76\xc3\x7a\xda\x30\x62\x39\x45\xaf\xab\xc0\x6e\x69\xda\x9d\xdc\xb9\xf2\x70\x49\xeb\x5f\x2f\xf4\xa1\xcc\xe8\x7f\x7a\xf5\xed\x7f\xfa\xaf\xdf\xfc\xa7\xff\xfd\x77\x3f\xd0\xb6\xdd\x92\x6e\x71\x43\x77\x0b\xfa\xc1\x78\x38\x14\xa5\xd0\x40\x5c\x84\xa8\xfa\xe3\x15\xeb\xd6\x54\xf4\x82\x61\x4a\xac\xdf\xff\xe7\xe7\x4b\xa6\xaa\xa0\x8c\x8b\x23\x00\xe6\x4a\x37\x34\x37\x71\x0e\x82\x58\xdc\x93\x30\xc2\x2c\x6d\x33\x7d\x7d\x94\x33\x65\x72\x65\x9f\x33\x59\x43\x00\xba\xd2\x12\x1f\x0b\x20\x3a\x6a\x8b\xd2\x8f\x19\x17\x7f\x43\x77\x60\x8f\xa7\x10\x4e\xc4\xac\x7b\x29\x0b\x89\x20\xef\x7f\xb1\x3d\x5e\x77\xae\xe8\x9f\x87\xd4\x38\xa2\x50\x00\x79\xa4\x01\x0a\x52\xa0\xc3\xd6\xaa\x48\x17\x84\xaf\x44\xe8\x76\xd0\x79\xc1\xba\xb5\x73\xba\xfd\x7b\x9c\x15\xe3\x57\x45\x45\xd7\x13\x62\xb6\x9f\x8e\xc5\xf9\x7a\x81\x78\x35\x25\xa7\x9d\x21\x4e\x70\xca\xfd\xba\xe7\xda\x7e\x67\xd0\x03\xcf\x9f\x9f\x09\x53\x56\x28\x84\xed\x27\x87\xc6\x73\x18\xdd\x19\xac\x49\x6d\xd0\xf7\x82\xdf\x92\x36\xe8\x4b\xd0\x8d\x83\x77\x96\xae\xf6\x57\xdb\x5c\x4e\xba\x52\x87\x9b\x2c\xf7\xa6\x7a\x0a\x73\xf8\x9a\xb5\x14\x9b\x3c\x80\x4f\x70\x47\x2b\xd6\xa6\x91\x38\x1e\x79\x52\x0a\x7a\xf6\xd1\x92\xa4\x09\x1c\xff\xf6\xa1\x2d\xe8\xda\x1f\x72\xef\xff\xee\x5b\xec\xde\xbf\xa1\x3b\xc3\x07\x43\x3c\x63\x5d\xb7\x25\x1e\x36\xd7\xb8\xa2\x1a\x7a\xa4\x51\x9a\x6d\x5e\xee\x72\x0b\x85\x6c\xaa\x8a\xf7\xe9\x88\xdc\x47\x02\x3a\x74\xf4\x03\x93\x4c\x75\x6b\x37\x91\x61\x43\xb9\xf8\x32\x43\x4d\xac\x0c\x2b\x69\x4a\xc3\x75\xec\x50\xdb\x8c\xeb\xcb\xe7\x92\x0a\x46\x5a\x06\xae\x6e\x7c\x55\x9d\xd3\xb8\xa9\x4f\x1f\x41\xf5\x7f\x1c\x5c\xb5\xc6\xe7\x6b\x43\x61\x0a\xcc\xf6\x32\x3e\xe3\x52\xe9\x57\x9c\xdb\x78\xac\x63\x4a\xd7\xfc\x97\x64\xfb\x4d\x9d\xfd\xba\xa9\x17\x69\x17\x7c\xd6\xc5\x89\xad\x17\x33\x02\x07\x9e\x13\x36\xc4\x27\x6a\x3d\x82\xda\xb3\x18\x4d\x0d\x8d\x76\x63\x2e\x24\x24\x5d\xc3\xb7\x68\x9f\xaf\x00\x15\xd8\xcb\x1d\x57\x44\x4a\xb6\xee\x6c\xf6\x9a\x0d\xb5\xac\x7e\x10\x1c\x75\x6a\x69\x5a\x42\xcd\xa9\xb8\x8d\x63\xbf\x94\x4a\x4c\xac\x1f\x69\x8a\xf8\x66\xff\x63\x19\x7d\xee\x32\xfa\x3b\x2c\x04\x21\xa2\xcc\x7b\xe6\x77\x3e\xc9\x1a\x9c\x45\x94\xc1\x44\x32\x50\xb2\x14\x4a\xed\x43\xd9\x79\x12\xeb\x9b\xcd\x76\x6a\x4b\x5c\xda\xd4\xa6\xae\xa7\x08\x36\xeb\xb7\x86\x1a\xbd\xa8\x23\x14\x24\xd3\xcc\xd3\xda\x26\x2a\x79\xb5\x45\x84\x2a\xaf\xb6\x4b\x88\xe0\x81\x0c\xad\x45\xd3\xae\x1a\x31\x53\x3a\x2c\xbd\xe5\x5d\x92\xad\x6b\xfe\x92\x9e\xd3\x5e\xd0\x3a\x31\x2e\x9a\x28\x84\x84\x2f\x19\x23\x4b\xd3\xaa\x0d\xf2\x77\x59\x75\xf0\xb1\x97\xc9\x34\xbe\x9a\x4a\xf2\x54\x92\xa4\xbf\x6c\xd1\xc5\xa6\x7b\xd2\x62\x37\xf0\x2d\x6f\x87\x2d\x45\xbf\xf9\x09\x50\xf8\xd3\x6e\x95\xda\x67\xae\x0a\x56\x99\xaf\x11\x13\x6c\x32\x28\xbe\x62\x6d\xbb\xe8\xe8\xdd\x62\xca\x15\xec\x34\x92\x71\x91\xa6\x01\xd1\x95\xf7\x04\x73\xd9\x5d\x0b\x46\xb2\x51\x33\x63\xfe\x33\x8a\x67\xa2\x46\x9b\x72\x01\x2c\x8d\x83\xc6\xbe\xed\x99\x04\xcf\x8b\x92\x6f\x4b\xde\x94\xcd\x92\x0c\x2d\x9a\xe4\xd0\x41\x38\xee\xfb\x9a\x7d\x52\x6f\xc5\xb2\x4f\x0d\xca\x5a\xe3\x89\xb7\x5f\x3b\x6b\x74\x3c\xf3\xde\xa4\x3b\x47\x31\xbb\xb5\xa1\x5e\x62\xcb\x1c\x00\x71\x7b\x62\x38\x6c\x50\x37\x82\x27\xf2\x28\xc6\xed\xab\x1d\x05\x5d\x00\x12\x84\x1e\xeb\xd8\x02\x6d\x8d\x1a\x9b\x8d\x07\x13\xe9\x7c\x4e\x6f\x88\xe5\xbd\xce\x0c\xcd\x26\xdf\x20\xa7\x26\x1f\xb3\x46\xfa\xe4\xae\xb9\xd1\x59\xd2\x7e\x5a\xc9\xf7\x64\x4b\x71\x87\x15\xf7\x75\x60\x1e\x1d\x7f\x6a\x22\x98\x90\x76\xb4\xb5\x09\xec\xa6\xff\xc1\xf6\xd3\x28\xb8\x44\x49\x58\xd8\x54\x40\x3c\xab\xe6\xce\xdf\x48\x1b\x2e\x54\xc1\x4a\x70\xae\x71\x63\xfa\x98\x62\xbb\x85\x6d\x79\xad\xc1\x13\x1d\x86\xb5\x48\xf9\x8c\xb3\xc8\xac\xdd\x83\xf2\x0c\x92\x16\x73\xc8\x13\x38\x58\x7e\xf9\xb1\x5d\xd7\x83\x20\xf5\x6e\x21\x48\xc3\xb0\x70\x96\xd7\x1b\x5a\x51\xa9\xac\xd5\x2f\x08\xe1\x79\xa7\xf4\x5a\xb2\x5f\xba\xd1\xb9\x8b\xfb\x58\x1f\x1b\x10\x33\x4b\xfe\x37\xb0\x1a\x04\x6b\x29\xcf\xd5\x69\x5e\x91\x8a\x27\x9d\x5f\xef\xf8\xa8\xc5\x72\xb4\x5f\x12\xc5\xd4\x80\x71\x4f\x1c\x33\x4e\xba\xe4\xdd\x1a\xfd\x20\x9c\xf3\xf4\x59\x1d\xc3\xf7\x92\x50\xeb\xda\x5a\xbe\x24\xed\x4c\x5f\xd7\xf5\x0e\xc9\x21\x8a\xe3\xf3\xb5\x05\xc5\xcc\xb5\x5f\xef\xc6\xa8\x15\xf1\x4a\x33\x4e\xd2\x0b\xd2\x19\xc7\x22\xe0\x2f\x3a\xde\x59\x07\xca\x92\xcb\x63\x98\x3b\xd2\xd4\x00\x4a\x39\x5d\x83\x63\x6b\x9c\x97\x6f\xe8\x8e\xf9\x94\x97\x89\x9e\x47\x48\x39\x44\xfa\xfe\x7d\xef\x5e\x48\x96\xe4\x09\x02\xd3\xd6\xba\x9c\x01\xb2\xf2\xa9\xa0\xfd\x19\x43\xfa\xbe\xb5\xd1\x43\xd2\x67\x0b\xe9\x16\x1d\x57\x0b\x79\xc3\x7a\x84\x65\xef\x34\xbc\xd7\x75\x99\xd4\x6b\x9a\xb6\x70\xf3\xba\x44\x62\x72\xc3\xef\x3a\x17\xe3\x19\x44\x60\xcf\xac\x09\x75\xcf\xfb\xa1\xaf\xb8\x80\xcc\x0d\xca\x24\xc9\x6a\x25\xcd\x8d\x31\xcb\x17\xcd\xe9\xd8\xed\x4a\x13\x0f\x89\x98\xb6\xbf\x39\x57\x6a\xcc\xf5\xe0\xe4\x3d\x4f\x68\xcd\xe0\x77\x9a\x59\x24\x18\x8f\x88\xbf\x39\xaf\xe9\x07\x15\xb2\x02\x3e\xf7\x7b\x8f\xea\x53\x70\x15\x7b\x30\x55\x3e\x92\x55\xfe\xe2\x9b\xb0\xb1\x78\x4b\xef\xc6\x4c\xea\xf8\xd5\x06\xbb\x00\x3c\xf3\x04\xa3\xf2\x92\x49\x95\x6e\x91\x18\x99\x6d\x93\xb7\x90\x3c\xe8\x62\xfe\x0e\xde\xad\xc7\x70\xc9\x98\xd0\x9e\x70\x25\xeb\x23\xc4\x26\x9d\xe0\x0d\x95\x2f\x7a\xa2\x14\x15\x36\x97\x6e\xdb\x06\x1b\xcb\xb7\x93\x0a\x01\x1c\x18\x75\xa9\x78\xe4\xa6\x53\xd2\xe2\xd7\xf5\x0f\x9a\x4d\x84\xac\x70\x64\xad\x17\x13\xdc\xa9\x8f\xc1\x46\xf3\xd5\x4a\x52\x25\x7f\xa3\x9b\x7d\x1e\xda\x63\x14\xe6\x0a\x8f\x04\x38\x5d\x0e\x0f\xfc\x0b\xa5\x77\xc6\xb2\x68\x43\x4c\x96\xdd\x30\x1c\x60\x50\xe7\x0e\x6f\x0a\xb9\x0c\x3f\x67\x82\x5c\x34\xb4\xda\xf5\x0d\x5b\x16\x3b\x30\xdb\xc1\xfc\xf7\x91\x6a\x11\x66\xde\xe4\x1c\xc2\xf9\xca\xb7\x41\x74\x79\x47\x1e\x97\x73\xd6\xfc\xfc\x4a\x8e\x06\x45\x4f\xf8\x16\x3c\x3e\xda\xb0\xa6\xa1\xf7\x45\x3c\x74\x63\xb4\x91\xdb\x6c\xb4\x56\x73\x19\x4d\x45\xab\x66\x92\x7f\x8b\x3c\x02\xec\xa4\x9b\x78\xb0\x6e\x7d\x24\x36\xb0\x87\xd2\xdd\x86\xa5\x76\x44\x07\x2b\x94\xc6\xda\xe0\x29\x17\x80\x84\x56\x5c\x30\xbd\x2d\xdb\x3d\xce\xbc\xdd\x99\x95\x31\x22\xeb\xf9\xcc\xc8\xe1\x52\xed\xa4\xed\x12\x0c\x6e\x5c\xc1\x36\xc4\xb7\x5d\x6b\x87\xae\xe0\x12\xfd\xc6\xa6\x9e\xf6\x02\xf3\x5b\xac\xb0\x11\x1d\xfe\x3b\x38\x25\x6d\xd6\xba\xe3\xea\x9f\xff\xf9\x9f\xdd\xff\xf2\x67\x22\xa4\xc7\xc3\xe3\x14\x4b\xc9\x96\xad\xcb\x1c\xe8\x0b\x16\x26\xba\xa1\xb4\xbf\x64\xdd\xcd\x45\xb7\xe2\xe9\x4c\x47\x38\xc4\x6a\x95\x9a\x64\x7b\x9a\xd1\x02\x31\x45\x6c\xb1\xfa\xff\x73\x3e\xa9\x68\xf5\xee\x86\xaf\x38\x1c\x1f\x21\x2b\x9b\x73\x3e\x26\x95\x17\xe9\x11\x56\x79\xe4\xc0\xed\x71\x40\xfa\x3e\xcc\xd5\x3f\x26\x46\x84\x03\xac\x35\x02\xfa\x7b\x17\x41\xfa\xa2\x2b\x14\x28\x2f\x07\x73\xc3\x53\x28\xe5\xef\x46\x13\x56\xfb\xda\x72\x83\x61\xd5\x01\x26\xbf\x7b\x35\x9f\x08\x87\x85\x5e\x17\x81\x29\x3e\xf8\xfb\x55\xf0\xa9\xe1\x00\x21\x22\x8e\x54\x9a\x71\xb9\x76\x73\x96\xa4\xf8\x28\x7a\x21\xd8\x46\xd4\xa6\xe4\x3a\xea\xe9\xd4\xf1\xd3\xd2\x53\x29\x44\xe5\x37\x3d\xb7\x53\x65\xc2\xf7\xdd\xf7\x5c\x72\xcd\xb9\xcc\x2f\x67\x69\xae\x7c\x0c\x8b\x10\xcf\xe6\x8c\x0f\x32\xcf\x64\x49\xf4\xf7\x58\xf6\x63\xfe\x19\x94\xf1\x84\x24\x3f\x58\x1c\x70\xc3\xcd\xe0\x16\x1c\x4f\x8f\x71\x8c\xa9\x39\xc1\x39\x96\x0b\xe6\x32\x68\x22\x25\x18\x6b\x47\x64\x07\xde\x61\xeb\x3e\x1a\x27\x5b\xf0\x2d\x3f\xb7\xb1\x9f\xa3\x06\x3d\x22\x6b\xe0\xcd\xf5\x4c\xf0\x0f\xbb\x17\x33\xa3\x76\xb0\x3a\xe2\xea\xb4\xeb\xf8\xd0\x19\xc3\x60\x20\x9b\xd8\x22\x86\xcb\x13\xa1\xbf\x31\xa9\xf3\x7d\x59\x94\x41\x8e\x36\x9b\x9f\xbe\xb0\x9d\xc2\xeb\x78\x52\x47\x34\x2e\x7d\xf7\x44\x9d\x9f\xe2\x31\xe0\x4d\x4c\xde\xd2\x77\xcf\x05\x6d\x89\xd5\x43\x83\x66\x33\xfb\x5c\x92\xb2\x8f\xa1\x6e\xb4\xe4\xbf\xae\x3f\xc4\xe3\x3c\xe8\xaf\xd0\x30\x0f\x53\x19\x3e\x0a\x9a\x85\x78\xcd\xa1\xb7\x41\x82\xc5\x8e\xbb\x74\x21\x44\x52\xa2\x84\x51\x28\x2d\xab\x2b\xfa\x1c\x92\x6b\xe7\x95\x19\x2b\xf6\x38\x6c\xf6\x98\x45\x06\xf7\x4d\xf5\x63\x33\xe9\xcb\xde\xd0\xf7\xa2\x95\xe9\xc8\x22\x1c\x62\xc8\x0a\x89\xcf\x20\x9d\xf0\xfb\xab\xcb\xf4\x29\x7e\x50\x28\x7d\xdb\x78\xa6\xb0\xfe\xec\xa8\xfb\x30\x0e\xeb\x46\x9a\x0e\xcf\x81\x27\x32\x70\x40\x01\x60\x46\x92\xfb\xd3\x64\xb2\x36\x54\x2e\x31\xb2\x16\x8b\x8d\x00\x1f\xc0\x3d\xfd\x7f\x1b\x6b\xb9\x32\x54\x6e\x6f\x10\x3f\xa1\xe1\x7a\x75\xd7\xa0\x1b\x7c\x34\x2a\xfc\x91\x15\x57\x53\xea\xa4\xa2\x62\x2b\xdf\xad\x72\xdb\x1d\x0c\x8b\x93\x9c\x2c\xf9\xa0\xcc\xe3\xd1\x04\xe2\xf2\xbd\xbd\xd6\x9f\x57\xef\x56\xee\x50\xff\x0f\xe6\x7a\x7f\xc5\x5a\x47\xef\x2a\x20\x7f\xb6\x12\xb7\xac\x5b\x90\x35\x5d\xc0\x85\x8c\x45\x02\x79\xc3\x3a\xc8\x76\xa8\x49\x18\x32\xd2\x92\xad\x5d\x70\x66\xd7\xed\xe3\x51\x02\x0d\xb2\x69\x5b\xa7\x4d\x2f\xbe\xa1\x3b\xc8\xf4\x6c\xb4\xda\x2e\x41\xe5\x76\xac\x3e\xd7\x20\x81\xfc\xba\x2c\x86\x80\x60\xf0\xdb\x5e\x45\x92\xf0\x31\xdd\xa1\xee\x08\xa8\xae\xb8\xb0\x69\x25\x49\x5d\xd3\x5e\xc5\x14\x41\xa2\x46\x97\x25\xb4\xf7\x90\xb3\xb0\x11\x70\xfe\x18\x2d\x33\xb5\x29\x48\xf4\xbc\xb1\x34\xff\x4a\x9a\x9e\x98\x63\x1e\xaa\x3a\xa9\x5c\xda\x80\x04\x01\xac\x76\x43\xeb\x96\x75\xb4\xb1\x49\x97\x81\xd7\xb6\xe9\x88\x8d\xdf\xc6\xa9\xf9\xf5\xe9\x63\x65\xb2\x15\x07\xa1\xf9\x6b\xd2\xb6\xa1\xb5\x9b\xa0\x44\xf2\xae\xfa\xe3\xd1\xb9\xa9\xb4\xba\xe6\x73\xdb\xc7\x3f\x1e\xed\xc9\x4c\x27\x29\x91\xa3\x3e\xec\x79\x2d\xbe\xa5\x77\xd5\xf5\xbb\xb9\x7f\x51\x80\x6d\x11\x44\xdd\x34\xb9\x80\xfe\x3c\x50\xc1\xc0\xcf\x48\x3f\xcc\x81\xf8\x6b\xaa\xae\x11\xfa\x7f\xfa\xa8\xd7\x8b\x6d\x28\xbf\x36\xf7\x18\xc7\x54\xed\x26\x78\xa7\x46\x2c\xf8\x6a\x21\xc7\x53\x32\x1f\x4e\x3a\x75\x87\x2c\x34\x94\x43\x29\x17\xc4\x98\x95\xda\x3a\xa3\x82\xf7\xec\x96\x34\x34\xdc\xe6\xc8\x92\xfb\xf7\x37\x51\x9e\xc2\xfa\x14\xc1\x44\x41\x1e\x8e\x6c\x59\x08\x2b\xd3\x42\xd2\xe5\xd4\x50\x6c\xc3\x91\x8b\xff\xd4\xc0\xf7\x37\xd1\x7c\x0a\x3a\xb8\x22\xc7\x7e\x31\xc1\x46\x3b\xaa\xa1\x6b\x34\x46\xde\x43\x57\x10\x53\xaf\x37\x73\xdd\xd3\xb0\x22\x0f\xcb\x95\xe1\x9a\x01\xd2\x78\x09\xf8\x98\x97\xe3\xb8\xe0\xd0\xe4\x20\x60\xdd\xf8\x5d\x21\x2b\xa1\xeb\x46\x62\x6b\x62\x7b\x92\x73\x7f\xe5\x8c\xa1\xa8\x7d\x62\x92\x32\x2e\x18\x70\x8a\x41\x42\xf1\x8e\x09\x0f\xb3\xb4\x6f\xa9\x2a\x1a\xb2\x07\x16\xc3\x40\xd8\x8f\xbe\x92\x3e\xff\xbf\xcf\xa4\x57\x3d\xeb\x89\xb4\xae\xbc\x26\xb5\x3f\xdc\x10\x17\x5d\x3f\x28\xdb\x35\x23\x6d\x71\x76\x0e\xf2\xeb\x03\xec\x9f\xc3\x6a\x7c\xaa\xb5\x07\x26\x5d\x65\x90\xcd\xf5\x25\x57\xf3\x3b\xa6\xea\xcd\xec\x4d\x48\xcc\x0c\x87\x6a\xbf\x96\x5c\x01\x2f\x64\x22\x1c\x7b\xa6\x47\x71\x2f\x90\xdb\xb0\xad\x5e\x35\xd6\xde\x32\x4b\x33\x2b\xd4\xa2\x27\x82\x20\xec\x16\xe4\x59\xf3\x29\xea\x9c\x34\xec\x05\x7c\x33\x22\x0e\xe1\x59\x5c\x1d\xcb\x41\x29\xf0\x22\x26\xaa\x92\x30\x3c\x6b\x9f\xeb\xfa\x4e\x22\xf3\xd0\xf1\x96\xd7\xa3\x05\x77\x6b\xda\x35\x72\x84\x54\xa6\x4f\x91\x08\x52\x45\xbd\x0f\x06\x0a\xbf\x9f\x59\x97\x6f\x90\x84\xa6\x46\x08\x66\x6a\xfa\x41\x9d\xf6\xfd\xab\xdb\x38\x26\x68\x0c\xcf\x6d\x68\x6e\xe1\x11\xaa\x3b\xcd\xeb\x7a\x08\x52\x1b\x97\x8d\x2e\xf0\x9c\x62\xe7\x54\x11\xd6\x4a\xb7\x7a\xe9\x2d\x66\x50\x87\x0b\x49\x4e\xc5\x92\x29\xc8\x6b\xdd\x0d\x5b\x2a\x58\x5d\xdd\x92\x76\xa0\xa3\xb4\xae\xe6\xdd\x2d\xed\x60\xdb\x48\xda\xda\x9c\x43\x7c\x55\xd5\x54\x28\xa2\x2f\x33\x33\x8a\x5d\x4f\xe5\x71\xc5\x85\xf9\x2d\x4d\x44\x4f\x61\x52\xed\x57\xc4\x97\x46\x13\x9e\x1d\x1f\x29\x86\xbd\xde\xce\x60\xb7\x7e\x25\x2b\xfa\x81\xd4\xaa\xd2\x85\xa4\x22\xdb\xde\xaf\x0d\x7c\xa0\xb8\x68\xe5\x7a\xd7\xc3\xf6\xc6\xbe\xf1\x93\xf8\x92\xab\x0b\xd8\x4b\xf6\xfa\xf9\x3e\x7e\xb7\x96\xcb\x20\xf1\x01\x73\xd3\xcc\x27\xf5\xf2\x32\x01\x74\xb6\x44\xdc\x60\x6f\x15\x33\xc2\xea\x86\xee\x96\x9c\xa0\x31\x44\x50\x5a\x5c\x9c\xdf\x47\x2d\xb8\x26\x32\x71\x4c\x10\xfc\x49\x1a\x59\x27\x34\xef\x36\xa9\x57\x79\xf6\x54\xc8\x5e\xaf\xc1\x5b\x6a\xd4\x09\x4b\x7e\x48\x84\x82\xc4\xfc\xb5\x24\x9f\xdb\x27\x59\x3a\x64\xfa\xba\xe3\x02\x94\x66\xf6\x10\x81\xbc\xe2\x61\xc7\xf7\x72\xca\x33\xcf\xdd\xb2\xc2\x02\x25\xe3\x1b\xda\x30\x72\x3a\x28\x7e\x1f\xbd\xc7\x82\xc8\x12\x85\xdc\x73\xff\x21\x90\xd8\x4b\xdb\x77\x46\x70\x63\xe7\x2f\xb2\x8f\x60\xd6\x10\xa6\xe9\xde\xb2\xe5\xec\xfa\x69\x38\x52\x21\x4b\x16\x21\xaf\x35\x0e\x13\x98\x3d\xb1\xa9\x6a\x49\x71\x08\x97\xa4\x34\x82\xcf\x90\x7e\x7e\xce\x4c\x1f\x1f\xdd\xd6\x04\x0b\xd2\xf4\xd3\x19\x11\x4d\x49\x84\x5f\x9e\xef\xef\xe9\x7e\x3b\xff\x7b\x2c\x6c\xe4\xf7\x94\x3b\x1b\xe9\x27\x7c\x41\xad\x29\x5f\xf4\x1c\x75\x47\x0e\x07\x90\x69\x24\x29\x69\xd0\x18\x8d\xaf\xb9\xa8\x5a\x7d\x71\xb8\x4f\xe5\xa7\x8f\xc7\x15\xa9\x1a\x26\x2c\x57\xc3\x3a\x1b\xe3\x27\x72\xff\xda\xf2\x5b\xcd\xda\xb0\xae\x6a\xe8\x5a\x50\x2a\xff\x5b\xf5\xdb\xe7\xbf\xfb\xfd\x37\xfb\x9f\x76\xba\xd5\xe7\x23\xc5\x4d\xc4\x65\xc6\xb1\xd5\x40\x5a\xd6\x30\xb5\xab\x6c\x01\x4c\x63\xc5\xb6\x4c\xed\x16\x5d\x90\xd6\xaf\x68\x32\x5f\x1a\xf2\x96\x7c\x00\xe9\x65\xc3\xa4\x22\x5d\x0d\x72\x0c\xd2\x41\x84\x1a\xc3\x44\x6f\x29\xe8\x60\x40\x85\xeb\x9a\xac\x48\x4b\x85\x92\x81\x55\x7d\xf5\xec\x9b\xe7\xbf\xfd\x46\xff\xb7\xe7\xa3\x08\x27\xc6\xf4\xbe\xba\x82\x48\x7d\x06\x0b\x1d\x5a\x72\xf5\x82\xc5\x9b\x0d\x13\x68\x96\xf7\xc4\x4f\xb4\x1b\xee\xe5\xea\x82\x92\xd9\xfe\x31\xe0\x98\xed\x28\x65\x94\x3d\x2d\xa4\x7d\xfd\xf7\xb0\xd5\x7a\xc1\x6f\x19\x9a\x38\x05\x28\x54\x39\xfc\x77\x41\xfc\x24\x48\x63\xfa\xc7\xa3\x15\x1f\x84\xfc\xf3\x40\x04\xfd\xe3\x11\xe4\x3f\x97\x56\x96\x66\x95\x3b\xc5\x88\x8f\x0f\x3d\x7e\x0b\x6e\x31\xa6\xa3\xe8\x4d\x71\xab\x51\xb8\x47\x26\x7c\x74\x71\xee\x9e\x6b\x6e\x9c\x5f\x49\x88\xc8\xb0\x24\xb2\x54\x1b\xfe\x34\x31\xf5\x69\xdc\xfe\x35\x16\x97\x78\x62\x9a\x53\x2e\x93\x4b\x5c\x4c\x40\xf3\xd0\x42\xe7\x3f\x78\xc3\x43\x2c\xc1\x72\xcb\xcf\x89\xe8\xa7\x36\x3f\x7a\x1a\xfa\xf4\x0b\xf3\x97\x57\x54\x0e\x6d\x79\x7d\x58\x34\xe6\x24\x62\x8f\x5c\x23\x43\x82\x52\x89\x19\x51\xa7\x50\x4f\x0c\x53\x65\x65\xf1\x98\x75\x72\x50\xba\xf0\x71\x08\x7c\xd2\x07\x69\xf9\x7d\x27\x1c\x65\x13\x01\x2c\x9d\x0a\x54\x1d\x5a\x18\xd2\xce\xa6\x97\x36\x1a\x2c\xa0\x0b\x64\xd4\x6e\x69\x8d\x1d\x97\x90\x96\x03\x13\xd4\xd9\x6c\x1d\xb0\x45\x0b\xbd\x2a\x1c\x96\x76\x36\x30\xd7\xde\x92\xd4\xc5\x7d\xa2\xcf\xb6\x67\x7a\x32\xf4\xfa\x39\x9d\x5d\x54\x0d\xaf\xe5\xa7\x8f\x7b\xf2\x0d\x4b\xae\xa4\x3e\x1b\x7e\x63\x16\xe1\x9f\x07\x2a\x76\x6e\x11\x96\xdc\x4a\xde\x5f\x5d\x16\xe9\x5e\xda\x17\xe7\x79\x5e\x9f\xc9\x62\xc5\x5c\x3f\xd5\x33\x78\x5a\x9b\x04\x06\x3b\x33\x7c\xfa\x01\xb4\xb8\xc0\x53\x6d\xb8\xe2\xf2\xeb\x03\x12\xc5\xed\xb1\x11\xca\xce\x50\xbe\x57\x76\x1d\xfd\xe3\xed\x21\x3b\x7c\xc4\x2f\xe9\x0b\x6e\xa0\x7f\xa4\x4d\x50\x5a\xd1\x93\x02\xcc\xa0\x08\xaa\x75\xba\x3f\xe8\xe0\xaf\x31\x2f\x53\x4e\xd2\xa0\x2b\x93\xde\x53\x7a\xcf\x6d\x3f\x73\xae\xda\x13\x54\x32\x65\x72\xcb\x50\x00\x7f\x06\x9d\x0a\x6e\xe2\x50\x6f\x71\xbf\x7e\xc1\x45\xff\xab\x2f\xe0\x33\x6b\x6d\x99\x4c\xc7\x99\x37\xc2\x9c\x12\x1e\xa3\x41\x68\xf6\x16\x09\x2b\x72\x43\xbb\x51\xd8\x6c\x2b\x8b\xf5\x7f\xfb\x0d\x35\xf8\x60\x0c\x8c\x63\x62\x1f\xe9\xbf\x4b\x81\xf6\x34\xae\xa0\x48\x0d\x68\x90\x2a\xa1\x73\xdc\x14\x91\x40\xbf\xb4\x94\x54\x3f\xfb\x41\x84\x1e\xf6\x2f\xac\xea\xb5\xe0\xdb\x3c\x0e\x5a\xa9\xc4\x44\x6e\x92\x2d\xeb\x34\x0d\xed\xf0\x94\x8b\xce\x2b\x29\xed\x4c\x60\x0f\xa7\x1c\x72\xe2\x7e\xd3\x2d\x0b\xf4\x51\x45\xf7\x7c\x3e\x6c\x59\x6e\x1e\x5d\xa4\xf9\xf5\x38\xcd\x68\x46\xb6\x3d\x72\x0b\x8c\xcf\x40\xa3\x7e\xdc\x50\x41\xc3\xe5\xe3\xc7\xba\xa7\x42\xee\xfa\xe0\x9a\xc2\xf5\x81\x9f\x65\x23\x22\x57\x42\x7e\x60\x12\x22\x50\xf6\xee\xc4\xd1\x8f\x70\xaa\x2a\x62\xf7\x93\xd2\x8f\x51\x08\xee\x07\x25\xf6\x88\x44\x1b\x57\x79\x6f\x67\x4b\xcb\x39\xc4\xee\x13\xd1\x4f\xd0\x2d\xbf\xa5\x26\x37\xb5\xef\x6b\xd8\xda\x7b\x9b\x41\xaa\x48\xa2\xb8\x40\x6e\x60\x44\xef\x30\x2a\xd9\x06\x27\x88\x84\x07\xb1\x33\xa1\x0f\xc9\xad\x51\xfb\xf6\x44\x28\x69\x2d\x88\x8c\x03\x0b\x18\xb1\x99\xac\x57\x27\xba\x98\x2e\x3f\x23\x62\xef\xb7\xb4\x35\x18\x42\x6a\x78\x7a\x2f\xeb\x5b\x97\x00\x29\xb1\x43\x01\x09\x91\xcd\xa8\x03\x21\x52\x5d\xd2\x3f\x4f\xee\x42\x70\x22\x93\xb8\xd0\x68\xf2\x31\x63\xee\x6b\xaf\x4b\x36\x86\x05\xde\x56\xd0\x38\x82\x42\xfe\x33\xa2\x58\xed\x33\x92\x44\x71\x0a\xac\xe1\x56\xd1\x16\x00\x42\x7d\x3a\xa7\x91\xc2\xfa\xce\x4a\x60\x26\x1b\x02\xa2\x32\x74\x1c\x5c\x7f\x4c\x32\x09\xb4\x8d\xf9\xd5\x6c\xb2\x05\x8d\x47\x5c\x3c\xfd\xee\x01\xe2\xd6\x2e\x40\x29\x64\x31\x72\x92\x68\x38\x8c\xbf\x7d\x7d\x5a\xcd\xaf\x66\xbe\x1b\x86\x0b\x98\x5f\xcd\xf4\xe5\xbf\xff\xd9\x2c\x45\x1f\xef\x8c\x53\xe4\x42\x0e\x2c\x31\xc2\x56\x0e\x6b\xe4\xaf\xc7\x47\x6f\x7e\x8b\xb0\x46\xbf\x7d\xac\xda\xa5\xe8\xd1\xab\x41\x53\xe9\xe2\xfc\x10\x79\x97\xa9\x71\x5c\x3b\x60\xf4\x30\x73\xae\x29\xd1\x94\x06\xa8\x7b\x2c\x6e\xad\x97\xc5\xa7\x8f\x3e\x51\x41\xcd\xbb\x8e\xd6\x7b\x5f\xa5\x6e\xff\xda\x7f\x9f\x43\x36\x03\xc8\x68\xf5\x1b\xff\xe7\x73\xbe\x5c\x0d\x12\x53\x24\x15\xc5\xe1\xc6\xf7\x83\x14\x84\xe2\xce\xd5\x01\xfb\xc6\xfa\x3b\xa0\xfb\xed\x1c\x4b\x90\x9c\x62\x10\xd5\x68\xff\x79\x79\x92\x93\x16\xb2\x64\xc9\x38\x3e\xef\x47\xdb\x8e\x49\xa0\x89\x89\x16\xf6\xef\x3c\x81\xb2\xa1\x4c\x41\xda\x32\x21\x5e\x89\xf3\xdd\x19\x29\xf3\xb0\x94\xfa\x2d\x01\x56\x23\x8a\x0a\x02\xba\xbc\x43\xa2\x52\x05\xc8\xd0\x86\xcd\x3d\x03\x9c\x5c\xe5\x73\xdf\x01\x63\xd2\xca\xbf\x77\x56\xe4\xc3\x12\x11\x67\xf3\x83\x5e\x60\xe7\x07\xe6\x9c\x0b\x78\x31\xf7\xe9\xeb\x20\x34\x67\xa9\xfa\xa8\x4c\x59\xdc\xe6\x95\xb5\xcf\x60\x61\x1c\x9b\x04\xb2\xc7\x26\x79\xef\x71\xb5\x24\xd2\x86\x79\xa4\xb7\x54\xc4\xf2\x38\x9b\xe7\xf1\x3f\x96\xcb\x03\x97\x8b\x95\x34\x2f\xf0\xf8\xde\xa3\xb8\x19\x82\x7c\x2b\x3e\x86\xf8\x01\x57\x0f\x87\x2e\xad\xc1\x57\x85\x1c\x36\x08\x32\xe7\x6f\x20\x47\x85\x7c\x84\x24\x15\x2e\x6a\x3b\x4c\x72\x30\x49\x55\x14\xe9\xff\xd3\xc7\xe3\x0a\x0b\xfd\xff\xe9\x6f\x55\x5a\xd4\x27\xd9\xf8\xf4\x3f\x0f\x5f\x19\x69\xfe\x9e\x07\x7c\x35\x26\x25\x78\xc0\xc7\x63\x86\x90\xc9\x70\xce\xe5\x84\x24\xf1\xe4\x25\xf1\xf7\x11\x64\xae\xa9\xa4\x0a\x54\x8c\x77\x26\x77\x4b\x1c\x05\xdc\x3c\x14\x20\xbe\xa4\x5e\xb1\x0f\x9d\xec\x63\x6b\x08\xab\xf9\xdf\xf2\x8e\x8f\xa2\xcf\xef\xbb\xef\x50\xca\xc2\x48\x8b\xb1\x5b\x4d\xe0\xfe\xa0\x4f\xac\xf9\xff\xd8\x7b\xfb\xe5\x48\x6e\x24\x4f\xf0\x55\x60\xad\x59\x2b\x96\x5d\x92\xf5\xd1\xad\xde\x59\xb5\x8d\xed\xb2\xc8\xaa\x12\x5b\xf5\xc1\x2d\xb2\xaa\x6f\xef\xa6\x2d\x0d\x19\x81\xcc\x84\x18\x19\x48\x05\x10\x64\xa5\xd6\xda\x6c\xfa\x19\xee\x9f\xbd\xb7\x38\xd3\xcc\xce\x5d\xd9\xfe\xc7\x47\xd1\x93\x9c\xc1\x1d\x40\x7c\xc0\x11\x19\x49\xb2\xd4\x54\x4b\xfd\x87\x9a\x95\x40\xe0\xc3\xe1\x70\x38\x1c\xee\x3f\xff\xec\x43\xa1\x97\xea\x99\x5c\xf8\x7b\xf2\xe0\xaa\xb5\xeb\xc5\x2a\x0f\x20\x6c\xdb\x83\xbc\x14\x57\x6c\x26\x17\xfd\x35\xdc\x53\x97\xa2\x62\x4f\x1e\xbf\x9e\x41\x92\x5a\xf9\xbd\x78\x38\xd9\xe5\xb2\xfc\x4c\x2e\x9a\xfb\xf2\x68\x9d\x37\xba\x31\xb7\x9a\x19\x61\xe4\x45\x24\x71\x18\xbf\xcc\x27\x3e\xfd\x94\xc7\x9b\xc4\xd8\x83\x48\x7a\x8e\xcd\xbd\x20\x57\x21\xef\x82\x47\x6c\xf7\xaa\xbd\xa3\x1d\xfc\x4e\xe2\xe0\x03\xbd\xe2\x96\x9b\x44\x12\x48\x59\xac\x36\x66\xbf\x92\x2a\x01\x51\x63\x27\xbd\xa0\xf3\x7d\x4a\x31\xa0\x2b\x91\xf1\xc3\xc6\xe7\xdb\x6b\x01\xeb\x67\x95\x30\x68\xd5\xba\x51\xfa\x0e\x90\x0b\xb4\x38\x70\x6e\xf3\x7f\x0b\xa1\xd0\x91\x05\x9f\x73\x1c\x34\x33\x8c\x12\x07\x69\x59\x00\xc2\x1c\x72\xe1\x75\x45\x00\xf2\xe4\x6c\xd3\xd9\xed\x84\x35\xcb\xed\xfe\x11\x86\xc9\xf6\x06\x3d\x39\x6e\xef\x4f\xd8\x9b\x37\xde\x9a\xbd\xb4\x28\xa9\xed\xc9\xe9\xcd\xb9\xca\xbf\x9c\x66\x8e\xb9\x28\x07\x0f\x96\x71\x2d\xd8\x2a\xff\x72\xff\xeb\xc3\xb3\xaf\xaf\x3f\xf9\x2e\xf6\x3c\x10\x74\xa0\xdb\x43\x9c\x1a\x64\x93\xb5\x77\xf4\x95\x34\x46\xe4\x13\xfc\xd5\x39\x60\x04\x04\x7b\xe8\x12\x2c\x69\x52\x55\xce\xab\x9d\xe2\x10\x3a\x4b\xd3\xeb\xe3\x2f\x1d\x22\xd6\xed\x25\x0b\xa5\x00\xd0\xe7\x7e\x73\xff\x9b\xdf\xd8\x78\x7a\xf3\xc3\xe0\xa6\x27\x41\x88\x35\x1b\x77\x20\x8c\xe3\x07\x2f\xeb\x1f\x68\x60\x0d\x2b\x8c\xae\x3f\xc1\xd2\x63\x40\xdb\x24\x78\xdc\x78\x7e\x41\xde\xb8\xab\xd5\xff\xe2\xf5\xf1\x97\x20\x02\x9d\xa3\x56\xc2\x95\xbc\x2e\x10\x9e\xae\x3d\x88\xdd\x8f\x27\x5c\x5f\x58\xee\x21\x26\x7a\xd6\xc1\x56\xea\xfc\x3c\xa0\x81\x58\xed\x63\xa4\xce\xf1\x77\xa2\x72\x0c\xac\x15\xb4\x44\x3b\xce\xdf\xd1\x22\xa5\x0e\xf6\x2d\x37\xfd\xe7\xa7\xef\x9e\x1f\x1d\x9e\x3f\x3f\xa6\xf2\x72\xc4\xcf\x2d\x3f\xd9\x65\x39\x9d\xeb\xe3\x45\x77\xf7\x13\x8f\xf8\x56\x19\x49\x28\x1a\x70\xdd\x74\xd0\x0f\x5a\xa7\xb7\xce\x40\xde\x90\x33\x51\x59\x7e\xc6\x1a\xc9\x15\xa1\xd2\x31\xf4\x4b\xfe\xae\x72\x32\x0c\xd9\x72\x5f\xf2\x15\x11\xc2\xe6\x7e\xfd\x7c\x59\x19\x78\xcb\x07\x01\x14\x37\xdb\xe3\x4d\xec\x47\x10\x74\x8c\x9e\x3b\x09\x9d\xd1\x8e\xcc\xea\x3e\x77\xd6\x4d\x87\x76\x90\xa3\xe0\x0d\xe1\x72\xd4\x2d\xa4\x43\xdc\x67\x9b\xb6\xe7\x4e\x37\xe7\x95\x4a\x07\x77\xcf\x94\x8b\xa1\x75\x3e\xd3\x3a\x9d\x1a\x61\xc8\x73\xe8\xdc\x7d\xf4\x40\x8f\xf0\x1f\x7a\x19\x27\x4a\xe8\xfe\x3e\xa0\xb9\xf8\x3a\x76\xbe\xd2\x68\x96\x29\x55\xe5\xb2\xb4\x7c\x14\x5f\x47\x7e\xcd\x88\xb0\x43\x46\x04\x79\x37\x19\x11\x3a\x2b\x49\x5e\x74\x5f\x8e\xc9\x8d\x10\xd6\x99\xbe\xec\x7e\xe3\x3c\xb6\x9f\x41\x78\xfb\xfb\xaa\x38\xac\xcd\xb2\xdf\x11\x5d\x29\xea\xf0\x99\x0b\x91\x57\x3e\xba\x9f\xf1\x26\x3a\xde\xe7\xab\xbe\xfe\xc4\x2e\x25\x87\xc4\xe2\xa8\xc5\x9c\x09\xbe\x2a\xac\xdc\x09\xf8\x92\xaf\xd4\x42\x96\xd7\x3f\xec\xa8\xbb\x38\x47\x18\x7d\x80\x30\x45\xcd\x28\xfd\x97\x5d\x27\xb0\x42\x2d\x1e\xb9\xc4\x0e\xfb\xb9\xd4\x59\xad\xb5\x54\xa5\xde\xbf\x12\xb3\xfd\x99\x32\xfa\x8b\x95\x10\x66\x5f\xbb\xc1\x85\x9f\x23\x81\x10\xaf\xea\x7b\x2d\x2a\xaf\x6b\x42\x64\xf0\xc4\x85\x73\x79\xa5\x37\xe4\xaa\x04\xe2\x78\xca\x60\x98\x3d\x3b\x13\x82\xb9\x8c\x14\xac\x5e\x63\x03\xed\xec\xdc\x39\xc6\xd8\x03\x4a\x51\xa9\x4c\x03\x58\x37\x69\x67\x08\xb7\x5f\x3d\xd0\xd0\x01\x0c\xc5\x77\xcd\xb5\xae\x57\x22\xc7\xe4\xee\x75\x55\x3c\xd0\x2c\x57\x2b\x70\x7a\x72\x20\x50\xb0\x01\x01\x2e\x5c\xbb\x77\x04\x28\xb6\xeb\xd0\xc6\x2e\x9a\x29\x83\x63\x7d\xe5\x00\x7b\x37\xaa\xae\x7c\x65\xe7\xa4\x60\x47\xfe\x43\x3c\xf2\x71\xbb\xf1\x4a\xe6\x0b\x61\xf4\xa3\xc2\x32\xc3\x17\x2e\xf5\xc6\x7e\xbd\xde\xe7\x76\x1d\x06\x2d\xc6\xdd\x4f\x0b\x1c\xe0\xbe\x1d\xe0\x3e\x0e\x70\xdf\xa8\x7d\xb3\x14\xd0\xd0\xbd\xf3\x41\x99\x5f\xe5\x53\x1a\x8f\x02\x91\x8d\x1a\x1c\x2d\x07\x49\x21\xcb\x96\x0d\x3a\xec\x02\x22\x80\x03\xf6\xe4\xf4\xaa\x92\x46\x4c\xf1\xac\xa7\xb4\x35\xe3\xd2\x8b\x15\x7c\xd1\xde\xca\x2e\xec\x7d\x25\x61\x9f\xc0\xaa\xc2\x92\xc3\xb9\xe7\x3c\x3c\x7d\xe7\x6d\x2f\x95\xb1\x00\x61\x5e\x78\x60\x48\x50\xf7\x0b\x3a\x5f\x43\xc9\xbe\x3e\x3f\x3f\x05\x49\x82\x8e\x50\x6a\x2d\x4a\xcf\xa3\xf1\xd6\xc2\x2c\xb5\x3c\xcf\x1b\x88\x33\x70\xfd\x64\xda\x00\x3e\x44\x70\x4f\xf5\x64\xd5\x6c\x5d\x09\x7b\x87\x0d\x88\x60\xd0\x68\x25\xe6\xb5\xc6\x39\xba\xa3\x9e\xe8\x67\xd2\x45\x46\xb7\x63\xb4\xc3\x52\x75\x07\x3f\xb5\x05\xd7\x07\x4d\xfb\x5d\x8a\x13\xc1\x4d\xda\x1a\xb5\xcb\xf1\xef\x77\x27\x92\x63\x86\xd7\xc2\x77\x90\xfb\xde\xce\x23\x1e\xcc\xf5\xa7\x83\x37\x6f\xcf\x9f\x7f\xc5\xfe\x9b\xaa\x71\x9f\xf3\xe2\x8a\x6f\x34\xde\xbe\xa1\xcd\x76\x26\xae\x90\x46\x1f\xba\x36\x8a\x5d\x8a\x4a\xce\x9b\x14\x94\xf6\x26\xe1\xae\x3e\xbc\xc4\xf7\x33\x59\x1a\xb1\xa8\x9c\x9b\x8e\x09\xa3\xee\x8d\x31\x3c\x6b\x74\x86\x68\x05\xfd\x0d\x24\x42\xe5\x27\xbc\xdf\x69\x6d\x3f\x47\x60\xdb\xb1\xcd\x78\x67\xa3\x6e\x2b\x6d\x85\x72\x28\x06\x7e\x38\xe6\x1d\xa2\xb8\x67\x4a\x5d\xec\x1e\xfb\x7e\x14\xa0\x82\xe6\xe9\x28\xf8\x81\xc0\xf3\xe6\xfb\xe2\x73\x84\xa0\x27\x82\xc8\x5d\xaf\x0c\x8b\x13\x2a\x0d\xd0\xec\xb8\x0b\x70\xd9\x2b\x20\x6c\xb3\x65\x0e\x21\xd2\x99\xd8\x9f\x71\x7b\x7c\x06\x0f\x3c\x6d\x64\x76\xb1\xa3\x8b\x4a\x1e\x63\xae\xad\x94\x91\x19\x15\xf1\x02\xca\xed\x4a\x7d\x2b\xf1\x96\x58\xaa\x2b\x36\x61\xc0\xf8\x80\x07\x98\x8a\x13\xed\x4d\x37\xe1\x62\xd2\x2d\x24\xb2\x65\x7a\xb1\xde\xbc\xc2\xdf\xdb\x38\xf9\xd4\xc5\x28\x6f\x45\xfd\xcc\x44\x73\x54\x11\x07\x83\x29\xa6\x1e\x8b\x8e\xf4\x94\xb4\x4d\x14\x0e\x73\x45\x8b\x62\xbe\x9f\x0b\x54\x69\xad\x50\x49\x64\xf0\xa3\x17\xe2\xf9\x47\x04\x43\x1b\x5c\x90\x50\x29\xed\xf0\x81\x5e\xe4\x3e\x19\xab\x73\x29\x68\x6e\x32\x0d\x56\x2c\x18\x41\xfa\x7e\x50\xf7\x69\xf9\x06\x89\x7f\xd6\x26\x36\x00\x20\xb5\x97\x22\x99\x3b\x71\x28\x20\xae\xed\xa3\x32\xb8\x64\xe4\xd5\xa7\x55\x92\xb8\xf7\x60\xe0\x9b\x7f\x6d\x00\x55\xbc\xc9\x87\xde\xe9\x80\x8a\x4d\x6a\x0a\x46\x21\x2a\xa5\x78\x1f\xcc\x1c\x46\x79\xa6\x1f\x9c\xe7\x4b\xa1\x5e\xc9\xcb\xc4\x48\x5c\x19\x91\x0f\xf9\x52\xb0\x45\x13\x1b\xbf\x93\x18\xec\x41\x20\xdc\x5b\xd6\x1c\x80\x05\x38\x72\xd7\x9d\xc5\x7d\x40\xe2\x18\xa9\xc7\xdc\x0a\x8a\x23\xa4\xea\x71\x13\x1f\x02\x45\xf8\xfb\x83\xe8\xd0\x46\xad\xd7\x82\xa0\x92\xc7\x34\x76\x89\xd7\x43\x82\xd1\x86\x2d\x30\x6a\xc5\x7d\xbf\x65\x1f\x92\x46\xb5\x6e\x61\x9c\x3a\x81\xaf\x7b\x76\xb3\x61\x34\x0b\xdf\x4c\x7a\x20\x27\x25\x78\x0f\x92\xe3\xf0\x65\x04\xa6\x0e\x24\xa3\x00\x85\x1b\xaa\x04\x2b\x04\x5b\xf3\x0d\x3a\x04\x8e\x14\x11\x10\x27\xe7\x3e\xd2\x3b\xc4\x08\x9f\x56\x2a\xb7\xc7\x44\xeb\xd7\x09\x7b\xb2\xff\xf4\xcb\x2f\x2d\xc7\x54\x3c\x33\x31\xd0\xfc\x3d\xbb\x83\xcb\x86\xf4\xb1\x50\xe7\x99\xa9\x79\xe1\xe9\x4b\x3c\x50\x6d\xac\x12\x40\xdc\x70\x95\xd9\xf7\x96\x4e\xbf\x38\xae\xb2\xa5\xcf\x93\xa7\xff\xc8\x66\x1b\x23\xb4\xbd\xf7\x49\x87\xee\xeb\xd2\x82\xe5\x52\xaf\x0b\xbe\xe9\x83\x73\xd7\x5a\x34\x17\x71\xe9\xf1\x5d\xd7\x95\xb2\x77\x7b\xca\x06\x90\x88\xf2\x6c\x1d\xc9\x6b\xb7\x78\x18\x60\xe4\x01\x0e\xdd\x70\x0f\xd8\x11\x42\x50\xba\xf7\xae\xb0\xcd\x94\xca\x35\x53\x15\xc8\x8b\xea\x42\x80\x3e\x26\x57\x00\x99\x07\xbf\x06\x68\xed\x53\xa1\xd6\x85\x60\x85\xbc\x10\x4c\xda\xa9\x19\x63\xef\xbd\xee\xea\xbd\x81\x75\xbe\x0a\x78\xe7\x56\xc1\x5e\xf3\x8d\x6d\x6d\xae\x08\x4b\x42\x1a\xf8\xe5\xd4\xb1\x6d\x40\x30\x61\x46\x5d\x88\x72\xc2\xd4\xcc\x70\x58\x81\x4b\xc9\xd9\x33\x65\xe6\xdc\xca\x0d\x9a\x8b\xcc\xc1\x4a\xd8\x5d\x80\x75\x50\x4a\xbb\xe6\xa6\x34\x00\xe6\x1f\xcf\xde\xbe\xd9\x17\x65\xa6\x72\x7f\x7d\x6e\x6e\xf8\x8e\x86\x7d\x63\xa0\x5e\xf2\xaa\x6d\x58\x73\x1b\x2e\x0c\xfc\x80\x1d\x3a\xcb\x99\x6d\xb2\xe9\x0d\x41\x05\x1c\xa0\x3c\xb2\x6e\x2b\x7c\xc8\x7d\x1d\x14\xd1\xa8\xd5\xf8\x51\x62\x08\x56\xf5\x6c\x1b\x7e\x2a\x1d\xa3\xee\x25\x41\x09\x89\x09\x9f\xec\xff\xf6\x69\x5a\x02\x74\x65\x1f\x19\x1b\xd7\x2a\x19\xb8\x2a\x51\x2f\xb1\xf7\x4a\xb6\x50\xef\x91\xad\x70\xbe\x70\x41\xba\xc5\xfd\x48\x96\x1e\xd4\x9b\xbc\x2a\x0d\x06\x44\x36\x54\x1e\xbc\x24\x75\x6b\x0c\x05\x29\xb6\xaf\x48\xf5\xba\x7b\x41\xc2\x7b\x51\xcb\x9f\xa1\xc9\xbf\xf2\xfe\xdd\xab\x7b\xbc\x8a\xb7\xb8\x2e\x51\xd4\xdf\x7e\x57\x1a\xb1\x66\xaa\x48\x2c\x95\x2d\xa0\xc2\x8e\xec\xef\x3d\xf4\x9c\xca\xaa\xbe\x53\x5e\xea\x2b\x32\x49\xcc\x11\x56\x60\x58\x81\x9d\x1c\x6b\xb6\x67\x45\xfc\x77\xb5\xfc\x1e\xda\x8b\x82\x11\xef\xd9\xc9\xbe\x76\x44\x8a\x8f\x75\x5b\x92\x46\x3a\x50\x45\x4d\x6b\x3b\xcf\x3f\xae\x0b\x5e\x06\x4f\x10\x20\x44\xa8\x9d\x6a\x66\xfa\x93\x43\x58\x75\x59\xc5\x7b\x41\x0e\xda\xa5\xa2\x4a\xe4\x26\xa7\x2d\x53\xdc\x98\x4a\xce\x6a\x43\xcd\xf0\x30\x94\xb9\xa0\x57\xd8\xf2\xce\x60\xe2\xd0\x91\xdb\xd6\x81\x10\x4c\xe3\xa2\x68\xdc\x31\xea\x0c\x7f\x13\x26\x4c\x76\x40\x70\x1d\x19\xec\x0c\xcf\x5e\x5e\x06\xcd\x77\x70\x47\xf5\x6e\x37\xf7\x10\x0e\x6c\xae\xaa\x4c\x4c\x13\xc1\xdd\xb6\xcc\x39\x8a\xe5\xd2\xf9\x2b\xe2\x39\x13\xc8\xc0\x75\xda\x82\xb3\x92\xab\x14\x5a\xdc\xeb\x93\xd7\xcf\xc3\x7a\x25\x1b\x28\x95\x56\x75\x99\x4f\x13\x91\xd5\x4d\x4a\xdc\xb6\xe8\x0f\x2b\x2f\x5b\x31\x76\xe8\x36\x68\x96\xac\x54\xc8\x09\xcc\x54\x3c\xbb\xd0\x6c\x8f\xb3\x97\x27\x2f\x9c\x45\x18\x82\xaf\xc4\xa5\x80\xd8\xe9\xd7\xa7\xcf\x5f\xfe\xee\xe1\xa4\x9d\x05\x35\x66\x14\xc7\x47\x34\xa3\xf2\x6c\xd9\xd8\x98\xe3\x4b\xcb\x56\x70\xab\x1e\x2b\x4f\x3a\x54\xf7\xda\x35\xe9\x51\x75\x67\x87\xfd\x28\x23\xdb\x20\x26\x01\x51\x63\x0c\x00\xcd\x2f\x67\x07\x8e\x60\xa1\x15\xd7\x17\x03\x7c\xf4\xd3\x69\x76\x24\xea\xe8\x10\xca\xa8\xbb\xf2\x79\x2f\x72\x8d\x4f\x31\x80\x23\xd9\xb6\xaf\xf4\x9d\x86\x92\x91\xd7\xcb\x0d\x04\x41\xfa\xe0\x6b\xbf\x45\x2e\x5d\xef\x5d\xc2\xfc\x2c\x10\x41\xff\x6e\x31\x3d\x9d\x2e\x72\xc4\x8b\x62\xc6\xb3\x8b\xff\x5a\x8b\x8a\xb0\xc4\x13\x75\x22\x26\x7a\xaf\x51\xe7\x9f\x29\x8c\x98\x63\x90\x88\xd1\x27\x7a\x8e\x9f\xc3\x3d\xaa\x0d\x66\xa5\xc0\x67\x74\x63\xa5\x26\x24\xd1\xb2\x1d\xe1\xe3\xfd\x76\x33\xfc\xeb\x80\x8f\x13\xd1\x0d\x5a\xa0\x63\x06\x3b\x9d\x0c\x44\x0f\xba\xd6\x9f\x5b\x45\x6b\xf3\xda\xea\x5b\xaa\xa4\x1c\x0f\x93\xf5\x62\x3b\x62\x5b\xff\xdb\x20\x01\xb2\xee\x16\x44\xef\x6a\xef\x5c\x85\x09\xe3\xb0\xc9\xeb\x4f\x5f\x35\xcf\xf7\xee\x37\xf0\x02\x6a\x13\x35\x1a\xc4\xf5\x0f\x5d\x04\x1b\x59\x6a\x23\x78\xbe\x13\xda\x91\xeb\x6b\x74\x24\x67\x6a\x2c\xdd\x05\x2d\x44\xb9\x30\x84\xa7\xea\x2b\xf8\xbd\x95\xaf\xc0\x93\xcb\x2a\x08\x2d\x04\xa7\x3d\x59\xb2\xf7\xe7\x2f\xf6\xff\x11\x92\xba\x83\x20\x21\x2e\x28\x98\xcd\x37\xee\xe5\x2d\xfc\x7e\x57\xbd\x24\x73\xee\x9c\x34\x91\x19\xaa\xe5\x67\x12\x00\xaa\x1c\x6d\x87\xcc\xd6\x89\xa4\x17\x03\xb9\x2e\x3c\x9b\xcd\x80\xbb\x6f\xbe\x8b\xfa\x83\x38\x95\x65\x19\x87\x60\x75\x0b\x63\xe5\x01\x7e\x6f\xc0\x7e\x7b\x6d\x02\xf4\xf6\x39\xa1\x96\x74\x4a\x93\x53\x34\xaa\xf5\x88\xd3\x28\x99\x7e\xf5\x2a\xb1\x2e\x24\xf8\xf3\x6c\x27\x43\x93\x12\xb2\x23\xa0\x9a\x26\x3a\x65\x57\x02\x0e\x90\x2d\x14\xd3\x2f\x64\x61\x44\x15\x90\xa6\x74\x62\x9e\x71\x3d\x02\x5e\xcd\xd4\x55\x89\x27\x19\x42\x66\x81\x05\xc6\xa5\xa3\x8b\xe8\xea\x5b\x44\xaf\x8d\x6d\xfd\xfa\x5a\x83\xbd\x06\x0f\x30\xf0\x78\x91\xa5\x95\xf0\x99\xff\x32\xd1\x7f\xfa\x12\x4a\xd6\x8a\x4d\x7f\x50\x8e\x7e\x86\x44\xf7\x5e\xff\xd5\x07\xa9\x01\x24\x5e\x98\xe3\x2a\xa9\xae\xed\x35\x65\xa6\x31\xc8\x9b\xee\x82\xc8\x93\x10\x57\xd8\x99\xb2\x2d\xf5\x2b\x49\xdd\x97\x72\xbe\xa5\x67\x39\xbf\x41\xcf\x72\x9e\xec\xf1\x75\xad\x65\x36\xdc\x27\x56\xd9\xb9\x57\xbc\xf6\x35\x97\x00\xaa\x65\x7f\x98\x6c\x61\xe7\x56\xbd\x71\xc3\x68\xc1\xe0\xb9\xa7\x57\x74\xd9\x6b\x0b\xe8\xf1\xf1\x56\x9d\x33\x33\x31\x15\xf0\xc0\xb2\x9a\xc8\x96\xa9\xb4\xea\x0d\x4e\x05\xfc\xbd\x40\x7f\xba\xcf\x7e\x28\x2b\xa9\x35\xf5\xc2\xdb\x59\x14\xa8\xd3\x99\xd0\x28\x19\x0b\x72\xf3\x83\xb7\x44\x0c\x52\xd4\xd7\xdb\x55\xda\x20\xa4\x32\x53\x15\x9a\x2d\xd2\x42\x67\x8c\xac\x4f\xc9\xf9\x51\x63\x48\xf7\x3c\x74\x44\x77\xeb\xc4\x3d\x43\xfe\x74\x64\xa7\xce\xa1\x9d\xe4\xe2\x77\xaa\x2e\xf3\x11\x34\x6f\xd5\x1b\xe4\xe2\xca\xd6\x73\xc4\x1d\xee\x93\x7e\x3c\x4f\xd4\x1b\xdd\x27\xb8\xfe\xe1\xe3\x6d\xa9\x4c\x7a\xde\xef\x2b\xc2\x18\xdf\xaf\xb0\xb3\x04\xc4\x2c\xf1\x74\x8f\x23\x88\x7c\x33\x9e\xde\xc2\xc9\x23\x08\x3d\x82\xc6\x64\xc7\x14\x99\xdf\x28\x23\xe7\x9b\x67\x95\xe2\x79\xc6\x75\xac\xb6\x44\xe5\x24\xd0\x99\xc3\x32\xd5\x3b\x39\x4c\x45\x10\xb5\xd8\xd7\x91\x4f\xd4\x1f\x0f\xc3\x27\xeb\xef\x1b\xce\x5b\x2e\x39\x9a\x2d\x82\xcf\xc6\x6c\xc3\x78\x51\x20\x94\x67\x9b\xe0\xd8\x18\x15\x1e\xd9\x2a\xd9\xa9\x97\x80\x6b\x0b\xa7\x98\xaa\xb0\xcf\x7e\x8a\x7e\x32\x72\xf1\x7d\xfb\x8b\x94\xe0\xc5\x71\xd9\xaa\x09\xca\x60\xd1\xae\x94\xb1\xa3\x6d\x13\xc6\xbd\xf3\x1f\x55\x02\x2e\x51\x3c\x3e\x2b\x89\x1a\xf1\xfd\xc3\xbd\x8e\x67\xad\x4a\x23\xd2\x5d\x52\x9f\xdd\xeb\xc7\x2f\xcd\x2f\xa9\x2c\xbb\xfc\xb2\x71\x10\x68\xe6\x82\x66\x9a\xda\xd4\x95\xe8\x46\xe5\x77\x17\x3a\xa6\xef\x61\x99\x57\x4a\xe6\xa7\x3c\xd2\xa9\x07\xeb\x12\xc9\x3e\xa0\xcc\x0e\x8d\x18\x5e\x6f\x85\x16\x4a\x2d\x0a\x31\x05\xbc\x09\x84\xde\x23\xef\xda\x2f\xa1\x1a\x6b\x55\x23\xc1\xd0\xb1\xb7\x29\xf8\x8c\x10\x46\x5d\x62\x60\x58\x75\x3c\x8d\xd6\xeb\x42\x8c\xa3\x90\xaf\x19\xd3\xc7\x96\x8c\xa3\x8e\x9f\xd0\x30\x1f\xbb\xd0\x89\x91\x53\x38\x83\x08\xfb\xad\xe3\x3f\x73\x81\xf8\x7d\x8f\x7e\x87\xc7\xb1\x65\xe0\xa4\x71\xae\x61\x51\x0a\x05\x6e\xb5\x9e\x06\x94\xda\xd8\x96\x2e\x56\x6b\x05\x69\x66\x43\x9d\xd4\x84\x05\xdc\xb5\x29\x0c\xf8\x76\xd1\x40\x84\xad\x87\xcb\xc6\x7d\x54\xc1\x3b\xd7\x1d\x40\x43\xb6\x80\x75\xfe\x86\xe8\xf0\x5b\x72\x44\x77\xa9\x34\x00\xe1\x9e\xa8\xf5\xf3\x85\x71\x97\x91\x35\x8f\x1c\x6a\xfc\xd2\x3a\x0a\xe3\x3d\x16\x55\x3b\x82\xb7\x3f\xd0\x8d\x79\x6a\x0b\x8c\xbb\x5b\x9a\xc8\x2e\x13\x7e\x1f\xe6\x7d\x33\x92\xf1\x87\x81\xfb\x64\x2e\xc7\x30\x1a\x69\xc2\x69\x0a\xa8\x44\x52\x22\x86\x6e\x2f\x55\x50\x87\x60\x02\x32\x84\xa6\xb7\x55\x0e\x21\x2a\x54\x61\x5c\x98\x6e\xac\x72\xc4\x35\x06\xf5\x1c\xe6\xa2\x5b\xfb\x81\xf7\xf7\x4a\x77\x58\xd5\x46\x4c\xeb\xd2\x48\xc2\x7d\xe6\x98\x1b\xc1\xa0\xcc\x59\x5a\x39\xba\xae\xb6\x34\x39\xbd\xe4\xce\xdf\x11\x73\xa7\xe7\x4c\xcd\xe7\x14\x32\xc2\xd5\xd4\x41\x9d\x13\x33\x77\x61\x98\xed\x18\x58\xcf\xcc\xa1\xfd\xc6\x55\x56\x96\x9d\x31\xc4\x9d\xc9\x82\x4c\x53\x04\xe0\x20\x60\xd7\xa9\x8d\xc8\xff\x33\xe1\xc4\x53\x97\x04\xbb\xbe\xf1\x21\xdf\x65\xcb\x4e\xe5\x62\xc6\x92\xa3\xe8\x30\x31\x5c\xf7\x87\xb0\x69\xe8\x4a\x83\xa0\x73\x9d\x7c\x00\x90\x2f\x1d\xe5\xc0\x23\xd0\xde\x1f\xe9\x7a\x2d\x2a\xfc\xd3\x72\x7e\x2f\xba\x5d\x12\x41\x13\xc1\x63\xa3\x07\xa1\xba\x94\x8b\xe5\xfe\x77\x35\x2f\xa4\xd9\xb0\x4b\x51\x69\x37\x00\x78\x72\x4c\xa0\xe3\xdf\x2b\x06\x4f\x23\xe8\x58\x7a\x16\x01\xad\xa4\x4d\xfb\xeb\x4f\x6c\x25\x4c\xeb\x65\xb5\x45\x6b\x77\x8f\xed\xf8\xda\x6e\x45\x33\xe9\x2c\x6c\x1a\x3c\x06\xfc\xd5\x80\x4d\x97\x4a\x8b\x7e\x16\x82\x96\x1f\x70\x13\x92\xb6\x0b\x64\xcf\x07\x28\xfa\x9b\xcc\xb8\xb3\x21\xce\x44\x11\x19\xaf\xc3\xef\xc9\xd3\xa7\x6f\xa3\xed\xc9\x6e\x7b\xf1\xa4\x1a\x85\xdf\x07\x8e\x34\x38\x19\x3e\xaf\x2e\x67\xbb\xb8\xad\x22\x87\xdb\x78\xe8\xbd\x11\xee\xef\xe3\xf4\x37\x5b\x75\x8b\xf2\xd6\xaf\xb2\x55\x73\xeb\x3e\x6e\xfe\x54\x6a\xdb\xe7\x56\xaf\xc2\x63\x00\xa9\xdc\x25\xd7\x82\xd6\x18\x63\x12\x25\x17\xc9\xdb\xfe\xa3\xa5\x09\x05\x74\x58\x3a\x98\xcd\x6f\x96\x9f\x2a\x9a\x5d\xca\x83\x62\xe0\xb5\x18\x87\x47\x07\xd5\x77\xca\x52\xa3\xc7\x62\x84\x48\x40\x78\xb9\xa9\x04\x84\x84\x6f\x01\xdf\xa0\x64\xbc\x9a\x49\x03\x37\x3d\x57\x97\x9d\x1c\x7f\xc5\x64\x27\xc7\x8a\x30\x1d\xdf\xc0\x09\x06\xb7\x31\x59\x66\x95\xb0\xf7\x52\x5e\xb8\x00\x78\x8c\x50\x41\x2f\x75\xff\x9c\x79\x20\xed\x55\xd2\xf8\x77\xd1\xeb\x4f\x10\xee\xa6\x2a\x0c\x36\x61\x95\x30\xd5\x86\x61\x1d\x88\x48\x2b\x0b\x07\x86\xe7\x3e\x70\x0b\x2c\x2a\x51\x3e\x30\xae\xa2\xc8\x99\xae\x81\xd2\xf3\xba\x28\x36\x3b\x22\xe0\x24\x46\xd6\x53\xb7\x3d\xb1\xb6\x0a\x06\xa6\xca\x21\xf4\xbe\x7b\x01\x5f\x40\xf9\x97\x25\x71\x0b\xda\xdc\x17\x7b\x39\x26\x1c\x1b\x1b\xf1\xd5\x84\x44\x7d\xbe\x13\x00\xfa\xb8\xed\x11\xe0\x22\x60\xee\x03\x5e\x3f\x06\xb6\x8c\x38\x6c\x92\x19\xb8\x76\xca\xbe\xd5\x3e\xea\xb7\x2a\xd3\xdb\x15\xe9\xf7\xe0\x38\x25\x35\x53\xb3\x6f\x45\x66\x3a\x3a\xaf\xe7\x07\x44\x9b\x41\xdc\xcc\x85\x30\x08\x71\xec\x60\x39\x6f\x04\xbe\xe9\x1a\xd9\x81\x9f\x60\x26\x0f\x34\x6b\xe1\xf7\xb5\x02\xdd\x22\xde\xc2\xc9\xfc\x1d\xb0\xd5\xc9\xf1\xe7\x9d\xe6\x70\x42\x09\xc1\x60\x14\x67\x88\x69\xd6\x62\x8d\xaf\x02\x96\x96\x16\xc6\xfb\x04\x81\x07\x26\xac\x67\xf0\x09\x17\x1a\x62\xf7\x42\x2b\x9e\xcb\xda\x01\x3f\xd7\x3f\xec\xa0\x4a\x87\x96\x46\x7b\xe1\xf9\xb9\x76\xf7\xe1\x2b\xb1\xe0\xd9\x66\xeb\xde\x21\xaa\xc5\x57\x51\xa8\xe3\x45\xa7\x65\x0b\x1a\x6f\xe0\xc6\xba\xc7\x6e\xac\x38\x4a\x75\xf1\xcc\x45\x80\xf8\x6d\xbb\x21\xc6\xb6\x82\x04\xb8\xea\x19\xfe\x7e\x93\x3b\x59\x52\x84\x22\x98\xdd\x37\x62\x73\x98\xe7\x22\x7f\xb6\x39\xf5\x07\x64\x67\xe5\xe8\x5a\xd1\xc2\xf9\x6b\xfe\x1a\x03\x76\x33\xab\x51\xe5\x39\xdb\xa8\xda\x71\xb4\xac\x82\x62\x55\x48\x0d\x30\x92\x10\x86\xbc\x6e\x9f\xbf\x7f\x8e\x07\x77\xb4\xe4\xe6\xa4\xbc\x94\x66\x60\x68\xad\x3a\xc9\x81\x05\x3d\xd9\x39\xc7\x4a\xa8\x8f\xfe\xb1\xf0\xe8\x4a\xf4\xed\x82\x44\x63\x83\x5d\x5c\x23\xd9\x6f\x78\xa7\x6e\x30\xd7\x9c\xe8\x91\xba\x8b\xe2\xc5\x4b\x55\x6e\x56\xaa\x4e\xbd\x31\xc7\x78\x84\x75\xa9\x45\x99\xef\x7b\x58\x42\x80\x1d\xfa\x22\x34\xb3\xef\x7a\x94\xe5\x82\x9a\x5c\xfa\x2a\x40\x54\xd9\x4e\x56\x98\x05\x42\x29\x76\x3d\x87\x12\x3d\xbf\x09\x38\x52\x03\x7d\xbf\xf1\x6a\xd9\x30\xb7\x05\x0a\xce\x0a\x97\x3e\xb8\xb9\x64\x3d\xd0\x5b\x59\x0c\xba\x3a\x7d\x1a\xa5\x22\x24\x6a\x6c\xa7\x03\x2f\x0a\x75\xa5\xd9\xe9\xd3\x53\x96\xa9\xd5\xaa\x2e\xbd\xd1\x36\xaf\x01\x36\xee\x83\x3a\x39\x1d\x20\x0d\x1a\x48\x68\x85\x93\xae\x75\x5b\xe2\xf4\x32\x52\x12\x83\x3a\x33\xdc\xd4\x3a\xa4\x9e\x4c\x8f\xab\x5f\x31\x39\xb4\x2b\x94\x10\x7e\x28\xe2\x23\x88\x05\xab\xba\x2b\xc8\xb1\x0c\x31\xb0\x98\xe7\xb2\x75\xc5\x8d\xc6\xf6\xc1\x2a\xc3\x87\x96\xe0\x87\x49\x36\xee\xd6\xa1\x7c\x3b\xd4\x55\xe3\x2a\x30\xd0\x05\x38\xd2\xf2\xca\xc8\x4c\xae\x79\x19\x3b\x70\x6c\xff\x20\xd1\x39\x7a\x47\xb5\x2a\x82\xd9\xb5\x65\xc8\xe8\xdf\xc8\xbc\xfb\x48\xef\xd4\xb3\x8d\xb9\x4c\x51\xec\xe4\x38\xe9\xe2\x16\x8f\x33\xe1\xcf\x9b\xae\x38\x34\x91\xd8\x7b\x37\x6a\x87\xf4\xf2\x48\xd4\x1a\xec\xaa\xe5\x92\xd2\xa3\x51\xad\xe9\xf0\x2a\x47\xa3\x5a\x0f\x00\x0a\xb4\x47\x72\x2c\x35\x1f\xc1\x5f\xed\x6a\xf1\x8d\xd0\x15\x32\xb0\xa0\x0c\xf5\xb2\x0b\x8b\x25\xbf\x49\xf7\x7f\x47\x8c\xe6\xdb\xdb\x91\xd7\xc2\x80\x47\xb0\x5b\x54\x77\xcb\xa4\x86\x99\xce\xd7\xdd\xca\x77\xdd\x8a\xdb\xfa\xdc\x99\xfb\xa0\x59\xd0\xfc\x5d\x43\x29\xb2\xbd\x13\x6b\x55\x99\x77\x82\x6b\x55\x1e\x2d\x65\x91\x1f\xce\x6a\x1d\xe9\x3f\x89\x5a\x54\x12\x75\x55\x19\x97\x2a\x57\x16\x39\xe3\x50\xef\xcf\x64\x6f\x6a\xbd\xa9\xe4\x62\x19\x19\xd9\xe8\x4a\x83\x7d\xf9\x5a\x96\x4f\x10\x56\x8d\xee\xf3\xa5\x50\x27\x55\x25\x0a\x71\xc9\x63\xa7\xfe\x74\xc5\x54\xdf\xbc\x64\x32\xd4\x62\x0b\xa1\xd0\xef\x8c\xec\xfa\x2d\x00\xb5\x0c\x74\x89\x15\xa2\xae\xf0\xe7\xce\x9a\xd3\x28\xb5\x50\x91\x55\x38\xb2\x0a\x9a\x1c\xb3\xe8\xa7\xaa\x2a\xd5\xa2\xe2\xeb\x65\x64\xdf\x48\x55\x1b\x5a\x8a\x75\xab\x1e\x49\x87\xb3\x35\xa2\xb8\xa4\x3a\x82\xf2\xa1\x1e\xb4\xad\x40\x36\xfd\x41\xaa\xc2\x5f\xb5\x52\xcd\x87\x3a\x43\x5d\x5c\xfa\x4a\xa1\x9b\x33\x91\xd5\x95\xa0\xd2\xf0\xb4\x4a\x62\x83\x70\x25\x42\x3c\xf1\x9a\x6b\xc8\x08\x7c\xfd\x09\x2e\x9b\xfd\xc4\x0e\x5e\x3f\xf1\xd5\x58\xae\x32\xcd\xae\xff\xd7\xf5\x0f\x23\x2d\x35\xfe\xc3\xc1\x0b\xb6\xaf\xe4\xd3\x56\x49\x55\x7e\x01\xb3\xd0\x30\x8b\xf9\x6e\xc6\x1d\x9c\x3a\xde\x9d\xf9\x8e\x46\xf8\xf6\xb7\xe9\x8b\x63\x43\xdc\xd4\x75\x9f\xa8\x31\x32\xd3\x59\x00\xc0\xec\xad\xcc\x58\xcb\x76\x20\xf8\x67\x49\x90\xa6\xc3\xbc\x6e\x92\x95\xac\xf9\xfa\xe6\xa9\xd1\xee\x70\x04\xc4\x7a\xa6\x32\xa2\x11\x35\x62\xdb\xa7\xdf\x53\xba\x61\xa2\xd1\xfb\x69\xac\x53\xf5\xce\x5b\x05\xcc\x3d\xf4\xba\x03\xad\xef\x66\x6b\x6c\x4b\x7e\xf5\xfa\xf8\xcb\x80\x98\xdd\xf0\x7a\x07\xd5\x60\xe2\xa2\xc6\x7d\x82\x2b\x04\x3a\xda\xd7\x54\x72\x88\x44\x4a\xa3\xf6\x10\x21\xeb\x53\xa6\x6a\xe2\x1d\x66\x27\x13\x53\x8f\x49\x40\x4b\xa2\xb9\x03\x8b\x08\x24\x66\x18\x14\xb0\xf0\x4f\xc2\x0e\xcd\x9f\x63\x5c\xb2\x43\xae\xbf\x26\x9b\xc4\x69\x23\x79\x44\x21\x08\x47\xd7\x71\xf2\xc7\xd9\x1a\xa9\x4b\x48\x55\xf1\x4d\x97\x15\x7a\xd2\x4e\xe3\x2b\x81\x8b\x0d\x02\x64\xf8\x2e\x2e\x88\xbe\xc9\x68\xee\x93\xf3\xcc\xbc\x52\xa5\x99\x02\x77\x0f\xac\x49\x8f\x2c\x0d\xe8\x1d\x7c\xce\xec\xe7\x69\x68\xe0\xd1\x84\x59\x17\x5c\x96\x29\x57\x67\x5b\x06\xfe\x63\x00\x6a\x2f\xbb\x83\xba\x21\x5f\x54\xe2\x52\x54\x5a\xdc\x7c\xfa\xae\x81\xbb\x22\x80\x16\xc5\x5c\xee\x3e\x12\xce\xf0\xc3\x8e\x17\xc2\x52\x15\xb9\xc7\x66\xbb\xc5\x90\xc0\xe1\xbe\x08\xca\xc5\x0d\x37\x90\x6f\x45\xe4\xde\xc3\x4c\xb7\x70\x2b\x11\xf0\xf0\x36\x5b\x8a\x86\xd0\x70\x22\xaf\x35\x24\x3c\xc0\xa1\xf6\xae\x9d\x34\x02\x58\x96\x8b\x42\x00\xf0\x4a\x24\x80\x5b\x45\x04\x6c\x9b\x86\x62\x07\xe8\x24\x4b\xcc\xfa\x35\xab\x57\x21\x26\x07\xa2\xf2\x72\xc9\xaf\x3f\x61\x1a\x30\xa0\x5d\x48\x0c\xa2\x45\x99\xbf\xae\x0b\x23\xa1\x83\xf1\x69\x76\x02\xfe\xce\x17\xd0\x9b\xde\x77\x7d\xed\xaf\xdc\x40\xc7\x67\xe8\xe9\x0e\xa1\x87\xc4\x3f\x1a\x19\xcd\x65\xc5\x69\x61\xa3\xdd\x08\x19\xed\x9e\x49\xd2\x95\xe7\x08\xca\x4f\x09\x09\xdd\x53\x55\x1a\xdf\xac\xde\xb6\x62\x19\x87\xbf\x03\xd0\x14\xdd\x40\x05\xc9\x1b\x69\x8f\x90\x52\x7e\x57\x7b\x0f\x10\xc7\x71\x27\xc7\x0d\xee\x28\xe4\x40\x11\x97\x58\xe8\xe1\x14\x1c\x06\x73\x52\xf3\x40\x10\xa4\x33\x61\x0e\x5d\x0e\x87\xe7\x2b\xf5\xad\x8c\x36\x41\xa2\x1a\xe1\xca\xed\x32\x41\xc0\x73\x89\x0e\x20\x4b\xa2\x65\x9e\x68\x1a\xa3\x12\x4f\xf4\x4a\x69\xf0\x9a\x0e\x68\x4d\xc8\x3e\x91\xcb\x4c\x84\x1e\xef\x6d\x0e\x8a\x66\x82\xa4\x8b\x45\xbf\x78\xbb\x9f\x05\x45\xd9\x18\x7e\xa4\x53\x16\x6b\x92\x61\x9d\x28\x10\x92\x3b\x75\x46\x1b\xb8\xfb\x36\x43\x34\x22\x32\x99\xf4\x4a\x53\x53\x40\xff\xc5\x36\xdf\x75\x14\xd5\x16\xbc\x45\xbc\xac\xee\xab\x68\x1a\xc2\xef\x89\xde\xcc\xb5\x56\x99\x6c\xd8\xfd\x7e\xbb\x54\xaf\xb8\xbe\x98\x42\x62\x41\x12\x4a\x34\x24\x1c\xc4\x7b\x44\x0b\x21\x6d\xfb\x72\x25\x53\x3c\x52\x55\xb6\xf0\x5e\x93\x68\x71\xe2\xde\x72\x17\x5f\x3d\x7a\xc4\xf3\xdc\x2f\xe9\x7f\xd6\xc2\xfc\x53\x2b\x6b\x63\x67\x7d\x87\xb2\x39\xbe\x18\xd3\xda\xd6\xb9\x9e\x7b\x94\x41\x7a\x9e\x58\x3c\x68\x90\x69\x78\x93\x99\x80\x4d\xb8\x67\xb9\x01\x4e\xf4\xeb\x4f\x0f\x77\x55\x02\x7a\x38\x4d\x37\xf0\x8c\x68\xb6\x4b\xac\x71\xb9\x7d\xa5\xef\xd8\x45\xc2\xb5\x2b\xf2\xc1\xa4\x3c\x89\x5a\x84\x26\x16\x70\x2a\x41\xc3\xf2\x33\x62\xdc\x81\xfe\x8d\xcb\x11\xb2\x0d\x9f\xb1\x3b\x1c\xf2\x25\x99\xaa\x42\xe1\xfd\x36\x0e\x6b\x37\x1c\xeb\x20\xbc\xe0\x39\xbf\x10\x6a\x38\xb9\x32\x55\x65\xfb\x69\x83\xfa\x0b\x7e\xda\x9c\x3c\xe7\x4b\x11\xef\x7e\xfc\x31\x6a\x12\x7f\xfe\x5b\x1c\x30\xd0\x73\x2a\x50\xac\x5b\x48\x8f\x3a\x04\x87\xc5\xc3\x2f\xcd\x34\x53\x85\x22\x1c\xd4\x0f\xa1\x94\x41\xe9\x84\xbd\x7b\xf9\xec\xe9\xef\x18\xc2\xec\x45\xd3\x99\x71\x2d\xa6\xc6\xd3\xb2\xf7\x32\x28\xe6\xbc\x2e\x00\x91\x6f\x25\x98\x6a\x92\xa1\x60\x26\xba\x95\x60\x52\x33\xc8\xc7\x75\xcf\xcf\x21\xd4\x4d\xa7\x33\x65\x8c\x5a\xa5\x88\xe6\xef\x17\x8b\x8a\x43\xd0\x21\x92\x8f\xed\xe1\x57\x0f\xb7\xd0\xd1\xf7\x61\xd4\x7a\xd7\x0e\x8c\x5a\x6f\x6b\xfd\x8a\x17\xc5\x9a\xaf\xa9\x60\x84\x3f\x85\xa2\xe4\x47\x53\xdd\x62\xc0\xc4\xd7\x0d\x9f\x0d\x72\x72\x51\x47\xb9\xed\x9b\x82\x04\x07\x23\xd6\x3b\x4a\xe6\xee\xd1\xe9\x5a\x23\x2f\x1d\xe1\x93\xc4\x78\xa8\x38\x9e\x5f\x63\x78\x62\x1a\x91\x2a\x7f\x53\xb0\x5d\xfc\x4e\x58\xae\x84\x86\x54\x24\x18\x0d\xeb\x08\xd9\x72\xb6\xde\x12\x27\xf4\x6b\x8c\xd0\xdf\x32\x46\xc8\x52\x9f\x8a\xa4\x0b\xbf\xdf\x24\x92\xce\xca\x8d\x53\x2f\x90\xda\xad\x36\x05\xb1\xb7\x58\x90\x54\x9f\xef\x24\x6e\xe4\x59\x5a\x72\x84\x21\xbe\x51\xd4\x63\x73\xbf\x38\x3d\x8f\x80\x47\x3e\x0f\x8f\x80\x9d\x06\x28\x69\xd9\x2d\x1c\x68\xdb\x5e\x4c\x8a\x7a\xc1\xf6\x38\xab\x51\x22\x9e\x1c\x3f\xdc\x41\x7e\x5e\x8d\xa1\x84\x98\xa5\xb4\xe0\x76\x11\x25\xd7\x6f\x07\xfc\x8f\x50\x53\xb9\xe4\x60\x45\x8d\x61\x73\x86\x70\xe7\x01\x0e\xbb\x63\x7b\x0d\x01\xdd\x94\xa7\xfe\x3b\xb1\x52\xc6\x3d\xa3\x69\x74\x8e\xef\x6d\x3c\x2a\xf3\x86\xfb\x2a\x68\xf8\x4d\x96\xe1\x56\x96\xc7\x26\x6d\x09\x5f\xaf\x2b\xb5\xae\xec\xcd\xdc\xc5\x7e\xdc\x04\xd6\xbc\xbd\x2e\x96\xf5\x7c\x9a\xb0\x94\x3a\x9d\xaa\x46\x64\x05\x53\x77\xec\x77\x7f\x43\x60\x6e\xa2\x97\xd7\x7c\xcd\x96\x42\x2e\x96\x10\x55\xbc\x96\x1f\x45\xa1\xd9\x4c\xcc\x55\x05\x64\x2d\x20\xfd\x93\xce\x78\x21\xfe\xc0\x9e\xfc\x7e\xff\xc9\xe3\xa7\xbf\x8b\x57\xde\x16\xd3\x4d\xfb\x2f\xf7\x7f\x1b\xeb\x47\xf4\x17\x57\x32\x37\xcb\x9b\x8f\xe5\x7b\xa5\xa8\x27\x63\xbe\x66\xb6\x84\x15\xe2\x52\x14\x7f\x60\x4f\x7e\xbb\xff\xf4\xf1\xc0\xb6\x1c\xba\x45\xf5\x8b\x07\xaf\xfe\x9c\x55\xc8\xca\x5f\x9f\x9f\x9f\xee\xe9\x87\x6c\x47\xff\x93\x21\x26\x20\x77\x4e\x48\xca\xad\xe6\x54\x66\x83\xbf\x74\xd3\xab\x85\x79\x25\xf2\xd9\xf9\x44\x77\x5d\x47\x46\x38\x93\xb2\x0d\x75\x56\x56\x42\xec\x17\x98\x56\xec\xe4\xec\x2d\xfb\xdd\xd3\x27\xff\x91\xf9\xfa\xa0\x97\xe5\x23\x1f\x6d\x3a\xe9\xef\xbe\x08\x36\xd6\x7d\xd7\x98\x7f\x3c\x10\x2b\x2e\x8b\xa9\xcb\x92\x4e\x01\x57\x76\x33\xaa\xcb\x39\xc4\x50\x38\x0b\x7a\xdb\x71\x1b\x1a\x0a\xa8\xf8\x10\x4e\xbf\x5a\x17\xc2\x08\x97\x4a\x3c\x27\xad\x84\xb6\x73\xa3\xa6\x69\xc0\xfb\xa8\x7b\xb2\xbb\x76\x50\x2c\xa6\xea\x0d\x2d\xde\xeb\x9b\xdd\xbc\x10\x1f\xe5\x8c\xda\xfb\xd1\xbc\x31\xd3\x06\x26\xc8\x93\x99\x60\xb9\x58\x0b\x48\xa3\x80\x51\xae\x7a\x29\xd7\x6b\xbb\xbd\x5d\xe8\x5e\x7f\xda\x96\x51\xef\x62\x99\xe7\x75\x51\x80\xad\x71\xe4\x12\x63\x96\xee\x3b\xe8\xb8\x1d\x35\xb1\x53\xdf\x37\x62\xaf\x4e\x6f\x3b\x70\x17\xac\x0d\x95\x36\x02\xd6\x6c\x56\x09\x7e\x61\x0f\xe0\x09\xe3\x18\x76\xa4\xe6\x30\x11\x55\x42\xb6\xbf\x3d\x71\xb0\x38\x68\x72\x18\x56\x90\x28\xc8\xf0\x8f\x13\x96\x4b\x0d\xee\x33\x13\x96\x8b\x42\x5e\x0a\x88\x0b\xd7\xed\x7f\x42\xb5\x99\x2a\x6b\x9d\x4a\x29\xe4\x59\x64\xea\x76\xcd\x5d\xac\x4a\x60\xbb\xdd\x36\xbe\x11\x9a\x7a\x50\x10\xda\x24\xf2\x52\x5a\xb1\xfb\xad\x56\x25\xbc\xb5\xb7\x04\x6f\xf3\x5b\x24\x7a\xff\x78\xf6\xf6\x0d\xe3\x50\xd6\x91\xbe\x97\xde\x69\xa8\xdb\x39\x54\x87\x32\xca\x84\x60\xfb\x79\xa6\x54\xd1\xeb\x1a\x7e\xa2\x7b\x9e\x29\x55\x08\x5e\x62\x93\xa3\x46\xe0\x5d\x96\xa8\xbe\xdf\xd4\x45\xbf\x6f\xf8\x29\xea\xdb\x7e\xc5\x9a\xb9\x80\x94\xc1\xda\xbd\xf8\xa6\xd6\x8f\xf4\x04\xca\x7a\x25\x2a\x99\xdd\xd1\x04\xde\x62\x38\x6b\xb7\xff\xb7\x3e\xc6\x95\xea\xdf\x85\x93\xee\xd8\x7d\x6a\xf1\xb0\xab\xbe\xc3\x58\xbf\x84\x1e\xc9\x85\xd8\x7c\xe5\xec\x24\x6b\x2e\x7b\xd7\xbf\x0b\x41\x9c\xe3\xdf\x88\x4d\x6c\xf9\xdf\x9d\x68\x67\xa6\x72\x99\x9f\x5b\xe3\x75\x3f\xd2\x43\xd5\x58\x78\x9b\xd5\xba\x10\x9b\x99\xe2\x55\xfe\xac\x36\xa6\xa3\xbc\xf5\x0a\xa2\x01\x3c\x53\x86\xf9\x3a\x6c\x86\x95\x46\xf8\xa4\x63\x73\x3d\x07\x88\xc4\x68\x9e\xd5\x9b\xe4\x80\x6c\x59\x3c\x26\xd7\xb8\x62\xb3\x7a\xc3\xb8\x97\xad\x77\x3d\x2e\x9f\x70\x25\x39\xb8\x50\x81\xc8\x4f\xe4\x72\xb5\x50\x14\xa3\xbd\xc0\xc2\x27\x04\xe2\xe5\x3d\x53\x70\xdc\x91\xa1\x07\x30\x2d\xa3\x90\x45\x77\xdc\x82\x87\xdb\x86\xd9\x43\x08\xcd\x47\x66\xc3\x66\x1b\x26\x4a\x23\x20\x72\xd1\x16\x3c\x7d\x71\xc8\xce\xde\x9d\x36\xce\xc9\x1a\x63\xd9\x5b\xd0\x6a\xfa\x60\x21\xcc\x33\x65\x3c\xd1\x0e\x21\xf5\xe3\xf5\x0f\x4e\x51\x3a\x60\x6f\xde\x9e\x3f\xff\xaa\xf1\xf4\xe6\x25\x02\x82\xcd\x94\x61\x7f\x3a\x79\xf5\xca\x96\xb3\x25\xbf\x0c\xee\xeb\xae\xf9\x75\x70\xc5\xf3\x53\x9b\x30\xb3\xe4\xe5\x05\xd4\x38\x7b\x77\x7a\xfd\xaf\x2e\x13\x32\x2e\x2c\x93\x9a\xad\xb8\x2c\x8b\x0d\x26\xc2\x71\x19\x44\xd5\x7c\x2e\x33\xc9\x0b\xf6\x5f\x42\xa6\xde\x1f\xff\xfa\x6f\xb6\x77\x74\x96\x40\x2a\xf8\x7b\xba\x3b\x75\x1b\x7a\xe0\xdd\x0e\x1c\xcb\xe6\xa2\x02\xba\xa8\xab\x52\x54\xf6\x5c\x6e\x52\x67\xb7\x92\x9e\xa3\x1d\x6c\xf4\xd5\x5e\x57\xeb\x9d\x5c\xa3\x28\x5a\x0f\x36\x10\x77\x42\xa4\x2d\xbe\xfd\x06\x7d\xd9\x7d\x6a\x27\x0a\x07\x44\x07\xe4\x16\x66\x9c\x2d\xa2\xc7\xf3\xdb\x0f\xec\x1d\xea\x60\x2f\x85\x22\xae\xcb\x5b\xab\x0e\x0c\xda\x29\x77\xce\xd8\xfd\x40\xb7\xb3\x6d\x7c\xa6\x49\xf4\x23\xf6\x07\x2a\xed\x32\xf0\x6e\xbc\xf4\xe7\x19\x79\x37\xf7\x6c\xba\x0e\xf1\x2c\xed\xb6\x37\xd8\xb2\x5d\xb4\x75\x63\xe0\x6e\xb2\x5d\x95\xb9\xcf\x3d\x07\x99\x5a\x01\x91\x69\x6d\x55\x66\x91\xff\x81\xf1\x4b\x2e\x0b\x88\x88\x86\x58\x3e\x69\x8b\xe4\x25\x37\xfd\xf0\x81\xfb\x24\xda\xbf\xab\xe5\xf7\xc4\x53\xf2\x1c\x71\xa9\x60\x1e\x4d\x5a\x5d\x0f\x73\xa0\x29\x28\xa6\x3b\x58\x46\x75\x95\x5e\x3e\x08\x6c\x8c\xec\x32\x10\xd7\x1d\xd4\x95\x4a\x5d\xf5\xc0\x23\xe1\x5b\x82\xd8\x56\xcb\x51\x15\x93\xbd\x06\x7c\xfd\x6d\x23\x3d\x03\xfc\x50\xec\x3e\x39\xe4\x4e\xa5\x81\xad\x02\xa9\x53\xfd\xbb\xa0\x15\x54\xf0\x9d\xfd\xcb\x0d\x6f\xa5\x72\xc1\x4e\x2d\x97\xf9\x13\xc4\x71\x2b\x44\xe1\xaf\x2b\xb5\x5a\x9b\x0e\xb7\x6a\x51\x00\x86\x4b\xe9\xdd\xa8\x25\x62\xc9\xea\x09\x53\x6b\xe1\xb8\x1c\xde\x85\x2c\x43\xcb\x52\x8b\xca\xf8\xe3\xf2\xc7\x7f\xf9\x1f\x08\x21\x01\xe6\x01\x7f\x8e\x36\x19\xab\xdc\x98\x30\x27\x9d\x43\x60\x04\x83\x20\xb2\xe9\x7d\x46\x8f\xfd\xce\xa7\x0e\x24\x9e\xb6\xda\xb3\x32\x8a\xc0\x9a\x9f\xfc\x46\xf3\x95\x98\xd2\xef\x6c\x7e\xbf\xac\x53\x8b\x74\x7b\x1a\xfb\x27\x30\xbb\x6c\x56\x79\x68\x93\x7c\xa7\xad\x58\xf0\x19\x40\x86\x0f\x73\x78\x37\x73\x48\x5c\x16\xfb\xa7\xbe\x7b\xb5\xfb\x75\x81\x1a\x4b\x3a\x0b\xf9\x98\x41\x1f\xd6\x98\xaa\x2f\x35\x70\x28\x1f\x7d\x6e\x81\xce\x55\x9b\xa5\xaa\xe4\xf7\x82\x5d\x4a\x0e\x36\x65\x7c\x71\x39\x13\x7c\x55\x58\x55\x32\x04\xf9\xbc\x52\x0b\x59\x5e\x7f\x3a\x60\x7f\x5a\x8a\xb2\x85\x0d\x53\xc8\xec\x02\x4c\x7c\xba\xce\x96\x56\x99\x83\xde\x26\x8d\x6e\xeb\x3a\x75\xc3\xbb\xfe\xa1\x65\xab\xca\x78\x51\x88\x7c\xe2\x6c\x55\x5d\xd6\x9a\xca\x3c\x30\x4f\x93\x14\x2e\x00\xa0\xfa\xf6\x11\x9f\xb0\x82\x34\x27\x22\x67\x35\xf6\xf2\x4e\xe8\xba\x30\xee\x54\xbc\xfe\x57\x7f\x51\x07\x6e\x75\x4d\x60\x54\x55\x2e\x0c\x97\x85\x6e\xe5\xc5\xf4\x14\x41\xf3\xbe\xa7\xd8\x9e\xfb\x63\x7a\x55\x49\x23\xa6\x4e\xcf\x76\x36\x4f\xab\xbf\x5e\xc1\x9c\x0a\x79\x21\x42\x0a\xd7\x80\x63\xe3\xd4\x71\x07\x76\xa2\xca\x45\x13\x97\x12\xf6\x89\x6a\x35\x05\x2e\x40\x21\x9f\xbf\x77\x8d\xc6\xcf\xdb\xa3\x7b\x78\xc0\x5e\xc8\x92\x17\xc5\x66\xd2\x05\xeb\xc9\x96\x4a\x69\x34\x7f\xf2\xa2\x68\x96\x02\xc1\x66\xdc\x4a\x58\x1d\xde\x28\xb6\x10\xc0\x0f\x6d\xba\x1d\x42\x35\x91\xff\xf8\xd7\xff\xd9\x8c\xd4\x3d\xcf\x81\x88\x75\xe9\x2b\xc3\x43\x79\xe5\xd2\x30\x4b\xdd\xf5\x6a\x50\x55\xbf\x69\xe7\xef\xf4\xe3\x5f\xff\x1d\xb0\x1c\x71\xaa\x19\x77\xe9\x33\x13\x0d\x05\xb4\x2f\xdb\xb9\xe5\x17\x9f\x3e\x93\x9d\xb4\x5e\xea\x2b\x31\xaf\xb5\x7b\x52\xa7\x17\x71\x56\x1b\xa6\x8d\xa5\xeb\x15\x60\x39\xf8\xe9\xd8\x2f\xec\xde\x9b\x8c\x1a\x84\x5d\x10\xda\x09\x22\x86\x1b\xf2\x38\x43\xb9\xd4\x59\xad\x21\x9c\x66\xff\x4a\xcc\xf6\x67\xca\xe8\x2f\x56\x42\x98\x7d\xed\x36\x5a\xf8\x79\xa7\xbb\x4c\x77\x6f\x8d\x06\x25\xa3\x76\xc9\x4e\xfd\x76\x18\xe9\x66\xdd\x7a\x26\xbb\xd9\xd7\x8e\x8f\x28\x85\x88\xce\x00\x1a\x24\xc8\x2c\x48\x43\x7b\x29\xb6\xff\x9f\x92\x54\x63\x8f\xe9\xe1\x35\xb9\x77\xe1\x2f\xf3\xab\x7c\x4a\x9f\x5b\x6f\xc4\x55\x07\xf9\xdd\x5b\x05\xca\x16\x12\x57\x98\xe6\xed\xcf\xe5\xc4\x59\x78\x58\xb2\xf0\xc0\x89\xfe\x00\xb8\xed\x1d\x0e\x64\x24\x05\xc1\xc4\xc4\x78\x9e\x63\xb4\x8c\x1d\x38\xea\x16\x68\x68\xc4\x6b\x4c\x7b\x3a\xda\x5f\x6a\x12\xf2\x23\xbc\x9d\x10\xfd\x4c\xdc\x8b\x01\xa4\x4b\x2e\x60\x8c\x76\x58\xf6\xf0\xa0\xd3\x2c\x77\xf0\xca\x70\x22\x78\x64\xb5\x46\x8d\xbe\x9e\x4c\x83\xbe\xa4\x19\x92\x63\x86\xf8\xfa\xef\x20\xd7\x30\xa6\x66\xec\x0f\xe6\xfa\xd3\x01\x5a\x86\xce\x44\x75\x29\x33\xa1\x51\x46\xf1\xe2\x8a\x6f\x34\xc6\x45\x23\x70\xbc\x0b\xa4\xc6\x40\x48\x97\xbb\x18\xfa\x37\xca\xdb\xb0\xbc\xd4\x14\xa5\xf1\xf0\x5b\xfe\xf4\x95\xa5\x11\x8b\x4a\x9a\x4d\x08\x9c\x84\xa1\xf7\x06\x0a\xa0\x00\xd1\x38\xaf\x7f\x18\x69\xc9\xb9\x92\xf9\x42\x18\xfd\xa8\xb0\x6a\xc6\x17\x95\x9f\xf5\x7e\xa7\xb5\x7d\x67\x4d\x1c\xdb\x4c\xe6\xc6\xd4\x6d\xc5\xb9\x81\x00\x4b\x8a\x1c\x9e\xbd\x5a\x4a\x55\xe7\x67\xc2\x2d\xa7\xc1\x2a\xad\xc4\x1a\x42\xb1\x0c\x40\xd7\xaa\xca\xb4\xf1\xf8\xe1\x31\xcd\x1e\xdb\x0b\xa5\x72\xc8\x56\xa8\xdd\x22\xf5\xbd\x20\x57\x10\x73\x9e\x78\x8e\x6b\x62\x2f\xe1\xbd\xcd\xa9\xcb\x7a\x65\x15\x27\x6d\x58\x5d\x4a\x13\x02\x34\xfd\x1b\x3c\xdb\x83\x15\x13\x90\x6e\xc3\xb0\x79\xa1\xb8\x79\x94\xab\x7a\x56\x08\xab\x31\xb4\xd1\x98\xe7\x70\x42\xaf\x7d\x57\xef\xcf\xfe\x81\x3d\x39\xf8\xdd\x97\x28\x1a\x71\x64\xec\x9f\xd8\x93\xdf\x7d\x79\xc0\xce\x02\xf2\xd8\xba\x05\xb4\x20\x4b\xd6\xbc\xd6\x1f\x7c\xab\x55\x09\x28\xcd\x80\x01\xed\xac\x0c\xee\x85\x52\xcd\x59\x2e\x17\x76\xb8\x6b\xae\x8d\xc3\xe7\xcc\xe4\x8a\x17\x0c\xbc\x5c\x10\x26\x9a\x5b\x75\x20\xcc\xe3\x69\x13\x57\xc7\xbf\x55\x9e\x05\x9b\x0e\x1f\x8e\x64\xae\x8e\xa3\xc1\xa3\xde\x80\x31\x35\x01\xc8\xa7\x78\x11\xdc\xaa\xa6\xae\x15\x05\x2f\x17\xa7\x3c\xbb\x38\x96\xf3\x16\x3e\x66\xe0\xa4\xa8\x30\x36\xad\x63\xe2\x60\x2f\xb8\xf8\x7a\xfd\x40\x03\x80\x67\xe1\x37\xfa\x9a\x67\x17\xbd\x6b\x67\xa5\x56\x53\x17\x9d\x4b\xf1\x8d\xb8\x94\xaa\xd6\x21\x43\x04\x09\xd4\x8c\x43\x9f\x82\xaf\x46\x1c\x51\xc2\xcb\x45\xcd\x17\xa2\xe7\xca\x11\xc2\x4a\x2a\xda\xd1\xf9\x15\x0e\x5b\xe4\xcc\x57\x89\xde\x97\x52\x83\xb6\x27\xcf\xe0\x78\xdb\xc4\xf6\xc3\x23\x48\x1d\x8a\x62\x6b\x8a\x77\xef\xb4\x9b\x75\x0b\x81\xc1\x61\x7f\x80\x3e\xdd\x74\xe2\x1c\xfc\xf3\x59\xe1\x89\x66\xdb\xfb\x03\x5b\xf1\x8d\x95\xf8\x90\x02\x07\xce\x19\xee\xcf\x23\xa9\x7d\x76\x55\xb7\x9b\x3b\x5f\xc2\x01\x53\x76\x51\xd4\x21\x28\xd2\xa3\x60\xc6\x9d\x1d\xb0\xf7\x65\x70\x9e\xc1\x1d\xa9\x8d\x5a\x75\x2b\xc5\x8b\x31\x13\xd4\xc3\xcd\x89\x46\xcd\x97\x33\x5b\x1e\x53\x2a\x4e\xd6\x72\xaf\x94\x9b\xb1\x5c\xcd\xf6\xec\x64\x5a\x4e\xbf\xb1\x2f\x02\x1d\x6f\x16\x5a\x21\x11\xd3\x4b\x6e\xe4\xa5\x48\x84\xaa\x75\x3e\x8d\x16\x5f\x1a\x8d\x9e\xc2\xdd\x16\xfd\xe3\xcb\xf0\xa3\x54\x67\xa9\x2d\x87\x85\xcf\x22\xef\x8f\xa2\xae\x78\x91\x20\xd1\x61\xd3\x10\x10\x09\xd5\x2f\xb8\x81\x1a\x85\xee\x79\x0c\x1b\x80\x28\x0a\x8d\xa7\x82\x5f\xbb\xab\xab\xab\x83\xba\x94\xf6\x4b\x54\xde\x8b\x1c\xb2\x9e\x55\xf6\x3c\xe6\x46\x68\xf3\xc8\xb2\x69\xe1\x80\xff\x1f\xf9\xbe\xa6\x6e\x4c\x55\x5d\x08\x7d\xb0\x34\xab\xc2\xc5\x9d\x07\xdc\x13\x8a\x53\xee\xae\x37\x7c\x05\x34\x04\x89\x9b\xcd\x10\xed\x03\x3c\x3a\x4b\xf6\xee\xfc\x55\x20\x5a\x4a\x54\x4e\x33\xfa\x88\x3f\x57\xad\xfc\x07\x6a\xce\x4a\xab\xe1\x88\x42\x98\x46\x84\x36\x51\x0f\x9d\x25\x8e\x95\xef\x80\xdb\x30\xb6\xb3\x16\xd2\xc3\x0d\xfb\xb2\xb7\xd9\x29\xa9\xc2\xbf\x92\xe5\x85\xe5\x98\xd0\x4e\xeb\x13\x0c\x08\x99\xf3\x4c\xfc\xc1\x25\x08\x03\xe8\x3b\x27\xb2\x20\x96\x71\x50\x70\xb5\x4f\x82\xc8\xf9\xa0\x57\x10\xab\x6f\xcd\xa4\x3b\x2b\x4a\xf9\x24\x90\x5e\x13\x61\x0f\x5f\xdc\xde\x7d\xa2\x3b\xd8\x63\x5c\xf8\xe4\x64\x7c\x39\x11\x4a\x80\x1c\x73\xc3\x09\xb5\xbf\x8a\x27\x15\x8f\xf3\x14\xb6\x8f\x3d\xe6\x93\x43\x6d\x55\x21\x1e\xa3\xba\xb2\x2a\x5c\xd2\x64\xb6\xb4\x17\x15\x96\x3b\x6d\xc9\xa0\x88\xc1\xe0\x37\xef\x42\xd8\xb0\xaf\x56\xab\x00\xe7\x2e\x8d\x4f\x10\xff\xd3\x49\x24\xca\xfe\x73\x97\x22\xa9\xa3\xf0\x89\xab\xe9\x10\x6f\x39\x35\x7e\x2e\xae\x1c\x45\xee\x79\x92\xdc\x9b\x30\xe2\xe4\x37\x2b\x5e\x6e\xb6\x93\xc1\xd6\x4a\x52\x41\x95\x62\x7b\x0b\xf0\xb0\xd4\xcb\x6c\xe0\xbf\xb7\x07\x6e\xaa\x05\x1f\xca\x79\x49\x6c\xf7\xc9\x6f\xcc\x95\xda\xde\xb5\xb9\x52\xc9\xb1\x7f\x2f\xaa\x11\x2d\xd8\x5a\x89\x26\xfe\xe2\xe0\x02\x8e\x02\x5a\x80\xdb\xbc\xad\x1f\x63\xe8\x47\xa5\x25\xde\x6b\xcb\x26\x1f\x07\x84\x5b\x71\x07\x27\x10\xb4\xd4\x75\xc1\x33\xd8\xf1\xe7\x76\xa3\xb2\xb5\xff\x52\x96\xb9\xcc\x00\x83\xa0\x89\xd3\x22\x3f\xfd\xaa\xcb\xf5\xd4\xdd\x86\x57\xc1\x38\x65\x4f\x90\x09\xab\x44\x01\x2a\x17\x83\x71\x61\xe8\x6c\xa2\xf9\x88\xa2\x1f\x09\x9f\xd2\xa5\x9c\x03\x60\xc1\xff\xbe\xcf\x3f\x5a\x45\x5d\x70\x5d\x57\xa8\x55\x43\xd0\x42\xb8\x6c\x63\x17\x19\x2f\x1a\xab\x93\x1d\x11\xc4\xbf\x38\x8c\x83\x42\xcc\xc1\xaf\x05\x20\x5d\x0f\xd8\x5e\xe7\xe6\xbd\xff\xe4\xe0\xb1\x7b\xe2\xb4\xa3\x6b\xda\x84\xec\x4a\xae\x45\x68\x21\x24\xb3\x40\xf6\x82\x4a\x9e\xb8\xb1\xd6\x4a\xec\xac\x30\xa9\xff\xf6\x73\x9d\x54\x2a\xe0\xc3\x8d\x16\x73\x46\x09\x50\x79\x45\x19\x8d\xea\xe9\xc1\x63\x3b\xe7\xd2\xea\x71\x68\x06\xc9\x61\x46\xfd\x7e\xfe\xd2\x85\xfa\xf1\xbb\x23\x15\x51\x79\xe8\x6d\xa1\x91\x3f\x1c\x25\x1c\xb8\x11\xbd\x84\x9a\x71\xa8\x41\x2e\x21\x7f\x34\x79\x75\xd0\x86\xd9\x72\x96\x87\x86\xa4\x1e\x6e\x69\x49\x62\xa5\xb5\x6f\x0d\x4d\x66\xcf\xe0\x3c\xbe\x54\x57\x25\xe3\x18\x8a\xba\x52\x39\xbe\xd8\xb6\xde\xaf\x26\x4c\x5c\xda\xeb\x29\x24\xe1\x6c\x06\xe4\x6c\xaa\x94\xe7\xc4\x2f\x1d\x6d\x6a\xde\xca\x88\xd1\x1b\x0f\x96\x20\xe8\x24\x15\x06\x52\x25\x30\xa3\x9a\xc7\x0c\x2d\xca\xbc\x09\x58\x4d\xb1\x03\x34\xa4\xb3\xa5\xc8\xeb\x82\xf2\xa4\x6f\x78\x42\x6a\x06\xd7\x9d\x50\xd9\xb7\xb9\x4b\xac\x5d\xf8\x78\xdf\x3f\x16\x84\x77\x07\x3b\x12\x62\x3e\xe5\x5c\x39\x93\x79\xfc\xd0\x10\xc7\xc5\x21\x28\x1a\x49\x19\x80\x3c\x5b\x07\xe8\xb6\xf0\x02\xab\x31\xbe\x16\x83\x4f\x68\x94\xb6\x4f\xcd\x53\x27\x18\xe2\x3d\xce\xdb\xc9\x71\x38\xc1\x3a\x38\x70\xd8\x03\xd4\x1a\x9b\x42\x68\x0b\x48\xdb\x36\x1f\xc4\x01\x68\xb8\x14\x3a\x6e\xc3\x29\x29\xde\x28\x20\x7d\x10\xe5\x37\xe2\x79\x01\x6b\xf8\x06\x20\xc1\x9f\xd5\xd3\xd1\x36\x50\x09\x6f\x9c\x0a\xd4\x2b\xc5\x15\x2b\xf8\x86\x60\xe8\x04\xf0\x1a\xcc\xde\xc1\xa4\x10\x30\x2d\xee\xbb\x69\x5d\x56\x82\x0f\x3b\xe7\x5a\xb5\xa4\x12\x0c\x6b\xba\x15\x6a\xda\xd5\x68\x73\x19\x90\x9b\xee\x16\x31\xb4\x47\xae\x04\x24\x14\x64\xa1\xea\xf5\xa7\x74\xb3\x5b\xe3\xe3\xdd\xad\xa5\x0d\xa1\x41\xbb\xf0\xa4\x46\xac\x6a\xe2\xaa\x1f\xcc\x16\x25\x53\xb5\x59\xa8\x16\xdb\x93\xa1\xf5\xe4\x56\x82\x1c\xcd\x27\xc7\xf8\xe0\xd5\x09\xb3\x97\xfd\x04\xe7\xc4\x92\xad\x65\x39\x48\xc6\x4e\x2b\xf6\xf4\x80\xfa\xbb\x48\x99\xb5\x74\xe9\x7b\x15\x15\xa7\x13\x8b\x34\x9f\x23\x1e\xea\x47\xc3\x55\xda\x4c\xf1\x91\x88\x30\x4e\xb7\xfc\x33\xb0\x4e\xff\x00\x76\x99\x02\x9a\x0e\x34\xdb\x43\x10\x20\xb9\x28\xb9\xa9\x2b\xa1\x99\x28\xb9\xd5\x3c\x62\xe5\xa6\x12\xeb\x82\x3c\x1f\x5b\x62\xd1\xb6\x09\xc9\x71\x30\x06\xab\xd5\x9d\x7e\x88\xc2\xc8\x43\x03\x42\x5b\x58\x03\x44\x84\x7e\xb8\x0b\x51\xcd\xd2\xee\x1c\xef\x17\xbf\x2e\x36\xd3\x15\xaf\x2e\xea\x75\x3c\xb8\x77\xb6\x94\x61\x29\x00\xb8\x3c\xea\xb9\x1b\x6a\x7a\xa6\x9b\x29\x82\x2b\x51\xad\xb5\x5e\x50\x89\x6f\xb5\xa9\x24\xc0\x88\x4c\x5d\x56\x80\x38\xe8\x00\x3d\x7b\xb4\x7b\xe8\xb4\x95\xd8\xd5\x72\xd3\xf1\x8a\x6f\x2d\x9a\x77\xe8\xf0\x4d\x0b\xc2\xd9\x2c\x95\xc1\x9c\x38\x32\xa1\x66\x68\x7c\xaf\x54\x9d\xac\xe4\xcc\x54\x72\xb1\x10\x15\xc5\x01\x97\x92\x4f\x67\x8a\xce\x18\xda\x48\x70\x47\x5f\x70\x96\xb7\xdb\x71\x21\x4a\x51\x81\x29\x6b\x48\xbe\x27\xf2\xbc\x7f\x90\xe2\x0a\x15\x8f\x98\x77\xd3\x6a\xf1\x21\xd0\xff\x99\x32\x2e\x2b\x4c\xac\x26\x47\x35\x12\xc0\x06\x2b\x2e\x4b\xd6\x76\x7c\xba\x12\x33\x2d\x4d\x07\x02\xc9\xe3\xe3\x72\xcd\x0a\xb5\x58\xc0\x85\xe5\x80\xbd\x86\x48\x71\xd8\x15\x5d\xdf\xb4\x5d\x60\xb0\x3b\xcf\xc4\x7d\x30\x41\x3b\x36\x5a\x0a\xdf\x62\xdc\xdb\x88\x7a\x84\x2b\x70\x04\xae\xd8\x29\xba\x76\x2b\x91\xa4\xf5\x2b\x69\x25\x33\xfa\x75\xf7\x80\xc7\x8c\x34\x54\x30\xef\x5b\xef\xd2\xe0\xb3\xd7\x37\x79\xeb\x19\x7e\x32\x6e\x02\xaf\xe5\xc2\x32\xe5\x0b\xa7\xe8\x0d\xcc\xa2\x5d\x93\x70\x7e\xf6\x46\x03\xd3\x9b\xd4\x0a\x3f\xb3\xe7\x6e\xb0\x57\x37\xce\xa5\xf6\xa0\xda\x01\xa0\xc6\x35\x1c\x27\xf1\x49\xc2\xc4\xa8\x22\xe4\xf0\x89\x6d\x3c\x34\x69\x3b\x9f\x19\x4c\xb9\xb7\x8d\x94\xe6\x30\xcf\x7b\xf0\x4b\xc9\x2a\x11\xf1\xde\x88\x2b\xb6\x12\x60\x29\x75\xaf\x4c\x2e\xa1\xcb\xf8\x8c\x3b\x3e\x71\x72\x3b\xe9\x9f\x57\x04\xc6\x0c\x7f\x2b\x1f\x9b\x14\x13\xbf\x04\x96\xdb\x85\x75\xf1\x0b\xf2\x3d\x2e\x31\xc9\x57\x2e\xae\x19\xd9\x1b\x49\xb5\x55\xec\xd9\x41\xa3\xad\xbd\x8f\x10\x38\x58\x2d\x31\xc1\x6e\x5e\xff\x4a\xac\xd4\x25\xb8\x15\xa6\x7b\xdd\xc6\x0e\xad\x5a\x14\xbe\x6e\xe5\x4c\x37\x9e\x1b\x0e\x62\x76\xa0\xe1\x25\x05\x07\xf7\x23\x90\x69\x24\xce\x4d\x34\x92\xe7\xb9\x8c\x12\x40\x0f\x54\xda\x42\xa1\x0c\x5c\x24\x7a\xac\xb0\xf6\xcd\xc7\x7e\x04\xb8\xa8\xeb\x16\x79\xc7\x8e\xf9\xdc\xf3\xd7\xd0\x98\xcf\x9d\x30\x24\xc7\x0c\x27\x83\x1b\xf0\xc1\x28\xe6\x6d\x46\x9c\x40\x2a\x8d\x06\xf1\x47\x25\x4b\x91\x3f\xdb\xbc\x92\xe5\xc5\xd0\x60\x3b\xf5\x08\xeb\x15\x2c\xe8\xb7\x50\xa9\xd1\xf1\x2f\xed\x8d\xa9\x74\xbb\x1e\x9c\x62\x7b\xb0\x95\x50\x40\x73\x4a\xa3\xaa\x34\xc8\x59\x6e\x1f\x3b\x05\xa6\x69\x74\xc4\x3c\xdd\xf9\x70\x3e\xc8\x45\x4d\xa5\xed\x47\x88\xe9\x9f\x1f\x4e\xa6\x35\xa7\x47\x73\xe6\xdd\xc1\x19\x62\x7f\x4c\x1e\x23\xad\xd3\x55\x76\xc7\xc5\x46\xf0\x2b\xe6\x6e\x3b\x93\x8b\xf2\xfd\x3a\x49\x9d\x4e\x25\x62\xfd\x7d\x6e\x59\xb0\xcd\xda\x8b\x0a\x24\x58\x01\xa2\xb8\x29\x12\xd2\x08\x9e\x69\xf1\xef\x64\xc7\xed\x3a\xb1\xc3\x13\x3e\xf4\x22\x20\x20\xdb\x5b\xd9\x8b\x4d\x21\x2f\x44\xb1\x01\x9b\x63\xe3\xc7\xe2\x82\x4f\x7d\x64\x08\x58\x14\x26\x96\x37\xeb\xf5\xa2\xe2\xb9\xb0\x04\x5b\x82\xfe\x5e\x0a\x91\x5b\xb5\xba\x8b\x34\x97\xc4\x6c\xc7\x9e\x69\x7d\x39\x22\x75\x1f\xda\x8f\x28\x1c\x9b\x33\xbd\xf3\xe9\x4b\xbe\x12\x67\x96\x9f\x52\x6d\x37\x15\x62\x68\x65\xb5\x12\xaa\x14\x4c\xdb\xe2\x1c\x61\xfb\xe2\xb8\x4f\xfb\x0b\xc9\x7e\xb6\x65\x12\x2e\xd8\x0f\xa7\xf7\x7a\xe0\x06\x31\x48\xa6\x97\x42\x9d\x56\xea\xa3\x5c\x49\xb3\x79\x27\x10\xee\x36\x35\x31\xa2\x6a\x4a\x3a\x79\xc7\x46\xbb\x77\xa5\x06\x54\x76\x88\x3b\x74\x9f\x83\xf7\x55\x2b\x68\xb8\xa7\xc8\x4b\x6d\x38\x99\xb1\xfa\xd8\x95\x40\x08\x02\xc6\x64\xb3\xbd\xc7\xfb\x4f\x1e\xdb\xff\xc5\xd7\xb3\xa4\x1d\xf6\xdc\x8b\x3a\xbc\x41\xb9\x7b\x59\x62\xa0\x46\xd9\x36\x22\x95\x51\xed\xd0\xb2\xae\x67\xde\xe1\xd6\x28\x56\xc8\x4b\xd1\x8e\x98\x6d\x75\xc7\x0b\x51\x99\xd1\xf6\x6c\x2b\xc4\x6c\x63\xfb\xbe\xa5\x2f\x42\x4b\xfb\xd0\x92\x73\x98\xed\x2c\xe3\xd7\x52\x1b\x55\x6d\x8e\x0a\xc1\x93\x5a\x49\xa7\x0e\xe5\xfa\x68\xd8\x12\xab\xe0\x75\xc5\xd6\xb3\x07\x7d\xbf\xaf\x53\xf4\xdc\x3c\xeb\x62\xe8\x25\xab\x50\xb8\xcc\x58\xdc\xd8\xab\xee\x2d\xd8\x95\x51\x86\x17\xd3\x5f\x9d\x82\xff\xf6\x4e\xc1\x11\xcb\xb7\x78\xec\x75\x52\x6e\x77\x2b\x25\xd5\x2e\x38\x73\x2d\x47\xf2\xc0\x9b\x10\x89\xc2\xf6\x00\x0e\xe1\x61\xa4\x4d\x54\xd4\x59\x76\xea\x30\x9e\x42\x1b\x49\xbc\xda\xc9\xbd\x62\xf2\x7b\xf5\x40\x07\xee\x3c\x84\x3d\x24\x07\x4e\x9e\xab\x26\xf1\x91\x53\x49\x6a\x4d\xa1\x6a\xf1\x4d\xa1\xa8\xe7\x89\x67\x56\xab\x69\x05\xbf\x02\x74\x14\xf3\xd5\x93\x00\x58\x0a\xbe\xa7\xf5\xec\x08\xa9\x36\x40\x5c\xe1\x57\x2c\x5b\x2a\x2d\xca\xc1\xf1\xfe\x2a\x67\xee\xaf\x9c\x59\xaa\x52\x1c\xf1\x0e\xdc\x43\xa2\x02\x9d\x82\xa0\xc4\xc8\xda\x9e\x0c\xe1\x05\x7d\x1d\xb1\x0d\x51\xfa\x60\x5e\x57\x89\x6c\x62\xc7\xae\x24\xac\x3d\x87\x20\x70\xa6\x85\xdd\x62\xf7\xdc\xf9\x2c\xf5\x78\x70\xd2\x9a\xcb\x92\x6b\x26\xca\x5c\xe4\x93\xfe\x53\x82\x34\x58\x40\xd8\xd9\x73\x41\x88\x91\xc6\x83\x18\x2a\x40\xf3\x7d\x17\xfa\x98\x01\x64\x19\xc3\x7c\xa7\x6a\xa4\xfd\x52\x40\xdb\x71\x0f\x71\x91\x4e\x75\x96\x55\x42\x94\x7a\xa9\x20\x63\x44\xf2\x32\xd7\xaf\x46\x25\x4b\x0b\x55\x3a\xfa\xba\xed\xdc\xc0\x37\x71\xdf\x4d\xfa\x4b\x3d\xa4\xd4\x45\xf5\x88\x64\xc7\x18\xd9\x0b\x7e\x23\x98\x44\x8e\xca\x87\x8b\x98\x79\x1d\xed\x6f\x04\x5f\xd1\x99\x71\x11\x4d\x39\xbe\x26\xb5\xb2\x76\x92\x88\xcb\xd1\x2a\xf7\x67\x97\xd6\x29\x88\x9a\xa9\xac\xa1\x43\xb3\x17\x55\x13\xfe\x77\x2b\x12\x64\x95\x80\x23\x88\x17\x04\x21\x9a\x14\x88\xad\x6a\x9d\x7c\x66\xb9\x80\x1a\x21\x94\x90\xf6\xa3\xa6\x1e\xad\x04\x04\x62\xc3\xcb\x6a\x1c\x6d\x19\xd2\x12\x42\xe0\x22\xde\x0a\xa3\x14\xa5\x3e\x41\x69\xdb\xc4\xad\x97\xf6\xda\xd1\x38\x30\xcc\xd4\x80\x89\x3b\x61\x10\x18\x8f\xf4\x5f\xaa\x72\x5f\x7c\x94\xda\xb4\x5e\x0b\x0f\xb6\xe7\x86\xf1\xce\x52\x83\x19\x09\xfc\x60\x00\x79\xeb\x19\x2f\x2f\x8e\x78\x45\x5c\xc4\x7b\xe5\x03\x96\x33\x0e\x8b\x28\x0d\xcb\x78\x95\x93\xf8\x46\x85\x28\x17\x86\x00\x35\x7e\x05\xbf\x5b\x89\xb0\x6a\xbb\x79\x6d\x80\xcc\xad\xfc\x02\x7b\xb2\x64\xef\xcf\x5f\xec\xff\x23\x68\x99\x70\x18\x13\x2f\xc7\x6a\x3e\x27\xd3\x18\xbd\x85\xdf\xef\xa6\x97\x98\x80\x85\xca\x2e\xbe\xab\x15\xf5\x8e\x11\xd5\x88\x88\xf8\xba\x3b\xa0\x10\x2c\x0a\x21\xb2\x6c\x66\xbf\x64\xf0\xe9\xc1\x2f\x87\xa0\xaa\x48\x73\xa3\x2d\xdb\x89\x88\x33\x55\xa0\x97\xe0\x2f\x89\x80\xe6\x48\xad\x56\xbc\x1c\x20\x63\xa8\xb1\x2b\x47\x2a\xc3\x1e\x65\xee\xdb\x5f\x0a\x41\x8f\xb8\x5e\x1a\xbe\x48\x51\xd3\x17\xef\x48\xca\x7f\xc8\xf0\xbb\x5f\x0e\x63\x1e\xb9\x70\x42\x92\x88\x68\x3d\xd8\x89\x82\xb6\x6b\x10\x91\xbf\x1c\x12\x3e\x5f\x71\x49\xdc\xf8\xda\x85\xbb\x11\xb1\x44\x00\xfa\xff\xe2\xee\xdb\x07\x99\x5a\x5d\x7f\x1a\x99\xbd\xc7\x7e\x68\xd4\x57\x51\x03\xbf\x98\xd5\xf8\x7a\x58\x30\x7c\x9d\x12\x0c\x5f\x2c\xb1\xa4\x37\xa6\x5f\x0c\xdd\x4e\x0c\x2f\x64\x96\x22\x9b\x2b\xdd\x89\x8f\x25\x7c\xf3\x0b\x3b\xe8\x5f\xa3\x63\x70\x8a\x8e\xbe\x78\x1b\x21\x9d\x7f\xb1\x2c\x17\xd7\x9f\x3a\xaf\xa9\xfe\xb5\x6c\x67\x3f\xe5\x5f\x16\xfd\x7b\xd9\x6f\x93\x55\x76\x3c\xdd\xe0\x09\xc0\xd1\xf4\xfa\xd3\x57\xe8\x81\x59\x09\xee\x8a\x5d\x89\xad\x86\x48\x88\xaf\x13\xfd\xee\x96\x59\x3e\x2c\xe2\x58\xc0\xad\xc1\xbe\xff\x5e\x59\x61\x20\x4b\x5c\x6c\x77\xef\x66\x88\x6b\xa2\x07\xb6\x70\x57\x1f\x84\x98\x28\xdc\x91\xa3\xda\xf8\xc3\xbf\x1c\x29\x79\x4a\xb9\x4f\x34\x45\xbb\xd2\xb0\x12\x68\x52\x02\xdb\x95\x57\x40\x27\x08\x98\xdc\x46\x37\x07\x80\x47\x78\xd1\x71\x70\xfd\x76\xf7\xac\x6c\x8d\x10\xda\xee\x5f\x0e\x92\x7a\x6c\x0b\xc2\x26\x7a\xd2\x8b\x9b\x0b\xe0\x97\x04\x1c\xcf\xdf\xf1\xfa\x9e\x99\x4a\x5e\x24\x97\xd8\x95\xee\xb4\xca\x1a\xbe\x31\xcb\x4a\xd5\x8b\xe5\x2f\x4c\xa7\x38\x17\x1f\x4d\x17\xf8\x96\x2c\xde\x71\xd7\x00\x5e\x60\x5d\x15\xfe\x1c\x93\xe5\xbe\xff\x49\x23\x1c\xaa\x3f\x6c\x16\x4a\x2d\xdc\x35\xe4\x07\x38\xdb\x3a\xdd\xbf\xaf\x8a\xeb\x7f\xa5\x8f\xb3\xe6\xc3\xd6\xd1\x45\xfe\x38\x7c\x9e\xf5\xfb\xfb\x7b\x5d\xf9\x04\xae\xe2\xf9\x52\x30\x9e\x99\x1a\x61\x0b\xb7\x71\xcb\xfb\x32\x17\x55\x0f\x01\x3c\x51\x61\x27\x8e\xa9\xfd\x67\xbf\x34\xdb\xdd\xfb\xf2\xa2\x54\x57\x49\x95\xde\x17\xc7\xae\xdb\x58\xf0\x4b\xbd\x50\x0e\x48\xac\xdd\xa5\x55\xd9\x16\x4f\x5f\x51\x92\xe9\xd3\x1f\xf0\xec\xf6\x22\xec\xfa\x87\x49\x2c\xab\x9c\xa8\xfc\x49\xe5\x95\x17\xcf\x7f\xff\xeb\xfe\xe2\x2a\xff\x5a\xf0\x9c\x0a\x76\x68\x8a\x88\x37\xab\x10\x2c\xc9\xe3\x28\x72\xda\x39\x9b\x0e\x1d\x6d\x81\x8d\xbb\xb0\x23\x3f\x91\xa0\xe9\x87\xf6\x63\xa7\x09\x12\xbe\x01\x20\xd3\xe1\x41\xbc\x85\xba\xe0\x41\x64\x8b\x0d\x1d\x42\x7b\xaf\xbc\x26\x06\x7d\x60\x29\xc7\xff\xde\xec\xb6\xe3\x13\xd0\x98\x79\x80\x25\xd3\x0a\xb7\xbb\x59\x07\x83\xe1\xbd\x2f\x5a\xc1\xb4\x98\x32\x62\xde\x8e\xdb\xe5\x95\xf0\xb1\xbb\x93\x4e\xf8\x6f\xc4\x1f\x71\xb7\x9a\x27\x32\x2c\x9f\x9e\x1d\x26\x12\x2c\xf3\x4b\x81\x30\x09\xd3\x54\xae\xf4\xb7\x65\xb1\x71\xd9\x9d\xa1\xdb\x16\x3b\x86\x28\xad\x96\x99\xc7\x6e\xbf\x75\x6d\x4e\x05\xa6\x22\x7f\x38\x61\x11\x28\x00\xc1\xd8\x4d\x6c\x5d\xc0\x3a\xb6\x8d\x85\x60\x87\x81\x71\xd3\x49\x24\x6e\x3d\x6a\xc8\xea\x29\x9b\x5d\xee\xb9\xc1\x0f\x69\x57\xae\x68\x49\x9c\x93\xd2\x88\x8a\xbb\xa8\x09\xc0\xe2\xd0\xb1\xec\xa1\x2a\x25\x4f\x1f\xd9\x54\xf6\xf0\x1e\x3d\xe3\x59\x1a\x16\xe4\x4d\x03\xd1\x27\x57\x42\xc7\x01\xf7\x69\xe9\x93\x62\x19\x3f\x2c\xc2\xcb\x6b\x20\x3e\x78\xc0\x83\x05\x20\x1b\x5c\x84\x49\x4c\xaa\x4e\x69\xec\x31\x04\x80\x0c\x70\xc7\x86\x1a\xfd\xa4\x2a\xb2\xd2\x26\x21\x0d\x5c\x9b\x0f\x34\x83\x5a\x74\xcc\x5f\xc1\x47\x7c\x6f\x2b\xd1\x9f\x63\x46\xd6\x32\xe4\xa2\xec\x6d\xdc\x76\xa2\xa7\xd1\x96\x23\x08\xbf\x93\x2d\xf3\x51\xc5\x1e\x4f\x7c\xf6\x08\x87\x10\xee\x9c\x4f\x16\xf2\x52\x94\xdd\xdc\xae\x12\xe1\x78\x2a\xb1\x90\xda\x88\x8a\x72\x3e\xcb\x38\x95\xb6\xee\xc3\xd1\xe1\xbb\x63\xcc\xdf\xea\xd7\x62\x68\x3d\x8f\xbb\x40\xd8\x51\x51\x8c\x3c\x28\x33\xb1\x8f\xf8\x7c\xbc\x94\x2b\x87\x25\x29\xb3\x0b\x51\x8d\x8e\xc4\xe6\x6b\xf9\x28\x8f\xd2\x4f\x8b\x95\x32\x32\xa3\xdc\xf4\xec\x81\x20\x56\xea\x5b\x89\xfe\xa3\xa5\xba\x62\x13\x06\x62\x1b\x24\x75\x70\x39\xa6\x9d\x8a\x08\x5f\x46\x99\x39\xaf\xad\x5d\xc2\x25\x70\xc4\x31\x05\xe3\x4c\xff\x64\x71\x4c\x49\x9f\x04\x7f\x0f\xdc\x04\xed\x41\x93\x4b\x35\x61\xe0\x2c\x3c\xf1\x44\x9d\x30\x5e\x6e\x5a\x49\xfd\x99\xf8\x98\x89\xb5\xc1\x20\xc7\x87\xfd\x30\xf6\x66\x28\xbd\x00\x28\xbf\xff\xf2\x66\x38\xf7\x58\xf3\x30\xa6\x98\x7a\xc7\xd2\x98\x1b\x24\x66\x79\x86\x58\x18\x35\x67\x5a\x14\xf3\xfd\x5c\xa0\x0a\x6d\x55\xfe\xc4\x1c\xfb\x0b\x97\xf0\xea\x6a\x95\xed\x18\xe5\x05\x5f\xbe\x24\x9f\x0f\x9a\xa2\x38\x80\xdf\xbb\xab\xd1\xe1\x5c\xf1\xfc\x5f\x0e\xc6\x8c\x62\x4f\x82\x08\xa0\x0c\x25\x69\xe9\xbc\xe2\xfd\x10\xe1\x05\xe5\xe0\xfa\x52\xa8\x53\xab\xd1\x6f\x1f\xc5\x2b\x79\x99\xa4\x86\x2b\x1d\xf4\x44\xeb\xc7\x3b\xed\x24\x62\x3a\xf1\x4d\xf7\x38\x8b\x57\x8a\xc6\x45\x93\x4e\xb1\xbb\x57\x97\x82\xe7\x0e\x03\x37\x56\x6b\x81\x64\xfe\x53\x7d\xfd\x69\xc2\x38\xcb\x65\x25\x50\x31\x91\x6d\xc8\x8a\x10\x45\xb6\x52\x97\x42\x43\x64\x5c\x2e\x16\x95\x10\xfa\x0f\xec\xc9\xfe\x6f\x7f\xff\xf8\x86\xb1\x64\x88\xd1\x23\x2a\xa9\xa8\x03\x8a\x17\x32\xb7\x37\x46\xac\x60\x77\x70\x08\xb6\x58\x0c\x4c\x3a\xc4\xa7\x4d\xdb\x10\x2b\xd3\x8a\xe7\xb2\xa6\x81\xd6\x48\x52\xac\xf8\x47\xb9\xaa\x57\xcc\x47\x0a\xb6\x93\x90\x82\x0f\xb3\x03\x51\xb0\x07\x4d\x3f\xb8\x8e\x8e\x1d\xdc\x21\x6d\x69\x9f\x4a\xfd\x1d\x73\xe2\x92\x8c\xd3\x3b\xe6\x24\xa4\x20\x8f\x76\x0c\x16\xdc\xdb\x00\xb7\x4e\xff\xc4\xeb\x07\x84\x9a\xb4\x7e\x9d\xb0\x27\xfb\x4f\xbf\xfc\xd2\x2e\x88\xd5\xa8\x63\xa0\x86\x7b\x76\x5e\x25\x90\x09\xde\xbf\x7b\xd5\x8f\xa7\x41\xe8\x07\xff\x54\xe4\x22\x83\x0e\xd8\x11\xa6\xa1\xf4\x68\xab\xee\xa3\x90\x46\x84\x03\xe8\x92\x40\xdf\x88\x95\x7f\x6c\xe2\x3e\xbd\xc8\x01\x3b\x15\x6a\x5d\x08\xb4\xbd\x4b\xc3\x66\xb8\xb6\x3e\x0b\xce\x06\xe8\x71\x85\x31\xa5\x62\x03\x4a\xd3\x9a\x43\xf6\xde\xb9\xaa\x62\x00\x24\x70\x18\x5f\x9b\xe4\x6d\xb4\xb9\x5a\xd8\x91\xba\xda\x5f\xc1\x1d\x5a\x98\x09\xcb\x0a\x09\xde\xd6\x0e\x62\x12\xa1\x11\x60\x42\xed\x44\x43\xa8\xcd\x47\xb9\xb2\xaf\x3f\xf9\x9c\x3d\x2e\xa5\x0d\xf7\x87\x53\x37\x7f\xf2\xf5\x0f\xb0\x73\x3d\x02\xb6\xc8\x43\x2e\x09\x0f\xd2\xa3\xaa\x1c\x33\xe9\xac\x47\x62\x4a\xb6\xed\x70\x54\x0e\xef\x9d\x2c\x78\xc0\x17\x21\xb2\x8b\xe7\x79\x25\xb4\x9e\xba\x3c\x51\xc3\x28\x69\xad\xd8\x2e\xf7\x1d\x5c\x01\x9b\x6f\xa3\x8b\xb8\xe1\x95\x99\x42\x8c\x14\xc1\x84\xa5\xfc\xae\x46\x08\xa9\x5c\x88\xf5\xbe\xfd\xd4\x36\xdd\x84\x54\x21\x68\x03\x72\xa0\xc7\xfd\xf7\x40\x53\x0e\xec\x2a\x48\x9e\x5e\x40\x99\x18\x85\xc3\x56\xfa\xf8\xaf\x74\x43\x34\x50\x86\x17\x0d\x56\x18\x5a\x99\xf0\xdb\xa7\x43\x22\x61\x38\xbc\x0d\xb1\xf0\x31\xf2\xec\xd7\xa8\xb6\xcf\x1d\xd5\x06\x07\x56\x02\x0f\xa6\x55\x96\x56\x45\x41\x10\xde\xe7\xdc\xab\x09\x99\x7f\x4a\x80\xcf\xec\x72\xa1\x69\x42\xea\xc8\xbb\xcd\x16\x6c\x1b\x24\xad\xa2\xc2\x08\x9b\x22\x02\xf0\xbb\x1f\x38\xb8\x76\x4d\xc4\xf7\xf0\x35\xb6\xd0\x3f\x30\x74\x5d\x18\x6a\x6a\x10\x49\x07\x85\xe1\x24\x8c\x1b\xe8\x4f\xa0\x95\xda\x26\x31\x8f\x76\x0d\x02\x6e\x04\x6d\x8a\xbd\x03\x01\x8f\x25\x96\x2b\xa1\xdb\xb0\x23\xde\xd6\xe6\x2f\xd8\xf1\x95\xee\x83\x28\xeb\x94\x4e\x86\x65\xd1\x10\xf0\xe7\x6e\xce\x2f\x14\xe5\xc4\xdd\xdc\x15\xf4\x89\xba\xed\x5a\x60\xe7\x75\xe9\xba\x8f\x54\x65\x08\x11\x27\x94\x6f\x5b\xdf\xeb\xdb\xd5\x57\xde\xfc\x5a\x6c\x30\x31\xf6\x3f\xff\x66\xae\xea\x4a\x7f\x57\xf3\x4a\xfc\xf3\x6f\x00\x64\xc5\x83\xbe\xa6\x8d\x2c\x09\xd9\x8d\x5d\x91\xe6\x36\x18\x35\xa9\x59\xe0\x47\x00\xbf\xeb\xd5\x26\x18\xe9\x03\x0d\x51\x63\x33\x4e\x64\x31\xc6\xd6\x68\x9b\x3b\xb6\x07\x76\x93\xd1\x2d\xf6\xb9\xf1\x4f\x62\x76\x4a\x86\x65\x76\x4a\xe3\x4d\x55\x89\x4b\x29\xae\xec\x2a\x5d\x89\xd9\x3a\x7a\x90\xf2\x3f\xc6\xc7\x27\x16\xb0\x35\x36\x90\x1e\xdd\x3b\xab\x57\xc5\xc3\xc2\x9f\x07\xaf\xd5\x15\x68\x64\xf6\x0c\xc0\x1b\x0f\x5a\xe7\x7b\x60\x3a\xfc\x23\xb9\x44\xcf\x4b\xb8\xb3\x61\x13\x7b\xab\xa0\x0a\xc6\x6f\x88\x2b\x49\xc7\xb2\x9f\x19\x07\xe9\xbf\xb5\x8d\xf6\x64\x1b\xc4\xd4\xde\x74\x5d\xc1\xd0\xeb\x20\x3a\x52\x01\x92\xaa\x95\xae\x7e\xf7\x74\x01\x62\x5d\xea\x5a\x2d\x57\x08\x26\xed\x9f\x49\x2a\xc1\xf3\x9d\xec\x0e\x01\x50\x75\x2c\x38\xd4\x8b\x1e\x1a\x67\x40\x7d\x9d\xf8\xc4\xc5\xa8\x02\x34\x8f\x38\x5c\x6b\x95\x49\x30\xbe\x36\x69\x66\x5b\x00\x53\xbb\xd9\x35\x7d\x03\x20\xf9\x7c\xdf\x5b\xf4\xba\x76\x96\xdc\x30\x48\x3a\x1d\xe6\x6d\x29\xbf\x3b\xe1\xef\xdb\xfd\x30\xb5\x97\x9a\x05\xc5\x54\x31\x0d\x3a\xb2\x43\x97\xc6\x19\x01\x22\x50\x97\x88\xd4\xa5\x8d\xe7\xd3\x54\x47\x47\x34\x1b\xb9\x5e\x1d\x72\xf6\x2d\xba\xce\x44\x69\xa6\x08\x44\x4c\x61\x2f\x8e\x61\x70\x9a\x77\xe0\xcd\x66\x0e\xb8\xb5\x38\x08\xfb\xb9\xa8\xb4\xbf\x00\x23\xc8\x46\xe6\x46\x3b\x01\x37\xcd\xa5\xba\xb2\x45\x56\xb9\x67\x85\x43\x7d\x74\x9f\x8b\xaa\x01\x61\x94\x19\x3e\xf6\x5a\xdd\x1b\x55\x03\x27\x71\x89\x3c\xb7\x49\xbc\xe6\x0e\x61\x4d\x2f\xdd\x96\x47\x66\xbe\x11\x49\xe1\xd3\xe9\x9a\xda\x88\xa7\xe7\x67\xd7\x9f\xc8\xf7\x5c\xb8\x09\x02\xf4\x5e\xe8\x6e\x07\xf3\x54\xbd\xce\x2d\x43\x74\x35\x79\x80\x69\x4e\x39\x67\xb4\x0b\x93\x0f\xa3\x9e\x0c\x98\x5b\x16\x37\x75\x07\xf7\xf9\x96\xa2\xf5\x5e\x6d\x75\x8f\x77\x9d\x34\x9e\xe0\xee\x0b\xab\xd6\xa4\xb0\xe9\x82\xa3\x43\x3b\x98\xcf\x2c\xe6\x0c\xe8\x20\x89\xe2\x6e\x77\x9b\xa7\x39\x3c\x88\x5b\x0e\x77\xbb\xaf\x75\x5a\x38\x5a\x22\x27\x35\x46\xe1\xce\x8b\xbc\x7b\x86\xe4\xce\x2a\x8a\xd0\x18\xad\x36\x10\xcd\xb0\xfd\xc4\xbc\x3b\xda\xb8\x51\x53\xa3\xd6\x5b\xe4\x63\x9a\xcb\xef\xe2\xb8\x68\xb1\xbb\x4b\xab\x1c\xb3\xba\x2f\x18\x54\xac\x9c\x41\x8e\x76\x41\xe2\x19\x6d\x00\x7d\x7e\x69\xe9\x9d\xa9\xb2\x14\x99\x69\x83\x12\xf4\x5b\x1b\xe7\x78\xe4\xb7\x5d\xce\x23\xd4\xe1\x7b\x76\x2c\xee\x98\xec\x64\x20\x89\xc3\x8e\x0e\x10\x3f\x79\x02\x8c\x31\x89\x2c\x02\x27\x87\x23\xb1\x9d\xd3\x82\x68\x77\xf7\xbc\x15\xfe\x12\x94\x22\x23\x99\x59\x82\x1a\xa2\xd4\x21\xcb\x44\x7c\xfb\x4c\xc9\xa5\xb3\xb0\x96\xdb\x18\x7b\x38\xbf\x83\x34\x0f\xb6\x26\x77\xd8\x96\x76\x60\x0f\x37\xff\xc3\xc1\xfc\x03\xdb\x13\x01\x74\x28\xe2\xaa\x27\xaf\x30\xef\xb5\xa8\x3e\x90\xc8\x12\xa1\x24\x12\x2e\x5f\x83\x2e\x03\xb2\xf8\x52\x19\x8f\xfc\xb9\x8e\x0c\x36\x03\x3e\x88\xb9\xcc\x1b\x9f\x93\xcc\x1b\x0d\x2f\x15\x21\x1d\x54\xe2\x89\x06\xd0\xcc\xe1\x1f\x63\x60\xc6\x86\x5d\x62\x86\xe0\xa4\x3d\x1d\x4e\xca\x75\x6d\xde\x86\xc1\xd0\xc4\x6a\x57\xda\x81\x6e\x6c\xaf\x12\x79\x9d\xa1\x2f\x52\x03\xd1\x52\x09\x53\x57\xb0\x45\x20\xcd\x95\x9b\x2d\xa0\x29\xf9\xd7\x49\x00\xeb\xc3\xab\xf2\xc1\x42\x98\x53\x55\x14\x76\x1c\xfa\xfa\xd3\xc3\x91\x2a\x4c\x3f\x19\x50\xbb\x95\xcf\xb1\x9e\xc9\x95\x38\xef\xb8\x55\x22\x85\xbc\x8d\xf8\xbb\x5a\x54\x52\xe4\x8e\x04\xdb\x17\xcb\xe7\x5f\x4a\xaf\x54\xa8\x31\x72\x99\x56\xae\xfe\x7e\xb6\x44\xe0\xbc\x5b\xb3\xbb\xc4\xf6\x89\xec\x90\xf0\x2d\x71\x22\x22\x63\xe9\xcf\xcb\xef\x1f\xbc\x23\x5e\x97\x6e\xde\x11\xaf\x6f\x54\x94\xe2\x6a\xe2\x3d\x01\xbd\x8b\x21\xfb\xdf\xda\x0e\x92\x5e\xed\x83\x2b\x76\xb8\x1c\x91\xda\xc8\xfd\xd2\x04\xc6\x25\x4c\x6b\x69\xce\xe3\xaf\x68\x28\xf0\x53\x97\x0f\xb2\xc9\x5d\x94\xd8\x01\x67\xca\x2d\x63\x6e\x31\x82\x3e\xe0\xf3\x39\x68\x7f\x0e\x3f\x37\x66\x8a\xb8\x4a\xfc\x78\xe2\x2a\xb0\xb5\x33\xb0\xd9\x6b\x66\x5d\xfa\x6c\x34\x01\x77\xd7\x2b\x2d\x1e\x6d\x18\x36\x5d\xb6\xe4\x7d\xb7\xcc\x54\x10\x00\x64\xb6\x6f\x1e\xaf\x82\xbe\x82\xc9\x1c\x2f\x9d\x6f\x1d\xbc\x5f\xd9\x0b\x84\xc8\xec\x0c\xaa\x0d\xa4\x90\x14\x6b\xc1\xbd\x8b\xae\x15\x86\x08\xbe\x87\x69\xda\x1a\x5f\x48\x68\xe0\x0f\x2c\xaf\x2b\xff\xfb\xba\x52\x99\x10\x39\x00\x5e\xce\x99\xfd\xc6\xfe\xea\xa7\x04\x12\x10\x60\xd8\x30\xa5\x3a\xd3\x4b\x5b\x65\x51\xf1\xbc\x06\xc7\xe0\x5c\x64\x95\xa0\xac\xc7\xe4\x05\xbb\x71\xc7\x15\x97\xf0\x94\xad\xb2\xac\x0e\xb8\xdb\xf0\x8a\x3d\x53\x1f\xa9\xb6\x52\x99\xb8\x9b\x16\xfd\x2a\xba\xa6\xc7\xf0\xc4\x6b\x6f\xa0\x1d\x60\x8a\x50\x27\x76\x5a\xc3\x29\x84\x7e\x67\x1b\xa6\xd6\xa2\x22\xbc\xa2\x48\x5a\xf8\xdb\x89\x65\x65\x3e\xb7\xeb\xed\xde\x86\xd1\x1d\xeb\x06\xc6\x85\x91\x84\x72\xa4\x6f\x30\xdb\x42\xf2\xa3\x9b\x75\xdb\x25\x6d\x51\x9c\xa1\x83\x25\x4d\xd5\x56\xf1\x60\xd8\x09\xf8\xa7\x6b\xc3\x8b\xa2\xf1\x83\xed\x1d\xe5\x4b\xae\x89\x70\x9d\xaf\xb9\x5e\xa2\x93\x11\x5f\x58\xe1\x08\x5e\x2f\x9d\x74\xd3\x2c\x2b\x64\x76\xc1\x96\xa2\xda\xc9\x4d\x15\x37\xad\x06\x50\x92\xfd\x66\xa9\xd0\x1f\x41\x50\x2b\x7c\x58\x14\x61\xe8\x62\x0b\x47\x36\x74\x79\xa3\xcc\x6b\x97\x2c\x74\x0b\x05\xdb\x35\x77\x27\xa6\xbd\x77\x95\x0f\x4c\x93\x12\xa4\x33\x9e\x2a\x5b\xca\x4b\x91\x0f\xae\x65\xbf\x4e\x2c\x37\x5d\x8d\x0e\x15\xba\xd6\xfb\xad\xbb\xba\xdf\x44\x7c\x99\xa0\x69\x4f\x75\x3d\xb0\x00\x33\x65\x8e\x78\x51\xcc\x78\x76\x71\x58\xea\x2b\xca\x26\x47\x55\x8a\xdf\x48\x5d\x39\xe3\x50\x01\xed\x44\x4e\xc9\x99\x29\x30\x19\x55\x42\xaf\x55\xa9\xd1\x43\xce\x3b\xe5\xac\xe1\xa9\xb2\x6b\xd6\x00\xb8\xf8\xe4\x25\x09\xf2\x67\x8a\xca\x44\x19\x67\x5b\x19\x66\x61\xd9\xc1\x34\x6a\x4f\x16\xa3\xc0\x51\xbf\xe5\xe5\x17\x11\x33\xe3\xd9\x52\x4c\x8d\xa4\xfc\x63\x5f\xa8\x8a\x2d\xd5\x15\x2b\x54\xb9\xf0\x9d\xba\xd4\x88\x30\xd5\x99\x60\x99\x4f\x41\x70\x8f\x8d\x23\x4b\xae\xa7\x64\x4c\x6f\x8b\xb0\xef\xdf\xbd\x1a\x4a\xc3\xeb\xd5\x0e\x62\xc7\xdb\x05\x71\xb6\xf2\xe8\xb3\x12\xb2\x6b\x4f\x6b\x39\x70\xf3\x75\x66\xf6\x05\x5f\xa1\x7d\xfb\x4f\x62\x06\xe9\xe5\x50\x9b\xc0\x16\xd8\xfb\x93\xd8\xb0\x4d\x4e\xc9\xce\xc3\x28\x7b\x2c\x0d\xdc\x37\x80\xaf\xdf\x35\x9e\x06\x04\xd7\xfb\x52\x02\x33\xd6\x16\x20\x7b\xd9\xfb\xcd\x06\xdd\x3e\x5b\xf9\xf5\xfa\xc0\xc9\x69\xfe\x3a\xe2\xd9\xd2\xaa\x21\x97\xde\x91\xd5\x99\xaa\xaa\xd0\xf9\x3d\xe6\xaa\x85\x15\xae\x15\x61\xfa\x6a\xdb\x34\x70\x26\x68\x08\x73\xcf\x24\xcc\x7f\x18\x31\x8b\xf8\x68\xa6\x29\x45\x11\x22\xf9\xd0\xe7\x0f\xc2\x46\x8d\x82\xc0\x5a\xf0\x4b\x2c\xf9\xa5\x5c\x20\xfc\x8d\xc7\x66\x48\x51\x10\x56\x8c\xbc\x61\xfd\x57\x58\x4b\xc2\xc2\x37\xc6\x23\x25\x16\xd1\x57\xd2\x64\xcb\xe9\x9a\xf0\xa2\x6b\x93\x67\x06\x81\x39\xce\x19\xaf\x83\x10\xe2\x8d\x41\x4b\xb9\xc2\x5c\x20\xf2\x92\x32\xc2\x0e\xa6\x61\x8b\x8c\x75\xf4\x68\x3b\x1b\xc3\x99\xc2\x86\xf4\xc4\x7e\x15\x2a\x35\x47\x3b\xb0\x31\x7e\xbe\xa6\xa8\x79\x04\x3f\x47\xd2\x79\xc8\x03\xaf\xfd\x3c\x86\x8e\x41\xa0\xdc\xcd\x55\x5d\xe6\x60\x18\x14\xd5\xbe\x96\xb9\x60\x7b\x2b\x8e\xf9\x81\x66\xc2\xa9\x06\x59\x51\xe7\x22\x07\x8d\x88\xc8\xd8\x72\x9f\xb6\x99\x2c\xc5\x47\x17\x26\x17\x5d\x9d\xc0\x47\x36\x98\x9b\x3c\x11\xec\x64\x67\x56\xf1\xc3\x0f\x13\xa2\x9c\xbc\x20\x5b\xc2\xad\x9a\x75\xa5\x02\xb9\xa7\x32\x4f\x6e\xd2\x6e\xce\x2c\x3e\xd3\xaa\xa8\x8d\x08\x99\xf9\x5b\xf7\x57\xfd\x7f\x3e\xfe\xb3\x0f\xf4\x6e\xde\x3b\x9d\xb4\xb0\xfb\x1b\x6e\x96\x78\x55\x80\xff\x1e\x30\x6f\x51\xaf\xb5\x98\xd7\x05\x6a\xb8\xc1\x6d\x52\xb6\x05\x27\x86\x39\x3a\xbb\x3a\xde\x07\xc3\xd8\x27\x70\x7d\xbf\xc2\xb4\x4f\x00\x27\x2d\xf5\xba\xe0\x01\x8a\x47\x68\xfd\x08\x07\xe3\xad\x22\x7b\xe0\x0a\x8d\xde\xd4\x4f\x7e\xfb\x3b\x3b\x89\xa7\x8f\x1f\x3b\x4f\xcd\xa2\x70\xfe\x5e\xe1\xe2\x3b\xb1\x8d\x67\xa0\x2a\x80\x17\xc2\x06\xe4\x14\x7e\xfe\x0f\xff\xbd\x4f\xc3\xbf\xd8\xe6\xfe\xe1\xbf\x43\x5f\x7f\x89\x8f\xb8\x9f\xec\x1a\x35\x24\x47\xb6\x88\x0b\xf3\xa2\xa6\x9c\x04\x5b\x65\xf1\x3d\xf2\xa3\x01\x18\x7c\xbc\x9c\x80\x29\x98\x1b\x58\x18\x5e\x7f\x94\x85\xb4\x37\xfc\x9c\x1b\x7e\x30\x4a\x72\x40\x3a\x46\x67\x39\x00\x64\x5f\xae\x65\xd6\x69\x3a\xde\xe1\x75\x51\x4c\xa1\x24\xa6\x6e\x7f\x6c\x9c\x6e\x62\x4b\x6e\xc8\xba\x27\x81\xf9\x4c\x5d\x0e\x5a\x6d\xc2\xe4\x28\x32\x12\x42\xd6\x77\x04\xc5\xb8\x5d\x6e\x4c\x3c\xdf\xcc\xd6\xf1\x9d\x15\xe4\x83\x66\xa7\x34\x76\x5f\xe3\x95\x91\xbc\xe5\x40\x61\xeb\x4e\xf0\x76\x7a\x05\x1b\x65\xc9\x2f\x85\x7b\x10\xeb\x3c\x87\x35\x17\xda\x9d\xbc\xa6\xdc\xbd\xf5\xa7\x3b\x76\x1a\xc3\x02\x71\xf6\xc0\xab\x77\x51\x40\xa8\x44\x38\x78\xf0\x1d\x7d\x10\xc8\x42\x1f\xe4\xcb\x23\x55\xce\x25\x01\x23\xda\x2a\x23\xd3\xb7\x3a\x60\x8d\x0c\xaa\xa0\xe5\x2b\x18\xd9\x74\x3f\x2e\x8f\xb8\x8c\x8a\x2b\x67\x03\x5b\x57\x72\x25\xf0\xcc\xfb\x93\xbc\x90\x6b\x2b\xeb\x68\x19\x23\xca\x83\x2b\x5f\xc3\x25\x49\xbe\x90\x8f\x8e\xe5\x7c\x2e\xc5\x7f\x78\xfe\xf4\x3f\xfc\xe3\xe3\xff\xf0\x9f\x7e\xfb\xb5\x28\x8a\x15\x2f\xa7\x17\x62\x33\x15\x1f\xf1\x1e\x8e\x66\x9c\x6d\x83\x40\x6b\x60\xa5\x94\xf9\x09\x46\x53\xf1\x32\x57\x84\xea\xf6\x0e\x7e\x67\xda\x6a\x6c\x25\x3a\xe8\xcf\x36\xc6\x19\xc9\xb5\x4b\x82\xe8\x50\x55\x62\xdf\x52\x70\x21\xa6\x1c\x4b\xb5\x3f\x1c\xdd\xb2\x35\x4b\x35\x86\x3b\xb6\x58\x4f\xa8\x6a\xb1\xc6\x46\x32\x0a\x3c\x80\x58\xf6\x45\xd2\xf4\xf8\xe6\xee\x89\xd4\x9d\x9e\xe4\x85\x5a\x90\x12\xd1\x17\x45\xd3\xb0\xa7\x4d\x57\xcc\xa0\x1c\x09\xa0\x11\xb7\x3a\x62\x7c\xc6\x5f\x42\xb1\xa6\xa4\xe7\xe4\x37\xad\x29\x8c\x17\xba\x43\x0a\x9a\xff\x0e\x5c\xd9\x1a\x24\x8c\x4a\xad\x5c\x9c\xc6\x1d\x1c\x54\x0d\xf2\x0e\x92\x0b\xa7\x3c\x62\xa5\xb6\xf1\x61\x5c\x8b\x40\x04\x80\x3a\x70\x1e\x74\x0c\x75\x3b\x19\xd0\x5c\x4f\x84\x2c\x76\x56\x29\xb8\x04\x8e\x98\x51\xf2\xb4\xeb\x94\x13\x76\xc8\x4c\x59\xad\x14\x92\xd5\x22\x91\xfd\x90\xee\x96\x1b\x91\xc3\x3b\x4b\xd7\x6c\x8d\x1b\x1d\x68\xa9\xcf\xb7\x72\x72\xea\xc3\x1b\xf1\x72\xaa\xb1\x5b\x72\xf2\x56\x15\xa7\xf1\x46\x4b\xe6\x4f\xa2\x2a\x91\x86\xe8\xae\xff\x29\xff\x1c\x4e\xe0\x49\x75\xa6\x4b\x83\x96\x6f\xc2\xfd\xbe\xe9\xa6\x3c\x8e\xbb\x31\xa2\xc1\xd1\xd8\x5e\xad\xba\xee\xb0\x37\x75\xf0\x4e\x33\xe9\x71\xe3\x9f\x98\xbc\x16\x83\xb7\xb4\x2c\x67\xea\x63\xd2\x67\x3a\x31\x03\x6e\xd7\x27\x53\x00\xd6\x4a\xfb\x4c\xdf\x74\x46\x30\x26\x55\x9b\x9b\x0d\xca\xfb\x63\xdd\xf1\xa0\xc6\xdb\xaa\xd2\x2c\xdb\xd9\xaf\x73\xbe\xe5\xbd\xa6\x5b\x21\x56\x17\xf8\xa5\xaa\xa4\xf9\x39\x3c\xb7\xad\x79\x76\x41\x99\x02\x56\xea\x5b\xa9\xdb\x31\x1c\x46\x0d\xbc\x1b\xb5\x48\xd5\xdb\xf0\x31\x25\xc6\xd2\x7d\xcb\xb1\x9f\xac\x1b\xdf\x5b\x14\xb8\x3e\xce\xa3\xa1\xb4\x6e\x56\xdd\x27\xbb\xb9\x00\x90\xb5\x61\x16\xe8\xd7\x89\xb9\xc0\xd5\xd8\xf9\xc9\xae\x7f\x78\xce\xfb\x0d\xc5\x68\x1b\xf7\x87\xa1\xe8\x37\x44\x92\x16\xd1\x31\x9c\x70\x40\x3d\x39\x06\x1d\x1f\x16\x71\x7b\x3b\x7f\x19\x5a\xc9\x6d\x4c\x35\x50\x7d\xfb\xfa\xde\x48\xbd\xdc\x75\xb1\xbb\xd3\xb3\xbc\xeb\x06\x7b\x26\x68\x33\x4f\x54\x27\x9e\x08\xea\xb3\x29\x2e\xbd\xff\xcc\x15\x8d\x7f\x07\x92\x6d\xe3\x88\x81\xea\x94\xa4\x99\xd7\x15\x3c\xc2\xc4\x0f\x07\x5d\x11\xb3\x94\x8b\x25\xa4\xb0\x27\xd7\xac\x55\x1a\xfb\x23\xca\xc5\x12\x72\xe2\xeb\x54\x8a\x7d\x1d\xda\xed\x2d\x59\xf8\x72\xa7\xe7\x9e\x49\xef\x18\x40\xa7\xa6\x44\x53\x1d\x5a\xcb\x92\x67\x46\x5e\x8a\xa3\x94\x09\xb2\x5b\x81\xd0\x77\xb1\x18\xcd\xb8\xf6\xce\x33\x5a\x57\xc5\xda\x54\x34\x02\x1d\x35\xd8\xe0\xa0\x62\x5f\xf6\xf2\x80\x9d\xdf\xf2\x69\x2c\x4b\x0c\xa6\x43\x28\xf7\xc7\xf3\x5c\x9a\x63\x6e\x38\x45\xaa\x7e\x95\x34\xc2\x70\x2e\x0d\xdc\xf9\x1c\xac\x65\x2e\x79\xff\xe1\x38\xe1\x42\x0d\xc1\xc2\xcc\x15\x87\xa7\x8f\x26\x49\x34\xb4\xf5\x40\xfb\x1a\x1e\x8f\xc3\x76\x78\xbf\x3d\x15\x28\x5a\x27\xfc\x5a\x7b\xe5\xb7\x70\x70\xfd\x1c\xd7\xaa\xbb\xd0\x74\x07\xdd\x41\x47\x4e\x6d\x3b\x2b\x0f\x91\x76\x9b\x81\x2d\x5c\xae\x9b\xc7\x87\xcf\x6e\xc7\xd8\x6e\x4f\x48\xde\xd3\x3e\xb7\xf5\xc0\xff\xb1\xe5\xa4\xa2\xaa\xa5\x74\xe1\x30\x80\x15\x37\xe8\x29\x12\xcc\x57\x9d\x13\x6b\x27\xf3\x98\x3f\xf2\x92\xe6\x31\xf4\x9b\xdd\x6a\x24\xf3\x7f\x24\xad\x64\xdd\x0a\x63\xcc\x64\x9f\xd3\x32\x96\xe4\x8b\x91\x0a\x5f\x18\x9b\x3b\x30\xc8\x83\xeb\x1e\x09\xd3\x11\x9e\x03\xb2\xf5\x5c\xef\x3c\xa9\x6f\xed\x43\xb0\x75\x1b\x82\x97\x4f\x45\x06\x5d\xbc\x03\x94\x28\xe5\x32\x57\x21\x7c\x34\xbe\x97\x03\x7e\x54\x07\xe3\xc8\x78\x7f\x20\x70\xfa\x6e\xc7\xd3\x68\xc1\xab\x6c\xf9\xb2\x50\x33\x5e\x8c\x26\x6c\x2f\x9a\xa6\xdd\x06\xd0\xf2\x57\xdf\x87\x9f\xdc\xf7\xe1\x73\xcb\xeb\xb5\x10\xd5\x71\xfa\x91\xa9\x5d\x9c\x78\xa8\x70\x2e\x02\xf3\x10\x65\xc4\xec\x47\xb7\x79\x77\x4e\xda\xd9\x5b\x1d\xee\xb0\x19\x5f\x87\xf3\x23\x3e\x5b\xe9\xb6\xb4\x21\x77\xa6\xc7\x41\x42\x97\x11\x06\xb5\x1a\xb3\xff\x4f\xed\x74\x82\x20\x11\x43\x56\x9f\x5e\x0d\xc2\x89\x33\x43\xac\x22\x00\xa9\xa3\xad\x7f\xdb\x2e\x21\xf0\xe2\xe6\x3e\xc5\x8b\x88\x6d\xec\x3e\xdb\x7c\x3e\xb3\x11\x11\x89\x3a\xca\x20\xd2\x5d\x9f\x2d\x1a\x53\xba\x72\x4a\x6f\xaa\x3a\x23\x71\xa8\xf7\xd1\xdd\x1e\x92\x0e\xbc\x94\x73\x92\x83\x9a\xc2\xa8\x93\x33\x5b\xc4\x16\xb6\xac\xeb\x48\xe1\x9a\xa2\xe5\x95\x6e\xbe\xba\xb7\x2c\xf2\x17\x92\x3c\x5b\x96\x87\xac\x97\x5a\x99\x86\x0a\x49\x93\x0b\x9e\xbd\x2e\x49\x02\xd9\x61\xa7\xc2\x00\x88\xc2\x52\x5d\xb1\x15\x2f\x37\x8d\x95\xc7\x87\x0d\xa0\xee\x3b\xdb\x34\x0f\x73\xbe\xd9\xeb\x4f\xa8\x51\x34\xc8\x09\x7c\x25\xda\x1e\x19\x37\x0b\xcf\xc5\xc6\x6f\xa8\xa9\x0f\xb8\x17\xc5\x1a\xa8\x2c\x0c\x99\x79\xc0\x87\x1e\xfb\x37\x1d\x57\xf1\xe7\xad\xc1\x8e\x56\x59\xbb\x9c\x2d\x4a\xf3\xbc\xcc\xaa\xcd\xda\x88\xfc\x85\xa4\xe2\x8d\xa9\x4a\x49\x53\x0e\xde\x7f\x19\x60\x01\x89\x32\x2b\x94\xae\x2b\xe1\x12\x88\x28\x54\xae\x0c\x06\xcc\x81\x83\xc6\x88\xf0\xe3\x33\x51\x42\x7c\x22\x0d\xbc\x21\x29\x90\xbc\x00\x77\x39\xc7\xb1\x8e\x9b\xfd\xc0\x43\x37\x59\x6f\x90\x06\xaa\x36\x48\x04\x07\xb4\xbb\x32\xba\xa1\x42\x69\x49\x83\x8d\x41\xa5\x83\x31\x74\x38\x76\x7a\x86\x46\x7a\x0c\x4e\x2b\x18\x7f\xc9\xc9\x34\xa5\xb1\x3c\x0f\x16\x69\x50\x1c\xc3\x33\x81\x2c\xe1\x56\x2c\xfb\x2b\xe6\x72\x02\x10\xbb\xe4\xac\xf9\xb4\x65\xe7\x8e\xbd\x7a\x07\xce\x61\x14\xec\x56\xcc\x0f\x85\x7f\x11\xd7\x55\x2b\xaa\x52\x5d\x26\x08\x75\x82\x11\x72\x18\xd1\xe2\xc2\xc7\x86\x89\x47\x7e\x11\xe7\x21\xe8\x8c\x05\x8e\xdf\x10\x8c\x37\x61\xb3\xda\x30\x2d\x01\x2f\xdd\x9e\x5c\xe0\x17\x69\x94\x42\x49\xdd\x7a\x1d\x60\x5a\xad\x1c\xea\x88\x0f\x89\xeb\xd9\xcf\xef\x24\x0c\x2e\x31\xb9\xb3\x3a\xcb\x1c\xc6\xe6\x48\x72\xf8\x2f\x76\x22\x07\xd3\xf8\xd5\xbc\x2e\x8a\x4d\xef\x1c\x1c\xd0\x6f\x75\xfa\x35\xb3\xf3\xc8\x72\x7f\x5f\x88\x92\x5a\xe4\xd9\x08\xf5\x51\x8f\x53\x1c\xa9\x6a\x49\xc5\x24\x7e\x6c\x0e\x30\x16\x6d\x83\x58\x67\x89\x00\x08\xc2\x2a\x78\x54\xef\x4d\x21\x89\x55\x81\xf7\xd7\x41\x24\x96\x91\x96\x29\xe8\x28\x5c\xc9\x1d\x0c\x05\xdb\x53\x15\x22\xb1\x86\x64\xc2\x08\x3f\xa1\x9a\x67\x83\x51\x70\x24\x37\x52\x77\xba\x68\x24\xf7\x4d\xad\x18\x0c\x34\x7b\xdb\x8d\x2f\x6b\x50\x99\x3e\x9a\x14\x91\x7c\x08\xd7\x84\x09\xc8\xea\xa2\x0d\x38\xd2\xca\x39\x2b\x15\xee\x22\xaf\xa3\x58\x59\xc7\x2f\xb9\x2c\xf8\xcc\x9e\x80\x77\x43\xdb\xc4\x35\xba\x15\x0e\x8d\xbc\xd6\x02\x68\xf1\x08\xb6\x14\x02\x33\xa2\x9b\xc4\xcf\x0e\xca\x88\xe6\x70\x82\xcb\x2f\x01\x61\xf2\x17\x20\x2f\xaf\x84\x36\xc7\x59\x6b\x57\x34\xbf\x11\xfe\xea\x50\x84\x6f\x61\xf6\xde\x56\x89\x09\xe3\x59\xa6\x2a\x50\x81\x00\x41\x5e\xed\xcb\x7e\x3a\x19\xd8\x1c\x54\xf8\xe1\x11\x16\x40\xea\x09\x96\x5b\xa5\x7d\x05\xf9\x62\x67\x1b\xd7\x10\x61\x92\x84\x11\x4c\xf3\x6c\x48\x1b\x2f\xe3\x71\x46\x2d\x99\xa5\xd4\x5b\x9a\xf1\xa0\x78\xe9\x66\x80\x86\xca\xc8\xf9\xe6\x59\xa5\x78\x9e\x71\xdd\x79\x95\x8d\x8a\x92\xf1\x77\xed\xb8\x67\xab\x2f\x1b\x59\x2e\xdc\x0e\x80\x36\xfa\xef\xbd\xed\x5f\x09\x39\xd9\x34\xa6\x1b\x00\x05\xb8\x44\x01\x3e\x86\xaa\xd7\xfa\xa0\xd5\xfa\xa9\xe8\x5c\xdf\x5a\x3f\xee\xd4\x36\xcb\x44\x65\xb8\x2c\x03\xc4\x08\xf4\xd4\x63\x06\x3a\x69\x60\xe7\x8b\x24\x91\xdf\xeb\xee\x21\xdb\xfe\x75\x57\x2a\xc0\x46\x73\x44\xe8\x46\x45\x95\x64\x20\xd4\x91\xaa\x30\x36\x1e\xc1\xb1\x79\xc9\x78\x35\x93\xa6\xe2\xd5\xc6\xc9\x12\x35\xfb\x56\x40\x92\x3b\xd0\x1b\x3b\x9a\xfa\x3a\xe1\x7c\xaa\x0d\x2f\x0d\xbb\x94\xe2\xea\xfa\x13\xf3\x68\xd1\x91\xa0\x91\x58\xcf\x56\xeb\xc8\x9b\x2e\x61\x21\xfb\x3c\x21\x0d\x4e\xe1\x09\xbb\x10\xa0\x08\x3b\x33\x31\xc8\xca\xaf\xcf\x5f\xbf\x0a\x05\x13\x3c\x81\xb8\x76\xd2\xdd\x3f\x75\x12\x59\x62\x07\xb4\xea\xd7\xde\xc8\xbc\x26\xb3\x7f\xde\xa7\x93\x65\xcd\x29\xfc\x82\x93\xee\x3b\x0b\xa4\x80\xa8\x8b\x82\xb5\xb1\xb9\x21\x44\xda\x9f\x0c\x21\xa5\x25\x82\xc9\x42\x56\x51\xc3\xae\x64\x51\x04\xd3\x3d\x98\xf8\xb1\x19\xbf\xe2\x10\x35\x1f\x12\x6f\xa2\x91\xc0\x3d\x01\xb4\x0f\x0f\x07\x33\xee\x40\xc5\xaf\x3f\xdd\xfc\x18\xea\xb6\xd4\xa4\x32\xa0\xf8\x05\x7e\x4f\x2e\x62\x65\x06\xd0\x09\xe0\xa4\xea\xa0\x19\xbe\x3b\x7f\x05\xd0\x39\xe3\x20\x01\xde\xfa\x14\xa4\xd0\xc8\xd7\xe7\xe7\xa7\x44\x06\xf3\xc9\x6f\x2e\x9f\x0e\x0d\x21\xe4\x1f\x39\xf9\xc0\x2e\x9f\xfa\x8d\xb5\xc3\xbe\x7a\x94\xab\x4c\x7f\x71\xb5\xe4\x66\xff\xb7\xff\x49\xef\x97\xe2\x6a\x5f\x96\xfb\x4f\xf7\x1f\x8f\x82\x7e\x22\xa4\x97\x1d\xc0\x33\xbb\x3d\x0f\xcb\xcc\x65\xa6\x6d\x09\x86\x76\x09\x11\x3b\x58\x5e\x80\x91\xd7\xc1\x68\xb7\x1e\xa3\x80\x46\x0e\xf9\x08\xb7\xf5\x3f\xd7\x8f\x1f\xff\x36\xe3\x6c\x59\x89\xf9\x3f\xfd\xf3\x6f\xbe\x30\xbc\x5a\x08\xf3\xcf\xbf\x81\xdf\x05\x87\x2e\xb0\xce\x23\x8e\xbf\xf5\x72\x09\xd2\xc9\x34\xdf\xf8\xb4\xbc\xd0\x9c\x1f\xca\xe0\x3c\xeb\x5c\x2a\x72\x9a\x50\x10\x63\xb1\xc0\xcf\x5d\x80\x11\xfb\x13\xe9\x0d\x0d\x95\xd9\xc9\x31\xdb\xeb\xc6\x21\x86\xfd\xe4\x98\x4f\xc0\x3d\x49\x40\x6a\x2b\xc2\x75\x63\x6c\x52\xa0\xb5\xcf\xeb\x93\xf4\xf2\xc1\x01\xf9\xe2\x41\xb2\x98\xa5\xaa\x8e\xb9\xe9\x9f\x0d\xfd\x52\x82\x40\x90\x8e\xd8\x8a\x97\xdc\x19\x5a\xb2\x4a\x04\x2c\x33\x5e\x19\x99\x15\x7d\xe4\xd9\x44\x1a\x64\xd7\x16\x9d\x13\xb5\x9e\x15\x52\x2f\x45\x3e\x1d\xb6\xf2\xac\xeb\xd9\xac\xa0\x71\x5a\x3a\x33\x86\xff\x7c\x57\x2b\x7a\xc6\xad\xd2\x68\xc6\xff\xd5\xfe\xcc\xf6\xc4\x77\xb5\xbc\xe4\x85\x33\x4d\xd9\xd5\x85\x63\x0b\xb9\x78\x16\xbe\x27\xb9\x39\xb9\x60\x47\xe4\x52\x4d\x7e\x03\x82\x8a\x80\x9b\xb0\x23\xb1\x4c\x95\x80\xee\x0a\xf3\x71\xda\x1c\x35\xd5\xa3\x90\x4e\x39\x7a\xdf\x9a\x8b\x4a\xf8\x9c\x74\xcc\xb3\xa1\x07\x3a\x25\xf3\x09\xd0\x36\x25\x57\xf8\xa8\x49\x08\xf0\x88\x88\x32\xeb\x0e\x58\x15\x45\xac\xa9\x74\x8a\x08\x45\x08\x0a\xf0\x95\x7c\xbc\x2b\x5c\x8a\xe6\xd2\x88\x55\x52\x93\xf0\xda\xc9\xf0\x1c\x2e\x05\x29\x52\xb1\x20\xde\x4a\xfe\x84\xb2\xa5\xbd\x7b\xca\x25\xa5\x9b\xfa\x76\x92\x23\x38\x16\x86\xcb\x42\x53\x63\xf0\x45\xc4\x28\x32\x4b\xc7\xb5\x96\x56\x89\xc8\xb1\x1a\x03\x86\x1e\xa7\xd6\x41\xf3\x29\xae\xbc\x67\xba\x16\x40\xfc\x0c\x2a\x0d\x30\x4b\x00\x18\x5e\x23\xee\x66\x2e\xe6\xbc\x2e\x62\xb5\x21\x91\x77\xe6\x10\xd3\xc6\x5d\x4a\xa4\xa7\xcb\x95\x19\x0c\x2a\x48\xd7\xa1\x25\x94\x21\x77\x4e\xb4\x84\xae\x28\x5e\xc2\xd2\x29\xfe\x38\x78\x2d\xd6\xbc\x42\x68\x1b\xce\xc2\xa1\x11\x9a\x79\xbe\x9a\x75\x4c\x5f\xbd\x02\xba\xf5\x99\xc8\x73\x91\xd3\xa9\x64\x78\x51\xa8\xab\xa9\xce\x2a\x55\x14\x64\x5e\x50\x4f\xdf\x50\xa5\x05\xc6\x05\x1f\x13\x4f\xe0\x3b\x6f\xdf\x7b\xc5\x67\x80\x15\x71\x25\x73\x43\xd8\x4e\x63\x6e\x6b\xa8\x01\xba\x39\x7e\x17\x3d\xf8\xa6\x76\xde\x52\xc8\xc5\xd2\x80\x71\xee\xa2\x54\x57\x44\xbe\x56\xb3\x22\x04\xb5\x3d\xbd\xf6\x57\xbc\xba\xa8\xd7\x1e\x42\x2a\x2c\x33\xa9\x6f\x63\xea\x8b\x29\x68\xeb\xa4\x3a\x74\x0a\x15\xd0\x75\x07\x86\x13\xee\x26\xe3\x74\xee\x3f\x89\x19\x4a\xc4\xf7\xef\x5e\x6d\xf9\xfe\x2a\x45\x0c\xa0\x5d\x92\x16\x7f\x89\xf6\xc1\xa9\xea\x18\x62\x89\xc2\xc1\xfd\x00\xe0\xdf\xb7\xd6\x75\xf0\x9b\x01\xca\xb6\x32\xef\x40\xd5\x07\x9a\xcc\xc4\x36\x49\x5f\xbd\x95\x83\x3b\x21\x45\xf4\xce\x7b\x8d\x56\xc9\x8e\xbc\x1e\x48\xbe\x40\x6e\x5d\xf2\x78\x91\x51\xd8\x0c\x50\xa4\xb1\xa5\x5c\x6d\xcd\x5a\x15\x96\xf6\x85\x52\x86\x16\xb0\xae\x84\x00\x23\x81\x94\xa7\x50\xd8\x59\x6c\x5a\x4d\x3b\x1a\xa1\xa0\x45\x19\x4d\xfa\x25\xf4\x20\x96\x58\x78\x47\x83\xf8\x06\x9e\x2f\xa8\x41\xb8\x92\x68\x10\xee\xf7\x3b\xea\xbf\xf7\x0a\xd2\xfd\x3d\xea\xfb\x7d\xa9\xaa\x5c\x54\x22\x0f\xae\xbf\x27\x1f\x98\x63\xf8\xce\x80\x12\x8a\x9c\x77\xaa\xc1\x4f\xe0\xfd\x04\x6e\xe6\x84\xb0\xeb\x8c\xf2\x35\x5f\x53\x83\xb4\x3f\x13\xca\xd4\x8a\xaf\x6f\xa9\x87\x92\x89\xf7\x5e\xb5\xb2\xee\x61\x26\xcd\x35\x18\x82\x09\x6f\x0c\xe2\xa0\x78\xcd\xd7\xee\x98\x00\x6b\x8a\xfc\x28\xac\x8a\x27\xe6\xaa\x12\x8c\xaf\x31\xd3\x0b\xd3\x19\x2f\xc4\x1f\xd8\x93\xdf\xef\x3f\x79\xfc\xf4\x77\x63\x44\xae\x6d\x16\x04\xee\xd8\x56\xa3\x46\xbf\x57\x14\x1a\x88\x6d\xd7\x96\xb0\x42\x5c\x8a\xe2\x0f\xec\xc9\x6f\xf7\x9f\x3e\x1e\x5a\xa2\xb7\xc8\x18\x29\x7e\x6a\x17\x47\x4b\xf6\xf6\xf6\x4c\x85\x65\x03\xe3\x3b\xe5\x15\x5f\x54\x7c\xbd\xa4\x46\xd7\x14\x92\x37\x04\x5f\x38\x62\xcf\x9d\xc7\xe6\xad\xee\x30\x7a\x09\x51\x7b\x05\x54\xf7\x50\x70\x3b\x7e\xbe\x57\x8a\xd9\x80\xf6\x02\x1e\xc7\x04\x96\x23\x79\x70\x79\x8b\x20\x42\xef\xb8\xfc\xd2\xe8\xb4\x5c\x08\x8e\x96\x79\xc0\x99\x84\x67\x70\x42\xbf\xdd\x7e\xb8\xad\x9b\x0c\x8e\xc1\xc8\xb6\x5b\x2f\xdd\xc5\xaf\x04\x22\x4c\x18\x5a\xfb\xef\x94\x53\xe9\x24\x43\x29\xdb\x43\xa3\xc7\xba\x72\xd6\x0e\xb0\xab\xf6\x4c\x1e\x05\x2f\x17\x35\x89\xfe\x7a\x5a\x29\xbb\x78\x80\x60\xe0\x6b\xb9\xf9\x36\x5d\x90\x96\xda\x1b\x72\x7d\x5d\x14\x49\xc3\x4f\x53\x18\x4f\x39\x14\x7d\x0e\x5b\xce\xb6\x51\xbf\x13\x85\x55\x6c\x0e\xd1\x9e\x46\x5e\xe9\xfb\x55\x08\x8b\x0e\x54\xf0\x46\xb9\x3e\x70\x72\xab\xe9\xbe\x53\x6e\xef\xbb\x91\x77\xdf\x73\xf8\x79\x60\x52\x67\x85\xcc\x05\x80\xfe\x12\xd3\x69\x0a\x63\x6f\xab\x50\xf4\x59\x4c\x3c\xa1\xf9\xed\x92\xfc\xac\x9e\x2d\x93\xaa\x5b\x53\x18\xcf\x20\x14\x8d\x90\xe3\xed\x76\x86\x46\x12\x96\x81\x18\x88\x71\x6b\x11\x8f\x03\x4b\xee\xe0\x38\x39\x87\xab\x19\xd1\xfd\xb9\xbb\xb3\xf5\x7d\x9a\xe0\xe7\xae\x4d\xc9\xa9\x74\x84\x7d\x57\xb9\xa8\x18\x03\x8f\x5b\x80\xf6\xc7\x83\x59\x05\xbf\xfb\xcf\xf7\xfb\xac\xa9\x14\xf5\x3c\x03\x54\x60\x50\x16\xbb\xc9\x57\x72\x4d\x11\xe3\xa4\x4d\x0a\x57\x2b\x9e\xfc\x4d\x77\xe5\x79\x8a\x8d\xce\x69\x1e\x3a\x1f\xcd\x40\xdb\x7a\xa6\x33\x6d\x93\xc5\xc4\x75\x20\x14\x5a\x9d\xcd\x19\x68\xbb\xa6\xae\x0f\x32\x17\xa4\xc2\x83\x05\x44\x04\xb0\xfd\xb9\x7f\x9f\x57\xeb\x82\x6f\x81\xac\xbe\xb4\x1f\x42\x12\x2e\x74\x03\x0a\x5f\xfd\x7d\x99\xb5\x0a\xa5\x08\xd0\xc5\x21\x42\xc0\x17\x71\x90\x72\x2e\x68\x25\x0c\x16\x80\xce\x59\x64\xd7\xee\xa8\xa1\x5e\x6b\x45\x1b\xd2\x51\x57\x66\x4f\xf1\xee\xc9\x51\x89\x5c\x52\xb7\x56\xf8\x9d\x38\xf0\xe8\x3b\xee\xe0\x43\x9b\xbd\x1a\x9c\x18\xb1\x7a\x16\x6c\x32\xad\x31\xf7\x0a\x69\xa4\x56\x7b\x1a\xed\x60\x83\x4f\x1d\x5c\xbe\xaf\x73\x37\x09\x62\x18\x4e\xd4\x8f\x1b\xc4\xce\xa7\x85\x6d\xc7\x5d\xb3\x06\x09\x12\xd7\x19\x71\x5b\xbb\xfe\xd4\xba\xaf\xdd\xb1\xc7\x8a\x1d\x49\xda\x6c\x56\xd6\xc4\xdd\xb5\x95\x40\x06\x25\x92\x7f\x28\x6f\x1b\x2f\xc6\xd1\x29\xb1\x5e\xfd\x1a\x5b\x69\x04\x09\x83\x50\xb3\xe9\xbe\xb1\xdf\xd5\xf8\x6f\xa0\xe3\x76\x75\xd7\xde\x2c\x7b\x85\xdb\xf4\xda\xdb\x1b\x60\x3b\x35\x23\x4d\xa4\xf5\xaf\x7b\x2d\x9d\xb7\xd9\x8f\xfd\x85\x92\x36\x1d\xdf\xc1\x83\xfb\x4e\x2a\xc8\x40\x2e\x8e\x96\x1f\xc1\x2e\xd7\xe6\x3f\x39\x1b\x70\xdf\x36\x7c\xf2\x61\x8b\x59\x18\x54\xb2\x23\x51\xf4\xdf\xcb\x9b\xdf\x69\x5d\x96\x65\xa2\xef\x7e\xcd\x0b\xb9\x28\xa7\xce\x32\x17\x5b\x0d\x54\x25\xbf\x57\xa5\x81\x9c\x60\x58\x49\xe4\xe4\x9b\xe0\xc4\xb5\x54\xc9\xc5\x92\xd8\x59\xef\xec\xcf\xfb\x50\x25\xd9\x40\xa6\x0a\xbd\xe6\x04\x43\xfb\x0c\x35\x10\x3c\x91\xa9\xa2\x5e\x95\xba\x93\xa9\xc6\x4e\x8b\x09\xc0\x34\xbf\xdf\x1c\xdf\x5c\xc5\x08\x7d\x59\xea\x20\xc2\x7c\x42\x3a\xf4\xc9\xb1\x13\x66\xe4\x05\x0b\x75\xf6\xed\x44\xb3\xb5\x46\x53\x6c\xd0\x3e\x1e\xeb\x46\xb8\xee\x33\x65\x0c\x65\x1a\xc5\x57\xae\x4b\x61\xb7\x87\xe5\xa2\x7d\x5e\x38\x26\x70\x4e\x29\xee\xc3\x44\xb3\x2b\x99\xe7\xd4\x06\xfd\x10\x1a\x1c\x66\xcb\xce\x8e\x79\x17\xdd\xe3\xc3\xcf\x89\xfd\x52\x45\x37\x78\x51\x14\xc9\x3b\x12\x16\x52\x03\xd0\xfa\x4a\x55\xf9\x37\xf9\xfc\xb0\x58\xa8\xb3\xaf\x0f\x9f\x7e\xf9\x7b\xfc\xef\xe9\xb3\x6f\x8e\x5f\x3c\xfd\xfa\xf5\xe1\xd1\xd9\xd7\x87\x5f\x3e\x79\x2a\x8d\xa8\x9e\x3c\xb6\xff\xc3\xf2\xd7\x2a\x3f\xed\x8d\xfa\xb6\x6d\x11\xa1\x3b\x52\xb3\x0b\xb1\x61\xb9\x80\x04\x2c\x80\xe8\x5a\x2c\x54\x25\xcd\x72\xc5\x72\x31\x97\xa5\xf7\xea\x3c\x7b\x77\xca\x9e\xbe\x38\x64\x85\x5a\xc8\xf2\xfa\x13\x5b\xd5\x1a\xf2\x8d\x40\x50\xf8\x78\xb0\x57\x5d\xad\xb7\xc2\xb3\x3f\xe3\x5a\xb0\x3d\xbb\x3f\x7b\x9d\x8e\x8c\xd6\x08\xfd\xd0\xc0\xeb\x4f\x1f\xff\xee\x1f\xf7\x67\xd2\xb0\x95\xca\xeb\xa2\xd6\x77\xd5\x95\xe6\x85\x79\x12\x77\xf7\xb6\x44\x3f\xc0\x2b\xc5\x6c\x0d\x8d\x31\xf9\x0e\x8b\xa6\x45\xf7\x79\x5d\xa2\xb7\xe2\x1d\x0e\x87\x70\xf9\xfc\xdb\x0c\x87\xd8\x0b\xef\x4b\x7c\xf6\x4e\x32\xb8\xaf\x40\x5c\xa7\xa1\x80\x7d\x73\xfc\x82\xed\xad\x94\x36\xac\x90\x17\xa2\xd8\x4c\xda\x4e\xc5\x98\x77\x3b\x47\xe5\xab\xcc\x59\xae\x04\x66\xe8\x77\x57\xf1\x1e\xa8\x98\x6d\x2b\x70\xfe\x43\x77\x35\xdf\x58\x89\x7c\xb4\xe4\x55\xcf\xdb\xab\xfd\x3b\x71\x93\x83\x62\x26\x73\x51\x1a\xdb\x78\xcf\x8e\x46\x26\x19\xf6\x0e\x6c\xeb\xf8\xe3\x48\xf9\xc1\xa8\xa6\x6a\x9a\xc1\x00\xe8\x07\x02\x57\x67\x7b\x7b\x7f\x69\x26\xfa\xce\x27\x6a\x3a\x29\xe7\x2a\x9e\x6f\xb7\x98\xd6\xe4\x31\x80\x26\xc4\x5d\xb5\x53\x01\x77\x68\x20\x56\x5c\x52\x0a\x95\x16\xd5\x03\xcd\xa0\x94\xf1\x3c\xaf\x30\xde\xf0\x1e\x9f\xea\xb4\xef\xaf\x9b\x07\x78\xc8\xd0\x1e\xa3\x4b\x55\xa6\xbf\x83\x52\x17\x00\x17\x1b\xde\x96\x72\xbd\x96\xe5\x62\xea\xe9\x93\x6a\xc5\x57\x4c\x10\xb2\xb5\xf0\x00\xf8\x70\x54\x09\xe0\x11\x5e\xe8\x23\x5e\xe5\xf1\xfa\x93\xb5\x12\xe0\x11\x68\xb3\x60\x99\xad\xb2\x95\xf9\x6d\x43\xd4\x63\xd6\xce\x36\x42\x18\xa6\x3e\xf8\xc0\x0b\x09\xfb\x7e\x0b\x43\x27\x6b\xc6\xb6\x36\x5f\x0f\x58\x79\x3f\xf0\x37\x40\xcc\xdc\xdf\x54\xd1\xf4\xf5\x2a\xcd\x51\xc9\x0c\xdf\x67\x9e\x95\x7c\x8d\x01\xea\xcf\x78\x79\x61\x57\xb4\x07\x20\x49\x97\xc7\x7e\xb2\x0d\xe3\x00\x75\x27\x91\x30\xb1\x45\x0f\x34\xb3\xcd\xec\xe9\xde\x43\x9e\x5a\x8b\x72\x5a\x57\x94\x9a\x06\xd1\x82\xef\xdf\xbd\xda\xd3\x0f\xb7\x35\x39\x92\x0f\xdb\x43\x35\xdb\x78\xd2\xfd\xf1\x42\x55\x2b\x8a\x28\xed\xe2\xe4\x81\x32\xb7\xa5\xbd\x27\x09\x43\x8a\xff\x67\xca\x50\x1b\x2a\xe3\xe5\x54\xf3\x4b\x31\xcd\x9a\x5d\x3c\x6c\x22\x75\x99\xe1\x4b\x96\x2d\x95\xc2\xfc\xa6\xb6\x01\xd6\x6a\x20\x06\xb6\xba\x5f\x7b\xa0\xbc\x54\x0e\xbf\xaf\xcf\x10\x58\x10\x59\xca\x30\xa5\x27\x20\xa2\x50\xb8\x56\x3e\x46\x47\x46\x49\x10\xf0\xe5\x1b\xd7\xca\x1f\xd2\x5d\xdf\xc0\x09\x10\xd0\xe9\x1f\xd2\xb8\xe4\x9f\xc5\x26\xa0\x4b\x60\x24\xae\xc0\xd0\x6c\xcb\xcd\x1e\x13\xf1\xfd\xbb\x57\x07\x87\xec\x8f\x67\x6f\xdf\xb8\x88\x39\x54\xca\x61\x69\x70\x44\x50\x6d\xae\x8a\x42\x5d\x81\x13\x2f\x90\xe0\xab\x7d\xe6\x6c\x25\xb6\xfb\xe9\x85\xd8\x7c\xc5\xce\xe0\x4d\x86\x1d\x9e\x9e\xb4\xcb\xec\x2d\x60\x1f\x5c\x61\xec\xdc\x37\xd3\x95\xa8\xb2\x25\x2f\x2d\x7f\x7d\xc5\x0e\xed\xcf\xec\x94\x6f\x98\xff\x99\x9d\x1c\xef\x5b\xb5\xaa\x52\x32\x87\xfa\xd0\x54\x86\x3d\x1c\xe2\xef\xf0\x01\xfe\xee\x5a\x6f\xd5\x9f\x2d\x32\x55\xa8\xaa\x5b\xd9\x52\x94\xcd\x78\x76\xb1\xa8\x20\x40\x1d\xaa\x74\xbf\x93\xe5\xa5\xa8\xb4\xf8\x8a\xb5\xf2\xab\xd6\x1a\xbd\x0d\x72\x5e\x5d\xd8\x3f\x56\x01\x5e\xaf\xdf\xf8\x3e\x50\x77\xea\x62\x6b\xbf\x62\xe7\x55\xdd\x00\xcc\x21\xb3\xbb\xe8\x5a\x7f\xbd\xf1\xb2\x62\xe2\x3e\xfd\x5e\xae\xa9\xcf\xfe\x8f\x93\xd3\x47\x6b\xa5\x11\x5b\x2e\x17\xc9\xcf\xad\xb4\x58\xaa\xc2\xaa\x6f\x56\x06\xf4\x9a\x6a\x4a\x41\x6d\x88\x5a\x49\x32\xab\xe3\x36\x42\x11\xec\xf1\x23\xb4\x7b\xe0\xef\x00\x6d\x8e\xf9\x6a\xdf\xbd\xd6\xc5\xca\x8a\x53\xcb\xa7\x2b\xa9\x35\xe9\x34\x7d\x12\x03\x2d\x06\xc9\x01\xf2\xc2\x6f\x8b\x96\xdc\x40\xa0\x0c\x8c\x9f\x84\x24\x7f\x2e\x80\x97\xd5\x6b\xc6\xe1\xae\xe1\xfb\xbd\xfe\xc4\xf6\x5c\x54\x71\x81\x02\x9b\x67\x88\x1e\x68\x75\xfa\xf2\x81\xf1\x2f\xae\x9d\x8f\x7e\xd8\xf1\x8e\x32\x19\x7b\xa1\xf4\xea\x37\xa9\x77\xf7\xc9\x7d\x72\x1c\xcb\x47\xc0\x88\x1a\x96\xc1\x03\x52\x06\x11\xa6\xe0\xd4\x69\x37\x41\x77\x22\x9d\xe2\xd3\x3b\xce\xa1\x89\x36\x32\xaa\x0a\xca\xbb\xeb\x6c\x9c\x01\xb4\x7d\x32\x91\x6e\xb1\x3b\x22\xe0\xf5\xcf\xc3\x77\x22\x13\x72\x6d\x06\x4e\x4c\x5f\x83\x44\xc0\xb3\x05\xb7\x3a\x2f\x1b\xfa\x4e\x13\x4a\xc0\x69\xc4\xd8\xb4\xc2\x8f\xfc\x9b\x11\x4f\xb3\xe7\xcb\x4a\x88\xfd\x42\x18\xbb\x07\x4e\xce\xde\xb2\xdf\x3d\x7d\xf2\x1f\x99\xaf\x0f\x71\x78\x39\x19\x88\x19\xb3\xe9\x4c\x19\xfd\xc8\x53\xe8\x8b\xf0\xe4\xbc\xef\x1a\x93\x0e\x4f\x61\xd8\x66\xde\x02\x32\xb9\xe7\x07\x3b\xc5\xda\x27\x14\xe8\xe3\xce\x3a\xc0\xf0\x1e\x6f\xf6\x76\x52\x95\x26\xf6\x9c\x28\x10\x22\x4b\x77\x75\xe9\x58\xdb\x54\x86\x17\x53\xbe\x1a\xc2\x46\xc1\x52\x7f\xc8\xe9\x15\x2f\x0a\xa1\x0d\xab\x4b\x69\x74\xb0\x1d\x3b\x0e\x62\x7b\xb2\x34\x62\x61\x55\x11\x08\xcc\x2e\x14\x37\x8f\x72\x55\xcf\x0a\xf1\xf0\x80\xbd\x68\x03\xad\x02\xc4\x0a\x5b\x57\x12\xb3\xda\xbd\x3f\xfb\x07\xf6\xe4\xe0\x77\x5f\x82\x4c\xf5\x7d\xfe\x13\x7b\xf2\xbb\x2f\x0f\xd8\x99\xc0\x23\x57\x7c\x5c\x77\x71\x6b\x1b\x5e\x3b\xf8\x56\xab\xf2\xfa\xd3\xc4\x2a\x3a\x7a\xa9\xae\xd0\x2f\xa4\x9d\x8b\x6b\x61\x87\xbb\xe6\xda\x38\xdb\x53\x26\x57\xbc\x60\x6b\x25\x51\xa4\xb8\x9c\x6f\x61\x1e\x4f\x43\x64\xd2\x8a\x7f\xab\x2a\x97\x4f\xbc\xe9\xf0\xe1\xc8\x48\xef\xce\x36\x79\xd4\x1b\xf0\x4d\x80\x3b\x63\xa1\xa4\xeb\x62\x58\x6a\x69\x0c\xd3\x4a\x68\xfa\x08\xa7\xd2\x95\x5d\x1e\x58\x94\xbe\xd9\x44\x1a\xe8\x88\x61\x7e\x10\x55\xc0\x7a\x78\x23\x44\x2e\x88\x4b\xff\x50\xe5\xe4\xf0\xaf\xb8\xb7\xb4\x79\xec\xa7\x09\xe3\x79\x90\x0a\x97\xad\xa6\x98\xd4\xa0\x18\xf5\xb1\xaf\x92\xef\x6d\xc0\xa3\x4d\x5b\x84\x62\xd1\x69\x7f\x88\x0c\x70\x44\xa6\x4c\x03\x4d\x61\xc2\xc4\x31\x7c\x7c\xde\x5f\xa3\xc0\x92\xeb\xe9\x08\x0d\x24\xba\x05\x2e\xb9\x43\x2c\x43\x05\x84\x20\xfc\x67\xd6\x41\x60\xed\x84\xa8\xe0\x59\xa9\xcb\xab\xad\x5f\x47\x25\xab\x9b\x61\x65\x80\x33\x1e\x03\xd3\xd7\x49\xcc\x61\x3f\xf2\x2d\xc4\x27\x87\x48\x9d\x1a\x82\x3a\x31\xfc\x9c\x88\x18\xe8\xd6\xaf\x29\x00\x9c\x56\xd0\x32\x19\xf1\x4c\x0e\xc4\x83\xe7\x0c\x8d\xc5\xc4\x03\x21\xa4\xd5\x4b\x02\xa8\x26\x5b\x72\x5a\xc5\x82\xca\x5b\xcc\xd0\x42\x54\x10\x3b\x12\x2d\xae\xff\x35\x96\x38\x02\xb2\x83\xab\x02\x2b\x00\x86\xd1\x6c\xd3\x5b\x52\xa9\x0d\x2f\xa9\xe3\xff\xd8\x95\x34\x20\x08\xb0\xb6\x80\xb4\x4d\x64\xa7\x9d\xfc\x46\x7c\x5c\x4b\x32\xa5\x0d\x18\x08\xed\x81\xb4\x16\x95\x54\x79\x1f\x07\x89\x64\x13\x9a\x47\x12\x74\x01\x5c\x9e\xcd\x99\xc7\x38\xea\x92\xa7\x57\x38\x08\xea\x13\x70\x92\x0e\xee\xb1\x8c\x5a\xd5\x46\x4c\xeb\xd2\x50\x6f\x04\xaf\x6b\x03\x91\xb8\x1d\xf4\x27\xcd\xa0\x36\x3e\x70\x93\x21\x7d\x56\x03\x99\x3a\xd7\x0a\x62\x9e\xc7\x0e\x29\x1e\xfd\x8f\xca\x6e\xe3\x71\x63\xb2\x10\x94\x76\x06\x63\xb3\x2b\x12\x3b\xbc\x6a\x00\x02\x26\x3c\x7d\x72\xa9\x10\x54\x14\x6e\xfc\xf6\x78\x1b\xea\xdb\xf3\xc3\x99\x28\xe6\xf4\x5e\x69\x97\xc4\x82\xc3\x31\x65\x2c\xf8\x92\xac\xfd\xdc\x16\x6c\xf0\x66\x80\xfb\x0c\x8e\x6d\x0f\x94\x96\xb5\x5b\x4c\x8d\x95\xe4\xda\x34\xbf\xc2\xae\x6e\xf0\xbc\x3a\x3e\x2b\x79\x3e\x05\x83\x17\x85\x9a\xeb\xcf\xac\x2b\x01\x96\x07\x9e\xe7\xcd\xf1\xc5\x35\xf3\xdf\x45\xde\x2b\xb5\x51\x01\x81\x73\xe0\x20\x94\x1a\xe5\x83\x3d\x08\xec\x37\xf6\x50\x41\x3f\x04\xff\x75\x17\xd6\x6d\x5d\xc9\x4b\x9e\x6d\xc2\x4c\xc6\xee\x95\x36\x8e\xca\x02\x52\x34\x9c\x62\x4b\x67\x6d\x88\x33\x38\x81\x46\xd3\x02\x83\xb7\xc3\x63\xdc\xbd\xbe\xd9\x2d\x84\x9a\x8e\x10\xda\x41\x4c\xb3\x99\x30\x57\x42\x94\xac\xc6\xcc\x08\x61\xa5\x62\x73\x19\x1a\xff\x80\x64\x7a\x2a\x3e\x66\x22\xe1\x47\xe7\xa9\xc7\xf1\x85\x98\x17\x2c\x54\x46\xae\x77\x6d\xb4\xd4\xd7\xc8\x3b\x47\xd8\xdb\xf7\x94\x8c\x90\xec\x2d\x0e\x56\x65\xdc\xee\xb0\x05\x9e\x93\x9a\xc9\xaa\x12\x85\xb8\xe4\xee\x2e\x04\x93\xf2\xdb\x2f\xd5\x99\x5e\x73\xc2\x0f\xa7\xd7\x9b\x36\xb2\x28\x7c\x9f\x61\x7f\x00\x22\xaf\xfd\x3c\x16\x9c\xbc\x12\xa3\xf9\x0c\x6a\x87\x56\x1f\xa4\x36\x9d\x17\x0d\xf6\x46\xd5\x13\x0b\xef\x35\x15\x93\x02\xb9\xd4\xd6\xbc\x32\x65\x5f\x70\xd9\x7e\x48\x8d\xc3\x36\xb4\x45\xe1\x58\xaa\x52\x1c\xc0\x7f\x8f\x78\xd7\xa3\xae\x57\x42\x84\x1b\x7e\x50\x27\xa7\xee\xa5\xd6\x0a\x81\x1e\x5e\x9f\xfd\x7d\x9a\xb9\x46\xfb\x06\x1f\x11\x7d\x3c\xd2\x6e\xd6\xfb\x0c\x08\x22\x33\xb9\xe6\x89\xe0\xe5\xd4\xcc\xe8\x39\x9d\x26\x26\xc3\xe1\x16\x37\xa5\xd1\x75\x0f\xa1\x90\x41\x61\x24\x58\xf3\x95\x2c\xd3\x6b\xd3\x20\x05\x00\x2a\x93\xaa\xc2\x3f\x29\x92\x64\xaa\x2c\x11\x43\x6b\x20\x5e\x5a\x94\x39\x98\x0f\x74\xef\xf5\x0a\xbf\x05\xbf\x33\x65\xb7\x32\x24\xc6\x44\x1a\x92\xfa\xd9\xb0\x89\xac\x0d\x22\x95\x1c\xef\xfd\x12\xa9\x53\x3e\x55\xd5\x74\x46\x19\x30\xbd\xf1\xc6\x4a\x80\x0b\xb1\x09\xe4\xd9\x05\x0a\x59\x94\xf9\xbe\x51\xfb\xa2\xcc\x1f\x81\x45\x6d\xdf\x92\x24\xfd\x08\x6d\xf9\x8f\x32\x9f\x5d\x88\xcd\x74\x2e\xcb\x85\xa8\xd6\x95\xa4\x14\xac\x6f\xc4\x86\xb5\x2a\xdc\xd1\x10\xd7\x4f\xd7\x53\x8f\xed\x92\x14\x70\xa7\x4f\x4f\x59\xc3\x83\xde\x85\x51\x41\x19\x5e\x1b\x74\x12\x20\xa6\xb5\x4f\xc7\x6c\x07\xd7\x68\xf3\x51\x48\xe2\x48\x31\x1a\xf0\x41\xa6\x08\x49\x03\x64\xf6\xc5\xa8\xb2\x21\xf8\xdb\x9a\x6b\x8d\x6e\x98\x85\x9c\x99\xc5\xa5\x22\x40\x63\xb5\xe1\x95\x49\xf8\x57\x77\x13\x55\xda\x5e\x78\x66\x6a\x50\x85\xe0\x33\x82\x04\x97\x3e\xbc\x69\x40\xbb\xb2\x14\x74\x51\x39\xc4\x4c\x3b\x12\xcd\x8a\x9d\x75\x4f\xf9\x8d\xca\x28\x38\x14\xee\x0a\x93\xa2\x7b\xac\xb4\x03\xff\xf2\xb4\x04\x4f\xcb\xbe\x96\xd8\xb3\x94\x73\xb2\x6f\xa4\x08\xa2\x28\x1f\x66\x7b\xaf\x05\x10\x21\x7b\x9e\xb5\x4c\xc7\xa0\x7f\x88\xac\xae\x04\x7b\xfe\xf4\x79\xfb\x90\xfb\x89\x64\x12\x2e\x0b\xc5\x1e\xbb\xee\xe6\xfe\x46\x86\x63\xe8\x66\x3b\xf8\xd4\x6f\x5e\xf7\xca\x0d\x30\xf6\xe9\x91\xdd\xf1\x26\x3b\x96\x3a\xe3\x55\xfe\x4e\x70\xad\xca\x67\xb5\xde\x50\xbb\x2d\xae\x44\x26\x08\x68\x2d\xa8\x65\xdf\x1c\xbe\x12\x39\x9b\x89\x8c\xfb\xf7\x7b\x24\x94\x66\xb3\x5a\x6f\x10\xf3\x04\x09\x88\x9b\x34\x39\x32\xfb\x0f\x14\xcc\x5b\xc7\xd7\xaa\x3a\x76\x94\x58\x5d\xe4\x03\x03\xf8\x9a\x97\x8b\x7a\xbd\xb5\x73\x57\x6d\x4c\xc7\xa2\xcc\x45\xce\x4a\x55\xad\xb8\xcf\x9b\x40\xb7\xf9\x5a\x5a\x49\xbe\xb5\x6b\x57\x6d\x4c\xd7\x2b\xac\x4a\x75\x39\xd8\x11\x6d\x7b\xf5\x7e\x01\xdc\xad\x78\x3e\x20\x79\xf3\xda\xbd\x3b\xc6\x8a\x97\x2b\x09\xf8\x12\xcd\x90\x65\x69\xc5\x86\x2a\xf3\x7b\xee\x28\xba\x8b\x1a\x04\xd7\xd4\x5c\xcc\xea\x01\x7c\xba\x16\x04\x72\x25\xbe\xab\xa5\xdd\x4b\x2d\xef\x67\x00\xbf\x2d\xf3\xeb\x4f\x2e\x97\xa7\x3b\xe5\x9d\xca\x6b\x9b\xee\x29\xbe\x23\xa0\x91\xf1\x52\xa4\xf9\x25\x2e\x3b\x8c\xef\xcf\x7e\xb8\x08\xe2\xb7\xfb\x78\x61\xcf\x1b\xc5\x2a\x6e\x84\x1b\x6d\x57\x2c\x8d\x1f\x98\x30\x76\x5c\xef\x70\x20\x10\xd4\x0e\xbc\x4f\x8d\x69\xd3\x58\xf3\x1b\x56\xca\x5b\x8c\xbc\xa3\x5c\x6d\xed\x9f\xb1\xc2\xf5\xf9\x6a\x6d\x48\x81\x8a\x05\xd1\x5e\x82\x9f\x3b\xa0\xbc\x23\x1c\x6b\x29\xfe\xea\x8c\xe2\xb4\x75\xf4\xf4\x07\x12\xca\x08\x84\x95\xb6\x4e\x69\x0f\xa5\x46\x8f\xbc\xbf\x56\xe5\x42\xce\x2a\x5e\x6d\xa6\x97\xa2\xd2\xf4\x35\x12\xb4\x2b\x44\x14\x47\x9e\x72\x89\x2f\x2c\x35\xae\x3f\x81\x71\x09\x7f\x47\x35\x01\x7e\xfe\x61\xe2\xa2\x08\x10\x21\xdf\x75\xc2\x7c\x27\xac\x89\xfc\xf7\xde\xa6\xb0\x43\x0f\xd8\x79\xb3\x23\x00\xf9\x7c\x25\xaa\x85\x70\xa9\x3d\xd1\xd9\x72\x29\xd8\x4c\x40\x74\x43\xa7\xcd\x6e\x93\x33\x65\x96\x98\x97\x73\xc2\x2a\x61\xea\x0a\x7c\x06\xc1\xaf\x2a\x34\x70\xc9\x8b\x3a\xf8\xc4\xb9\x3c\xaa\x2d\x1d\x54\x08\xef\x74\xde\x9e\xd8\xbf\x22\x2e\x7b\xd9\x6c\x93\xb6\x72\xfd\xe3\x5f\xff\xcd\x67\xcb\xac\x44\x26\xc0\xfa\x19\xdc\x69\x8b\x42\x54\xbb\xc1\xae\x47\xe4\x1e\xf4\xc7\xea\x7c\xd4\x0c\xf9\xce\xbf\xe9\x20\x5a\x47\xd7\x0b\x78\xa9\xe0\x1f\xa7\x05\xdf\x50\xaf\x39\xaf\xf9\x47\xb9\xaa\x57\x0c\x8a\x61\x93\x54\x62\xa5\x8c\x18\xb8\x73\xd9\x2b\x43\xaa\x35\x59\xee\xda\x5a\x9d\xaf\xa7\xeb\xa7\x43\x20\x08\x0a\x6f\xac\xc3\x77\xdb\x46\xdb\x25\x7b\xa8\xc4\xbc\x10\x20\x8f\xb6\xf7\x33\xa2\x0f\x2b\x95\x2b\x55\x2f\x96\x8e\x57\x5d\xe3\x6e\xa7\x0c\x5a\xb9\x82\x13\x3f\x25\xcc\x9a\x42\xc2\x55\xcc\x15\xdd\xfa\x4e\x78\xb3\x5b\x60\xd7\xf8\x35\xa0\xde\x8f\x79\x9c\x6e\x8e\x33\x68\xf7\xfe\xdf\x0b\x79\x82\xac\x7f\x13\xc3\x54\x63\x02\xa5\xf4\xb2\x5d\x2f\x7e\x6d\x0b\xce\xf6\xd5\xfd\x4c\x76\x9c\x3b\xbe\x13\xfe\x89\x4b\xaf\xe8\xf5\xb7\x98\x2f\xa2\x33\xe1\x87\x43\xf5\xa7\xd9\x5f\x87\xb6\x84\x5a\xc4\xb4\x69\xf7\x7e\xef\x94\x5d\x2e\x10\xdb\x18\xf5\xb4\xc5\x98\xd4\xe7\x69\x7b\x44\xeb\xed\xa1\xcd\x8f\xc4\x83\x14\xe8\x04\x63\xec\x87\x2d\x91\xe5\x35\x89\xb1\x4c\xec\x63\xe7\x47\x31\x6f\x38\x7b\x22\xde\x6d\x4a\x62\xd6\xf5\xef\x47\x1a\x33\x7c\xe2\xf3\x42\x13\x7c\xe1\x02\xa0\xed\x16\x6c\x3f\x32\x44\xb6\x1f\x9e\xe4\x7d\x6a\x7d\x9e\xfb\x7e\x88\xc5\x91\xc4\x81\x7e\x72\xea\x83\xfc\xda\x8f\x20\xc4\xa7\x97\xbf\xa7\x3e\xbe\xfc\xfd\xa8\xcf\xc1\xb7\xc9\x70\xe2\x92\xf7\xb6\x76\x36\x70\x5b\x1a\x7d\xa6\xa8\x9c\x41\xa7\xaa\x22\xa6\x47\xac\xd6\x9f\xc4\xac\x32\x59\x7a\xcd\x5c\x79\xb4\x72\x7f\x12\xb3\x77\xe7\x47\x6d\x95\xa3\x9b\xe4\xf8\x9e\x5e\x52\xee\x96\x1d\x6e\xc0\x02\xc9\xf0\x0f\x4a\x8c\xb8\x92\xf1\x4b\x4e\x3c\x33\xd4\x83\x59\x0e\xfc\xe9\x74\x76\xfe\xfe\x4d\x9a\x35\xed\xb5\x67\x4c\x2b\xe7\xef\xdf\x0d\xb4\x62\x37\x6b\x3a\xa0\x97\xf0\xeb\xff\x8b\x47\xb2\xe9\xb2\x27\x85\x4f\x7b\x1a\xa3\xd3\xde\xf8\xd4\x1b\x7e\x9d\xac\xd7\x85\xe2\xf1\x9a\xe4\x19\x79\x14\x1c\x1f\xb1\x93\xe3\xb6\x79\x39\x57\x57\x25\xd9\xc0\x5c\x16\xc2\x6a\xfb\x98\x78\x25\x6e\x09\x9c\x98\x42\xf9\x2e\x4a\x5a\xaf\xe5\x7b\x97\x4f\x13\x5c\x66\x93\x09\x5d\x3b\x69\xbc\x00\xef\x76\xc9\x35\x5b\x71\x7d\xd1\x24\x5d\xe5\x3e\x79\xb5\x51\x4c\x12\x82\x79\x64\xa0\xae\xfc\x9e\xf2\xd0\x3a\x0c\x69\xd5\xa0\xc2\xf0\x2a\x22\x9e\x5d\xa2\xa5\x17\x90\x2d\x49\xae\xc0\x97\x72\x5d\x29\xbb\x30\xfa\xfa\x13\xe2\x2a\xbc\x3e\x7d\xfe\xf2\x77\x78\xd0\xea\xdd\xd6\x56\x7f\xe1\x1b\xdd\x77\x8d\xee\xaf\x65\x66\xea\x0a\x02\x52\xc2\x26\x3a\x02\x12\x9d\xc9\xef\x45\x7f\x3b\xb5\x4a\xa2\x8d\xd5\x82\xbc\x82\x07\x9c\x92\xc9\x15\x77\x86\x14\x69\xb4\x87\x44\xeb\xb9\x3b\xce\x36\xa4\x2f\xfd\x33\x59\xf2\x6a\x03\xa6\xd1\x09\x7a\xe5\x65\x09\xec\x1b\x62\xcb\x9e\xac\x10\xf6\x1e\x60\x90\xfa\xf5\x83\xeb\x4e\x4c\x74\xdb\x4d\xd2\xb3\xc7\x6c\xd6\x54\x0c\xfc\xb2\x5e\xcd\x4a\x2e\x0b\x06\xe5\xfd\x8f\x08\xfc\x73\x1c\x1c\x95\xae\x23\xd0\x9f\xb0\x48\xfa\x1f\xb7\x5b\x23\x27\xac\x54\xe5\xbe\xf8\x28\xb5\x01\x77\xc0\x58\xdc\xa5\x81\xac\xb7\x39\xe9\x18\x75\xca\xcd\x92\x62\x8c\xf0\x7b\x2a\x6f\xbb\x76\xc9\xeb\x3d\x53\x87\x1d\x69\x95\x37\x17\x36\x98\xa9\xd5\xda\x9e\x7c\xb6\xf8\x72\xe1\x11\xa3\xd9\x6f\x1f\x3f\x66\xc0\x26\x0f\xc1\x9a\xbe\x54\x57\xa8\xd7\xd5\xa6\x90\x4d\xfc\xa4\x6b\xd0\x63\xc9\x43\x5a\x35\x1f\xb4\x8b\x8f\xe2\xac\x50\xc6\x48\xe1\xc6\x20\x55\x39\x8e\x15\x8f\x9a\x51\x9d\x7d\x78\xc9\xd6\xdc\x2c\xd9\x9a\x6f\xec\xa6\x46\x01\xb8\xc4\x44\xce\x15\xcb\x85\x9f\x01\x7a\x66\xe2\x92\x48\x55\x8e\x16\x87\xcd\x46\xbd\x04\x6b\xcb\xbe\xf1\xfc\x85\x02\x90\x66\x42\x97\x3e\xe8\xdb\xd4\xa2\x51\x0b\x46\x2f\x16\x32\x67\xeb\xc7\x1e\x89\x7e\xaa\xcd\xa6\xdd\x88\x89\x6f\x34\x0e\xfc\x6f\xb6\x39\x2d\xe1\xc8\x0d\xda\x14\x6c\xdf\xa4\x07\xcc\xf7\x04\x59\x9f\xa5\xbd\x3e\xf9\xb1\x4a\xcd\xea\xb2\x95\xbb\xb9\x0b\xa3\x39\x62\xa2\x00\x14\x74\xc0\xc2\xa0\x46\xa3\x04\xf5\xac\xac\x8e\x49\xfe\xdc\x9d\x3b\x20\xb1\x5b\x16\xbf\x24\x79\xaa\x5d\x4c\x3d\x57\xf8\xc2\x62\xc3\x44\x99\x29\xf7\x0c\x69\x14\x2c\xeb\x36\x5e\x43\x29\xf5\x19\x78\x8d\x82\xda\x80\x23\x1c\x10\x10\xc3\xa0\xd9\x1f\x4f\x9f\xbf\xc4\xe3\x68\x5d\x89\xb9\xfc\x28\xf4\x84\x5d\x2d\x65\xb6\xec\xdf\x41\xd7\x95\x28\xe4\xca\x1e\x62\xb2\xd8\x34\x32\x0b\x4e\xc4\x38\x10\x99\x5e\xd5\x53\x4f\x97\xd1\xec\x8b\xf4\x19\x66\x5f\x53\xc9\xf5\x9a\x3e\xdd\x3b\x65\x84\xa7\x65\xa1\xae\xf6\x2b\xa1\x55\x51\xc3\x21\xdf\x12\xd7\x7f\x3c\x7d\xe9\x65\xe2\x28\x99\xda\x30\x2c\x9e\xf0\x1d\x31\x0a\x89\xcc\xc1\xb8\xa6\xca\x9e\x4c\xbd\xfe\x5f\xbb\x4b\x52\xed\x66\x35\x4e\x96\x0e\xca\x8c\x40\x45\x7d\x40\xde\x36\xfc\xcf\xf4\xa5\xc3\x9d\x80\xf5\x47\x59\x48\xaf\xdc\xf4\xd3\x4b\xfb\x56\x89\x75\x1d\xeb\x9b\x9a\x0c\x8e\x6c\x8d\x50\x27\x46\x4e\xc4\x00\xbc\xa8\xe1\x31\x0d\xdd\x3a\xb1\xd2\xd8\x89\x0c\xf8\x87\x86\xde\x46\x4d\xc9\x7f\xb5\xb2\xea\x89\x2a\x1d\xfc\xcf\xd6\x49\x9e\x15\x2e\xd8\x98\x9a\x29\x16\xd2\x26\xd2\x75\x21\xe0\x41\x67\xc7\x49\x67\x43\xa1\xc2\x4d\xbc\x6d\x62\xee\x7f\x33\x92\xa9\xae\x5f\xb2\x22\x5d\x92\x55\x64\x2a\x2e\xf5\x15\xd9\x33\xb8\xb2\x28\x8d\x98\xfb\xae\xd6\x84\x5d\x2a\x23\xfa\x39\xa2\xb5\x28\xf3\x0f\xca\x88\x1b\xa7\x86\xf6\x0d\x60\x82\xdb\x42\xe9\x94\x9d\xf3\x14\xac\x36\xb2\x64\x46\xae\x04\xdb\x7b\x5f\xca\x8f\xf0\xa7\x36\x7c\xb5\x7e\x88\xe9\x50\xe0\xda\xa8\x20\x95\x5e\x51\x40\x96\xc1\x4e\x68\x09\x34\x9f\x1f\xb0\xd7\x0e\x0a\x84\x1b\x56\x08\xae\x0d\xfb\x12\x6e\x38\xa5\x42\xb9\x65\x96\xbc\x64\xbf\x7f\xfc\xd8\x3b\xc3\xf8\x77\xdb\x79\x6d\xaf\x59\x7f\xb0\xe7\xc4\x03\xd3\x3a\x29\x16\xce\x6b\xdf\x32\x17\xce\x00\x23\xd7\xe2\x43\xa2\x5d\x4a\xe8\x80\x18\x15\x6e\x95\x61\x89\xb0\x2b\x7e\x00\xf1\xbc\x32\x63\xcf\x32\x04\xfb\xf0\x2e\xd4\x13\xf6\xe5\xfe\xef\x1f\x3f\x3e\x60\x47\x5b\x07\x68\x49\x9c\x18\xde\x60\xd8\x8e\x1b\x86\xd4\x8e\x96\x01\x0d\xd0\x76\x88\x0f\xc1\x8c\x97\x1b\xa4\xa3\x67\xaf\x9f\xdd\x53\x40\xf3\xf6\xe4\x76\x52\xef\x65\xb9\x2e\x8c\x5c\x17\x62\x9a\x2d\x69\x28\x04\x4f\x2f\x5f\xd1\x43\x7d\x79\x0d\x23\x5b\x2a\x2d\x4a\xc6\xb5\x23\x51\x2c\x47\x10\x00\xc8\x6e\xb8\x21\x2b\x49\x66\x79\xd7\x56\xd2\x8c\x57\xc2\xc1\x03\x15\x9b\x90\x2d\x03\xdf\x8a\x51\x6a\xb0\x3d\x7b\xa7\xe4\xa5\x2a\x37\x2b\x55\x6b\x98\x59\x0c\xcf\x05\x8f\xb7\xa4\x02\x66\x45\x82\x2f\x1d\xa4\xce\x77\xb5\xfc\x7e\x8c\xf9\xd0\xd6\x63\x7b\xc0\x93\x57\x95\x2a\x17\xe8\xad\xa1\xaa\x4a\x64\xa6\x91\x39\xe8\x60\x01\xa0\xbb\x57\x65\xe3\x75\x61\xea\xaa\x84\xd3\xbd\x3f\x05\x2f\x0d\x0f\x91\xb0\x5d\x99\x78\xe8\xa9\x1d\xa9\x45\x3d\x61\x07\xc6\x0f\x9c\x5e\x0f\x13\x2d\x4d\x1c\xb0\x88\xe3\x63\xc6\x92\xeb\xe8\x51\xf1\x33\x49\xcc\x34\x00\xbb\xbd\x2d\x57\xc2\xaa\x5d\xa2\x34\x1d\x8f\x3f\x92\xe9\xba\x84\xfb\x10\x38\x2f\x22\x9f\x2b\x22\x89\x58\x14\xae\xf1\x09\xac\xa6\x55\x99\x91\xf9\x2c\x93\xe6\x56\x17\x94\xa6\x1f\xe3\x6c\xb7\x42\x9a\x5f\xae\x5c\x0a\x18\xb7\x65\xf0\x85\x8a\xde\x34\x8e\x77\x68\x4b\x9c\xe5\x36\xd4\xf4\x1b\x51\x86\xab\xd9\xef\xc2\xca\x36\xd7\xd2\xbd\x16\x5c\xf7\x8f\x17\x53\xe2\xea\x6b\x0f\x9f\xdd\xe6\x85\x10\x87\x47\x42\xb7\x78\x6e\x44\x70\x8f\x3e\x23\xfa\x5f\x09\xef\x13\x94\x16\x56\xd5\x8a\x36\xef\xbd\x5a\xbd\x95\x24\x96\xee\x4c\xae\x64\xc1\xc1\xc7\x67\x05\xb8\xd0\x08\x4f\xa7\x27\x78\x90\x83\xc3\xba\xdd\x63\xad\x4b\xbe\x43\x09\xf3\x81\x82\xda\xc7\x3d\x37\x72\x5f\xc3\x13\xea\x86\xe5\x2a\xa0\x7b\x39\xc6\x77\x0c\xef\x3d\xcd\x5c\xf0\x31\xbc\xb2\xee\x6d\x54\x0d\xa7\x55\xad\x45\xc3\x2e\x0b\x61\x4e\x1b\xf2\x5f\xff\x60\x07\xba\x10\xc6\x29\x47\x45\x81\xa3\x73\x22\x7b\x2c\x82\x8c\xbd\xe5\x59\x6a\x8c\xf0\x37\x4b\x0c\xc4\xf9\xa7\x66\xa2\x34\xc9\x23\xf3\xe4\x38\x80\xf9\x14\xf6\xd4\x44\xda\x00\xed\xf0\x4b\x7b\x6c\x02\x63\xca\x32\x7d\xb6\x55\x0d\x3b\xf6\x95\xd3\x66\xe2\xb1\x75\xc2\xdd\xb6\x89\xc7\xc8\x8f\xeb\x82\x97\x41\x38\xc3\x91\x18\x6a\xa7\x9a\x99\xda\xeb\x80\x91\xd4\x9d\xdc\x19\x6a\x99\xaf\x81\x91\x20\x66\x53\xb8\xcc\x7a\x76\x72\x9d\x4e\x76\x73\xff\x71\xdd\xfe\x39\x20\x2b\xa5\xa8\x1d\x5d\x97\x84\xb2\x6a\x10\x90\x7b\x1b\x95\x71\xeb\xaf\xeb\x82\x57\x47\x4d\xa0\x6c\xd8\xfd\x9d\x02\xe2\x8e\x03\xe5\x21\x52\xb6\x7b\xd6\x80\xb3\x28\x0d\xe4\x81\xf5\x87\xa0\xa2\xe5\x0a\xfc\x44\x07\x05\x9c\x9b\xa7\xab\xea\x73\x04\xa4\xa3\x76\x95\x36\x87\x0d\xf2\x70\x98\x63\xf3\x6b\x8c\x97\xd3\x07\x22\xee\xce\x50\x1a\x02\x15\xed\x48\x1a\x22\x21\x15\x62\x33\x4e\xa5\x56\x04\xb0\xf9\xc9\xd9\x5b\xf6\xdb\x27\xbf\xff\xfd\xfe\x13\xc6\x8b\xf5\x92\xef\x3f\x0d\x60\x8e\x5d\x08\xb5\xf0\x48\xad\xcd\x14\x4a\x08\xe7\x21\xf4\x86\x58\x63\x2a\x6a\xe2\x63\x6d\xc8\x0b\xdf\x99\xfd\x19\x31\x3f\xd7\xeb\x42\x66\xf0\x2a\xb7\x87\x09\xef\xc1\x21\xe4\x4a\xea\x48\xff\x83\x64\x6a\x42\x98\x69\x21\x4b\x41\x00\xc8\xbf\x90\x15\x38\x01\x97\x22\x00\x60\xa5\xde\xea\x5b\x0d\x11\x14\x3a\x83\xab\xd9\x98\x96\x60\xa5\x11\x74\xe0\x1b\xb1\x39\xcc\x73\x91\x3f\xdb\x9c\x7a\xd0\x6a\xbf\xe8\x74\x85\xd8\x13\xc3\xe9\x2f\x8e\xd3\x3c\x34\x83\x15\xd7\xe8\x2b\x23\x03\xf3\xa3\xf1\x63\xb6\xb1\x85\x55\x17\x07\xfb\xcf\x9d\x21\x1d\x2d\xb9\x39\x29\x2f\xa5\xa1\x07\xd4\x2a\x4e\x0e\xa7\x13\x21\x3c\xb3\x77\x57\x5b\x1f\x5d\x79\x96\xdc\x89\xe8\xa6\xc9\x17\xaa\xba\xe2\x55\xae\xc9\xfe\x42\x61\xb2\x37\x7f\x0e\x58\xc2\x5f\x61\x1c\x4c\x40\x9d\x81\x51\x84\x6b\xb2\xbf\xee\x14\x9b\xa6\xee\xf5\x27\x32\xc5\x42\x17\xd6\xac\x50\x8b\x47\x75\x69\xd5\x9b\x7d\x37\xb2\x7d\xb1\x52\xdf\xca\x2f\x42\x93\xfb\xae\x41\x1f\x20\xd1\x4c\xe0\x94\x0a\x15\x27\x4a\xb7\x53\x13\x6f\xd4\xba\xe5\xef\xd4\xa7\x24\xb4\x86\xb9\x9b\xd2\xbd\xbd\xf1\xe8\xe7\x5b\xfb\x2b\x0a\x75\xa5\x59\xad\x31\xe6\x45\x30\x40\x7f\x48\x73\x0e\xb4\x7e\xfa\xf4\x34\xdd\xb5\x2d\x4c\xf6\xdb\x75\x95\x06\x3b\x4b\x6b\xa6\xa0\xd4\xf8\x28\xe0\x5e\xbf\xf8\xf2\x1d\xe5\x35\xa6\x2b\x0c\xce\xdb\x3d\xa2\x33\xf7\x88\xee\x95\x04\x1f\x3e\xe7\xae\xd2\xbd\xfe\xad\x68\xaa\xf5\xb9\xb7\x3e\x91\x43\xe8\xd7\x49\x8e\xc2\xa3\x3d\x38\x14\x40\x50\x4f\x54\x09\x82\x25\xd8\xb7\xda\xfd\x7f\xe0\x45\x2d\x0e\x2d\x5d\x0e\x29\x16\xeb\x16\xc7\xd7\x34\x70\x1e\x0f\xea\x21\xdd\xb0\xdd\xf2\xa7\x6d\x3c\x84\x81\x5e\xa2\xba\x03\x5d\x76\x7c\xd3\xd5\x9c\x65\xa2\x02\xb8\x65\x27\x23\xfa\xe0\x57\x94\x7f\x06\xf2\x83\xfb\x22\x29\x68\x5b\xc3\x73\xe8\x22\x83\x53\xf0\x75\x06\x86\xee\x51\x4a\x68\x82\xbd\xd7\xbd\xeb\x32\x5d\x21\xd1\x3e\x04\x98\x78\x5a\xb8\x65\xe9\xc3\x72\x0c\xd0\x22\x69\x15\x6e\x0d\xe2\x58\x6a\x3e\xcc\x32\xed\x1a\xb1\x63\x88\x2b\x1c\x60\x1c\x5f\x65\x24\xef\x24\xab\xa7\xfb\x06\x32\xdd\x9e\x85\x7c\x7b\x23\xb9\x28\x0c\x74\x98\x91\xa2\x6a\x5b\xe6\x91\xe4\x27\x5f\x6d\x88\xa5\xba\x75\xb6\xf5\xb4\x33\x63\xb5\x28\x94\xe2\x2d\xef\x5d\x8c\x70\x69\xee\xde\xd1\x1a\x2d\x5d\x9e\xf2\x2c\x61\x27\xc7\x88\x98\x8a\x0f\xb1\xa7\xef\xcf\xbe\xde\xef\x42\x92\x5d\x89\x0a\xc4\x64\x26\x8a\x42\xe4\xe3\xf0\xd6\xde\x09\x08\x74\xc1\x8b\x33\x1a\xef\xed\x7c\x46\x79\x8c\xdd\x64\x60\x64\x1e\x76\xbc\x5d\xbe\x16\xef\xab\xa2\x07\x06\xd8\x2f\x21\x61\x97\x4b\xc3\xcc\xc1\x4a\x58\x3d\xf3\x02\xec\xb9\xc0\xb3\x23\x71\x02\x01\xe8\x67\x6c\x66\x7b\xe8\x26\xc6\x9d\x26\xe6\x10\xe9\x8a\x74\xf9\xe0\x7c\x50\x41\x1c\x31\xad\xd0\x17\x31\x35\x28\xdc\x01\x62\x7b\xdc\x14\xcf\xd0\x0b\xe9\x4c\x24\x16\xab\x55\x3e\x38\x45\xef\x1e\x25\x0c\xf8\x11\xf1\xa2\xc0\x8b\xbe\x1d\x40\x67\xa2\x5a\x50\xb9\xc0\xc3\xd7\x77\x39\xb7\x38\x4f\x14\x51\x98\xcc\x11\x05\x7d\xd8\xde\x47\xc1\xcb\x6e\x19\x49\x17\xad\xaa\x5f\x32\x72\x33\xc4\xd9\x90\x46\x8e\x66\xb2\x05\xeb\x8a\xf4\xa6\xaf\xc4\xba\xd8\x9c\x80\x6a\xf6\x9a\x57\x17\x1d\x98\x82\xb8\x2c\x9a\xc2\x33\x65\x98\xaa\x98\x44\xdd\xee\x42\x6c\x66\x2a\xca\xe9\x43\xe7\x0e\xa7\xbf\xa4\x92\x89\x87\x61\x7e\xe3\x2a\xbd\x50\x55\x26\xde\xd9\x5f\xfa\x83\x25\x6a\xc4\x9e\x03\xb6\xac\x13\x5b\x6e\xaf\x44\x8c\x33\x68\xe1\x1e\xdb\x57\x35\x40\x84\x3b\x07\xa7\x68\x7d\x1d\xac\x5d\x83\xb5\x3d\x87\x1b\xf4\x15\x77\xd1\xfe\xde\xd7\x27\x50\xda\xfe\x88\xe9\xcd\x32\x67\x3a\xb4\x47\xeb\x01\x3b\xe7\xd5\x42\x18\xfd\x15\x7b\xf2\xb0\x6d\x52\xb4\x37\x97\xff\xd2\x3c\xdb\x3b\x63\x17\x58\xe0\xdc\xfd\xc2\x9f\x2f\x68\xe1\xfd\x03\x7b\xfa\xd0\xe7\xad\x98\x29\xf3\x40\xfb\x2b\x2e\x3e\x95\x01\xb1\xd9\xde\x92\x6b\xfc\x73\x6a\xd4\xd4\x55\x98\xca\xfc\xe1\x04\x16\x45\x84\xa8\x47\x55\xc9\x85\xb4\x04\x76\x75\x0e\xd8\x73\x44\x25\xff\x8a\x1d\xe2\x3a\xba\xd8\x60\xed\xee\xe7\xe5\x42\xf8\xae\x7f\xfc\x97\xff\xa1\x59\xc1\xcb\x45\xcd\x17\x62\x62\x7f\x81\x2e\xa5\xd0\x3e\x16\xc7\x7d\xeb\x7c\x29\xba\x24\x02\xa2\xbb\xc4\x2b\x57\xa1\x99\x03\xf6\x36\xc4\xef\x84\xc7\x74\xc4\xe6\xcb\x55\xf9\xe3\xbf\xfc\xdf\x26\x5c\x7e\x7c\x6b\x44\xa2\x07\x59\x2e\x0a\x31\xb5\xe7\x37\x71\xd0\xbb\xe9\xa0\x85\x0f\x86\xba\x94\x79\xb7\x49\x06\x98\xcb\x0a\x9e\x5d\xa5\x25\xf1\x0c\x61\x0e\x45\x8e\xe1\xe3\xa1\x1e\x18\x0f\x10\xd8\x6f\x26\xda\xf9\x66\x66\xb5\x09\x3d\x40\xa5\xae\x77\x41\xee\x61\x4f\x61\xb7\x80\xb3\x2a\x24\x22\xd8\x0f\x2d\x7b\xdc\x1a\xcb\x22\x3f\xfe\xcb\xff\xd5\xb5\x9a\x80\x83\x54\x0b\x24\x71\x56\x1b\xa3\xc2\x93\xa7\x2c\xd7\xb5\xc1\x1d\xe3\xef\xe6\x68\xb4\xd7\x46\xad\x5a\x73\x5c\x70\x59\xf6\x89\x17\xc9\x84\xaf\x65\x2e\x52\xd2\x00\xca\x22\x39\x60\x7f\xb5\x5c\x66\x80\x23\x68\xd1\xf5\xb3\xdb\xff\x76\xc0\xfd\xad\x5f\x89\x95\xba\xec\x31\x0e\xc2\x39\xfe\x6c\x77\x7f\x7f\xf3\xa3\xc3\x00\xc6\xd1\xa9\xa2\xf0\x9b\xdc\xd4\x55\x09\xc6\xea\xb9\xf4\x10\xdf\x61\x18\xa5\x1b\x84\x13\x01\xe0\x08\xc4\xcb\xdc\x51\x4b\xc7\xe4\x02\x3a\xd8\xde\xc0\xb7\xb2\x10\x6e\x3f\x59\xc1\xea\x1d\xba\x5b\xfb\xcd\x2c\xf1\xe5\xc8\xbb\x49\x60\x04\x4d\xa5\xd9\xd5\x52\xc1\x8b\x55\xf9\xc0\xbf\x1b\x6c\x22\x7d\x28\xe2\x6e\xfa\x68\xee\x95\x92\x87\xf3\xcf\x80\xaf\x2b\x41\xfb\x55\x53\x22\x10\xeb\x76\x89\xdd\x64\x10\x76\x69\xb1\x0c\xe4\x89\x98\x4b\xc3\xf6\xc4\xc1\xe2\x60\xc2\x56\xfc\xa2\xf7\x0d\xe6\xc4\xa8\x1c\x8b\x56\x02\x18\xfc\xdb\x5a\x1b\x48\x7c\x0a\x39\x91\xd5\xdc\xc9\x2b\xfd\xf0\x80\x9d\xcc\x31\x63\x81\x30\x13\x52\x48\x01\xb8\x1f\xb8\xbb\x7b\xbf\x7f\xbe\xf2\xee\xe7\xcc\x05\xb2\xf2\xf5\xfa\x81\x66\xda\xf0\x32\xb7\x9f\xa4\xcf\x85\x84\xc2\x84\xc2\xb3\x52\xfd\xd4\xdf\xbf\x6a\x06\x83\xb2\xe1\x57\xc5\xe0\x97\xa7\x18\x68\x53\x49\x30\xc0\xbf\x0b\x10\x4f\x41\x70\xf6\xcb\x28\x8f\x0b\x5f\x85\x21\x44\x94\xed\x24\xa4\xdc\x42\xbe\xb0\x3f\xb3\xab\xe5\x86\x61\x94\xa6\xbb\xf0\x3b\xb3\x94\x4b\xc1\xe7\xd3\xb3\xf9\x3e\x2d\xf5\x8f\x1c\x4d\xed\xa6\x01\x9c\x1e\xe7\xbf\x92\x8b\xb2\xdd\x96\x23\x1d\x64\x62\x70\x5b\x65\x5d\x70\x03\x89\xb4\x90\x30\x52\x33\xf1\x9d\x25\xbc\xf3\x88\x53\x55\xf8\xce\x43\xae\xfb\x0f\xf6\xa4\xd2\x13\x9f\x25\x6f\xc2\xae\xd6\x13\x26\x4c\x76\xf0\xf0\x80\x9d\xba\x2a\x8d\x1b\x9f\x2a\x33\x6e\x44\x09\xc1\x50\xf6\xbb\xfd\xf0\x99\xfd\xc7\xd5\xfa\xe1\x84\xd5\xee\xea\xbc\x0e\x1f\x83\xab\x06\x38\xe4\xc8\x45\xa9\x2a\xcf\x65\xf8\x3c\x8f\x14\x13\x55\xa5\xc2\x2b\x17\xca\x0d\x97\x74\x7e\x26\x9c\x27\x9c\x1b\xbe\x65\x92\xbe\xdb\xb6\xeb\x89\x70\x52\xf0\x73\x6c\x5e\xb9\xa9\xe9\x72\xab\x13\xc0\x9c\x27\xe4\x4c\xdd\xfe\xce\xb9\x5e\xc2\xd6\x11\x56\x5a\x1a\x55\xb1\x3d\xd7\xcc\x3e\xb4\x89\x24\x80\x96\xe2\x47\xda\x14\x9a\x58\xcc\x4e\x6c\x6f\xad\xaa\x52\x4d\x98\x11\xd5\x4a\xbb\x81\xc5\xd1\x17\xa4\x1b\xdc\xf3\x2e\x1d\x15\x49\x3e\x62\x4f\x40\xae\x95\x53\x17\x1a\xdf\xf3\x40\x88\xcb\x52\x69\x7b\x29\x17\x84\x81\x68\x63\x9e\x53\x68\x69\x73\x59\x69\x33\xa5\x03\xa9\xf1\x2d\x9b\x4c\x91\x56\xf0\xe4\x57\xaf\x78\xea\xa3\x44\x22\xe5\xd3\x74\x06\x65\x20\x16\x00\x8d\xb6\x72\x19\x3f\x2f\xb3\x6a\xd3\xc3\x93\x1d\xa8\x14\x47\x5a\xf9\xa2\x4e\x22\xa2\x06\xe8\xce\xee\x7f\xa8\xc1\x4c\x93\xe9\x5b\xeb\xb5\xaa\xcc\xf5\xa7\xc6\xa7\x7f\x84\xea\xe5\x3f\x8b\xd6\x88\x13\xbc\x14\x46\xf5\xc7\xb3\xb7\x6f\xf6\xb5\xa8\x24\x2f\xe4\xf7\x22\x87\x1e\x71\x53\xd4\xa5\xfc\xae\x0e\x68\xed\x21\xc0\x10\x2a\x2c\xb9\x5e\x0a\xc4\xd4\xd7\x22\xab\x84\x69\x4d\xc9\x6a\x62\xa1\xfd\x53\x37\xa8\xe7\x85\x80\xa4\x40\x6e\xb2\x90\x72\xa7\xcc\xed\xd1\xb2\xb4\x34\xc9\x9c\xcb\x37\xd7\x2e\xd6\x6f\x86\xea\x84\xaf\x5e\x22\x28\xe1\x0e\xe1\x36\x9e\x1a\x5f\x34\x4d\xec\x03\x2d\x5c\xd8\x36\x11\xcc\x75\xec\x67\x86\xb1\x93\xf6\x5f\xdd\xf1\xfd\x54\xc3\x43\x92\x92\x5e\x1a\x95\x55\x43\x45\x58\x3d\x17\xae\xe7\xb5\x29\x97\x52\xf5\xdd\xd9\xa1\x3d\x2b\x27\xdd\x35\x81\x11\xb6\xe9\xff\x53\x4c\xa6\xd9\x53\xbd\xac\xcf\xad\x1f\x63\x91\x83\x68\xbf\xbd\x7d\x30\xe9\xc5\x62\x79\xe5\xc0\x57\x63\xb9\xca\xb4\x1d\xf5\x0f\xbb\x6e\x98\x21\x67\x3d\x5f\xe9\x91\x23\xba\x54\xe5\x17\x38\x76\x9c\xe1\xf6\xbd\x76\x9c\x80\x91\x4f\xc1\x5b\x05\x36\x24\x94\xfd\x21\xbe\x48\x4a\xb3\x17\xb2\x10\x11\xe5\xe1\xc7\x11\x94\x9f\x4b\x9f\xff\xef\x3e\x50\x1e\xf4\x43\x9c\x80\x1d\xd8\x7d\x45\xcd\xa0\x11\x32\xe8\x81\x41\x2c\x28\x39\xac\xb1\xd8\x0f\xbb\x70\xc5\xae\x91\xcc\x5d\x2e\xea\x87\x19\xf7\x4b\xc6\x40\x93\x86\x06\x3d\x46\xcc\x37\xf9\xfc\xb0\x58\xa8\xd3\x67\xdf\x1c\xbf\x78\xfa\xf5\xeb\xc3\xa3\xb3\xaf\x0f\xbf\x7c\xf2\x54\x1a\x51\x3d\x79\x6c\xff\x17\x75\x38\xfe\xcb\xd8\xa5\x12\xea\xa2\xdc\xc4\xda\x70\x0e\x61\x75\x66\xbf\x74\x2f\xa1\xdf\x1c\xbf\x60\xbc\x58\xf4\x90\x0a\x34\x2f\x28\x4a\xf3\x22\xbd\xfb\x7a\x83\xc5\x4e\xb7\x4d\xc9\xd5\x8a\xf7\x27\x0e\xf9\x73\x0d\x2e\x7e\x50\x1b\xac\x96\x7c\x5a\xf3\xe3\x63\x7b\x2b\x05\x0e\x8a\x17\xa2\x68\x43\x9c\xb6\xfc\xf8\x11\x29\x34\x7f\xd8\x66\x8c\x82\xcb\xf2\xf9\x8a\xcb\x22\x1e\x48\x53\x44\xf0\x1a\x97\x45\x80\xab\x72\xb8\x35\xf6\x5e\x19\xeb\x55\x5f\x31\xd9\xdc\xd1\x30\x29\xa4\xc8\x27\x0c\xd4\x53\x90\x63\x3b\xeb\x5c\x37\x3b\x42\xd6\x76\x3a\xf1\x39\x22\xfc\xdc\x7b\x4a\x5b\x7b\x82\xe9\x25\xb5\x6d\xf6\x1d\x32\xa3\xa2\x44\x8a\x17\xe7\xe4\xfc\x73\x26\xde\x6d\xf4\xfe\x77\x4e\x5f\x3a\x77\x91\xd8\x1d\xea\x75\x0a\x49\xa8\x50\xd4\xe8\x6d\xf1\xfd\x35\xb9\xba\xbc\xf0\x76\x66\xc4\x98\xde\x40\x29\xc3\x52\xc2\xd6\x38\x97\x62\xea\x95\x4a\xe2\x70\x02\xc3\x0e\xd4\x0a\xaa\x67\x7c\xb9\xad\x78\xa9\xd1\x79\x60\x5b\x53\xad\xaa\x03\xed\x91\x51\xf3\x4e\x91\x41\x78\xe3\x44\xe0\x7c\xbc\xac\x6f\x4b\xf1\x76\x3e\xb8\xf0\x58\x23\x5a\x7d\x4c\x9b\x1f\x23\x63\x50\x30\x0e\x38\xb2\xa0\x9a\x37\x43\x4c\xef\x69\x3c\xca\x89\x6c\x79\x64\x71\x4a\xab\xa3\xf3\xe6\x61\x13\x53\x38\x4e\x52\x83\x0d\xe7\x0d\xa1\x7b\xd8\x8f\x07\x54\x10\xec\x98\xd6\x44\xda\x1f\x93\xca\x14\x4e\x8c\x76\x5f\xc0\xaf\xc1\x81\x2c\x22\x08\xfe\x9a\xa2\x03\x50\x7c\xb7\x5b\xf2\xb9\x17\x83\xa7\x8d\x66\x2c\xfc\x95\x76\x34\x5a\x7e\x73\x43\x77\x2a\x21\xe5\x06\x59\x55\x7c\x83\x60\x8b\xbe\xf3\x9e\x36\xee\x02\xff\x1d\x08\x00\x18\xc2\xd1\x4c\x98\xab\xac\x86\x14\xc5\x37\x19\xcd\x7d\x92\x51\xf3\x4a\x95\x66\xaa\x25\x15\x80\xf1\x3c\x45\x96\xe6\x2e\x0c\x9f\x33\xcc\x1c\xdc\xa5\xcc\x0d\x08\xb3\xeb\x1d\x0d\x4e\xa5\x29\xcd\x4f\x70\xfe\x82\x69\xd4\x1f\x9b\xfd\x3b\xee\x0d\x06\x58\x89\x4b\x51\x69\x71\x73\x72\xb9\x06\xee\x8a\x60\x28\xff\x77\x1e\x49\x38\x38\xda\x2e\xeb\x4b\x55\xe4\xfe\x85\xf5\x16\x43\x6a\x9d\x23\xb7\xd8\x70\xbe\x15\x91\x37\x10\xfe\x3e\x74\x1c\x13\xff\xe7\xb7\xda\x82\x83\x07\x59\x6b\x48\xd4\x99\x36\xb2\x93\x9e\xdc\x04\x8b\x32\x2d\x3c\xb1\x68\x50\x82\xa2\x61\xbf\x07\x91\x44\xee\x96\xaf\xa9\x8d\x32\xc2\xc8\x3d\x16\x55\x6b\xb3\x06\xb6\xf1\x02\x19\xbd\x5b\x97\xee\xed\x55\x6a\x5d\xa7\x4f\xff\x66\xb2\xa4\x7d\xaa\x57\x4c\x68\x7d\x2e\x24\x1d\x40\x80\xa1\x2b\xab\x35\xab\x06\x05\x0e\x4c\x69\x48\x20\x7c\xfb\xb8\xe2\xba\xe1\x97\xd9\xa6\x79\xf8\x80\x87\x13\x7c\x2c\xc1\x38\x3b\xbb\x21\xad\x86\x00\x08\x47\x97\x22\x6f\x50\x41\xa0\xbd\x07\xda\xad\x03\x3e\x6d\xf6\xd3\x36\xdf\xc8\xc2\x04\x9f\x53\x6a\xe1\x8a\x98\x50\x8f\xd0\xc2\xb1\xcc\x67\x5b\x66\xc8\x8a\x81\xaf\x29\x2d\x21\xf1\x40\xc7\xa7\x33\x35\xb2\x89\x5f\x95\xd6\xca\x5a\xce\x39\x15\x95\xb6\x07\xd0\xb1\x30\x5c\x16\x80\x69\xd9\xaf\xe1\xf7\xde\x0f\x51\xd1\x71\x25\x2f\x45\xf5\x4a\x66\xa2\xd4\xe2\xfa\x5f\xa3\x72\x04\x89\x36\x9b\x23\x5e\xe5\x3f\xfe\xf5\xdf\xe2\xf2\xd2\x88\xaa\xe4\x85\xef\xe2\xc7\xbf\xfe\xcf\xa8\x8e\x0b\x39\xfc\xf1\xaf\xff\xbe\x3b\x68\xda\xf0\x5c\x47\x67\xb8\x48\x10\xe4\xa6\xdf\x77\xa8\x76\xd3\x46\xda\xa4\xbd\x71\x1b\x3d\xf2\xdf\xb4\x1d\x1f\xe0\x4a\x4b\x58\xd2\xfe\xda\x2b\x1e\x25\x59\xfc\x5b\xa5\x3b\x64\x98\xce\x78\xb9\x9b\xd8\x68\x9f\xfb\x9d\x66\x12\x42\xe4\x46\x76\xcb\xbb\xdb\xf2\x6f\xc9\x1d\xfb\xde\xc8\x42\x9a\xcd\x33\x59\x14\xc4\x6e\x7d\xc6\xcb\x0b\x08\xb6\xb5\x73\x23\xb6\xec\x3b\x51\x1a\x5e\x1c\x2e\x2a\x81\x35\xe2\x4d\xeb\xb9\xe1\x9d\x58\x48\x6d\xd0\x20\x48\x6d\xde\x73\xb1\x5a\xab\x8a\x57\x9b\x6e\xc5\xff\x79\xeb\x6d\xda\x9a\xe0\x4d\x39\xb2\x43\x85\x9b\x36\xd2\x23\xd5\x6d\xc5\x45\x9b\x4c\x37\x6d\x8b\xa4\xf9\xc0\xbe\x8b\x2f\xcb\xfd\xf2\x5d\x76\x9e\x07\x60\xb3\x3b\x46\xef\xb2\xf3\xfc\x87\xa8\x4e\x66\xe8\x50\xe2\x35\x5b\x68\xed\xd7\x0d\xf8\xeb\x06\xfc\xbb\xdb\x80\xf6\x22\x7e\xd6\x75\xcf\x4e\xd7\x19\xbf\x11\xe3\x4b\x7e\x73\x28\xde\xfc\x3c\x4c\x9b\x0d\x7e\x4e\x7b\xb3\x31\x50\x6d\x51\x56\xe3\x8d\xd9\xd6\xa8\x28\x5d\x36\xd2\x55\xff\xed\xf6\x0a\xe9\xdf\xad\x26\x49\xef\x88\x77\x68\x6b\xd9\xb2\x27\xda\xb5\x76\xdb\x15\x7d\x5b\xce\x6d\xf7\xc5\x90\x6d\xe8\xe7\xb4\x2b\xba\xac\x1f\x6f\x8d\x0e\xeb\xff\x70\x6b\xb6\xbe\x7b\xb6\xa4\xd9\xe9\x2c\xd8\xda\x12\x9c\xe4\x2a\xec\xc6\x44\xce\x10\xd7\xbb\x6d\xdc\x5c\xb0\xba\xf6\x7e\x46\xec\xf2\xab\x10\xbd\xcf\x42\xf4\xbc\x31\xe7\x6e\xb9\x5a\xf7\x6b\x8e\xdf\x07\x2d\x0b\x1e\xea\xec\x98\xd7\xcb\x8e\x5d\x9a\xda\xa0\xff\x53\xfb\x7d\xf2\x76\xc2\xf6\xe7\xb4\x37\xee\xbb\xbd\xac\xa5\xbc\xff\xf8\xd7\x7f\x1f\xbe\x9e\xfc\xf8\xd7\xff\x77\xdb\xfd\xe4\xc7\xbf\xfe\x7f\x23\x2f\x28\x31\x25\x48\x65\xf9\xfa\xd3\x8f\x7f\xfd\x7f\x7e\x35\xe5\xdd\x53\x53\xde\xaf\x57\xbf\x3b\xb9\xfa\xf5\x24\xef\x90\x19\x26\xaa\xba\x9b\xb6\x12\x3f\xcb\xdd\x4c\x16\xf3\x94\x79\xb4\x2d\xe5\x77\x96\xd3\x9f\xf9\xe9\xeb\x57\x11\xfd\xab\x88\xfe\x55\x44\xff\x2a\xa2\x77\x14\xd1\x5f\x3b\x59\x15\x4b\x64\x27\xaf\x86\x9e\xfd\x41\xd0\xdd\xf8\xd5\xff\x96\xde\x7a\xd1\x93\x1b\x39\x8b\x76\x85\x18\xa5\x2e\x3c\xd6\x45\x8d\x76\xd9\x22\xd9\x74\x9f\x7b\xfa\xc1\xf7\xbc\xbc\x60\x3a\x94\x13\xfd\x74\xb7\x64\xb2\x9f\xfe\xce\xed\xf5\x83\xc5\x0f\x34\x2b\x5c\x0d\xa2\x27\xda\x8d\xba\x57\x4c\xbb\x52\x53\xcd\x75\xc4\x40\xb2\xd5\x9e\xb0\xe8\x35\xee\x4b\x59\x86\x86\x8d\xb8\x93\xbe\x9c\x48\x77\x14\x4b\x94\x7e\x67\xae\x46\xcb\x81\x66\xe7\x70\xba\x78\x84\xdb\x47\x96\x1e\xd1\xe9\x88\x76\x3b\xbb\x77\x6b\x1f\x3d\xc1\x91\xa2\x40\xd5\xaa\x76\xc7\xe4\xe8\x1d\x74\xe9\x11\x47\x27\x62\x9f\x38\xae\x02\xcb\x5d\x0d\xaa\x37\xd2\xb7\xbd\x57\x4c\xfb\xb7\x53\xcd\xf5\xa5\x78\xb2\xe1\x58\xdc\x47\x6a\xaa\xad\xc0\x78\xa8\x41\xf4\x46\x0b\xe8\x64\x9f\x74\xf5\xa8\xe7\x50\xad\xb3\xc8\x54\xff\xed\xb3\x33\xd9\x6b\xf7\x80\xed\xc7\x78\x60\x21\x9b\xd9\x52\xec\xa1\xcc\x1d\xcc\xc3\x11\x20\x07\x1e\xf6\x73\xa9\xa7\x6a\x10\xbc\x7a\xc9\x0b\x99\x43\x00\x31\x24\x92\x17\x97\x52\xd5\x1a\x12\x04\xa9\xd2\xc5\x8a\xe8\x03\xf6\xfc\x60\x71\x80\x5a\x3b\xb8\x09\xe6\xa2\x10\x46\x68\x26\x2c\xab\x7b\x70\x78\x55\x31\x3e\x53\x95\x69\x72\xc0\x63\x20\xd7\x41\x34\xe8\xa5\x52\xda\xc7\x3f\x0f\x8e\x9d\xa8\x18\x93\xc7\x41\xed\x3a\x60\x8e\x72\x01\x69\x44\x11\xc2\x1a\x20\x37\x78\x25\xa2\x21\xbc\xe4\x2b\x71\x5a\xf0\xcd\x50\xef\xbd\x3a\xc9\x8e\xd7\x05\xdf\x60\xb7\x0b\xdb\x46\xbf\x27\xa1\x5e\xb9\xbc\x83\x83\x9d\x45\xd5\x46\x4d\xd4\xa7\x34\x4c\xcf\xf4\x9d\xc8\x54\x95\x1f\xd6\xb9\x54\x43\xfd\xc7\xd5\x92\xfd\x57\x50\x15\xfb\xbf\x54\x32\x0b\x19\x1e\x12\x7d\xbf\x53\x75\x99\x6f\xef\xbb\x5d\x6d\x54\xdf\x95\xfd\xc0\x71\x9a\x9f\x3e\x3d\x82\x0f\xb6\xce\xf6\x11\xb4\xab\x8d\x9b\xbd\xfd\x20\x9a\xf5\xf9\x66\x2d\xcb\xc5\x50\x77\x9d\x1a\xc9\x9e\x0c\xd4\x8a\x9a\x7f\x0f\x9b\x6a\xeb\x82\xc6\xd5\x92\x1d\xe1\x36\xa5\x17\xb4\x13\xe8\xe3\xd2\x60\x12\x7e\xd6\xae\x84\xad\x45\x95\x59\xa1\x1c\xdd\xa7\xff\x42\x4d\xe2\xd8\xdd\xf8\xb7\xcf\xa3\x57\x73\xd4\x54\xe6\x32\xca\x9d\x7a\xe7\x33\x00\x84\xf0\xed\xc3\x6f\x57\x1b\x35\x76\x88\x35\xf8\xdc\x83\xdf\xba\x31\xe3\x6a\xa3\x06\xdf\xda\x98\x9f\x79\x06\x5b\x37\x76\x5c\x6d\xdc\x2e\x70\x1b\xfb\x4e\x07\xef\x52\x6f\xbc\x5d\xf7\x87\xdb\x2d\x48\xe7\xec\x70\xa9\x8e\xb6\x66\xf2\xc6\x86\xa8\xa8\xe8\x75\x25\x33\x2a\x06\x26\x24\x98\xb4\xe5\xcc\x6a\x9d\x52\x95\x71\x3c\x9a\x91\xa6\xa0\xfc\x84\xe1\x67\x62\xc6\x86\x1b\x7d\x30\xab\x14\xcf\x33\xae\x8d\xbd\xc0\x75\x54\x55\xaa\x38\x9a\xfd\x91\x43\xe6\xb1\xb5\xa5\x36\x32\xd3\xd7\x9f\xc6\xc6\x3b\xf2\xb5\x7c\x04\xbd\xf4\xa2\x3d\x4b\x3e\x2b\x44\x3e\xed\x20\x31\x13\xcb\x1a\x56\x13\x2c\x7e\xf5\x0c\xa1\x1b\x2a\x17\x9d\xe0\x5a\x61\xdd\x56\x22\xff\x6e\x05\x48\xd8\x14\x4c\xf6\x0b\x57\x84\xa9\x51\x3c\x5e\x16\x64\x69\x82\x0c\x8f\x4c\x96\xc1\x78\x4a\xa3\x14\x87\xc6\xa7\x8b\x8a\xaf\xa9\x47\x2b\x5f\x81\x2d\x2a\x75\x65\x96\x0c\xea\xb1\xbd\x4a\x14\x18\x77\xd8\xcc\x0a\x47\x11\x43\xe3\xe0\x87\xa9\x0e\xfc\xea\x74\x9b\xe7\x33\x48\x10\x34\xa6\x79\x69\x35\x48\xd4\x36\x93\xb3\x38\x69\xd5\xe9\x77\x41\xb4\x78\x39\x1d\xd5\xe8\x07\x26\x77\x6a\xd7\xa3\x8e\x25\x5b\x3c\x6b\x26\xeb\xeb\xfa\x56\xd7\x52\x64\x4b\x5e\x11\xf3\x5f\xd5\x46\xa4\x1a\x7c\x5d\x1b\x0f\xa1\xde\x5f\xb8\xb8\xa1\x52\x5c\x4d\x1b\x7e\x98\x6d\xa6\x5a\xd5\x55\x96\x6c\xfb\x8d\xb8\x62\xa1\x3a\x9b\x6d\x18\x56\xdf\x4e\x86\x54\xf6\xd1\xd3\x91\x3c\xeb\x12\x6d\x05\x94\xb9\xd6\x1a\xc4\x8d\x3a\xd4\xe6\x06\x48\xb2\x55\x39\x0a\x6e\xb4\xfa\x9f\x9e\xae\x45\x35\x5d\x2b\x4d\x98\xfb\x5d\xce\x29\x29\xae\x80\x17\x1f\xd9\x5a\xf0\xd7\xc4\xa5\x46\xd3\x06\xd3\x0c\x89\x9c\xe5\x75\xe5\x9d\x45\x13\x9b\x91\xed\xd9\x96\x9a\xfe\x1e\x1e\xb0\x37\xca\x38\xb8\x2d\xe9\x52\x0d\x66\x5c\x8b\x49\x00\x09\xab\xc4\x1c\x80\xfc\xd4\x70\xbb\x2b\x0c\x67\x13\x0c\xa0\xe2\x56\xfc\x23\xfc\xeb\x21\xe6\x44\xb4\x37\xb4\x7e\x43\xfe\xd2\xe6\x5a\xdc\x6b\x5a\xd8\x67\x7b\xfe\x7b\xb6\xcf\xfc\xcf\x0f\x1f\xba\xa6\xfd\xbf\x63\x41\xaf\xd6\xd3\xa5\xaa\xd3\x82\xe5\x83\x9d\xbb\xed\x90\xd9\x6a\xdb\xb9\x06\x69\xb5\x95\x2b\xb1\xd9\x1d\xb8\xb1\xbb\x06\xbf\xae\xf9\xf8\x35\xa7\xc0\xfc\xf0\x44\x5e\x89\x05\x07\x14\x45\xfa\xc0\xee\x15\xc7\xea\x4a\xbd\x16\x15\xa2\x30\xb6\xcf\xec\xdb\x1d\xd9\x5b\x84\xf9\x4b\xe8\x0e\xb2\x1a\x4b\xb3\xf1\x6c\x83\x56\x8a\x7c\xc2\x56\x2a\xc7\xe0\x4f\x9f\xf9\x69\xc2\x66\x85\xca\x2e\xbc\x74\xdd\xf5\xd4\x6b\x4d\xf1\xc6\x07\xdf\x67\x3a\x4e\xc4\x6a\x46\x2a\x1b\xaf\xa1\xe0\xe6\xaa\x86\x6b\x38\x79\x54\x61\xb1\x27\xc7\x2e\x0a\x86\x5f\x13\xaa\x51\x14\xfb\x0e\x23\xe3\x46\xa3\xc6\xb6\xd3\xc3\xc6\x1e\xfa\x9c\xa3\x0d\x07\xee\x98\x71\x27\xdb\x26\x0d\x0c\x20\x91\x35\x18\x4f\x5f\x4f\xa2\x51\x67\xaf\xab\xdc\x97\x75\x77\x7e\xdc\x82\x6c\xa3\x18\xe2\x4d\xc8\xae\xd8\x82\x97\x75\x92\xb0\xd9\x26\x96\xd8\x15\x90\x7d\x6b\x4f\xf6\xcc\xe0\xf9\x4a\x52\xe7\xf8\x49\x39\x57\x8c\xcf\x54\x6d\x18\xe0\xd3\xb8\xfc\xe3\xb8\x85\xdc\x47\x3b\x9f\x41\x87\x7e\xd1\xc6\x1f\x43\xb6\x4d\x4c\x09\x42\x26\xf9\x1c\x1a\x65\xf8\x8c\x6a\x33\x49\xe5\xc1\x26\xfd\x66\xed\xb7\x98\x48\xab\xd3\x6a\x0b\x97\xac\x83\x03\xdc\xc8\xda\xff\x9f\xbd\x37\x6d\x8e\x23\x37\x16\x45\xff\x0a\x62\xe6\x45\x8c\xf4\x2e\x49\x69\x16\xdb\xe7\x8e\xe3\xc4\x79\x14\x49\x69\x68\x8b\x14\xcd\x65\x74\xfc\xe2\xfa\x76\xa0\xab\xd0\xdd\x30\xab\x0b\x35\x05\x14\xa9\xf6\x8d\xf9\x53\xfe\xa6\x78\xdf\xf4\xcb\x5e\x20\xb1\x14\x50\x48\x54\x57\x53\xd2\x0c\xbd\x7c\x22\xbb\x00\x24\xb6\x44\x22\x91\x2b\x7a\x49\x4e\xc7\x01\xa8\xfd\x40\x1c\xb8\x67\xec\xb6\xa4\x9b\x69\x5b\x56\x1a\x2f\x70\xdd\x66\xdb\xce\x85\x97\x13\x0c\x2b\x77\x35\x05\x85\xd9\x64\x41\xc1\x4a\x45\x77\x8c\xb9\xdb\xb7\x50\x0a\x5d\x09\x3d\xaa\x7e\x88\x87\x73\x09\x72\xfd\xc3\xba\xbc\x68\xd9\xdd\x70\x90\xc3\xe2\xf4\xfe\xf4\xc3\x73\xde\xc6\xa2\x6b\x2a\xf6\x7b\xcd\xfd\x72\x5a\x01\x47\xb0\x80\x28\xcc\xa6\x38\xa0\x87\x2e\xf5\xbf\x65\x3e\xaa\x4d\xba\x63\x71\x8a\x1c\x53\x0f\x79\xd6\x59\xee\xc5\x04\xee\x48\xa5\x08\x86\xf9\xc0\x24\x21\x96\x2d\xc1\x1a\xfa\x15\x3a\xa6\x8a\x5d\x6a\x84\x3a\xa6\x9b\x64\x13\xe3\xc2\x49\xe2\x00\x02\xbc\x0e\xa0\xe8\xc7\x71\x19\x8e\x6f\xc2\xac\x3f\x41\x47\x46\x55\xba\x1a\x8e\xa3\xc2\x0e\x2c\x87\x1d\x43\x9a\xf9\xb5\x78\xe5\xd0\x2d\x5c\x83\x57\x16\xbf\xb6\xce\xdd\x60\xe2\xc7\x32\x57\x8f\x2a\x14\xc9\x5f\xd1\xc0\xbe\xc1\xa1\x28\xb1\xe8\x8e\x7f\x13\x62\x3d\x53\xe2\x16\xcb\x05\xff\xff\x0a\xb1\x26\xa6\x6c\x6c\x13\x0e\xe5\xa6\x2e\xd0\x9d\x30\x25\xa9\x0e\x10\xb8\xfd\xec\x9e\xf8\x88\x5d\x4b\x56\xeb\xd3\xc7\x4a\x42\x35\xa0\x55\x2b\x6a\x93\x52\xb4\x93\xfa\xbd\x61\x48\x17\x08\xeb\x75\x31\xf4\x68\x72\x63\xb7\xac\xec\x0a\x46\x20\x0b\x59\x4b\x20\x26\xe2\xae\xfb\x3c\x21\x2b\x36\xd6\xff\x20\xae\x12\xbe\xae\xd7\xfa\xb3\x8b\x5c\x06\x39\xd2\x98\x2a\x56\xee\x09\x05\x73\x1d\xa7\x94\xd0\x55\x12\x12\x63\x50\x92\x5a\x93\xd4\xd6\xb6\x50\x14\x40\xbf\x4a\x9b\x22\xc2\x2e\xb3\xf7\xf1\xfc\xc4\x87\x84\xb9\x71\xa6\x31\x12\xb0\x38\x0c\xc1\x24\x45\xd7\x5c\x8b\xe6\xb0\xb4\x39\xdb\xe3\x79\x86\x85\x88\x76\x76\x21\x5c\x32\x0d\x73\xf1\xd3\xda\xb1\x10\xc0\x35\x99\x34\x1c\xd2\x3f\x47\xe2\x21\xcf\x35\x6a\x62\xc1\x25\xfc\xb5\x6f\x6a\xd8\xdb\xdf\x24\xfb\x0e\xc8\xea\x56\x2e\x7b\xe2\x32\xfe\xac\x27\x06\x4f\xb1\xb1\xb1\xd8\x2a\x51\x76\xde\xcf\x36\x9e\x5b\xae\xf9\xfb\xb1\xe1\x98\x1a\xbf\xc0\xd2\x3c\x20\x91\x58\x84\x3b\x26\x5d\x1e\x72\x84\xe2\xe2\x9d\x90\xab\xc7\x28\xc7\xf7\x0e\xb4\x0e\x3e\x73\xde\x28\x57\x19\x54\x7b\xd4\x4b\x78\x01\xec\x7b\x6e\x05\x6d\xe9\x4e\x0b\x68\xf2\xff\x8e\x1d\x4e\x7a\xb7\x9c\xe9\x47\x3c\x16\x91\xec\x8e\xb5\xc1\xbb\x57\x2c\xf4\x2d\xd3\xd2\x42\x3f\x31\x80\x73\xce\x99\x2c\xe7\x9f\xd2\xfd\x9e\xfc\x22\xc7\xeb\xa1\x1b\x62\x55\x2e\xc0\x20\x0f\xb7\x23\x2a\x9b\xc2\x1b\xf5\xda\xb8\x0f\xef\x4d\x56\x89\x75\xe3\x1c\x89\xfa\x32\x22\xf9\xba\xa9\x36\xfa\x21\x5e\x0a\x7d\x79\x34\xb4\x55\xe4\xff\x26\x20\x39\x24\xcf\xc8\xd7\xcf\x9f\x7f\xdc\xc5\xa1\xe1\x21\x9c\x32\x6d\x81\x37\xc4\x39\x6c\xe8\x1c\xbb\x71\x55\xa6\x89\x5f\xc1\x9b\xcb\xd7\xc3\x85\x33\xd9\x0b\x87\x5a\xcf\xcb\xd7\x46\x8d\x05\x49\x43\x72\x4f\x22\x34\x1b\xe2\xd1\xa0\x05\x36\x12\x48\x3e\x79\x41\x8b\xdb\x68\x30\xfd\xd7\xf4\x56\x77\xf9\x2e\x1b\x5a\xdc\x9a\xe4\x34\x86\xfe\x88\x85\xcf\x84\x49\xa8\x94\xa2\xe0\xd4\x66\x86\xf7\xa9\x7f\x20\xb3\xba\xde\xe1\x53\x48\x81\x51\x0b\xa5\xcf\x9d\x69\x44\x00\x9e\xae\x7a\x4f\x37\x84\x43\x05\x48\xa2\x02\x8f\x23\xc5\xea\x92\x95\x7b\x90\xa3\x67\x4d\x37\x9a\x5b\xab\x84\xb8\xd5\x68\xa0\x8f\x07\x25\x7d\xb2\xce\xe9\x5a\x47\xb5\x69\xd8\xb3\x20\xcb\x67\x1c\x24\xca\xc7\x2b\x43\x78\x5c\x33\xcd\x04\x1b\xd8\x5a\x28\x5e\x60\x6c\xf1\x89\x9e\x79\x7e\x03\xe2\x1c\xa4\x72\x34\xf1\x68\xef\xf0\x11\x66\x1e\x7d\x12\xec\xca\xd3\x87\x05\xff\x0e\x77\x10\x89\x49\x49\x6b\xbe\xa6\x28\x6b\x70\x2a\x8d\x40\x5d\x53\x55\x5b\x29\x44\x92\x14\x52\x5b\xac\xf8\x1d\x06\xa9\x4f\xd8\xce\x65\x38\xbb\x7b\x2a\x89\x6b\x45\x9e\x94\x1d\x24\xf9\x50\x42\x90\x35\xad\x37\x04\x52\x75\xf4\xc8\xe7\x92\xec\xd8\xa7\x31\x2d\x32\xf2\x4c\xf8\x3c\x46\x81\x43\x88\xe8\x44\x1e\xd5\x7b\x6c\x07\x53\x73\x3c\x7c\xba\xcf\xd2\x95\xc7\x01\x9b\xdf\x96\x95\x99\x87\xf4\xdb\x15\xab\x61\xb3\x86\x1b\xe8\x1b\xa6\x57\x21\x95\xb7\x98\x0c\xcd\xe1\x14\xd1\x15\xc6\xc6\x24\x16\x0b\x5e\x70\x8c\x0a\x9f\xa6\xe3\xf0\x95\x53\xa5\xa4\x68\x73\x99\x54\xae\x74\x19\x44\xfe\x8d\x8f\x48\x18\x0c\x7a\xf9\xfd\xb3\x67\xb4\x2c\x5d\xe1\x7f\x49\xa6\xfe\x33\x80\x99\xdc\x1b\xab\x6e\x3d\xc7\x1e\x29\xdd\x7a\x5e\x53\x5e\xd9\x4b\x3f\x3b\x69\x68\x3f\x1b\x0b\xb4\x6f\x76\xd3\x82\xdb\xc9\x40\x64\x94\x0e\xc4\x44\xeb\x48\xdc\xb1\x36\x4e\x00\x93\x94\x21\x72\x33\x07\x7b\xcf\x07\xb8\x74\x99\xd5\xdc\x65\x00\x91\x00\xd9\x1d\x67\xf7\x03\x41\x98\x06\x9a\x11\x67\x31\x2c\x07\xdc\x2e\x19\x97\xe3\xb9\x9d\x75\x95\xe2\x63\x13\x8c\x2a\x3c\x64\x96\x72\x7c\x9a\x39\xb1\x1d\xbb\xf7\x00\x3e\xc9\x84\x85\xe6\x61\x0f\x16\xbc\x62\xaf\x78\x14\xe2\x79\x50\x92\x4c\xf1\xd5\xe9\x4b\xc2\xd7\x90\xdf\xed\xec\xf4\xec\x04\x34\x2e\xdf\x9b\x2f\xcf\x96\x7c\x61\x0d\x22\x03\x28\x7f\x68\xd8\x32\xd3\x01\x14\x25\x3d\xfc\xe1\xe2\xe4\x55\xb6\x8b\xbf\x36\x6c\x99\xf6\x71\x26\xee\x32\x5d\xe8\x92\xa4\x87\x3f\x75\xbc\xb8\x05\x59\xac\x31\x25\x0b\xbb\x81\x2f\xcf\x7e\x72\x35\x90\xbe\x9a\x6f\x73\x7d\x35\xdf\x22\x72\xed\xe6\x5b\x42\xbb\x92\xc7\xbd\xc0\x97\x67\x6b\x7c\x32\xcd\x77\xd9\x0e\xbe\x43\x3a\xb8\x38\x79\xb5\xff\x5d\x76\x26\xeb\xe6\xbb\xb4\x0b\xcb\xdf\x66\xba\x71\xa5\x88\xaf\x46\xab\x8c\x37\xe9\x9c\x2f\x97\xac\x75\x46\x9c\x43\xe8\x65\x0e\xa3\x74\x49\x0a\xf5\xf8\x65\xef\x5d\x9a\xee\x3b\x6d\x9a\xca\x1a\x70\x3d\x6b\x4a\x04\xc1\x2e\xea\x1c\x7e\xe9\x92\xb4\xbb\xf3\x3c\x76\x35\x35\xb2\x1f\x48\x16\x08\xa4\x34\x9f\x57\x7d\xd3\x20\x6b\xf4\x96\xcd\x9b\x0c\x44\x28\x4a\xc0\xbd\x3d\x79\x71\x91\x1d\xf7\x3d\x9b\x37\xa6\x0f\xc5\xde\xa9\xc3\xba\x58\x45\x52\xbb\xe0\x23\xe2\x2b\xf1\x4e\x41\xce\x75\x10\xcd\x09\x42\x6b\x01\xdc\xd8\x20\xb4\x68\x43\x97\x83\x18\xe1\x99\x6b\xd3\x36\xc3\x2f\x40\xd4\xd1\x57\x8f\x00\xa1\x51\xba\xf2\x0b\x51\x95\x83\x79\xc0\x27\x24\xc1\x6b\x65\xfc\x1c\x06\xb2\xd1\x5d\x3b\x3c\x82\x5c\x78\x83\x2e\xed\xc7\xf4\x55\xeb\x13\xe7\xd9\x85\x6a\x79\xb1\x82\x51\xc8\x74\x18\x08\x61\x3f\x0a\x13\xef\x05\x6d\xf1\xa1\x0d\x5d\xd7\xfa\x6f\xe9\x7b\xc1\xc1\x22\x90\x3a\x03\xb6\xf7\xa3\x53\x6a\xe4\xb6\xef\x35\xe4\xeb\xcf\x2f\xe9\x30\x49\x4e\xff\x2d\x93\x1e\xa7\xed\x47\x5f\xf5\x8e\x43\xfa\xc3\x4b\xfe\x8e\x0d\xf1\xc1\x7c\x4b\x40\x2d\xf4\xe7\xfd\x7b\x5e\xaa\x55\x0f\xf0\x23\x91\xe3\x54\x9f\xb5\x41\xf7\xe6\x1b\x22\x7d\x82\x64\xfe\x70\x3a\xf1\x27\x26\xce\xc4\x39\x32\x88\x58\x07\x63\x7c\x3e\x64\xd5\x4d\xf5\xbc\x08\x8f\xae\x17\x22\x37\x2d\x45\x2b\x5e\x0c\xe7\x65\x3e\xa6\x13\x83\xef\x9f\x62\x35\xcf\x68\x7b\x9b\xec\xa6\xfd\x88\xa4\x28\x5f\xae\x2a\x3d\x59\xf6\x49\x8e\xf9\xd0\x67\xae\xff\x36\x72\x96\x34\x20\x23\xdb\x00\x0f\x80\x3e\x7d\xca\x47\xe6\x5b\x79\x00\x5d\x84\xc8\xf9\xc3\xf1\xc3\xb7\xf4\xba\xd3\x9f\x3f\xc5\x9a\x5d\xa9\x96\xdf\x0e\x17\xcd\x7e\x44\x18\x61\xfd\x5d\xad\x5a\xd1\x2d\x3f\xc9\xd9\xb3\xf6\x56\xcd\x90\x36\xf7\xdf\x11\x53\x37\x5b\xf4\x69\xfa\x6f\x58\x9b\x19\x41\x5f\x82\x9b\xdb\x7d\xba\x51\xdc\xd4\x25\x6b\x35\x65\x19\x8c\xa1\xff\x8e\xb0\x21\xb6\xe8\x93\x1c\x9c\x9b\x76\x78\x05\xe9\x2f\x49\xa7\xaf\x93\x0b\x27\xdf\x93\xbe\x38\xe1\x82\x4a\x0c\x6d\x30\xf1\xa6\x66\x8e\xe8\x92\x91\x1f\xae\xaf\x2f\x88\x91\x9d\x0e\x8d\x5c\xa0\x02\x4a\x5e\x4f\x35\xeb\x6a\xdf\x5e\x46\xbc\x54\xb5\x8c\x96\x9b\x40\x09\x6c\xf2\xdb\x1b\x7e\x67\xcf\xff\x87\x0b\xc5\xd5\x8a\xad\xa3\x9d\x80\xdf\x88\x26\x5a\x7f\x9e\x2e\x9d\x83\xfa\x2e\x03\x32\x1a\xd3\xaa\x68\x19\x55\x98\xbe\xb3\x17\xa5\xf5\xa2\xb0\xce\x39\xac\xe9\x6f\xa6\xa1\x61\xea\xcc\x37\x84\x4d\x2b\xd9\x82\x76\x58\xee\xb4\x48\x52\x67\x41\xda\xca\x39\x50\x2e\x4b\x05\x3e\xcb\xc7\x2d\x5c\xc3\x50\xc8\x6c\x0e\x72\x3d\x5b\x61\x97\x9c\x65\x24\x8c\xa7\xa6\xdc\xc6\xcd\x81\x3a\xc8\x3b\xde\x27\x34\xc2\x7a\x95\x7d\x46\xa3\x41\xc3\xaa\x5b\x22\xda\x1c\x93\xb0\x56\xe5\x46\x9c\x13\x07\x41\x7d\x84\x7f\xf7\x28\x8f\x24\x5e\x8a\xbf\xe3\x47\x20\x93\x70\x49\x23\x7a\xad\x66\x85\xa8\x30\x8c\x3e\x84\x52\x02\xa5\x7b\xe4\xf2\xd5\x8b\x6f\xbe\x23\x46\xb1\x97\xcc\x67\x4e\x25\x9b\xf9\x33\x19\x83\x79\x41\x25\xcb\xa0\xe8\xa3\x42\x39\xe7\x78\x31\x17\x4a\x89\x75\x6e\x51\x9c\xb9\xdb\xb2\xa5\x25\xf7\xcb\x43\x9e\x98\x56\x4f\xb7\xac\x93\xeb\x43\x89\x66\xd7\x0e\x94\x68\xb6\x41\xbf\xa7\x55\xd5\xd0\x06\x13\xd8\xbd\xf5\x45\x08\x62\x89\xe6\x82\x45\x5a\x5e\xf7\x25\x45\x26\xd1\x90\x86\x25\x7c\x17\x43\x65\x84\x0c\x61\xb7\x8c\x1d\x4a\x5a\xf9\xd2\xd8\xa7\x50\x49\x0a\xa3\x8c\x34\xb9\xfb\x6d\x77\xc4\x9a\xaf\x4c\xcf\x03\x4c\x1b\xfe\x4c\x89\x66\xdf\xf6\xf7\x97\x70\xa2\x47\x54\xb1\xa5\x68\x37\x2f\x84\x92\xe6\xb1\x90\x4e\x1d\xa9\x93\x4a\x7f\x84\x04\x12\xaf\x87\x0a\x4f\x8e\xb9\xb0\x5a\x5e\x04\xc8\xc5\xd9\x78\x27\x17\x67\x63\x1d\xe4\x20\x5b\xe5\xae\xcc\xc3\xf6\x35\x70\xe8\x8b\x96\xfd\xd4\x19\x8b\xc8\x3b\x2e\x39\x24\x07\x77\x2d\xb0\xfe\x44\xdb\x32\xd9\x88\xba\x74\x9a\xba\x4c\xaf\x71\x3d\xd4\xb5\x54\x92\x7b\xf6\xd5\x1d\x04\x9c\x54\x60\xde\x32\x18\xcf\x3d\x57\x2b\x6c\x0c\x2f\x45\x7b\x4f\xdb\xf2\x68\x45\xc7\x46\x10\xd5\xc2\x94\xe2\x0a\x5c\x46\x4c\x76\x16\x97\xc0\x45\x12\xb1\x50\xac\xd6\xe7\x4b\x37\x96\xbd\x4d\x80\x12\x23\x43\xb9\x71\x66\xc9\xa3\x43\x31\xb5\x32\x4b\xf1\xd1\x43\x01\x9b\x8c\x91\x41\xd8\xf2\x34\x5d\xa0\xee\x65\x5f\x34\x4c\x73\xa9\xa0\x58\xb6\xb9\xd4\xbd\x75\x06\x8a\x08\xfa\xff\x91\xde\x4c\x71\x96\x7c\x90\xc2\xd6\x1b\x48\xe1\xdd\x57\x44\xbf\x3f\x68\x08\x3e\xb9\x0c\x93\xc8\x67\x78\x80\x23\xf0\xef\xc8\xb6\x6a\x18\x2e\xff\x47\x2a\x23\x94\x04\x5e\x98\x47\x9a\x05\x19\x59\x92\xbe\xce\xd6\xa3\x58\x80\xea\xce\xe0\x81\x4d\x1b\x16\x99\x7d\xc0\x4f\x24\x34\x16\xb8\x3f\x95\x6c\x01\x4f\x0e\x0e\xc1\x8d\x16\x9c\xb5\x3b\x38\x06\x07\x57\x26\x5c\x32\xd5\x97\x3d\xc4\xfd\x00\xa2\x31\x66\x81\x20\x28\x2f\x84\xd2\xd3\x9a\xd3\xe2\xf6\x4f\x1d\x6b\x43\x79\x53\xa6\x02\x62\xe3\x50\xd8\x0a\x64\xde\x29\x25\x6a\x9b\x9a\x8a\x49\xc9\x4a\xe3\xea\x05\x99\xe5\x4d\x19\xa4\x7d\xd2\x15\x24\xc4\x44\x14\x2e\xeb\xbc\x0d\x8c\xab\xf9\x6c\x16\x36\x18\x20\xd9\x8a\xaa\x19\x70\x8c\x75\x81\x70\x2b\xaf\x2a\x31\xa7\x55\xb0\x78\x7b\xa4\x03\x66\x4e\x6f\x8b\xa7\x6a\x56\x60\x0b\x7c\xbd\xee\x34\x3a\xbe\xce\x21\xc6\xc7\x6f\xc4\x26\x27\x21\x1e\xe4\x8d\x64\x8b\xce\x28\x1f\x57\x7c\xb9\x22\x52\xef\x08\xe8\xbf\x97\x74\xcd\xe4\xd0\x15\x6d\x2f\x93\x1d\xd2\x2d\x2f\x6e\x02\xfc\xa8\xb8\x2c\x3d\xaf\xd9\x74\xe5\x2f\x25\xaf\xf4\x7f\x26\x41\x73\xcb\x54\xd7\xd6\x1a\x23\xc0\xf2\x17\xd4\x79\x40\x2f\x0d\xb7\xdd\xef\x99\x7f\x4a\x2e\x31\x51\xf8\x5a\x2e\xd1\x27\xaa\xe3\xbc\xb0\xf0\x00\x28\x87\x03\xf6\x3e\xf7\x2b\xd6\x1a\xd3\x29\xcb\x05\xdc\xb2\xcd\x5c\xd0\xb6\xf4\xdb\x9c\x40\xfb\x49\x9f\x02\x74\x08\x70\x3e\xb0\x01\x64\xed\xc6\x7a\x33\x02\x78\x6c\x1a\x67\x25\x73\x70\xc2\x23\x90\x92\x30\x7f\x36\x0d\x7b\x93\x3d\xba\x61\x31\x66\x72\xcc\xeb\x42\xac\xf5\x79\xb0\xd3\x87\xc9\x3d\x62\x33\xfa\x25\x43\x92\xcb\x1e\x2a\x45\x8b\x95\xbe\x01\x99\x70\x91\x83\x30\xc3\x07\x54\xdd\xfb\x06\xbe\x6b\x1c\xad\xe9\x1d\x5f\x82\xb3\xaa\x95\xbe\xb5\x4c\x76\x55\xa2\x56\xb0\x18\x90\x97\xc9\xfc\x64\x57\xfb\xf3\xa1\xcd\x8d\x47\x16\x43\x44\x57\x0c\xed\x14\x41\x94\x2b\x56\x97\x79\x3c\x81\x52\xec\x0d\x6a\x97\x02\xce\x74\x1d\xe1\x4a\x9f\x8b\xb0\x58\x09\xc9\x6a\x32\xdf\x10\x6a\xb0\x19\x18\x91\x9e\xc8\xf3\xd6\x50\xdb\x86\xb6\xaa\x66\xed\x01\xb9\xa8\x98\x7e\x5c\x6a\x0c\x12\x5d\xeb\x35\x99\x56\x29\x64\x83\x9a\x33\x56\x02\x6d\x2c\x44\x65\xc3\x43\x7d\x78\x0f\x04\xc2\x06\x76\xd3\x15\x57\xe2\x5e\xf7\x61\x22\x57\xe8\x66\xd2\xa5\x83\x37\xe6\xa0\x1b\x0d\x7e\x2e\xd4\xd4\x6b\x54\xf3\xeb\xcf\xcc\x24\xbf\xec\xfb\xdd\x77\x63\xf9\x47\x3b\x1e\x26\x6e\x0a\xad\x0e\x88\xde\x5f\x70\xb9\x30\x67\x64\x8f\x88\xba\xda\xc0\x12\xe9\x29\x9b\xad\xb4\xf9\xa4\xcd\x16\x66\x4f\x53\x46\xc2\x33\x42\xcc\x2d\x06\x0d\xd0\x65\x32\x79\x3f\xed\x21\x3a\xc3\x2b\xd0\x7a\x1b\x54\x74\x81\x9d\xc8\xe1\x1d\xe5\x15\xa0\x01\x4c\x8d\x43\xd5\x96\x11\x63\x6f\x37\xa4\xf1\xd4\x11\x0e\xcb\x0d\x78\x30\x6f\x79\x55\xe9\x3b\x8b\x56\x52\x90\x96\x15\x0c\x4c\xe9\x78\xdd\x33\x03\x1a\xf9\x39\x33\xdc\x76\x41\x6b\x5d\x19\xde\x7a\x1a\x0f\x4b\xae\x22\x70\x93\x09\xc8\x2a\x39\x54\x0e\xa6\x98\x2b\x6a\x2d\xf5\xcc\x42\x4e\x27\x16\xd7\xd1\xed\x02\xcb\x9e\x87\x13\x91\x8c\x8b\x96\x15\x2b\x56\xdc\x8a\x4e\x65\x2f\x98\xa4\x0e\xee\x4f\x24\xe6\x7f\x65\x85\x72\x09\xcb\x34\x8f\x84\x18\x99\xfb\xcb\xa8\x69\xd9\xbe\x83\x6a\x56\xe4\x00\xf3\xf0\x2b\xd0\x35\x6c\x19\xdb\xaf\x98\x52\xac\x25\xa7\x57\x6f\xc8\x77\xdf\x7c\xfd\x3b\xe2\xea\x7f\x78\x4f\x0a\x51\x4e\xcc\x77\x0b\x64\xa0\xa1\x1b\xb0\x6b\xfd\x52\x76\x4d\x23\x5a\xc5\xca\x7d\x0b\x8c\x33\xf9\xf8\x32\x5e\xeb\x75\x45\x28\x40\x5b\x82\xdd\xfe\x42\xa0\x19\x63\x53\x86\x89\x6e\xc0\x2d\x2b\x95\x06\x0a\xe5\xec\xb2\xe0\x3c\x98\xb0\x6a\xae\xfa\xf4\x2b\xcf\x4a\x58\x0d\xb2\xf7\xc4\x02\xb1\x33\x34\x31\xa2\x66\x26\x46\xd4\x54\xca\x10\x47\x96\x0a\x6e\xa6\xec\x8c\x4d\x40\x0d\xba\xc6\x9f\x9f\xc6\x40\xdd\x94\x3a\x83\x59\xb9\xd6\xcf\x3c\xa9\x34\xc9\x53\x3e\x81\xb3\x43\x34\xf2\x84\xd7\x8a\x2d\xf5\x03\xa4\x16\x8a\x2c\x2a\x41\xd5\xb3\x52\x74\xf3\x8a\x3d\x3d\x20\x2f\x45\x4b\xd8\x3b\xba\x6e\x2a\xb6\x67\x2d\xb2\x4d\x88\x2a\xb1\x20\x37\x57\xff\x17\xf9\xfa\xe0\xbb\xdf\x40\x64\x55\xd7\xe7\x7f\x92\xaf\xbf\xfb\x8d\xa6\xdf\xe6\xe8\xb2\x77\x8d\xbe\x46\xe9\x9a\x29\xe3\x8f\xd1\xa3\xe4\xc1\x5f\xa5\xa8\x3f\xbc\xdf\x23\x5c\x11\xb9\x12\xf7\x86\xc7\xee\x5d\x2e\x4a\xbe\xd4\xc3\x6d\xa8\x54\x56\x0b\x51\xf0\x35\xad\x48\x23\x78\xad\x60\x2c\x8c\x16\xab\x60\x1e\xdf\x78\x0a\xbe\xa6\x7f\x15\x2d\x57\xf0\x7a\xef\x3b\x0c\x23\x6e\x4c\x3e\x4d\xcf\x06\x03\x9e\xe0\x5d\x71\xbf\x12\x3b\x70\x3b\x2e\xb8\x58\x96\x6e\xc5\x15\x3e\x05\xd1\xf2\x58\x87\x11\xac\xc7\x77\xa2\x68\x1f\xf7\x1a\x59\xed\x7e\x48\x7e\x5a\x39\xe3\x96\x4f\xb9\x6d\x6f\xd9\x7c\x25\xc4\xed\x1f\xae\xde\x9c\x63\x9b\x16\x16\x23\x62\x88\x9a\xdd\xf7\xdb\xc1\xee\x58\xad\x7e\xdf\x33\x37\x9a\x1f\x48\x13\x5b\xe3\xd7\x25\xb4\x9d\x38\xce\x2c\x86\x25\x75\xb6\x8d\x18\x56\xe7\x01\x23\x36\xef\x07\x54\x78\xb0\xed\xd1\x31\x82\x28\x8a\xaf\x99\xe8\x10\x62\x68\x5a\xba\xe2\xdc\x22\x59\xc9\x75\xb2\x30\xee\x7b\x66\x31\x9c\xdf\xb1\xe6\xd7\x1c\x2b\x97\x48\x80\x74\x0d\x74\x52\xce\x5b\x0a\x55\x3a\x47\xfd\x7b\x3e\xf1\x2c\xf0\x2d\xc3\x06\x9a\x56\x44\xdf\x47\x2b\x2e\x95\x15\x6c\x52\x37\x89\x67\xbd\x14\xf6\xc3\x7b\xe0\xe6\x56\xbc\x2c\x59\xbd\x4b\x98\x3f\x0b\x6a\xe8\x63\x67\xc7\x34\x5b\xf3\x29\x77\x22\x25\x6b\xfa\x8e\xaf\xbb\x35\xe9\x6a\xdf\x36\x88\x3e\xd6\x0f\x99\x58\x67\x11\x33\x50\x37\xab\x94\x81\x9d\xb0\x09\xc1\xec\x27\xec\x87\x5d\x5d\x2b\x6c\xcf\xee\xc6\xb0\x1a\xba\x17\x56\xe8\x6e\x74\xc5\x7e\x05\xb0\xd9\xae\xa8\x4b\x97\x5b\x7e\x02\x24\xdb\xfb\x62\x11\x0c\x3f\x6e\x64\xe2\xd2\x45\xe3\xda\xd1\xcf\x04\x77\x8e\xcc\x2d\x24\x44\x1c\xdb\xb2\x8a\xa6\x0e\xba\x84\x60\xe7\xf1\xcb\xaf\xdf\x43\x56\xc0\x06\x4b\xc3\x97\x3c\x9c\xc7\xb6\x95\x03\xe3\xed\x82\x37\x34\x8a\xdd\x9e\xad\x82\x10\xb0\xa6\x2f\x86\xa5\xa9\xd8\x42\xed\x91\xbf\x0a\x0e\x52\x4f\x4d\x00\xac\x63\xba\xe6\xf8\xca\x35\xb7\x21\x6e\xfa\xf5\x14\x2d\x09\x69\xc6\x47\x13\x8a\x07\x6e\x03\xee\xad\x74\x4c\x95\x4f\x65\x87\x5d\x90\x8f\xec\x25\x54\xb3\xfb\x59\x13\x6f\x69\x8a\x1f\xe1\x8e\x49\x45\x55\x87\xe8\x96\x5a\x76\x37\x0e\xc8\x47\x87\x99\x00\xed\x27\xcc\x9c\xf9\xe2\xfa\x6a\x17\xcd\xb8\x15\x6d\x4d\xe0\x99\x79\xad\x99\x0a\x89\x48\x70\x12\xec\xbf\x64\xd4\x05\x17\x96\x47\xa2\x56\x03\x0d\xf1\xf6\xba\x28\x1d\xe9\xd9\x48\xf4\x4e\xf4\x5a\xd1\x7b\xd6\x32\xd2\xb2\x9d\x22\x81\x3c\x14\xe3\xe3\x21\x84\xe8\x3f\xb9\xc7\x51\x9f\xf4\xd3\x63\x19\x39\xa4\x1b\x59\x8e\x9f\xe0\x96\x7d\xb8\x16\xe2\xb5\x88\xfc\x32\xd0\x62\x6c\xb5\x5b\x46\x68\xcb\x80\x8d\x72\xd2\x4f\xf7\x56\x1d\x6e\x83\x31\xd0\x2b\x2a\x30\x51\x81\x80\x2e\x10\xe4\x04\x0c\x7d\xc0\xe3\xd8\x66\xe8\xe5\x8b\x05\xd3\xef\x34\x10\xa0\x29\x21\x48\x25\xf4\xb3\xba\xb5\x82\xb5\x80\x5d\xab\xbf\x52\x71\x7c\x26\x17\xac\x84\xe9\xa3\xaf\x68\xab\xfa\x38\x2a\x8b\x56\xac\x07\xe3\x6a\xd4\x30\x17\xda\xd8\x4e\x5e\xf7\x5d\x3f\x6e\x22\xd4\x60\xc7\x5d\x8f\x1e\x8e\xfc\xc4\x97\x73\x7c\xe6\x13\x8c\xd1\x27\xdd\x44\xde\xcf\x21\x4d\x50\x03\xb9\xb5\xba\x28\x2e\xff\x30\xba\xc3\x9e\x5b\xe8\x0f\xef\x49\x9f\x55\x8e\xa8\x95\x46\xe6\x0f\x7f\x7f\xc0\x79\x1d\x8b\xdd\x03\x86\x3f\x00\x1a\x0d\x94\x39\x6e\xb7\x19\x4f\x44\xef\x75\x6d\xe3\x9e\xaf\x59\xc9\xa9\x1e\xbe\x09\x85\x20\xc5\x9a\x29\xc0\x44\x56\xc9\x94\x9f\x78\x28\xf3\xf7\x98\x10\x4f\x89\x66\x96\x13\xa5\x5f\xc3\x02\x93\xd3\xe3\x9d\xcc\xb1\xdc\xae\x3c\x2c\x0c\x46\x84\x8f\x6f\xd9\xfc\x22\x76\x08\x41\x8b\x11\x5c\xb5\x36\xca\xde\x14\x19\x58\x53\xdd\x57\xc4\x47\xa1\x97\x0c\xf0\x5f\xde\x5c\xf9\x1f\xe6\x9e\x41\x29\xc8\xc9\x9d\x31\x2d\xec\x6a\x45\xe8\x42\xf3\xe8\x2e\x4a\x94\xa8\x1f\xca\x49\x34\x2a\x6b\x81\xdb\xfb\xf8\x03\xdf\x17\x5e\x69\x7e\x41\x1f\xda\xad\xdd\x51\xc4\x94\xc3\x5b\x96\x0f\x36\x7d\x0c\xbb\xd4\xb1\x31\xaa\x7e\x01\x7c\xf6\x25\x5f\xae\x70\x2e\x06\xad\x97\xe6\x45\xb3\x16\xda\x96\x6b\x6f\xa1\x9a\xc1\xb4\x1a\xcc\x6b\x40\xa1\xa9\xdf\xf6\x7a\x29\x0c\xf0\x8f\xc6\x2c\x6b\x16\x3e\x33\x9d\xce\x5a\x3f\x87\x94\x7b\x2d\xb1\xf1\x4d\xb4\x7e\xb0\x57\x68\xca\xc4\xdb\xdc\xa7\x69\x8b\x1f\x6d\xc1\xd8\xf2\x07\x0f\xa4\xc3\x32\x55\x34\x23\x55\x92\x45\x3f\x87\x40\x94\x7d\x1c\xd1\x94\x2d\xc0\x3d\xc0\x5e\xe1\x92\x86\xdc\x6b\x26\x88\xbd\xc0\x22\xc6\x9d\x96\x25\x12\x77\xc1\x86\x8b\x9a\x60\xc4\xb1\x07\x22\x4f\x80\x62\x67\xe0\xb4\x8b\x26\x5a\xd2\x03\x6c\x43\x6a\x1f\x58\x77\xfa\x6e\x81\x75\x8b\xcb\x63\x8b\x7a\x4f\x8d\xec\x5c\x1c\xd2\x6d\xa4\x12\x92\x13\x71\xcd\x6b\xd2\xb0\x76\xcd\xa5\x84\x00\x59\x40\xa2\xfb\xb8\x51\x15\x5b\xd2\x62\x43\xbc\x54\x4c\x9f\x9c\x40\x84\xf0\x91\x34\x19\x47\x0d\x58\x0b\x4c\xdc\x20\x4d\x64\xdf\x09\x6c\x85\xc6\x94\x16\xb4\xe7\xac\x34\x6f\xf7\x87\x6c\xe4\x93\x92\x3d\x75\x0f\x7f\x54\x0d\x95\xdd\xce\x1b\x63\xa8\x4c\xe6\x54\xf2\xc2\x59\x7a\x42\x2c\x45\x01\xba\x3d\xc7\xf0\xd3\xba\x24\x6b\x7a\xcb\x88\xec\x5a\x1b\xc0\x9d\x56\x95\xed\x7f\x6d\xa7\x61\xd4\xd9\x58\xa4\x74\x74\xab\x8f\x21\x82\xdd\x36\x84\xb0\xb5\x90\x4b\xdb\x9e\x02\x27\x11\xe9\xcf\xc2\x47\x1f\xed\x89\x76\x55\xff\x18\xcb\x8c\x5f\x54\x51\x05\xc4\x91\x7a\xdd\x08\xc9\x95\x75\xa3\xf6\xf6\x35\xae\x85\x3b\x5a\x89\x36\x2a\xee\x75\xb0\x08\xe6\x22\x4b\xa1\x8d\xce\x64\xfc\x19\xa2\xc6\xde\x20\xd7\x01\xf3\xde\xb4\xac\xa1\xad\x63\xdb\x03\x99\x23\x6c\xc6\xef\x3d\x73\xef\xf3\x95\xed\xf5\x19\x8e\xf6\x08\x53\xc5\x01\x01\xdd\x9d\xe9\x59\x43\x84\x4c\x80\xa0\x55\xf9\x2d\x91\x4c\xf3\xcb\xf2\x80\x9c\x2e\x48\xad\xb7\xb5\x31\xe6\xa6\xb6\xb6\xb7\xf4\x30\x4c\x95\xaf\xef\xb4\xa9\x5d\x55\x92\x39\x0b\x53\x7f\xc3\xd6\x7b\x2a\x21\x95\x68\x1a\x56\xda\x67\xc6\xfd\x8a\x2a\x76\xa7\x31\x9f\x7d\x25\xc9\x9c\xb1\xda\x14\x1c\x4c\x7b\xda\x5c\x6f\x1a\x63\x44\x09\xe5\x17\x5e\xdd\x6b\xae\x16\x5e\x93\xd7\x74\xc3\x5a\xf2\xf5\xef\x76\x7a\x48\x56\xba\x91\xfc\x12\xfe\xec\x7f\xfd\x3b\xe0\xc1\xb6\x1c\x3c\x9e\x5e\x87\x5b\xc4\x4e\x23\x52\x0e\x51\x2f\x38\x82\x21\xe6\x33\x2e\x43\x82\x38\xb1\xfb\x7a\xc5\xf5\xca\x2f\xf8\xb2\xb3\xe9\x25\x02\xf1\xf3\xef\x43\x81\x86\xdd\xa9\x96\xed\x7b\xa9\x86\x6d\x69\x63\xd3\xae\x58\xd5\x1c\x2c\x99\x32\xdd\x4e\x0e\xa1\x6a\x23\xcb\xc6\xad\x03\x5b\x6a\x9b\xd1\x51\x5e\x32\xc9\x10\x19\x72\x54\x9a\xd2\xc9\xaa\x72\xf9\x1d\xad\x3c\xcc\x05\x17\xed\x3b\x38\x2e\x8c\x2d\x57\x4a\x2a\xfa\x12\x34\x84\xe0\xb2\x97\x05\x81\xfd\x75\x01\x19\x2e\x07\xcb\x69\xac\x25\x86\x72\x98\xb2\xb0\xc6\x17\x19\x26\xb4\x10\x75\xed\x22\x5e\xf8\x21\xe0\x9b\x6f\xae\x88\x58\x09\x81\x4c\x05\xad\x95\xda\xcb\x8b\x35\xeb\x85\x6c\x03\xa9\xc5\xb3\x5e\x68\x11\x2f\xe5\xaf\x22\x4f\x7f\x88\xac\xd0\x8d\x38\xe1\xe6\xff\xa9\xdf\x83\x43\x5c\xd9\x82\x24\x79\xec\x38\x8b\x24\xcb\x76\x31\x07\x98\x9d\xdf\x16\x97\x37\x2e\x70\x99\xc0\x42\xf9\x4e\xdb\x1c\x7d\x48\x7e\xea\x68\x65\x2d\x67\x5c\x62\x2e\xc0\x58\x77\xc3\xcd\xc5\x3b\x0c\xd8\xf6\x0d\xe8\xfd\xaf\xcd\x56\x7c\x9a\x65\xbf\x2a\x56\xac\xec\x2a\x56\x6e\x59\xff\xb4\x1e\x7e\x4c\xa5\xab\xe7\x97\x6e\x70\x30\x03\x91\xb0\xad\x4a\x7e\xea\x58\xc7\xbc\x3e\x5d\xed\x12\xac\xd4\xf5\xb6\xef\x37\x6a\xe2\xbe\x1f\xdb\xd1\xa4\xe3\x9d\xf8\xaa\x46\xbc\x26\x83\xb5\xe5\xb4\x12\xcb\x97\xbc\x8a\x83\xf2\x22\x85\x19\xe3\x88\x85\xa8\x4a\xd6\x5a\x5b\x02\xf3\x4e\x9d\xbe\x2a\xa6\xf1\x30\x44\xbe\x1f\xcc\x40\x68\xe9\x7a\x02\x7b\xc2\xdd\xfb\x78\x6c\xe2\x50\x8c\x60\xfb\x39\xee\x22\x9a\xeb\x67\x88\xef\x2b\x58\x5a\x8e\x6e\xae\xa9\x81\x8a\x3d\xfc\xfe\xc2\x63\xe3\x63\xf7\x56\xb8\xa1\x20\xb6\xa0\x10\xaf\x41\xb7\x21\xa7\xc7\x3b\xd1\x8c\x6d\xf3\x47\x28\x45\x54\x9a\x72\x27\xc0\xb2\x49\xc7\xb3\x59\x46\x7c\x11\xe1\xdf\x03\x16\x62\x30\xb8\x0b\xee\x42\xc6\x23\x63\xb3\x85\xc8\xa1\x2b\xa1\xdc\xb8\xb3\x41\xa5\x67\x5d\x6d\xfe\x79\xc4\x3e\x00\x66\x0d\x50\x1e\x45\x93\xa7\x7e\xe3\x8d\xe9\xe9\x5a\xb4\xcc\x98\x06\x17\x15\x2f\x6e\xc9\x8a\xb5\xec\x01\x18\xf1\xa5\x26\x88\xfb\xe1\xfa\xe7\xe5\x8e\x66\x59\x53\x92\xca\xf1\xb8\xfe\xa1\x30\x26\xd9\x91\x2d\xd4\xf6\xa6\x6e\x19\x2d\xcf\x68\x7b\x9b\xd9\xfc\xa0\x02\xfa\xfa\x58\xd3\xba\xa3\x15\xe9\xa0\x1a\x59\xd3\xf6\xb6\xbf\x93\xac\x1f\x03\x62\xff\xf2\xa8\x10\x62\xe7\x8d\x30\x93\x45\x36\xc2\x8a\x4b\x61\xee\x6b\x08\x38\x45\x44\x4b\xba\xda\xfe\x0f\x52\x8f\x11\x15\xf7\x71\x4b\x17\xca\xb2\x0a\xe9\x76\x84\x85\x29\x79\x84\x6c\xb4\x4c\x5a\x25\xcf\x92\xc5\x56\x49\xa5\x6e\xbc\x9b\xc1\x0c\x34\x19\x90\x4c\xf8\x96\x59\x2a\x28\x9a\x2e\x5b\x07\x7f\xe7\xc8\xb1\x14\x20\x80\x61\xa3\x0f\xf7\x9d\x5d\xa9\x93\x92\xab\xf8\x05\x94\xac\x17\x52\x05\x95\xbd\xf5\xca\x2f\x56\x72\x35\xb0\x38\x8a\x74\x54\x1f\xfb\x3a\x5a\xf7\x23\x4d\xd7\xc3\xc8\xb0\x71\x03\xae\x7f\x95\x37\x8d\xde\xb2\xb1\xed\xdc\x69\x1f\x77\x5c\x7b\xbb\xf9\x3b\x6d\xc1\x47\xd8\x25\x8d\xac\xf4\xc5\xf5\x95\xd9\xd6\x8f\x5e\xce\xba\x68\x37\x8d\x62\x10\x26\x22\x23\x7a\xc4\xea\x20\x31\x07\x15\x6b\x2b\x51\x74\x4a\x84\x96\x10\xb1\x00\xb2\x26\xcc\xc1\x02\x02\x78\x40\x8c\x9c\xd4\xe7\x97\x90\x5e\x5e\x08\xe2\xc5\xae\x11\x36\x73\x2a\xc4\xcb\xf5\x6e\x68\xa9\xd8\xd1\x4a\x17\xa9\x71\x39\xc3\x84\x8b\x3c\x1c\xa0\x13\x32\x9a\x51\x4e\x95\xa1\xe3\x3a\x10\x64\x31\xdd\x53\xee\xd2\x5e\x01\xf8\x72\x46\xb5\x30\xb1\xf4\xba\xab\x6d\xec\x59\x6f\x1b\x8d\xad\x22\x20\x74\x7c\x7d\x7c\xdc\x8c\x72\xfa\xbe\x6b\xbd\x09\xf7\x2b\x56\x63\x46\x67\x89\xc0\x26\x9b\x30\xed\xcc\x1a\x52\x9b\x1c\x75\x62\x61\xc4\x69\x90\x4a\x10\xf8\x03\xfc\xb9\x98\x2c\xb3\x15\xf8\x62\x6b\xcb\xb1\x5c\xf9\x47\xfe\xce\x03\x93\x2a\x1c\x21\xd3\x75\x43\xa8\x6a\xd4\x64\x47\xcb\x4f\x73\xf3\x66\xe7\xf6\x92\xde\xb1\xd2\x67\x7b\x18\x4e\x2f\x2e\x45\x79\xad\xca\x8a\x5d\x16\xf4\x4e\xb4\x5c\x85\x59\x0a\x02\x4e\x6b\x0f\x11\xf5\x16\xfa\xf0\xb8\xc5\x3f\x58\x32\x15\xf5\xf6\xe1\xbd\xd1\xe1\xf4\xd2\x60\x4d\x11\x75\x6f\xbb\x09\x7e\xb3\x1d\x04\xef\x0d\xf3\xaa\x1c\x06\x58\x49\xcb\xd0\x05\x00\xa6\xc1\xad\x02\x35\x3f\xa3\x47\xff\xee\x36\x06\x38\x7b\x1e\xf1\xaa\xe6\xbd\x90\x89\xa1\x02\x56\xb2\x6e\x58\xff\xb2\x37\xf7\x2b\x26\x5e\xf3\x3b\xb0\x98\x47\x9e\x91\x71\x29\x12\xd3\xf1\x4e\x0f\x45\x78\x4d\x5d\x78\x99\x9b\xb4\xa4\x83\xcb\x7c\x6b\x88\x0b\x23\xfa\x4b\x20\xee\xc0\x9f\xf6\x1e\xc1\x36\x31\xaa\x82\x03\x18\x8f\x34\x7b\xd4\x4d\xb8\x80\xad\xb1\x63\x32\xd5\x70\x6f\xbb\x1a\x58\x7c\x7b\x67\xf0\x5e\x81\x4a\xe6\x1b\xe3\x0f\x05\xd4\x9b\xba\x30\x2c\xdc\x87\x98\xf9\xe7\x8f\x10\x73\xac\x2f\x99\x20\x4b\x50\xae\xe7\x03\xf2\x82\x11\x7a\x4f\xbd\x4e\x9a\xcc\x69\xe9\x48\x65\x41\x6b\x30\x89\x24\xb4\x9d\x73\xd5\x52\xeb\x33\xe6\x13\xbc\xc3\x12\xa6\x23\x7a\x54\x4f\xd9\x47\x1c\x7f\xa6\x37\x39\x88\x63\x12\xf4\x9b\x85\x06\x73\x79\x54\xf1\x64\x5e\xd3\x7a\x39\xc8\x6e\x35\x28\x48\x89\x9b\xcb\xe1\x0e\x09\xa9\x82\xfb\x29\x78\x55\x7b\x2b\x72\x5c\x6b\xb6\x84\x8b\xbe\x45\x02\x74\xa6\x23\xcb\x99\xc7\x0f\xcb\x91\x27\x54\x15\x8d\x74\x35\xce\x50\x18\xb1\x4f\xb5\x21\x81\x06\x39\x1e\xaa\x55\x25\x6b\xa8\x1a\xa0\xe6\x09\x8e\xfd\x44\x77\x55\x29\xe3\x50\xe2\x65\xd4\x75\x66\x10\xbd\x20\xd5\x57\xb9\xa9\xc5\xc1\x0d\x86\x6b\x28\x96\xbc\xbe\x76\x49\x4f\xe3\xe5\xeb\x8b\xb0\x95\xd3\xa5\x26\xd5\x2c\x79\xa2\x0f\x87\xf9\x70\xc7\x29\xf9\xd3\x25\xf4\xf9\xd4\xa8\x24\x8a\x82\x35\x46\xcf\xe6\x3b\xb5\x77\xd6\xe9\x71\xd2\x67\x5f\x82\xc4\x42\xab\x55\x7c\x7e\x5a\x5a\x97\x62\x3d\xe3\x9e\x9a\x05\xc7\x15\xba\x96\x92\x2f\x6b\xfd\x88\xa8\x83\xa2\x01\x4b\x8c\x9d\x18\x1e\x86\x5a\x33\x34\x43\xdf\x01\xcc\xe4\x3b\xb4\x63\x9c\x4a\xcc\x20\x45\x9a\x7b\xc5\xff\x05\x02\x66\xda\x61\x23\xcf\xe0\x96\xdd\xf1\x4e\xc8\x6a\x43\x54\x4b\x6b\xb9\x60\x90\xf4\xd5\x4e\xaf\x9f\x6f\xd6\x45\xf7\xe7\xe1\x1a\x5f\x88\x2a\xf5\xb7\x0d\xcb\x46\x22\xfb\x58\x3b\xbd\x46\x54\x15\x59\xd1\x3b\xf6\x8f\x20\xd6\xb4\xd3\x1d\x50\x40\x17\x1c\x06\x92\x0b\xdf\xd6\x2e\x02\x82\x5d\xd7\x15\x35\x9e\x2a\x36\xec\x8b\xbe\xf7\x60\xce\x1b\xa6\x6c\xd0\x6a\xfd\x8b\x2b\xc9\xaa\x45\xca\x4d\x89\x0a\xd7\xfd\xeb\xd5\xc5\xe8\xb4\x0b\x20\x85\x73\xd5\xba\x11\x1e\x62\x0a\xdd\xda\x1f\x05\x62\x84\x37\x2c\xc7\x12\x10\xba\x3c\x4a\x70\x25\x68\xba\x77\x27\xbc\x1c\x10\x16\x31\x56\x1b\xe5\x8c\x3d\x8e\x4c\x14\x0d\x53\xfe\x44\xa6\x19\xe2\x76\x5e\x9e\x07\xfb\x11\x9c\xb3\xfb\x2d\xd2\xd1\xb4\x46\x46\xa7\x1a\xf2\xe2\x36\xa2\xd0\x2f\x2d\x1e\x3d\xff\xb7\x68\x54\xef\xd7\x50\xb6\x84\xed\x69\x52\x07\xd5\xa3\xf6\x72\x11\x1f\x81\x69\xda\x4e\x9c\x65\x76\x01\xf5\xda\x04\xbb\x0e\x25\xb3\x79\x4b\xfd\xa0\x47\xe6\x33\x3a\x8d\xc8\xfc\xb1\x69\xf9\x1d\x55\xf6\x39\x22\x50\x63\xea\x8f\x76\x17\xde\x79\x5d\xc6\xec\x5d\x6a\xf5\x8b\x18\xbc\x8c\x2d\xfc\xd0\x3c\x05\xdb\x81\xa4\xce\x16\xe1\xbb\xb1\xbe\x74\x69\x5a\x33\xc6\x2a\xbb\x25\x65\x9f\x66\xae\x32\x75\x57\xe2\x15\xc0\x12\xa6\x62\xa5\x19\xea\x38\x48\x2a\xda\xe7\xa5\x8c\x46\x18\xa4\x3f\x44\x65\x0d\xbe\xd9\x78\xa2\x44\x3b\x2e\xa1\xf8\x62\x83\x44\xca\x47\x8b\xc7\xac\x1d\x23\x81\x82\x0b\xa1\x3f\x20\x05\x50\x67\x33\xcb\x27\x10\xd0\xd8\x8c\x02\x9a\x28\x6b\x39\x17\x7d\x4b\xd1\xb5\x45\x7e\xbb\x2e\x18\x6b\x5f\x54\xa2\xb8\x45\x24\x4c\x61\x19\x16\x78\x80\x59\x36\x78\x6e\xeb\xc4\xf9\xf2\x7b\xa0\x79\xc5\xfa\x10\x84\x51\xec\xce\x7d\x9f\xe9\x5c\xb3\x9e\xb9\x0e\x42\x33\x66\x0c\xa5\x67\xf4\x5a\x14\x2e\x45\x6e\x32\x5b\x57\x86\x48\xd3\x64\x1f\x09\x9a\xd4\x8c\x42\x7c\xc7\xa1\x74\x34\x0e\x6f\x8f\xec\xeb\x2b\x1b\x2a\xd4\x8e\xd3\x48\x5d\x0d\x80\xd1\x31\x67\x11\x33\x2a\x44\x5e\x34\xa6\xc4\xd2\x08\xd6\x42\x38\x3f\xe8\x39\xcf\x6e\x8f\x6b\x97\x93\x4d\xc9\x23\xf1\x61\x2f\x3a\x82\x2e\x33\x38\x1c\xcc\xd4\x85\xbb\x4e\xa7\xe9\x4b\x46\xc3\xc9\x9a\x34\x4f\x05\x1d\x72\x97\xf0\x7d\x56\x50\x8c\x75\xbf\xe8\xdb\x6c\x1d\xd7\x15\x5f\xd6\xb4\xe2\xf5\xf2\xd8\x0a\xcc\xf0\x41\xc6\xd5\x10\xc5\x5f\x32\x5c\x22\x5d\x13\x1f\x84\x6b\x42\x08\xa6\xab\xa4\x51\x72\x62\xfc\xc4\x71\x16\xb9\x1f\xc0\x08\xdf\x6b\x2c\x95\xb6\x19\x50\xe3\xb5\xb6\x98\xc8\x0e\xec\x9b\x3e\x1f\x1b\xfc\xcf\xe0\x5d\x9d\xb7\x20\x3d\xcb\xda\x8b\x4e\x30\x6e\x5a\x23\x3b\x62\xe8\x30\x6a\xeb\xf4\xaf\xf3\x3a\x30\x18\x6d\x0c\xb6\x72\xf8\xee\x4a\xd3\x3c\x6e\x66\x1d\x8d\xad\x93\x4c\x7c\x75\x1f\xa9\x74\xe3\xb1\x58\xf1\x65\xac\x48\x35\x5b\x64\x5c\xe2\xf4\x55\x1c\xad\xf0\x16\xea\xb5\x85\x6c\x4d\x75\xf8\x08\x8f\x88\xa3\x55\xea\x11\xef\xe7\x56\x92\x41\x4e\x8f\x3f\xc2\xca\xfc\xdf\x04\xe6\xe3\x08\x8c\x7e\x5d\x17\xa9\x02\xd3\x7d\x4f\x89\x8a\x29\x20\x6d\x57\xb9\xe5\x44\x59\xb8\x5b\x86\xc4\x28\x06\x0b\x80\x58\xa7\xd8\x44\xf0\x68\xd3\x54\x69\x04\x79\x28\xcb\xc8\x12\xc3\xe6\xf9\x03\xa8\xa4\xd5\xb7\xa4\x13\xed\x8b\x50\x6b\x9e\x40\x6b\x3d\x17\xef\x88\x84\x64\x27\x85\x8d\x63\x13\x2b\x53\x8c\x85\x8a\xfe\xe4\xf4\x6e\xa0\x43\x01\x97\x67\xcd\x21\xd9\xf5\x3f\x58\x32\x75\xa5\xab\xee\x14\x44\xc6\x6d\xde\xb6\x20\x32\xb6\xde\x97\x2e\xe6\xd0\x3e\x8c\x2a\xd0\x4b\x5c\x32\xea\x58\xa4\x63\x2e\x8b\x0e\xbc\xd5\x4f\xeb\xb9\x78\x97\xac\xcd\x48\xd5\x3c\x47\x59\x88\x35\x44\xba\x35\xc4\xa9\xf4\xed\x5c\xe4\x1c\xeb\xff\x32\xb0\x9c\x9d\xbe\x10\x68\x94\x9c\x79\x2b\x68\x59\x50\x89\x1b\x4c\x9d\x2e\x08\xe4\xd7\xf7\xf1\x6c\x35\xe2\xf5\x1a\xc3\xde\x65\xce\x04\x0a\x0f\x6b\x35\x42\xda\xd0\xed\x10\xca\xc9\x6a\x13\xed\x1c\x7d\x30\x20\xef\x62\xd8\xcf\xd6\x44\x72\x78\xd2\x33\x7d\x4f\x77\x0f\x83\x32\x39\x60\xd0\xcf\x7b\xc1\x0a\xe8\x21\x3f\x74\x0d\x32\xf3\x45\xe6\xfc\xc0\x08\x3a\x63\x4c\xf0\xf1\x70\xf5\x76\x0b\xd4\x13\x06\x8f\x79\x54\x37\xa0\x9e\xfd\x6c\x4d\xdf\x4d\x30\x6d\xa9\xf4\xd9\x55\xc6\xa4\xce\x3f\x29\x1d\xfd\x31\xda\x79\x48\xa2\xf9\x31\x5b\x30\x16\x21\xa9\x47\x08\x17\x89\xc4\x45\xbd\x4a\x30\xc2\x1e\xe6\x27\x81\xb0\xb6\x32\xe9\x8e\x87\xa7\x60\x07\xcc\xef\xc7\xf9\xf3\x38\xc1\x7a\xd3\xa9\xc9\x14\xcb\xd6\x4d\x73\x88\x75\x6a\x29\x7e\x35\x92\x35\x76\x12\xae\xc2\x08\xb2\x0f\x3d\x03\x0f\x44\x3b\xe1\x56\xe5\x31\xa3\xdd\x27\xc3\xa8\xad\x17\xdf\xb6\xeb\x2e\x76\xc4\xc6\x03\x20\xff\x3a\x31\x1e\x1f\xbd\x30\xe1\xb1\xbc\xf4\x72\x67\xe4\xc2\x19\x19\x76\x4d\xcf\xb3\xd2\xaa\x4a\x28\xb3\x84\xf0\x93\xc6\x84\xfb\x57\x7b\x48\x48\xc5\xab\x6a\x66\x3c\x98\x72\x2f\x0a\x9f\x4d\x30\x7a\x0f\xd5\x5f\xd9\xa3\xbf\x19\xd1\x4e\x04\x47\x62\x3b\xed\xdd\x4a\x71\xff\xb1\x4e\xcd\xce\x08\x32\xa4\xa1\x79\x04\x89\x17\xf8\x25\xa3\xaa\x6b\x47\x6c\xc9\xd1\x4a\xb8\xc0\x60\x61\xab\x05\xa6\xe4\xd8\x25\x16\xf5\xff\x83\x71\x58\xc8\x13\xc5\xa8\xc2\x04\xa2\x18\x6d\xe2\x23\x15\x50\x3c\x76\x32\xe4\x3c\x2f\xcc\x25\xe9\x97\x16\xf5\xdf\xd8\x45\x6c\xf2\x4f\x2d\xe1\x98\x46\x0f\xfb\xfe\xe3\x40\x24\xfa\xb4\x42\x7b\xeb\xfe\x3a\x7a\x68\xed\x99\x18\xa1\x8a\x71\x8d\x09\x54\x31\x73\x6c\xa6\x61\x08\xca\xc5\x7d\x9c\x84\xed\x9f\x1a\x55\xe2\xdd\xdc\x1a\x0a\x7c\x5a\x0c\x70\x57\x12\xe1\x96\x95\x12\x14\x89\x58\xe9\x81\xd7\x9d\x9f\xc3\xb4\x20\x1f\x36\xe6\xce\x98\xbf\xd6\xbf\xd2\x5e\x17\xac\x56\x23\x17\x6d\x54\x9c\x31\x20\x2d\xc0\x70\xda\x54\x32\x8a\xf4\x48\x1b\xef\x3b\xbb\xa2\x77\xac\x7c\xc5\x17\x69\x3f\x7d\x09\x1e\x02\x4c\x17\x93\x25\x5f\x18\xe8\x5b\x6c\xb7\x9d\xa3\x17\x57\x56\xe2\x18\xfa\x6d\xf9\x9e\x76\x35\xd1\x46\x81\x84\x93\x63\xed\x1d\x2f\x8c\x7d\x8a\xb5\xf8\x48\xa7\x89\xd4\xc1\x2c\x36\x4d\xb5\xc1\xd3\xd3\xd8\xf4\x6b\xce\x49\x2f\x09\x6d\x1a\x13\xb8\x5d\x42\xf6\xcb\xc0\x2d\xc5\xda\x26\x81\xb5\x27\x38\xa1\x1a\x47\x1a\x70\x69\xe9\x23\xe3\x1d\x90\xd3\x9a\x14\xd4\xe6\x02\x6c\x44\xd3\x85\x29\xc5\x20\xbe\x02\x35\xf9\x9b\xe1\xc1\xc9\xde\xf5\x06\xd9\xd0\xed\x1c\xc4\x7c\x4d\x45\x37\xbd\x29\xa9\x86\x41\x2b\xd6\x2a\xc2\xd7\x10\x72\x5b\xb1\x6a\x13\x8c\xa1\x51\x07\xe4\x54\x59\xdf\x1e\x10\x36\x58\x5b\xaa\x15\xad\x4b\x93\xb9\xd3\xf4\x44\xa5\xb1\xe9\x80\xed\xa4\x35\x81\x48\x7f\xb4\xdd\x84\x26\x71\x8a\xb5\x6b\x38\xc8\x2b\xbe\x5c\x55\x7c\xb9\x52\x60\x8e\xaf\xf7\xd3\xc7\x01\x64\xf1\x98\x21\x9b\xe3\x5c\xdf\x69\x42\x73\x84\x95\x28\xc0\xc4\x9f\x9a\xcc\x0d\x83\x34\x23\xde\x6d\xd5\xfb\x6f\x98\x10\x85\x25\xf9\xdd\xef\x7e\xf7\xfc\xf9\x73\xf2\xe4\xda\x62\x09\x09\xf7\x53\x3e\x1d\x58\x18\xb1\x5a\x71\xc5\xc7\x14\x3f\xae\x06\xec\xb3\x54\x9b\x4a\x2f\x0a\x7b\xb7\x93\x7f\xb4\xef\xe5\xd1\x89\xfd\xb8\x66\x92\x33\xde\xb4\x51\x10\xde\xc8\xca\xca\x39\x7f\xfd\x6a\x7b\x98\x3c\x7e\x34\x3e\x63\x7b\x58\x72\x0a\xd2\x64\x4d\x80\x9e\x18\xe3\x68\x5a\xa5\xc6\xd1\xdb\xac\xf8\x60\xc7\x11\x93\xea\xa6\x6b\xd2\x36\x4f\xe6\x42\x54\xd7\x6d\xc7\x9e\xba\x44\x0c\x53\xce\x66\x3a\x29\xb5\x69\x30\x1f\x2a\x70\x70\xd9\xb3\x9e\x07\x05\xd5\x2f\x7d\x62\x32\xdf\x99\x74\xa7\xee\x52\xb7\x94\x46\x43\xf9\xf0\xde\x20\x91\xae\x7a\x78\x71\x4a\x58\xdb\x8a\x56\x1e\x90\x63\x80\x3c\x67\xe0\x54\x6f\x1c\x98\x63\xe2\xe6\x28\x82\xf1\x1d\x31\x09\x7c\x05\xe1\xcb\x5a\x00\x23\x60\x1d\xe5\x3d\xef\xe0\x32\x3c\x82\x5b\x97\x86\xa8\x77\xd6\x04\xff\x03\xcf\x2f\xeb\x8c\xaf\xab\xf1\x35\x23\x4f\xbe\xfe\x0d\x59\xf3\xba\x53\xd3\xf3\x14\xc2\x69\x82\xd1\x7f\x09\x7f\xf6\x61\x91\xc2\x3b\x13\x7c\xcc\x52\xda\x0e\x5f\xd3\x47\xa8\xfe\xcc\x6a\x06\xcb\x26\x55\xdb\x15\x4a\xb4\x4e\xfd\x60\xf2\x2d\x2c\x04\x81\x84\xc7\xce\x2c\x01\x32\x46\x9a\x34\xbc\x10\x86\xa0\x7b\xc7\x2b\xee\xdc\xf5\x12\x6b\xa4\x11\x7f\x6d\x3c\x4b\x8f\x35\x72\x4b\x8d\xee\xc7\x8d\xdf\x60\x22\x47\x2b\x9a\x8d\x60\x91\x54\xf8\xb8\xb5\x88\x52\xe3\x45\xf7\x0f\xc4\x8a\xc3\x14\xfe\xd9\x50\x01\x91\x82\x27\x4c\xfa\x3e\xb4\xfe\x9f\xe8\x10\xaf\xbf\x3e\x94\xe1\xcb\xdf\x07\x27\xb6\xc4\x26\xb8\x0e\x6e\x82\x7f\x86\x7b\x40\xef\xda\x96\xcd\x91\x26\x3d\xf5\x96\x74\x5f\x8b\xfb\x72\xa6\x81\x21\x90\x34\xfa\xd8\xc4\x9c\x2e\xdb\xda\x48\xcc\x93\x87\x65\x1b\x83\x8b\x60\x96\x0d\x91\x94\x5a\x5b\xf4\xba\x46\x29\xd6\xcc\x47\x92\xd2\x3b\x95\x06\x4b\xd5\xf0\xa1\x60\xcc\x94\xe3\x9e\x59\x21\x96\xab\xea\x7d\x78\xf3\x83\xde\xd1\xb2\x1f\xcd\xfc\x88\x4d\x8e\x4b\xff\xc8\xfe\x07\x0e\x2a\xb3\xf7\x45\xcb\x9a\x6a\x33\x53\x48\xf2\xe4\x4b\x5d\x42\x9e\x18\x0d\xca\xd3\x30\x09\x6c\x6a\x81\xcb\x2b\x86\x8d\xee\x74\x41\x54\xdb\xb1\xbd\xe1\xca\x51\x62\x5a\xb8\x6f\x7b\xa4\x16\x11\x1f\x24\x83\xa8\xd3\xaa\xe5\xcb\x25\x6b\x11\x2b\x9d\x3b\x4e\x67\x73\x91\x21\x7d\xfd\x99\x08\x7c\x93\xe7\x42\xf9\xd4\xe2\xee\x2d\x39\x86\x41\x83\x6b\x60\xf4\x0a\xc8\x92\xff\xe8\x78\xba\x55\x30\xb9\x61\x05\x79\xe2\xdd\xfd\xf5\xd9\x7e\x4a\x68\x2d\x00\xd7\x20\x7e\xfb\x84\x3b\xef\xdf\x24\xf9\x01\x24\xf9\x73\x52\xd2\x90\x73\x47\x63\x22\x4f\x24\xa3\x36\xab\x19\x46\x3b\x27\x90\xbd\x87\xd2\xd2\x31\xfa\x3f\x12\x69\x2b\xd7\xe8\xdf\xe4\x74\x40\x4e\xf5\x3b\xc2\x9b\x15\xa0\x24\x75\x17\xa5\xfa\xaf\x44\x77\xb3\xfe\xab\xd7\x91\x51\x91\x65\x6b\x9e\xf0\x45\x2f\x8f\xbe\xe7\x26\xda\x57\x6c\x7e\x54\x32\xa9\xf4\x99\xe5\xa2\x7e\xba\x3d\xeb\xe9\x2f\x4c\xf4\xaf\x58\x3d\x4e\xf8\xc3\x0a\x1f\xc7\xfb\x27\xc6\x17\x4a\x10\xea\xa2\xe3\xeb\xab\x38\x5a\x2a\xc3\xd4\xf7\x06\x87\xec\x9d\x6a\x69\x11\x45\x95\x36\x32\x3c\xe3\x5f\x01\x52\x54\x17\x0c\xc4\xcc\xdf\x24\x7a\x1f\x4a\x6e\xfe\x7d\xd1\x7c\xce\xf0\xcb\xd1\xf9\x50\xe3\xec\x76\xda\xfa\x50\x29\xe3\xc2\x6f\xca\xff\xc5\xe9\x6d\x70\x52\xbd\x4b\x27\x22\x64\x0f\xca\x10\xe6\x2c\xf5\xd1\x94\x91\x6f\xda\x98\xa8\x1d\xb2\xde\xa4\xc2\xf6\xc3\xaa\xea\x63\xb0\x3d\x5c\xdc\x1e\x80\x09\x05\xee\xfd\x74\xf0\xa8\xdb\x49\x05\x54\xb7\xe0\xbd\x18\xc2\x79\xff\x63\x04\xf6\x5d\x53\x79\x8b\x0c\x26\x4a\x5e\x65\x94\x30\xbd\xf5\x03\x05\xe3\x07\x79\xeb\xbf\xa4\x67\x27\xef\xf1\xe1\x74\x3c\x66\xcd\xe6\x1b\xff\x61\xc4\x67\xed\x7a\xc5\xd6\xe9\x85\x61\xbe\x22\xba\x8f\xa2\x12\x1d\x18\xb9\xad\x59\xde\xa7\x53\x39\x98\xc9\xb5\x9b\x04\x6c\xea\x07\x72\x23\x59\x7b\x4e\x91\xb1\xf8\x82\xac\x33\xb1\x93\x1c\x7f\x25\xc9\x82\xb7\xd2\x04\x98\xda\x23\x15\xb5\xff\x02\x3b\xa3\x2b\xe8\x1f\x07\xc3\x10\xfb\xad\xcc\x45\xab\x82\xa0\xef\x1e\xe0\x01\x39\xf2\x01\xc8\xbc\x70\xb5\x66\xf7\x7d\xb0\xc9\x96\xd1\x6a\xd6\x03\xb4\x22\xd7\x20\xe2\xd3\xcb\xae\xaa\x3e\xbc\x0f\xaf\xd8\x89\x52\xcf\xa0\xc5\x33\x07\x08\x70\x4c\xcf\x71\x64\xf4\x7e\x09\x26\x0e\xde\x83\xfb\x25\xc6\xbe\x2d\x4b\x51\x26\xb0\x8e\x69\x98\x9f\xb3\xdf\xe8\x7c\x4e\xa6\xff\xf8\x88\x9c\x4c\xff\x11\x11\x74\x3d\x54\x70\x0e\x45\xd1\xd6\x94\x64\x92\xfa\x7e\x25\xad\x5f\xab\x49\xff\x97\x27\x6a\x8d\x83\x8f\x38\x96\x04\x00\x3e\x5d\xfc\x16\x3b\x74\xf3\x3c\xc0\x26\xa5\xc4\x58\x0c\x54\xcb\x08\xea\xf9\xb5\x62\xc1\x2b\xa6\x87\xa9\xc4\x24\xf6\xcd\xc9\xc6\xa1\x85\xd3\x85\x62\xde\xba\xd8\xdb\xc5\xb8\xda\x04\x5d\xa6\x0d\x6d\x2e\xf8\x11\x9d\xcd\x87\xf7\x4f\xf7\x88\x7e\x0b\xd4\x3e\x9d\xbe\x6b\x55\x6d\x0c\x83\x0e\xb0\xa5\x66\x4e\x24\x53\x10\xfc\x23\x9a\xe6\xce\xa7\xc2\x75\xfd\x31\xa7\x22\xde\xbd\x2b\x93\xde\x1e\xdb\xbe\x2b\x97\xf9\x1e\xb1\x05\xd1\xec\xbb\xc9\x8c\xef\x97\x7e\x10\x49\xc2\x81\xc5\x2e\x1f\x34\xa3\xfe\x27\x99\x4e\x26\x7a\xf4\x47\x24\xad\xfb\x57\xca\x54\x77\x68\xd2\x7f\xa9\x4d\xc3\x80\x24\x7e\x86\x14\x75\x0f\x4e\x38\x97\xcb\x35\x9d\x4f\x32\x5d\x9b\x78\x25\xb5\x89\x8c\x0a\x36\x49\x71\xd2\xe9\xed\x89\xa4\x2d\x00\x5d\x3b\x9a\xde\x80\xec\xfe\x53\xdb\x18\x8d\xa4\x76\x7e\x3b\x31\xa1\xb3\x3c\x28\x9c\x13\x4b\x18\x41\x32\xda\x47\xac\x0e\x7a\x56\x35\x2f\x82\x5a\x8a\x15\x2b\x8a\x6d\xc4\x11\x7c\x4e\x94\x4f\xbc\xa6\x48\xe8\x8a\x54\x5e\x09\xf6\xb1\xb6\x3f\x2b\x97\x88\xdd\x20\xa3\x48\x8f\x7b\xc6\xbd\x43\x7f\xf7\x32\x8b\xa6\x15\x77\x5c\x9f\xa3\x06\x1b\xc7\x63\x7a\x87\xd4\xec\x7e\x96\xb7\xb7\x0b\x42\x59\x21\x8f\x0d\xbd\x62\x33\xb7\x2f\x49\xdb\x37\x46\x07\xe0\x9d\x3e\x27\x3c\xd0\xf5\x5e\x1b\xaf\x54\x58\x49\xeb\x62\x2b\xcc\x02\xeb\x55\x57\x81\x13\xaa\xe5\x52\xdf\x29\x30\x17\x78\x18\x9a\xeb\x96\xa8\xbc\xc1\xa5\x36\x02\xf1\x75\xd7\x34\xc2\xca\xde\xc2\x40\xe4\xce\xe1\xb0\x8f\x91\x6a\x4f\xbd\x85\xea\xe8\xba\x79\x89\xb3\x8a\x36\x32\x23\x88\x44\x96\xe2\x46\xa6\xef\xbb\xd1\xd3\x75\xb2\x6e\x54\xea\x04\x9d\xad\x88\x9d\x33\x8b\xfe\xb5\xc8\x1f\xb8\x07\x9e\x21\x48\x3a\x63\xcd\x5b\xdc\x51\x7a\x42\xab\x7b\xba\x91\x64\x41\x2b\xc9\x52\xa3\x9b\x47\x75\x4a\xb2\xd8\x6a\xdd\xce\x3e\x42\xb2\xf4\xab\xa3\xe0\x28\x56\xe5\x62\xf6\x8e\x54\xc5\xa3\xe3\x07\x04\x91\xfc\x0f\x52\xf1\x35\x57\xe4\x7f\x75\xcf\x9f\x7f\x5b\x90\x96\xad\x85\x62\xba\xe4\x80\x5c\xf1\x75\x53\x6d\xf6\x02\x44\x52\x42\x90\x35\xad\x37\x19\x82\xfc\x04\x10\x4d\xad\x68\x6d\x80\x3e\xdd\x1b\x84\x0c\x35\x4b\x26\x45\x75\xc7\x02\xa9\x0a\x59\xd2\x46\x33\x39\x01\x23\xbf\x10\x55\x25\xee\x81\xa5\xa2\x1b\xf9\xfd\xf4\x8b\xc6\x10\xab\x2c\x99\xb4\x89\x9a\x10\x5f\x61\x48\x87\x15\x88\xd1\xd5\x00\xa1\xac\x33\x37\xad\xf5\x84\x3b\xbf\xfd\xfa\x5d\x11\x6e\xbe\x71\x8f\x7f\x10\xf2\xfd\x8b\x1e\xe7\xfc\x85\x17\x9c\xe9\xec\x86\xfe\xea\x27\x76\xfc\xd2\x18\x45\xc7\xf0\xb0\x97\x63\x9c\x59\x39\xc2\x92\xbd\xec\xaa\xca\xa7\xba\x10\x45\xd1\x41\xf4\x63\xc3\x84\x22\x99\x4c\x90\x81\xba\x40\x70\x50\x1c\xeb\x6f\xd1\xd0\x90\x86\x4f\xf1\xb1\x41\x47\x38\x16\x07\xb9\x8e\x62\x89\x4a\x56\xb4\x4c\xd9\xe4\x67\xb9\x7d\x1d\x67\x85\x42\xc0\x0f\x65\x89\x1c\x8c\x1c\x53\x64\x4e\x72\x8a\x57\x7a\x81\x6b\x35\x3c\xe8\xe3\xb8\xe0\xfb\x02\x9c\xd8\xbe\xc4\x38\x66\xe4\xb8\x8a\x61\x0d\x24\xe9\x1b\x8e\x10\xb8\x64\xc7\xcd\x10\xb1\x62\xdc\xfb\x42\xb2\x9f\xc6\x1e\x3f\xa0\x82\xc2\x57\x14\x9f\xd3\x55\xc5\xb7\xa0\xbc\xa9\x81\x3b\x07\x36\x15\x53\xec\x97\xc6\x7e\x48\x22\x65\xcd\xf2\x67\x19\x2c\x39\xf5\x75\xda\x4d\x06\x55\xa6\x1e\xa2\x90\xed\xef\x1f\x35\xfd\x71\x82\x51\xfa\x40\x32\x0f\xe5\x7c\x76\x3b\x6f\x4b\xfa\xe9\xcf\xdb\x67\x3d\x3a\x79\xd6\x29\xad\x83\xf2\x4c\xc1\x15\xc1\x25\xf0\x41\x95\xa8\x97\x1f\xde\xef\x59\x0b\x0c\xe6\xc2\x83\x83\x8e\x48\x33\x35\xee\x4e\xee\x06\x17\x8f\xeb\x78\x77\xc7\xac\x2f\x5b\x56\x88\x3b\xd6\xf2\x7a\xb9\xbf\xa4\x8d\x9c\x20\x05\x71\x0f\x76\x33\x24\x25\xf4\x68\xf2\x3e\xc3\xf2\xc0\xa3\xf3\x60\x95\x1c\x0a\x0f\x56\xe6\xc6\x32\x21\x50\xbc\x93\xd8\xd8\x33\x03\xd3\x1e\xa3\x89\x78\x05\xce\xba\xb3\xca\x07\xab\x66\x2c\x12\x32\x1a\x6f\xda\xbb\x59\x1b\x73\x77\x17\x81\xa9\x47\x4d\x5d\x10\x5c\x52\xf2\x80\xbc\x14\x2d\x59\x74\x2d\xf0\x61\x25\x53\x94\x57\xe0\x31\xbb\x30\xa9\x29\x69\xab\x78\x51\xb1\xa8\xcd\x87\xf7\x17\x91\x13\x90\x97\xe4\x31\xbe\x54\x2b\x02\x32\xb9\x0f\x7f\xdf\xc5\x94\xbe\x2e\xf7\x95\xd8\x67\x75\xb9\x35\x8e\x4f\x24\xf7\xfb\x0f\x63\xd8\xf3\x60\xb2\xed\xb2\x98\x6e\x17\x7c\x79\xa3\xb2\x6d\xcc\xce\x11\x30\x85\x48\xf0\xac\xbe\x04\x13\x7a\x7b\x63\x97\x85\x68\x09\xb5\xa1\x3d\xfa\x5d\xfb\x68\x72\x9f\x9b\xff\xa7\xba\x25\x7f\x04\x05\x9e\x64\x3f\x79\x3f\x34\xcb\xdc\x3a\xc1\x75\xed\x66\x85\xc1\x9b\x81\xdc\x65\x0a\x54\x46\xdb\x8a\x4f\x83\xfb\x0b\x12\xeb\xad\x4c\x41\x96\x44\xe7\xe9\xf2\xe0\x35\x0a\x32\x7b\x2e\x49\xcd\x0a\x8d\x83\xed\x46\x1f\x4e\xf6\x8e\x15\x9d\x62\x61\xb4\xb4\x30\xbd\xcc\x54\x32\x6c\xad\x29\x50\x28\xd6\x96\xa2\x12\xb4\x3c\x28\xca\xfa\x25\xaf\x62\x12\x1a\x15\x24\xb3\xb8\x64\x8d\x7e\x46\xd6\x0a\x5c\x31\xba\xda\xe6\x45\x3e\x3a\x3e\x07\x5f\xa0\x8a\x4d\x1d\x62\x51\xd6\x83\x28\x66\x1b\x74\x6f\xe1\x3a\x33\x61\x7c\xd3\xad\x08\xc7\x7a\xc9\xcc\xef\x73\xc6\xca\xc1\x69\x1d\xa9\x86\x5e\x9f\xa0\x75\x03\xbd\x69\xc5\x68\x1b\x5a\x94\x29\xb6\x6e\x04\x24\xd1\xba\x3c\x3c\x33\xf9\x44\x9c\x10\xc0\x2c\x81\xbe\x5f\xc3\x20\x78\xa6\x33\x56\x3e\x78\x59\x5a\x4d\xf1\xa5\x9a\x29\x97\xc1\x67\x68\x57\x09\xc5\x2e\x4d\x8f\x7e\x0d\xc3\x40\x26\x86\x9d\x82\xee\xc2\xc5\x5c\xa0\xe8\xb0\x40\x71\x41\x2f\xa7\x73\x0b\x3b\x98\xb4\x99\x2f\x8c\x3f\xa7\xde\xcf\x3d\xb3\xca\xb6\x79\x6a\x00\x06\x92\xd9\xd4\x71\x41\x94\xbd\xb7\x20\xb8\x68\x4d\x73\x6e\x83\xa1\x22\xf5\x07\x33\x3f\x2a\xeb\x4b\x56\xf2\x96\x15\x0a\x5f\x84\xb0\x42\x1e\x75\xbc\x3b\x9e\xb8\xaf\xcd\xf6\x3b\xef\xa5\xa3\xe3\x73\x72\x7c\x34\xfd\x20\x27\xe8\x50\x16\x78\x28\x17\x0b\x37\x52\xbf\x6f\xdf\xf8\xbd\x2f\x98\x4f\x3f\x3a\xe3\x77\x98\x81\xa2\x2b\x26\xa7\x3f\x7a\xf4\x82\x59\xca\x1d\x91\x2c\xea\x0b\x0d\x90\x19\x74\x76\xcb\x36\x1f\xdb\x9b\x6e\x35\x5b\x51\xb9\xc2\x10\x11\xf0\xc1\x14\x7e\x92\x7e\x32\xa7\xd3\xa0\x5d\x74\x34\x1f\xd4\x4b\x80\xa6\xf7\x6c\x8e\x93\x6c\x57\x90\x27\xd9\x32\xa2\xd9\x35\xf9\xe1\xfa\xfa\x82\xdc\xb3\xb9\x1e\xd1\x87\xf7\x21\xb6\xaa\x55\x2b\xba\xe5\x8a\xb8\xa1\x7c\x25\x35\xbb\xd8\xb5\x8c\x9c\x5d\x5f\xb4\x42\x09\x9b\x69\x49\xee\x92\x92\x54\xcf\x7b\x12\x95\x38\x4e\xc9\xbd\x5b\xe6\x9d\x0e\xf7\xde\x17\x6b\xbe\xce\x35\x3a\xe3\xeb\x5c\xa3\x31\xd2\xa3\x17\x87\x23\xf9\x01\x25\xff\x5b\x6e\x64\x50\x84\x90\x9d\xb6\x3a\xec\xd4\xea\x12\x52\x41\x1d\xda\x1c\x6a\xe1\xb6\xa2\xe5\xc9\xee\x1e\x03\x83\x2f\x9d\xdb\x46\xed\xd3\xb1\x11\xda\xa9\x95\x68\xf9\xdf\x9c\x6b\x35\x5c\x14\xf9\x30\x3e\xe4\xc3\xff\xb7\x53\x98\xf7\xae\xad\xf6\xa3\x2e\xe2\xbd\xed\x5a\x44\x3a\xac\x29\xe4\xcd\xe5\x6b\x9f\xa9\x51\xdf\x9b\xf7\x6c\x2e\xb9\x7e\x66\xd5\x41\x60\x5c\x9f\xb4\xaa\x12\xcb\x25\xb0\x64\xe8\x3b\x30\x5c\xa2\x63\xb6\xa0\x5d\xa5\x72\x2b\xe8\x8a\x1f\xf5\x02\x0e\xe7\x64\x6f\xf7\xdc\x9c\x5c\xf1\x96\x39\xe9\x05\xfd\x75\x91\x61\x2e\x90\xb7\xc0\x8d\x35\xa8\x33\x1c\xe4\x5c\xa8\x3d\x8b\x00\xce\x4b\x02\x64\x11\x7a\x84\x80\x0d\x11\x78\x6b\x20\xa3\x7a\x39\x86\x55\xde\xd8\x77\xce\x5c\xa8\xaf\xa4\x37\xd9\xf3\x10\xa9\x94\xdd\x9a\x95\x26\x48\x44\xd7\x56\x5f\x49\x52\x8a\x35\xe5\xb5\xbf\xb2\xbd\x9b\xb9\x0d\x4f\x60\x8b\x2b\x13\xdc\xb3\x4f\xea\x29\xd4\x01\xb9\x62\x8c\xbc\xe6\xf5\x2d\xaf\x97\x64\x23\xba\xd6\x55\xb6\x66\x90\x73\xa1\xac\x5d\x3f\xac\xb0\x79\x89\xcb\x89\x8f\xe8\x7b\x5e\x2e\x99\x92\xcf\x20\xe7\xe2\x97\x95\xe9\x65\x5f\xf7\xb2\x6f\x7a\xd1\xcf\x6b\xb5\x62\xfb\x7a\x69\x35\xde\x98\xaf\x19\xfe\xd9\x8c\x6b\xda\xa9\x83\xb5\xaa\xc4\x12\x39\x73\x8f\x4c\x17\xe3\x58\xe3\xfb\x96\x2b\x36\xd3\xc7\x56\x6e\xb1\x8b\x9e\x0b\x65\xc3\x8b\x54\xfc\x16\x24\x4c\x90\x1a\xb7\x8f\x7f\xd5\x07\x51\xc1\xc8\x8d\x8c\xcd\xcd\x25\x66\x5c\x7e\x5a\x97\x9a\x3f\x05\xb9\x4c\xe0\x4d\xe7\x72\xbf\xa4\x8e\x8d\x66\xdc\xc0\xa9\x60\x36\x56\xba\x10\x38\x95\xd0\x68\x36\xd9\x17\x08\x1d\x3e\x5b\xf3\x7a\x96\xb1\x61\x74\x11\x90\xad\x89\x89\xb1\x2b\xe4\x85\xd2\x77\xba\x8f\x71\x6a\x6c\xc4\xbc\x19\x99\x0f\xe1\x9d\x74\x87\x9e\xe7\x53\x19\x40\x81\x03\xfd\x5f\x58\xc3\x19\xf8\xeb\xdb\x10\x1d\x08\x27\x4b\x6b\xbf\x55\x1a\x9f\xc2\x14\xef\x90\x41\xb9\x15\x5d\x23\x71\xc8\x7a\xc5\x67\x9a\x2d\x41\xed\xd5\x7e\x34\x05\x6e\x1d\x5d\x83\x3e\x82\x45\x6f\x8e\xbc\x47\x78\x5d\xb4\x6c\xcd\x6a\x2b\xb3\xd6\xaf\x73\xcd\x30\x70\x65\x6d\x69\xe5\x47\x1a\x29\x9b\xde\x2b\x5e\xb3\xd9\x92\x21\xfb\x35\xc4\xda\x82\x7a\xaa\x4d\x34\xa9\x59\xda\x44\x46\x56\x32\xe8\x92\x0f\xa7\x89\x60\xa3\xae\x9a\x8a\x16\x6c\x05\x61\xf7\x30\x2d\x00\xc0\x08\xea\xf4\x98\xd1\xfb\x92\xa1\xe0\x6b\x91\xd3\x72\x07\xbb\xa9\xe9\xaf\x4b\xa3\x96\xdb\x45\x6b\xe3\x3b\xb6\x1e\x0e\xc3\xc0\xa1\xcf\xd5\x4f\xa4\x60\xac\x62\x6a\x5b\x5e\x04\x5a\x14\x2e\x24\x68\x0f\x56\x3f\xfb\x5d\xeb\x94\x07\xcd\x1b\xf5\xbf\xf4\x06\xfd\x8f\x9b\x68\x6e\xcf\x1f\x9d\x8c\x7f\x6a\x0a\xe2\x2d\x40\xb2\x4b\xf7\x9a\xe6\x56\x6e\x8d\xdd\x68\xfa\xda\x5d\xf3\x9d\xcc\x22\x35\x1c\xd0\xde\x77\xaa\xa3\xd5\x6c\x57\x2c\x33\xcd\xb2\xc8\x96\x31\xa4\xbf\x18\x33\xa2\xcf\x90\xe9\x8b\x01\x69\xb6\xd2\xc9\xa4\x79\xcb\xa4\x6a\x79\x81\xa2\xb8\xbd\x33\xe0\x2e\x73\xd3\x70\xec\x4d\xdf\xce\x0b\x60\x5b\x46\xa5\xa8\x03\x85\x10\xaf\x7d\x35\xfd\x54\x37\xe5\xd9\x11\x04\x55\xd2\xd3\x1f\x86\xdb\xb7\xfd\xdc\xaf\x36\x84\x4e\x1a\x61\xca\x7d\xc8\x82\x22\x5e\xeb\x60\x4e\xbd\xa6\x1b\x20\x30\x44\xd7\xc1\xd7\x0c\x92\xfb\x4e\xd9\x72\x7f\x83\x07\x1c\x65\xb5\xe9\x9f\x22\x19\xf0\x19\x23\xf6\x37\x86\x74\x5a\xfb\xf7\xdc\x86\x82\xd1\x07\x26\x31\x8f\xc6\xa7\xb1\x51\x5f\x60\x0b\x5e\x70\x5a\x11\xdb\x08\x87\x98\xf7\x66\x71\x8c\x77\xea\x5c\xcc\x5a\x40\x81\x89\x07\xc3\x57\xc7\x59\xa5\xc4\x00\xc0\x7f\x4b\x98\x26\xf8\x1c\xfa\x00\xed\x91\x5a\xd4\xfb\xec\x1d\x97\x10\x61\xcb\x84\xc0\xdb\x9a\xd5\x7b\x60\xfb\x4f\x44\x4b\x9e\x67\x06\x07\x17\x71\x3c\x36\xf8\x94\x0e\xed\x9d\x32\x01\xeb\x2c\x6e\x2c\xc4\x80\x7d\x9b\xa3\x06\x3d\x2f\xb8\x18\x25\x87\x5b\xb3\x33\x6e\x44\x67\x0c\x79\x5c\x5e\x45\xbf\xf4\x59\xd6\x07\xb9\x62\x44\xab\xaf\x5e\xb9\x17\x32\xa3\xee\x3e\x7e\x02\x7c\x85\x58\xaf\x29\x78\x10\x30\x55\xa4\xb6\x57\x05\xad\x67\x0d\xaf\x67\xd9\xf0\x07\xe1\x70\x35\x8f\xd2\xf0\x3a\x0d\xf9\x09\xc6\xe5\xe6\xe9\x64\xe7\xb0\xe7\x1b\x94\x96\x08\x88\xba\xda\x58\x5d\x59\x5f\x5f\xbf\x77\xd0\x9c\xdc\x26\x8a\x28\xb0\x92\x59\x23\x77\x63\x61\xc7\x6b\x17\x72\x34\x1e\xc1\xe3\xbe\xa5\x1f\x4b\x58\xe6\x15\x95\x33\x9f\xa9\x36\xbf\xfb\xbe\x8a\xdf\xfb\x0f\xef\xc1\x96\x8d\xde\x51\x5e\xd1\x79\xb5\x83\x91\x21\x96\x18\xf7\xe7\xbd\x09\x29\x5b\xa7\xa5\x6b\xf5\x09\x19\xe5\xac\x1f\xdc\x04\x7a\xa7\x71\x75\x4d\x6f\x19\xf9\x51\x9c\x5e\x40\x48\x81\x71\xe0\x36\x73\xf3\x04\xd0\xe0\xd0\x66\x12\x39\xb9\x61\xeb\x57\x8f\xb8\x87\x33\xa2\x84\x89\x5f\xb0\xe2\xeb\xb4\x3f\x48\xdf\x95\x4d\x2c\x11\xa7\xb9\x30\x2a\x5c\xa9\x5c\x02\x30\xbb\xba\xbb\xa0\x49\x63\xd9\x28\xfb\x80\xcc\xbd\x35\x2f\x46\x7d\xe5\xf2\x3b\x78\x31\x92\xa4\xb4\x7f\x7d\x0f\xf5\x5f\x6b\x6b\x02\xdb\xd3\xe7\xe4\x5a\xe3\x25\x13\xbb\xec\x39\xeb\xb7\xdc\x7a\x5c\x11\x80\x81\x6e\xbb\xbb\x51\xec\xac\x13\x07\xc7\x61\x51\x6a\x96\xa2\xfb\x1a\x75\x69\xc4\x75\x3e\xc7\x47\x7a\x67\xfb\xa8\x76\xc6\xb7\x91\x4b\x1b\x24\xf3\x71\x13\x38\x4d\x58\x60\x4d\xf3\xfb\x40\x6b\x42\x6b\xbe\x36\xf9\x6b\x63\xbe\xf8\xc3\x7b\x60\x85\xdc\x5e\xc6\x12\x8c\x1d\xc8\x1e\xaf\x98\xfc\xd2\x75\xb2\x6f\x3b\xd9\xb7\x9d\x58\xfb\x7d\xbd\xaa\xb3\x39\x47\xcc\xb0\x5f\xbb\x07\xb8\x33\x03\xe7\x15\xdb\x23\x85\x77\x88\x06\xc3\x6c\x2b\x0b\xe4\xcb\x78\x8b\x89\x5a\x75\xeb\x79\x4d\xf9\x30\xeb\xad\xeb\x11\x7d\xa7\x05\xac\xcd\xc2\x32\xd5\x9a\x6f\x57\x1a\x43\xa1\x59\xd6\x37\xf9\x9b\x5d\xce\x79\x64\x92\xf3\x4d\xb0\x0c\x72\x8d\xa6\xf0\xdd\x61\x21\x00\xc2\xc4\xa5\xc0\x4e\x16\xc6\x54\xa6\xe5\x48\xe2\xbe\xb0\xc3\x15\x95\x20\x3c\x06\x97\x47\x10\x8b\x09\xf3\xf0\x5f\xf1\xb2\x64\xf5\x81\xf7\x3d\x34\x4e\xad\x58\x9f\x61\x09\x7e\xa2\x2d\xc3\x3f\xec\x8b\x6c\x98\x1a\x76\xa0\x1f\xc0\x67\xa2\x56\x2b\xb4\x93\xbe\x34\x0d\x9e\x1f\xbe\x2d\xbe\x37\xe4\x5d\xea\x8e\xe0\xbf\x35\x34\x4a\xbb\x7a\xcb\xd8\x6d\xb6\x27\x28\xdc\xb1\xa3\x7b\xdd\x26\xee\xe7\xcd\x62\xa1\x5b\xa0\xdd\xb8\xb2\xac\x73\xed\x57\xfa\x9d\xb4\x08\x7a\x1c\x10\xc4\x7b\x2a\x67\xa2\x76\xf0\x07\xaf\x41\xd0\xeb\x79\x61\x36\x95\xc1\x60\x6d\x1b\x1c\xcb\xec\xd8\xea\xfc\xb0\x6b\x7c\xd4\xc9\x03\xaf\x0f\xda\x1d\x87\x84\x7e\xd7\xf0\x16\x35\x71\x81\x21\x0b\x02\x15\xa2\x83\xe4\xd4\x19\x22\xec\x62\x74\xfc\x26\x74\x7b\x85\xa3\xab\x2f\x9c\xbe\xbf\xad\x6b\xf2\x17\x78\x1f\xea\xb7\x59\x00\xda\x7e\xc0\x22\x11\xd4\xfc\x8e\xb5\x92\x56\xc4\xd4\x89\x03\x3c\xfc\xc5\xdd\xca\x57\x56\x6d\xea\xe0\xf9\x6f\x88\x83\x6e\xfe\x2a\xa8\xc9\xd9\xc5\xc9\xab\xef\x6c\xb4\xe2\x5d\x75\xd2\x63\x17\xc0\xa3\x0d\x02\x83\xe8\x0a\x7e\x04\x16\x65\xc5\xf8\x72\x95\xca\xa8\x9c\xb0\x38\xa3\xa3\xf6\xc5\x1f\xa7\xd7\xce\x99\xdf\x74\xe6\x65\x97\xd9\x42\x69\xcc\x92\xef\xcc\x35\xde\x42\x14\x79\xf8\x52\x8a\xfb\x5a\x16\x54\xbf\x2b\x0c\xff\x65\x5d\x87\x53\xe6\xd0\xb0\x78\x60\x74\x38\x43\x2d\x8b\xf9\x9a\x49\x45\xd7\x8d\xcd\xaa\xe6\x75\x1c\x72\x25\xee\x6b\x42\x8d\x51\x30\x2f\xbc\xb7\x77\x18\x4e\xff\x89\x75\xac\x49\x9f\xc7\xf7\xb9\x5d\xb8\xe7\x25\xd0\xeb\xe1\x41\xbd\xa7\x55\x75\x41\x9b\x48\x8f\xd4\x7f\x4b\x90\xfe\x2d\xad\xaa\x46\x17\x79\xb6\x38\xf1\xcd\x9f\xa6\x3c\x4a\x1f\xd0\x2d\xa3\xf6\x2c\x0f\x5e\xcd\xa6\xc0\xeb\x09\xdd\x08\x10\x43\xd3\xf6\x16\xb3\xdd\x68\x6f\x71\x35\x44\xd9\xeb\xe7\xc7\x25\x5c\x26\xce\x1b\x54\x1e\xeb\x5e\x14\xdd\x1a\x0d\xff\x07\x79\x12\x0a\x90\xd8\xe6\x9b\x3f\xaa\xc3\x3c\xce\xeb\xa5\x0c\x22\x55\x8a\xb5\xc8\x51\xbe\xb0\x05\xd3\x9f\x5c\x29\x82\xa5\x8d\xab\x0e\xe1\x7d\x6f\x6a\xfe\x53\x17\xa0\x07\x1e\xf7\xc5\xa3\xf6\xb9\x18\x18\x2d\x0d\x4b\x30\x2f\x20\x6b\x86\xe9\xb6\x70\x60\xaf\xff\xab\x62\xdf\xa3\x42\x9f\x8f\xd8\xde\x68\x93\xae\x02\x38\xc3\x6d\xba\xea\xdb\x6f\xa5\x51\x03\xdb\x0f\x5a\xdc\x2e\x5b\xd1\xd5\xe5\xac\x10\x15\x46\x72\x9c\x6e\x9a\x92\x8b\xf3\x57\xc4\x62\xb7\x71\x5c\x31\xd1\x4c\x8c\x99\x7d\x6f\x7d\x01\x70\x48\xb1\x12\x92\xd5\x64\xbe\xf1\x94\xfa\x7b\x13\xe4\x8f\x82\xcc\xaf\xea\x89\x58\x3f\x04\xcd\x2b\x5c\xbe\x7a\xf1\x8d\xe7\x15\x52\xb9\x6c\x37\x32\xc2\x88\x22\x46\x66\x9e\xf6\x9a\x52\x1a\x6b\x95\xee\xe5\xbb\xdf\x3c\x7f\xf7\xdd\x6f\x9e\x13\xf9\x53\x07\x82\x30\xe3\x77\x53\x93\xb9\x78\xb7\xaf\x3b\x69\xdd\x84\x5a\x5a\xf2\x4e\x92\xaf\xbf\x79\xdc\x48\xc6\x6b\xc5\x6a\xc9\x15\xa2\xb2\x3f\x75\x45\x3e\xb0\x91\xdd\xc2\x7b\x3d\x61\x63\xe5\x6e\xef\xd9\xb9\xb0\xbe\xd4\xb0\x49\xc1\xbe\xc0\x7e\xed\x91\xe7\xfb\x5f\x3f\x1f\x8a\xec\xf7\xbe\x58\x0b\x9c\x75\x09\xb7\x25\x80\x55\x33\x56\x3a\xe4\x91\x90\x23\xa6\xda\x90\xb5\xb8\xd3\x2b\xae\x47\x54\x32\x48\x45\xc1\x25\x69\x85\xa2\x98\xa2\x17\xbe\xa3\x5d\x1e\x55\xa2\xb8\xbd\xe7\x92\x11\x57\x87\xd0\x7a\x59\xb1\x3e\x85\x2b\x2d\x39\xab\xd5\x9e\xc6\x81\x92\x2d\x5b\xc6\xe4\xef\xc9\xf3\xfd\x6f\x7f\xf3\x3f\x0f\xc8\x95\x67\x3b\xac\xc7\x73\xc9\xef\xb8\xe4\xf3\x8a\x69\x2c\xfe\xee\x37\x08\xe1\xd6\xbb\x31\xfb\x0c\x47\xc8\xc4\x9f\xd3\x58\x69\xfa\x48\xf6\x42\x92\x27\xe1\x41\x79\x6a\x7d\x97\x44\xb3\x3f\x17\x4a\x89\xb5\x9f\x29\x46\x51\xd8\xfc\x30\x32\x06\x0b\x08\xca\xb0\x68\xdc\x5c\x75\x2e\x54\xa4\x77\x73\xbe\xee\x3e\x81\x0b\xd8\x47\x11\x63\x2d\x35\xd9\x62\x2d\x32\xae\x4a\x2c\xd5\x50\xd1\xcb\x0b\xa1\xb0\x78\xd6\xf3\x56\xdc\xa3\x72\xc9\x17\xa6\x00\xc8\xd2\x3e\x5d\xe6\x92\x4c\xcc\x28\x08\x6f\xd0\x6b\xa9\xcf\x91\x73\xcf\xe6\x44\x32\x93\x95\x19\x9e\x66\xb6\x15\x0a\x11\x38\xbb\x8c\xb0\x1e\x07\xe9\x5a\xa4\x2c\xd6\x27\x32\x29\x1b\x35\xe4\x04\x59\x20\xc6\xbd\x46\x16\x8b\x28\x13\xcb\x91\x24\x39\xa7\x17\x84\x96\x65\xcb\x24\x22\x9e\xaf\xa8\xd2\xd8\x8c\x30\x4e\xae\x24\xd5\x72\x2f\x51\x32\x70\x09\xdf\xf7\x48\xc9\x14\x6b\xd7\x70\xb4\xc0\xc2\x3f\xdb\xbb\x3d\x16\xc7\x01\xd7\xda\x9f\x08\xff\x15\x39\x0c\x10\xe0\xc2\x33\xbb\x9f\x86\xf9\xa7\x4a\xb5\x7c\xde\xa1\xc6\xd7\x87\xbe\xcc\x68\x96\x20\xd3\x91\x7e\xd5\x21\x39\x2b\x46\xac\xab\x4f\xcf\x4e\x70\xeb\xea\x5d\x1f\x94\xa8\x1d\xb1\x5b\x30\x72\x73\xf9\x7a\x7c\xa1\xcf\xc5\x45\x2b\xde\x6d\xf0\xf5\x76\x85\xdb\x96\x3d\x8a\xa6\x11\x98\xc9\x6b\x6a\x2a\x3a\xa5\xdf\xb3\xef\x36\x86\x34\xc5\x76\xf3\x3b\xd9\xd0\x22\x06\xf2\xff\x02\x1b\x35\x08\xd3\x76\x9f\x0b\xd0\x36\x8c\x1e\x36\x79\x9d\x5c\xc3\xa0\x4e\x72\x1e\x80\xd4\xe4\x48\x90\x17\xc6\x65\x5c\x95\xc0\x0b\xac\x9c\xe1\x41\xcf\x2e\x5c\x2a\x18\x97\x62\x7f\x10\x65\x6e\xc8\x86\x4e\x89\x26\xf7\xf3\x60\x71\x30\xb3\x1b\x70\xf6\x0c\xbe\x26\xb4\xdd\x64\x0a\x9b\xa1\xbb\xe6\x96\xec\xe6\xf2\xb5\x65\x20\xfa\xc4\x62\x79\x13\xd9\xb1\x37\xf9\x85\x15\xab\xc4\x4b\x49\x28\x58\x57\x01\xe6\x5a\x17\xb3\x01\xc0\xae\xcd\xf0\x61\xc7\xdd\x40\x52\x6a\x20\xee\x59\x6f\x68\x51\x97\xe9\x36\xb3\xf5\x9c\x95\x33\x2b\x20\x4b\x20\xfe\x00\xdf\x1d\x3c\xa8\x0b\x51\x87\xd0\x68\x75\x0e\xd8\x96\x43\x95\x83\xb6\x47\x9e\xb0\x83\xe5\xc1\x1e\xf8\x82\x3f\x5b\xa9\x75\x45\x44\x6b\x64\x5c\xcf\xd6\xcd\x77\xa9\xa0\xc9\xf4\x86\x6e\x96\xdd\x24\x48\x08\x69\x0d\x2e\x26\x0e\xde\x08\xa9\xd2\xdd\xd7\x9f\x27\xaf\xc3\xa3\x7a\xa4\xe0\x57\xe1\x0f\x54\xae\x80\x46\x36\x74\x69\x93\x07\x7c\x1a\xb3\x09\xb1\x58\x48\xa6\xe4\x97\xba\xdb\xfd\x3e\x60\x63\x56\xa6\xe3\x4e\x01\xc2\x48\xe6\xcc\xb6\xd7\xfa\x1c\xb6\x8e\x25\x76\xec\x6f\x8e\x14\x69\xfe\x2b\x63\x64\x09\x99\x18\x22\x7e\x0d\x98\x35\x8b\x87\xaf\x84\xd0\x8f\x98\x63\x51\xc8\x3d\x72\xd8\x34\xe4\x4a\x89\x16\x89\xc5\xa4\xb8\xc2\x54\xe7\xd7\xfa\xf3\x36\x3a\x89\x9f\x95\xeb\xe0\x98\x68\xa6\xb4\x81\xec\x80\x47\x70\xd7\x7e\xef\x82\x15\xec\x19\xc5\xdd\x1e\xa1\x5d\xc9\xc5\x9e\x39\x29\x7b\xfe\x7e\xde\x73\x12\xe5\x3d\x42\x9b\x06\xb4\x79\x52\xac\x99\x5a\xe9\xf5\x62\x95\x9c\x78\x59\xe9\x93\x24\x16\x0e\xd3\xf5\xfd\x6e\x43\x59\x66\x2f\x2e\x7f\x07\x0f\xc3\x9d\xe3\xe5\xa9\x5a\x12\xb2\x5c\x40\x59\x2c\xdd\xb2\x13\xc3\xfd\xa1\xd7\x46\xc3\xfa\xc8\xc3\x43\xe6\xa5\x52\x66\x0a\x63\x12\x29\xb3\x7a\x43\xbd\x6b\xf4\x19\x13\x18\x3a\xe1\x3d\x62\x1b\xc0\xfc\x66\x6e\xb5\x22\xcc\x9e\xd2\x60\x68\xe7\x42\x39\x7f\xc0\x74\x80\x61\x61\x26\xa4\x5d\x74\x1b\xba\x48\xb3\x2b\x2a\xeb\xaf\x14\x1e\xac\x3b\x60\x32\x66\x46\x05\x82\xb3\x1a\x00\xd7\x18\xc4\x3d\x62\xec\x08\x56\xf2\x82\x81\x7d\x40\xba\x8a\xae\x00\x51\x2e\x66\xd6\x8f\xcb\xc0\x5a\x77\xce\x4c\xb8\xd5\x20\x60\xef\xb6\x68\x2f\xd1\x03\xb9\x69\x85\x7e\x40\x69\x20\xa0\x56\x42\xde\xc7\x79\x53\xfa\x5c\x88\x5b\x4b\x05\x61\x0c\x5f\x06\x53\xfe\x12\x9b\xe5\x9c\x4a\x5e\x90\x39\x44\x32\xdc\x34\x36\x9d\x11\xc4\xd5\x07\x2d\xb3\x79\x63\xf7\x46\x16\xc0\x04\xf0\x7a\x59\xb1\x7d\x56\x81\xeb\x8a\x8f\x16\x23\xf7\x08\x3f\x60\x07\xa4\xab\x25\x5f\xea\xb7\xaa\x31\x4a\xb7\x01\x9a\x9e\xeb\x96\xdf\xfc\xef\x6f\xbf\xd9\xff\xda\x02\x75\x09\xb6\x20\x51\xb4\xbf\x7c\x80\x50\x49\x56\xdd\x31\x70\x62\x3b\xd3\x97\xa7\xa8\xed\x30\x61\x5a\xbb\x78\x0d\x3a\x74\x91\xac\xe5\xb4\xd2\x0f\x0a\x4d\x34\x0e\x8d\x4b\xc6\x41\xf4\xf8\x7f\x69\xdf\xec\x76\xb1\xf2\x75\xd2\x45\x8c\x64\x08\xf0\xc2\xcf\xf6\x22\xb7\x75\x81\xc8\xbe\x5f\x83\x50\x63\x1f\x78\x4e\x90\xa5\xc8\x21\x7c\x71\x6c\x9f\x8b\x88\x70\x7d\xb4\x5a\xd2\x97\xc9\x39\x4c\x3b\x25\xdc\x0b\x34\x10\xb8\x07\x9d\x5e\x18\x5b\xc2\xcb\xae\x62\x58\x67\x51\x31\x62\x27\x63\x0c\x11\x5b\x28\x0e\xc1\x5e\xd3\x5b\x17\xba\x70\x00\xd1\x95\xa4\xa4\xce\x14\x58\xa3\xe9\x10\xd6\xba\xb9\xa0\x52\xde\x8b\xb6\xc4\xe0\x05\xa5\x29\x4c\x1f\x80\xa3\x71\x75\x42\xc8\x6f\x9d\xbe\x02\x9b\x7a\x50\x98\xd7\x62\xc4\xb3\x7e\x3b\x10\x57\xa2\x60\x93\x3a\xd8\xe3\x35\xf6\x5f\x8d\x7a\x39\xa6\x1b\x79\x7d\xfd\x3a\x05\xed\x0a\xd2\x55\xe0\x6b\xb6\xaf\xc4\x7e\xc5\xef\x4c\x7c\x2a\x6b\x27\x62\x3d\x9a\x0c\xf0\x4e\xad\x0e\x4e\xde\x35\x42\xd3\xae\x9c\x38\x76\xa4\x12\x62\x09\x6f\xaa\x91\xd4\x69\x79\x0c\xfc\x54\x51\x6f\x35\x3c\x4b\x0e\xf2\xe8\x11\xfa\x24\x47\xe7\x05\xad\x6f\x8f\x68\x5b\xbe\x69\x58\x7d\xd3\x86\x7e\x01\xc3\x92\x34\xd2\x53\xcb\x4a\xae\x48\x41\xdb\xd2\xbc\x24\x34\x13\xe9\x43\xd6\x5a\xdd\xd4\x9c\xd6\xb7\xb6\x23\x99\xb0\x8a\xfd\xb7\x04\xf8\x0b\x43\x5a\x63\x76\x09\xe0\x08\x11\x8d\x52\xff\x4c\x5b\x0b\x51\x31\x6a\xc2\xa4\x1c\xd8\x66\xea\xc8\xd8\xfb\x47\x8d\xfd\x47\xc4\x8f\x5c\xda\x3c\xde\x46\x14\x6f\xbd\x05\xd2\xe8\xb2\xa0\x1c\x30\xa9\x99\x4d\x3f\xa7\xd6\x1f\xa1\xef\xe4\xd4\x98\xe6\x0e\x7a\x08\x72\xd6\xcd\x85\x92\xe4\x49\xcf\xb8\x21\xee\x09\x1e\x78\xc5\x6b\x96\x66\xa5\x4b\x8a\x90\xee\x8c\x9f\xa4\x2d\x8f\xe0\x19\x9f\x7a\x0c\x9c\x2d\x41\xf0\x57\x7f\x97\x36\x9c\x86\xf5\x91\xfc\xa9\x63\xad\x31\x97\x3a\x2a\xeb\x23\x51\x2f\x78\xc8\xdc\xf4\xdf\xb0\xa0\x61\x0b\xbe\x74\x72\x0d\xcd\xb6\xf6\x51\x95\xbc\xd4\x71\x72\x24\x3e\x17\x9e\xe4\xa8\xac\x2f\xba\x79\xc5\x8b\x3f\xb2\x4d\x3c\x8e\xfe\x73\x7a\x0d\x40\x11\x44\x61\x31\x51\xf8\x8c\x7b\x46\xd9\x41\xb6\x8b\x95\xde\x91\x15\xbd\x35\x0e\xd3\x66\x90\xc7\x47\xbb\x8f\xcc\xc4\xb3\x3d\x2c\xd7\xbc\x7e\x2d\x96\x90\x02\x21\x1c\x21\x56\x8c\xe5\x6d\x30\x21\x25\x1d\x06\x42\x88\x5c\xaa\x1b\x69\x8a\x92\xed\xe8\xb0\x18\x90\xaa\x91\x4a\x68\x4e\x9a\xa8\x1b\x9b\x73\x3d\xd7\x99\x7c\xc9\x2b\x15\xd9\xfc\x8c\xd5\xc2\xe2\x2c\x29\xeb\x8c\x0b\x0e\xd9\xf0\xaa\xbd\x73\x02\xc5\x30\x34\x30\x3a\xef\xd7\x81\xe9\x57\xdc\xfd\xeb\xde\xea\x6b\xd0\xe5\x2b\x26\x96\x2d\x6d\x56\xbc\xa0\x95\x37\x0e\x83\xd8\x7b\x5d\xc3\x5a\x13\xcc\xee\xc9\x52\x57\x12\x5d\x23\x9f\x86\xdd\xd9\xb3\x97\x9d\xf3\xa0\x7c\xd2\x6c\x01\xfb\x9c\x0b\xbd\x61\x35\x4d\x54\x3c\x98\x75\xe4\x27\x62\x7b\xb9\x00\xc9\x01\x6f\x28\x86\x53\x61\x61\x76\x73\x9b\xa0\x12\x0e\x38\x3b\x45\xa4\xce\xa4\x69\x16\x69\xd7\xd1\xa4\xe4\x81\x43\x18\x4b\x79\xd2\xae\xd3\x2a\xe9\x91\x89\xb1\x76\xd0\xc3\x94\xf5\x43\x6b\xed\xba\x90\x18\x10\x74\x42\x58\xb5\x5c\x67\xcf\x02\xfc\xc4\x56\x71\x30\x19\x64\xd4\x6f\x20\x29\x28\x29\xd9\x82\xd7\x70\xef\x01\xb0\x03\x0f\x00\x56\xef\x92\x2f\x57\xc3\xc1\x46\x25\x63\xac\x0e\xd8\xed\x43\x35\x7b\x71\x98\x53\x1b\x12\xb0\x60\x1a\xd3\x63\x85\xd1\x86\x3f\xb3\xed\xfd\x68\x5f\xe8\x9f\x25\x3a\xdc\xa8\x68\x87\xf1\x92\x5a\xb4\x6b\x5a\x39\x7f\x1b\x42\x03\x9a\xe0\xfa\xd7\x7f\xd5\xc7\x8d\x7c\xe0\xa0\xe9\x3f\xe5\x36\x2c\x08\x86\x6f\x63\x9e\x96\x36\xe8\xa6\x7f\x7e\x68\x18\xa7\xf5\x1d\x8f\x62\xc6\x06\x1f\x31\xa4\xd2\x17\x0b\x14\x3a\x00\xc6\x52\x7a\xb8\x98\xee\x6b\x2a\x95\xf2\x01\x47\xad\x0d\xb7\x09\x36\x19\xf3\x4b\x1a\x42\xf6\xc0\xa9\xd1\x43\xe6\x22\xfd\xc0\xce\x98\xf9\xae\x99\xee\xf2\x00\x83\x3c\x1c\xf6\xf8\x99\x8a\x57\x56\xfa\x5c\xbd\x61\x37\x32\xe8\x67\xe0\xf9\xd4\x7f\x9b\x78\xc8\x12\x27\x28\x0d\x58\x94\x0c\xe1\xfb\xa3\xcf\x69\xd6\x61\xe7\x46\xe7\x64\x7f\x10\x9d\x00\x14\x32\x36\xe4\x8b\x85\x3d\x64\xce\x32\x9c\x59\x6e\x21\x0e\x2f\x4e\xf5\x47\xe0\xda\x34\xe2\x35\xce\xfb\xc6\xad\x4a\x1f\x67\xa0\xef\xc1\x86\x10\x48\xc4\x3d\x2e\xcf\xf1\xc0\xf4\xdf\x3a\x12\xf4\xd0\x92\x1c\x6c\xf1\xf7\x2d\x09\xd8\xbe\x77\x78\xf8\xcc\xb9\x58\x44\xc0\xe5\xc1\xa5\x49\x78\x51\x5e\xb0\xf8\x66\x43\xcb\x53\xc6\x91\xb1\xb6\xcf\xb2\x6c\xd2\x13\x98\x14\x1a\x26\x4d\xda\xff\xe3\xbd\xd2\xa3\x4e\xaf\x45\xa3\x5b\x22\xb3\x0a\xca\x90\x88\xaa\x0d\x69\x98\x7b\xb2\x1f\x53\x45\xff\x70\xf5\xe6\x3c\x80\xe1\x3f\x8d\x86\x31\xd5\x35\xf6\x59\xad\x71\xa4\xb4\x39\xa1\x0d\xc0\xe2\x4d\x33\xe0\x9b\xfc\x27\xf4\x1d\x63\x93\x99\x03\xd6\x15\xa2\xae\x99\x4d\x90\x26\x20\xe0\x25\x29\x58\xad\x5a\xbb\xdc\xc7\x3e\xb3\x87\x83\x6c\x3e\xe4\x48\xd0\x42\x84\xed\x12\xbe\x23\xfa\x9c\xd2\x08\x93\x2e\x64\x61\x38\x8e\x27\xd6\xbf\xf7\x69\x02\xf0\xaa\x5b\x2e\x99\x8c\xa3\xd0\xe1\xe5\xe9\x89\x73\x45\xa4\x0c\x3b\x93\x68\x6f\x03\xd4\x0a\x3e\xa2\xf8\x04\xfa\x1c\xf0\x1a\x63\x9e\x74\x1a\xa8\x06\x66\x6a\x52\x93\xb7\xa7\x39\xf4\x3a\xa3\x83\xa8\xb1\x57\xd4\x20\x50\xfa\xb2\x04\xdc\x8f\xb4\xe5\xa2\x93\xa4\x11\xd2\x98\xf1\xf5\x46\x06\x86\x22\x7b\x0b\x92\x27\x2e\xb0\xba\xa1\x79\x84\x2f\x08\x57\x5f\x41\x4e\x7a\x93\x4c\x77\x8f\x50\xf2\xea\xf4\xa5\xfe\x63\xb5\x5b\x34\xca\xd8\xbb\x07\x4f\xcc\x35\xa4\xad\xd7\x3c\x83\x51\x84\x81\x01\x9f\xa6\x45\x76\x7d\x5b\xba\x40\xb2\xb5\x47\x9f\xc7\xa5\x30\x2e\x43\x76\xa9\x9b\xec\x76\x83\x43\x13\x73\x16\x4f\xd6\xe2\xaf\xfc\x8f\x6c\x33\x90\xf0\x45\x9f\x91\x20\x10\xe2\xaf\x5c\xbf\x39\xbd\x54\x2f\xac\x2f\xd1\x6c\x70\xb9\x1a\xe9\x3d\xcc\xee\x09\x0b\x3b\x08\x06\xea\x82\xd8\x0c\xe1\xfa\xef\x99\xa1\x56\xae\xdc\x43\xba\xb9\x7c\x3d\x04\x62\x0c\x5f\xd0\xf6\xba\x08\x9a\xba\xec\x08\x03\x06\x35\xfe\x3e\xf9\x56\xa2\x75\x90\x6f\x41\xf3\x18\x07\x71\x2f\x03\x4b\xfc\xf8\x3b\x76\x97\xd2\x18\xa4\x8d\xf2\x1c\x82\x4c\x51\x2e\x29\xda\x3a\xfc\xbe\x03\x8b\x83\xb6\x8f\xb6\x8d\x5c\xce\xcc\x6f\x4c\x0e\x20\x12\x46\x90\x1a\x61\x0c\x61\xba\x8d\x05\x67\x85\x98\x28\x2f\x88\x14\xe6\xa5\xa0\xc5\x80\x39\x74\x05\x76\xc2\xaf\x79\x7d\x8b\x80\x0e\x4b\x13\xd8\x10\x90\x55\x9f\x36\x38\xd7\x60\x7a\x61\x77\x35\x79\xec\x42\x97\x7a\xc7\x7e\xb0\x26\x0f\xb6\x1f\xff\x29\x05\x6e\x63\xc8\xd1\x9a\xb8\xa0\xd4\xd6\x51\xd7\xda\x08\xaf\x18\xc4\x19\xd1\xb7\x17\xa4\x24\xe5\x6a\x63\x6f\x70\x27\x7c\xf2\x9d\x22\x22\x85\xe8\xf3\x48\x54\x3c\x08\x43\x10\x08\x14\xa8\x53\xed\xbb\x18\x8d\xa5\x26\x47\x85\x49\x5f\x2e\xac\x14\xf8\xa5\x0f\x59\xe6\x7a\x33\x1f\x10\xfa\x1e\xdc\x0c\xa6\xd2\xe0\xb6\x09\x3e\xe2\xdc\x0b\x95\x52\x14\x1c\xfa\x57\x22\x04\xf7\x8a\x46\x72\xdb\x57\x14\x13\xd9\xf6\x13\xd5\x44\xba\x6a\x19\x2d\x37\x26\x61\xc1\xd2\x71\x3d\xaf\x98\xb8\x10\x3c\xba\xb0\xfc\xa7\xed\x9c\xb2\xab\x6a\xd0\xf9\x55\x25\xe6\xb4\xb2\x5a\x1b\x84\x4f\xc6\xcb\x53\x71\x0f\x54\x4b\xc2\x50\x40\x17\x3f\xb0\xaa\x39\x38\x66\xac\xd1\x38\x3b\x10\xeb\xa6\x65\x38\xfb\xe9\xc8\x93\xe3\x90\x5c\x54\x44\xb5\xfc\xfe\xd9\x33\x52\x32\xd6\x00\xda\xf7\xfd\x5d\x50\x29\xf5\x81\x49\x58\x74\xac\x14\x51\x12\x59\xeb\xf0\xc6\x56\x34\x09\xc6\x7b\xe9\xea\xc4\x5b\xcd\x35\xef\xc7\x65\x3c\x68\xcf\xd8\x4d\x5b\xc9\xe1\xa8\xa2\x32\xe4\x96\x2d\x40\x87\x7a\xb0\x06\xbb\xba\x60\x6d\xaf\x4c\x14\xa7\x41\x92\xfa\xa4\x08\x91\xd1\x29\x38\x49\x15\xff\x1b\x2b\x8d\x65\x8f\x3e\xbb\x51\x50\x28\xdf\xc9\x35\x6b\xd7\xf2\xcd\xe2\x8a\xb5\x77\xbc\x60\x26\x13\xca\xb0\x37\xb4\x4e\x26\x8b\x8a\x3e\xba\xd7\x7d\x74\x68\xa5\x9b\x9a\xdc\x1c\xd0\xb8\xef\xf8\x46\xb2\x16\xc3\x1a\xff\x1d\xf7\x9e\xf7\x8f\xf6\x1f\xf8\x72\x75\xa5\xb7\x26\x04\xe0\xbf\xa5\x8b\xa2\x97\x61\xc5\x97\x2b\x22\xa1\x82\x06\x71\xba\xb6\x64\x3d\x79\x8e\x0d\x4b\xa6\xdf\xb1\x44\x76\x60\x60\xbd\xe8\xaa\x6a\x43\xf8\xda\x5d\x0a\x06\x90\x39\x9c\x46\x79\xf0\x42\xa8\xab\x7b\xae\x8a\xd5\xc5\x59\xd8\x73\x52\x86\x5a\x8a\xcc\x85\x72\x61\x1f\x59\xd9\x1b\xd4\x2b\xe1\x19\xb5\x15\x5f\x6b\x96\xd8\x85\x9b\x31\xfd\x36\x9d\x3a\x6c\x9a\xa1\x44\x3d\xfe\x3e\x6d\xae\x3e\x2a\xb2\x91\xb2\x83\xe2\x27\xc8\x66\x03\x61\x14\x9b\xa6\xb2\x71\x77\x0e\xfa\xfe\x47\xd4\x34\x78\xf9\x38\x5f\x2a\x8d\x8c\x3f\xd4\xde\x04\x39\x73\x59\xeb\xc3\x60\xb8\x60\xc2\xf9\x91\x9c\x1e\x6f\x1b\x0b\x58\xfe\x7c\xee\xd1\x24\xea\x26\xb4\x38\xa7\xc1\x32\x88\x01\x55\x3c\x68\x2b\x03\x1d\x82\x74\x9f\xb7\x05\x86\xef\xe5\x6f\xae\x59\x22\xd2\x19\x14\x20\xd2\x28\x77\x4d\xd5\xec\x3e\x2f\xd4\xb1\x60\x58\x71\xeb\x14\xfd\x57\x97\x17\x69\x37\x83\xf2\xb1\x2c\x3b\x46\xd4\x03\x2c\x8c\xb3\x91\xf4\x3c\x0c\xec\xc1\x37\x2f\x0f\xc9\xd5\xe5\x85\xb7\x1a\xd8\xc9\x32\x5f\xb6\x4d\x30\x6e\x48\xd5\x38\xf4\x2a\x48\x8a\xc6\x34\x9d\xb4\x36\x71\xf4\xdf\x6d\x3e\xbc\xf7\x19\xb7\xac\xc4\x60\x72\x8a\x17\x6b\x3f\x63\xff\xee\xab\x96\xd6\x70\x59\xc9\x2f\xfd\xbf\xfb\x62\xbe\xe8\x64\xd1\xeb\xe9\xcd\x28\x53\x32\x18\x7e\xde\xce\x82\x38\x49\x95\xc7\x78\x17\xc5\x6a\x25\x6a\x36\x17\xe2\x36\xd8\x65\xf4\xc5\x3f\x2c\x99\xfc\xec\x77\x2a\xa0\x80\x2b\x33\xb0\x52\x19\x40\xfc\x7d\x04\x53\xfd\x13\xdd\x5c\x9e\x73\x63\x34\xa5\x8f\xb7\x62\xad\xc9\x7d\x1f\xcc\x27\xf7\x56\x43\x0a\x73\x0b\x29\x99\x92\xe9\x23\x8d\x9c\x1e\x63\xdd\x0c\x1e\x6b\x48\xe1\x68\x37\xf1\xab\xcd\x44\x61\x50\x8a\x16\xab\xb5\xd3\x57\x02\x44\xac\x17\x1c\x78\xbf\x6e\x00\xd0\xbf\x24\xac\xa5\x83\x49\x9e\x7b\x10\x43\x46\x5e\x0b\x69\x59\xb6\xa7\xf4\xc1\xe0\xa7\xe2\xde\x25\x61\x7f\x18\xcf\x3f\x2c\xc1\x19\xff\xa1\x60\x09\x5a\x0d\x98\xfe\xfe\x1b\xf2\xf4\xd0\x1c\x7e\x24\x60\x36\xb5\x53\x76\x3f\xfe\x3e\xb2\xc6\x31\xb3\x0f\xcd\xc0\x96\x65\x08\xcb\x7c\xcc\x02\x32\x1e\x16\xce\xe9\x02\xd6\x30\x7a\x63\x5b\x18\xe8\x3d\x9d\xbd\x9e\x0f\xa3\xa7\x28\xd4\x85\x10\x7c\x1b\x6c\xf1\x83\x92\x6d\xf4\x05\x4c\xd3\x59\x90\x98\x8b\xd6\xe5\x33\xd1\xda\x90\xd1\x86\x03\x71\x66\x9d\xa4\x0e\x82\xfe\xc9\x60\x32\x17\x74\xa3\x31\xfc\xa8\x65\x10\x46\x81\x46\xdc\x7a\xae\x06\x62\x9e\x0d\x75\x48\x11\x54\xea\xbb\x40\xa6\x99\xc7\xae\xb8\x9d\x59\x0e\xe4\xbd\x96\xab\x81\x58\x3b\x07\x13\x0f\xa3\x83\xf8\x6e\x34\x31\x3e\xa2\x55\xc2\x0e\xf4\x05\xe9\x40\x21\x62\x71\x41\xab\x2a\x82\x93\xb2\x00\x5b\xaf\x7f\x13\x67\x6b\x11\x24\x22\xc4\xc9\xa9\x7d\x99\xc6\xb6\x29\xc3\x92\xac\x95\xe2\x2d\xdb\x24\xa0\x2e\xbb\x94\x94\x85\x45\xa3\x26\x8f\x3d\xb4\x2b\x48\x77\x83\xd1\xc5\xa0\x04\x11\x96\x41\x92\x9c\xe0\xd9\x69\x24\x2c\xb1\xb3\x89\x64\x36\x60\x9f\xad\xa6\xaf\x20\xb0\x9d\xfd\xfb\xae\xef\xd2\xb1\xdc\x8a\xae\xd2\xb3\x3e\xed\xd2\x97\x5c\x4f\xc0\x64\xf2\x01\x7f\xab\xc1\x74\x21\x3b\x1f\x3e\x5f\x53\x94\x9b\x30\x58\x25\x4f\x9e\xe6\x54\xd6\x0b\x9b\x41\xff\x6f\x30\x78\xb0\x7a\x46\x09\x63\x58\x84\x50\x30\x63\x2f\x6d\xe9\x23\xaf\x8d\xcc\x66\xde\xad\x89\xa3\x37\x20\x8d\x2c\x39\xfd\xf0\xde\xf0\xfc\xe0\x3f\xef\xec\x4d\x0e\x34\xa1\x3f\xeb\x2a\xc5\xa1\x83\x0f\x7f\xdf\x45\x5a\x6e\x43\x4f\xe9\xde\xe4\xbe\xed\x6b\x7f\x6d\x07\xba\x35\xb3\x5f\x66\x08\xc1\x9a\x18\xad\xc1\x15\x4b\xee\x9d\xa0\x64\xcb\x23\xc7\x54\x94\x4c\x61\x60\x4f\x15\x5b\xe7\x41\x43\x69\x8a\x2d\xa6\x3c\x01\xc7\x4a\x7c\xf3\xe2\xd2\x6d\x8a\x0b\xbd\x87\xb0\x3f\x86\xc3\x81\xd4\xb6\x66\x06\x7d\x87\x43\xe3\xcb\xe0\x63\xfa\xbc\xa8\x44\x57\x3a\xef\x9c\x08\x40\x8e\x70\xc7\x85\xd8\x83\x7e\x68\xc8\x09\xcd\x6e\x64\x7a\x93\xdc\xa0\xc9\x45\x7a\x02\x0b\x62\x80\x49\x1c\xeb\x5b\x24\xe4\xd4\xa0\x20\x6f\x0d\x1d\x80\x41\x9d\xd7\x93\xa2\x74\xcf\x6d\x5c\xf9\x88\xd5\x56\x26\xc2\x73\x55\x99\x10\xd7\xd6\xc7\x74\x90\x2d\x4f\xd9\x64\x51\x96\xb5\x74\xc7\xa0\x4f\x3d\x16\x0c\x6d\x8c\xcd\x1c\x16\x23\x56\xfc\x3d\x77\xd9\x1a\xcf\xef\x80\x3a\xde\x89\x38\xe7\xb7\xfb\x82\x3c\xf0\x4c\x81\x6e\xf6\x87\xab\x37\xe7\x86\xaf\x19\xd2\xd4\x61\x49\x02\x46\x57\xd0\x37\xdb\xf7\x86\xaa\x92\x86\xf2\xd6\xc3\xc4\xa0\x8d\xc1\x01\x10\xd0\xfa\x8f\x6c\x33\x17\xb4\x2d\x5f\x74\x4a\x45\x6b\x34\x28\x40\xcc\x88\x95\x26\x87\x56\xda\x71\x6b\x6b\x93\x39\x54\x97\x08\xec\x4b\x71\x9f\x05\xaf\xcb\xa6\xf6\xd0\x8a\x7b\x03\xfe\x35\x9d\xb3\x8a\x95\x17\x6d\xbc\x11\xd1\xe7\x74\x53\x4d\x29\x69\x74\xb1\xa2\x4b\x0b\xa9\x5e\x5e\xd0\xe2\x16\xd5\x25\x22\x85\x08\x54\x9b\xef\xa2\xa1\xc5\xad\x4f\x05\x13\x82\x46\x94\x89\x49\xd1\x16\xb0\x91\x5e\xd1\x35\xbe\x52\x6d\xec\x26\x35\x28\xd8\x02\x53\x9a\x5a\x1a\xe2\x19\x95\xb7\x47\x02\x54\xa0\x3d\xb4\xe0\x63\x6a\x3e\x4f\xe5\x2d\x29\x74\x21\xaf\x41\xb5\xf1\x84\x2f\xfa\x7c\x04\x43\x2d\xb5\x23\xbe\x4a\x38\x3e\xd0\xe8\xa6\xd3\xf7\xc5\x36\xd5\xa0\xf9\x3a\x37\x9a\xbc\xe8\xc1\x62\x5b\x26\x46\xbc\xf1\xf7\x29\x70\x0b\xc3\x40\x5b\xe1\x8b\x1b\xb6\x95\x62\xa3\x9d\x9e\xd4\x8a\x47\x6e\x89\xf1\x77\xc4\xf9\xc0\xc8\x07\xf5\x03\x42\x71\x26\xf7\x62\x77\x5e\xa9\x36\x10\x38\x8a\xbd\xb3\x36\xcc\xe1\xab\xca\xb6\x7d\x79\x5f\xfe\xc0\x68\xac\x01\x4b\x8a\x46\x05\x4e\xfa\xaa\xb8\xa7\x6d\xd9\x6b\x57\x43\xf8\xa7\xfd\xc5\x71\x24\x3a\xfd\x43\xa6\x3d\x61\x95\xb2\x93\x0d\xae\x22\xe3\x8d\xe8\x08\xb6\xad\x30\xbc\xef\xa3\xcf\xb8\xff\x46\xd8\xfc\x52\x9f\xbb\xb4\xb9\xf9\x3c\xa6\x93\x23\xad\xae\xe2\x52\x6a\xc7\x96\xc3\x0e\x08\x6b\x2a\xce\x90\x05\x70\x05\x63\x0b\xdd\x08\x69\x9c\x16\x80\x2b\x79\x62\x84\x92\xc6\x8e\xf5\x29\x81\x28\x1d\x66\x7d\x5a\x03\xcb\xd4\xb0\x46\xd4\x3b\x89\x24\xd5\xaa\x65\xb4\x4c\x06\xbe\xc9\xe1\x49\x58\x88\x31\x52\xd5\x26\x54\xd0\x85\x60\x35\x27\xf2\xa3\x50\xc8\x72\xfb\x92\x54\xd7\x2c\xee\x1d\x8f\x72\x27\x94\xf3\x0f\x69\x84\x7d\x58\xda\xf6\x3f\x3a\x3f\xd6\x18\xec\x8f\x36\xc2\xe7\xd0\xd6\x06\xe2\x26\x58\x3c\x76\x48\x45\xfe\x47\xa8\xa6\x70\xab\x0a\x12\x0e\x9b\xd0\xa6\xc0\x10\x5e\x1e\x1c\x2e\x16\x70\xde\xdd\x87\x74\x18\x48\x9d\x1c\xba\x4b\x42\x6d\x55\xcd\xac\x84\xb7\x42\x0f\xab\xaa\xae\x1c\x37\x8a\x75\x15\x14\xa7\xef\x94\xaa\x8a\x59\xd9\xbe\x59\x5b\xac\xf8\x1d\x2b\x47\x41\x0f\xeb\xa4\xf0\x6d\x8d\x4c\x27\x2f\x84\x3a\xa2\x55\x35\xa7\xc5\xed\x61\x2d\xef\x31\xec\xc2\x2a\xa5\xfc\xb4\x2d\x27\x14\x2a\xe8\x5d\x72\x9a\x11\x0f\xe6\x78\x95\x68\x7c\xd3\xb2\x71\x1d\x33\x01\x92\x83\xd8\x64\x02\xbb\x7c\xcb\x36\xa4\x8f\xd4\xa0\xb7\x4b\x5f\xf7\x9c\xed\xff\xc0\xaa\x6a\x4d\x6b\x02\xd2\xf4\x42\x54\x07\xf1\xc0\x5e\xd2\x2d\xcb\x1c\x57\x48\xcd\xfd\xe9\x9d\x68\xb9\xca\x2e\xf2\x4b\x46\x55\xd7\x6e\xe9\x62\x58\x27\xed\xc5\xd6\xc8\x75\x22\xba\xba\xec\x1f\x69\x78\x27\xc3\x3a\x69\x27\x10\x24\xae\x7f\x1d\x0e\x3a\xf1\xca\x59\x14\x7c\x50\x9a\x52\x0d\xaf\xb6\xd5\x2c\x46\x0d\xf2\x54\xf9\x34\x86\xee\x2e\xdb\x92\x2b\x48\x13\x8c\x74\x31\xac\x92\xbf\x91\x4b\xae\x8c\x69\xa6\x0f\xa0\x14\x77\x76\xc1\x58\x6b\xd4\x14\xe8\x5c\xc2\xe2\x94\xfd\xe2\x12\x64\x98\xa5\xad\x10\x01\x36\xc6\x00\x63\x7b\x3d\xa8\x91\x33\x27\xc0\xf7\xf9\x4a\xe3\xe2\x2b\xbe\x40\x21\xf7\x85\xe9\x5b\x4d\x17\x91\x57\xa7\x2f\x87\xf0\x18\x6d\x8b\x95\xbd\xf5\x51\x98\x51\x85\x11\x23\xf8\xd6\x7a\xcc\x99\x07\x60\x9f\x68\xd2\x1a\x0c\xcf\x37\xc0\x7c\x69\x60\xc3\x11\xd4\x6a\xc4\xda\x6c\xbc\xde\x76\x7a\xe1\xae\x65\xe3\xe6\x2e\x72\x26\x74\x7d\x37\x98\x74\x05\x2b\xcd\x89\x40\x9c\x50\x05\x69\x73\x5a\x4b\x45\xab\x2a\x51\x0f\x6f\xad\x8a\xe0\x88\xfe\x0e\x56\x19\xbe\x57\x13\x7f\xaa\xaa\x0c\xf9\xb3\x41\x0e\xd0\xa1\xe0\xc8\x93\x45\xc8\x2b\x0c\x13\x13\x43\xe5\x6d\xce\x5f\x31\x87\x0e\xaa\x0b\xab\x5d\x87\x06\x66\x1b\xce\x19\x6d\x99\x54\xc7\x45\x00\xb8\xff\x36\xd9\x86\xa3\x36\x4d\x52\xe3\x6c\x54\x8d\xf1\x0b\x6a\x30\xce\x63\xd7\x97\xf3\x71\xb7\x17\x17\xff\x41\x5a\xc4\xa5\xed\x9c\x2b\xf0\x90\x67\x90\x55\xcd\x98\x45\x1a\xc8\x83\x60\x6b\x78\xa4\xb5\xd3\x38\x42\x99\x0b\x9a\xb2\x5b\x80\x32\x0d\xfa\x45\x25\x8a\xdb\x41\x77\xe6\xdb\xa8\x28\x2f\x8e\x91\x06\xfd\x13\x1b\xd1\x22\xc3\x22\x6f\x1d\xc9\x11\x1d\x5a\xf2\x87\x5f\x11\xbd\xcf\x92\x91\x82\xf6\x62\xe6\x0b\x30\xd9\x94\x43\xa1\x67\xf4\x39\x5d\x47\xc5\xc0\x34\x07\x12\xb8\x91\x8a\x4b\x15\xc1\x7a\xd3\x96\xac\x65\x65\x06\x64\x58\xba\xcb\x6a\x09\xd3\x0e\xba\x7b\xe8\x6a\x5d\xb2\x8a\x2a\x56\x1e\x9a\xd8\x4b\x83\xc1\x0d\x0a\x91\xb1\x41\xb9\x8b\xdc\x24\x3d\xd4\x6b\x3a\xaf\xd8\x11\x8b\x50\x3b\xfe\x3e\x2e\xe0\x55\xe0\x14\x6e\x84\xf4\xd1\x94\xa1\xe0\xa1\x73\x85\xde\x63\x89\x55\xf4\x39\x15\xe2\xc2\x30\x5a\x71\x6f\x41\x18\x73\x92\x3f\x96\x8b\xc3\x6a\x29\x22\x28\x71\x49\x02\xe8\x8f\x6c\x43\x4a\x06\x66\x5b\xe0\x34\xd2\xd5\xde\x5d\xa4\x93\xcc\x44\x2a\x76\x9c\xaa\x35\x69\x71\xc6\x2b\x26\x1f\xb4\x66\x5a\xae\x2e\x2f\x88\xba\x17\xfb\x0b\x0a\x49\x36\xa2\xc8\x0c\x0f\x32\x71\x71\x6a\xd1\x15\x6d\x07\xa4\x22\xfc\x8e\xb9\xa9\xb4\x4b\x56\x92\xc6\x54\x0b\x41\x5d\x3a\xf3\xb5\x81\x15\x20\x5a\x8c\xa0\x80\x33\x7e\xb3\xa0\x7b\xcb\x40\x0b\x00\x98\x16\x5c\xd1\x9b\xab\x91\x61\x7c\x9a\x8c\xba\xd7\x82\x91\x07\xf6\x9f\x41\x3c\x1a\xb4\x38\xab\x4b\xf6\x41\x68\x86\xcd\x34\x47\xc7\x1b\x35\x02\xd8\xd5\xc8\xc2\x6e\x6d\x05\x1c\xfc\x80\x9f\xc8\x54\x18\x01\xee\xad\xcd\x7c\x53\x58\x37\x7c\x5f\xc3\xc2\x2d\xeb\x3d\xdc\x51\x79\xf0\x23\xad\x78\xa9\xc9\xc8\x16\xe4\xc9\xd6\x44\x3c\x75\x6c\xbd\xc0\x9c\xb2\xef\x37\xbe\xea\xf1\x4b\x1e\x3c\xb1\x1a\xda\xaa\xda\x64\x16\x0d\xfc\x82\x75\x83\x17\x7d\x42\xcf\x00\x8c\xfb\x3a\x2e\x9c\x73\x29\x3e\xbd\xc9\xae\x6e\x0a\x5a\x89\x04\xa0\xfb\x8a\x58\x03\x9b\x84\xe0\x7a\x5d\x59\x00\x26\x6b\x6a\xb0\xab\x95\xc1\xc0\xc8\x40\x37\xcf\x40\xcd\xc3\x8b\x33\xfc\x01\x98\x95\xa8\xd9\x01\x66\xac\x30\x2c\xd9\x66\xad\x90\x85\xb1\x5b\xeb\x63\x2e\x0b\xda\x96\x97\x3e\xa5\xf1\x10\x54\x5c\x21\x55\x9d\xad\x36\x7d\x0c\x31\xdf\x07\x29\x4d\x2b\x56\xfe\x57\xdc\xdd\x85\x15\x37\x60\x3d\xf9\xb2\x91\xc1\x7b\x79\x45\x00\xd6\xbb\x1e\x26\x40\xfb\x92\x31\x90\xbd\xef\xa2\x03\x1a\x59\x80\x6c\xf3\xe9\x95\x3e\x64\x4c\x60\xf2\x09\x8d\x06\xd9\x9e\xfa\x6f\xa3\x2a\xb9\xde\xec\x4f\xf2\xbf\x59\x93\x5a\x9b\x39\xc8\x80\x16\xf1\x9e\x0b\x6c\xbb\x43\x19\x70\x23\xaa\xd8\x8f\x46\x37\x49\x44\x5b\xc1\xc7\x2d\xd0\x9c\xef\x9f\x11\x6b\x19\xbd\x87\xa8\xaa\xe9\xde\x73\x6a\xd3\xb0\x67\x17\x4e\x3a\xda\x77\xfc\xa3\x18\x88\xe2\x93\x22\x54\xf2\x6a\x1e\x1d\x46\xf0\x2a\x42\xb3\x49\x98\xb8\x19\xa6\xef\x29\x8d\x24\x11\x7e\xcd\xbc\x29\x41\xc4\xda\xf4\x03\x6e\xba\x8a\xb6\xa9\x5d\xe9\xa0\x20\xc5\x39\x53\xee\x13\xab\x1b\x60\x52\x1d\xda\x10\xea\x21\xa4\xfe\x6b\x7a\x9b\xac\x78\xd3\x80\x36\xc7\xd6\x00\x38\x98\x65\xd1\x2e\x46\x45\xb8\x3d\xd1\x6e\xa6\x44\x97\x26\x7b\x68\x69\xe8\x6c\x2a\xb7\xc0\xcb\x31\x79\xc5\x82\x3b\xdf\x19\xb1\x08\xb4\x08\xfd\x7d\x1f\x78\x9f\x0c\x3a\x70\x5f\x47\x5d\x52\xba\xd6\x32\x3b\xa0\x0b\x38\xa3\xed\x6d\xd7\x44\x70\xfa\xaf\x19\xf5\xc1\x1a\x4a\x81\x2b\x9d\x0b\x93\x5a\x62\xa0\xd1\xf5\x1d\x88\x56\x25\xf4\x35\xfa\x8c\x75\x21\x5a\x65\x73\xc8\x5b\x30\x3e\xff\x3c\x02\x6b\x58\x86\xe1\xb1\xab\x12\x41\xe5\xc5\xea\x9a\xbd\x0b\x91\xd8\x7f\x4a\x61\x40\x92\x03\x5d\xa4\x9b\x1a\x2e\x33\x39\x03\xd1\xe7\x0c\x23\x14\xe2\xbf\xb1\xa8\x0a\xb8\x55\x2f\xce\x0a\x81\xe6\x2b\x25\x5d\xf8\x22\x62\x0c\xbf\x12\xf6\xd6\x00\x1b\x48\x53\x83\x8f\x13\xac\xdc\x4a\xaa\xe8\xe3\xb1\x72\x33\xf3\xd4\x63\x0a\xe6\x37\x30\xe5\xfb\x67\xb3\xe2\x33\x63\xce\x3f\x47\xf1\xf2\xf4\x51\x7a\xfc\x92\xd0\x6a\x29\x5a\xae\x56\x6b\xf7\x14\x35\xf1\x0c\xd6\x4d\x67\x1e\xa2\x88\x73\x1d\xc4\xdd\x7e\x80\x4f\x9d\x1d\x55\x45\x79\x8d\xe2\x5f\x5f\x92\xd2\x5a\x5d\x04\x5a\xf3\x3b\xd6\x42\xac\xdd\x60\x27\xa8\xa2\xd3\x6f\xdf\x3c\x0a\x35\xba\x8f\x01\x1e\xe9\x77\x06\x6f\x59\x79\x6d\xa3\x59\x47\xe3\x8d\x0a\xd1\xb7\x2c\x6f\xfb\x83\x08\x76\xec\x10\x15\xbb\x07\x7f\xc5\x8a\x96\x29\x84\xb1\x46\x8b\x53\xe9\x04\xb2\x39\x61\x5a\xae\x87\x6d\xd0\xd0\xea\x68\x8a\x49\xa8\x5a\xfa\xed\xe8\x8d\x90\x82\x86\x43\xbf\xee\xa4\x68\xd4\xd6\xd4\xb8\x74\x0f\x61\x0e\x7c\xa1\x87\x25\xe3\x10\x0d\x0e\xc7\x00\xd1\x4d\xee\x4b\xc6\x01\x06\x3b\x5b\x97\x39\x8b\x95\xb4\x2c\x01\x0a\xfe\x90\xd6\x50\xe5\x80\xdc\x48\x66\x6c\x6f\x94\x70\x71\x26\x2d\xc3\x07\xb6\x8f\x3e\xf6\x51\xa0\x16\x57\x2b\xc6\x5b\x63\xf0\x60\xdf\xaf\xf2\x2b\x07\xf0\x7b\x3d\x4c\x08\xb1\xd6\x82\xdf\x02\xb0\x51\xde\x43\xc4\xa8\xd2\xab\x8a\xdc\xf2\xba\xb4\x0f\x3f\xc7\x6d\x25\xc1\x51\x06\x05\x79\x36\x4d\xc0\x27\x7b\xf9\x28\xaa\xe4\xc1\x8b\x56\xd0\xb2\xa0\x12\x82\xd8\x44\x58\x8f\x15\x63\x4f\x73\xf0\x8d\x87\x1c\x9e\x52\xf1\x22\x80\x7d\x38\x97\xb0\x61\x87\x75\x79\xd1\xb2\xbb\x21\xec\x61\xf1\x04\xd8\x43\xbb\x3c\x80\x73\x4c\x95\x31\x3f\x39\xa6\x9b\x64\x02\x71\xe1\x94\x2e\xc0\xc5\x16\x6c\x55\xfa\x2e\x5e\xb5\xb4\x59\x0d\x41\x9b\x8f\x53\x40\x42\x3c\xbf\x10\x9a\xe8\x9a\x6b\xd1\x40\xd4\xb2\x14\x6a\x58\x98\x2a\x50\x85\xcf\x41\x15\x06\x2f\x0b\x83\x96\x3d\x30\xf2\x57\xd4\xbb\x09\xc1\xd0\xe6\x06\xe7\x8a\x47\x87\x67\x02\x34\x24\x81\xca\x3e\xcd\x00\xf5\xab\x24\x3f\x3e\x5b\x3a\x3a\x3c\x2c\x88\xda\xc7\x8d\xed\x82\xb5\x9a\xab\x4f\x48\x76\x52\x36\x05\x67\x1a\xd3\x80\x86\x68\x18\xc7\x38\xf1\x9f\x52\xb2\x75\xf9\xda\x90\x24\x20\x3c\xc9\xd1\x04\x6d\xe1\x05\x8d\x14\x44\xe1\xd7\x9c\x82\xb1\xd1\x85\x01\x88\x58\x07\xfb\x00\xe3\x76\xf2\x44\xf6\x90\x9f\x0e\x40\x1f\x89\x3b\xd6\xc6\xac\x77\x52\x36\xa2\xe3\xdd\xb3\x06\xe9\xbd\x31\x92\xed\x8b\x50\xd9\x67\x32\xfa\x79\xef\x8b\xa1\x5d\xfa\x44\x93\xf4\x9c\x35\xfa\xee\x86\xe8\x36\xca\x56\x08\xc3\x7e\x49\x5b\xdb\xb0\x5b\x61\xbb\x23\xaa\xd8\x52\xb4\x9b\xb4\xbd\x2f\xc9\xc2\x21\x85\xab\x82\x00\x1c\x86\x05\x43\x8b\xb3\xa0\x25\x18\x8f\xe3\xfd\xb4\xd1\xf9\x80\x9f\xc8\x7d\x0e\xc9\x1a\x8c\x62\xb7\x24\xdc\xe7\xe4\x95\xd3\xd9\xcb\x20\x2f\x02\xd8\xd7\x55\x5f\xf6\x10\xf7\x03\x88\x30\xaa\x24\x30\x43\x2e\x0a\x43\x4e\xa9\x6d\xe3\xc2\x5a\x17\xfd\x83\x00\xa8\x4c\xa0\xe6\x43\xfe\xd9\x34\x00\x96\x00\x80\x6d\x58\xe4\xe0\xe9\x33\x9f\x51\x23\x31\x14\x35\xe1\x4a\x02\x77\x61\x14\x57\x3e\x60\x00\x0c\x44\xba\x71\x80\xb3\xa6\xb5\xc7\x8f\x86\x13\x15\x20\x27\x37\x36\xca\xbf\x69\xab\xc3\x4e\xad\x12\x95\x46\xfc\x1d\xa5\x48\x91\x86\x2c\xd4\x69\x0c\x9c\x30\x70\xff\x8b\xc4\x15\xba\x8f\xce\xa7\x1b\x0c\x62\x56\xfa\x4f\x5b\x77\x8f\xbd\x53\xac\x2e\xad\x06\x20\x08\xf7\xa6\x21\x5c\x18\xff\xf9\xa1\x14\x36\x29\x9a\x8c\x22\xa1\xc7\x76\xea\x9b\xaf\xe1\x26\x21\x06\x83\x8f\x38\x7b\x6a\x83\x0a\x9a\x18\x83\x00\xe7\x47\x93\xf6\x3f\xdc\x1e\xff\x29\x85\x51\xf3\x3b\xd6\x4a\x5a\x91\x3b\xa8\x63\x86\x02\xa9\xd4\x07\x32\xe3\xfe\xdb\x16\xad\xb8\x4f\x36\x6f\x32\xc7\xab\x55\xb7\x9e\xd7\x94\x9b\x9b\x12\xf3\x89\x19\x71\x87\xc9\x47\x01\xf1\xc9\x80\x0f\x62\xb8\x08\x4d\x4e\xcb\x52\xdd\x01\x92\x4a\x59\x43\xcd\xa7\x53\x4d\x8a\x52\x98\xc3\xd4\x03\x0e\x24\xe2\xcd\x33\xea\xc8\x93\xa4\xa2\x34\x60\x06\x26\x25\x6f\x73\xf9\xfb\x9c\x55\xc9\x8f\xc6\xaa\xe4\x3e\x4d\xe7\xb7\x9b\xf2\xfe\xed\x20\xc3\x52\x3a\x86\x91\xb8\x7d\x48\x4e\x40\x0d\xd3\xa6\x4f\x38\xb0\x09\xf4\x90\x4d\xcc\xd5\x40\x6e\x8e\x5a\x72\x60\xf1\x9c\xdb\x75\xb4\xa5\x0e\x0e\x92\x06\x23\x29\xc2\xc5\xc1\x51\xa0\xf8\x9c\x09\x00\xda\x97\xf5\xea\xcc\xce\x0d\xaf\x87\x8d\xc2\x45\xdf\x30\x8e\x68\xa6\x26\xe9\x1a\x1b\xfe\xe3\x93\x84\xdc\x18\x0e\x6a\xc2\xb8\x47\xd4\x8f\x26\x48\x8e\x7d\x1b\x47\x71\xbe\x22\xf3\x0a\x28\x7f\xd2\xb2\x42\x73\x78\x1b\xc2\xd6\x94\x57\x7b\xa8\xe0\x0b\x6a\xfe\xaf\xee\xf9\xf3\x6f\x7e\xeb\xe3\x30\xee\x2e\x65\x71\x33\x00\xeb\x45\xdd\xd9\x91\x28\x19\x32\xc3\xb8\x1c\x63\xeb\xcc\x58\x6d\xbc\x5b\xb0\xb1\xa4\x12\xac\x1a\xa3\x7e\x80\xff\xc3\x96\xd0\x16\xe0\x87\xb7\xaa\x98\xe5\x3d\x2d\x0e\x77\x6a\x75\x90\x23\x4c\x48\x61\x4a\x56\x71\xaa\x0a\x77\x60\x84\xc6\x07\x7d\x7f\x7a\xe6\x03\xa9\x4c\xfc\x3d\x5d\x15\x9b\x60\xce\x88\x09\xad\x5a\x31\x58\x20\x1b\x76\x0e\x4c\x3f\x6b\xf0\xc2\x59\x90\x8d\xe8\x0c\x63\x03\xb1\xaf\xf5\xa5\x52\xea\x0e\x88\xf1\xbe\xed\x47\xf3\x5a\x2c\x79\x7d\x2d\x6e\x59\x32\xf5\xa0\x04\x51\x6e\x2e\x79\x4d\x94\x2e\x34\x0e\x20\x7f\xba\x34\x03\x82\x7c\xd4\x4f\x7b\xf0\x0e\xa3\x2f\x2d\x26\x0e\x3b\x49\xca\x31\x15\x8f\xc1\x61\x17\x46\xd0\x44\xc2\xe9\x8f\xe4\x9e\x89\xad\x0f\x81\x41\x0c\x12\x48\xf7\x66\x89\xf1\xdf\x07\x50\x63\xe5\x6e\x8e\xce\xfa\x24\x8f\x49\xb8\x6d\x9d\x2f\xa1\x97\xfd\x70\x97\xfa\x85\xd0\x88\x3f\x3c\x13\xd1\xf7\xed\x26\xbe\xd4\x4c\xc0\x69\xd1\x0a\xb3\x9d\x81\xd9\xef\x1d\xa7\xe4\xea\xec\x6a\x2f\xd4\xda\x8b\xd6\x07\x39\x3b\x48\x47\x83\xe1\x61\x54\x96\xc5\x45\x88\x4f\x94\xc1\xc7\xf0\xc0\xce\x37\x31\xdf\x6e\x7e\x27\x60\x5f\xc4\x99\xc2\x0e\xc8\x29\xe4\xdc\x07\x6f\x76\x4e\xa5\x4f\xf8\x08\x3e\x80\x1f\xde\xdb\x74\x62\x3e\x17\x7c\xe9\x1d\x1e\xcd\x10\x7c\x9e\x31\xb2\xa6\x1b\x77\x3e\x03\xbb\x52\x3d\x8a\x28\xb7\x58\x5d\x54\x1d\x48\x0e\x79\x0d\x51\x97\xc8\xcd\xf5\xcb\xfd\xff\xe8\xab\x1c\x7c\xb1\x67\x92\xab\xf5\x5a\x84\xa2\x2d\xbe\xfd\xc6\xa0\x9d\xee\xc1\xdf\x24\x60\x88\xaf\x0f\x19\xe1\x30\x87\x9a\x15\x7a\x93\x5a\x48\x44\x02\x12\xf9\x82\x81\x44\x12\x06\x61\x52\x41\xc0\x44\xcc\xe4\xcc\x17\xdd\x5f\x92\x3f\xed\x80\xfc\xe8\x73\xa7\x41\x28\x70\xdb\xa2\x12\xe2\xd6\x2f\x81\xaa\x36\xa4\x64\x8d\x15\x84\x5a\x66\xb9\x62\xf5\x52\xad\xc8\xeb\x78\x1d\x6d\x86\x39\x9f\xbf\xac\xfc\x5e\xf7\x0a\xae\x3a\x2d\x04\x1f\xd7\x87\xac\xbf\x5c\x0e\x2f\x4e\xc9\xba\x93\x4a\xd3\x1a\x17\x6c\x9a\xd7\x66\xa5\x0e\x08\xac\x4e\x6e\x85\x43\x27\xe9\xbe\xbb\x3d\xa8\x25\x3f\xbc\xb7\x9b\xec\x93\xfd\x77\x52\x3f\xfc\xf6\xbe\x78\x69\x23\x6f\x94\x2e\x44\x7c\x94\xab\x6d\x87\x38\x0c\x60\x9e\x20\x9d\x9b\xe9\x96\x7a\x0e\x45\x77\xcd\xfc\x56\xb8\x78\xdf\xa9\x21\x55\x52\x84\x5b\x53\xd9\xab\x43\xf6\xde\xe3\x61\x0c\xf5\xaf\x24\x99\x57\xd4\x1a\xe2\x1e\xc4\x5d\xba\x58\xe3\x58\x9f\xbe\x2c\xdb\x29\xd2\x93\x8b\x90\x85\xf4\x05\xde\x33\x58\x47\xa6\x60\xf2\xdb\xc3\x4e\x15\x7c\x71\xe6\x1b\x13\xfe\x51\x76\x73\x8b\x9b\xb4\x2e\x09\xed\xde\xf1\x8a\x6b\x74\x2a\xa9\xa2\x83\x61\x0c\x22\x1f\xa2\x53\x4f\xea\x4c\x1e\x9c\x09\x8e\x88\xc7\x46\xb4\xc2\x80\x52\x74\xf3\x48\x08\x60\x3f\xa4\xde\x69\x69\x22\xc4\xb1\x24\x88\xf7\x22\x4d\x7f\x18\xc6\x04\xfe\xed\x77\xfb\x73\x0e\x96\x04\x95\x4f\x83\x68\x04\xb0\x8a\xd6\x25\x6d\x4b\x62\x06\x62\x33\x73\x67\x32\x1d\x7e\x74\xa2\xc3\x15\xab\x9a\x83\xc3\xa6\x49\x04\x3e\x83\x82\x09\x17\x5b\xd3\x90\xce\xc4\xe4\xb4\xb9\xb3\x78\xc5\xd5\xe6\xa0\xef\x06\xfc\x72\x5a\xce\xe4\x6b\x2e\xd5\xb0\xab\xb8\x30\xb5\x00\xa4\x6b\xb6\x47\x4e\xaf\xde\xc0\x15\xb5\x37\x0c\x38\xaa\xf1\xcc\xde\x97\xa2\x64\xf2\x59\x43\x95\x62\x6d\xed\xf5\x46\x7d\x36\xaf\xc2\xf5\x33\x1c\xd7\x06\x1f\x11\x96\xe1\xf5\x23\xc6\xd2\x4b\x60\x0b\x0b\x7e\x38\x8c\x01\x7f\x91\x14\x21\x3b\x01\x85\xe6\xee\xee\x3b\x37\x48\x45\x6c\xef\xdb\x3a\x37\x4a\x8c\x81\xc9\xc9\xb0\x64\x27\xd1\x0e\xe8\xc4\xc3\x18\x5f\x96\x9f\xab\x8d\x2e\x24\x60\xa8\xa1\x9b\x8b\x56\xac\xc5\x40\xf9\x3e\x28\x18\x33\x5e\x6d\x78\x5d\xb3\xd2\x85\x33\xd4\xd7\xb7\xcd\x1d\x66\xa3\xc8\x92\xc3\xba\x16\x5d\x5d\x98\x13\x09\x32\xd9\xa0\x73\x1b\xdf\x76\xd8\xb5\xfb\x3c\xd6\x31\x5c\xc4\x41\xa8\xdb\x3d\xd2\xb2\x8a\xdd\x51\xe3\xc0\x85\x67\xd0\x58\xa5\x51\x6e\x87\x5d\x0f\x4a\xb7\x1c\xbf\x7e\x28\x15\x55\x4c\xaa\xfe\x8d\x08\x70\xc8\x9b\x85\x5b\x07\x33\x80\x38\x0c\x1c\x1a\xfc\xed\x73\xe4\x7d\x8d\xd2\xbd\xee\x7f\xf3\xbf\xbf\xfd\xda\xa6\x7c\xfd\xfa\x11\xa4\x7c\xad\x44\x14\xd6\x02\x7e\x4e\x59\x15\x3b\xd9\xec\x9a\xa0\x37\xc1\x20\xf8\x82\xbd\x0c\x06\x59\x71\x9f\x54\x5c\x29\xbd\x9c\x75\xc9\x69\xfd\xf4\xb3\xcd\x7c\x3d\x74\x34\xff\x81\x4b\x15\x2b\x51\xb2\x55\xa6\xcb\x28\x9d\x67\x3a\x08\xe7\xc5\x02\xa2\x13\x74\xb5\x7b\x78\xac\x0c\xbc\xfe\x31\x00\xaf\x6f\xd1\xf6\x19\x8a\x0e\xe2\xb1\xbe\x10\x2a\x35\x19\xc5\x4a\x47\xdc\x11\x5d\x5c\x7e\xe3\xb0\xc6\x7d\x44\xdb\xb8\x27\x24\x0b\x54\x5a\x36\x5d\xb4\xee\x7d\xc3\xcd\xab\x5f\x93\x44\x84\x41\x8a\x7a\x40\xa7\x68\x0a\xb6\xf6\x5b\x59\xff\x5f\xdd\x9d\x9c\xd0\x5f\xea\x67\x9c\x14\x6d\xed\x93\x62\xbd\xae\x7d\x8c\x82\x0c\x4f\x18\xf4\x23\x8b\x0e\x52\xaf\xa6\x96\xaa\x23\x95\xc6\x7d\x1b\xdc\x25\x64\x02\x56\xc4\x1d\x9e\xd6\x46\x0d\x9e\x5d\xeb\xb8\x02\xd2\x91\x55\xa3\xc3\x9e\x7a\x0f\xbb\xf5\xc0\x13\x7c\x18\x67\x02\x2f\x4f\x5d\x46\x26\x07\x9c\x40\x7b\x1d\xeb\x71\x22\x2b\xdd\x6a\x7c\x75\x5b\xea\xf7\x71\x3b\x2e\xfd\x28\x54\xc2\xec\x21\x85\x5b\x8d\xc7\xe3\xa8\x1d\x8d\xf3\xb9\x71\x49\x71\x07\x5c\x03\x5e\x9e\xde\xa0\x83\x8c\xb9\x7b\x49\xba\x5c\x5d\xa4\x9f\x6b\xb4\xbe\x7d\x62\xfd\xff\x41\x41\x25\x0f\x86\x4a\xb0\xe8\x33\xe6\xd2\xa0\x44\x7e\xb9\xc2\xc6\x32\x03\x74\x87\x83\x6e\x9a\xe5\xbb\x93\x60\xca\x74\xc6\x96\x14\xac\x3c\x86\x96\x4e\x68\x71\xaa\x56\xe8\xd3\x1b\x0e\x2c\x2a\x5c\x7b\xd8\xe5\x1c\xf0\xa0\x30\x35\x4b\x71\xc2\xb0\x21\x5c\xd1\xd2\x25\x3b\x78\xc9\xab\xa1\xc0\x2b\x29\xda\xee\x13\xa2\xb7\xd7\x9b\x3d\xba\x75\x19\x04\xb6\x92\x99\x80\x56\xff\x96\xe8\x4c\x90\xe8\xec\xfd\x5b\x18\x98\x08\x03\x77\x90\x72\x3d\x44\x7a\xb5\x55\x24\x16\xc4\x5e\x33\x0f\x75\x9f\xd3\x14\x8d\x43\x97\xaf\x93\x7f\x8d\x0c\x76\xee\x49\xcd\xee\xfd\x85\xf1\x94\xcc\x99\xba\x67\xac\x26\xa2\x6b\xcd\xa3\xd9\x67\x13\xd2\x87\xdd\x3c\x5e\x8d\xa6\x03\x54\xbc\xf0\x31\x1a\xee\xe8\x38\xc7\x06\xf8\xa6\x80\x57\x58\xe9\x82\x22\x1d\x44\x60\xaf\x54\x2c\xfb\x88\xbf\x4f\x97\x36\xc1\x24\xc2\x60\xc3\x0e\x90\xed\x0d\xac\x4b\x8e\xca\x7a\x60\x76\x32\x28\x18\x33\x28\x80\xf5\xf5\xb9\xe3\xc1\xca\xc1\x30\xb2\x47\xc7\xe7\xbd\x5d\x8a\x05\x88\x77\x83\xf7\x91\x88\x73\x5c\x76\x2d\xb8\xcf\x35\xee\x03\x1d\x77\x0a\x3a\x5a\x14\xac\x51\x59\xa5\xdb\x48\x2d\x4c\x43\x5d\x6a\x96\xd1\x9b\x8c\xbb\xac\x3a\x03\x1b\x99\x85\x68\xd7\x7b\x84\xc1\x33\x82\xdf\xb1\x6a\x43\xe4\x8a\xc2\xf1\x82\xc0\x19\x9e\x70\xf8\xcc\x2f\x9a\x53\x70\x31\x97\xf4\xe0\xe6\x42\xcd\x38\x88\x3c\xa3\x11\x40\xd8\x47\xc8\xb4\x61\x0f\x67\xdd\x55\xd5\xcf\x7b\x5f\x14\xb1\x2b\x77\xdc\xa6\x77\x66\x31\x0f\xe2\xa4\x75\x03\xd2\x87\xd9\xad\x71\xfb\x8a\x1b\xdb\xa7\xf8\x57\x92\x34\x3e\xbf\x79\x02\x40\x16\xc2\x5c\x72\x71\xdb\x74\x95\xdc\xdb\xd2\x90\x9d\xde\xab\xd8\x32\x31\xd2\x4b\x10\x62\xf8\x30\xee\xd9\x8a\xca\x15\x43\xe6\x77\xed\x72\x5b\xdb\xf7\xbe\x49\x51\x69\x8e\x27\x6f\x89\x6d\x16\xc3\xfc\x39\xd0\xec\x16\xb4\x2e\x58\xe5\xf4\x82\xa0\x2b\x46\xf0\x03\xab\x95\x62\x26\x54\x0a\xd2\xa7\x86\xda\x29\x4d\x80\x41\x81\xb5\x01\x53\x2f\x50\x10\x5a\x6f\x11\x2a\x41\xc5\xe8\xb5\x87\x06\x8b\x77\x4b\x25\x38\xd4\xfe\x1b\xea\x01\x2e\xaa\xd8\x74\x82\x52\xd4\xaa\x75\xc9\x02\x77\xdc\xda\x07\x23\x0a\x85\x44\x16\x56\x8a\xbd\xd0\x68\x56\x58\xe1\x60\xbc\x5b\x17\x5e\xda\x68\x5c\xf1\xee\x58\x69\xcc\xdf\x0a\x5a\x55\x26\xbc\xa4\x19\x21\x28\x90\xfb\x51\x1e\x89\x92\xc1\x5d\x3d\x45\x74\x60\x02\x3e\x8f\x40\x72\xcc\xac\x1d\x26\xe0\xd6\xe8\x58\x21\x7a\xc4\xe3\x18\xb0\xd9\x8c\x74\xb4\xe7\xec\x3e\xda\xae\x21\xca\xef\x7d\x01\x0e\x20\x7a\x28\xff\xe7\x0b\xb3\x39\xdf\x3d\x7f\xbe\xf7\x05\xf8\x5c\x7c\xff\xc5\xc5\x0f\x6f\xce\x4f\x66\x47\x6f\x8e\x4f\x66\x27\x67\x17\xd7\x7f\x1e\xa2\x45\xb0\x5c\x9a\xaf\x58\x73\x29\xf5\x0d\xfd\xf3\x5e\x1e\xd8\xf9\xcd\xd9\x8b\x93\xcb\xd9\xe9\xf9\x8f\x87\xaf\xd3\xfc\x40\x60\x7b\x11\xe1\x17\x97\x8e\x01\xfa\xe2\xe7\x18\x95\x59\x71\x7b\xe3\xb2\xe0\x62\xc8\x1c\x96\xa7\x8f\x52\x1b\xc7\xc0\x19\x1f\x7a\xc9\x37\xb4\x93\x43\x15\xc0\x10\x9b\xbb\xa0\xe3\x78\x02\xae\xe4\x10\xee\x0e\x73\x63\xb7\xb4\xd0\x0d\xbf\x27\x87\xfb\x7f\x23\x4f\x0a\x2a\xd9\x3e\xaf\xa5\xb3\x6c\x7a\xba\x47\x9e\xef\xff\x4f\xe8\xbc\xab\x4b\xd6\x9a\xc8\x6d\x07\xaf\x81\xb7\xfe\x9e\xfc\x66\xff\xdb\x6f\x02\x20\x07\x3b\x6e\xe1\xcd\xd5\xc9\xe5\xf9\xe1\xd9\x49\x76\xc5\x6f\x6a\x73\xcd\x81\x76\xc1\xcf\x2b\x5e\x6b\xa3\xf1\xdf\x4a\x0e\xb1\x6a\xe9\xca\x7f\x66\x72\x37\xdc\x2a\x9c\xe4\xf4\x78\x16\x13\x65\x7f\x9c\x4d\xc6\x46\x67\x8c\x35\xb4\xe2\x98\x7a\x88\x47\x8d\x32\xb6\x6d\x1d\x9c\xbb\xdc\xb6\x81\x1d\x8d\x3f\x19\xe8\x81\x3b\x39\x3b\x3c\x7d\x3d\xfb\xe1\xf0\xea\x87\xd9\xc9\x7f\x5f\x9c\x5e\x9e\xa4\x50\x60\x8f\x0c\x21\x63\xef\x1a\xde\xb2\xe1\x29\xb3\x5b\x9a\xbb\x31\xc2\xe2\x9c\xbb\xb5\x09\x60\xd0\x9f\x68\x25\x88\xb9\x38\x1d\x95\x24\x25\xab\x98\x6e\x34\x74\x0d\x2d\x2a\x5e\xdc\x92\x15\x6b\xd9\x2e\x42\x62\xbd\xe6\x16\xf2\xbe\x83\xbc\xdb\x7d\x74\x75\x76\x65\x55\x63\xe3\xe3\xf9\x88\xe1\x3c\xe0\xaa\xf9\x9c\xa3\x99\x84\x8a\x80\x49\xa3\xf8\x08\x88\x34\x8e\x94\x0f\xbd\x52\x22\xac\x6c\x19\x55\x6c\xe8\xeb\x81\x95\x62\x52\x33\x78\xa9\x39\xe7\x8f\x21\x5a\x94\x81\x35\x6f\x42\x31\xd6\xd6\x76\x7e\xc8\x8b\x2e\x2a\xba\x44\x98\xd0\x97\xfa\xf3\x1e\x38\x38\x5f\xbf\xd6\xcf\xad\x92\xeb\x12\x5a\x91\x05\x67\x55\x29\x27\x73\x02\xbd\xe7\x43\x21\xd6\x73\x5e\x53\x25\x5a\xf9\x65\x00\x70\xdf\x00\x34\x72\xa0\xc0\xb2\x13\x9b\x81\xec\xcd\x3a\x07\x1c\x7b\xd5\x2d\xd3\x46\x37\x35\xff\xa9\x63\x66\xb9\xb0\x67\x86\xe2\xaa\xc2\xe9\xeb\x9a\x11\x7b\xf7\xe6\xb8\x6c\x40\x40\x7d\x53\x02\xcb\x98\xee\x64\x5c\x9e\xec\xe5\x31\x14\x87\x76\xf8\x8e\xa0\x78\xcb\x95\x61\xb2\x83\x03\x72\x44\x6b\x27\x0a\x32\x07\x8a\xbd\xa3\xeb\xc6\xa6\xef\x2d\x7b\x88\x0e\x14\xbc\x4e\x4d\xb2\x48\x70\xfc\x74\x32\x56\x93\x4e\x6b\xc9\x6b\x4b\x29\xe6\x1d\xc4\xa4\x5a\x0a\x23\xea\x09\xad\x03\xe1\x6a\xaf\xc5\xf0\x6e\xd3\xe8\x1d\x18\x03\x7e\xfc\x4d\xd7\xfa\xf8\x0d\xf1\x5e\xbc\x5d\x6d\x40\x06\x16\xcc\xca\x48\xe8\xcc\x74\xcb\x3d\x4d\x8f\x41\xfa\xb6\x6e\xd4\xf0\x25\x87\x52\x86\x6f\xfa\xf3\xfc\xcd\xcb\xc3\xd9\xd1\x9b\xf3\x97\xa7\x97\x67\xb3\xb7\x87\xa7\xd7\xb3\xff\x4e\x4e\xf4\x15\x37\x52\x30\xde\x6f\x10\xfc\x6b\xfc\x1e\xeb\x12\x62\xef\xf8\xb0\xcf\xb1\x65\xe5\x1e\xb9\x67\xc6\xb6\xd4\xee\x0d\x87\xf0\xee\x5f\x93\x7b\xc6\x6e\xad\xbd\x74\xd1\xb5\x5c\x6d\x48\xd3\xb5\x8d\x90\x4c\x1e\x90\x3f\x83\xd9\x69\xed\xae\x19\xe8\xd9\x86\xe8\x24\x54\xbf\x03\x37\x44\xf1\x35\xdb\x23\x1b\xd1\x7d\x65\xcc\x56\x81\xfb\x01\x69\x98\x64\x4a\x7f\x6f\xfb\xb1\xd6\xe4\xbf\x75\x2f\x02\x5c\x77\x23\x42\x64\xc6\x84\x3b\x77\xe7\xeb\xe4\x10\x59\x2a\xd1\xb2\x32\x15\x24\x7c\x78\xef\xbd\x05\xe4\xe3\x89\x9e\x10\x66\x10\x1a\x62\x22\xbc\xe5\x53\x44\x3c\xf6\x79\x4b\xe0\x79\xee\x0f\xdc\x08\x89\x58\xf0\x9a\xcb\xd5\x35\xbd\x65\xa2\x53\x57\x0c\x14\x66\xc8\x22\xa3\xd5\x92\x75\x7e\x09\xb5\xfc\xc6\x2a\x53\x9d\x48\x5b\x3f\x99\xc6\xe3\xa2\xeb\x26\x51\x2e\xb2\xaa\x54\x51\xcd\xbd\x19\xeb\xb0\x30\x9f\xee\xa4\xa7\xc2\xb7\xfe\x28\x5f\x1f\xfe\xf1\xe4\xcd\xcd\xf5\xec\xf2\xe4\x4f\x37\x28\xb7\x78\x38\x5c\x32\x7d\xe1\x5b\xd9\x3a\xaf\xb9\xf2\xf2\xf7\x05\x6f\xa5\x8a\x8f\xca\x92\x29\x4b\xc8\xaf\xaf\x5f\x23\x3b\x18\x97\x27\x5b\xf7\x8a\x29\x52\xd2\x0d\xf4\x56\xb9\x8c\xb0\x4e\xd6\x30\xe8\xa6\xaa\x82\xd3\x86\x99\xe7\x23\x95\xd0\x0e\x69\x55\x11\x09\x91\x65\xfe\x01\xcf\xe4\x60\x51\x42\x59\xe4\x20\xf0\xe2\x68\x35\x44\x9a\xab\xba\xb6\x9e\x2a\xf1\x34\x24\x3a\x11\x74\xd2\xdd\xc5\x9c\x26\x9d\xb5\xf7\xf3\xf4\xfa\x17\x2f\x8c\x9c\x0b\xf5\x8f\x26\xc6\xfc\x79\x64\x93\x72\x88\x1b\xd7\x41\xf1\xb6\x12\xcb\x25\x2b\xf7\x79\xed\xce\xa9\x44\xd0\x41\x1c\x5b\x39\xfc\x88\x2b\x50\xae\x26\xda\xab\xc9\x1c\x46\x3b\x25\x7a\x09\x3f\xe6\xab\xb5\x64\x2e\x47\xee\x15\x5f\xd6\x37\x4d\x18\x1c\x11\x1f\x43\xbe\x7a\xea\x91\xb6\x62\xa0\xb9\xf0\x26\x38\xc0\x3b\xd8\x57\x7d\x1c\x24\xda\x4a\xec\xac\x35\x2d\x18\x2f\x91\xae\xc1\x86\x3a\xee\xc3\x86\x54\x42\xd7\x47\x4e\x73\x65\x5b\x32\xf5\xaa\x12\x73\x5a\xd9\x28\x68\xe3\x3d\xe3\x55\xd1\xfe\x97\x50\xd5\x64\x38\x2f\x36\xd9\xce\x21\x0b\x9e\x77\xb2\xcc\x74\x3b\xac\x84\x76\x18\x18\x78\xac\x75\xfd\xa6\x62\xbd\xa3\xa7\x4c\x4f\x7e\x50\x96\xf2\xb0\xbe\x4c\xdf\x00\x0b\xa6\xc0\xd6\xce\xc1\x1f\x3f\x56\x26\x2a\xdc\xc9\xbb\x82\x35\x23\x07\x2b\xa9\x95\xa5\x7c\x88\x71\x50\x2d\xea\xfd\x92\x2d\x68\x57\xa9\x08\xc9\xa2\xa0\x41\x43\xb9\xd4\xba\xa1\x2d\x9b\x49\x67\xc8\x1e\x4f\xf8\x74\x41\x54\xdb\xb1\xbd\x5c\x2f\xd0\xcc\x60\x37\xad\xa4\x08\xc3\xff\x3f\xee\xf7\x69\xc3\x30\x41\xf5\xe9\xc2\x19\xf7\x6a\xfe\x01\x7c\xa9\xcc\xc4\x1d\x99\x77\x85\x3e\xfa\x80\xf7\x38\xcb\x4c\x1b\x45\x82\xf1\xc3\xb4\x2d\x8c\xeb\x2b\xa6\xa4\xd7\x74\xa0\xdb\x6c\x95\xef\x4b\x7e\xc7\x8c\x6b\xc1\x33\x30\x32\xd9\x33\x2f\x52\xcd\x4f\x80\x5d\xd0\x33\xfd\x9f\x09\x63\x8f\x08\x97\xf1\x15\x8a\x63\xc8\x8a\xae\x4d\x6f\x93\x6d\xd2\xfc\x93\x93\xcb\xd9\xe9\xf1\xb8\xec\xdd\xbd\x6f\x21\xd2\x03\x2f\xb3\xf2\xf7\x25\x53\x23\x4e\xb7\x61\x29\xa2\x7f\x06\xdb\x87\x62\xb2\xfb\xad\xc1\x7e\xf7\x24\x1c\x12\xac\x09\x2e\xad\x58\x2d\x94\x64\x35\x8f\xd1\xb3\x35\xc1\x8f\x60\xdd\x91\x1d\x74\x63\x7c\xa2\x0f\xf6\xd5\xe5\xc5\x87\xf7\x4f\x77\x12\x56\x4f\x10\x07\x5e\x1c\x5e\x5d\xbd\x7d\x73\x79\x3c\x2e\x12\x8c\xf1\x29\x8a\xb9\x3e\x86\x55\xe6\x7e\xca\xec\xa2\x2d\xcc\x6f\x5e\x70\xb3\x01\x8d\xde\xa6\x97\x44\x59\xc3\x8b\x30\xcc\x09\xb9\x5f\x09\xc9\x52\xe8\x72\xe5\xf2\xae\xc0\x75\x94\x12\xa0\x6d\x8b\x78\x79\xfa\xe3\xe1\xd1\x9f\x67\x7f\x3c\xf9\xf3\x96\x25\xf4\x01\x55\xc7\xd6\x6d\x5c\x0a\x31\xa8\x80\x33\x28\x5b\x9f\x3a\x8f\xf3\xa5\x33\x51\xfa\xd0\x87\xc0\xef\xe3\xca\x8d\xd9\x00\x2c\x59\x92\xe6\x36\x29\x42\xd7\xd1\xc8\x4a\xa3\x34\x70\x39\x31\x33\xfa\xd2\xf1\x62\x12\x44\xdc\x6a\x60\x66\xa5\xd3\x50\xba\x07\x5e\x58\xc6\x72\x6b\x45\x55\xff\x68\x32\x32\x40\x3d\x3c\x5d\xc6\xea\x25\x44\x5f\xb1\xde\x1f\xc3\xd8\x34\xa9\xa4\xd7\x2d\x06\xd2\xf3\x8e\xa8\x7f\xfd\xc3\xc9\xd9\xc9\xec\xe5\x9b\xcb\xb3\xc3\xeb\x2c\xee\x9f\x5a\xbb\x37\x15\x4c\xcd\xd3\x93\x8c\x76\xc1\x00\x9e\x06\xb1\x07\xf5\x17\x64\xd7\x33\xd7\x48\xce\xb3\xff\x55\x9f\x12\x28\xf0\xee\x4f\x04\x4a\xbf\xde\xee\xe1\x2a\xa6\x1f\x5c\x02\x8c\x86\x2e\x35\xdf\x36\xaa\x84\xdb\x45\xc7\x24\x16\x0b\xc9\x94\xfc\x52\x77\xbb\xdf\x27\x8a\xd3\x77\xcb\x60\xb1\xd7\xcd\x38\x1f\x11\x56\xc0\x8f\x1b\x5b\x37\x02\x6c\x28\x5d\x22\x84\x9e\x53\x98\x7e\x75\x86\x11\x36\x82\x64\x77\xa9\x44\x81\xb5\x5c\x60\x57\x2f\x5f\x33\x52\x9a\x5c\x79\xc6\x8d\xc6\xe8\x1f\xfa\xb1\x59\xd8\x8e\x6d\x05\x54\xdc\x23\xf0\x48\x07\xd9\xf2\xef\x83\x1b\xc5\x59\x1a\xfe\xf6\x39\x08\xc8\xff\xe3\xb7\xdf\x3d\x7f\xbe\xeb\xf5\xf2\x29\xef\x68\xfc\xb0\x9d\x5d\xcc\x7c\x2f\xc7\xa7\x57\x87\x2f\x5e\x23\x42\xc3\x6b\x7c\x19\xb8\x24\x25\x97\x74\x5e\x21\x07\x10\x0b\x2b\x84\x16\x6f\x7b\x76\xf6\x21\xdb\xef\xfb\x4c\xdc\xd9\x67\x27\xce\x4f\xf9\x62\xcd\x04\x2e\x23\xf8\xe3\x97\xc7\xb6\x37\xf4\xd8\xf3\xb9\x17\xb2\xb9\xc7\x66\xef\x01\xda\x3f\x93\x91\xb7\xc3\x63\x3d\xe6\xc3\x00\x4b\xb9\x35\x49\xaa\xa1\x5b\x7c\xcf\xe6\x56\xf9\x76\xcf\xcb\x25\xd3\x2c\x0a\x8d\x9b\x4d\x63\x3f\x4c\x6b\xf9\x0c\x60\x45\xef\x0a\x5e\x73\xb5\x55\xeb\x80\x54\x42\x7c\x6b\xac\x58\x7c\xba\xda\xa1\x08\x7c\xc9\x87\x9a\x3c\x2b\xdd\x12\x56\xe0\xef\xc5\x57\x29\xa3\xc0\x2b\x36\x5b\xd3\x77\x33\x69\x03\x7f\xc5\x90\xce\xe8\x3b\xbe\xee\xd6\x3e\x15\x84\xae\x2e\x7b\xb8\x28\xb8\x49\x03\x32\x15\x1f\xb5\x04\xc2\x1a\x74\xcf\x5c\x46\xe1\x29\xd3\xf2\x5e\x43\xbc\xf6\x99\x88\x77\x39\x28\x61\x7c\xd1\xa0\xff\x69\x9b\x1c\x76\x5e\xb1\xa5\x7e\x0c\x18\xe1\xc1\xc7\x8e\x60\xed\xdc\x64\x76\x1e\x46\x1f\x66\xf5\xa3\x07\x01\x12\x91\x5d\xfb\x77\x0f\xf5\xc2\x7a\xb4\xed\xa2\xb2\x76\x7a\xae\xd3\xf3\xd3\xeb\xd9\xf1\xc9\xeb\xc3\x3f\x23\x4a\xeb\xb7\x94\xab\x5e\xef\x4b\xe6\x6c\x61\x48\x25\x37\xc1\xdb\xcd\x19\x8e\x6f\x2e\xcb\xff\xe5\x1e\x0d\x51\x71\x2e\x34\xd4\x88\x65\x0a\x6d\x6f\x47\x57\xc9\xc2\x37\x36\xf6\xb4\xbd\x25\x77\xac\xb5\x34\xe9\x11\x1f\xc6\x47\xfa\xa0\x09\x16\x74\xe4\x96\xb7\x35\xc6\xf8\x95\xa4\x4a\x76\xe7\x47\x58\x94\xbc\x4d\x0f\x12\xea\x70\x38\xcd\x11\xfe\xe6\x6d\xc8\xdb\x6c\x9f\x6e\xcb\x96\x5c\x2a\xd6\x1e\xb3\x81\xcb\x7f\xa6\x02\xc2\xd6\x98\x72\x52\x42\x05\x63\x70\x61\x54\x33\x17\x37\x57\x3f\xc4\xfa\x99\x9d\x0c\xfe\x9a\x4e\xae\xf6\xad\xbb\x4a\xba\x7e\xb4\x69\x66\x92\xd6\xe5\x5c\xbc\x43\x45\xcf\x4f\xe6\x42\x54\xd7\x6d\xc7\x9e\x7e\x78\x0f\xa6\x32\x2d\xad\xe5\x9a\x2b\x30\x8e\xa1\xc4\x36\xdd\xd7\xcc\xa4\x19\x1f\xf3\x6c\x7c\x27\x59\xe9\xf8\x7e\xdb\x0c\xae\xf5\x83\x69\x87\x25\x70\xd3\x7a\xe6\x06\x61\xce\xc5\x63\x3a\xa4\xb5\x98\xad\x3b\x9b\x3a\x65\x60\x12\x70\x27\x78\x69\x37\x51\x2f\xc1\x13\xc9\x2b\xe7\x6b\xc1\xeb\x3b\x6e\x52\x3a\xcd\x69\x71\xab\x2f\x8b\xba\x7c\x3a\x48\xd4\x4a\x6e\x24\x5b\x74\x60\x05\x2c\xe9\x9d\xae\xa9\x14\x6b\x37\x43\x2b\xe7\xbd\x2f\x84\x26\x73\xb3\x8e\x97\xc8\xa2\xb8\x1c\xd1\x5d\xac\x22\x06\x01\xa0\x30\x8e\x4c\xe0\x8d\x6b\x85\x81\xd5\x86\x74\xd2\xe5\x82\xcc\xd0\x06\x09\x09\x22\x90\xf5\x17\x2d\x79\x79\x74\x06\xf3\x3b\xbc\x38\xbf\x22\x3f\x8a\xd3\x8b\x3d\x1b\x8a\x9f\x56\xa4\x97\x4b\x81\xbc\xae\xb3\x7e\x8e\xf6\x33\xd1\x68\x1a\xaf\x40\x4a\x95\x5c\x18\xbc\x81\x50\xc8\x9d\x18\x13\x0a\x0f\x69\x33\x53\x1b\x4c\x55\x1d\x36\x34\x9e\x8c\x17\x2e\xd3\x96\x71\x8e\xf9\xfe\x6b\xb2\x6f\xe6\xf2\xa4\x0c\xeb\x82\x2a\xa3\x69\x2a\x06\xa3\x7e\xfa\x0d\xd9\x87\x99\x3f\x59\xf0\x96\xcd\xa9\x0c\xab\x2d\x85\x58\x56\x8c\xb8\x92\xa7\xdf\x92\x7d\x72\x06\x10\x9d\x83\xdc\xcd\xe5\xa9\x79\x70\xf0\xa2\x15\x52\x2c\xcc\x52\x3c\xfd\x8e\xec\x93\x2b\xbe\x76\x9d\x90\x27\xac\x2e\x1b\xc1\x4d\x7e\x47\x80\xb7\x10\xef\xbe\x92\x44\x06\x75\x0e\x2f\x4e\x9f\xfe\x86\xec\x93\x9b\x79\x57\xab\xce\xda\x16\x3f\xe9\x07\xd3\xd9\xef\x1a\xfe\x6f\xc9\x3e\x79\x51\xd1\xe2\x76\xce\xda\x76\x13\xd6\x9a\xf7\x5f\xa1\xe6\xef\x34\xc4\x5a\xef\xd7\x7f\x90\x7d\xf2\x56\x8f\xfd\x9e\xd7\xa5\xb8\x97\xa6\xfc\x7f\xba\x45\xd2\x1b\x1e\x02\xea\x97\x08\x8a\x9e\x7e\xfd\x5c\xb7\x67\x73\x3b\xa1\x7b\xfb\x9f\x39\xb3\x73\x56\x89\xfb\xa7\x5f\x7f\xed\xd6\x67\x08\x2c\x5e\x1e\x0b\x50\xaf\xfc\x35\xff\x1b\xab\xc3\x9a\x0a\x3e\xc0\xd0\x34\x4e\x7e\xfd\x9c\xf4\x3d\xc1\xa5\x08\x35\x9d\x5f\x2d\x25\x7f\xb8\x7a\x73\xbe\xef\xdc\x6b\x45\xe4\x01\xe8\x8e\xc2\x2d\xdb\x48\xef\x63\x0c\x3e\xb8\x40\x94\x2d\x55\xdd\x85\xcd\x8b\xa9\xf1\x76\x71\xe0\x9b\x3f\x9e\x9c\x4f\x13\x51\x98\x69\xe5\xc4\xe0\x2d\xa4\xb7\x1a\x04\x60\x47\x0a\x31\x17\x45\xb0\x5f\x31\x6a\x2f\xbd\xbe\x77\x5c\x54\x3e\x51\x98\x9b\xe0\x57\xd2\x06\xa4\x11\x3e\x20\xcd\x54\xf5\x1d\xcc\x82\x99\x9b\xd6\x8c\x24\x39\xc5\x39\xfb\xcd\x6b\x70\x29\xd5\x65\xe4\x7e\xb5\xb1\xe6\x8c\xcc\xf8\xc6\x18\x43\x4e\x03\x70\x67\x0d\xc4\xd1\x0f\x87\xe7\xe7\x27\xaf\x67\xa0\x89\xb8\x3e\x49\x56\xfe\xcf\xa2\x03\x0f\xeb\xfa\x2b\x45\xfe\x2a\x20\x74\xbb\x09\x6e\x63\x0e\xf5\xb3\xfe\x11\x90\x33\xf6\xfe\x94\x1a\x47\x13\x3f\x74\x9b\x13\x0a\x56\x0b\x0b\xa1\xc2\xac\xaf\xae\x71\xff\xf8\x45\xbd\xf0\xc0\xc6\x74\x9b\xef\x29\x52\x09\x0b\x80\x4a\x40\xcc\x55\x7b\x6b\x5a\xdb\x00\x92\x23\x01\x1f\xf2\xe1\xbd\xe6\x82\xb9\x92\xbb\x24\x97\x02\x2f\x81\x4e\xad\xa6\xca\x97\xae\x7a\x73\xc0\xd5\x24\x1c\xfc\xad\x47\x91\x97\x97\x27\x57\x3f\xcc\x2e\x4f\xae\x4e\xae\x67\x87\x37\xd7\x3f\xbc\xb9\x3c\xbd\x3a\xbc\x3e\x7d\x73\x3e\x7b\xf9\xe6\xf2\xc5\xe9\xf1\xf1\xc9\x39\x8a\x97\x05\xd5\x58\x59\x89\xa5\x5e\x00\x73\xc9\x3b\x63\x27\xc2\x17\xa4\x62\x12\x32\xc4\xd7\xe4\x9b\xef\xc8\x4a\x74\xad\x8d\x15\x60\x43\x0f\x48\x30\x49\xde\x88\xce\xda\x4a\x0d\xe3\x0f\x3a\xd9\x0c\x8e\xd6\xd3\x25\xaa\xa3\xca\x4e\xd8\xe2\xad\x76\x09\x58\x2d\x14\xa1\x95\x04\x03\x83\x8c\x5d\x42\x2b\xd6\x7d\x16\xfd\xde\xf6\x60\x38\x9c\x51\xa1\xe5\xb0\x46\xce\x90\xb9\x57\x84\x84\xe6\x3e\x49\x57\xf9\x70\xec\xe3\xf5\x26\x9c\x03\x7d\x17\x7a\x6d\x3c\x48\xf7\x20\x81\x97\x17\xb8\xed\x2e\x1b\xdc\xe9\x20\xb8\x54\x6e\x3b\x3f\x01\xee\x87\x73\xfd\xcb\xe0\x01\x86\xac\x47\x7e\xa7\xb6\x0b\x53\x01\x6f\x4c\x84\xc1\xed\x0b\xf7\xf1\x52\x55\xcd\xe2\x4f\x34\x3d\xcc\x56\xcd\x79\x26\x8f\x9a\x1f\x3e\x6a\xcb\xee\x15\x5f\x22\xa8\x14\x48\x76\xe0\x65\xe4\x8f\x32\x37\xa4\x4a\xb7\x32\x16\xb5\x9d\xb4\x19\x00\x24\x4b\x99\x8a\xca\xe4\xe4\xdf\x0d\x76\x25\xee\x27\x80\xce\x4b\x25\xce\x46\xf6\x22\x2f\x5e\xd0\x43\x19\xb7\x62\x18\xd6\x40\x82\x31\xe8\xc2\x6a\x63\xa6\xf5\x8f\x6f\xca\x60\x32\x1c\xce\xcc\x6b\x14\x35\x16\xf0\x06\xc8\xa6\x0e\xea\x29\x98\x9d\xdb\x44\x74\x9e\x60\x6a\x7e\xe7\x76\x6c\x48\x0f\xfb\x44\x7e\xbf\xf8\xa8\x86\xb8\x95\x13\xcc\xf6\x65\x29\x3e\x69\x34\xca\x8a\x64\xb7\x09\x10\x35\xe0\xe4\xd4\x74\x35\x7c\x46\x1c\xed\x90\xea\xc3\x29\x8c\x49\x1a\xe3\xf2\x9c\x98\xf1\x59\x57\xf3\xcf\x2c\x70\xcc\xcf\x30\xe9\xf9\xbf\x1e\x2c\xad\xdc\xb6\x58\x48\xb8\x04\x64\xc9\x90\x5a\x59\x87\x75\x48\xc6\x31\xf4\x64\xf6\x36\x82\xc3\x68\xa9\x5b\x02\x61\x3c\x30\x60\xc3\x18\xd1\x0d\xdc\x85\x73\xc4\x76\x52\xb8\x87\x4f\x15\xa1\xc1\x64\x7b\xe8\x1d\xc4\xc7\xf6\x60\x58\x0d\x8d\xb2\x83\x64\x1e\x78\x1c\xbe\xe4\x38\x2f\xa8\x17\x0a\xf8\x7f\xef\x8d\x6a\x9d\x40\x22\x16\xfd\xf3\xfa\x98\x7f\x4e\x6c\xf9\x44\xaf\x20\xbd\xff\xe6\x88\x8d\xa5\x6c\xc1\x6a\xe1\x48\x92\xe4\x84\x08\x52\xb9\x80\xe0\x2c\x35\xd2\xdd\x35\xc3\x71\x8a\x01\xcc\x49\x23\xd2\x55\x30\xdd\xdf\xc3\x8e\x6a\xba\x15\x0a\x1e\xb6\x10\x30\x33\xe1\x6d\x87\x67\x58\x6b\xe2\xb2\x04\xd1\x2f\x3e\xdb\xb2\x8c\xd3\xba\x84\x92\x78\x31\xcc\xa7\xa5\x7a\xd1\xaa\x8e\x7b\x21\xca\x71\x2f\xc4\x2b\xe6\x09\x3b\x91\xac\x5a\xec\x97\xcc\x3c\xdd\x60\x41\x8d\x65\x58\xca\x25\x28\x0c\x33\xb8\x61\x11\x2a\x93\x5c\x15\x7c\x1b\x77\x35\xa2\xbc\x7e\x3d\x3b\x3e\xfc\xf3\xd5\xb4\x33\x78\x7d\xfd\x7a\xe4\x08\xee\xe4\x91\x35\x5a\x3d\xcd\xd5\x22\x96\xcb\x8a\xf9\x54\x0e\xd6\xcd\x6a\xa0\x04\x49\x19\x10\x50\x23\x8d\xbe\x5c\xac\xf9\xd8\x16\xc8\xa3\xb8\xb0\xdd\xb9\x0b\xa9\x84\x62\x45\xde\xb9\xcb\xa4\x26\xba\xe3\xec\xde\xa6\x87\x5e\x71\x08\xeb\x78\x7e\xf5\xf2\xad\xab\xfc\xf4\x91\xbf\x50\xfd\xec\x66\xac\x36\x26\x7b\x48\x44\x39\xd8\x8c\x70\x56\xe3\x6b\x3f\xd5\xc9\x2d\x5b\x15\xdd\x87\xac\x93\xdb\x74\x0e\xf7\x55\x06\xc4\xe8\x6c\xf2\x5e\x0b\x72\xc4\x6b\xc1\x8a\x2e\x3e\xad\xe3\x02\x98\x71\xf5\x26\xa8\x0e\x78\xdb\x55\x4c\x82\xb6\x2a\x25\xaf\x50\x96\x61\x46\xc3\xe6\xbf\xb0\x87\x03\xae\x53\xb0\x40\x7f\x3c\x7c\x7d\x93\x37\xf5\xbe\x8e\x7c\xc6\xc2\x49\x10\x87\xef\x9a\x66\xe7\x28\x62\x57\x6f\xb5\x75\x48\xaa\x64\xa4\xa1\x92\x50\x67\xee\x60\x05\xf1\xa0\xc3\xda\x23\x52\x89\x46\xfa\x64\xf1\x17\x37\x57\x3f\xec\xc7\xfe\xa9\x4a\x10\xae\x10\x1b\xcf\x5f\x58\x15\xfe\x6f\x85\xf4\xbf\x15\xd2\xff\x56\x48\x3f\x4c\x21\x6d\xba\x34\x18\xff\x7a\x98\x8f\x6b\xa4\x12\xe6\xd7\x5e\xdb\x03\xba\x2f\x79\x69\xa4\x66\x36\xd9\x61\x71\x4b\x16\x8c\xaa\xae\x85\x88\x59\xf6\x86\xde\x33\x16\x4a\xb5\x50\x44\xae\xc4\x7d\x9f\x3f\x80\xbd\x53\x20\xe7\xe5\x75\x21\xd6\x8e\xf2\x0c\x2d\xaf\x76\x51\x6f\x8e\x9b\x5e\xe5\xfc\x25\x6c\xce\x01\x08\xdc\x03\x55\x6c\xc4\x3d\x7b\x71\x09\x22\x15\x6d\x95\x63\x96\x92\xd1\xe3\x83\x7e\x30\x3e\x24\x5b\xb6\x55\x2d\x87\x56\x4b\xb6\xed\xa4\xd4\x04\x7f\x44\x25\xf7\x6b\xf9\x0a\x8f\x3d\xa9\xce\x51\x07\xf6\x47\x66\x5a\x70\x76\xf5\x6a\xcc\xb2\xc0\xb9\x7a\x39\xc4\x39\x3d\xde\xe6\x3a\xf6\xd1\xb6\x0a\x28\xd4\xab\x93\xeb\xeb\xd3\xf3\x57\xf9\x47\x9a\x1b\xa8\x47\x8b\x7b\xd6\xe6\x7c\xd3\x0c\xce\x4d\xf0\x77\xce\x54\xc4\xdf\xb3\x3e\xc9\x70\xde\x6d\xaa\x66\xf7\xb3\xd1\xb8\x72\x46\x36\xfa\x09\x3c\x8f\xf7\xb6\x78\x37\x8b\xaa\xfc\x45\x3c\x9c\x4d\xec\xcc\x9b\x73\x1b\xda\x2c\x1b\x3a\xb3\xab\xad\x50\x32\x8b\x57\x09\x24\xc4\xd8\x3c\xc2\x2d\x23\x30\xe2\x52\x1f\x0d\x0f\x7c\x8f\xfc\xb7\x8b\xe1\x66\x93\x2e\x6c\x4f\x7f\xfa\x57\x7d\xd7\xba\x28\xd3\xca\x89\xa2\xbe\x37\x76\x2d\x16\x53\xee\x7a\x99\x9a\xb1\x53\x54\x36\x78\x8a\x0f\x84\x9a\x76\x40\xeb\xd2\xde\x32\xae\x66\xe0\x05\x7f\x90\x59\x86\xf3\x93\xb7\xb3\xab\xc3\xd7\x79\x77\x4f\x87\x45\x92\x56\x6a\xfb\xb9\x02\x70\xdb\xce\x56\x82\x98\xfe\x90\xd1\x76\x5b\xf0\xd4\xe9\xee\x73\x11\x4a\x4e\xf3\x9c\xbb\xba\xbc\x98\x42\xbc\xae\x2e\x2f\x62\xc2\x85\x10\x83\x56\x2c\xe2\x30\xf9\x78\x79\x72\xf4\x4d\x5e\x44\x69\x1e\x0a\x8d\xa9\x85\xdc\x2f\xc6\xcf\x0d\x7d\x19\xce\xb9\x40\xdc\x84\x5a\xa9\x66\x78\x64\x64\xdd\x06\x7a\x83\x4a\x58\x6c\xc8\x47\x66\xf5\x5c\xd1\xed\x73\xd1\x75\xd0\x30\x97\x5b\xe8\xcb\xe1\x8b\x37\x37\xd7\xb3\xeb\x37\x6f\x66\xaf\xdf\x9c\xbf\x4a\x23\xad\x81\xfb\xa2\xf3\x79\x10\x82\x40\x3a\x37\x1c\x99\x5e\x9e\x5e\x5e\x5d\x8f\x86\x78\xbe\x86\x6c\x31\x6e\xd1\xb7\x30\xab\x57\x90\x95\x21\x8b\x50\xb6\x38\x8b\x4f\xc2\x64\x21\x83\xc5\x31\x09\x1e\xb0\x17\xec\x62\xa1\x6b\xed\x6e\x8b\x1f\x80\x35\xfc\x6d\x61\xc3\xd2\x0b\xf2\x44\x97\x99\xd1\xbd\x31\xe0\x9f\x7e\xf8\xfb\xc7\x58\xe1\x8f\xe9\xf1\xc3\x06\x49\xbf\x28\x43\x99\x53\x3e\x87\xa5\x99\x45\xfd\xe7\x8d\x55\xfb\x2b\x3a\xff\xfc\xd2\x61\x72\xb7\x98\x0a\x74\x2e\x4d\xed\xa7\x8b\xae\x6b\x40\x8e\x84\xc8\x1f\x54\xc8\x48\x27\x65\x1f\x1f\x1f\x9e\xf9\x69\x46\xd0\xdd\x83\xe3\x13\xd1\x9a\x60\xb3\x6e\x67\xf9\xa2\xef\xc5\xa7\x6b\x6a\xd9\x5a\xdc\xb1\x12\x8d\xa4\x4f\x7f\xa9\x48\xfa\x5f\xf7\x24\xfb\xe6\xfa\x07\x10\x65\x5e\x9c\x5c\x9e\x65\x82\x57\xc7\xce\xee\xb4\x53\x2b\x10\x6a\x3a\xa9\xc7\x9c\xd7\x65\x10\x4d\x88\xb5\x6b\x5a\x83\x90\xd7\x55\xb4\x56\xc7\x6a\xc5\x24\xb3\xb6\xc6\x32\xc7\x51\x3d\x34\xb2\xff\x38\xb0\xf3\x37\xd7\xb3\xb3\x37\xc7\xa7\x2f\x4f\x11\x9e\xf7\x26\xd8\xa3\x5a\xa8\x3e\x39\x18\x9e\x2b\x7c\x4a\x7f\x6f\x8e\x8e\x6e\x2e\xb6\xf5\xa5\xe8\x2d\xab\x87\x97\x55\x25\x68\x99\xa7\xaa\x7d\x29\x42\x55\xc1\x22\x2d\x43\x55\x1d\x3b\x95\xa3\xa8\xc4\xc0\x66\x25\xa1\x03\xe1\x94\xf1\xa1\xde\x4d\x6b\x6f\xdc\xa5\xff\xe2\x1c\xb6\xf1\x63\xf3\x52\x77\xfb\xf8\xf9\xa5\x35\x5f\xb3\x8c\xcc\xf7\xec\xf4\xec\xc4\x66\x48\xf3\x12\xc0\xa6\xa9\xec\xb3\xe2\xd9\xbb\x7d\xb5\x84\xed\xd8\xff\x3f\x86\xe8\xff\xbc\x67\x35\xe6\x36\xec\x8b\xc9\x3c\x27\xbd\x99\x76\xce\xa1\xb3\x5b\xcf\xb1\xbd\xeb\xd6\xf3\xda\x38\x02\x3c\x20\x4a\xcd\xe9\xeb\xa9\x11\x65\x00\x3d\x72\xdc\xba\x46\x9a\x31\xf3\xad\x61\x8d\x6c\xe8\x7a\x4d\xdd\x0c\x06\x9b\xa7\xfb\x88\x19\x57\x16\x97\xc9\x1f\x2e\x5e\x3d\xbb\x38\x7f\x15\x34\x1e\x2e\xe6\x94\xdd\x04\x4d\x83\x3b\x0e\x79\x50\x1f\x61\x4d\x16\x5e\x68\xc1\x5b\x15\x59\xbf\xb0\x74\x6b\xd2\x11\x5a\x96\x2d\x93\xf2\xf3\x59\x3e\xe4\xb3\x8e\x8c\x3c\xd8\xdd\x9b\x3b\x59\xc0\xad\xe6\x25\x39\xcb\x89\x69\x62\x8e\x1f\x4f\x2e\x4f\x5f\xfe\x39\x9b\x24\x24\x19\x35\x73\x59\x43\xf0\xa4\x21\x77\xbd\x41\x4a\x76\x9f\x32\x29\x43\xbc\xad\x5d\x64\x17\xf2\x99\xed\x53\xf0\xbd\x3a\x8a\xd2\x51\x19\xe1\xb4\xc9\xaa\x5a\xc1\x7a\x8f\x98\xe0\x7c\x44\x8a\xa7\xa1\x31\xcf\xc7\xe5\xa4\xea\x6f\xe5\x5f\x69\xd0\x39\xd3\x9f\x8b\x4f\x93\x93\x6a\x04\x61\x03\xf3\xa6\x8d\xe8\x22\x5b\x34\x87\xb5\x7b\x46\xe4\xbc\xa6\x1b\xb2\xa2\x4d\xc3\x6a\xcd\x86\xf2\x38\x39\x1b\xad\x4d\x20\x52\xb8\x79\x1c\x0a\x3e\xe1\x8b\xde\x77\x8c\xbb\xca\xab\x56\x74\xcb\x15\xa1\x7d\x3d\x68\xf8\xa4\xb6\x29\x21\xc4\x62\xc1\x0b\x4e\xbd\xa9\xe2\x53\x80\x0f\xfe\xd3\x5c\x11\x18\x40\xa9\x19\xe3\xa6\x85\xcb\xce\x1b\x94\x82\x69\x93\x58\x43\xac\x8b\x56\x3e\xb5\x67\xad\x53\x2b\x9b\x9f\xf0\xb5\x58\xf2\xfa\xda\x29\x69\xdd\x69\x43\xcb\xd3\x5c\xb0\x50\x83\xfc\xe9\x92\x58\x5d\xd2\x92\xd7\x4e\x3f\x5d\x89\xe5\xd2\xe4\x1f\x35\xa9\x23\x9a\xc6\x50\x2a\x1b\xe6\x47\xf3\x3c\x4a\xf3\xd0\x2e\x56\xd1\x20\x93\x3f\xc8\xf2\x98\xf7\x85\x7f\x19\x5a\x39\x1a\xd6\xc4\xf4\x76\xc7\xa9\xeb\x7f\x37\xbd\xd3\x4f\xed\x7e\xc6\x37\x27\xa3\xb1\x7e\xdd\xcf\x8e\xb0\xf5\x9c\x95\x36\xd3\xac\xed\x7d\x60\x89\x39\x32\xc6\x07\x0c\x71\xbb\x40\x48\xbf\x2e\x22\xbd\x23\x2e\x26\xee\x8d\x1a\xe0\xd1\x90\x51\x3f\xea\xdd\xd7\x8f\x8d\x6b\xb6\x6e\x0e\x3b\xb5\xfa\x23\xdb\x0c\x91\x63\x58\x9c\xe0\xc6\x0b\x6e\x12\x5b\xc6\xef\x99\x3e\x28\x2b\xbc\x57\xd8\xba\x99\xe9\xcf\xb3\x5b\xb6\x99\xf1\xcc\xd3\x26\x6e\xa3\xcb\xc2\x36\x07\xe4\x84\x16\xab\xa0\x09\xbc\x98\xe8\xc6\x44\x01\xd6\xaf\x26\x08\x75\xac\x04\xd1\x27\xba\x1f\x8d\xae\x46\x95\x1e\x20\xe4\xf2\xd0\xf3\x31\xa9\xba\x34\xe6\xc5\xd5\xc4\x1d\x6b\xef\x5b\xae\xac\xcc\xa0\x69\xd9\x1d\x17\x9d\x66\x27\x59\x82\x9b\xd6\xbe\xd8\x6c\xff\x05\x6b\x17\xac\x50\xe4\xa5\xcd\x5e\x7e\xc5\x8a\x96\x15\x9b\x1d\x15\xa4\x0b\x44\x2f\xca\x5c\x06\xce\xd9\xba\x4f\x12\x3f\x74\x9e\x60\xe4\x95\x8d\xa9\x05\x12\x8e\x41\x8b\x89\x14\xfb\xcb\xa5\x87\xb1\xef\x61\xec\xbb\x5e\x35\xba\x18\x7a\x28\x67\x98\x28\xe6\xa6\xe6\xef\x60\x85\xa5\xa2\xeb\xc6\xc4\x09\xb9\xb3\xc9\xf3\xe2\x55\x36\x2b\xf6\xc2\x6e\x83\x53\xbc\x59\x5b\xb0\xa9\x4f\x8e\x2f\xed\x36\xba\xf1\xed\xbb\xf6\x36\x0e\x85\x4d\x9d\x1b\x8f\xf1\x92\xd6\xa5\x58\x83\x8c\xd4\x5c\x79\x9f\x75\x10\x43\xfc\xc5\xac\xb0\x42\xec\x0f\x8e\x86\x86\x4b\xd4\x50\x6c\xbe\x95\x49\x3b\x3f\xba\xfc\xf3\xc5\xf5\xc9\xf1\xec\xec\xe4\xea\xea\xf0\x55\xfe\x39\xd2\xa7\x75\x75\x33\x07\xca\x50\x88\xb6\x65\x85\xca\x3c\xc5\x4f\xcf\x2f\x6c\xd2\x8f\x93\xab\x11\x91\xb4\xf1\x42\x87\x10\xaa\x46\x44\xa3\xa7\x93\x93\x49\x5f\x9f\x9c\x5d\xcc\xbc\xc0\xe4\xf0\xf5\xe5\xc9\xe1\xf1\x9f\x67\x2f\xde\xdc\x9c\x67\x6e\x6b\x9b\x11\x3c\x3a\xb5\x5c\x12\x5a\xb5\x8c\x96\x9b\x9e\x04\xd0\xda\x58\x31\x25\x9b\x30\x65\x1c\x79\x99\x8d\x9b\x98\xbe\xfa\xf5\x7d\xdd\xb0\x56\x53\x02\xfd\xaa\x31\xe9\x2a\x46\x88\x60\x40\x72\x8d\x2f\xc2\xd0\x56\x7b\x50\x32\x96\x21\xd6\x5e\x37\xc3\x27\xc2\x18\xe7\x3a\x91\x27\x34\x46\x05\x7a\x28\xc6\xe1\x62\x77\x86\x2f\x6c\xfb\x6f\x16\xef\xf3\xb2\x78\x9f\x33\x81\x2a\xa0\xe3\x8a\x15\xb7\x58\xdc\xd5\xb4\x30\x35\xe8\x6e\x37\x9e\x37\x84\xe5\xf3\x26\xf1\x23\x79\xbc\x3e\x41\x7a\xb3\x71\xc3\x00\x3b\x86\xaf\xe4\xa3\x0f\x80\x6e\x34\xfb\x9f\x43\x3d\x9c\x05\xe6\x87\x7b\xf4\xc3\xe1\xf9\x2b\xe4\x38\x5d\x04\xfa\x6b\xab\x53\x0b\xd1\xa5\x6c\x45\x13\xf0\x8a\x72\x88\x31\x49\x79\x2e\x32\x00\x3c\x43\xf3\xa4\x54\x9f\x5b\x78\x90\x38\x4d\x83\x00\x95\x8e\x63\x79\x11\x2e\x0a\xaa\xfb\x8b\x20\x63\x9c\xe2\xc4\xeb\xd2\x3c\x60\x4c\x98\x5d\xbd\x09\x73\x46\xf4\xd0\x1b\x56\x26\xca\x00\x37\x75\x13\x7b\x30\x1b\xa8\x20\x57\x25\x1b\xd1\x15\xdc\xaa\xf5\xf4\x0a\xd1\x6c\x80\x5f\x8d\x16\x21\xb8\xe2\x74\xcd\xfd\x82\xd5\xaa\xc5\x14\xf3\x65\x81\xb2\x1e\xe7\x3e\x2b\x37\x25\x8a\xb6\x4b\x48\x9b\xe5\xe1\xec\x48\x87\x8f\x8f\x26\x1b\x44\x1d\x1f\x69\x54\x44\x69\x8d\x59\x9e\xfc\x2b\x35\x29\x47\x42\xbe\x9a\x17\x27\xa1\xf1\x0b\x55\x2f\x63\xe6\x81\xa6\x07\xd7\x3f\x54\x83\x56\x41\x90\x65\x67\x7c\x6a\x2c\xa0\xe7\x54\xb2\xdf\x7e\xd7\xb5\x15\x98\xab\x42\xbd\xfb\x9a\x50\x78\x01\x2d\xbf\x7f\x66\xa2\x19\xfc\x17\xc0\xf8\x4f\x53\xd7\xb6\x37\x60\x6f\x2e\x5f\xbb\x97\xb2\x1d\xc8\x67\x7e\xf5\x8e\xa9\xa7\xc7\x9f\xc7\xb4\xe1\x19\xa6\xe1\xb0\x97\xc9\x87\xa9\xb6\x80\x81\xd0\xd4\xf4\x80\x1c\x36\x4d\x9c\xb8\x63\x32\x71\x5d\x6f\x68\x63\xe3\xe0\x34\x1c\xc5\xdd\x4c\xef\x9f\xae\x63\x4b\x2d\x46\x0d\xe7\x1d\xc7\xd9\xe7\xd0\x02\x9b\x83\xd3\x63\x09\x19\x42\xf5\xd3\x51\xb3\x02\xa1\x70\xe4\x9e\x17\xcc\xf0\x89\xe0\xe4\x49\xd7\x46\xdb\x96\xa3\x28\x7c\xbd\x95\xa2\x60\x55\xb0\xa8\x27\x60\x0a\x6b\xd3\x93\x1a\x2c\xa6\xe6\x59\xde\xdb\x4c\x18\xc6\x4f\x33\x41\x35\x05\xff\xa4\x71\xb2\x32\xdf\x28\xcc\x13\xe4\x30\x61\x7a\x87\x22\xea\x6c\xca\xb6\x44\x19\x3e\x49\x12\xf2\xe2\xcf\xd7\x27\x13\x3d\xdb\x62\x02\xba\xd5\xf6\xea\xe6\x6a\x07\x3b\x4f\xbb\xf7\x38\x61\x33\xbb\xf4\x42\x4c\xd9\xcb\xa4\x16\xb6\x9d\xdc\xd2\x9b\xb9\x40\x64\xd5\xff\xb2\xa7\x76\x2e\xec\x05\x9f\x11\xeb\xbd\xd0\xcc\x37\xd0\x60\x60\xf8\xe6\x42\xbf\xf3\x27\xf6\xa2\x2b\x8f\x85\xdb\xbc\x64\x90\x38\xb8\x34\xde\x1f\x1d\xd8\xd8\x77\x72\x67\x63\xaf\xa3\xa3\x93\xab\x2b\x2b\xdd\xcb\xbd\x68\xfa\x69\x78\xa5\x0a\x8a\xbf\x11\xb0\xdd\x5c\x14\xf4\x33\x65\xec\x68\x1c\x5e\x9c\x6e\x3b\x19\x06\x0b\x9e\x39\x64\xcc\x3a\x53\xed\x8d\x5a\x50\xe4\x7a\x38\x74\x76\x10\xb9\xc3\x96\xe7\x22\x92\xf2\xcc\x01\x73\x64\xb2\x65\x25\x6f\xcd\x63\x25\xe2\x29\x02\xe9\x76\x4d\x0a\x2a\x41\xc7\x79\x7c\x44\xd6\x5c\xae\xa9\x2a\x56\x2e\xd6\x6b\x24\x32\x37\x3c\xc7\xa3\xbc\xec\xb7\xcb\xc2\x1f\x42\x9e\xc7\x51\xd9\xf1\xdc\x21\x5b\xab\x51\x30\xd5\x18\xea\x9d\xab\xc4\xf2\x4d\xa7\x86\xfb\x69\xbf\xe2\xb7\x9e\xd3\x31\x58\x03\x24\x07\xc9\x5a\x22\xe7\xde\xb5\xc3\xe2\x4c\x34\xac\x61\xfa\xee\x0f\xef\x03\x1f\x39\x6f\xec\x6c\x3d\xce\xc1\xd2\xc5\xb1\xf1\x07\x56\x8c\xe4\x7a\xb8\xb4\x95\x3f\xfc\x7d\xd7\xc7\xef\xd8\x7e\x87\xf2\x98\x4c\x87\x53\xf5\xd1\xb1\x8e\x53\xa3\x29\x5b\xef\x6e\x27\x31\x92\xcc\x3f\xa2\x43\x4e\x96\x62\xd2\x8c\xff\x1c\x6c\x1b\x3e\x89\x64\xfb\xf0\x6a\xc8\x36\x1a\x61\x5e\xbc\x57\xf0\x24\x8a\xf7\xd5\x26\x1a\x04\xa7\x39\x23\x3e\x90\x4e\xde\x17\x1b\xb5\x87\x79\xda\x3f\xe9\x5e\xda\x3a\x5f\x42\x2f\xfb\xa1\xdc\x2f\xdd\xc2\xef\x9e\x3f\xcf\xc4\x50\x40\x44\x0c\xd3\x73\xb9\x63\x52\x8d\x09\x9b\x99\xf6\x15\x6e\xa8\x97\x13\x26\x7b\xe8\x4b\xc6\x82\x72\xf6\x89\xf5\x01\x29\xdd\x8b\x78\xcd\x4a\xde\xad\x8d\x3b\x61\x20\xfc\x03\x4b\x14\x2e\x49\xa9\x97\x6a\x0d\xbe\x44\xd6\xf6\xd3\xa4\x86\xb4\xf9\xbe\xac\xc3\x84\x57\xfe\x44\x02\xcd\x67\x83\xe1\x7d\xdf\x93\xef\x0f\xef\x63\xc5\xe0\x2e\xfb\x8f\x07\xd1\xdc\x2a\xbc\x1d\x48\x37\xe1\xa6\x15\x90\x35\xd1\x31\xf4\xbf\xa4\x24\x77\x28\x52\xfc\xb7\x34\xf7\xd3\x49\x73\x61\x59\x40\x88\x88\x9f\xb9\x01\xaa\xe8\xc1\x43\x80\xf9\xac\x37\xc0\x27\x14\x12\xa7\x21\x68\x13\xc1\x1f\x56\x25\x15\x18\xc3\xa9\x04\xef\x00\xe7\xd5\xf8\x95\x44\x42\xd5\x26\xd2\x3f\x67\x4b\x6a\xd5\xb4\x87\x60\x83\x53\xd0\xaa\x32\xb7\xb1\x5e\x0b\xc0\x68\xbd\x1d\x9a\xbd\x65\x05\x93\x92\xb6\x1b\x13\x63\xd9\xb9\xe7\x47\xa0\xac\x43\x79\x7f\xa1\x5b\x08\x78\x06\x83\xc9\x71\xa2\x06\x46\x31\x83\xc8\x00\x08\x29\xff\x6d\x7a\xcc\x7e\xb9\xa8\xb6\xff\x54\x11\x7a\x3d\xba\xe6\xee\x9c\xfc\x8d\x83\x07\x46\xf2\x21\x91\x3e\x4a\x7c\x16\x84\x63\x34\xef\xd2\x5f\xe9\x0d\xfe\x49\xfa\x9d\xae\xe9\x33\x9e\xe5\x8a\xb5\xe6\x4d\x48\x2b\x6b\xc1\xbb\x83\x4d\xe8\x55\x98\x4b\xb9\x0f\xd1\xad\x2f\x79\x1b\x3f\x6b\xd7\x17\xcb\xf8\xb3\xf6\xf0\xe2\x14\x44\x3c\xa3\x52\x23\x0b\xe3\xe2\xe6\xc5\xeb\xd3\xab\x1f\x4e\x8e\x67\x2f\x5f\xbf\x79\x83\x11\x56\x2e\x89\x06\xc8\x4b\xb8\x95\x9a\x6e\x5e\x71\xb9\xd2\xf8\x2c\xd6\x0c\x4c\x9a\xf7\x00\xa9\xcd\xe1\xe8\x24\xd3\xb4\xab\x16\xf7\xdb\x5e\xcc\x8f\xc4\xe7\xe0\x53\xd9\x0a\x7c\xfb\xfc\xdb\xc0\x95\xf3\xfa\xed\x9b\xcb\x3f\xce\xce\x4e\x5f\x5d\x1e\x5e\x9f\x20\xee\xb1\x97\xac\x61\xd4\xdc\xc9\x3f\x75\xcc\xd0\x77\x2f\xc6\x64\x2d\xf9\xef\x0c\x64\x73\x17\x7e\x1a\xb8\xd9\x3b\xf6\xf0\xe2\x62\x76\x75\xfa\xea\xfc\xe6\x62\x12\x3d\x74\x51\xaa\xdc\x0d\xc4\x21\x26\xcf\x94\x8e\x5e\x1c\x9e\x9f\xe7\x78\x27\xcf\x95\x0f\x2e\xf5\x39\xad\x3d\xcb\xe8\xce\xf6\x94\xbe\x70\xec\xd6\xb3\xa0\xf2\xd6\x8a\xc3\x82\xe8\xf9\x82\xac\x35\xdf\x05\x66\x42\x39\xd4\x99\xc4\x98\x38\xd5\x66\xc4\x6e\x86\xf0\x7e\x3b\x80\xe7\x9f\x2c\xf9\x11\xc3\xad\xa2\x5a\x6e\x24\x3d\x5e\x6a\x1f\x0d\x7a\x74\xcc\xbe\x8f\x8b\xcb\x37\xd7\x27\x47\xd7\xe8\x26\x70\x69\x07\xcd\x03\x0d\xb4\x57\x88\xe7\x74\xb3\x67\x57\x86\x03\x3c\xba\x3c\xd1\x28\xfa\xf2\xf0\x14\x4b\xa1\x79\x58\x13\x20\x70\x44\x14\x70\xfd\x95\xe4\x7e\xc5\x2b\x46\x8a\x96\x19\xd3\x30\xbd\x15\x57\x67\x57\xc6\x56\x24\xb8\x11\xf9\xb2\x3e\x4d\x24\x65\xf6\x6b\x7a\x1b\xf2\x65\x1d\x2a\x14\xec\x4b\xd8\x19\x7b\xc5\x9b\x82\x85\xa2\x18\x31\xa6\xfe\x11\x76\xb5\xee\xd6\xac\xe5\x05\x75\xd1\x18\x9d\x75\xf2\xd5\xd9\x95\xb7\x47\x1b\xde\x13\x5b\xdf\x4a\x41\x63\x72\x7a\xbc\xf7\x2b\xbe\x93\x86\xf7\xa0\x9e\xda\x84\xbb\x70\x97\xf7\xd3\x96\x37\x42\xb4\xa4\xc1\xcb\x7c\xdb\x03\x24\xf7\x2e\xd3\x50\xc6\xa5\xd1\x01\x90\xad\xe6\x0a\x16\x41\xfd\x73\xed\xb3\x12\x8a\x0c\xbc\x9b\xf3\xac\xc3\xd9\x75\xf0\x40\x34\xc0\xe7\x9d\xbe\x9b\x83\xd3\xa0\x57\xd6\xc4\x6b\xe9\x49\xac\xe3\xf5\x23\x99\xa6\x84\xc0\x88\xd8\xc9\xbb\x69\xf2\x69\xd1\x64\xf6\xb8\x39\x74\x92\x1b\xa9\xd8\x1a\x39\x7c\x1f\xeb\x78\xff\x31\xbe\xee\x3b\x1f\xd2\x4c\xfb\x5f\xf8\x5c\x6d\xf7\x9b\x77\x48\x16\xac\xdb\x2f\x67\x42\xf9\xfa\x70\xe2\xe8\xfa\x6d\xd9\x7e\xce\x27\xd1\x0f\xfa\x4f\x43\x3d\x1e\x2d\x1b\x93\x81\x37\x4a\x9b\x86\xbc\x9d\xb3\x54\x30\x26\x0a\x86\xf8\xcc\x85\x92\x07\xb4\x96\xf7\xac\x7d\xcb\xe6\x2b\x21\x6e\xff\x70\xf5\xe6\xfc\x4f\x5d\x2c\x4e\x1f\xab\x95\xba\x88\x40\x3d\x4d\x9a\x8a\x4e\x2a\xb1\x36\xac\xf2\xef\x4d\xcc\x3a\xa1\x20\xe2\x03\xa2\x70\xd0\x7c\x74\x7a\x94\x21\xe8\x9b\x64\xad\x49\x89\x5c\x12\x33\x08\xf7\x38\xf9\xc9\x8e\x20\x26\x0e\xf0\x15\x7d\xf6\x9e\xf6\x4f\x5d\x90\xee\x87\x03\xdc\x91\x18\xfc\xe9\xe6\xe4\xf2\xcf\xdb\x94\x9f\xe6\x91\x30\x30\x07\xc8\x1b\x19\xbc\x78\x33\x16\xed\xa6\x97\x5e\x15\xb4\xf6\xbe\x0e\x85\xc9\x9b\x03\xf6\x93\x73\xa1\x82\x5d\x05\x46\x04\x26\x68\xf5\x1b\xc3\x0d\x4d\x2b\xa0\x02\x8f\x60\x27\x2d\x2d\xda\xba\x97\xa6\xfa\xcc\x0c\x17\x97\x0f\xdb\xa9\xe0\xb7\x83\x06\x86\x3c\xf4\x87\xc8\x60\x61\x64\x93\xef\x6f\xdb\xc3\xb3\x93\xeb\x1f\xde\x8c\xef\x60\xef\x3d\xe3\x24\x87\xbf\xca\x4e\xaa\x17\x42\x1d\x89\xf5\x9a\xd6\xa5\x4c\xb7\x31\x2a\x45\x63\x76\xcd\x85\x22\x85\xa9\x01\x09\xe2\x31\x7d\x5f\x0f\x3d\xb5\x33\x28\x7a\xe8\x43\x13\x25\x97\xdc\xda\x58\x01\x23\xd1\x23\x32\x15\x90\xe8\x11\xac\xb8\x25\x7c\x61\x9f\x13\xce\x95\x7f\xd1\x32\xe3\xc3\xac\xd7\x6a\xce\x08\x95\x9a\x2b\x32\x02\x0a\x8a\x85\x7f\x4b\xa7\x66\x73\x48\xa3\x78\x98\x02\xf8\xf0\xde\x3a\xd8\xf2\xaa\x0a\x7a\x8b\x90\xa1\xeb\x67\x31\x51\xb1\x13\x26\xb2\xce\xc7\xbb\xb8\xfe\xff\xd9\xfb\xbb\x25\x37\x72\x6b\x4f\x14\xbf\xff\x3f\x05\x46\x0e\x47\x77\xcf\xbf\x54\x52\x77\xdb\xde\xb3\xdb\x31\x31\x9b\x22\x29\x89\xbb\x59\x45\x9a\x64\x75\x5b\x3b\xec\x61\x80\x99\x20\x09\x57\x32\xc1\x4e\x80\x55\xa2\x23\x7c\x62\xce\x5b\x9c\x73\x77\x9e\xc1\x73\x6e\x14\x73\xa7\x47\x99\x27\x39\x81\xb5\x00\xe4\x17\x90\x4c\x96\xaa\x4a\x94\x5a\xbe\x71\xab\x12\xc4\xe7\xc2\xc2\xfa\xfc\xad\x75\x0e\xbc\x00\xb5\x0a\xf4\x9e\xdc\x0d\x49\x6f\x3a\xef\xf4\x2e\x06\x97\x68\x81\xea\x82\x8c\x71\x71\xd5\x7d\xed\x7b\xdc\xbe\xca\x18\xa1\xf1\x86\x63\xe9\x42\xfb\xaa\x81\x29\x2a\x72\xc5\xcb\xcf\xc8\x86\x5e\xe7\x7e\x0a\xf8\x9b\xab\xaa\x0d\x53\x45\x60\x9d\xe2\x0a\xc0\x83\x96\x83\xf4\x05\x6e\x8c\x85\xfe\x6b\x15\x9b\x62\xe1\x58\x0f\xde\xc3\xee\xeb\xce\xac\x75\xd8\x56\x84\x40\x31\xed\x6e\xf7\x41\xe8\xa4\x52\x34\x58\x11\xfe\xa2\xe0\x30\xc9\x6f\x05\x64\xe9\x77\x73\x1a\xad\x5d\x9b\x52\x83\x60\x96\x7f\xa1\xc2\xba\x25\xb6\xe3\x62\x47\x1c\x85\xb6\x84\xf4\x32\x33\x22\xc5\xbf\x56\x39\xb9\x49\x9b\xaf\xff\xf8\x15\x13\x30\x55\x9b\x58\x5f\xfb\xe5\x22\x13\x34\x8e\xa8\x6c\x86\x74\x8f\xec\xe2\xdd\x8a\xef\x76\x23\x4f\x0a\x16\x63\xc5\xc4\x1c\x20\x84\x1b\xb6\x2d\x11\x0e\x3e\xbf\x82\xc2\x60\x2b\xf4\xb7\xdb\xb7\x22\xdb\xbb\xdb\xd6\x05\x10\x87\x2c\x75\xe0\xe7\x3b\x72\xb0\x26\xa6\x85\x66\x3a\x0b\x05\x6a\x99\x96\xbd\x35\x05\x7e\x1e\xb2\xd5\x01\x83\x38\x00\xab\xd6\xd5\x7c\xc1\xa4\x28\x37\x83\xaa\x41\x6f\xb3\xc1\x6c\x18\x52\x9a\x2e\x05\x72\x19\xd8\x10\x7f\x0e\xc6\xf7\x65\x21\x62\xd2\x9f\xce\x26\x03\xaf\xf9\xd0\x30\x6d\xb9\xa5\x1b\x5b\xca\xb5\xe8\x26\x30\xc7\xeb\xd8\xb4\xc8\x60\x6c\xad\xa3\x94\x78\x0f\x94\x7e\x69\xe2\x3d\xe5\x06\xc1\x24\x0d\xef\x2b\x7a\x1f\xac\x27\xf8\x74\x77\xbd\xcf\xb6\xc0\x6a\x3e\x77\x7a\x96\xdb\x02\xd4\xde\xfb\x2b\xf5\xb0\xb0\xb7\x76\x00\x20\xf1\xce\xe4\x55\x7d\x88\x6e\x3e\x57\xa0\x71\x9a\x21\x3e\xde\x82\x99\xdd\x8c\xff\x88\x63\xa2\x49\x59\x2f\x49\xca\x1d\xd8\x94\x59\x4a\x54\xb6\x37\x79\x5d\xd8\x38\x27\x3a\x30\x80\x41\x10\x0c\x38\x6d\xbf\x7d\xfe\xfc\x39\xd9\x30\xad\x8c\x4a\xf2\xb5\xdc\x21\x80\xb7\x13\x1c\x42\x51\x0f\x78\x4b\x41\x92\x99\xf4\xff\x74\xe5\xb5\x1b\xe8\x4d\x72\x28\x41\xa9\x11\x65\xc0\xee\x83\x3b\x05\xc3\xc4\x02\xfe\x1d\xb8\x70\x30\xcc\xcf\x93\xc1\xac\xdf\xca\x29\x03\xb9\xe1\xa5\x21\xbc\x37\xeb\x35\x97\x4a\x94\x34\xe9\x40\x83\xd0\xcd\xc2\xba\x8d\xd0\x06\x35\xd6\x47\xbb\x60\xd3\xe2\xc5\xba\x5d\x0b\x99\x4f\xc4\x6e\xb5\xa1\x8e\xbb\x3d\x1b\x1b\xfa\xd6\xaf\xa2\xf7\xf4\x42\xad\xe9\x6f\xb7\x2d\xd7\xa6\x38\x38\x85\xa3\xb0\xa6\x4f\xf7\x2a\x7b\x68\xe9\x02\xb7\x44\x86\x89\xc9\xb5\x08\x51\x93\xd9\x55\xe3\xb3\x39\x09\x9e\x7d\x37\xe2\xf1\x13\x8e\x2c\x50\x8e\xf4\x3d\x06\x9f\x09\x71\x78\x19\x98\xcd\xf4\xef\xf5\x87\xfd\x96\x4c\xcc\x30\x6c\x91\xba\x50\x47\xb7\x79\x5a\x94\x40\x0f\xa8\xdb\xc6\x33\xb2\x11\x52\x91\x84\x5f\x33\xb0\x57\x44\xd4\x04\x23\x70\xa9\xf9\x92\xa9\x54\x67\x7a\x08\x19\x43\x3f\x04\x84\xdd\x73\x27\xae\x24\xcb\x0e\xf2\xd8\x62\xa3\xa6\x34\x53\xb7\x78\x08\xf6\x03\x33\x4c\xc4\x32\x45\x6d\x46\x17\x5c\x9a\x8f\xc2\x7f\xef\x6e\x65\xf0\xb2\x58\xc8\xb2\x42\x96\x9e\xaf\xd9\x25\x39\x7e\xae\x2c\xf5\x13\x97\x2e\x1e\xa7\xa6\xc1\xbd\xe4\xba\xb9\xfb\xc7\x62\xae\x3a\x7a\xbb\x7c\x97\x33\xff\x58\xbb\x94\x17\x22\xe6\x4b\x0c\xc8\xc6\xdd\xce\xf8\x6a\xad\x24\x4a\x40\xbe\xbb\x78\xdf\x06\x0f\x3d\xe8\x1c\x07\x0d\x24\x88\x17\xa6\x55\x53\xc1\x1b\xed\x8d\xfe\x49\xdf\xe9\x82\x67\x34\xbd\xf6\xbc\x83\x69\xcc\x23\x6a\x91\x8b\x32\x91\x30\xf2\xb5\x6e\xf9\x8d\x65\xf2\x05\x02\x66\x58\x27\xe4\x07\x44\xfe\xd7\xc4\x9d\x2d\xb8\x82\xb0\x30\xc4\xd9\xad\x97\xea\x0d\x31\x15\xbd\x36\x94\xdd\xac\x05\xd0\xb0\x98\xd2\x09\xe6\x6c\x66\xa3\xcf\x98\x1f\xcd\x67\xe0\xae\x36\x18\x06\x66\x00\x02\x4a\xb3\x82\x77\x0e\x26\x10\x32\x02\xbc\x18\xcd\x8e\xeb\x0d\xbc\x1e\xc5\xab\xf9\xac\xd9\xb8\xf9\x62\x34\x9b\x3b\x7b\xc6\x65\xc7\x97\xc5\x27\xcd\xb5\xd7\x37\xc2\x6c\xd7\x36\xe3\x37\x3c\x61\xab\x60\xa0\x91\xee\xf6\xd5\x64\x74\x35\x9e\xce\x5f\x0c\x47\xdd\x1f\x43\x21\x46\x60\xf8\xa7\x06\xba\x80\xc6\x26\xb0\xef\x90\x5d\xe4\xd3\x61\xe5\xdf\xfb\x58\xf9\xe0\xf2\x27\xcd\x6a\x1b\x39\x7a\x2c\xc0\x22\x8b\xb1\x5e\xfa\xa2\x20\x81\x06\x58\xf9\x27\xfe\x62\x54\x63\xb3\x11\xd5\x63\x6e\x2e\x53\xf3\x00\x50\x5e\x06\xf8\x03\x4b\x30\xfd\x11\xd6\x53\x34\x37\xd1\x18\xd2\x1a\x36\xc8\xb6\x31\x72\x1b\x6f\x1d\xd9\xb3\x66\x14\x29\x78\x70\x7a\xfd\x4e\x77\x06\x64\x71\xc8\x09\x87\x7c\x05\x70\x94\x51\x4a\x79\xf8\xd2\x3c\xf9\x99\x4c\x06\xaf\x5e\xcf\x9a\x77\x2b\x2b\xb3\x3b\x43\x64\x34\x49\xc4\x2d\xca\xd4\x87\xc8\x4b\xef\x47\x33\x43\x22\x1b\xfa\x96\x6f\x76\x1b\xeb\xd8\x37\xb5\xfb\x24\xe4\xbd\x2c\x18\xa4\x03\x47\x8c\xe9\x95\x7d\x5d\xb1\x90\x2b\x44\xc0\x60\x6f\xe9\x66\x9b\x04\x2d\x2e\xe8\xc0\x0c\x30\x15\x90\x1d\x17\x09\x16\x1d\x6b\xb0\x5d\x1e\x36\xe1\x8e\x72\xb5\x03\xe7\x5f\xd2\x39\x34\x49\x95\x43\x16\xee\x62\xe2\xc5\xa9\x4c\xfa\x9d\xd9\x68\xd2\x94\x72\xc0\x90\x0b\xe4\xec\xe6\xcc\x29\x38\x7b\xb4\xb4\x72\xcd\xa5\xf5\x56\x8a\x50\x5c\xc6\x07\x8b\x4e\xe1\x5e\x01\x62\xfd\x6a\x76\xd5\x19\xce\xbb\xa3\xcb\x59\xa7\x3b\x6b\xd1\xbb\x71\x39\x51\xb2\xd9\xa9\x1d\x44\x50\x42\xd5\xdb\xa6\x43\xb3\x95\x32\x1b\x0c\xcf\xd6\x41\xf9\x95\xac\x17\x21\x6d\x4b\xed\x8f\x6e\xe6\xd6\x0f\xeb\x0b\x08\x6c\x0e\x09\xa2\xe6\x6b\x1d\xd2\x92\xa6\xcf\x76\xe9\x82\xa6\xcf\xae\x79\x74\xfd\x38\xd2\x27\x86\x60\x37\x8a\x9f\x26\x4a\xfb\x23\xcb\x9f\xc7\xcb\x82\xa5\x79\x7f\xb8\x30\xf8\x49\x49\x2a\x9f\xb8\x08\xf1\x90\x85\xf4\x06\x97\x97\xfd\xde\xbc\x37\xe8\x0c\x47\xaf\x9a\x1e\x3f\x17\x99\xc0\x81\x8c\x62\x4e\x13\xb1\x6a\xe4\xfd\x4e\x1e\xf4\x4e\xd5\xb0\x17\x60\x5a\x66\x8f\x1f\x4d\x2f\xee\x9a\xc7\x24\xc0\x90\xec\x67\x0f\x98\x1e\x4d\xe5\x92\x65\x8e\x9e\xc5\x6d\xca\x32\xb9\xe6\xc7\x04\xbe\xe4\x0e\xbd\x6a\xe0\x55\x08\x31\xaf\x82\x6f\xa0\x35\x71\x53\x67\xfa\xe8\x7a\x7d\x41\xb6\x71\xc9\x6e\xcb\xab\x3a\xb5\x12\x92\x0f\x7a\x71\xef\x07\x2b\xb0\x5d\x39\x39\x37\xc2\xc5\x60\x3a\x1d\x78\xfc\xde\x6e\x15\xa6\x6c\x9f\x3e\x7e\x9e\x12\x91\xc5\x26\xf8\xd2\x52\xa1\xa3\x3e\x13\x50\xd9\xa8\x0b\xbb\x61\xf5\x15\x47\x4d\x24\x50\xda\xd0\x2e\x47\x8b\xfa\xf6\x71\xf0\x25\x80\xd2\x95\x38\x23\x2a\xdb\x13\xba\xa2\xb8\xcf\x7f\x26\x92\x45\x22\x8d\x43\x9b\x3b\xed\x4f\xa7\x83\xd1\xe5\x81\x29\x40\xca\x37\xe4\x8b\xc2\x14\x50\xd0\xb8\xa7\x19\xdc\x3f\x2f\x19\xda\x60\x90\x00\x33\x19\xe6\xc1\x22\x15\x6e\xd2\x8f\xb9\x72\xb1\x24\xfa\x08\x57\x26\xc0\xc4\x67\x14\x0b\x84\xf2\x74\x4c\x69\x8c\x80\xc5\x28\xc8\x84\x6c\x2c\xcb\x5d\xed\xdb\x0d\x61\x32\x9a\x93\xac\x98\x08\x04\xc9\x1c\x0e\x0b\x7d\xd5\x01\xdb\x4a\xf3\x2d\x77\xb1\x9b\x98\x0c\x99\x07\x75\x8a\xb2\x78\xe8\x39\xb0\xf1\x5a\x28\x11\x3a\x2d\xfc\xe8\x09\x8f\x74\xf1\x75\x5b\xdd\xa2\x74\xe1\x3e\xa6\x13\xcf\xc8\x76\x38\xa9\x02\x58\x62\xcc\xeb\x6e\x04\xc8\xdc\xc0\xa5\xd7\x4f\x6c\x6b\x16\x7e\x12\x22\xe0\x63\x30\x7a\x18\xa6\xb1\x7e\x16\x4c\x1f\xa5\x1d\x2b\x4f\xdd\x52\x80\x83\x75\x22\xf3\xe3\x0a\x7f\xe3\xd7\xa3\xd9\x68\xde\x9d\x8c\xc6\xf3\xe9\xe0\x3f\xfa\xf3\xe9\x45\x67\x38\xac\x75\x0c\x24\x6c\x03\x4a\xe4\x86\x26\xc1\x17\x01\xba\xeb\xff\xb9\xb9\xca\x2b\x7b\xab\x58\x2a\x0d\x87\xca\x2f\xc0\xe1\x67\x0e\x7a\x0f\xf5\x6c\x26\x19\xe4\xaa\x33\x1b\xd8\xe6\xbb\xa4\x33\x13\xd6\xe6\xe3\xa7\x50\xcc\xc2\x84\xbf\x9e\xc4\x0d\x6d\x5b\x25\x50\x5f\xc2\x3b\x94\x26\xfd\x72\x07\x1f\x23\x24\xf0\xbe\x23\x94\x10\x45\xd7\xc4\x8c\x0c\x39\xba\x92\x6a\xa4\x5e\x6b\x54\x23\xf9\x57\x4c\x11\x4d\x2d\x58\xe5\x79\x83\xa5\xed\x96\xe6\x79\x72\x55\x05\x3e\x66\xc0\xc9\x69\x17\xc1\x83\x8d\x60\x1e\x75\xa8\x10\xae\xcb\xd3\x28\xd9\xc5\xcc\x98\xd6\xcd\x2f\x00\xdd\x8a\x92\xaf\x01\x8d\x2c\x59\xec\x36\xf2\x9b\x56\x20\xab\x17\xe1\xb4\x4a\xb5\xce\x18\x6d\x9e\x0a\x4d\x64\x3e\x1f\x4a\xf0\x17\x90\x47\xcd\x97\x84\xde\x50\x9e\x68\x85\xe1\x8c\xf0\x54\xf2\xd8\x59\x78\x13\x24\x9d\x93\xe0\x2a\x0f\xab\x23\xba\x8a\x1b\x2d\x05\x7c\x77\x43\x5a\x24\x1f\xdc\x5b\xf4\xcc\x8a\xa1\xeb\x7d\x28\x56\xbe\x5b\x5f\xfc\xec\xbd\xef\xb9\x1b\x39\x11\xab\x87\x7d\xe6\x8c\xf7\xb6\x46\x92\x23\x2d\x79\xcb\xb5\xb8\x25\x80\xaf\x2c\x5d\x26\xbb\x75\x39\x1f\x61\x17\x0d\xf1\x09\xec\x79\xbe\xe4\x89\xf2\xa5\x19\xf7\x01\xd8\xd9\x7c\x3d\x69\x1e\x93\xf0\x0d\xf7\xa8\x49\x17\x35\x4f\x52\xc6\xe4\x2e\x41\x37\x28\x42\xe1\xe1\x54\xb7\x74\x65\x30\x5b\x8f\x51\xd6\xc4\x72\x29\x99\x81\xcb\x0d\x85\x7b\xda\x29\x94\xc3\x3e\xdd\xf0\x88\x48\x54\x1c\xfe\x88\xca\x0c\xa5\xf1\x79\xea\x1f\x9f\xa7\x8f\x32\xfe\x2f\x3e\xd8\x22\x9a\x45\x6b\xcc\x11\x3d\xb3\xd9\x6d\x77\x41\x61\xfc\x44\x39\xe5\xaf\xd8\x0c\xee\x65\xc6\x2c\x1e\x43\xc6\x9d\xe1\x46\xde\x40\xdf\x60\x5b\x2f\x9b\xf6\x79\x4a\x9f\x59\x0b\x8f\x7c\xff\x8e\xdc\xb2\x3c\xf5\x8f\xa7\xe7\xe4\x4a\xee\x68\x92\xec\x6d\x2a\x2a\x06\xf8\x5b\x17\x0e\xba\x95\xa5\x79\xcf\x37\x5c\xbd\xff\x27\xb8\x93\xc5\xad\x3e\xfb\x4a\xb6\x60\x60\xc8\xff\x79\x06\x62\xa2\xeb\x93\x4b\x03\x8f\x01\x49\xf5\x6b\xc1\x23\x73\xf9\x36\xe2\xc6\x45\xa6\x16\xa8\x2a\xd0\xef\x5d\xfc\x6e\x6d\xab\xf5\x23\x14\xda\x41\x50\xd6\xb0\x3b\x6f\x3f\x4f\x0a\xf6\xb9\xaa\x0d\x4c\x39\x93\x9b\xef\xc1\x62\xd1\xf5\x3c\xc0\xbc\x07\x4b\x22\x99\x2a\x6f\xe7\x1a\x6a\xc2\xd2\x68\x6d\x12\x56\xe1\xa7\x7a\x0b\x8f\x39\xa3\x77\x20\xbc\x29\x2d\xd6\xc1\x8b\xa0\xf9\xa0\xc5\x0c\xb2\xdc\x23\x81\xe2\x07\xb9\x07\x3f\x8f\xd0\x40\x4e\xf5\xfe\x9f\x98\x3e\xbb\xb0\x90\xaa\x2c\x3e\xbf\x92\x6c\xb9\x4b\x5c\x56\x2b\x66\xfa\xa6\xec\xb6\x32\x2d\xe0\x84\x3c\x8d\x19\x03\x33\x92\x31\xbd\x9e\xc1\x33\x4f\x16\x6c\x29\x34\xc5\xca\x6b\x3b\x23\x58\xb7\x12\x04\x01\xb8\x9c\x1c\x52\xca\xa2\x85\x40\xe5\x94\xf8\x13\x91\xdf\xff\xcf\x67\xee\x43\xb9\xc0\xfd\xff\xfe\x3f\xff\xdf\x3b\x78\x46\x1b\x08\xe5\x37\x5b\x21\x25\x5f\x24\xec\xa9\xe1\xe7\x2d\x50\x9b\x83\xd9\xd3\xed\x7f\x59\x29\xdb\x7f\x62\xf9\x8e\x47\xa6\x33\x0f\x47\xdd\xce\xac\xdf\x0b\x7b\x09\x27\x86\xde\x34\x7d\x2d\x84\xc1\xe0\x29\xdc\x24\x77\x63\x0a\x17\x93\xc0\x7e\x40\xa0\x5f\xfb\x3b\x65\xc8\x36\xbf\xbe\x8d\xef\x68\xdb\x74\xec\xe2\xf4\xab\x33\xd7\xb3\x44\x34\xda\x23\xe7\xe8\x0f\x99\xa9\xbe\x42\x07\x1e\x9e\xe6\xb7\xa6\x50\xcc\xd5\x37\xda\xfd\x28\x03\x0d\x79\x1f\xbe\x41\x21\xd4\xb1\x34\xb7\x5f\x87\x64\x75\x9f\xa2\xc9\xcb\x5d\x92\x34\x24\x88\x56\x5a\x78\x49\x63\xb9\x4b\x92\x22\x7d\xe4\x6e\xc2\x3b\x41\x35\xfc\xba\x4e\xf5\xfb\xfa\x00\xc8\x41\xd0\x43\xe5\x89\x28\xae\x77\x88\x11\x0e\xd6\x36\xf3\x08\x44\xf3\x0a\xae\xdf\x4b\x91\xf5\xb8\x8c\x76\x88\xbb\xeb\x27\x1e\x5f\x4b\x2f\x11\xd1\x24\x21\xf6\x56\x6b\xb9\xdf\xe8\x4b\x3b\xc9\x62\x42\x25\x89\xdd\xcf\x89\x65\x38\x79\xa9\x69\xf0\xdc\xae\x68\xb4\xc7\x6f\x18\x24\xf6\xfe\x9d\xd3\x2c\x10\xae\x6b\xb7\x5d\x65\xd4\x04\x48\x17\x39\xd7\x3f\xad\xd4\xa1\xd6\x6c\x6f\xc7\x05\x16\x2c\x09\xad\x0d\x0c\xb5\xc4\x04\x7e\x77\xb2\x4f\xa1\x3f\xff\xaf\xce\x08\x8d\x22\x70\x2e\x0b\x08\x35\x14\x49\x9c\xe7\xe6\xd8\x69\xa2\x2f\xde\x96\x1f\x73\xbb\xa8\xc4\x6a\x95\xb0\x71\x66\x93\x49\x5f\xf3\x38\x66\xa9\x16\xb5\x61\x5d\xc7\xc8\xc6\x71\xf1\x10\x3e\x5c\x8c\x6e\xdb\xae\x2a\xb0\xf8\x57\xf4\xa4\x4a\x65\x83\x94\x46\x8a\xdf\xb0\x03\xef\x56\xad\x59\xe0\xfd\xc2\x56\x79\x34\xa1\x7e\x61\x8b\xef\x65\x75\xf8\x21\x5b\x1e\x7a\x32\x4b\x4d\xfc\x64\x6d\x44\x69\xff\x03\x06\x2a\x1a\x49\xd8\x52\xdd\xc7\xeb\x89\xf6\x08\x8f\x29\x0d\xfe\x0e\xba\xdc\x87\x1a\x7a\xfc\xac\x37\xe7\x61\xb3\xce\x8f\xfd\x91\x41\xbe\xf3\x2a\xfc\x1d\xa2\xe8\x35\xd3\xaf\x84\x8d\xbf\xd0\xb2\x0d\x66\xa3\xf3\x94\x2b\x03\xfd\x64\x68\xbb\xce\x79\x9a\xb2\x64\x8b\x9f\x9b\xf4\xe5\x32\xa8\x80\xbd\x86\x1f\xdb\x67\xd7\x32\xe7\x75\xc5\x3e\xeb\xe7\xd0\x67\x68\x9f\x86\xdd\x6b\xb9\x75\x5d\x62\x22\xc3\x81\x50\xc4\xfb\x7c\x04\xc7\x34\x53\x3c\xe2\x5b\x9a\xaa\x00\x35\x16\x5b\x1c\x12\xaa\xfd\x16\x76\xb2\x2d\x74\xf1\x91\x09\x34\x18\xd7\x87\xb6\xd5\xc2\x4c\x7f\x5d\x12\xdc\xa3\xbb\xb4\x4f\x2f\x2b\xb4\x39\xb5\x61\xdc\x99\xcc\x06\xdd\xc1\xb8\x73\x59\xcf\x6b\x28\x86\xe8\x1a\xf4\x10\x87\x2a\x56\x0f\x65\x6f\xbc\x84\xa1\x37\xa1\xd4\x24\xe8\xee\x2a\x90\xaf\xac\x42\x71\xe4\x91\xf4\x1f\xc7\x9d\x1d\xf0\x4f\xfd\x0c\xb0\x19\xa5\x7b\xb7\xdf\xe2\x2b\xb1\x64\x2a\x5a\xd7\x3a\xf2\x43\xf1\xbe\xa6\x72\x7d\x57\xb7\x4f\xc0\x76\x39\x04\xf3\xf1\x1d\xfb\x6c\x16\x63\xee\x53\x6e\xf9\xc2\x70\xda\x31\x1c\x4c\xe5\xeb\x8e\x2e\xa7\xb3\xc9\x55\x77\x36\x3a\x50\x47\x28\x2f\xef\xe6\xac\xec\xe1\xf8\x56\x9e\xde\x70\xc5\x66\xa2\xc1\x06\x51\x6d\x52\xbb\xc3\x03\x68\x60\xd2\xcc\x3e\x1c\x36\xb2\xe5\x5b\xe8\xb1\xaf\x5e\xd9\x19\xe0\x94\x8f\x7c\xf5\x1e\x25\x57\xf9\x4b\x52\xf1\xc7\x0a\x42\x3b\xf4\x5e\xd7\x7c\x91\x0f\xef\xe3\x7c\xc8\x1c\xdd\x07\x91\x52\x4e\x22\x75\x16\xca\xae\xcc\x07\x97\x36\x09\x36\x24\xd4\x14\x6b\xad\x48\x96\xc6\x3c\x5d\x95\x20\x9a\x8a\xee\x39\xcb\xec\xee\x35\x67\xb7\x0e\x5a\x1c\x84\x27\x70\x28\xc5\x26\xaf\xbb\xe8\x4e\xfb\x44\xf2\x80\x1f\x46\x80\xfd\x71\x10\xe6\x93\xee\x26\x5c\xf3\xe8\xda\x55\xd5\x09\x89\xae\x9f\x77\xfe\x6f\xe9\x51\xd7\xbc\xb8\xe1\x41\x2f\x7e\xae\x3d\xe6\xff\x2e\x02\xc1\xa4\x1f\x96\xc4\xa0\x04\xbc\x10\xa7\x8a\x54\xfa\x29\x3e\x9e\x06\x86\xa3\xa1\x58\xe5\x0c\x0a\x73\x80\x70\x66\x13\xd7\x9a\x4a\x48\x94\x3a\x6c\xa8\x0c\x6a\xba\x84\xa8\xe4\x52\x09\xe9\x83\xbd\x36\xed\x70\x65\xa2\x0f\x17\xaa\xf9\xe0\x90\x16\xa7\xf7\x66\x76\x86\x93\x7e\xa7\xf7\xa6\xd1\x14\x30\x2b\x04\x0d\x15\xdf\x03\x8b\x62\xd4\x88\x01\xf1\xd8\xcf\x50\x89\xdd\x01\xbe\x44\x03\xbf\x2b\x7d\xaf\x31\xbc\x21\xa0\x53\x9c\x44\x22\x09\x62\xec\xc2\x74\x7f\xf5\x10\xbb\x9f\x84\x63\xf6\x34\x50\x51\x1e\xd4\xc8\xa7\x6f\x64\x03\x06\x64\xf1\x73\xed\x6a\x5d\xd0\xec\xda\x6f\x57\xb7\x40\xb3\x18\x58\x13\x7f\x22\xb8\xa8\xc7\x83\xea\x7a\x00\x20\x37\x34\xbb\x46\xa7\x3a\xac\xfc\x57\x61\x99\xbf\x37\xbf\x8f\xde\x32\xe3\x64\xec\x8a\x54\xb1\x80\xd9\xd9\xd7\xec\x08\xea\xb4\xf3\x88\xcc\x6f\x3f\x31\x32\x6d\xe3\xca\xc4\xa4\x62\xb7\xc0\x2f\xe4\x79\x4f\xe4\xb9\x15\x99\x9a\x6e\xe9\xc6\x4f\x95\xee\x6b\x8d\x18\x27\xf0\x4d\x62\xfd\x17\x77\x4a\xa6\xfc\x9b\x0f\x15\x49\x9f\x90\xdc\xd2\xcd\x1f\xa1\x6a\x14\xcf\x98\x44\xdb\x01\x97\x2a\xd3\x0f\x86\x45\x01\xb2\x85\x0a\xef\xa2\xc7\x4d\xef\xe4\x2e\xd7\xb3\xca\xdd\xfa\x47\xba\x31\xf3\x98\xe3\x35\x55\x08\x15\x8c\x01\xd0\xe1\x3e\x3f\xeb\xfc\xd9\x87\x34\x11\xde\x2f\x52\x86\x64\x2a\x0f\x32\x7b\x65\x4b\xa4\x54\xef\x80\xa7\x55\xed\x2e\x74\xa4\x14\x11\x47\x3d\xc7\x59\x0f\xf2\xd0\x73\x4f\x38\xda\xfb\x77\xa6\x74\x20\x55\xc5\xe0\xc7\xe3\xc3\xb2\xea\xe9\x05\xe1\x3a\x39\x21\x7f\x61\xa0\x3c\x4c\xaf\x3e\x67\xbd\x2c\xb7\x56\x53\x73\x2f\xaa\xf6\x7a\xcc\xec\x0f\xfb\x38\x26\xa3\x4e\xaf\xdb\x99\x36\x96\x6e\x7a\x61\xd7\x7c\xb8\x0c\xfb\x70\x70\xf9\x63\x73\x7a\x77\x61\xd9\x60\x30\xd0\x52\xe8\x81\xc4\xee\x1c\x20\xa4\x05\x53\x2e\x70\xc4\x41\xaf\x4e\x92\x53\xc5\xa3\x6b\x73\x96\x1e\x5a\x74\x9f\x1b\x89\x50\x9a\x56\x4c\xd9\x53\xba\x6f\x76\x9a\x8f\x10\x80\x95\x2b\xcd\xc0\x11\xcd\x49\x70\xc2\x82\xea\x81\x06\x80\x97\xfd\x9f\x3d\xc1\x42\x8a\xb0\x54\xec\x56\x25\x8f\x79\x55\x93\x0f\x44\x26\x7a\xce\x2e\xd0\xb2\x76\x8c\xaf\x79\xcc\x9e\xed\xd2\x35\x8f\xdd\xb3\xea\x94\x0f\xcd\x32\xd2\x1c\x14\xab\xa8\x38\xa2\x83\xf1\x5e\x7d\x96\x26\xbc\xd4\x13\x00\x90\x4f\xf1\x24\xce\xf3\xf3\xf2\xfa\xdd\x77\x85\x3a\xe8\x15\xd8\x5e\xff\xcf\x83\xe9\x6c\xea\xed\x16\x7b\x93\x26\x3f\xa4\x88\xa9\x09\x84\x58\x2c\xb5\xa2\x04\xd0\x20\x12\xdc\x43\x62\x68\x78\x2e\xda\x94\xaf\x52\xaa\x76\x99\x3f\x9e\xb3\xd6\xa6\x0e\xc7\x02\x24\xad\x5f\x20\x40\x31\xb3\x43\x4b\xf7\x93\xa2\x1f\xeb\x1e\x22\x71\x82\x57\xe8\x27\x9a\xec\x4e\xe6\xf2\x7c\x18\xd1\xf9\x8e\x29\x11\xb7\x17\x30\x52\xf0\x90\x6c\x8b\xda\x11\xcd\xe0\x7b\xf1\x95\x94\x89\xb8\xd5\x64\xc1\x7e\x20\x7c\x69\x83\xde\xcf\x8c\x55\x16\xb2\x0a\x9d\x2f\x52\x1f\xaa\x12\xe0\x3c\x85\x6c\x44\x7b\xc0\xec\x86\x65\x7b\x0b\xc3\xe6\xe0\xd8\x8e\xcb\x36\xf9\x70\x35\xd7\x8e\x1b\x08\x03\xf9\x80\xa5\x9c\x91\xe7\xc0\x5e\x0c\x5d\xbb\x94\xaf\xbb\xa0\x9d\x7d\xfa\x38\x3b\xa8\x82\x94\x8b\xf9\xce\xbf\xfd\xf6\x5f\xbf\xfb\xee\xbb\x7f\xf1\xa0\xfb\xe5\xda\x32\x54\x27\x3e\xa6\xcf\x3f\x3c\xff\xdd\xf3\xdf\x7d\xf7\xfc\xf7\xcf\xef\xda\xed\xb4\xdf\x1d\x5d\xf6\xa6\x07\x85\xc6\x78\x97\x61\x62\x62\x40\x8f\xaf\xa4\x74\x7a\xee\x5d\xa5\x45\xed\xde\x75\xfd\xe5\x5a\x7d\x61\x8d\xf7\xc0\x18\xc3\x15\x6f\x2f\xcd\xdb\x72\x77\xdc\xa9\x2f\x85\x6e\x3f\x23\x71\xe8\xd3\x42\xc3\xbb\x97\x6a\xc0\xcd\x3d\x1f\xdc\x10\xd7\xeb\x2d\x95\x6d\x94\x57\xd7\xf3\xa8\xdb\xbd\x1a\x07\xb7\xd9\x37\x69\xeb\xfe\x14\x51\xb4\xdb\xe6\x32\x1b\x06\x96\xc8\x73\x1a\x45\x6c\xab\xba\x26\xce\xa4\xc0\x93\xfc\x0d\xea\x61\x9a\x06\xdc\x8f\xb1\xcc\x05\x95\x18\xac\x61\x27\x82\x9a\xe8\x92\x9d\xb4\x5e\xd9\x35\xdf\x10\x2a\x6d\x74\xcb\x19\xfc\x0d\xcc\x2c\xd8\xda\x7d\x69\x69\x6e\x29\x22\x3f\xe8\x89\x4c\xcd\x3c\xda\xe5\x22\xcf\x0a\x80\x04\x7a\x22\x85\xe1\x8f\x64\x6d\x18\xe6\x33\xef\xf4\xc2\x18\xbd\x66\x1f\x0b\xee\xe9\x0d\x97\x92\x87\x2b\xd4\x9a\x3e\x5b\x0b\x7f\xa6\xff\x36\xa1\x50\xb6\xef\x49\xff\x4f\xc1\xf9\x5e\xe0\xec\x5c\xbf\x19\xfb\x65\xc7\x5c\x0e\x97\xa3\x91\x38\x6e\xa2\xa0\xfc\x6b\xdd\x20\xa2\x37\x3c\x25\xec\x2d\x97\x0a\xd0\x21\xcc\xb9\x56\x29\xe1\xfc\xc9\x99\x96\xc0\x88\xeb\x94\x6f\xb6\x22\xb3\x64\x29\x8d\xd9\x2b\x76\x1b\x20\xc9\x62\x4f\xb6\x6b\x2d\x94\x61\x0c\xc4\x19\x94\x36\x15\x3b\x45\xae\x53\x71\x6b\x80\x28\x78\x46\x66\x76\xc0\x41\xaf\x6d\xd2\xa5\xcd\x7c\xf4\x4f\xc5\x0b\xc2\x3b\x87\xa9\xcc\x4d\xf4\xd5\x9c\xbd\xd5\x77\x0a\xb6\xa0\x06\xcc\x0b\x57\x45\x5f\x29\xc4\x8d\xb3\x94\x29\x19\x23\x62\x97\x95\xd6\xf4\xdf\x3c\x59\x05\x99\x54\x73\xff\xa3\xfd\x12\x12\x66\x3d\x4f\xf6\x49\x21\x4b\xf8\x9d\x00\x85\x53\xb2\xf6\xfc\x7c\x7b\x6a\xcb\x49\x68\x70\x13\x86\x34\xb4\x07\xb0\xb1\x7e\xb1\xff\x2b\x59\xda\xf6\x3b\xb2\x85\x87\xbc\xc2\xf0\x36\xf8\xc3\xb5\x2c\xc7\x81\xf7\xa0\x29\x50\xeb\x83\xfd\x55\xf6\x3e\x40\xd4\xaa\x8f\x11\xe0\x07\x1f\x0f\x90\x25\x58\x18\x00\xfa\x48\x68\x74\x9d\x70\x93\x0a\x7d\x98\x8b\x5f\xa1\x27\xe1\x84\xce\xe6\x93\x8a\xc3\xfe\xe0\x48\xb5\x3a\x05\xbc\xcc\xc4\x66\xc2\xb6\x09\x2f\x1b\x82\x82\x6d\x6a\x74\x31\x55\x62\x4b\x56\xf8\x96\x6b\x21\x89\x2f\x39\x22\xbf\x48\x5b\xdd\x1d\x71\x2c\x33\xec\xc0\x4a\x1d\xd5\xfa\x9f\xff\x66\xbe\x1f\xe1\xbb\xc1\x8e\x3d\xac\x1c\x4f\x65\xbe\xce\x43\x57\xca\xdb\x54\xc0\xdc\x8c\xf3\x22\xa5\x76\x06\x15\x17\xac\x72\xe1\xc6\x54\x92\x5b\x96\xd4\x35\x30\x33\x9c\xf9\x59\x9b\xe1\xca\xb8\x4e\xf6\xfc\x43\xfd\x9f\x14\xdf\xdf\xc8\xd5\x01\x17\x6e\x01\x98\x56\xff\xf3\xdf\xf2\x83\x07\x71\xff\xd8\xe3\xfd\x8d\x23\x8c\x7f\x9c\x3d\x41\x37\xfa\x5c\x1a\x2f\x7b\x70\x9f\x01\x4a\x15\x1b\x17\x0e\x70\x29\x32\xf0\x26\x57\xd9\x4f\xf1\x52\xe0\x09\xbd\xd8\x8f\xf5\x53\xe2\xbd\x12\x95\x16\xb5\x0b\x61\xea\xde\x86\x44\x9c\x3a\xb9\x6e\xdd\x50\xe5\xf5\x8c\x0b\xbf\xaa\x39\xbe\xeb\x73\x76\xa2\x4d\x70\xce\xae\x45\x60\xce\x92\x48\x76\xc3\xb2\x3c\xa2\x3d\x87\xfe\x24\xc7\x33\x79\xf8\x49\xd3\xb4\x57\x4c\xbd\x30\xa9\x13\x9e\x29\x17\xbe\x7a\x22\x26\xd4\x2e\x4b\xa5\x9b\x98\x26\x3d\x93\x85\x81\xc6\x4c\xcf\x4c\x03\xf9\x92\x9a\x65\xe6\xf1\xb7\xd0\x19\x4b\xd8\x06\x22\x63\x10\x1b\xc1\x22\x8d\xd4\xee\x65\x28\x5b\xf2\x70\x97\xf2\x9a\x6f\xb7\xf5\x9a\x4c\x95\xcd\x31\xc7\x35\xe8\x79\x8f\xb4\xdc\xc0\x0f\xba\x60\xde\xc1\xc5\x3e\x97\xd8\x75\xe3\xda\xde\x84\xb3\x53\x2b\xd0\x15\x18\x76\xbc\x11\x19\xc3\x0c\xf3\x28\xe1\xd1\x35\x59\xb3\x8c\xdd\x21\x39\xf4\x37\x7a\xd8\xa7\x2b\x96\x32\xb4\xc8\x3d\xf9\x6b\x68\x0b\x0e\x6c\x80\x67\xf9\x45\x0a\x89\x76\x59\xc6\x52\x65\x93\x2b\xec\xae\x04\x28\xda\xbf\x17\xa8\x40\x67\x2c\x8f\x53\x96\x84\x22\xfc\x52\xb1\x3f\x22\x0c\xde\x62\xc2\x59\xaa\x55\x66\x88\x69\xb7\x6f\x5e\x91\x5c\x73\x19\x05\x6b\xc6\xcb\xc8\xa4\x29\x61\x21\x98\x0d\x05\xdb\xf5\x96\x4a\x09\xa8\xdf\xc8\xc5\xdc\x4c\xcf\x89\xd1\xe8\x6d\x37\x92\x29\x67\xa5\x40\x2b\x5a\x7c\x46\xbe\x76\x7b\x65\xff\xe3\x52\xa8\x0b\x63\xc3\xf8\xc6\x07\x24\xf8\xe1\x67\x78\x04\xf6\x63\x70\x6a\x1e\x42\x80\x3a\x2b\x41\x46\x61\xbf\x36\xdd\x02\x49\x52\x46\x33\xb2\x17\x3b\x5f\x5d\xb8\xe8\x7a\x95\x89\x5d\xea\x05\xe8\xe6\xc6\x0f\x50\x28\x7b\x62\xdf\xba\x22\x69\x15\x9d\x7e\x78\xfe\x2e\xb6\x0e\x2d\xc6\x50\xd1\x1d\xe9\x23\x1f\xd0\x78\x21\xd6\x34\x59\x3e\xa5\xe9\xd3\xb5\xd6\x1e\xf5\x33\x25\xce\xc8\x2d\x8c\x6c\xcc\x35\x48\x00\x5a\x14\x38\x27\x3d\x34\xf6\xa1\x87\xc3\x80\xd9\xa5\xec\x36\xaf\x36\xc3\x25\xde\x51\xa8\xa7\xf3\x2d\xf9\xf1\x82\xd0\x5b\xba\xcf\x99\xf9\x36\x63\x37\x5c\xec\x74\x0f\xec\x4c\x0f\x67\x3a\x71\x7f\x2f\xf6\xb4\x4b\xb5\x2e\x9e\x9e\x9f\xb6\x5c\xd2\x50\xb2\xe6\x55\xb0\x5c\xcd\xd9\x13\xc9\x92\xe5\x1c\x93\x58\x3c\x4b\x41\x20\xd0\xb3\x56\xa7\x6f\xef\x92\x31\x79\x63\x4c\x52\x51\xcc\xcb\x9f\x04\xe3\x6a\xfa\x23\x5c\x6f\xf2\xfc\xed\xbf\x2c\xf1\x7f\x45\xc7\x13\xcc\x69\x6f\xbc\x51\x60\x35\x2f\x8e\x58\x9c\x8c\xb1\x9f\xff\xd1\x1e\xa2\x81\x32\x4c\xbf\x52\x38\xf9\xd4\xda\xd5\xa5\x9b\x23\xdd\x6a\x91\x2a\xae\x1e\xe9\x21\x3d\xec\x55\x7f\x34\x1f\x8f\x06\x97\x87\x13\x6a\x57\x4c\x6c\x85\xe4\x15\x3f\x8b\xb7\x6c\xae\x56\xbd\xc6\x83\xee\xfc\x6a\x3c\x1c\x75\x7a\x2d\xcc\xe0\x6b\xcc\xd9\xd8\x66\x62\xa9\xef\xc7\x96\x47\x6a\x07\xa9\xd9\xb8\xf5\x72\xad\xef\x78\x56\x2a\x52\x54\xd6\x7b\x56\x4c\x4d\xe9\x4d\x90\x99\xe0\xb7\x20\x52\x5a\x14\xb4\x20\xfd\xee\xf9\xf7\x1e\x4b\xd1\x71\xa8\x4b\x6d\x0e\xe4\xa1\x31\x9f\x8a\x7b\xa1\xa8\xda\x49\xbf\x1c\x5c\xfc\xdc\x4a\x42\x73\x6f\x95\xf9\xd5\xf9\x93\xea\x70\x33\xb1\x1d\xb3\x4a\xc4\x96\xef\xb3\xf7\x70\x36\x42\x2a\x04\xad\xdb\x32\x6f\x04\xcf\x42\x28\x39\xe7\x69\xc2\x7d\x16\xa4\x0b\xf7\x6b\x6c\x01\x19\xfe\x35\x76\x01\x5d\x6c\x3d\xba\x47\xfe\x73\xef\xef\xa2\x02\x98\x99\xe7\x87\x4b\x30\xd8\xa6\x2a\xd9\x93\x1b\x2e\xb9\xca\x7d\x54\x9e\xae\x44\x96\x31\xb9\x15\x69\x6c\x23\xe0\xbd\x1e\x70\xf6\x15\x02\xae\x29\xdd\xd9\xa6\x32\xc8\x2d\x57\x75\x88\x92\x93\x62\xe7\x4b\x91\xdd\xd2\x2c\x9e\x03\x9e\xa0\xd7\x19\x8a\xc2\x34\xa6\x5a\xe4\xa9\x65\x62\xa9\x58\x4a\xcc\xaf\x65\x11\xbe\xab\xbe\x5e\x33\xc4\x21\x40\x89\x0f\x18\xc2\xa4\xac\x79\xf0\x54\x14\x4b\x9f\x8a\x2d\x4b\x59\x6c\xa1\x17\xab\x98\x78\xed\x11\x64\x1e\x59\x46\x3f\x85\x9a\x07\x8f\x80\xb7\x67\x6c\xcd\xf3\x88\x26\x6d\xee\xad\xc1\x75\x47\x62\x3a\xee\x59\x9d\xbd\x19\xf7\x1b\x80\xd6\x94\xd8\xa2\x2d\x4f\x37\x07\x21\x3f\x60\xd1\xad\x78\x38\x3c\x3c\xb4\xd2\xa2\xee\x26\xdc\x60\x26\x82\xfd\xc1\x0f\x44\xd2\x1b\xe6\x34\x9d\xa2\x86\x23\x59\x76\xc3\x32\x70\x0a\xe6\xde\xcb\x8c\xad\xb8\x54\x2c\x63\x05\x0f\x8f\x8d\x6d\x2e\x68\x49\x67\x86\x1a\xa4\x41\x38\x71\x6d\x0d\xf2\x32\xcf\x80\x72\x6b\xde\xa4\xdc\x45\x95\x7b\x92\x9c\xcf\xc1\x75\x62\x3d\x48\x34\x52\x08\xb9\x8f\xa0\x9e\xd8\x6f\xd1\x12\x73\x57\x4f\x52\xc1\x53\x56\x0f\xdf\x28\xec\x7e\xc5\xa7\x51\x7e\x05\x11\xab\x06\xf6\xbb\xc9\x0c\x90\x31\xd9\x20\xad\x14\xbe\x86\xcc\x50\xfa\x00\xe3\x82\xd0\x52\xeb\xdc\x3c\xaa\x13\xaa\xb5\x8c\xe0\x20\xe5\x56\x9e\xe7\x5e\x5f\xbb\x0c\xbe\xa2\xb6\x6b\xa9\xf6\x18\x7b\xae\xd8\x3e\xc5\x2e\x3c\xfb\x4a\x15\x5b\x79\x8d\xb9\x33\x7b\x3d\x5c\x93\x9a\xcf\x88\xf9\x20\xbc\xf4\x72\x4c\x2a\x14\x0e\x5a\x48\x84\x82\x25\x1f\x79\x8b\xef\xd7\x36\x9f\x31\x29\x92\x1b\x6f\x18\x52\xa8\x89\xef\x50\x74\x03\x42\xc9\xbf\x15\x21\xfb\x57\x4c\x99\xf1\xd3\xa5\xa8\xef\x74\x38\x9e\xa8\xd4\x8b\x19\xbd\xd5\x26\x7d\xeb\x36\xa9\x73\x35\x7b\x3d\xff\xb1\xff\x66\x3e\xee\x4f\x2e\x1a\x90\x0b\x14\xd3\x37\x83\x66\x7b\x42\x77\x6a\x4d\xae\xd9\xde\x85\xc0\x2c\x78\x6a\x50\x91\x30\xa2\x21\xdb\xd0\x54\xab\x44\xae\xa1\xa9\x4a\x80\xf5\x8a\xf0\xee\x56\x80\x54\x4a\x9e\xa5\xcb\x7e\x77\x36\x18\x5d\xce\x7b\xfd\x9f\x06\xdd\xfe\xfc\x62\xd4\xeb\x0f\x03\x33\xeb\xb1\x1b\x1e\x41\x49\x75\x96\x34\x3a\xe9\x0a\xdd\x0e\x3b\x6f\xfa\x61\xd0\xae\x21\xdd\xc3\x41\xb4\x8a\x57\x79\xd8\x48\x98\xe3\x63\x56\x74\xf7\x81\x78\x15\x09\x05\x78\x7c\x54\x6b\xbe\x04\x15\x06\x94\xb1\x96\x60\x1a\x59\xec\xf3\xf1\xe4\x6e\x81\x55\x70\xdb\x9b\x76\xeb\xf2\x88\x83\x29\x6b\x32\xeb\x7a\xea\x09\xcd\x68\xa6\x6f\x8d\x9b\xc3\x91\xac\xe1\x4f\x57\xfd\xc9\x1b\x88\x9e\x9b\xbe\x1e\x4d\xfc\xf0\x0b\x50\xab\xc8\x14\xfa\x75\xe5\x3d\xd7\xfa\x75\x08\x85\x3b\x76\x26\xdd\xd7\x73\xec\x3a\x7c\x91\x64\xa1\x12\x52\x01\x03\xa4\x74\x58\x18\x47\xdc\xa4\x7b\x55\x5a\x1c\x0a\x06\xb7\xbc\xff\xb8\xd2\x04\x4d\xec\x3f\x18\xfd\x5d\x1e\xb9\xe9\x25\xdd\xa5\x41\x8f\xb7\xfd\x14\x74\x8b\x38\xb7\xb7\xb3\xa0\x7d\x52\x8e\x6f\x54\xa8\x92\x98\x65\xd6\x13\xf4\x12\xfe\x55\xd8\x0b\xef\xe7\x90\x4c\x41\xf1\xfd\xc0\xdf\x1c\x75\xc6\x66\x98\xdf\xe8\xdf\x3f\x35\xff\xa8\x6f\x20\x7e\xf0\xba\x19\xc7\xf9\xc0\x50\x19\xf1\x3e\x54\x1d\xff\xa4\x80\x7a\xec\xb6\x40\xf1\x68\xc6\xb2\x97\xe6\x6b\x7d\xe3\xaa\x2d\xea\x77\x24\xe6\xf8\xee\x82\xbd\xff\x51\x36\x70\xcb\xbc\x9a\x2d\x14\x84\xd6\xe3\xfb\x1c\x74\x07\x28\xf2\xe5\x68\xd8\x6b\x96\x73\xac\x09\xd0\x1d\x12\xd2\xdf\x9a\x25\x5b\x13\xa5\x38\x63\xd9\x46\x8e\x96\x53\x96\xe9\xe7\xb4\xb0\x97\xe1\x36\xf5\x68\x14\x68\xe5\x2c\xdf\x4a\x37\x47\xd3\x2a\xfe\xa0\x65\x7d\x13\x90\x54\xab\xbf\xad\x33\x11\x98\x58\xcc\xe5\x86\x4b\x39\xdd\xad\x56\x4c\xda\xb0\xb0\xe2\xcc\xeb\x0d\xea\x17\x08\x9b\x40\x2c\xb8\x6b\x55\x9b\xab\x2c\x0d\x51\x9e\x73\xa9\x77\xef\x3c\x35\x25\x6a\x76\x33\xd0\xe2\x5d\x65\x8a\xa5\x6f\x75\xf5\x2f\x55\xfa\xb5\x85\x0a\x4f\x3e\x1e\xac\xb8\xe2\x3e\x33\xb9\x2d\x7b\x6a\x5b\xa0\xa3\x5d\xed\xb5\x42\xac\xd8\xdb\xa3\x80\x63\xdd\x28\x10\x6c\x10\x0a\xa9\x30\x23\xb6\xcf\x30\xbf\xaa\x47\xa0\xb9\x0d\x5b\x31\xd5\xd9\x6e\x31\x6a\x3f\x29\x95\xed\xf4\x7e\xf6\x3b\x99\xec\x67\x50\xf1\x8c\x95\x9e\x6e\xb1\x66\xc5\x7e\xcb\x23\xad\x89\x9e\x11\x9a\x1a\x5f\x10\x84\x43\x14\x40\x5a\xab\x9e\xb8\x33\xe4\xe5\x1c\xca\x83\x41\x35\x30\xc3\xe7\xf0\xe7\xe6\x5e\x5c\x16\xc2\x6d\xde\xff\xd3\x76\x0d\x1a\xb0\x1e\xfc\xa9\x71\x3e\x44\xf9\xf4\x5a\xd7\x73\x2b\xfa\xea\x4c\xbf\xad\x7d\x7b\xc1\x39\x7a\x62\x1f\x32\x76\x33\xa7\xdb\xed\xfc\x86\x65\xd2\x4b\xf0\x63\xeb\x93\xa2\xdb\x2d\xb1\xad\x9a\x4f\x12\xcb\xca\xf9\x8f\xd1\x96\x9c\xf3\x59\xf7\x4b\x3b\x06\x0d\x4d\xae\x08\x9a\xad\xd0\xa9\x57\xfe\x62\xb2\xcf\xf3\x27\xc8\x98\x47\xd0\xf2\x75\x54\xf1\x3c\xe8\xf6\x37\x38\xc8\xd3\xd2\x20\x4f\xfe\x5a\x5e\xe0\x15\xec\xaf\x7f\x81\xe6\x5b\x50\xbe\xd6\x93\xcc\x36\xc6\x8d\x65\xa9\xd1\x02\x25\xf1\x84\xab\xbd\x73\x5d\x15\xc8\x38\x31\x07\xe8\x91\x76\xa4\xd8\x65\x91\xe7\x8a\x4e\xf1\xef\xe1\x93\xea\xc6\x69\xf0\xa4\xf2\x6f\x21\x97\x6e\xbe\x3b\x30\xdf\x6e\xef\x52\x1f\x05\x4f\x18\x89\xc5\x6d\x9a\x08\x1a\xb7\x27\xf5\xd8\x43\x98\xbf\x7b\xfe\xad\x3f\xb2\xe3\xfe\x55\xd3\x4f\x46\x85\x2e\x92\x61\xf8\xe8\x02\xe7\x66\x09\xd0\x52\x55\xe5\x82\x61\xdd\x6b\xcd\xed\x62\xaa\x28\x89\xb0\xe8\x60\xa9\x91\x87\xf8\x7e\xf7\xfc\xb9\xe7\x59\x6f\x88\xab\x3c\x5a\xfe\xb6\x7a\x7c\x67\x3c\x68\x2d\x86\x77\xc6\x83\x76\xf9\xc4\xc5\xee\xc7\xf3\x9f\xfa\x93\xa9\xfe\x6f\xff\x99\x76\x72\xf6\x77\x08\xcc\xf1\x31\xac\x1a\x97\xaf\xe6\xe3\x4e\xf7\xc7\x06\xcb\x46\xba\xda\xe9\xdd\xdf\xd2\xe8\xba\xfd\x3e\x7c\xb8\xb9\xa4\xd0\xd9\xe5\x68\x36\x1f\x5c\x0e\x7c\xf1\xbc\x5d\x91\xa6\x2c\x02\xf6\x91\x0a\x55\xf4\x85\x1e\xee\x76\xfa\x66\x3a\xeb\x87\xae\x5e\xa1\x63\xb9\x97\x8a\x6d\xda\x6e\xa9\xe9\x15\x76\xb6\x3b\xea\x85\x02\xc5\x41\xa9\x87\x8e\xe7\x09\x4d\x57\x73\xdd\x27\x7a\xe2\x0e\x51\x45\xaf\x33\xeb\x04\x77\xb6\x9f\x46\xd9\x7e\xab\x58\x8c\xd7\xaf\x4d\xcc\x74\xf3\x51\x95\x2e\x44\x82\xe7\xf6\xd0\x45\xd8\x73\x16\xb4\x4b\x55\xc6\x99\x1c\x72\xa9\xbc\x2c\xaa\xf8\xdd\xfb\xc2\xe8\x5f\x9c\x91\xc1\x74\x44\xf4\x34\xcf\x20\x20\x06\xc8\x03\x23\xf4\x69\x1a\x1b\x57\x82\xfe\x2c\x9f\x6d\xa9\xd2\xa2\x33\x96\xaf\x48\x92\x1c\x78\x90\x44\x76\xac\x13\x8e\xba\x3b\x7b\xe2\x48\xc9\x97\x8b\x61\x2e\x32\x50\x9a\x27\xf2\xa5\xe1\x89\xef\x31\xb6\x1d\xf2\xf4\xda\xa7\x8a\x54\x3f\x7b\x8f\xa1\x54\xa5\x47\x9d\x6f\x10\x79\xd6\x23\x46\x52\xe5\xd9\xca\x31\x55\x6b\x88\xb8\x3a\xdf\xb0\x67\xd0\x24\x3c\x55\x2c\x64\x30\x63\x6f\x7d\x04\x53\xf8\x18\x7c\xd7\x72\x0a\xd1\x2a\x8f\x09\xf8\xd3\xff\xe5\xf2\x29\x41\x2a\x4f\x11\xec\xd6\x3e\x68\x85\x19\x5c\x32\x9a\x31\xa9\x7a\x91\x67\x02\xf9\xb7\x46\xc1\x4e\x4b\x74\xee\xf9\xcc\x18\x44\xbc\x31\xe9\x90\x6b\xf4\x69\x95\xc7\x1c\x53\x29\x8d\x4b\xd0\xff\x9a\x57\x1a\x78\x0f\x69\x6b\xda\xa0\x4a\x53\x14\x5b\x5b\xd1\xa6\xfd\xf9\x09\x5f\x90\x22\xa1\x8c\x33\xb1\x11\x3d\xaa\xa8\x6f\xb7\xdc\x37\xef\x46\x5d\xcc\xc6\x99\x78\xbb\x7f\x86\x05\xc6\x89\x51\x90\x48\x27\x4d\xc5\x2e\x8d\x20\x42\xb8\x28\x9f\x97\x4e\x6a\xc2\xf4\x99\x5e\xb0\xab\xac\x54\x12\xcf\xfb\xd9\x3b\x78\x06\x2d\xc0\x1d\xaa\x69\xd4\xde\x25\x0f\x5f\xca\xd8\x92\x65\x3e\x97\xd9\xc4\x7c\x08\xdf\xa2\xe9\x6e\x0b\x47\x59\x9f\xa0\xfd\xd2\x18\x29\x24\xb1\x51\x1e\xad\xaf\xff\xf8\x15\x95\xd7\x84\x12\xc8\x68\xe4\x22\xfd\x8a\x2c\x19\x20\x8c\x94\x29\xd9\xf4\x7f\x59\x76\x96\xf9\xbe\x7a\x77\xa7\xc2\xdf\x0d\x9b\x73\x51\xd3\xc5\x89\xb5\x0c\xfc\xb2\xaf\x15\xac\xe5\x28\xf9\xb3\x02\x1d\x7f\xe8\x39\x2c\x0f\x50\x7a\x08\xcb\x56\xb4\xa0\xda\xe8\x6d\x56\xdb\xa6\xa1\x10\xd7\x70\x28\xd6\xcc\x00\xb6\x33\xdc\xa0\xaf\xa4\xc7\x04\x57\x98\x48\xc8\x1e\x55\xfc\x74\xa4\x39\xaa\xd1\xd4\xd3\xd6\xd4\x7e\x4f\x5b\xbd\xe6\x31\x0b\xf2\x85\xf2\x47\x2f\x4a\xd5\xf1\x9c\xa1\xf6\x00\x86\x7d\xdc\x4a\x10\x1f\xbe\x94\x9d\xbb\xa4\x37\xac\xb3\xdd\x0e\xeb\x86\xaf\xc2\x97\x7a\xd6\x17\xc4\x85\x24\x62\x85\x22\x4f\x6e\x21\x28\xc7\x87\x78\x54\x36\x76\xe3\x8f\x5b\xb3\xf1\x11\x3c\xdd\xee\x14\x31\xad\x42\x73\x66\xea\x85\x50\x48\xa8\x12\x83\x10\x6b\x93\xf7\x34\xf1\x50\x98\xde\x52\x59\x98\xb0\xcb\x59\x2b\xa6\x70\x6c\x4d\x68\xfe\x42\x28\x47\xfc\x18\x6c\xbb\x77\xf0\x0f\x80\xd7\xbe\xcd\x44\xc4\x20\x62\x5f\xdf\x13\x4a\x12\x91\xae\x88\xe2\x1b\xf6\x47\xf8\x03\x14\x0d\x12\x69\xb2\xaf\xef\x4a\xd0\xd2\xd9\xd7\x44\x6b\x65\x88\x33\x3d\xec\x36\x63\x92\xa5\x55\xc3\xfd\xd9\x13\x33\xcb\xb9\x99\xe1\x1c\x24\x4f\x8f\xf5\xbf\xb6\xac\xdc\xbc\x57\xdd\x6c\xad\x16\xe5\x0a\x4d\x61\x8b\x2b\x1f\x3c\x1b\x6b\xf5\x29\x2d\x12\xd8\x66\xf5\x9c\xeb\x2d\xf7\x5e\xe1\x4e\x81\x9e\x78\xcc\x52\xc5\x97\x9c\x65\xe4\x6b\xc9\xd8\x39\xd1\x8a\x70\xc5\x06\xf7\x4d\xcb\x10\xc4\x3d\xdd\x6e\x81\x2f\x35\x5a\x1c\x8b\xa3\xfb\x0d\x8e\x7a\xbd\xfa\x82\xce\x41\x69\xae\xf7\x50\x54\xa9\x4f\x3b\xce\xb2\x41\xf0\xef\x82\x66\x69\x1e\xe1\xc4\x6a\x01\x20\x3d\x54\xb2\x5c\xb4\x9a\xf4\x87\xef\xff\xf5\xe9\xb7\x44\x2a\x9a\xc6\x34\xab\x3b\xd5\x61\x9c\x2d\x45\xff\x6b\x93\xa5\x00\x4d\x4f\x75\xe2\xd6\x74\xe3\xd9\xb5\x4e\xec\xb6\xa9\x4c\x93\x79\xae\x8c\x3c\x27\x2f\x45\x46\x52\x71\x7b\x86\x19\x13\xf0\xb2\xff\x7d\x2e\x4c\xac\xa0\xd5\x9d\xcd\x1b\x0f\xd1\xd0\x90\x28\xc8\x22\xbe\xdc\x73\x73\x83\xff\x0e\x46\x78\xfc\x09\x4f\x6d\x08\x7f\x3d\x29\x62\xab\xf9\xb8\x4f\x1a\xc8\x15\x99\x14\xd9\xbd\x12\x04\x1b\xd7\x02\x10\x76\xcc\x1b\xe8\xe4\xa2\x04\xb8\x92\x2c\x59\xd6\x73\x19\x2a\x66\x81\xbb\x1c\x29\xd2\xf5\x57\x92\x8c\xa6\xad\xce\xd5\x8c\x19\xbc\x4b\xa3\xad\x91\xa2\xad\x35\x24\x60\xc1\x6f\x6f\x88\x3b\xca\x42\x04\x48\x05\xe9\x8d\xb8\x66\x9d\xa5\x62\xd9\x85\x5c\x95\x98\x58\xe9\x83\x87\x89\xe9\xef\x12\x65\xcf\x6c\x4f\xa8\x6e\x49\xe4\x0e\xca\x89\x9b\xd4\xaf\xcd\x36\x61\xca\xa4\x84\x88\xbc\xce\x85\x4b\xa4\xd1\xbf\xe4\xcc\x97\x8f\x18\x4a\xa4\xbd\x70\x75\x75\x1d\xdf\x13\xa9\x09\x42\xa6\x4e\xf1\xc6\x19\xc5\x4c\xf3\xf0\x7a\xac\xf0\xdd\x28\xe8\x1f\xb5\xcd\x92\xc1\xdd\xf2\x3e\xa6\xbe\xed\xa2\x0d\x1b\x56\xdd\xa5\xd0\x26\x35\x48\x0b\x2e\xfa\xfa\xd1\xf7\xe8\x67\xae\xd6\x40\x6d\xb5\x3d\xca\xbf\x04\xf6\xa8\x92\x18\x84\xc3\xb9\x28\xd5\xc2\x97\xce\x78\x80\xb6\xb3\xa3\x62\x04\x60\x16\x3c\x5d\xfd\x06\x7e\xea\xd9\xd5\xc4\x4e\xbb\xbe\x74\xb4\xd4\x05\x98\xf0\xa1\x2d\x3b\xf2\x52\x83\x27\xe3\xc5\x9b\x59\x3f\x0c\xda\x56\xb2\x22\xd2\x9d\x5a\x8b\x8c\xff\xdd\x65\xa6\x1d\x30\x04\xf7\x2e\x2b\x28\x73\x0d\xb8\x54\x11\x4d\x12\x4c\xaa\x43\x77\x07\x42\xae\x77\x7b\x97\xa4\xd7\x7d\x64\xe4\xab\xc7\x73\x3a\x7c\x6a\xce\x81\xd3\xb7\xe7\x3f\x94\x65\xfc\x83\xcb\x73\xfd\xb5\xc4\xb7\x6c\xad\xfe\x09\x4d\x57\xcc\xcb\xbf\xca\x2d\x42\x7c\x0c\x4c\x9a\x90\x1c\xc9\x6f\x58\xea\x2c\x9d\x19\xfc\xa8\xc6\x76\x02\xec\xe3\x4f\x1e\xd6\x71\xf6\x24\xb3\x53\xf3\xbf\x8e\x99\x99\x57\x98\x37\xcf\x30\xf1\xcd\xbb\x3a\xfb\x2d\xb4\x2e\x6a\xb9\x80\x5e\x20\x70\x82\x4a\x1a\xdd\x07\x2e\xce\xf4\xe6\x7d\xff\x67\x95\x84\xbd\xa3\x83\x06\xfd\xf8\x9a\xbf\x7b\xfe\xfc\xdb\xef\xff\xe5\xf9\x1f\xbe\x6f\x81\xaf\x59\x26\x16\xb1\xb3\x6a\xb4\x77\x2f\x0b\x9f\xc3\xdb\x69\x00\xc9\x5c\x6e\x86\xdc\x2d\x74\xc3\x85\x7d\xf2\x40\x04\xcd\x35\xc5\xa2\x99\xe9\xfd\x3b\xf2\x35\xb0\x4c\x2e\x2d\x62\x2d\x59\xe8\x67\x7d\x49\x77\x09\xa6\xfa\x80\xdb\xdf\xc8\x10\xef\xff\xf9\xcd\x31\x51\x17\x6d\x42\x5b\x20\xee\x8e\x27\x3e\xf9\xe4\xd8\x17\xd1\x68\x42\x9a\xed\x81\x03\x84\x2f\x97\x2c\x63\x69\x29\x0a\x2e\xd0\xc0\xef\xa6\x62\xb7\x26\x66\x18\xa2\x0a\xad\x48\x0f\x8a\x56\x3d\x2a\x30\x13\x0d\x92\xfa\xb8\x98\xfb\x9d\xd8\x57\x16\x18\x74\x48\x09\x6e\xeb\x35\xba\xb3\x36\x78\x24\xe5\x1f\x7e\x78\x2a\xbc\xb7\xf4\x0a\x55\x02\x66\x8b\xc7\xa0\x27\x35\xa6\xa5\xe0\x61\xef\xe7\x26\xd3\x72\x61\x3f\xcd\x89\xf9\x04\xb3\x07\xde\x50\x1f\xa8\xda\x47\xdd\xd5\x1d\x5d\x85\x68\xdf\x7d\x0e\x7a\x06\x6d\x1c\x93\x75\x10\xba\xa1\x81\x65\xd7\xf6\xfd\x54\xf6\x3b\xb0\x0d\xf2\xc0\x3e\x04\xfc\x3a\x9e\x8d\x48\x12\xb7\x15\xf2\xb8\xbd\xf8\x84\xee\xe4\xd4\x5c\x22\xff\xa6\xd9\xaf\xde\x2d\xb3\x1c\xd3\x94\x58\x2a\x8d\x59\xdf\x98\x6b\xb6\xf7\x28\xa0\x66\x00\x93\x50\xf5\xf8\xac\xf1\xa3\xdf\x64\xab\x79\x9b\x80\x6d\x13\x40\x52\x36\x13\x87\xdb\xd4\x41\xb3\x45\xba\xe4\xd9\xc6\x14\x3d\x34\x06\x02\x4a\x24\x8b\x32\x0c\xaf\xf5\xf8\x87\x57\xf3\x45\x7d\x97\x5e\x90\xff\x4a\x56\xe4\xbf\x93\x85\x56\x5a\xc8\x16\x2d\xaa\x3f\xf3\x6b\xbe\x65\x31\xa7\x7e\x2b\x2a\x4b\xcf\x6f\x6d\x0b\x78\xf2\xf5\xbf\x9e\xe9\xc7\x97\xb3\xdf\xf6\xbf\xfb\xed\x7f\x79\xfe\xdb\x7f\xfd\xfe\x35\x4b\x92\x0d\x4d\xe7\xd7\x0c\xa0\x41\xd7\x28\xe4\xfe\xe3\x4c\x13\xc8\x7c\xc9\xd3\x15\xcb\xb6\x99\x17\x80\xe4\x0f\xbf\x7b\xba\xe0\x8a\x14\xda\x58\x3b\x51\xc6\x22\xc6\x6f\x58\x4c\xae\x59\xdb\xbc\xc5\x69\xbe\x23\x77\x48\x28\x79\x90\xba\x18\xfd\xcb\xee\xe4\xcd\x18\x35\x56\x53\x6d\xb6\xd3\xed\xf6\xc7\x3e\x45\xad\x38\x7d\x9b\x36\x8c\xd4\x11\x54\xd5\x3c\xdd\xf7\xfa\xdd\xe1\xe0\x32\x84\xd3\x58\x18\xe2\x96\xe6\xd9\xc9\x31\x8b\x12\x9e\x32\x3f\xfd\x5e\x65\x49\x67\xa7\xd6\x61\xe2\xb5\x0d\x6a\x94\x7b\x25\x4d\x29\x4f\x25\xcc\x4a\x08\x25\x53\x46\x37\x09\x93\x32\xcf\x4f\x1e\x8a\x95\x66\xc5\x25\x1b\x86\x11\x8b\xc3\xe1\x0b\xe4\xfd\xff\x3a\xca\xf4\xb3\xcb\x92\xa7\xa5\x21\x3c\x28\x18\x3b\xa5\x44\x7a\x00\xc3\x2f\x81\xc9\x62\xd3\xd3\x76\x60\x1c\x32\xa3\xd6\x71\x09\x9d\xd2\xda\xb8\x48\xff\xe5\x03\x13\x59\x05\x05\x68\x13\xc8\x45\x00\x83\xcf\x1c\x40\xb5\x7d\x99\x6b\x53\xa6\x72\x4c\x27\xc4\x2c\xb4\x98\xc2\x0b\xa1\x5c\xc1\x8a\x02\xbc\x04\x94\x92\xf9\x9a\x2f\x2d\xd9\xb0\xf8\x1b\x8f\x68\x91\x93\x6d\x1c\x77\xd7\x14\xfc\xeb\x5e\xaa\x2e\x7c\xf6\x83\xbd\xd2\x1c\x70\xdb\xdc\xd7\x34\x86\x49\x41\xfe\x8a\x71\x51\xdb\x5d\x15\x29\xe1\xbe\x64\x38\xfd\x43\xef\x01\x75\xbd\x0c\xec\xec\xc9\xf2\x36\x9e\x07\x12\x3a\x73\xd7\x65\x42\xa5\x2a\x6d\xcd\x82\x59\x44\x0e\x4f\x46\xe7\xa1\x50\x01\xd3\x01\x80\x11\x9c\x70\x89\x8f\x7b\xe2\xdb\x0f\x6f\xc1\x7c\x48\x4c\xdd\x2f\xc5\xda\x3f\xa4\x58\xfb\x87\x54\x7c\xf4\x92\x90\x2b\x42\x7d\x71\x35\xbb\xea\x0c\xe7\x26\x63\xb5\x45\xef\x26\x81\x9c\x92\xcd\x4e\xed\x72\xc8\xd1\xa6\x71\xa0\x0c\x47\xf7\xcd\x7c\xd2\x9f\xce\x26\x83\x6e\x88\xa6\x0c\xce\xa3\x81\x71\x77\xf5\x0e\xf4\x15\x83\x11\x81\xcf\x42\x0d\xfa\xc2\xb5\x2b\x89\x04\xd1\x9a\x45\xd7\x9a\x41\x61\xe0\xa7\x8f\x7d\x56\x9b\xd4\x05\x5a\xdd\x00\x4e\x05\xf6\x8f\xab\xbd\x01\x3e\x86\xdb\x59\xb0\xd3\x6a\xae\xba\x62\x8a\x2c\xa8\xe4\x51\x31\xe2\x95\xb7\x0e\x89\xc4\x39\x00\xd6\xa4\x8b\x77\xfd\x9b\xe0\xa9\x1e\xeb\x19\xfc\xe4\x58\x13\x62\xc1\xdc\x1c\x0c\x43\xe7\xc5\x51\x9b\x63\xcf\x3f\xd8\x7e\x7d\xb0\xd7\x26\xb2\xae\x4c\xd4\xaf\xc6\x44\x09\xa3\x59\x27\x49\x7a\x19\x5d\x96\xd0\x73\x42\x2d\xea\x27\xae\xbf\x83\xf6\x1d\x43\x8b\xf7\xef\x8e\xb1\x44\xe2\x6f\x9e\xd4\xe7\x84\xa1\x9d\x9e\x62\x96\x8d\xcd\x02\xb3\xc3\x28\x50\x57\x53\xd2\x13\x92\xa3\x14\x8d\xd6\xad\x04\x16\x18\xb6\x84\xf0\x66\xbb\xcd\x83\x4d\x6d\x77\x00\xcf\xb7\x16\x4a\x10\x91\x11\xcd\x05\x04\x41\x93\xea\x09\x0b\x97\x25\x69\x0a\x19\xba\xbe\xf0\xde\x13\xc8\xbf\xd6\x37\x1e\xbe\x49\x53\x69\x45\x5f\x49\x8f\x98\xa4\xb8\x4a\x7c\x01\x1b\x9a\x59\x78\x0b\x21\x04\x50\xcb\xac\x5f\xdc\x30\xf0\x1c\xeb\x4f\xdf\x80\x3b\x09\x37\x87\x62\x22\x9b\x3c\x99\xfa\xf7\xb3\xc1\x6c\x18\x4a\x66\xb9\x14\x46\xfe\xd1\xab\x3f\x04\x7e\xff\xd0\xe5\x90\x5b\x15\x30\xc5\x37\xff\x98\x17\xbe\xf2\x86\x35\xbc\x5d\xa6\x8a\x96\xdc\xd2\x0d\x42\x97\xb3\xb8\x58\x3e\xd2\x0c\xe8\xea\x66\x89\x0c\x86\xb6\x89\x79\x8e\x16\x0d\xd6\x77\x83\xe8\x5f\x69\x11\x84\xbd\xa0\x05\xd0\x8b\xc7\x54\x01\x5a\xca\xeb\xf6\x48\x3f\x7b\x89\xfd\x31\xa4\xdf\xfb\x12\x0d\x9f\xd7\x45\xc3\x26\x61\xd6\xd0\xbc\x91\x04\x99\x15\xad\x61\xa3\x3d\xe5\xf2\x7c\x94\xfe\x3a\x2f\xf3\xe0\x27\x74\xdb\x20\x48\xe7\x91\xd8\x6c\x76\xa9\x0d\xf9\x34\x65\x23\x3c\x84\x7c\x42\x6f\xd3\xd9\x93\xbf\xed\xa4\x9a\xc3\x13\x5c\x9f\xd1\xbf\x6b\xda\xc5\xe7\xb9\x58\xf0\xb8\x9a\xb9\x75\x56\xc7\xca\xcb\xd8\x46\xdc\xf0\x74\x55\x28\x82\xa1\x19\x1b\x60\x54\x47\xb6\xf6\x57\xed\xc2\x6e\xe8\x5b\xbf\x11\xc6\xe8\x4c\x68\x84\xb1\x7c\xc2\xd5\xc1\x68\x69\x74\x81\x5b\x6f\xb8\xdd\x99\xff\xb0\x74\xf7\x18\xfe\x65\x81\x14\xfc\xcc\xe1\xec\x49\xc6\x6e\xc4\x75\xeb\x22\x1d\xbe\xb2\xd1\x00\x02\xac\xb7\xa2\x54\xcc\xfa\x14\xec\xb0\x17\xfd\xe9\xb4\xf3\xaa\xdf\xba\x63\x57\xa9\xa3\x4d\xdf\x27\x59\xcb\xa6\x72\xd3\x6d\xd4\x4a\x98\x17\xb8\x16\x41\x66\xe0\x08\x7f\xb1\xb7\x58\x94\x2e\x12\xd3\x17\xc7\x79\x52\x4c\xe1\x80\x25\xd4\x03\xf8\x73\xcc\x8d\x28\xf1\x04\x7d\x0d\x8a\x37\xc0\xa5\x86\x96\x8a\xbc\xb4\xca\xbd\xb1\x74\xdb\xeb\x0f\xfb\x2d\x6d\x51\x66\x46\x85\x90\x5b\x37\x39\xd0\xec\x33\x8e\x3a\x07\xb6\x3b\x43\x04\xe4\x84\x5f\x33\xa8\x09\x1c\xd1\x9d\x44\x38\x7e\x8f\x1c\xe3\x97\xa7\xa6\x5a\x8b\xd9\x25\x2c\x3e\x4c\x63\xf5\xa6\x41\x70\x4e\xdb\xd2\xcd\xbe\x1d\x70\xd1\xb4\xfa\x3b\x82\x35\x40\xda\xe2\x5e\x36\x99\x8d\x63\x2e\x23\x9a\xc5\xcd\xfe\xbc\x7a\xa3\xba\xda\x43\xd3\x48\x8b\xa9\x79\xf0\x8f\xa6\x1a\xe7\xdd\xa3\x69\xfc\x4c\x64\xf6\x1c\x6d\xf2\x6a\xc1\x75\x73\x8c\x20\x79\x2f\x3e\xb1\xb0\xa1\xa3\xcc\x89\x51\xf6\x69\xb2\x76\xdc\xbf\xc3\xea\xd0\x30\x6d\xf9\xa8\x2c\x6d\x54\x98\x9d\xb2\x98\x2b\x2d\x9d\x77\x16\xe5\x10\xba\x40\x03\x3f\xd8\x19\xe6\x13\xb8\xbf\xa3\xf9\x0b\xe5\xb9\xba\x68\x77\x9c\xb1\x24\x58\x3e\x99\xda\x09\xd7\x37\x41\x6b\xdf\xc5\xbf\xb6\xf7\xf8\x34\xcd\xf9\xf8\x29\x7f\xbc\xea\xf4\x8f\x51\xcb\xf8\xc5\xe8\xea\x40\xa9\xe1\x0e\x66\xd8\xb1\xb7\x0a\x4c\x7c\x85\x8a\x35\x87\x3b\xd6\x1a\xfa\x70\xe4\xab\xd8\x0a\xca\x29\xf6\x2c\x04\x24\xde\x7d\x29\xb9\x7c\xa4\xdb\xe6\x7e\x25\x32\xc7\x21\xf4\xe6\x35\xb2\x10\x68\x50\x63\x21\x17\x14\x22\x47\xb1\xf2\x9e\x3d\x00\x4a\x12\xb6\xa2\xd1\x1e\xaf\xe4\x3d\xf1\x8c\xe0\xb3\xa2\x17\x9c\xfb\x8f\x91\xf6\xab\x5c\x83\xcb\x39\xb5\x2b\x0c\xca\x4f\x50\xbf\x05\xca\x29\x9b\xb5\xb6\xb4\x77\x14\x8b\x1e\x43\x1f\xbe\xdf\x7f\x1c\x5d\xe3\x8b\x25\xc2\x47\xec\x3d\x8c\x4a\x7e\xa1\xdb\xc4\x13\xbe\x5a\xfb\x3d\x09\x4d\xcd\x9b\xde\x52\x0c\x79\x5e\x40\x73\x92\x41\x7b\xe7\x54\xaa\x30\xe9\x67\xf7\x79\x43\x70\xc4\x79\xe6\x16\xe4\x7f\x5d\x57\x89\x58\xd0\xc4\x4c\xec\x88\xf7\x75\xeb\x11\x49\x0f\x10\xf5\x0b\xfd\x98\xf5\xe6\x93\xc1\xab\xd7\xb3\x70\xfa\x90\x66\x82\xb9\xec\x23\x36\xcc\x12\x0a\xf8\x30\x64\x5e\x8d\xab\xb0\xa1\x9f\xd9\xb3\xf1\xe0\x37\xf6\x72\x36\x18\xce\x7b\x9d\x59\x18\x9f\xdc\xa1\x27\xa4\x8a\x27\x04\xf0\x06\xcb\x18\x0a\xb5\x7b\x31\x5e\x0b\x25\x9a\x2e\x0e\x36\xf0\xf8\x5c\xb1\xce\x15\x9a\x67\xc0\xdd\x74\xd0\x60\x7d\x0f\xf6\xea\xad\x9d\x6e\x45\xd3\x82\x09\x98\x8a\x8f\x47\xd7\x13\x78\x18\xb6\xfd\x80\xf4\x85\xfe\x99\xee\xe8\x72\x3a\x9b\x5c\x75\x67\xa3\x96\x19\x50\x45\x14\xd4\x8f\xf4\xea\x8c\x5f\x8f\x66\xa3\x79\x77\x32\x1a\xcf\xa7\x83\xff\xe8\xcf\xa7\x17\x9d\xe1\xb0\xd6\x37\x1e\xa7\x85\x66\xdf\xd0\x24\x69\xec\xae\xff\xe7\xb0\xef\x4c\x4f\x93\xbd\x55\x2c\x95\x85\x38\xb2\xad\xed\xbf\xcd\x64\x43\x3d\x9b\x49\x36\x4a\x64\x33\xeb\x6b\x0c\xdd\x2e\x6c\xe0\xbd\x5d\xd4\x5d\x2f\x87\x83\xf6\xe0\xee\xa0\x80\x6f\xf4\xd2\x78\x53\x0d\x56\x5b\x6c\x52\x65\x54\x0e\xd2\x2e\x92\x98\x88\xf4\xd8\x28\xe9\x4f\xee\xe2\xdd\xaf\x9b\xf5\xfe\xb5\x80\x01\x14\x54\x7b\x21\xd4\x45\x0e\x72\xe2\x23\xbd\x5a\x3b\xbf\x28\x04\x10\x6a\xb6\x44\x9b\x8b\xbe\x3c\x05\xb8\xea\x93\x37\x05\x4f\x11\x47\x08\x36\x2f\xb7\x1c\xd6\xdd\x39\x2c\xe6\xd4\xb7\x6f\xfa\xcf\xf5\xc6\x47\x62\x74\xa7\x62\x7e\xcb\x16\x5b\xef\x6f\x7a\xa6\x82\x84\x69\x80\x08\x01\xec\xd6\x63\xb3\xde\x26\xfb\xf9\x86\x66\xd7\xbb\x6d\xbd\x97\x89\xfe\x4a\xf0\x2b\x1c\xae\x59\xf2\x35\xdb\x2f\x04\xcd\x6a\x60\x00\x87\x38\xc2\x83\xfa\x55\x4c\xdf\x07\x59\x83\xf3\x9e\x79\x0d\x27\xb5\x4b\x77\xe0\xae\x35\x5f\xb1\x2f\x97\xea\x88\x4b\x55\x8f\x30\x57\x82\xe8\x3d\x6e\x7b\xaf\xf4\x43\xe6\xe2\xa4\x36\xc7\x5d\x32\xfd\xdb\x50\x00\xfa\x7d\x5c\x34\xbf\xd2\xf6\x33\xe4\x26\xdc\x52\x59\x5a\xb6\x17\x95\xea\x7e\x6f\xea\xd9\x13\xeb\x32\x99\x5b\x2c\xbb\x43\x9e\x11\xd0\x37\x80\x18\x6b\xce\x96\x63\x68\xd2\xfd\xfa\x69\xee\xaa\x39\xac\xa5\x5e\xcd\x66\xa3\xcb\x79\x23\xf2\xae\xbe\xdb\x80\xd9\x69\x11\x64\x4c\x26\x88\xa1\x29\x4c\x4f\x40\xaf\x96\x63\x30\x07\xb9\x8a\x19\x78\xf6\x66\xdc\x5c\x36\x0a\x4a\x0a\x3e\xc0\xc0\x57\x93\xb0\xf9\xfa\x05\x74\x4c\xae\x26\xc3\x96\x16\xeb\x4f\xd2\x0e\xfe\x40\x96\x82\x87\xb2\x02\x7f\x5f\x50\xe3\x86\x83\xcb\xfe\xfc\xc5\xa8\xa1\xac\xf0\xc8\xc2\x68\x15\x04\xb1\x88\xa6\xc0\xf5\x1c\x3b\x7a\xfc\x28\xbe\x8b\x7e\x6f\xd0\x99\x77\x3b\xe8\x13\x0b\xfa\x0a\x74\xdf\x11\x45\x9f\x94\x51\xe7\x1a\xfc\x05\xd8\xe9\x78\xd2\xff\x29\xac\x74\xd9\xd4\x79\x60\xde\x07\x22\xe6\xed\x83\xdf\xb9\x9a\xbd\x1e\x4d\xc2\x7b\x6c\x1f\x54\x4c\xe7\x02\x27\x6a\x43\x28\xb4\xed\xb5\xdf\x1b\x68\x5d\xe0\xa2\x1f\x0c\xb3\xce\x49\x82\xa1\x61\x91\xbb\x98\x07\x42\xd3\xbd\x66\x01\x67\xb0\x27\x9b\x5d\xb4\x06\xe8\x33\x90\x36\xb6\x14\x70\x0d\x25\x4f\x23\x46\xb8\xca\xf3\x34\x43\xa5\xf5\xdc\x8c\x0e\xbb\x55\x9d\xbc\xd4\xec\x56\xfd\x04\xc4\xb0\xc6\xbe\x1b\x09\xd2\xb7\x19\x87\x28\xf3\xe4\x42\x72\xbc\xbd\x4e\xfa\xe3\xe1\x9b\xf9\x45\x67\xf2\xe3\xd5\xb8\x5d\xd7\x59\x51\x2a\x38\xd8\xff\xb4\xfb\xba\xdf\xbb\x1a\xf6\xdb\x19\x21\xed\x3b\x5e\xb5\x43\x86\x1d\x07\xc6\xd4\x3c\xb8\x9c\x9b\xa7\x23\xe4\x3a\x30\x66\x64\x30\x3f\x48\x83\xad\xe9\xa2\x52\x78\x5a\xac\xee\xfc\xcc\x95\xf7\xae\x48\xee\x6f\x01\x6c\xbb\x31\xf3\xa4\xd6\xa6\x2e\xc3\x43\x0b\x87\x35\x6e\xf2\x29\x10\x92\xd4\x9f\x49\xed\x17\xf3\xba\x6d\x43\x79\x3e\x97\xd7\xf5\x53\x4d\xb8\xbb\x5f\x9b\xcd\x92\xde\x30\x93\x47\xe2\xa3\xbf\xe2\x67\x8f\xd7\x36\xbb\x26\xd4\x26\x82\x10\x2a\xc9\x92\xde\x08\xbd\x8e\x96\x91\x4d\xe6\x87\xe0\xf0\xd4\x5d\x15\x3a\xa8\xb9\x4d\x53\x3d\x15\x4f\xbc\x68\x1a\xf8\xc9\x21\xe2\x9d\xce\x06\xdd\x1f\x8f\xd8\x49\xbb\xca\xa6\x48\x1a\x93\x95\xda\x14\x35\x56\x6d\x52\xdb\xd4\x97\xb5\x5a\xf3\x2e\x36\x71\xd0\xf3\xc5\x24\x2e\x68\x74\xad\x2f\x51\xea\xd9\xe1\x82\x5b\x1a\x12\x8c\x8b\x1a\x1c\x4f\x49\xe1\xa7\x27\x9c\x9a\x73\x86\x60\x46\x01\x84\x04\xa8\x3c\x55\x44\x87\xac\x7b\xed\xbd\x7a\xbc\x6c\xfc\x4d\x46\xd3\x58\x6c\xbc\x96\xeb\x09\x7c\x32\x99\x09\x5a\x95\x66\xa9\x82\x22\xd2\xf8\x08\x34\xf5\x7a\x9f\xfa\x6c\xbd\x73\x9e\x30\x1f\x20\x45\x95\x06\x1c\x5d\xe1\x0f\x92\x3d\xf9\x3a\x85\x64\x49\x57\xb9\xcd\xc5\x55\xab\x8c\xaf\x56\x50\xe1\xdd\x21\xc6\x4a\x65\xca\x30\x18\x40\x60\x59\x4d\x4b\x3f\x7b\xa2\x44\xe0\xac\x7a\x85\x5f\x7b\xdc\xc0\x67\x4f\x6e\xb9\x5a\xcf\x37\xfb\xb9\xd4\x04\xe3\x5d\x49\x6a\x33\xbf\xf5\x56\xaf\xe8\x86\xc9\x33\x72\x9b\x2f\x10\x0b\x4b\x31\xad\xc7\xea\x3d\x43\x90\x05\x0c\xe8\x38\x1e\x41\xe5\xc5\x64\xd4\xe9\x75\x3b\xd3\xd9\x7c\x7c\xf5\x62\x38\xe8\xce\x7f\x1a\xcd\xfa\x93\x69\x2b\x6e\x6e\x66\x49\xb6\x22\x49\x4c\x8d\xbe\x2d\xc2\xbd\xdf\x08\xb8\xb8\x5f\xb4\xe0\x53\x49\xb3\x81\x5e\x9b\x33\xb5\xcc\xa1\x96\xaf\x4f\x71\xee\x98\xba\x75\xcb\x32\x28\x06\xa8\x32\x1e\x55\x15\xd7\x8a\x5c\x30\xed\x5f\xf6\xe6\xaf\x06\x2f\xdb\x51\x13\x0c\xbc\xe2\x4b\xd9\x46\xa7\xcf\xfb\x47\x6d\xb6\xf5\x00\x56\xa1\x3d\x62\x84\xf1\x68\x38\x6c\x3f\x00\x5e\x86\xa3\x06\x30\xaf\xf4\x11\xdb\xe4\xd2\x52\x8b\xe3\x9c\x3f\xb2\x8c\xf6\x6a\x32\xba\x1a\xf7\xed\x09\x1c\x52\x53\xe0\x6a\x39\x73\xf0\xc7\x32\xa5\xb4\xd2\xdd\x35\x85\x88\xc5\xdf\x58\xa4\x8e\xc9\x50\x99\x86\x7d\x95\xb9\xde\x2e\xf1\xfe\x1c\xd0\xd2\x4e\x3f\xed\xe5\xbb\x82\xa8\xfe\xfc\xf2\xcd\xfc\xe5\x70\x34\xea\xfd\xdc\x19\xd4\xa3\xd0\xde\xff\x3f\x8f\xab\x9b\x77\x2e\x7b\xa3\x8b\xa6\x7e\x3b\x05\xb5\xdc\x49\x39\xed\x75\xf2\x26\x48\x8d\x8c\x11\x9a\x31\xb4\x35\xd1\x74\xef\x13\x68\x02\xbd\x0f\x47\x3f\x5f\x8c\x7a\xfd\xf9\xc5\xd5\x70\x36\x98\x5f\x4c\x5f\x4d\xe7\xbd\xc1\xb4\xf3\x62\xe8\x03\x9c\x4a\xc4\xed\x46\xc4\xac\x80\x1f\xea\xb2\x6a\x53\x91\x3f\xcb\x9b\x5d\xa2\xf8\x36\x61\x25\x58\x19\xb8\xd4\x70\x17\xcf\x03\xe7\xe9\xe6\xa2\x8f\xd3\x83\xad\xea\x19\xbe\xc4\x2d\x7e\x80\xb9\xc0\x2b\x78\x4b\xb9\x72\x79\x7a\xf9\x8d\xcd\x01\x47\x4c\xd1\x01\xb2\x60\x4b\x2d\xc6\x58\xf1\x92\xa6\x02\x84\x9d\x82\xfb\xc9\x26\xe2\x84\x8c\x73\x8f\x61\xd8\x68\x08\xf0\x9c\xce\x5f\x0c\x47\xdd\x1f\x03\x2f\x2b\xdc\x79\xa8\xc8\x8f\x50\xaf\xb0\x57\x90\x77\x78\xa0\xcf\x51\xfd\x3e\xbd\x10\x4a\x7a\x9f\x6a\x25\x08\xee\xda\x42\x04\x63\xfe\xde\x8c\xae\xec\x44\x81\xcd\x7a\x67\x6b\x27\x5a\x98\x65\x49\x01\x5c\x31\xd5\x49\x92\xee\x9a\xfa\x43\x41\x8b\x9f\x6b\x8a\x1f\x54\x25\x36\xe9\x86\xf2\x2c\x4f\xfd\x86\xb0\x9b\x7c\xd3\x3d\x7e\xda\xb7\x11\xdb\x2a\x3f\x74\x7e\xff\xad\x2d\x9d\x2e\x91\x48\xf2\x43\x7b\x56\xec\xb4\x21\x47\x08\x27\x1d\x46\xca\x28\x7d\xaf\xad\x6a\x4a\x6f\x18\x20\x9e\xe8\xa5\x39\xb5\xe6\x9e\x20\x33\x70\xe8\x26\xb4\x8c\x4a\x8b\xe0\xa6\xf3\x54\x2a\x9a\x24\xb9\x9e\x7f\xca\x25\x1c\x6b\xc7\x93\x45\x6b\x7e\xc3\xe2\x43\x1b\x51\x6d\x16\xdc\x0d\x6a\x5a\x36\x6c\xc6\x49\xd9\x07\x02\x10\x62\x17\x35\x14\x27\xac\xd4\x0d\x0c\x01\x8b\xaf\xe3\x54\xf3\xa3\xbb\xc3\x01\x21\x49\x52\x79\xed\xd9\x0e\xbd\xa1\xfa\x53\xbe\x91\x55\x95\x17\x3b\xf1\x1a\x1a\x46\xd8\xff\x43\x12\x97\x8f\x98\x4c\x70\xc2\x21\x62\xaa\x36\xf3\x12\x93\x13\xc6\x8b\xd0\x30\xb4\x02\x0e\xe3\x2b\x90\xe5\x8d\x9d\x30\x63\x05\x02\x27\xaa\x0b\x79\x21\x54\x97\x26\xc9\x82\x46\xd7\x9d\x54\xde\xfa\xed\x9b\xde\x76\xb5\xa5\x8c\x33\x26\x65\x21\x16\x2d\x32\xed\x8d\xdf\xdc\xa1\x3a\xd1\xfc\x0b\x85\xae\xf2\xf0\xc4\x85\xf0\x58\xe2\x63\x53\x41\xae\x62\x89\xb7\x7d\xc4\x58\x43\xee\x84\x0d\x73\x2b\x53\x81\x31\x60\x71\x32\x48\xee\x94\xfc\xe5\xc9\x36\xa1\x7b\x30\xc2\xfc\xe5\x49\x08\x85\x31\x84\xee\x98\xc7\xdc\x58\x37\xa9\x43\x75\xac\x44\x90\x78\x2a\x49\x49\x79\x2b\x32\x4f\xa7\x2f\x45\xe6\xa2\x1e\xd0\xdd\xaa\x05\x1d\x03\x14\x76\xc3\x32\xbe\xdc\xa3\x15\x09\x13\xc2\xd5\x1e\x07\x85\x3f\x7d\xf7\xb2\x43\x6c\xcf\xef\xdf\x9d\xc1\x4c\xa6\x93\x31\xd9\xd2\x7d\x22\xa8\x26\x05\x60\xd6\xa0\x80\xe9\x5e\xa7\x93\xf1\xfb\x7f\xb6\xcc\x1e\x2c\x44\x48\x3f\xb3\xcb\xc2\x20\x0a\x4b\x16\x07\xe1\xeb\x65\x86\x75\xcf\xda\x84\xf3\x54\x36\xd0\x17\xd6\x73\xd0\x4c\x06\xc1\x03\xd3\xf1\xe8\x72\xda\x07\x6f\xf4\xe8\xaa\x2e\x9a\x75\xc0\xb9\x2c\x76\x8a\x88\x08\x50\x29\x62\x72\xbb\xe6\x09\x23\x4b\xa6\xa2\xb5\xab\x04\x5f\xba\x2e\x9f\x95\x89\xec\xfe\x0a\x72\x3f\xa4\x06\x7c\x7f\x8a\xe7\xd3\xdf\x17\xcc\x2c\x33\x3c\xfb\x7a\x77\x86\x26\x3c\xa4\x50\x17\xac\x9b\xa4\xea\x80\x48\x6d\xcb\xcd\x82\x2d\xb0\x00\xb9\x87\xd6\xec\xa0\x47\xc5\xc7\x84\x2c\xd6\x96\xc9\xa6\x3e\x0d\x0c\x90\xfb\x75\x05\x42\xb1\xf4\xcd\x46\xa4\x8d\x3b\x5d\x68\xe1\x7d\xf2\x41\xc9\xd0\x8a\x62\x04\x2d\x4d\x25\xec\x40\x31\xdd\x53\x10\xdc\xda\xa0\xd9\x58\xfb\x34\x8e\x0d\xb5\x29\x4b\x63\xb7\xac\x49\x59\x1d\xfc\x5e\xca\xda\x3e\x60\x8c\xc8\x07\x67\x68\x56\xe9\xab\xb7\xae\x15\x1f\xf7\x7e\x0e\xdf\xe4\x62\x2d\xd0\x42\xd9\x47\x10\x8a\x11\xc3\xfd\xa9\xc1\x6e\xd7\x8f\x1a\xc9\xf5\xa6\x73\xd2\xa5\x29\xa1\x89\x74\xa7\x48\xad\x91\x4b\xb2\x5f\x76\x2c\x45\x2f\xe2\x62\x6f\xaa\x1d\xdb\x18\x2c\x92\xb0\x74\xa5\xd6\x1e\x36\x61\x7c\x84\xf8\xdd\xc3\x31\xe0\xef\x39\xf8\xbb\xe9\xae\x32\x66\x4d\x64\x09\xd6\x6c\xf9\x89\x26\x3b\x17\xb0\x69\x5a\xe5\x3b\x80\x4f\x67\x8e\xd9\x61\x76\x52\x8b\x27\xf4\x86\xd3\x04\x02\x80\xa9\x2a\x94\xf2\x3c\x5e\x1e\xa9\xf5\xde\x22\x2a\xd6\x18\x1d\x87\xfd\xcb\x57\xb3\x30\x70\xa7\xf1\xa9\xe2\x56\x36\x90\x0f\xa7\x89\x58\xbd\xe4\x89\x0a\x2b\x26\xe5\x36\x5e\x16\xb5\x14\x49\xcc\x32\x79\x14\xd8\xba\xf9\x4d\xcd\xfe\x80\xc3\x5d\xa5\x19\xa3\xf1\x05\xcd\xae\x9b\xa7\x55\x6c\xe7\x9d\x5a\x0c\xcd\x24\xd9\xd0\x14\x31\xba\x36\x34\xbb\x66\x31\xa1\x92\xec\xe0\xb7\x81\x09\x34\x0f\xdb\xf0\x34\x56\x61\xc2\xcc\x0c\x00\x3d\xc8\x57\xd0\xf9\x2d\x38\x58\xe7\x98\xbb\xe4\xb5\x37\x81\x03\xd6\xe4\x36\xc5\x6e\xf8\x13\x56\x62\xf0\x68\xbd\x7c\x18\x6a\x6a\xe3\x77\x32\xe8\xdd\x8f\xea\x6d\x28\xe9\x37\xfa\x3d\x7e\x5a\x24\xab\x93\xb1\x2f\x05\x0d\x2a\x05\x4c\x76\x2d\x0e\xb1\x04\x8a\x95\x5b\xdc\x51\x64\xab\x1e\x18\x36\x63\xe3\xf0\x07\x3d\x3c\x8e\x95\xe3\x04\x0c\x2d\x6e\x0a\x7e\xbd\x0c\x27\x81\x52\x5a\x79\x22\x77\xb4\xeb\x1c\x60\xcc\x2f\x47\xc3\x5e\xf3\xeb\x6e\xe5\x05\x47\xff\x1f\x31\x17\x78\xf4\xf2\xe5\xb4\x3f\x9b\x1f\x25\xf0\x8a\xc2\x8e\x36\x0a\x25\x5c\x46\x3b\xa8\xbf\xd7\x90\x47\xe5\x6d\x17\x60\xe1\xb6\x99\x7d\x8e\xdf\xbf\xcb\x15\x5b\x2a\xa5\x88\x38\x18\x07\x0a\x0d\x11\xbf\xe1\x9f\x25\x7c\x07\x08\xd8\x59\x8b\x5b\xc2\x15\x28\x2c\x62\xeb\x50\xd7\xc4\x66\x03\xc0\xce\x58\x40\xcf\x83\xec\xa8\x55\x54\x5b\x6e\x0f\xb5\xd2\xf6\x2f\x9d\x5a\xeb\x77\xe6\x70\x95\xbc\x7c\xfa\xc7\xd7\x3b\xf6\xe5\xd5\x87\xa2\x52\x61\x2f\x06\xbd\x63\x6e\x41\x01\x7e\xa9\x7a\xd6\x22\xda\xe9\xbd\x7b\xb1\x7f\x6d\xb8\xad\xef\xa0\xcb\x8d\xfc\x66\x72\x12\x9b\x56\x64\x01\xe5\x83\xc9\xf4\x75\xe7\xbb\xdf\xff\x01\x80\xc7\xcf\xc8\x86\xf2\x34\xd9\x63\xa9\x43\x7d\x9b\x57\x7c\xe9\xab\x78\xcc\x37\x6c\x8e\x14\x5e\xdb\x29\xbe\xc1\x8c\x9d\x7a\x9c\xd7\x9a\x7e\xf7\xfb\x3f\x78\xac\xa3\x38\xbe\x58\x02\xd8\xb6\x27\x3c\xec\xef\xbe\x90\x33\xfe\x77\x27\x53\x42\x65\x45\x9e\xa2\x08\x7c\x6c\x34\x25\x0c\x7e\x18\x9d\xdd\x5d\xce\xc2\x6e\x35\x5e\xce\xfe\x46\xfc\x8d\xff\xc8\xf6\xb7\x22\x8b\x43\x42\x4e\xb9\x8d\xf7\xb8\x4c\x4d\x34\x16\x13\xa6\x1b\x6b\xdd\x00\x5b\xdf\x57\x99\xb8\x2a\xa1\x95\xe6\xe4\x2d\xfd\xd8\xa6\x75\x48\xc3\x4e\x57\x2d\x56\xd2\xb2\x04\x64\xa9\x9b\x72\xf1\xb8\x7b\xae\x05\xd9\xb8\x47\xbe\xca\x78\x2d\x1a\x7b\x77\x88\x97\x0a\xf0\x87\x17\xd8\x70\xfa\x3e\xb8\xf5\xe2\xd2\x0e\xb9\x4c\x61\xba\x57\x93\x61\xd3\x6a\xf4\xe7\xa0\x60\x4e\x53\xf2\x7a\x36\x1b\x43\xea\x1c\xa2\xdd\x46\x34\xd5\x62\x16\xf0\x14\x25\x08\xdd\x29\xb1\xa1\x8a\x47\xc0\xf1\xb5\xcc\x0e\x01\x75\x4a\x10\x95\xd1\x54\x26\x46\x45\x4e\xa8\x5a\x8a\x6c\x63\xdc\xc8\xab\x15\x93\x58\x49\x14\x77\x25\x63\xdb\x84\x46\x28\xc6\x9d\x13\x7d\x43\x61\x3c\x13\xff\x69\xdf\xff\x8c\x7c\xff\xdc\x05\x24\x60\xa9\xf7\xa2\xc0\x78\xd7\x2b\x04\x3d\xe3\xda\x34\xff\xa9\xcf\xc8\x4d\xc4\x4c\xbc\x8e\xff\x5d\xd9\xf5\x97\xf4\xb0\x1b\xb4\xdc\xc6\xaf\x20\xd2\x66\xe7\xe7\xc9\x48\xea\xb5\xf5\x33\xaa\x76\xd9\xe1\x2d\xa8\x36\xf3\xef\x82\x69\xf5\x49\x6e\xc4\x0e\xe3\x2c\x42\x1b\x60\x3f\x07\xaf\xdf\x72\x67\x91\x9f\x91\x99\x44\x91\xc0\xa0\x63\x25\xe0\xb5\x1f\xf4\x3e\x1c\xed\xe4\x33\x31\x1a\xbf\xa2\x1b\xf6\x9a\xaf\xd6\x53\x7d\x68\x21\x92\xab\x34\xf2\x12\xdc\x9a\xaf\xd6\x10\xb4\x6d\x80\xce\xc0\xbb\xd8\xca\x3a\x5f\xc6\x1c\x07\x93\xb3\xfe\xb1\x09\x58\x44\xe7\xf3\xc6\x97\xb1\xde\xc6\x47\x06\x3d\x79\xf3\xdd\x83\xf6\x5b\xbb\x1a\x62\x96\xb3\xa1\x31\xd3\x72\x22\x25\x11\xcb\x14\xe5\xa9\x0f\x5a\xfd\x63\x22\x53\x3c\x20\xc2\x5f\x63\x72\xf1\x0c\x33\x52\xa1\xfe\xba\x7e\xdf\x44\x0a\x98\xcd\xe0\x47\xc7\x80\x30\x8a\xbe\xc0\x2a\xd1\x35\x14\x02\x28\x7c\xf5\x91\x99\x84\xb4\x17\xa3\x48\xa5\x5a\xc4\x29\xa3\xcb\x03\xf5\x88\x54\x33\x2a\xc5\xb2\x44\x44\x3b\xad\xa1\x3e\xcb\xcb\xc3\xfb\xb3\xea\x68\x1c\xcf\x91\x3f\x1d\x6b\x37\x91\xd7\x7c\xbb\x65\xf1\x19\x49\xd9\x8a\x2a\x7e\x03\xef\xee\x8e\x49\x08\x98\x04\x83\xb5\xad\x99\x79\x5e\xa3\x40\x3f\x03\x9e\x80\xb7\x04\x84\xeb\xbb\xda\x2a\x0e\x5a\x80\x6a\x1e\x99\xd6\x85\x02\x06\xfa\x6e\x6f\x85\xe4\xf9\x5a\xf1\xae\x69\xb1\x65\xc9\xb2\x4c\xef\x05\x66\x2a\x99\xba\xfc\x49\x62\x6d\xf6\x40\x1f\x2e\xae\x0f\x8e\x6a\xd0\x93\x04\xaa\x6f\xaa\x35\x4d\x89\x19\xb4\x36\x17\x1e\xa8\x82\x79\xff\x73\x81\x47\x0e\xe7\x82\x83\x1e\x67\x0e\x4b\xa1\x30\x03\x0c\x90\x67\xea\x80\x9a\x89\x81\xa0\xe5\x78\x51\xe8\xe4\x98\x98\x22\x6f\xf7\x8a\x66\x4a\xbf\x6d\xce\x4a\x91\x0f\xd0\x80\x1c\x14\xc0\x78\xa4\xd9\xca\x58\x5d\x5a\xf1\xb7\x6f\x1d\xb7\xe8\x5c\xcd\x5e\xcf\x7f\xec\xbf\x99\x8f\xfb\x93\x8b\x86\x70\x74\xc5\x36\x5b\x91\xd1\x6c\x0f\xe9\xf2\xe0\xe6\xb1\x89\x25\x0b\x9e\xc6\x28\x1d\x03\xc8\x1a\xcb\x36\x34\xd5\x7b\xe7\x1a\x2a\xa1\x39\xaf\x89\x87\xc4\x33\x95\xa1\xb8\xd9\x4f\x34\xd2\xe0\x81\xb2\x64\x46\x97\x97\xfd\x2e\x60\x2d\xf4\xfa\x3f\x0d\xba\xfd\xf9\xc5\xa8\xd7\x1f\x06\x8e\xa9\xc7\x10\x1d\x4e\xc4\x2c\x69\x4e\xf3\x3f\xb9\xb4\xf6\xea\x43\xe3\x80\xca\x90\xa9\x86\xe4\x9b\x5a\xb3\xda\xd3\xf3\xa7\x1d\xd3\x24\x5b\x04\x34\xf3\x24\x73\x8a\x00\xa0\xb9\x29\x13\xfb\x8b\xee\xe4\xb4\xdd\x29\x2b\x26\xe6\x5b\xe1\xad\x8d\x0d\xf8\xea\x4c\xd8\xa2\xba\x67\xa4\x58\xdf\x36\xc0\xc6\xfc\xbd\x18\xdb\xae\x79\x93\xd1\xc1\x0a\xfb\x7e\xe6\x74\x46\x03\x62\x11\xf3\x8c\x45\x50\x9d\x4e\x3e\xe5\xd2\xb2\x86\x85\x50\xf5\xc7\x34\x0c\x5a\x6b\x3c\x64\xc9\x9e\x88\x2d\x4b\xcd\xbd\xa9\xfd\x1e\x0f\xc7\xdb\x81\xef\xdc\xda\x04\x56\x19\x80\x96\x60\xc2\x03\xc8\x4f\x06\x91\xe5\x2b\xe5\xcc\x03\xdc\x51\x99\xbe\x82\x21\xf8\x9e\x51\x13\x68\x25\x86\xee\x21\x42\x32\x5e\xc2\x70\x4c\xd6\x47\x0a\x01\x7b\x30\x16\xfa\xa0\xc9\x56\xf7\xc1\xf1\xee\x3f\xba\x0a\xf9\x57\x2b\x55\xce\xdb\xb4\xb5\x42\x87\xc2\x0c\x06\x46\x1e\x60\x86\x61\x4d\xaf\x0c\x6b\x78\x77\xbd\x0c\xfd\x2d\xa7\xa9\x92\x3d\xa0\xf2\x74\x41\xe5\xf5\x01\x13\x51\xa9\x49\xc0\xc8\x6a\x53\x26\xca\x11\xee\x9f\x8e\x91\xc8\x78\xa3\xfa\x31\x57\x3d\x13\x89\xed\xdb\x89\x4a\xab\x3a\x62\x03\x4f\x63\x02\x35\x7c\x97\x80\x26\x1f\x73\x6a\x0f\xfa\x2b\xe9\xc0\xa7\x8c\xf5\x96\xc5\x50\x9b\xf3\x78\xab\xc6\x11\x15\x7f\xc8\x2d\xd8\x2f\x50\x6d\xd1\xb3\xd1\x5c\xe9\x0e\x91\xbd\x8f\x04\x6e\xf6\xb0\x20\x59\x27\x69\x2d\xa9\x5d\xc8\x06\xc4\x90\xe2\xe7\xc6\x30\x1e\x5b\x98\xb7\x2d\x70\xc8\xf1\xf5\xc3\x02\x17\x48\xfe\xc4\xd9\xed\xa1\xb9\x63\x1b\xbf\x2f\x35\xd5\x12\x4b\x94\x31\x8a\xaa\x19\xb9\xe1\xec\x96\x44\x62\x97\x2a\xb4\x35\xd0\x12\xec\x24\x11\x59\x5e\xff\xbf\x50\xb0\x14\xab\xf4\xdc\x47\x09\x84\xe3\x2f\x23\x4c\x7f\x73\x08\x7f\x03\x50\x6e\x8a\x18\x2c\x54\xc2\x5a\x59\x9c\xef\x01\xb8\x94\xab\x9b\x70\xd7\xcb\x6f\xec\xa1\x54\x92\xa5\x07\xe5\xe5\x73\xae\x4d\x74\xff\xf5\x16\x4f\x5e\x53\x1d\x25\x71\x4b\xff\x8f\xaf\x65\x1d\xdd\x09\x05\x0b\xfd\x24\x3b\xd9\x71\x6b\x9c\xc6\xc9\xfe\x93\xf2\x0e\x9d\x42\x86\x60\x48\x9b\xc5\xb8\xaf\x03\x8c\x76\x04\xf2\x6e\xf0\x38\xcd\x57\x7f\xb4\x80\xe6\x20\x08\xfb\x0a\x32\x33\x16\xb5\x6e\x30\x64\x37\x68\xc1\x27\x08\x11\x77\xef\xb7\x48\xf3\xd0\xe6\x98\xda\x62\x8b\x86\x20\x5e\x93\x6a\xb2\x2c\xa8\x88\x7a\x7c\xcf\x3d\xc1\x3f\x7b\xb9\xf9\x1d\xf2\x4c\x3e\x49\x96\xfd\x6b\xb5\x2e\xea\x33\x9e\x32\xa5\x78\xda\x48\x6e\xae\x89\x97\xde\x60\x20\x69\x9b\x1c\x71\xa1\xef\x50\x8b\xe9\x61\x08\xec\xfe\xf7\x15\xe2\xcf\x0f\xdc\xe3\x52\x1b\xff\xce\x96\xc3\xd8\xeb\x21\x56\x27\x11\x3a\xfe\x20\xa1\xbe\xb5\x1d\x15\x49\xd2\x6c\x02\x2f\xb6\xf0\xef\xa6\x00\xe7\x19\xb6\xb8\x43\xcc\xa8\x66\xa6\xd0\xc7\x07\xa9\xc4\xd0\xc3\x5d\x45\xe2\x7b\xd2\x2a\x7d\x9b\xfb\x93\x50\xc1\x17\x3e\xff\x7e\x70\x63\x81\xd0\x52\x91\x3e\xa5\xa9\x48\xf7\x1b\xb1\x93\x88\xbb\x75\xe2\x10\x0e\x47\x46\x0b\xdf\x83\x7b\xba\x59\x20\x83\x6d\x74\x3e\x05\x45\xaf\x59\x9a\x9b\xa6\x53\xf6\x56\x19\x67\x3f\x6e\x4a\x51\xed\x3e\xbf\xd1\x07\x35\xe4\x52\xbd\x7f\x77\x46\x78\xca\x15\x87\x08\x3d\x88\x44\xdc\xaa\x3d\x91\x2a\xe3\xe9\xea\x9c\x5c\x0a\xc5\x7e\x20\x7c\x49\x52\x81\x9c\xc1\xce\x19\xfc\xfe\x37\x94\x43\xd2\x56\xc9\xfd\x1c\x51\x4d\xbb\x05\x1f\xb4\xeb\xb4\x30\xa5\x3f\x12\xb5\xde\xc9\x33\x42\x6f\x04\x8f\x0d\x29\xda\x60\xf0\xe2\xcc\x6d\xbe\x86\x16\x06\x3d\x93\xff\xa7\x9e\x1a\x96\xcd\x86\x21\xce\x20\xe8\x10\xfa\x04\xbb\xed\x52\x2f\x8d\x91\x44\x88\xed\x1d\x72\xdb\xeb\x03\x36\x06\x9c\x1f\xf8\x29\x08\xd8\xe6\x00\x7d\x36\x5f\x81\x6e\xef\xfc\x82\x94\x9d\xdc\x70\x7f\xcc\xef\x5b\xc7\xa5\x2b\x1f\x4f\x69\x6d\x65\xfb\xde\x03\x33\x19\x86\xa0\x0b\x22\x85\xdd\x93\x84\x93\xcf\x06\x10\xfd\x7e\x1a\xcd\xfa\x61\x3b\x5c\x97\x4a\x70\x0a\x09\xe5\xd0\x35\x61\xfd\x26\x40\x41\xd3\x28\x92\x9b\xb3\x4e\xd7\x19\xde\x84\x45\x2c\x55\x43\xe3\x08\x0c\xb1\xbd\x6a\x2b\x7f\x68\x37\xbf\x61\xc4\xba\x14\x5d\x14\x4f\xdd\xb2\xff\x45\x3d\x6d\x52\x4f\xfd\x64\x7e\xe5\x71\x89\x78\x4f\xf2\x80\xc1\xa1\xd2\xc8\x7b\x8e\x19\xb4\x69\x30\x27\x58\x0c\x19\xff\x15\x77\x50\x33\xd8\x8f\x66\xb8\x05\xcc\x99\x32\xe2\x0c\xa4\x3a\x9c\x78\x56\xe2\xc9\x50\x67\xfd\xc0\xb7\x09\x0f\x4a\x2a\xf6\xab\xf7\x88\x8b\x38\x72\xd4\x20\xff\x63\xba\xd1\x71\xf1\x74\x8f\x95\xb0\x77\x32\x67\x70\x0a\x1c\xe2\xd1\xc2\xf9\xb0\xde\x26\xe0\x07\x9d\x40\x40\x1f\x59\x00\x06\x76\x63\x44\xdf\x1d\xd2\xdd\xbe\xe4\xc4\x36\xbd\x3b\x63\x8f\x61\xa2\xc2\x86\xa6\xf4\x86\xc5\xaf\xf8\x32\xc4\x88\xf2\xef\x7e\x64\x32\x48\xf1\x78\x35\x78\x79\xca\x76\xeb\xda\x9a\x2d\x68\x6a\x73\xf4\x73\xad\x99\x7f\x07\xea\x08\xac\xa7\xbb\x13\xc7\x10\xca\xc7\xf4\x6a\x3f\xa0\x49\xcb\x9d\xea\x01\x67\x71\xbd\xdd\x9d\x8f\xbf\xa1\x72\x42\x8b\x82\x04\x5f\x4e\x8c\xd1\x2c\x5a\x77\xd1\x85\x1b\x3c\xae\x72\x23\xef\x59\x81\xe6\x5e\x7f\xe1\x41\x07\x15\xbb\x24\xd6\x8b\x06\x6b\x16\xc6\xfc\xb8\xee\x25\xf4\xfd\xfe\x9d\xb5\x1b\x18\xd4\x3c\x49\x37\xac\x80\x9d\xd3\xd2\x63\x8e\x0f\xe6\xb3\x4a\xe7\x1e\xb3\x52\x0e\xcf\x52\xde\x3f\x5c\x29\x59\x3a\x68\x96\x63\x8d\x77\x82\x98\x31\x0f\xbc\x0c\xdb\x84\xab\x09\x14\x87\x0f\xed\x79\xa1\x45\x93\xa0\x4a\x32\x2c\x31\x0f\x15\x38\xe8\x8d\x35\xa2\x68\x75\xf2\x2b\x43\x55\x46\xdf\xac\xc1\xb2\x4c\x15\x55\x32\x9c\xff\xe9\x3e\x07\x23\x3a\x30\x0f\xd3\x9c\x18\x0c\x25\x15\x55\x5c\xab\x39\xf2\x9c\x74\x5d\x40\xaa\xaa\x04\x81\xd9\x10\x50\x10\x66\xf4\xc4\x1d\x48\xb3\x07\x7e\x32\xbb\xf6\xec\x38\x95\x5a\x5c\xda\x31\x8c\x67\x2a\xcd\x23\x36\x01\x0c\x1b\xe6\x2e\x5b\x10\xf5\xe3\xa4\xb4\x29\x58\xb8\xcf\xc7\x56\x40\x90\x02\xeb\xde\xea\x87\x67\xcf\xf4\x46\xcb\x8c\x2d\x33\x26\xd7\xff\x0d\x7f\xf9\x5f\xff\x33\xfc\x0f\x8a\x6b\x1d\x63\x22\x42\xf4\xc8\x25\x3f\x9a\xe7\xdd\x3f\x33\x42\xfd\x78\xca\x42\x39\x91\x85\x06\x07\x93\xaa\x9d\xb6\xcd\x3c\x0e\xe4\xc2\xb7\x10\x84\xab\xc7\xe3\xdd\xae\x5c\xd3\xb4\xdf\x5c\x68\xbf\x56\xae\x49\x32\xd5\x66\x5b\x82\x9c\xa2\x1d\xbc\xed\x62\x8f\xd9\xcb\x1e\xc0\xa4\x8d\x50\x3c\xf2\xd9\x25\x67\x36\xe5\xb9\x65\x52\xd7\x29\xc8\x9f\x36\x0d\xbb\x0d\x10\x57\xa0\xb1\x7f\x23\x6d\xdb\x7b\xc5\xe6\x32\x68\x5b\xfa\x06\x86\x6d\x8c\x95\x46\xde\xe9\x21\xf4\x56\x41\x35\xc4\xfc\x50\x86\xe8\xf5\x1b\xfc\xad\x2f\xaa\xf3\x14\x8c\x18\xa7\x6b\x39\xb0\x53\x28\x58\xa7\xef\x7f\xec\x80\x9d\xe0\x82\xa7\x0f\x3e\xf6\x49\xab\xd7\xb9\x50\x95\x08\x81\x05\x23\x37\xf9\x25\xf8\xf8\x21\x01\x9f\x5e\xe4\xd0\xcf\x6c\x31\x0e\xa3\x47\xd9\xaf\xe1\x58\xfa\x54\x41\xcc\xe7\xfb\x77\x64\x6b\xea\xf1\xd7\x0e\xdc\xb4\xd3\xcd\x4a\xe7\x7e\xd2\x9a\xfb\x2e\x4b\x3c\x9e\x85\xc9\x50\xf3\x9c\xc1\x4f\xb0\x58\x4d\x86\x10\x64\x78\x24\xe9\xfd\xdc\x9d\x77\x47\x97\x3f\xf5\x27\xb3\xc6\x2a\xe4\x3f\x77\x4d\xaa\xb7\x2a\x57\x22\x0f\x9c\xe0\xd8\xd4\xc7\x6f\x3c\xc8\xb1\x2b\xa2\xef\x73\xc8\xe3\x47\xbd\x42\x5b\x95\xbf\x2e\x19\xa4\x8a\x2b\xee\x03\x9a\xb1\x66\x43\xdb\x02\xf5\x0f\xb5\xd7\xda\xb6\x62\x6f\xd5\x31\x07\xe3\x46\xf9\xeb\xa9\x89\xe4\x36\x88\x23\xb8\x7c\x10\xc8\x0d\x3c\x8c\x20\xec\xad\xca\x68\x84\xba\xf0\xd6\xed\xfd\x5d\x62\x37\xee\x54\xa4\xba\x44\x2a\x6b\x1e\xb3\x62\x58\xd6\x0b\xea\x2d\x2e\xe0\x6b\x56\x2f\x90\xb2\xb6\x1a\xbc\x49\xdb\x41\x7c\x1d\xab\x67\x12\xdd\x89\x34\x19\x8e\x50\xe9\x57\x6e\xe9\xe6\x19\x8d\x01\x13\x34\x12\xa9\xd2\x9b\xb2\xa0\x26\x4e\x3e\x65\xb7\xa6\x20\x1d\x5b\x2e\x59\xa4\xf8\x0d\x4b\xf6\xb6\x4a\xa5\xcc\x7b\x85\xbd\x65\x6f\x59\xb4\x53\x56\xab\xa5\x00\x26\x27\x0b\x6e\x71\xeb\xdc\x65\xa0\xee\xda\x00\xb3\xf6\x65\x5b\x8a\x4e\xfb\x6d\x31\x8a\xad\x65\x88\xda\x21\x2b\x30\xdf\x1c\x2e\xa0\x5c\x6b\x53\x3b\x80\xc1\x06\x0b\x28\x5b\xb4\x17\x28\xa2\x4c\xd3\x18\x5e\x15\x42\xc9\x36\xe3\x37\x54\xa1\x0e\x5e\x78\x55\xc2\xd9\x03\x7e\xd6\x0b\x48\x67\xa8\x63\x9e\x6f\xd8\x33\xdd\x39\xf4\xb8\x46\x88\xb9\x3b\x3c\xb8\xd3\x70\xc1\x2d\xfb\x38\xba\x97\xd1\x96\xdd\xf2\x16\xff\xf9\xac\xd2\xdf\x07\x97\x3f\x0d\x66\x7d\x44\xa2\x0b\xdf\x74\x73\xcc\x16\x7e\xae\x29\x88\xb4\xd4\x61\xa0\xce\x7e\xa1\x4b\x7d\x90\x50\x2b\x9e\xbd\xdd\x36\xa4\x27\x15\x7b\x6d\xda\xe1\xca\x44\x3f\xb5\x1c\x85\x60\x66\x63\x03\xf1\x42\xe5\xfd\x9a\x76\x82\x71\xeb\x7a\x63\x17\x8c\xa5\x84\xbd\x8d\x18\xd3\xa3\x7e\xad\x04\x89\x32\xa6\x6f\x28\x35\xac\x4f\x3f\x97\xec\x2d\xdd\x6c\x13\xf6\x4d\x53\x72\x65\x67\x38\xe9\x77\x7a\x6f\xe6\xe3\xce\x64\x36\xe8\x0e\xc6\x9d\xcb\x7a\xd6\xf2\xcc\x72\x4c\x2e\x09\x4d\xb4\x1a\xb8\x77\x25\x65\x1b\xa8\x10\xfa\x3f\x7c\x4f\x47\xa9\x43\x5f\xc4\xf5\x41\x01\x92\x8c\x1b\x84\xb7\x38\xae\x0e\xdb\x7c\x8f\x4b\x8f\x94\xc9\xcf\x6c\xb6\xfb\xd4\x1b\xd5\xf9\x23\x36\x39\x60\xf4\xb1\x25\xa3\x1a\xf3\x9f\x4c\xa3\x62\x47\x35\x98\xca\x56\xc6\x23\xac\xf5\x0b\xf3\x3a\x05\x3b\xd2\x86\x66\xd7\x45\x80\x6f\xdf\x4e\xd7\xda\xd4\x13\x6e\x8a\x98\xdf\x36\x89\xa0\x00\xfc\x7d\xd2\xf1\x9b\x81\x8a\xcf\xb0\x88\x7a\x7e\xb6\xdb\xa5\xaa\x41\x00\xab\xc0\xe3\xf7\x67\x66\x9b\x82\xef\xff\x86\xaf\x32\xaa\x58\x08\xe7\xad\xf8\xb9\xb6\xd9\x33\xac\x00\x90\xb0\x15\x8d\xf6\x78\x95\x11\x3c\x91\x16\x8a\xed\xdd\x4f\x36\x61\x10\x15\x6e\x58\x1c\x5c\x09\x62\x26\x7c\x64\xfc\xe0\x27\x5d\x7c\xf9\x7e\x95\x70\x4d\x30\x39\x4a\xb3\x8f\x26\x2a\x2d\x3c\x77\x50\x53\xa0\x09\x4a\x7a\xff\x4e\x13\xa3\xbd\x7c\x47\xc2\x27\xb7\x8e\x6f\x2f\x63\xd7\x29\xe3\xe9\xc9\x14\xc3\x72\xfd\x26\x3e\xaa\x9d\xcf\xe1\x15\x90\x92\x27\xdc\x44\xf7\x31\x0f\x46\xf0\xf4\x08\x12\xa0\xc5\xe2\xac\x58\x3b\xb1\xac\x75\xf3\x5d\xd4\xdf\x5d\x19\xa3\x86\xf0\x04\x6f\x3b\xef\x31\x48\xb7\x27\x45\x64\x36\x10\xc9\x25\x8b\x32\x53\x6a\xc6\x9e\x90\x27\xbf\x59\x2f\xd7\x1f\x5f\x63\x0d\x8f\x50\x5e\x1f\x63\x84\x30\xdc\x3b\x62\x50\xf6\xb0\x18\xa7\xb6\x76\x73\x6c\x73\x00\xd3\xc2\xcc\xee\x54\xbf\x05\x2a\xcb\xbe\xec\x0c\x7c\x60\x2f\x1d\xa8\x1a\xab\xf5\x35\xf0\xe7\xba\xf8\x6d\x9a\x12\xe8\xd7\x73\x1b\xda\x24\x84\x7a\xdb\xf9\x6f\x86\x56\x2f\x6b\x89\x9f\xc5\x4b\xd2\x3e\x7e\xc0\xbd\xe5\xd2\x65\x46\xdb\x7e\x0e\x90\xd9\x01\xea\x3a\x92\xa8\x9a\xe9\xa7\x6d\x88\x19\x97\x06\x6f\xe8\xcc\x17\x45\x96\x7b\x01\x0d\x54\x9d\x16\x50\x7f\xd9\xd1\x04\xa3\xca\x40\x98\xe4\x37\x2c\x05\xd8\x41\x8b\x5f\x74\xc4\xb5\x37\x98\x6b\x20\xa7\x8a\xcc\x08\xa6\xa7\x80\x35\x7a\x7a\x0a\x49\xed\x86\x34\xb9\x87\x9a\x3d\x43\x70\x23\xac\xcd\x3c\x7c\x09\x8e\x90\x8c\x3e\x53\x4b\xfb\x27\x41\x05\xf0\x8f\xae\x48\x15\x4b\xfd\x19\x6e\xbe\x66\x35\x9a\xb8\x14\x70\xcf\xd1\xd2\x26\x59\x1a\xb3\xcc\xf8\xcc\xd1\x82\x17\xf1\x2d\x67\xa9\xd2\xfb\xa9\xf9\x78\xc2\xa5\x02\x3c\x31\x4a\x6e\x04\xe4\xb4\x9a\x3d\x10\x19\xb9\xa5\x0a\xa2\xd7\x29\xc6\xac\xdf\x3f\x80\x87\x7d\xee\x9a\xe2\xc9\x6a\x6d\x6a\x2b\x86\x4a\x50\xd9\x06\xe3\xee\xf9\xb6\x86\x40\x42\x4d\xb9\xa9\x33\x12\xd1\x34\x62\x89\x24\xe3\xab\xe9\xeb\xa7\x29\x6c\x94\x49\xda\x30\x75\xc6\x8f\xe0\xc1\x1e\xd7\xa1\xcb\x98\x32\xc9\xed\x30\x6a\x15\xe4\xcd\xbb\x01\x7f\xda\xb1\x9d\xd7\x78\x58\x6e\x70\xdc\xd2\x6b\x82\xca\x62\x5f\xdb\x89\xed\x4e\xae\x49\x71\x27\x7c\x30\x2d\x7a\x0b\x7e\x51\x3e\x37\x81\xd9\x83\x5f\x94\x34\xaf\x50\xbe\x05\x81\x4a\x5f\x1f\x47\x0c\x11\x59\xcc\xb2\x83\x19\xb9\xde\x76\x9e\xf0\x28\x68\x75\x38\x33\xf7\x94\x94\xe3\xd3\x48\x13\xd6\xf3\xc8\x22\x8f\x38\x3c\x58\x12\xc9\xd4\x99\x2b\x3e\x66\xf6\x56\xb2\xec\x86\x65\x4f\x25\x8f\x19\x59\xec\x14\x60\x01\x6e\x33\x06\x10\x3c\xc6\x04\x86\x67\x81\x29\x90\x56\x6e\xd9\xa5\xf8\xfb\x3a\xbe\x22\xb4\xf6\x24\x6d\xb2\x5b\x6b\xed\xc0\x16\x1f\x33\x52\xca\x50\x61\x6e\x10\x6b\xa2\xd5\x62\xab\x20\xa5\xd6\x4b\xcb\x33\x5f\xfa\xf3\x49\x11\x6c\xa0\x9c\xb9\x5d\x52\x09\xf0\x0d\x17\xdf\xfa\xa4\xf3\x9f\x19\xea\x59\xec\x8b\x7f\xf3\x94\x56\x2d\x1f\xcf\x56\x64\x5e\x6b\x8f\xf9\xe2\x39\x06\xe3\xde\x71\x3e\x3d\x0b\x7d\x02\x77\xed\x86\x0b\x53\x29\x43\x2c\x89\xdd\xb1\xaf\x24\x99\x31\xcd\xd8\xc5\x92\x4c\x59\x76\xc3\xa3\xd6\x38\xf4\xb2\xf4\x08\x40\x48\x89\x99\xd7\x1d\x83\xa3\x41\x77\x97\xbe\x00\xb2\x9f\xd7\x7b\x48\x15\xb6\x60\xc6\xf6\xcd\x65\x9a\x35\xe3\xb0\xf5\x82\x19\x8f\x7c\x99\xf4\x24\x9c\xba\x3f\xdd\xd2\x4d\xf8\xe8\xca\xcd\xc2\xe7\x58\x7c\x53\xc1\x31\xae\x9b\x1f\x01\x7a\x51\xfc\x7d\xe8\x7c\x1e\x5c\x5b\xf2\x6c\x53\xf3\xee\x1c\xd8\x14\xad\x98\xf3\x34\x12\x1b\x78\x96\x8b\x5b\x03\x20\xbb\xd6\x8d\x5b\x70\xe2\xba\x62\x62\x60\x44\x49\x12\x71\x4b\x76\xd2\x99\x01\x11\x18\xe8\x91\x7c\xbc\x77\x3e\x86\x93\x57\x2c\x00\xda\xd8\x10\x76\xd0\x22\x59\x6d\x54\x0f\x11\x60\x50\x77\xc7\x42\x25\x43\x20\xbc\xa2\xb5\xcb\x60\xa0\x8d\x77\x92\x65\x1e\x31\x72\x35\xa7\xf5\xdd\xef\x90\xff\x4a\x56\xe4\xbf\x6b\xee\x28\x62\xb2\xc5\x77\xe6\x67\x7e\xcd\xb7\x2c\xe6\xd4\xff\xb6\xb0\xf4\xfc\xd6\xb6\x00\x12\xd0\xff\x7a\x86\xb5\x77\x7f\xdb\xff\xee\xb7\xff\xe5\xf9\x6f\xff\xf5\x7b\x53\x83\x77\x7e\xcd\xf6\x73\xf6\x16\x2b\x56\xc1\xcb\x62\x8a\xe6\x7a\x8b\x1e\xa7\xfc\x97\x9d\x95\x59\xdd\x62\x07\xbd\xbc\x76\xae\x12\x36\x94\x81\x80\x1c\x02\x4a\x03\x01\x18\x54\xa8\x93\x10\x8b\xdd\x22\x61\xa0\x8b\x3b\xd2\x1e\xf4\xea\x82\xc8\x3d\xd7\x5d\xee\xbd\x9e\xbf\x9a\x87\xab\xbb\xaf\xe6\x87\x4a\xba\xdf\x6f\x9d\x65\xb3\x73\x57\x59\xd2\xd9\x29\x6f\x8d\xbb\x4a\x0b\x7f\x0a\x84\x13\x42\x6d\xcc\xf7\x94\xd1\x0d\x58\xaf\x66\x86\x01\x90\xa1\x58\xe9\xd7\x14\xf0\x38\x6d\xcd\x30\xd3\x77\x58\x92\x25\xef\xff\xd7\x51\x7e\x95\x5d\x96\x3c\x2d\x0d\xe1\x41\x4d\xdf\x29\x25\xfc\x71\x9e\x7a\xeb\xd0\xc2\x0e\x98\xd2\xd0\x30\xcf\x67\xf0\x4e\xbd\x75\x7a\xe7\x6c\x1d\x86\x20\x3e\x0a\xa0\x91\x4b\x04\x30\x68\xae\x6f\x25\xe9\x0d\xeb\x65\x74\xe9\x15\x7f\xf2\x8f\x75\xf6\x41\x6f\x58\x41\xfe\x89\x75\x2b\x70\x6d\xb8\x4a\x94\xe0\xf6\xd2\xb7\xa5\x6d\x64\x0f\xd4\x7f\xd4\xfd\x78\xf8\x7c\xfb\xb8\xb6\xf7\xef\xaa\x91\x6d\x9f\x75\x5c\x9b\x26\x97\xd8\x1c\x51\x99\x58\x52\x31\xb7\x61\x82\x1e\x43\xa1\x04\x8d\x3e\x0f\xaa\xb4\xc4\x6c\x7e\x12\x88\x86\x0b\xba\x64\x99\x54\x26\xf4\xd3\x76\x54\xf6\x3d\xb9\x78\x34\x6f\xc9\x23\x48\xda\x9f\x2b\x31\x6f\x01\xd7\x54\xec\xdb\x74\x6b\x72\xfe\xc5\x47\x15\x4b\xf5\x5d\x79\xc5\x97\xa1\x6b\xa4\x3f\xd5\x2e\x51\x27\x86\x6c\x61\x78\x7b\x21\x75\x78\xc5\x97\x12\x4d\x6c\xad\x34\x83\xc2\x6f\x3d\xee\x70\xf8\x73\x53\xe4\x44\xc6\x36\xe2\x86\xc1\x0c\x20\x86\xac\x3a\x87\xe3\xb6\xf3\xd5\xe0\x65\xeb\xdd\xd4\x43\x36\xbd\x36\x7a\x26\x25\x78\x8f\xd0\xb6\x96\x1b\xf9\x36\xf8\x99\x59\xa5\x8d\xb9\x80\x95\x56\x60\x41\x02\x5b\x1e\xc6\x06\x29\x86\x9f\xd4\x86\xf8\x6c\xd0\x42\x7c\x24\x97\x6f\xf5\xd1\xe4\xa6\x1b\xe8\xf5\x63\x53\x34\x66\x7b\x7b\x6b\x19\x6e\xd3\x9a\xda\xec\xd1\x37\x52\x1c\x26\x81\xfa\xc8\xcc\xa6\x87\xd6\xe5\x19\x53\xf5\x0b\xb3\x64\xc3\x19\xcf\x4d\x09\x3b\x9d\xd8\x1d\x25\x36\xb9\x6b\x52\x06\x66\xc0\x7a\x48\x07\xfe\x9e\xe7\xa1\xa0\x2b\xb1\x5e\x8b\x49\xef\xed\x89\xd3\x23\xd4\x9e\x6d\x5f\x80\xca\x94\x51\x56\xf5\x82\x1a\x9e\x58\x86\x70\x6a\xc3\xe3\x15\x3b\xfb\x90\x54\x28\x7f\x4c\x42\x2b\xe0\x12\x8f\x6f\x99\x5a\xef\x09\x46\x33\x94\xb0\x53\x20\x7e\x24\xff\x7d\xc5\xbd\x1c\xc8\xdb\xbd\x4b\xb6\xd6\x87\x64\x67\x3d\xe8\x76\x14\xc1\x5b\xee\xb6\x1b\x77\xc8\x1f\x7b\x88\x7c\xb1\x07\xaf\xdb\x76\x65\x82\x07\x30\x84\x16\xa3\x23\xb8\xdd\x55\x0c\x0c\xa2\x19\x33\x19\xf8\xb0\xf9\x19\xf9\x9a\xa7\xdb\x1d\x00\xd4\xf6\x37\x5b\xb5\xff\xe6\xfd\xbb\x52\x55\x7f\x28\x7c\x9e\x88\x05\x4d\x6a\x89\xfb\x6d\x4d\x4a\xe5\x01\x60\x97\x7e\xf1\x48\xd6\xec\xad\x32\x43\x04\x95\x38\x25\xb6\x41\x99\x75\x86\x11\x4f\xc7\x15\x99\x77\x81\x5e\x9f\xab\xdb\xfe\x91\x02\x0b\xb1\xd8\x52\x77\x74\x39\x9d\x4d\xae\xba\xb3\xd1\xa4\xe5\x3e\x15\x08\xed\xe0\x5e\x9d\x7c\x41\xa7\x87\x0f\xba\xb7\xbd\x5e\x8e\x66\xf3\xe9\xd5\x78\x3c\x9a\x84\x76\xa0\xdc\x37\x4a\x62\xa9\x50\x44\xee\xb6\xc6\xa7\xe0\x1f\x61\xda\xef\x4c\xba\xaf\xe7\x7f\xba\xea\x4f\xde\x34\xa4\x5e\x98\x7b\x0a\x15\xd1\x0e\xe5\x5e\xdc\xaf\x61\x0c\x47\x7e\x05\x1c\x29\x2c\x3e\x9a\xef\x1e\x2b\x2c\xc2\x97\x40\xa2\xac\xe1\xc0\x34\x35\xa0\xee\x86\xcf\x25\xfb\x10\x1e\x8a\x47\x23\x2c\x72\x46\x83\x8a\x72\xe2\x42\xdd\x89\xb8\xb1\x03\xe2\xda\x63\xe5\x54\x7f\xa0\x0c\xd7\x1e\x7c\xae\x2e\xd0\xb9\xa1\x7d\x62\xca\x71\x73\x72\x7c\xee\xe8\x19\x55\x01\xf1\x8e\xae\x41\xfb\xb8\xe8\x76\x7e\x71\xe7\x91\x27\x91\xf9\xcf\xc6\x81\x43\x3f\x87\x53\x48\x89\xc9\x6d\x71\x50\xcd\xfa\x77\x39\x54\x53\x09\x66\xda\xfe\xc7\x34\xe1\x51\xeb\xe9\x79\x71\x94\x4b\x3d\x85\x64\xac\x3f\xdd\xa1\x82\xe5\x9d\x80\xe7\x1f\xe0\x6d\xf1\xbc\x02\x07\x02\x3c\xea\x8d\x9a\xde\x83\xc6\xc0\x0e\xf6\x36\x4a\x76\x31\x9b\xdb\xb8\xe9\xfa\xd6\xf6\xb1\x45\x3d\xb2\x1a\x08\x14\x8d\x60\x16\x56\xff\x84\x9f\x87\x13\x82\x1c\x08\xd1\xaf\xc1\x5e\x6f\xf4\xb2\xb0\x34\x4f\x50\xf0\x93\x46\xb1\x41\xd0\x59\xab\xb4\x4e\xe2\x2c\x36\xa2\xec\xab\xf5\xf8\x67\x63\x53\x81\xb0\x42\xd4\xc3\xa7\x92\x65\x9c\x26\xd6\x47\x25\x96\xa4\xc7\xcc\xe0\xc6\xd4\xfe\xfe\x1d\x58\x84\xce\x08\xb3\xb3\xb2\xaa\x30\x54\xbc\x06\x94\x38\x2a\x4d\x92\x64\x4c\xe2\x5d\xe6\x82\x04\x0c\x3a\xbd\x75\xac\xb5\xda\x7b\x3d\xd6\xb3\xea\x1c\x4e\xcf\x0d\x73\x87\xfc\x8c\x23\xbc\xd3\xb9\x34\x7f\x46\x52\x16\xe9\x7f\x65\xfb\x1c\x20\xdf\xe1\xc7\x59\x2f\x75\x3d\xcf\x91\x27\xde\x6a\x71\x9a\x7c\x0a\x07\x69\x3b\xd2\x07\x8a\x5e\xd8\x62\xb8\xe8\x49\xc4\xf8\xf7\x3a\xb3\xb0\xef\xdb\x5d\x14\x2c\xee\xdb\xdc\x53\xff\xb2\x3b\x79\x33\x36\x55\x80\xba\xc3\xc1\x65\x48\x45\x2b\x1c\x22\xea\x67\x51\xa2\xf5\xdb\x06\x05\xed\x1e\xe3\x59\x4b\xf7\xff\x25\x4f\xbc\x91\xc3\xf5\x46\x41\x46\x51\x3c\x62\x42\xc1\xd9\x60\x9c\x11\x58\x0a\xb0\xc2\x3a\x1e\x8f\x73\x18\x9e\xfa\xb0\x2c\xc3\xec\x5f\xcd\x10\x5e\xda\x03\x57\xb1\xa1\xb0\x0d\x27\xfd\x14\x3e\x16\xf3\x29\xf3\x1e\x1b\x1b\x73\x77\xee\x53\x74\x01\x69\x46\xa4\x37\x1d\x08\xd2\xf2\x1f\x95\x81\xf0\x0f\xc5\x9b\x3f\x84\x15\x01\xd3\x98\x8d\x46\xf3\xe1\xe8\xf2\x55\xbd\xc0\x97\xe6\x15\x4a\x08\x92\x88\x74\xf5\xc8\xcc\xa2\xf7\xfb\x79\xf7\x75\xbf\xfb\xe3\xf4\xea\xa2\x91\x51\x5e\xf4\x7e\x4f\xa2\x35\x8b\xae\xe5\x6e\x23\x49\x2c\xc0\x44\xb2\xa1\x2a\x5a\x7f\x04\x36\x64\x83\x54\x0f\x71\x22\xdb\x2e\xc8\x8c\x24\x36\x78\x18\xc1\xe5\x04\xf9\xcf\xa3\x5d\x54\x5f\x0c\xdb\xa1\x7b\xda\xea\x12\x9d\xf2\xcb\x5b\xe8\xb6\xb5\x03\xb8\xb4\xf5\xed\x32\x0c\x3f\xec\x56\x79\xcb\xe0\xa0\xe1\x71\x3a\x7f\x31\x1c\x75\x7f\x0c\xd8\xbd\x21\x2f\x7a\x91\x88\xe8\x1a\x8b\xad\x83\xcd\x1b\x4a\xcd\xd4\x6f\x2a\xd6\xcc\x7f\x21\x14\x16\x48\x0b\x5d\xd4\x6a\x33\xef\x3d\x85\x48\x50\xfd\x99\x88\x85\xa2\x60\xd8\xc7\x72\xfa\x45\x94\xb2\x4a\x4f\x47\xa0\x36\x55\x71\x9e\x3d\x9d\x79\x22\xf0\x68\x74\xbd\xca\xa0\xa0\x5a\xab\x47\xa5\x10\x8c\x5f\xf8\x69\xf5\xa2\x45\x09\xa3\xd9\x3c\xb6\x31\x6f\xc1\x6e\xa1\x1d\x02\x14\x63\x70\x5b\x7b\x2d\xd2\x46\xb1\x9d\x9a\x04\xb1\xe6\x31\x9b\xdf\x70\x0f\x67\x2d\xac\x5b\x37\x32\xb5\xa2\x29\xf9\xb7\x85\x50\x9a\xa6\x6c\x6e\x0e\xd2\x48\x81\x2e\xc8\xd7\x0e\x13\x7a\x21\x30\x5b\x58\xb7\x97\x9a\xfb\x22\xfc\x78\x8e\xf9\x15\x89\x74\xc9\x57\xef\xdf\x7d\x73\xbc\x59\x09\x7f\x1a\x8c\x4a\x41\x12\xd2\x77\x1b\x2c\x1b\xcd\x34\xdb\x72\x67\xdb\x50\x6c\x9b\x80\xb8\x1a\x01\x82\x21\xc9\xcb\xe8\xd1\x9c\xf0\x31\x56\xd1\xf0\xfa\x4c\xe0\x93\xf1\x45\xa3\x26\xea\xde\x96\x1c\xf9\xfd\x17\x8f\x25\xaf\x45\x60\x5f\x1e\x45\x9b\xc7\x0b\x72\xd9\x32\xc0\xef\xec\x89\x2d\x18\x10\x30\x53\x4f\xab\xf5\x04\xd0\xd6\x0c\xd6\xb5\xc3\xa5\x06\x8e\x91\x67\xdd\x84\xe1\x37\xc9\x9e\x7c\x9d\x8a\x92\x28\xeb\x82\x02\x8c\xb0\x0b\xa1\x02\x98\xee\x06\x9d\xe1\xe3\xfe\xcd\xaf\x23\x77\xfb\x31\xd1\x65\x26\xfd\xe9\x6c\x32\xe8\xfa\xfc\x92\x7a\x88\x88\xea\x55\xc0\x39\x16\xb3\x6c\xdd\x28\x67\x80\x9e\x65\xd0\x4a\xa4\xca\x78\x54\xf5\x55\x56\x40\x73\xa6\xfd\xcb\xde\xfc\xd5\xe0\xe5\xb4\xa1\xf2\x5e\x65\x60\x88\xb8\x2c\x0e\x7a\xb0\xff\xc1\xa5\x16\xa7\xda\x8f\xc0\xb1\x4c\x77\x6d\x85\xf5\x43\xf2\x8d\x76\xd1\xef\x0d\x3a\xed\x07\xdb\xb0\x98\xd3\xe3\xd6\x63\x01\xb4\xda\x0f\xe2\x62\x2d\x8b\xe3\x9c\x37\x0d\xf4\xf3\x64\x30\x6b\xb7\x65\xb7\x19\xb7\x55\x08\x7d\x0b\x28\x46\x00\xc0\x31\x4c\xfa\xd3\xab\xe1\xec\x00\x8e\x1f\x1c\x00\xfa\x10\x0e\x81\xf8\x3d\x60\x58\x01\x9c\x64\x2b\xac\x52\x7d\x86\x62\xf1\x37\x16\xa9\x4f\x11\x91\xc3\xdb\x2b\x3a\x7a\x06\xbd\x86\x0d\xf8\xc5\xbe\xc0\x07\x62\x08\xcc\x91\x07\xfb\xca\x05\x92\x5a\x2f\xdf\x15\x1c\x50\xc3\xd1\xcf\x17\xa3\x5e\x1f\x95\x8d\x3f\xd7\x7a\x99\x26\xe2\x76\x23\x62\x84\x8c\x4d\xe9\x22\xb1\xb2\x94\x21\xcb\x1f\x80\x39\x01\x97\xd4\x0a\x89\xa7\x08\x69\x0e\x75\x28\x99\x16\x0a\xa5\x2d\xa8\x69\x1f\x70\x9a\xe2\xfb\x53\xd0\xcd\x6d\x96\xd3\x79\x53\xfc\xc4\x0b\xfd\x44\xe8\x03\xb2\x80\x84\xbe\xfb\xf4\x95\xd6\x65\x28\xe4\x7d\x63\x80\xb9\x19\xb4\xc8\x87\x0a\x58\x83\xcf\x5c\x55\x11\xff\xc0\x3f\xf7\x5f\x8c\x3b\xaf\xfa\xf3\xee\xd5\x64\x18\x52\xcd\x5e\x52\x9e\xec\x32\x46\x6e\xd7\x3c\x61\x08\xff\x6c\xe5\x14\x9b\xda\x00\xd6\x80\xe8\x6a\x32\x3c\x30\x4c\xd3\x65\xf9\xd9\xf4\x85\xf7\xa4\x89\x52\xde\x8c\xae\xac\xc2\x07\x97\xda\xcb\x77\xac\xc2\xd7\xa4\xed\x5d\xe8\xa1\x42\x3a\x1e\x7e\x0c\x69\x76\x30\xcb\xe3\xf4\xab\x69\xe1\x45\xfc\x10\x85\xaa\x5b\xd6\xa2\x6a\x3f\xfe\x92\xd8\x13\xfb\xf4\xb1\x8e\x4d\x1c\xd8\x98\x83\xad\x44\x66\x84\xd2\x81\xba\x74\xeb\xd5\x39\x8e\xd7\x52\x3e\x58\x23\x08\x25\xb1\xa1\x4e\xb0\xa1\xd9\xf5\x6e\xeb\xd3\xe4\xb6\x06\xac\x72\xb7\x75\x5a\xe5\x35\xdb\x2f\x04\xcd\xe2\xba\x8c\x7e\x54\xe6\x50\x8e\x45\xf7\x91\x54\x8c\x63\x6c\x08\xee\xd7\x4f\xf3\xc4\x82\x43\x2e\xbe\xc3\x5a\x48\x9e\x88\xe5\xf4\x90\x63\x75\x8e\xbc\xb4\xf4\xf8\xea\xc5\x70\xd0\x85\xc2\xce\x2d\x45\xb7\xa5\xc8\x6e\x69\x86\xb5\xb1\x4d\xf4\xcf\x76\xb7\x48\x78\x04\x85\x9f\xb3\x10\xe3\x7f\x71\x35\x9b\x8d\x2e\xe7\x8d\xa6\x49\x48\x84\xa3\x8a\xea\xb7\x4e\xa4\x90\x68\x02\xc1\x00\xa5\x24\x4d\xc4\xc2\x75\x92\xc3\x41\x89\xc1\x0c\x3c\x7b\x33\xee\x37\x0e\xac\x9b\x3f\xc4\xc0\x4d\xf5\x07\x5e\x60\xda\x69\xa9\xf6\xc0\xe7\x84\xb9\xfd\x45\x49\xfc\x40\x25\xf1\x8b\xda\x16\xf2\x20\xfc\x79\xd6\x9f\x5c\x76\x86\x8d\xd7\xab\xff\x56\xb1\x4c\xbf\xfe\x87\x2f\xd8\xcb\xc1\xb0\x0f\x78\xdf\xd3\xc6\x3b\x96\xcb\xe2\xe0\xfd\xdc\xd2\x4c\xc9\xc3\xf7\xcc\x75\x3e\x1f\xf6\x2f\x5f\xcd\x9a\x81\xdd\x13\x96\xae\xd4\x1a\xab\x36\xb8\x41\x5a\x44\xb2\x5f\x68\x79\x77\x3c\x19\x75\xfb\xd3\x69\x3b\xc9\x7a\x9b\x89\x88\x49\xf0\x10\xf0\x8d\x7e\xe6\x3f\x82\x32\xfb\x70\x5e\x55\xb8\x39\xdd\x0e\x7a\x99\x82\x1e\x65\xdd\x77\x84\x02\x97\xde\xe3\x03\xbe\xe5\x87\xd2\xbd\xa1\xdb\xd0\xf2\x2f\xcc\xa5\xfe\x0c\xb4\xf7\xf1\xeb\xd1\x6c\x34\xef\xff\xb9\x19\x63\x9d\xbd\x55\x2c\x95\x85\x3c\x74\x4c\xbb\x6d\xd9\xbb\xe9\x79\xde\x1b\x5c\xf4\x2f\xa7\x83\xd1\xe5\xd4\x3f\x79\xe8\x33\xe6\x1b\x1c\x4a\x42\x12\x53\x9b\xfe\xa7\x9d\x9f\xfa\x73\xb8\xd1\xe1\xdd\x36\x6c\x87\x4b\xb9\x63\xf2\x8c\xa8\x6c\x4f\xe8\x8a\xf2\x94\x24\x54\xb1\x2c\xd4\xfd\x68\x38\x9c\x77\x2e\xa7\x3f\x6b\x6e\x7c\xe8\x24\xb5\xf4\x45\x68\x2a\x6f\x35\x23\x86\x57\xeb\xd0\x81\xea\xde\x47\xc6\x95\x7b\x35\x1e\x0e\xba\xbe\x17\xbf\xb7\xdb\x26\x5a\xce\x64\x38\x80\x80\xbf\xcb\x63\xfa\x6e\x35\x71\xec\xf7\x50\xb7\x7f\xba\x1a\xfc\xc7\xbc\x3b\x9a\x4c\xfa\xdd\x99\xdb\x18\xff\xe5\xbb\x14\x24\x12\x59\xa6\x6f\xdb\x2f\x3b\xfe\x77\xb3\x33\xe5\x78\xf6\xf6\xa3\x04\x17\xd1\x49\x2d\x89\x14\x02\xe6\xdd\x35\xb0\x76\x17\x9c\xc8\xdc\x9e\x0e\x68\x8a\x41\x1b\xd4\x78\xf8\x66\x7e\xd1\x99\xfc\x78\x35\x9e\xbf\xb8\x0a\x85\x30\xd7\x35\xaa\xdd\xde\x62\x96\x34\x9b\xb8\x0a\xdd\xb7\xba\xca\x59\x71\xa4\x83\x37\x6e\xda\x7d\xdd\xef\x5d\x0d\xfb\x8d\x35\x3b\x32\x86\x68\x64\xb6\x44\x85\xc7\x6d\xf3\x39\x99\xd6\x66\xb3\xe1\xbc\x99\xa1\xe7\xdc\x58\x33\xf6\x19\xdf\x30\x32\x13\x64\xc8\x6f\xca\xf4\x74\x6a\xa6\xbb\x0f\x0c\x7d\x68\xee\x73\x54\xaf\xb0\xf2\x42\x28\xe9\x15\xdb\x95\x30\x0e\xb7\x85\x50\x5f\xec\x8c\x7e\x3b\xa3\xb3\x2d\xf9\x2d\x8d\xd6\xac\x73\x20\xf4\xd4\xe1\xff\xdc\xc1\xf0\x58\xb2\xd0\x50\x59\xb0\x3e\x06\xcd\x4a\xc7\x58\x21\x0d\x5b\xfd\x70\x5b\xa4\xb9\x14\x9f\x9d\x4d\xb2\x01\x6c\x28\xb4\xff\x4d\x70\x43\x53\x28\x37\xcf\x25\xd1\xcb\x04\x95\xfc\x9e\xf1\x87\xc0\xf8\x53\xc0\x20\xaa\xa3\x61\x59\xf7\xbb\x1f\x7f\xe8\x91\x62\xef\x8e\x36\x7e\x5a\x02\x5b\x08\x65\x0d\x49\xc7\x9b\x40\x0b\xa7\x16\x36\x83\x9a\x1c\xbd\xcf\xc0\x08\x5a\xb6\xee\x86\x2c\xa1\xd2\xbd\xe8\x06\x8f\x3b\x93\xed\x0c\xa1\xdf\x3a\x8e\xdb\xb9\x9a\xbd\x9e\xff\xd8\x7f\x33\x1f\xf7\x27\x17\x0d\x8a\x9d\x62\x9b\xad\xc8\xa8\x96\xe3\x77\x6a\x0d\x51\xa8\xd6\x66\xb5\xe0\x69\x41\xf8\xdb\xb2\x6c\x43\x53\x4d\x48\xae\xa1\x12\x9a\x4d\x3b\x34\x56\xb5\x16\xb1\x0c\x09\x0f\x2f\x46\xb3\x79\x6f\x74\xd1\x19\x84\x05\xe9\x17\x42\x91\x58\x6c\x28\x4f\x0f\xd9\x1f\x47\x4d\x6a\x16\x97\x36\x7d\x9b\x12\x14\x47\x16\x22\x64\x6c\xf9\x62\xbb\xfd\x62\xbb\xfd\xb4\xca\x47\x7d\x14\x8b\xf0\x43\x98\x39\x1f\x2a\xfe\x7a\x36\x98\xbd\x99\x5f\xe8\xff\xd7\x64\x3e\x6d\xd0\x79\xe1\x8c\x6d\x25\x7b\x7d\xca\x56\x03\x6e\x10\xeb\x5f\x4e\x46\x17\x73\x5b\x56\x17\x78\xda\x60\xda\x79\xe1\x93\xc1\x0b\x42\xbe\x66\x92\x5a\x4f\xb1\x82\x9a\xa6\xa5\x42\xfc\x68\x33\x4c\xc8\x43\xc5\xda\x7c\x40\x65\xe0\xc6\x1e\x1b\x0d\x92\xbe\x4e\x0f\x59\x26\x9b\x0d\x80\xe3\x92\x7e\x9f\x4b\x1a\x8f\x50\x88\xcd\xdf\xeb\x00\xf4\xd7\xde\xa0\x33\x1c\xbd\x6a\x2a\xf9\x69\x8d\x06\x95\xb2\x0e\x1f\xd9\xdc\xa1\x49\xfa\x72\x34\x9b\x77\x86\xc3\xd1\xcf\x0d\x54\x0d\xe8\x28\x46\xfe\xf1\x5a\x3b\x7c\x9d\xf7\x3a\x33\x43\x1f\x21\xbe\x6e\x38\x97\xed\x98\x96\x03\x6f\x97\x34\xb3\xd1\xda\xcb\x9d\xda\x65\x21\xbb\xfe\x17\xe3\xcd\x17\xe3\xca\xdd\x8c\x2b\xf7\x67\xa7\xd8\x25\x8a\x37\x07\x45\xe5\x2d\x02\x91\x51\x29\xa1\xc9\x62\xb7\x71\xf5\xcd\xac\xf7\xe5\x28\x2c\x69\x40\xf2\xfc\x0d\x74\x24\x9f\x9a\x6e\x9e\xde\x35\xe4\xaa\x14\x6a\xf5\xdf\x3e\x30\x79\x05\xf3\x50\x3e\x87\xcc\x95\x8d\x3e\xca\x79\x20\x58\x0a\x15\xdc\x98\x53\x69\x63\xf2\xef\x68\x36\xf0\xe6\x00\x1f\xa5\x5f\x63\xd1\x81\x13\x4f\x56\x40\x9a\x0f\x07\x09\xdd\x39\x34\xe8\x91\xc4\xfe\xd3\xf5\xa4\x5e\x0d\x67\x03\x63\xcf\x0d\x0b\x69\xf6\x39\xc4\xd9\x01\xf7\x80\x53\x86\x63\x79\x54\x49\x6a\xd2\xb9\xec\x8d\x2e\x1a\xa2\x98\x5d\xa0\x9f\x1f\xf3\x26\x8d\x1d\xd1\x36\xd5\x7b\xf3\x37\xf4\xb3\xe4\x3a\xa9\x93\x8c\xaf\xd6\x8a\xd0\x5b\xea\xc1\x41\xf3\x42\x14\xd7\x2e\x52\xbd\xfe\xcf\x11\xb5\x72\x0e\xd6\x0b\x31\x52\x79\xdb\xd3\x71\x72\x79\x13\x98\x38\xec\x58\xc6\x58\x2a\xd7\x42\x5d\x16\x53\xe2\x83\xfb\xeb\x6d\x5d\xdb\x64\xf8\xba\x2f\x24\x1e\x61\x1d\xfa\x94\x50\xb2\xcd\xf8\x8d\xe6\x38\x78\x09\xa1\x82\x0b\x91\xae\xdb\x52\x69\x17\xc0\x1f\xa3\xd7\xcc\x53\x36\x21\x80\x8c\xe5\xc6\xfa\xc0\x40\xd3\xb6\x26\xd6\x83\x39\x67\x25\x7c\x7a\xf0\xf5\xba\xa5\x2a\x16\x43\x39\x3d\xcd\xa2\x9e\x7f\x5c\x50\x79\x96\xc6\x3f\x09\x15\x74\xc6\xc0\xb7\xda\x19\xeb\xbf\x9a\x23\x15\x49\xd2\x5a\x96\x29\x55\xdd\x11\x89\xa7\xe8\x78\x4b\x0b\xb3\x8d\xbc\x10\xb5\x42\xfa\x67\x4f\x4c\x54\x80\xbf\x0f\x1b\x32\x80\x67\xa2\x25\xd6\x68\x2d\x24\x6b\x1b\xce\x3c\x73\xe4\xe9\xcc\xff\x10\x31\x00\xa7\x7b\x87\x92\x85\xf7\x73\xb1\x1b\x55\x79\x88\x7e\xe8\x0e\x47\x53\xcf\x4b\x39\xd6\x73\x8f\x12\x21\x83\x26\x06\x0c\x9b\x68\xa3\x02\xb7\x0c\xc6\x68\x19\x87\x61\x42\x30\x24\x4b\x58\xcd\xae\x55\xd4\xa8\x7f\x1a\xcd\xfa\x8d\xba\xae\x51\x48\xb5\xaa\x8b\xe5\x7c\xb4\xe2\x96\x41\x30\x70\xed\x26\xa8\x17\x42\x75\x69\x92\x68\xf1\xb8\x03\xe1\x11\xfe\x5b\xe1\x69\xe7\x79\x6a\x4c\x29\x4b\xd3\xce\xc6\x7c\x80\xcf\x12\x38\xa2\x09\x90\xd8\x66\x4c\x4a\xf2\xb5\xd6\x67\x00\xba\xf0\x1b\x0f\xba\x7b\xc2\xb2\x03\x82\xd7\x5a\xdc\x96\x9c\x51\x54\xc2\xdd\xdc\xee\xb6\x50\xc8\x8f\xd1\x18\x43\xf6\x94\xa0\x52\x35\x21\xa0\x9c\x3d\x89\x68\xb4\x66\x73\xc5\x37\xde\xe0\xff\x68\xcd\xd0\x20\xcf\x55\x3d\x19\xf7\xb4\x04\xfa\x90\x8f\x71\x0c\xdb\x62\x76\xed\x0e\xb9\xd3\xf5\xca\x04\x59\xe2\x71\xeb\x4d\x86\xa0\xad\x6e\x6b\xcc\xe5\x10\x57\x70\x49\x64\x4d\x3c\xa1\x98\x46\x76\xa0\x4a\x53\x83\x97\xc0\x5e\x37\x3d\xd9\xfc\xe2\x7a\xae\xc5\x38\x63\x10\xdf\x28\x76\x2e\xa9\x3b\x78\x35\x3c\x6d\x6b\xd7\x63\x94\x46\xcc\x95\xfd\x22\x6b\x2a\x31\x75\x3f\xdb\x80\x4a\xce\x78\x46\xb6\x74\x0f\x20\x4a\x54\x8b\x6c\x6b\xbe\xdd\x02\x38\x3a\x53\x94\x27\x12\xb1\x3f\x17\x42\x59\xd7\x9a\xd4\x82\xfe\x6e\xab\xd5\x99\xf2\x04\xe0\xcc\xde\xbf\x33\xdf\xce\x9f\x9c\x3d\xb9\x92\x2e\x03\x1c\xa0\x43\x41\x9f\x92\x5b\x91\xc2\x7f\xca\x5d\xb4\xd6\x57\xf2\xa9\xed\x00\x36\x9a\x33\xa9\x7f\x7a\x29\x14\xfb\x21\x2f\x23\x05\x3a\x86\x99\x00\x28\x1a\x26\xaa\x0b\xcb\xfd\x7f\xfb\xdc\x19\x7e\xe8\x12\xea\x23\x00\x27\xaf\xf4\xbc\x77\x4f\x47\x5b\x9c\x8b\xe2\x1b\x1a\x5c\xb1\x07\xce\x11\x50\x43\x3c\xfe\x60\xe3\x63\x36\xd5\xf6\xe4\x2e\x8a\x34\x3f\xe2\x12\x6d\x2f\xea\x9c\xf4\xf5\x2f\x8b\x89\x5a\xeb\xdd\x86\xa6\x50\x35\x1c\x3c\xec\x4b\x91\x6d\xf0\x3d\x65\x6f\xb7\x09\xe5\xa9\x34\x4e\x4f\x2a\x45\x0a\x6a\xc7\xd2\x44\xb2\x80\x1f\x5b\x44\xcc\xe2\xe5\xa0\xb0\x67\x76\xe3\x6b\x76\xbe\x3a\x27\x7f\x79\x32\x15\x59\xb6\x3f\x23\x52\x6c\xd8\x42\xc4\x7b\xf2\x37\xd0\xe4\xc4\x4e\x4b\xe8\xfa\x07\x89\x66\x60\x62\x49\x34\x17\xa7\x1b\xfa\x77\x70\x5e\x27\x9a\xc3\xce\x9e\xca\x35\xcf\x94\x34\x11\x33\xce\x3d\xb2\xd8\xc9\xbd\x56\x82\x12\xdd\x54\x0f\x05\x2f\x80\xa5\x2f\x43\x52\xe7\x64\x9c\x30\x2a\x41\x1e\x10\x92\x11\x4a\x62\xbe\x5c\xb2\x4c\x37\x89\x44\x22\xb0\x42\x3d\xcd\xf4\x6f\xfe\xd3\x5f\x9e\x7c\x73\x9e\xd3\x01\x38\xb6\x63\x2e\xb7\x09\xdd\x97\x7d\xc3\xa5\xd2\x76\x27\xcd\x2c\xc3\x5c\xcf\x84\x27\xf0\x98\xa5\x50\x23\x3c\x73\xb6\x4e\xa4\x5f\x25\x50\xcf\xd6\xb4\xef\x29\x44\x60\x08\xea\x50\xc4\x06\x5f\x12\x76\xc3\xb2\xbd\x82\x18\x27\x28\x8c\x87\x4a\xd9\xd7\x2b\x21\x62\x0c\x7f\x75\x65\xa2\xcf\x08\x53\xd1\xf9\x37\xc0\x1a\x2c\x23\xe0\x58\xc7\x7e\xef\x25\x32\xa8\xd8\x7a\x86\xea\xc8\x2d\x97\xcc\x46\x68\x4b\xa6\x08\x57\x67\xc8\x63\xcc\x83\x0d\x17\x05\xf7\xfa\xcc\xbe\x9d\x47\x32\xf0\xfe\x64\x32\x9a\xcc\x67\xfd\x3f\xcf\xda\x98\x10\x58\xf9\x7e\x85\xd0\x5f\x35\x67\x9d\x1a\x3e\x78\x90\x05\x57\x1b\xd6\xf8\xef\x60\x09\xf7\x43\x22\x87\xd5\x2f\x08\xd4\x71\x37\x55\x08\x10\x27\xcd\x71\x5d\x1a\xc7\x20\xa4\xd8\xfd\xce\x81\x7d\xb9\x9c\x2f\x13\xf6\x96\x6b\x3e\xe0\x41\x67\xd6\x07\x63\xc2\x3e\x1c\x97\x74\x3c\xcb\xce\xb1\xc2\xa2\x89\x97\x41\xa3\xc1\x2b\x9f\x92\xe3\xca\x1f\xc0\x34\x4b\x13\x68\xcd\x31\xef\xc0\x0e\x6f\xd7\x7b\xc2\xd1\x3c\xb4\xd9\x0a\x29\x61\xbb\x94\x20\x91\xd8\x6c\x13\xa6\x58\xa1\x26\x75\x85\x0b\xc6\x2c\xe1\x37\xe6\x96\x01\xd7\x8a\x99\x04\x76\x6d\x8f\x84\x4b\xb2\x4b\xdd\xc5\xf8\xea\x0b\x5b\x6a\xcb\x96\xcc\xd9\xcf\x83\xda\x62\x87\xdc\x30\xa8\xd2\xa0\xe5\x66\x57\xa0\xde\x11\xa0\xf9\x5d\xad\x50\xff\x83\xc9\x76\x55\x76\xe0\x80\xd2\x66\x7b\x3d\xa1\x00\x2f\xa8\xb6\xf2\x9b\xc4\x14\x7c\x24\x18\x62\x66\x0a\x1a\x45\xbb\x0c\x1e\x3f\x10\xd0\x5a\xe0\xe9\xdd\x09\x92\x4e\xb9\xb9\x57\x76\x01\xfe\x7e\x3e\xb6\x97\x05\xc2\xd9\xe5\x0f\x5f\x2f\x84\x48\x66\xd9\x8e\x7d\xf3\xfe\x9d\x2b\x10\x0c\x13\x84\x9a\x32\xcc\xad\x44\x73\x2a\x08\xb3\x01\xb4\xf7\xdf\x3b\x49\x6c\x4d\x6f\x34\xfb\x92\x92\xc5\x44\x72\x2b\x83\x82\x48\x61\x58\x1f\x0c\xf1\x92\x26\x92\x7d\xf3\xfe\x9f\xd5\x31\xc4\x76\xeb\xc6\x38\x1e\x61\xca\x4e\xfe\xc9\xd9\x11\x3f\x80\xa9\xb4\x2b\xd6\x72\x8f\xa5\x9d\x25\x53\xaf\xe8\x86\x4d\xf5\xfc\x02\x94\x95\x7f\xaf\xd1\x94\x87\x83\xdb\xd7\x55\x46\x85\xe0\xa7\x4a\xc0\x03\xd8\x93\x56\x74\xc3\xcc\xb3\x24\x01\xab\x33\xdb\xd0\x24\x87\x02\xcb\xd5\x64\x0f\x09\xb2\x98\xab\x79\x50\xed\xab\x09\x1c\x7a\x0a\xab\x42\x1e\x79\x21\x75\x99\xee\x94\xd8\x50\xc5\x23\x40\xb9\xd7\xfd\x62\x0c\x1d\x4f\x11\xf2\xbc\x78\x41\x60\x49\x90\x3c\x7e\xda\xbc\x74\x29\xb2\xa8\xed\xb6\xac\xf9\x6a\x6d\xce\x0a\x64\xb1\x44\xdc\xe2\x06\xc4\xfa\x3e\x53\xc9\x4c\xf9\x62\x63\xc2\xdc\x49\xb6\xdc\x25\xe4\x76\xcd\x52\xb2\xe4\x6f\xc1\xd1\xcc\xa5\xa2\xd7\x4c\x6a\xb1\x79\x41\xd3\x14\x81\x30\x19\x85\xb3\xaa\xee\x93\xd7\x86\x9a\x73\x76\x4b\x2e\x85\x00\xd8\xb6\xd5\xa1\x6a\xaf\x84\xee\x8b\x66\xab\x10\x1c\xaf\xb4\x14\x5f\x49\xe0\x61\xb7\xb8\x1d\x75\xdd\xbf\xb1\x26\x73\x3e\xf0\x09\x59\x06\x1f\xc6\xd3\x83\xb1\x09\xa3\x59\xd8\x2f\x37\x2b\xb0\x04\x4d\x38\x00\xeb\xb7\x40\x13\x19\x86\x0c\x50\x8c\xf2\xac\xb2\xa2\x1a\x9e\x9c\x9f\x23\xd5\x9a\xd5\x18\x13\x1a\xeb\x50\xe0\xcd\xd1\x92\xce\x2c\x0a\x04\x72\x96\x3a\x5f\x69\xb2\x88\x81\x61\xda\x94\x98\xa3\x1b\xb1\x4b\xd1\x8d\xc1\x11\xd0\xd0\xbe\x3b\x0a\x1d\x1e\xcc\x21\x60\x22\x45\x97\x30\x9b\x36\xd4\xec\x06\xa0\x72\x18\xe8\x36\xc9\xb2\x1b\x96\x9d\x93\x1e\x5b\x52\x5b\xca\xef\xfb\xe7\xcf\x4f\x5c\x6c\x5b\x41\xed\x97\x7d\x4b\x66\x63\xab\x14\x6a\x1d\x4f\x8b\xc4\x42\xbf\xce\xe0\x3f\x71\xde\xcb\x7a\x2e\x00\x7b\xab\x82\x15\x2f\xc7\x54\xa2\x0d\x02\x1b\x58\x4f\x93\x89\xb0\x37\x5c\xde\xa0\x96\xb9\x9a\x25\xd6\x1c\x63\x75\x46\x40\x18\x81\x6a\x08\xa0\x80\xa0\xfe\x02\x32\x85\x99\xef\x39\x81\x71\xa8\xc9\x71\x33\x35\x1a\xcc\xa2\x4c\x60\x52\x2a\x4a\x3f\xd1\xcc\x90\xa3\xe6\x15\x8b\xf4\x7f\xff\x8f\xff\xcb\x55\xa7\x2a\x94\x99\x38\x27\x58\xe4\xc5\xa6\x5a\x47\x34\xfd\xdf\xff\xe3\xff\xd6\xea\x04\x28\xb5\x7f\xf8\x1d\x59\xec\x15\xab\x49\x9e\x67\x4f\x8c\x77\xad\xc5\xae\xdb\xe9\x34\x90\x1c\x91\x3c\x66\xc4\x21\x6f\x3a\x21\x08\x8b\x2d\x03\xc2\xbb\x95\x54\xcf\xc9\x8b\x3d\x89\x91\x40\xcf\xaa\x7d\x3b\xe4\x5a\x2d\x42\xa6\x7b\x13\xda\xb8\xc6\x58\x01\x79\x08\xdd\xf1\x2e\xf2\xbf\x95\xf9\x83\x80\x91\x8e\x87\x94\x7b\xfc\xc9\x89\xfb\x76\x09\xb6\xc7\xe2\x35\xad\xbf\x18\xb7\x5c\x45\xeb\xf9\x76\xe3\x79\xc2\x96\x46\xd6\x3c\x33\xb4\x27\xcb\x4a\x19\x2d\x15\x76\xcf\xa5\x21\xa4\x3a\xd8\x68\xe8\x9c\xc9\xc2\xfe\x8b\xaa\x1f\xd5\x51\xac\xd6\xb6\xd1\x92\x61\x77\x16\xfe\x82\xb2\x71\x15\xaf\x3f\x62\x99\xa2\x3c\xcd\x75\xf9\x63\x35\x99\xce\x64\x36\xe8\x0e\xfb\xf3\xd9\x60\x36\x6c\x0a\x41\x55\x5c\x25\x4e\xe2\xa3\x99\xe2\x51\x72\x30\x0c\xf5\x4b\x44\xff\x87\x44\xf4\xbf\x1a\xbc\x9c\x77\x47\x97\xb3\xfe\xe5\xac\x79\x25\xaf\x06\x2f\xf5\x93\xa0\x58\xaa\x9e\xc2\x8a\xda\x79\x14\x4f\x3f\xdc\x18\x53\xe1\x5b\xed\xc1\x18\x12\xed\x37\x7c\xc3\xda\x6c\x41\xb9\x63\x7d\x5a\xfe\xcd\xc0\x5e\x0f\x1f\x55\x09\x13\x20\xd0\x4b\x9b\x1e\x66\xaf\xaf\x2e\x5e\x1c\x9c\x8f\x5a\xef\x36\x8b\x94\x72\x83\x38\xd2\x7c\x36\xf7\xec\x85\x7a\xe8\xe0\x67\x84\x4b\x6c\xe3\xa8\xb6\xdc\xbd\x0d\x2c\x41\x0e\xc2\x18\x06\x25\x78\x53\xbc\xe8\x94\xc4\x0e\xa3\x20\xb3\x08\x8d\xcd\x9d\x37\x92\xa7\x41\x79\x6c\x41\x9a\x06\x90\x07\x2f\xd4\x31\x19\xde\x07\xb6\xa0\xd4\xef\x41\xc6\xe8\x4c\x8c\x30\xe1\x83\x11\xeb\xb3\xce\x64\x36\x1f\x77\x26\x9d\x30\xbc\xca\x14\x5e\xaf\x82\xc9\xd9\xd3\xe3\xf7\x75\x2d\xa4\x31\xb5\xac\x8d\x12\x12\x4a\xa8\xee\x8d\xba\x57\x17\xfa\xf6\x1f\xda\xdd\x5b\xb6\x88\x45\xb4\x03\x27\x53\xd9\xbf\x7a\xb0\xeb\x8b\xc1\x45\x13\x7e\x47\xbd\x7f\xcd\xbf\x70\xcf\x8f\x18\x65\x3a\xf8\x0f\x64\xbd\x2f\x06\x75\xce\xfb\x73\xa1\x77\xc3\x70\x17\x7c\xf5\x9f\x42\xca\xd9\x21\x6b\x51\xb5\xd5\x03\xda\x8c\xd2\x0a\x16\xf1\x17\xa3\xd1\xaf\xc8\x68\xd4\xab\xa8\xd6\x21\x73\xd1\xaf\xc1\xce\xf3\x80\x16\x99\x46\x9f\x43\x93\xab\x41\x6a\xd5\xa3\xe4\x59\x28\xba\x1e\xbe\xd6\xd4\x3d\xcd\x21\x20\x3a\x91\xfe\xad\x81\x42\xa0\x49\x62\x9a\xe9\xf5\xc9\x6f\x0c\xfc\x83\x48\x6f\x58\x26\x31\xac\x7c\x4b\x33\x95\x62\x3d\x78\xc8\x92\x68\xeb\x1e\xd4\x1d\x3e\xab\x8d\xeb\x09\xc4\x8a\x6c\x80\x6c\xcd\x5d\x01\x0c\x0a\xbf\x8f\xdd\x5b\x45\xe3\x18\xf3\x86\x86\x74\xcf\x32\xf2\xed\xbf\xbc\x7f\x77\xde\x3e\x53\x22\xd1\x3f\x92\xbf\x81\xff\x7b\xfa\xed\xbf\x9c\x5e\xca\x44\x20\x46\x12\xcd\xab\x3b\x59\x38\x88\x2f\x65\xed\x7f\x8d\x09\xcf\x8f\x01\x8f\xff\xab\x2f\x90\xff\x25\x27\xb0\x92\x13\x58\x7e\xab\xb4\xf6\xf0\x42\xf8\x2b\x57\xd9\x6f\xf5\x97\x0a\x74\x8e\xca\xe3\x62\x0c\x67\x58\x83\x08\x23\x64\x62\xc6\xb6\x44\x33\x28\xfd\x4f\xf7\x54\xb4\x0e\x87\xd7\xf3\xfd\x8d\xee\xe3\xa9\xe9\xc3\x93\xcd\x27\x3c\xf6\xed\x19\x9a\xf6\xee\x18\xb3\x2e\x8c\x41\xd0\x18\x08\x5d\x1e\x82\xf9\xf7\x57\xb2\x6c\x5e\xd4\x2f\x6f\x80\x89\x3f\x18\x80\x37\x4c\x70\x0e\x3b\xe1\x83\x14\x0f\x6c\xfa\x5d\xf7\xfc\x30\x1e\xf5\xbd\x41\x95\x7c\xe1\x57\x25\x9d\xbf\xa1\x22\x7a\x55\xeb\x6f\x36\x56\xdd\x97\x21\xc1\xdf\x63\xd0\x3c\x59\xeb\xb2\x68\x99\x2c\xf1\x21\x25\x56\xab\x84\xf5\x00\x1f\x60\xcc\xbd\x39\x56\xd5\x26\x35\xae\x34\xe6\xe9\xb3\x5d\xba\x05\x95\x17\x91\x06\xea\xfc\xe2\x53\x90\x0f\xd7\xcc\x4c\x1f\x62\x35\xb9\x27\xf7\x06\xd0\x14\x1a\x13\x1e\xf4\x2e\x88\x8c\xe0\x76\x28\xd7\xe3\x47\x4d\xa5\xc2\x03\x3c\x50\xa1\xbf\xde\xa8\xee\xa5\xde\x6e\x93\xbd\xc9\x56\x81\xd7\x0d\x52\x93\xb7\x09\x6b\x2e\xd8\x4f\xb3\x68\xcd\x6f\x3c\x4a\x6d\x07\x3f\x54\xcc\x27\xc5\xbe\x4e\xda\x04\x51\x9c\x68\xdd\x10\x91\x7f\x84\x97\x26\x52\x64\xb7\xf5\x24\xb5\xec\xd2\xe0\xf6\x5c\xd9\x4f\x47\x6c\xd0\x2e\xe5\xa9\x54\x34\xf1\xe5\x7d\xd8\x4f\xad\xbb\x2b\xd5\xf1\x77\x3d\xe7\x24\xe2\x23\x23\x5f\xb3\xba\x4d\xcd\x4d\x85\x16\x86\xaf\x53\x4e\xe1\x9b\xf7\xb6\xe6\xdf\x01\x2d\xcc\xad\xfd\xb8\xcb\x66\xa1\xdc\xfb\xcd\xf0\xca\x79\x49\x55\x1c\x15\x83\xb4\x43\x77\x0e\x18\x40\x27\x49\x9a\x92\x83\x6b\x6d\x3c\x1b\xb5\xe5\xe9\xfb\x77\x60\x62\x30\x50\x2e\x39\x1a\x5c\x6b\x15\x54\xb3\xb2\x96\x61\x91\xdd\x92\x3c\x06\x13\x6c\x24\x0a\x08\x59\xc6\xa7\xe1\x25\x4f\x94\x3f\x31\xcd\xd3\xaa\xbe\xd2\xad\x49\xf9\x4f\xe2\x23\x04\x55\xc0\xa0\x80\x9f\x78\xf8\xce\xd2\x4d\xa8\xc2\x2d\xcc\x18\x84\xa7\x4b\xd1\x5e\x91\x77\xe3\x9c\x1a\x1f\xf2\x89\xb9\x6e\x8d\xc5\xd8\xd6\xf6\x2b\x3c\x74\x65\x5e\x0e\x86\xb3\xc3\x2f\x54\xce\x63\xf0\x28\x1a\x23\x87\xeb\x44\x22\x47\x59\xdc\x96\xa0\x4c\xdb\x1a\x59\x4d\x18\x86\xaf\x9b\xa5\xdd\x0f\x61\x09\x3b\xaf\xba\x8d\xd6\xd2\x2f\x46\xcd\xdf\x69\xeb\xeb\x9b\x32\x86\x9b\xdf\x00\x4e\xeb\x6b\xe6\x93\xd2\x72\xc8\xa3\x13\x17\xd0\x5a\x60\x8d\x14\x05\xad\x23\x14\x4e\x10\x96\x1c\x83\xb3\x42\x5a\x30\x78\x73\x33\x17\x29\x93\x3c\xf6\x3c\xcf\x4e\xe8\x5b\xd7\x7c\x2e\xd6\x5c\x6d\x58\xb6\x89\x5f\x4a\x44\x44\x13\x13\xbe\xb4\x24\x94\x88\x94\x3d\x55\xe2\xa9\x48\x59\x20\xe4\x33\x80\x6b\x32\x2e\x4f\xda\xa1\x99\x9c\x81\x25\x40\xec\x94\x45\x31\x41\x5b\x40\x63\x4e\x2d\x6e\xdf\x31\x6b\x83\x5f\xc0\xaa\x32\xb3\xbe\x3b\x16\x6e\xfd\x2c\x0c\x92\x97\xa3\xd9\xfc\x62\xd4\x1b\xbc\x1c\x04\xb4\xe5\xf2\xab\xad\xb5\x65\xbd\xae\x8d\x88\xeb\xd8\xfa\x0f\x6f\x95\x7c\xd0\xe0\x5d\xd8\xee\x16\xc8\x91\xfa\xce\xe5\x20\x68\x95\x37\x20\x11\x34\x76\xa9\x21\x2f\x79\x12\x60\x77\xf5\x66\x1e\x81\x42\x37\x22\xcc\x95\xed\x87\xa2\x30\x34\x8d\x09\x95\x52\x44\x5c\x4b\x1b\x5c\xd5\x12\x48\xbc\x62\x44\x20\xbc\x76\x89\x03\xb7\x65\x3d\x45\xb0\x49\x3d\xac\x9b\x86\x32\x7d\xd5\x91\x93\xfe\x51\xdf\x9d\x20\xec\x57\xf1\x73\x68\x37\x68\xd3\x2e\xc0\xc4\xbe\xb6\x3c\x84\x46\x6a\x07\xfe\x62\x6b\x1c\xc3\x66\x16\x07\xc5\x83\x06\x10\x80\xa8\xd2\xc7\x43\x70\x72\xe8\x73\x8a\xd6\xbb\xf4\x5a\x12\xb0\x1b\xe9\x86\x0b\xfc\x33\xa2\x01\xbd\xff\x5f\xc7\x38\x57\x30\x06\xb7\x59\xa5\x47\x4c\x52\x63\x4b\x04\x27\xfc\x76\xa7\xc6\x8c\x65\xfd\xcd\x56\xed\x8d\x0f\x0f\x2c\xb4\x47\x27\xce\x94\xbb\x6a\x69\xb0\xbb\x18\x4c\xa7\x03\x6f\x48\x99\xdf\xe7\x99\xed\xd2\x43\xd1\x1f\x9f\x36\x4b\x7d\x78\xbe\xf7\xa0\x55\xaa\x3e\xd1\x0a\x52\x5f\x6a\x27\x15\xfb\xfd\xb0\xda\x49\x0f\x56\xdb\xe8\x33\xaa\x37\x0c\x4c\x1a\xa1\x0d\xe4\x39\x60\x34\x4e\xe9\x0d\x8b\x07\x5a\x07\xcf\x5f\xb3\x50\x8b\xda\x83\x86\x65\x2d\xa4\x6e\xe0\x10\x13\xb4\x3e\x9f\x6d\xa8\x3f\x44\x22\xca\x18\xc4\xc2\xd0\xc4\xa3\xe5\x4c\xd8\x46\xdc\xb0\x4a\x77\xc5\x5f\x9c\xb4\x21\x92\x9b\x3d\xac\x98\x72\x5c\xe1\x0f\x44\xa6\x00\x3d\x58\x32\xa5\x78\xba\x92\x66\xa9\x26\xa5\xd6\x03\x4e\xf6\x8f\xe2\x71\xad\x98\x7a\x41\xd3\xeb\x2e\xcd\xe2\x1e\x55\xd4\x77\x5e\xd5\x26\xb5\x03\x7b\xc5\xf0\x80\x08\x5d\x80\x78\x01\xdb\xcb\x15\x89\x68\x16\xd7\x4f\x0b\x59\xb1\x67\x51\xf9\x8f\x0c\xbb\x3e\x30\xef\x31\xfe\xf7\x4b\x91\x6d\x02\xd3\x2e\xb6\xf0\xce\x9a\x3a\x8a\xd0\xe4\xd5\x1e\x1a\xec\xa2\x04\x0b\x56\xea\xe3\xa3\xc1\xec\x79\x16\x3e\x61\x11\xe3\x5b\xd5\xbc\x3b\xb6\x91\x77\x83\xec\xd2\x32\xd3\xe8\x8e\x3b\x94\xb9\x31\x4e\x60\x73\x1a\x99\x53\xe9\xbb\x77\x4b\x1a\x18\x53\x71\x20\xcd\xa5\x0f\x50\x68\xb5\x89\x3f\x51\x3e\x12\x9b\x2d\x4f\x0a\x43\xfa\x49\xb5\x91\x09\x8e\x3f\x35\xbe\xd7\x8e\xac\x3c\x17\xee\xec\x89\x49\xaa\x67\xf1\x5c\x9f\x4d\x03\x56\x22\x1e\xa4\x56\x98\x80\x50\xa8\x02\xcb\x47\x0c\x6e\xda\xa5\x68\xbb\xae\x12\xbe\xa0\x3d\x59\xd7\xe1\xc4\x4e\x06\xe8\xe9\xaf\x75\x14\x08\xef\xfc\xba\x80\x0f\x58\x05\x7e\xa8\x83\x19\x7c\x8c\x0b\x64\x97\x56\x5e\x99\x87\xba\xfd\x0d\xeb\x34\xbe\x5b\x6c\xb8\x83\x42\x28\x1d\x81\xb9\x57\xa0\xc5\x99\xde\xbc\xef\xff\x49\x51\xae\xff\xc5\x9e\x84\x97\x57\x2f\x83\xff\xa1\x8f\xce\xd9\x13\x4d\xda\x1e\xc7\x25\xbd\x61\x9e\xed\x85\x5c\xd3\xa7\x3b\x09\xe6\x02\xc0\xce\x02\x8c\x7c\x6c\x59\x73\x1c\x3e\x22\xc9\xad\x45\xca\xce\x69\x14\xb1\x2d\x40\x1f\x16\x89\xac\xfa\xa9\xee\xd0\x86\x6f\x84\xa7\x91\xd8\x40\x48\x37\xf5\x41\x7f\xae\xe6\x0b\x1f\xb3\xb4\xb1\x15\x7a\x33\xfa\xdf\xf5\xad\xa5\x49\x6f\xd6\x35\xdb\x13\xf6\xd6\xc0\x3a\x1e\x67\xd1\x60\x69\xfc\x54\x89\xa7\x2c\x8d\x9f\x01\xf2\xd1\x53\x3d\xa7\x83\x26\x0e\xf0\xea\x0a\x82\x6b\xf5\xe4\xdf\x0a\x25\x22\xe1\xf1\x09\x8f\xd7\x60\x7d\xd6\x3f\xb7\x92\xe1\xb1\xd6\xdc\xce\x70\x38\xef\x0c\x27\xfd\x4e\xef\xcd\xbc\xd3\xed\xf6\xc7\x21\x15\x15\x46\xd1\x8a\x29\x4d\x10\x10\x0b\x67\x1b\x54\x07\x4b\x3d\x37\x56\x71\xa9\xf5\x7c\xa0\x8c\x0b\xf4\x8c\xda\x66\xab\x60\x52\xf0\xbe\x6a\x7d\xb3\x2d\x9c\x36\x0e\x30\x19\xcd\x46\xdd\xd1\x70\xfe\x72\xd8\x79\x15\x36\x3c\x74\xa1\x77\x73\x42\x90\xb6\xe0\xa5\x70\x83\x42\xe8\x25\xf1\xe2\xb7\xba\xa2\x64\xb1\x9c\xb6\xf9\x59\x1f\x24\xd7\xf6\x4e\xb2\x10\xbd\xd6\x2f\x91\xc7\x34\xf8\x11\x2e\xd1\x35\xdb\xcf\x97\x3c\x5d\xb1\x6c\x9b\x71\x9f\x77\xe5\x47\xb6\x27\xc5\x06\x47\xb8\x96\xdc\x06\x7f\xbc\x1b\x78\xb2\xf7\x24\xa7\xe4\x98\x4b\xad\xbe\x79\x29\xb9\xf8\xcd\xe3\xcb\x5d\xea\xf7\x47\x64\x44\x4b\xbc\xd9\xce\xa4\xe1\x78\x79\x76\x24\xd2\x94\x45\x41\xd9\x69\x9c\xb1\x25\xcb\x32\x16\x93\x84\x2f\xd4\xea\x46\xf0\x2d\xc9\x58\x42\xbd\x28\xaa\xf1\x2e\x73\xf8\xe3\x9e\xbb\xeb\x3e\x9f\xb4\xac\x7c\x27\xb2\x45\xa8\x4c\x9f\x7b\x10\xe1\x41\x2d\x8e\x30\x31\xe7\xe6\xc1\x33\xd3\xa4\xe1\x11\x75\x72\x07\x23\x46\xa9\x52\x02\x0d\x7d\xd3\xf8\xc8\x2f\xd0\xbd\xd3\xff\x8a\x81\x34\xd2\xd5\x4c\x7b\x55\xbb\x01\xe5\xaf\x7e\x75\x3b\x67\x19\xc0\xf9\x57\x86\x00\x0d\xb4\x9c\x41\x11\x53\x22\xa7\xed\xaf\x24\x91\x6b\xaa\xc9\x1d\x7f\xf0\x24\x9f\x8d\x01\x10\xf1\x5f\xc7\xd2\xc7\x3a\x54\xee\x16\xc9\xec\x07\x74\x31\xef\x8b\x20\x1d\x0e\x57\x06\x93\x21\xa5\xcd\xad\x4a\xf6\x88\x7a\x0a\xb1\x08\x7a\x09\x3f\x20\x09\x00\xfc\x44\x39\x4f\x31\xc3\xeb\xae\x97\xe9\x04\xb4\x7c\xe9\x92\xec\x52\xc5\x93\x52\xee\x62\x61\x63\xa0\x3a\x52\xcc\xe2\xd6\x78\x70\xe5\x9b\x40\x6e\xd9\x57\x19\x2b\x4c\xba\x1e\x06\xf5\x99\x71\x65\xa3\x5a\x05\xc8\x20\xff\x16\x4c\x49\xb0\xbc\xa9\xc8\x4f\x4e\x5b\x09\x5b\xcd\xe9\x7c\x4d\xe5\xfa\x24\xe4\x92\x0f\x91\x10\xee\x21\xe1\x01\x69\xa3\x7d\x72\x69\xaf\x50\x3a\x28\xf7\x98\x84\xde\x91\x43\x8f\x80\xcd\xfc\xf8\xd0\x57\xe0\x3e\x44\x6e\xbf\x9b\x07\x40\x65\x06\xe3\xce\xe5\x6c\xfe\x53\x7f\x32\x1d\x8c\x2e\xe7\xa3\xab\x59\x2f\xe8\x8f\xc3\xbc\x9f\x2d\xc0\xca\xf0\x2d\x4d\x15\x89\x05\xc3\x64\x0c\x60\x6a\x29\x41\xa4\x77\x08\x7a\x74\x57\xc7\x00\x41\x21\xea\x8e\xc1\x5f\xd2\x14\x88\x64\xd2\x94\x99\xd4\x52\x91\x06\x6e\x1c\x46\xc5\xf8\xfe\x01\x72\xa8\x2a\x7d\x82\x8b\xba\xfb\xa6\x29\x54\x64\x66\x9e\x0d\x9b\xf0\x13\xed\x73\xb7\x85\xc1\x47\x86\x1c\x6e\x40\xb2\x29\xfa\x94\x73\x6e\x26\xe9\x0d\xd3\xa7\xdc\x63\x8b\x5d\xfd\x8d\x2d\x7f\xf5\x1b\x54\x0b\x6f\x41\xac\x9b\x21\xa4\x0f\x24\xff\xeb\x07\xae\xce\xda\x62\x3b\x54\xf5\xa2\xe8\x1f\x4b\x45\x15\x97\x8a\x47\x92\x88\x85\xa2\xdc\xb9\xe9\xdc\x13\xdd\xb6\x48\x4f\xe8\x92\xb5\xbb\x1f\x0f\xa8\xf3\x02\x26\xd2\xbf\x4f\x1b\x4a\x68\x94\x06\xd0\x2d\x71\x4f\xfd\xef\x11\x14\xf6\xe1\xab\x94\x26\x3c\x5d\x55\x9d\x4e\x81\x16\xfe\x93\xfc\x49\x0c\xc6\x44\xda\x86\x30\xa6\xe7\xf4\xcc\x08\x15\x5b\x98\xfb\xd5\x96\xee\x13\x51\xc3\xdb\x3e\xfe\x94\x0a\xeb\x83\xf7\x74\x42\x55\x39\x5f\xdd\xf7\xb5\xae\x09\x69\xae\x41\x83\xaa\xcf\x66\xe3\x8d\x1b\xec\xa4\x84\xc6\xee\x65\xb5\xcd\x3e\x51\xad\xc5\x9a\xbc\x32\xaa\xea\x31\x58\x99\xdb\xd5\xea\x5b\x08\x08\xe2\x3c\x25\xdf\x3e\xfd\x3d\xbc\x39\x9e\x0c\x0a\x78\xf2\x52\xae\x38\x55\xde\xb4\x8c\x62\x6c\x24\xf0\xd3\x98\x45\x40\xd2\x18\xe6\xc9\x33\x22\x6e\x53\x92\xf7\x60\x67\xe9\xb4\xa5\x8f\x78\x73\xcd\xfd\x52\x42\x9e\x63\x78\x08\xe0\x2f\xc9\x32\xfd\xd5\xbe\xd6\xe8\xaf\x07\x5f\xa1\xa4\x0e\x46\xca\xe0\x8f\xda\xd5\x28\x1b\xa4\xdb\x9d\x32\x3f\x41\x10\x0e\xdd\x99\xff\xa2\xe8\x5e\x57\x4c\x5d\x49\x96\x85\x66\x5a\xfe\xec\x31\x1a\xa8\x5d\x66\x2a\x3f\x24\x1c\x2b\x34\xc0\xa9\x05\xe7\x9c\xf0\x0d\xf7\xdc\x9e\x4b\x17\x1c\x04\xdd\xb0\x84\x81\x07\xc3\x28\x5d\x16\x4d\xb0\x6e\xa7\xa7\x6f\xfd\xde\xa5\x25\xd4\xc1\x91\x1c\x48\x04\x60\xa4\x51\xa5\xce\x68\x2a\xd1\x36\x71\x66\xc2\x6f\x21\x22\xcc\xa0\xd5\xeb\x51\x30\x32\xcc\x6c\x20\xc8\x0a\x83\x9e\x24\x09\x03\x6c\x49\x6a\xb1\x12\x15\x11\x69\xfd\x66\x84\x90\x29\x9b\x57\x27\xaf\xf9\x76\xeb\x59\x5c\x33\xf6\xc8\xf1\x9e\xa8\xce\x9f\xdb\xbb\x04\xe8\xdb\x76\x45\x66\x3e\x54\x3c\x2a\x5c\x19\x13\x66\x8f\x44\x0f\x04\x57\x27\x47\x4f\x9b\x1a\x4d\x0e\x30\x4d\x09\x2a\x21\x65\xec\x86\x8b\x9d\x4c\xf6\x79\x88\x24\x86\x1e\x61\xa1\xa4\xe2\x05\x3b\xfe\x7e\x1d\xb9\xff\x9f\x68\x98\xdc\x70\xd4\xed\x34\xd6\xee\x2a\x9d\x71\x22\x4c\xa9\xcf\x96\xb1\x5d\xdd\xc9\x68\x8c\x88\x54\xd3\x8b\xce\xb0\x1e\x7b\x35\xb6\x81\x62\x4a\x08\x22\x37\x9a\xbf\x7f\xbc\x40\xb4\xa6\x52\xe6\xd0\x8f\x26\x6e\x2f\x65\x6b\xda\x3b\x44\xd9\xb5\x36\x81\x2c\x2e\x59\x46\xd2\x39\x44\xc4\xfe\x00\x6b\x08\x1b\x46\xef\x3b\xa2\x81\x2a\xa9\x95\x8c\x0d\xa3\xa9\x04\x26\x0e\xd3\x01\x59\x5e\x37\x1d\xd3\x4c\xbd\x7f\x67\xb8\x65\x4b\x51\x04\xda\x3e\xf3\x74\x74\x7a\x39\x5e\x01\x0d\xba\x93\xf2\x0d\x84\x24\xb8\x3d\xe6\x91\xda\x65\xec\xfd\x3b\xd4\xa4\x8f\x8c\xa4\xfe\x0d\x35\xfd\x3d\x35\xfd\x3d\x35\xfd\x15\x26\x31\x47\x0c\x04\x5f\xce\xeb\xcb\x44\xa0\x80\xb5\x15\x3c\x55\xe4\xea\x72\xf0\x67\x00\x9c\x96\x8a\x6e\xb6\x05\xd4\xe9\x33\xc2\xd3\x18\x32\x52\x8c\x09\x62\x99\x81\x0d\x02\x09\x1e\x4d\x00\x88\x32\xeb\x20\xcc\x76\x92\xc5\x9a\x25\x82\x22\x15\x21\xdb\x64\xb7\xc7\x42\xc3\x7e\xa2\x0c\xae\xc0\x88\x60\x05\xa1\x08\x72\xbc\xe2\x51\x26\xb6\x38\xf1\x0d\x87\xbe\x3f\x1f\xf6\xd6\xbc\xfa\x22\x9b\x69\xb3\x01\x3f\x0d\x7a\xfd\x51\x73\xd8\x6e\x39\xb4\x1a\x29\x13\x7a\xae\x4a\x08\x9a\x2e\x31\x08\x32\x13\x34\x8e\xa8\x54\x53\xfd\x97\x02\x17\x0d\xb5\xf0\x9a\xf8\x2d\xba\x53\x6e\x37\x38\xca\x29\x0b\x63\x79\x34\x43\xec\x35\x98\x26\x01\x1f\x6b\xde\x2f\x9a\x5d\x37\x9a\xee\x58\x0a\x05\x68\x74\x3b\x7d\xa2\x1b\xac\xdb\xbd\xca\xe8\x76\x8d\x05\xca\x4e\x3a\x8a\xec\x60\xc6\xc6\x64\xd4\xe9\x75\x3b\xd3\xbb\x83\xd5\x89\x14\x73\x6b\xf4\xee\x9e\x91\x2d\x16\x73\xdb\x49\x80\x12\x41\x8a\xb8\x60\x2b\x0a\x61\xd9\x40\x11\x58\xf6\x3c\x0f\xd5\x3e\x90\xf3\xf1\xab\x47\x0b\x2b\x5d\xbf\xf2\x56\xfa\xae\x5f\xa5\x85\x3f\x7a\xd3\xad\xe2\xb1\x6e\xe0\x34\x1f\xf1\x38\x78\x39\xdb\xe3\x5f\x7f\x05\x57\xb5\x7c\xd0\x10\x12\x36\xde\x2d\x12\x1e\xbd\x14\xd9\x2d\xcd\xe2\xc0\x79\xfb\x1a\xd6\x9d\x99\x60\x96\xd5\x3a\x97\xb5\x12\xd8\xcc\x89\xb2\xb4\x22\xf4\xd3\x1d\xad\xad\x81\x1f\x7a\xb5\xd4\x2f\xd1\x8d\xe7\x6e\x9b\x0d\x5b\x5b\xe2\xa8\x2c\xd6\xf2\xca\xcf\x05\x45\xbe\x3e\xd8\xfb\x77\xa8\xd1\x6f\x19\x68\xd6\x84\xfd\xb2\xa3\x89\xcd\xbb\x2b\x8f\x96\xcf\xa5\x54\x43\x4d\x4f\xa1\x30\xe0\xf1\x65\xe8\x82\x19\xe2\x61\xe2\x15\xbb\x2c\x0a\xbf\x20\x01\x83\xca\x85\x29\x4e\x92\x4b\x5b\x16\x00\x1b\x62\x0d\xf5\x06\x21\x81\xe5\x15\x28\x8e\xb9\x18\x68\xe9\x68\x0e\x14\x36\x13\xcf\x53\x94\x02\xf6\x12\xef\x8f\xb1\x18\x06\xb2\xeb\x7c\x8a\x58\xb3\x05\x70\xf7\x21\xdb\x21\x4a\x78\x74\x4d\xd6\x4c\xcb\xe4\x77\x9b\xbc\x99\x42\xa0\xb8\xfc\xe3\x4e\x22\xf3\x96\xf1\x18\x80\xad\x33\x49\xf6\xe4\x39\xd8\xac\x52\x62\x10\x59\x6c\x09\x13\xf8\x5d\x01\x8e\xaa\x40\xf0\xe7\xf6\x3f\xa6\x09\x8f\x5a\x4f\xcf\x43\xaf\x95\x9e\x3e\x1a\xde\xe6\x3d\xc6\xb6\x56\x79\x58\xc3\x9b\x56\xf8\xee\x7d\xd1\x5c\x12\xff\xe3\x3c\x67\x5d\xb3\x5b\xbe\x68\xaa\xcf\xfb\x91\x6a\x13\x99\x7d\x3c\x60\xc2\x83\x89\x4c\x89\xa0\x71\x47\xee\xd3\xe8\x95\xde\xdf\x1a\x6d\x55\x3e\xd7\x48\x6b\x28\x68\xec\x51\x56\xf0\xb4\xde\xbf\x23\x54\xff\x76\x9d\x89\x14\x4c\x9c\x1f\x4e\x70\x27\x75\xd0\x4a\x5c\x33\x4f\x70\x1c\x6c\x15\x81\x8f\x26\x15\x53\xaf\x05\xfe\x0a\x5b\xf9\xfe\x1d\x29\xb0\xaf\xe3\xf9\x5d\xa5\x3b\x98\xca\xdb\xfa\x34\xfe\x43\x88\x0d\xfa\x15\xce\xb0\xb2\x12\xd6\xd3\x3e\x92\xf6\x5e\x4d\x3a\xe3\xd7\x96\x91\xcd\x27\xfd\xe1\xa8\x13\x4e\xf5\x5d\x15\x56\x6e\xf9\x9b\xd3\x78\x32\x06\x08\x04\x6a\x6d\x14\x1f\xc8\xa9\x31\xad\xd0\x97\xb6\xc5\xec\x1a\xdc\xd6\x40\x05\x19\x98\x8e\x8d\xbc\x08\xcd\x47\xf3\x57\x9c\x0b\x97\x44\xec\x14\xf4\xeb\x26\xb2\x82\x94\xbe\x94\xdd\x22\x75\x9a\xf9\x22\x72\x6a\x48\x49\xff\x47\x11\xef\xed\x9c\xc6\xb1\x41\x37\x9b\x89\x32\x0c\x5a\xb0\x49\x3d\xf5\x20\x8e\x73\xf0\x33\x83\x42\xe1\xd0\xcc\xce\xf2\xa2\x6f\xe7\xa4\x00\x74\x06\xef\x2a\x5c\x73\xa8\x17\xba\x60\x2c\x25\x51\xc6\x60\xdb\x4c\x2a\xe7\x42\xf8\x6a\xa0\x9a\xdf\x07\x70\x29\xcc\xc7\x3a\xd8\x69\x5b\xf4\xb5\x23\x89\xea\x81\x50\x10\xee\x13\xc7\xcd\x1d\x24\xc6\x79\x99\xb3\x1c\x83\xbf\x4e\xa4\xbe\x13\xf7\x37\xac\x87\xe3\x5b\xf4\xc4\x35\x23\x74\x21\x45\xb2\xd3\x92\x91\x69\x8e\xb8\x40\x76\x5e\x3c\x77\xe5\x39\x51\x9f\x6b\x0e\x9f\x88\x74\x25\xff\x58\x2e\x0e\x78\x07\x3a\xf1\x84\x46\x16\xd6\xe7\x31\x8b\xb2\xdb\xd2\x4c\x55\x3e\xe0\x19\xf9\x3b\xcb\xc4\xd3\x05\x95\xbe\x92\xc6\xc7\x13\xdf\xc7\xa5\xa0\xe3\xc8\x27\x4c\x3a\xb0\xe3\x5e\xb8\xc4\x70\x9b\x3a\xc1\x40\x8b\x20\x7b\xf0\xc0\x6d\x1a\x1b\x7e\x8b\xa0\xeb\x94\xd8\xc6\xe1\xcb\x7c\x6a\xd2\x15\x95\xd7\x9e\xc9\xd4\xe3\xc9\x75\xc3\xa6\x55\xc9\xb5\xc8\xd4\x1c\xcf\x23\x00\xde\x09\xd7\x48\xb7\x38\x27\x5d\x9a\x42\x45\x32\xca\x0d\x41\xf5\xd3\x55\xc2\xe5\x9a\x24\x4c\xe9\x8d\x3f\x23\x31\x5f\x71\xf3\xaa\xed\xd2\x98\x65\x50\xad\x43\x9e\x93\x0b\x7d\x0d\x59\x6a\x8a\xfe\xff\xe5\xc9\x62\xff\x97\x27\xe4\x6b\x08\x89\xd6\xaf\x11\x4f\x25\x4b\x31\x0a\xe0\x9b\x3f\x92\x6f\x9f\xfe\xe1\x77\x5a\x9e\xca\x68\xe4\x2d\x2d\x62\xd7\x13\x9c\x72\xfd\x27\x50\x5b\xcb\x77\xf7\x4c\xc9\xad\xfa\x0f\xb8\xf2\xf9\xe3\x72\x40\x53\xd8\x92\xb3\x7c\xae\xa1\x18\x1a\x9f\xc2\x9d\x77\x22\x6e\xd3\x53\xb9\xf6\xe3\x4e\xf7\xc7\xf9\xf4\xf5\x68\x32\x9b\x5f\x76\x1a\x0a\x1c\x4d\xd7\x58\x10\x33\xba\x86\x2d\x38\x18\x33\x5a\xee\x75\xd4\xed\x5e\x8d\x7d\x30\x61\x1d\x4b\xa6\xd0\xb3\xa9\x9a\xc8\x25\x8e\x61\x83\xc2\xd9\x5b\x2e\x55\xc8\x16\x0c\x43\x61\xbd\xc3\x46\x4f\x46\x61\x18\xac\x7e\xf8\x91\x4a\xf2\xc2\xae\xe4\x9b\xf2\x26\xe4\x2d\xeb\x68\x1d\xc6\x00\xa7\x00\x61\x10\x11\x81\x6b\x39\x0c\x8e\x8d\x22\x40\x00\xc0\xfb\x52\x38\xae\x7d\xa8\xb8\x98\x79\x09\xfa\x17\xa3\x7f\x1f\x34\x20\x77\x63\x67\x6c\x23\xfe\xc6\x0f\xe2\x76\x63\x8f\x8d\xfe\x26\xdb\x21\xfa\x98\x5a\xf5\x37\xbe\x7c\x35\xef\x0d\x2e\xfa\x97\xd3\xc1\xe8\x72\x1a\xec\x71\x9b\xae\x48\xcc\x37\xe8\x7c\x3b\x0c\x85\x9e\xf7\x7d\x39\x1a\x7b\x6e\xdb\x28\xf5\x14\xbe\xb2\xdc\xa9\x0a\x3b\x3f\xbe\x7c\x85\x58\x69\x0f\x18\xa2\xe3\x5e\xd4\x0c\xa0\x5c\xcc\xb2\x5f\x66\x62\x13\x78\x79\xbd\xed\x3c\xe1\x63\x00\x0c\x93\x0b\x65\xa0\xd1\x59\xb1\x0c\x71\x24\x73\x99\xec\xa3\xc8\xed\x68\x2e\xd5\xd3\x3c\x0d\x6e\x7a\xbf\x42\x94\x64\x2a\x97\x8e\x66\xf6\x2d\xab\x1e\xa6\xa7\x95\x27\x18\x58\x95\x00\xa3\xdd\x03\x78\x14\xec\xf4\x34\x2c\x51\x1c\xf9\xd2\x3e\x26\x2c\x35\xea\xd6\xa0\xd9\x1a\xd3\x5c\x8f\x2f\x97\x2c\x63\x69\x54\x44\x58\x6c\x6c\xd6\x18\x5a\x19\xbb\x76\x64\xc1\xd4\xad\x26\xf0\x52\x55\x39\xa5\x65\x58\x88\xda\xc1\x00\x21\x50\x74\x6c\xa9\x5f\x6b\x40\xd2\xb2\x13\xc4\x3f\x6e\xb8\x52\xde\xdc\xad\x3b\x79\xb0\x43\x38\xd0\x17\x4c\x1a\xff\x8c\xc5\xa4\x3e\x61\xb9\xb7\xa9\xde\x9d\x20\x2a\xdb\x61\x01\x95\x6b\xbe\x25\x52\x6c\x40\xa5\x94\x7c\x91\xec\xc9\x2e\x4d\x19\x03\xce\x69\xb6\x5e\xef\x72\xc6\xe2\x5d\x64\x93\xf5\x9e\x02\x24\xad\x37\xbc\x3d\xe0\xba\x79\x2d\x6e\xb1\x64\xa9\xed\x53\x09\xc4\xff\x3a\x83\xb8\xcc\x6f\x9f\xeb\xff\x8d\xb2\x98\xa7\x34\xdb\x93\xaf\x53\x91\x3e\x5d\x08\xf5\x0d\x30\x6f\x2c\xa7\x0e\xd9\x2d\x26\x4d\x71\x4b\xa5\x24\xdf\x3e\x7f\xfa\xed\xf3\xe7\xf5\xf8\x7a\x5f\x9c\xd1\x98\x65\x92\x4b\x05\x15\xd7\x5c\x78\x11\x94\x68\x33\xf3\x79\xff\xee\x9b\xf6\x6e\x0e\xf3\x9b\xcf\xad\x40\xd7\xf7\xf5\x01\xae\x5e\x0c\x07\xdd\xf9\xab\xc9\xe8\x6a\x3c\xbf\xec\xd4\x06\xaa\x77\x88\xaf\xf8\x0d\xe5\x09\x5d\x04\x9f\xef\x97\x93\xd1\x85\xab\xc3\xaa\xdf\x94\xde\x60\xda\x79\xe1\x13\xe7\x0a\x85\x92\x76\x92\xc1\x53\x6a\x8d\xe2\x1b\x9e\x16\xad\xa2\x21\x41\xf7\x01\x30\x07\x27\xd3\xc1\x14\xab\x31\x0f\x2e\xfa\xd3\x59\xe7\x62\x1c\x2a\x55\xec\xa3\xba\xa6\xda\x2f\xde\xbe\x83\xe1\x99\xbe\xde\x0f\x22\xee\x5e\xf6\x7b\xf3\xde\xa0\x33\x1c\xbd\x6a\x53\x60\xd8\x60\x11\x63\x45\x92\xd0\x16\x4f\x3a\x97\xaf\xfa\xe1\xf8\x38\xbb\xc5\x19\xa4\x3f\xe6\xbb\x5b\x79\x65\x0e\x3d\x2f\x4d\xef\xca\x2b\xad\x62\xb2\xdb\xfc\x32\xb7\xf5\x62\x97\x6e\xb3\x27\xc3\xc7\xc3\x3f\xf5\x5f\x91\x97\x17\x46\xbb\x03\xeb\x38\xb1\xd7\xc2\xcf\x36\x67\xd3\xfb\x59\xea\x56\xc9\xb9\x12\x8a\x26\xf3\xc0\xfb\xf0\x52\x64\x64\x49\xa5\xc2\x91\x78\xba\xfa\x81\xf0\x65\xa1\x16\x75\x1a\x93\xad\x92\xe4\xff\x4f\x2a\x3d\x91\xbf\xec\x9e\x3f\xff\x3e\x02\x71\x56\x31\xfd\xf5\xcc\x4e\xf6\x3c\x97\x30\x66\x42\x0c\x45\xba\x82\x50\x89\x24\x29\x66\x5f\x9c\x4f\xf9\x66\x9b\xec\x89\x62\x49\x22\x4b\xe9\xe8\x98\x36\x68\xc2\x2e\x2a\x02\x0b\x5f\x6a\x11\x9e\x4b\xb2\x00\xd4\x74\x4c\xa2\xa8\xcc\x6c\x80\xba\x4e\x3e\xb1\x42\xed\x61\xf2\x35\x4c\x9b\x91\xff\xe3\x77\xf0\xf0\x3d\xff\xe6\xcc\xd4\xa0\xd5\x07\x82\x93\x8c\xd9\x92\x42\xbd\x6c\x61\x5e\xc7\xe7\xc7\x3b\x7e\x82\x3b\x01\x87\xf2\x8b\xef\xc8\xff\x74\x3f\x47\xee\x7f\x18\xbf\x75\x3c\xa3\x73\x35\x7b\x3d\xff\xb1\xff\x66\x3e\xee\x4f\x9a\x8a\x67\x29\xb6\xd9\x8a\x4c\xcb\x04\x74\xa7\xd6\x90\x49\x6d\x9d\x96\x0b\x9e\xc6\x28\x0e\x40\xa4\x0b\xcb\x36\x34\x85\xc2\xc9\xb6\xa1\x12\xf0\x68\xa8\x35\x93\x36\x29\x46\x9e\x87\x9e\xd4\xde\xe5\xfc\xa2\x3f\x7b\x3d\x0a\x3f\x15\x39\x8a\x30\x66\x92\x15\xf4\x1d\xc0\x26\xe8\xf6\x2e\x49\xaf\x1b\xce\x75\xec\x07\x96\xd9\xd3\x82\xee\xd1\xaf\xc2\xe9\xbd\x38\x15\x7e\x3e\x55\x86\x7d\xd6\x59\x39\x7e\x0a\x6a\x07\x34\xa8\x04\x9c\x3f\xc1\x41\x20\xfc\x5e\xab\x1c\x71\x5a\x41\x7c\xaf\x7f\xab\xa7\xa2\x89\xdb\xd4\x40\x9b\x77\x7b\x97\xef\xdf\x81\xa1\xa1\x75\xd8\x53\xec\x03\x8a\xe3\x09\x9b\x07\x7c\xbb\x2f\x11\xa5\x5d\x7f\x6b\x29\x2a\x0f\x59\xba\x52\x6b\xbd\x6a\x80\x3d\x47\x37\x3c\x4e\xb9\x75\x72\x16\x06\xf9\xb4\xe9\xe3\x1f\xbe\x0d\x7d\x4d\xe5\xba\x54\x80\x28\xd4\xc2\xfb\x12\x4f\x5f\x77\xbe\xfb\xfd\x1f\xc8\x1a\x9a\x20\xca\x1e\xcb\xf8\x72\x0f\xb9\xb4\x66\x16\x2c\x2e\x6c\x7e\xdb\xca\x44\x77\xda\xfc\x63\xf7\x0c\xcc\x35\x26\x4a\xce\xa2\x0c\xac\x30\x99\xdc\x2c\xe9\xd8\x60\x8c\x07\x66\x2d\x93\x69\x67\xde\xeb\x77\x27\x6f\xc6\xb3\x90\x55\xd4\x61\x49\x4f\xa6\x1d\x28\x61\x6e\x80\x29\x96\x94\x27\xb9\x28\x66\x8f\x38\x78\xa5\xfc\xf7\xc9\x5e\xdb\x48\xa4\xc0\x1a\x40\x51\xbf\x5d\x8b\xc4\x94\x28\x10\x19\xe1\x4a\x42\x4e\x84\x4f\x3f\x8f\xd3\xb9\x01\x2e\x68\x76\x40\xe5\xa6\x01\x83\x79\x60\x7e\x25\x61\x77\x2c\x5d\xb5\x96\x8e\x80\x96\x4e\x4d\x08\x3b\x98\x48\xba\xd8\x1b\xdd\xb9\x29\x81\xd4\xe6\xab\x05\x98\x91\xfb\x7c\x7c\xa6\x67\x71\xf8\x50\x86\xe7\x36\x63\x11\x97\x1e\xc1\xb9\xc7\x25\x84\x69\x81\xb1\x21\x5a\xb3\xe8\x5a\x12\x91\x12\x14\xe3\xb4\x80\x87\xe3\x63\x04\x8a\x16\xe3\xb0\xa8\xbe\xe6\x1f\xec\x2d\xdd\x6c\x13\x53\xf0\x35\x63\x74\x83\x89\x15\x90\xde\x75\xcd\xf6\x90\x0c\xd4\xee\x5a\x9e\xb0\x04\xf2\x29\x99\x0a\xfe\x50\x4a\x90\x9a\xf4\x5f\xce\xaf\xc6\xaf\x26\x9d\x5e\x7f\x7e\xd9\xef\xf7\x42\xb0\x45\x78\x6f\xd7\xd4\x92\x90\x8d\xdf\x81\xba\x4c\xb1\x81\x75\xb1\x20\x26\x9a\x54\x01\x73\x4d\x8b\xad\x21\xd5\x13\x5d\x23\x2d\x1d\x01\xe8\x22\x69\xe1\x6c\x82\x5e\x27\xfd\x97\xfd\x49\xff\xb2\xdb\x9f\xff\x67\x6f\xb7\xe5\x09\x12\xf6\x76\xcb\x21\x03\x9b\x2b\x47\x1f\x19\x5b\x66\x4c\xae\x83\xa6\x84\xca\x38\xfd\x3f\x8f\xbd\x91\x7a\x2f\x5b\x8d\xc4\x54\xb4\xc6\x8c\x37\xfc\xb5\xa9\x91\x72\x38\x87\x6f\xee\xba\x0e\x65\xcb\x0e\x2e\x06\x2d\x2d\xca\x78\x99\x0f\x6e\xf0\x43\xe5\xdf\xde\xbb\xb1\x67\xf4\xf2\x65\x6b\x6b\xba\x61\x5f\x0f\xef\x20\xad\xbf\xd6\x0d\xf2\xda\x3d\x09\x6b\x4e\x4c\xab\x20\x1f\x34\x3e\x35\x1f\x26\x7a\xad\x98\xe1\x02\x77\x92\xba\xee\x81\xc4\xca\xfb\xfc\x33\x5b\x2c\x43\x82\x91\xfd\xd6\x4a\x36\x4a\xc9\xeb\xd9\x6c\xec\x64\x23\x0a\x92\xd1\x99\x7e\xca\xb6\x99\x78\xbb\xb7\x19\xae\x06\x42\x8d\xa8\x75\x26\x76\xab\xb5\x83\x7c\xba\x0b\xfe\xc4\x07\x8a\x0d\xb3\xbc\xda\xd4\xf1\xaa\xc8\x31\xd2\xc3\xe3\x1e\x6a\xc6\xf0\x3f\x82\x5a\x64\xb5\x81\xe7\x78\xf1\x8c\x28\xb1\x4d\xcb\x6e\x2a\xbb\x69\x56\x82\x6f\x6f\x98\xbc\x4f\x3d\xd3\x50\x52\xe8\x97\x76\x11\xbe\x1f\x1f\x3a\x90\xfb\xd5\x3d\x24\xbd\x61\x2f\xf8\xca\xe5\xd4\xd7\x0e\xa4\xda\xa0\xee\xb1\xa5\x37\x4c\x9a\x2b\x85\x47\x91\xd0\x6c\x65\xa8\xf7\x6b\x71\xc3\x32\xf2\xed\xf3\x8b\x05\x64\x96\xf3\xbf\xb3\x6f\x0c\x35\x42\x41\x9d\x02\x0c\xa6\xc8\x63\x15\x9c\xd4\x56\x3b\x0d\x20\xe7\xfa\x76\xbe\x40\x17\x56\x4c\x15\x3d\xc3\x79\x98\xcb\xef\x49\x42\xd0\xe7\xd9\x80\xc0\x67\x04\x96\xb3\xaa\xe7\x1f\x05\x29\x7f\x77\x5b\xb3\x71\x15\xcb\x8d\x9e\x87\xd4\x07\xad\x25\x08\x6f\x19\x94\x33\x4b\x5e\x8a\x26\xd0\x8b\x67\x6d\x33\xfd\xb1\x90\x7e\x85\xcd\x4e\x28\xa3\xde\x75\xde\x20\xd0\x97\xe5\x41\x38\xa1\x03\x25\xf9\xf3\x5e\x9b\x66\x9c\x77\x67\xe6\x7e\xc4\x6c\x21\x9d\x5e\xcb\xea\xaf\x3c\x37\x68\x5c\x9f\xb0\x26\x5e\x10\xa4\x31\x86\xb8\xe5\x00\xed\xa5\xe4\x7c\x90\x23\x16\x31\x1b\x8d\xe6\x2f\x06\xbe\xc8\x90\x42\x35\xbf\xd2\xa6\x1b\x73\x78\x8d\x09\x34\x73\x80\xf6\xd7\x1f\x06\x33\xa5\x07\xd6\x10\xe8\x60\x40\x2c\xef\xf1\x8a\xe3\xed\x36\x8c\x7f\x8b\xd3\xba\xd3\x35\x67\xa9\xe2\x4b\xce\xb2\x0f\xbf\xed\x97\xbb\x0d\xcb\x78\x44\x13\xa3\x56\x85\xa6\xd6\xfa\xaa\x9e\xda\x6d\xfa\xab\x89\x18\x05\x6b\xf2\xcb\x5d\x92\x5c\xc9\x52\xd9\xe7\xfa\xb7\xa0\x64\x06\xf0\x12\x2e\x4c\x0c\x72\x1f\x17\x7b\x32\xe8\xb5\x84\x4e\xba\x1b\x6c\xd5\x83\xe7\xcc\xdf\xbb\x22\x74\x2f\x11\x77\xee\x58\xf4\xae\x49\xdf\x79\xe1\x87\xe0\x61\x2d\xa8\xe4\x51\xe1\xa4\x68\x14\x89\xcc\xde\x68\x44\xd2\xcb\xef\x51\x5b\x74\xb9\x61\x11\xe3\xad\xf0\xf3\xcf\xc4\x9e\xf4\x70\xb8\x0c\xa3\xcb\xcb\x7e\x17\xc4\xf1\xcb\x91\xbe\xcc\x03\x1f\x34\x6b\xd7\xc1\xea\x83\x3f\x15\x41\x0e\x13\xfe\xf7\x20\xa5\x61\x09\xcb\x61\xe7\x4d\xdb\x80\xc0\x84\xee\xdb\x3c\xb6\x1f\x72\x25\x72\xe2\x95\x4c\x4d\x59\xb4\xcb\xd8\x4f\x34\xd9\xb1\xbe\x21\x88\x0a\x21\x7b\x1b\xd5\x88\xfa\x32\x87\x40\x07\xd2\x73\x00\xe8\x12\x90\xc9\xa9\x94\x5b\x01\x08\x55\x80\x79\x6a\x52\x09\x24\x9a\x4f\x91\x12\x89\xc5\xbd\x45\x8f\xb1\xde\xdf\x05\x23\x60\x64\xc5\xe2\x3b\x12\x8b\x20\xe1\xcd\x18\x9b\x1e\x1d\x2e\xed\x5e\xec\x0a\x90\xe8\xa6\x4b\x9a\x69\xde\xfb\x96\xc5\xe4\x6b\x78\x7c\x8c\xec\x6a\xdf\x4a\x74\x50\xeb\x27\x15\xf5\x74\xdd\x87\xd5\x28\xf3\x6e\x90\xa2\x51\x36\xf9\xe6\xfc\xc9\x99\x66\x93\x26\xd1\x02\xbb\x81\x29\xe0\xec\x54\xb9\xa8\x20\xa0\x1e\x6b\x9a\x94\x54\x71\x69\x21\xe2\x15\x4d\x63\x9a\xc5\x52\x8f\x97\x81\x8b\x9e\x47\xcc\x66\x28\xa2\xd9\x82\xa6\x7b\x82\xd5\x07\xce\xc9\xcb\xdc\x66\x0c\xa9\x8c\x94\x2c\x78\xa6\xd6\x31\xdd\x23\x7c\xb2\x64\x6c\xe3\xe8\xe5\x8c\x14\xa7\x12\x8b\x68\x87\x15\xd8\x24\x59\x24\xbb\x2c\xdb\xc3\xf7\x88\xa6\x44\xae\xc5\xad\x24\x4c\xd3\x84\x96\xa2\xf5\x8e\xd0\xcd\x16\x8a\xa6\x9f\x11\xa6\xa2\x73\x32\xdd\x6d\xb7\xc9\x1e\x8f\x28\x66\x8a\xf2\x44\xda\x9c\x2c\xb3\x2f\x79\x35\xfa\x0d\xbd\x66\x44\xee\x32\x96\x2f\xfd\x3a\xd5\x03\xac\xc5\xad\xfe\x1e\x89\x2c\x63\x11\x52\x04\x96\x00\x6d\xab\x3b\x5a\xd2\xa9\xb3\x3f\xe6\xe8\xb5\x4c\xfc\x8e\x44\xcb\x22\x46\xa8\xa6\xbe\xaf\xf8\xe3\x81\x17\xef\x1e\xde\x8f\x7f\xfc\xe3\xff\xf7\xff\x05\x00\x00\xff\xff\xe1\x3a\xe8\x5e\x9d\xb3\x09\x00") func _schema121JsonBytes() ([]byte, error) { return bindataRead( @@ -92,7 +92,7 @@ func _schema121Json() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "_schema/121.json", size: 652859, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "_schema/121.json", size: 635805, mode: os.FileMode(420), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/links.go b/links.go new file mode 100644 index 0000000..1edb585 --- /dev/null +++ b/links.go @@ -0,0 +1,22 @@ +package getdoc + +import ( + "net/url" +) + +func addHost(hrefs []string) (s []string) { + for _, href := range hrefs { + u, err := url.Parse(href) + if err != nil { + panic(err) + } + + if u.Host == "" { + href = "https://core.telegram.org" + href + } + + s = append(s, href) + } + + return +} diff --git a/method.go b/method.go index 89b29b1..fce75e9 100644 --- a/method.go +++ b/method.go @@ -10,10 +10,11 @@ import ( // Method represents method documentation. type Method struct { - Name string `json:"name"` - Description []string `json:"description,omitempty"` - Parameters map[string]string `json:"parameters,omitempty"` - Errors []Error `json:"errors,omitempty"` + Name string `json:"name"` + Description []string `json:"description,omitempty"` + Links []string `json:"links,omitempty"` + Parameters map[string]ParamDescription `json:"parameters,omitempty"` + Errors []Error `json:"errors,omitempty"` } // Error represent possible error documentation. @@ -55,9 +56,12 @@ func ParseMethod(reader io.Reader) (*Method, error) { if err != nil { return nil, errors.Errorf("failed to parse document: %w", err) } + + desc, links := docDescription(doc) return &Method{ Name: docTitle(doc), - Description: docDescription(doc), + Description: desc, + Links: links, Parameters: docParams(doc), Errors: docErrors(doc), }, nil diff --git a/method_test.go b/method_test.go index f496da2..c2c97f7 100644 --- a/method_test.go +++ b/method_test.go @@ -23,10 +23,10 @@ func TestParseMethod(t *testing.T) { expected := &Method{ Name: "langpack.getDifference", Description: []string{"Get new strings in languagepack"}, - Parameters: map[string]string{ - "from_version": "Previous localization pack version", - "lang_code": "Language code", - "lang_pack": "Language pack", + Parameters: map[string]ParamDescription{ + "from_version": {Description: "Previous localization pack version"}, + "lang_code": {Description: "Language code"}, + "lang_pack": {Description: "Language pack"}, }, Errors: []Error{ {Code: 400, Type: "LANG_PACK_INVALID", Description: "The provided language pack is invalid"}, diff --git a/type.go b/type.go index d001287..c863de5 100644 --- a/type.go +++ b/type.go @@ -10,7 +10,8 @@ import ( // Type represents type (aka class) documentation. type Type struct { Name string `json:"name"` - Description []string `json:"description"` + Description []string `json:"description,omitempty"` + Links []string `json:"links,omitempty"` } // ParseType parses Type documentation from reader. @@ -19,8 +20,11 @@ func ParseType(reader io.Reader) (*Type, error) { if err != nil { return nil, errors.Errorf("failed to parse document: %w", err) } + + desc, links := docDescription(doc) return &Type{ Name: docTitle(doc), - Description: docDescription(doc), + Description: desc, + Links: links, }, nil }