diff --git a/COMMANDS.txt b/COMMANDS.txt new file mode 100644 index 0000000..3140059 --- /dev/null +++ b/COMMANDS.txt @@ -0,0 +1,158 @@ +HELP +The bot will accept teleport lures from the master and members of it's active group. + * about - Shows copyright information. + * activategroup - Sets the active group. Usage: activategroup [groupname] + * activaterole - Activates chosen role on chosen group. Usage: activaterole [role-uuid] (group-uuid) + * addtorole - Adds indicated avatar to chosen role. Usage: addtorole [avatar-uuid] [role-uuid] (group-uuid) + * agentlocations - Downloads the location of every agent in a specified region. Usage: agentlocations [regionhandle] + * allowed - Gets current parcel allowed list. + * animate - Animates the avatar with the specified animation, list system animations or show current animations. Usage: animate [uuid] | [list/show/stop] + * animations - Enables or disables automatic downloading for all visible animations Usage: animations [on/off] + * appearance - Sets the last saved appearance. + * attach - Attaches chosen item to last attachment point. Usage: attach [itemID] + * attachments - Shows a list of current attachments. + * attachmentsuuid - Shows a list of an avatar's attachments. Usage: attachmentsuuid [uuid] + * avatarinfo - Shows information about a nearby avatar. Usage: avatarinfo [firstname] [lastname] + * away - Sets the bot away from keyboard. Usage: away [on/off] + * back - Move the bot backward, a step or a determined number of seconds. Usage: back (seconds) + * backup - Saves contents of cached inventory to your hard disk. Usage: backup [to ] | [abort] | [status] + * backuptext - Saves notecards of cached inventory to your hard disk. Usage: backuptext [to ] | [abort] | [status] + * balance - Shows the L$ balance. + * banlist - Gets current parcel ban list. + * banuser - Ejects and bans indicated user from current parcel. Usage: banuser [uuid] + * beam - Beams at specified object or avatar. Usage: beam [uuid]/[firstname] [lastname] + * busy - Set the bot as busy. Usage: busy [on/off] + * buy - Buyes a specified object. Usage: buy [uuid] + * camerafar - Show or change the current camera distance. Usage: camerafar [distance] + * cd - Changes current inventory folder. cd [path] + * changelog - Shows the bot version and changelog. + * changeperms - Changes the permissions of an object and it's task inventory contents. Usage: changeperms [prim-uuid] (copy) (mod) (xfer) + * clienttags - Shows all known client tags and client names. + * clock - Shows current time in local, UTC, GMT and PST zones. + * clone - Clones the appareance of a nearby avatar. Usage: clone [name] + * cloneprofile - Clones another avatars profile as closely as possible. WARNING: This command will destroy your existing profile! Usage: cloneprofile [uuid] + * createclothing - Creates a new clothing with the indicated parameters. Usage: createclothing help + * createeyes - Creates new eyes with the indicated texture. Usage: createeyes [name] [uuid] + * createlm - Creates a new landmark with the current position. + * createnotecard - Creates a notecard from a text file. Usage: createnotecard filename.txt + * createskin - Creates new skin with the indicated texture. Usage: createskin [name] [face-uuid] [upper-uuid] [lower-uuid] + * crouch - Starts or stops crouching. Usage: crouch [start/stop] + * detectbots - Shows posible bot avatars. + * dilation - Shows time dilation for current sim. + * downloadanimation - Downloads requested animation by UUID Usage: downloadanimation [uuid] + * downloadsound - Downloads requested sound by UUID Usage: downloadsound [uuid] + * downloadterrain - Download the RAW terrain file for this estate. Usage: downloadterrain [timeout] + * downloadtexture - Download specified texture by UUID. Usage: downloadtexture [texture-uuid] + * dumpattachment - Exports specified avatar's attachment to the hard disk. Usage: dumpattachment [avatar-uuid] [attachment-point: RightHand,LeftHand,Skull,LeftEyeball,RightEyeball,LeftFoot,RightFoot,RightEar,LeftEar,LeftHip,RightHip,LeftUpperLeg,RightUpperLeg,RightLowerLeg,LeftLowerLeg,RightForearm,LeftForearm,Nose,RightShoulder,LeftShoulder,RightPec,LeftPec,Chin,RightUpperArm,LeftUpperArm,Spine,Chest,Pelvis,Stomach,Mouth] + * dumpattachments - Exports all the attachments of an avatar. Usage: dumpattachments [uuid] + * dumpoutfit - Dumps all of the textures from an avatars outfit to the hard drive. Usage: dumpoutfit [avatar-uuid] + * echoMaster - Repeat everything that the master says. + * ejectuser - Ejects indicated user from current parcel. Usage: ejectuser [uuid] + * emptylostandfound - Empty the Lost & Found folder contents. + * emptytrash - Empty the trash folder contents. + * endfriendship - Ends friendship with given avatar. Usage: endfriendship [name] [lastname] | [uuid] + * export - Exports an object to a xml file. Usage: export [uuid] [outputfile.xml] + * exportoutfit - Exports an avatars outfit to an xml file. Usage: exportoutfit [avataruuid] outputfile.xml + * exportparticles - Reverse engineers an object's particle system to an LSL script. Usage: exportparticles [uuid] + * findobjects - Finds all objects, which name contains search-string. Usage: findobjects [radius] [search-string] + * findsim - Searches for a simulator and returns information about it. Usage: findsim [Simulator Name] + * findtexture - Checks if a specified texture is currently visible on a specified face. Usage: findtexture [face-index] [texture-uuid] + * fly - Starts or stops flying. Usage: fly [start/stop] + * flyto - Fly the avatar toward the specified position for a maximum of seconds. Usage: flyto x y z (seconds) + * follow - Follows another avatar. Usage: follow {[firstname] [lastname]|me|stop}) Use "me" to make it follow you, "stop" to stop following. + * forward - Move the bot forward, a step or a determined number of seconds. Usage: forward (seconds) + * friends - Shows bot's friends. + * gc - Starts a garbage collection. + * gesture - Makes the bot play the specified gesture. Usage: gesture [uuid] + * give - Give items of the current folder to an avatar. Usage: give [agent uuid] [item1] (item2) (item3) (...) + * gohome - Teleports home. + * goto - Goes to a sim using a teleport. Usage: goto sim/x/y/z + * gotolm - Goes to a landmark destination using a teleport. Usage: gotolm [uuid] + * gridlayer - Downloads all the grid map layers. + * gridmap - Downloads all visible information from the grid map. + * groupeject - Ejects a member of a group. Usage: groupeject [avatarid] (groupid) + * groupmembers - Shows group members. Usage: groupmembers GroupName + * grouproles - Shows group roles. Usage: grouproles GroupName + * groups - Shows groups the bot belongs to. + * gsit - Sits on ground. Use stand command to stand up. + * health - Shows current health. + * help - Shows the available commands. + * help2nc - Creates a notecard with the help and sends it to the master. + * i - Shows and caches the inventory. + * im - Sends an instant message. Usage: im [firstname] [lastname] [message] + * imgroup - Sends an instant message to a group. Usage: imgroup [group_uuid] [message] + * import - Imports prims from a XML file. Usage: import [filename] (usegroup) + * informfriend - Enables saying when a friend goes online or offline. Usage: informfriend [on/off] + * invitegroup - Invites avatar to current group at chosen role or to the default one. Usage: invite [av-uuid] (role-uuid) + * joingroup - Joins a group. Usage: joingroup [groupname] | joingroup [uuid] + * jump - Jumps. + * key2name - Returns the name of an avatar using its UUID. Usage: key2name [uuid] + * leavegroup - Leaves a group. Usage: leavegroup [groupname] + * left - Move the bot to the left, a step or a determined number of seconds. Usage: left (seconds) + * load - Loads commands from a DLL. Usage: load [assembly.dll] + * location - Shows current location. + * logout - Logouts current avatars. Usage: logout [yes] + * lookat - Looks at specified object or avatar. Usage: lookat [uuid]/[firstname] [lastname] + * ls - List the contents of the current inventory folder. Usage: ls ( -l ) + * mapfriend - Finds a friend. Usage: mapfriend [uuid] + * md5 - Creates a MD5 hash from a given password. Usage: md5 [password] + * memfree - Shows currently used memory. + * moveto - Moves the avatar to the specified coordinates, avatar (by id or name), or object (by id). Usage: moveto x y z + * nadu - Sets the bot in nadu position. Usage: nadu [on/off] + * netstats - Provide packet and capabilities utilization statistics. + * objectinventory - Gets a list of an object task inventory. Usage: objectinventory [uuid] + * offerfriendship - Offers friendship to given avatar. Usage: offerfriendship [name] [lastname] | [uuid] + * parceldetails - Show details about the specified parcel. Usage: parceldetails [parcel_id] + * parcelinfo - Prints out info about all the parcels in this simulator + * pay - Pays indicated L$ amount to chosen avatar. Usage: pay [amount] [avatar-uuid]. Amount can be "all", and if avatar is ausent will be paid to master. + * pick - Creates a pick for current position. Usage: pick [description] + * playsound - Makes the bot play the specified sound. Usage: playsound [uuid] + * primcount - Shows the number of prims actually indexed. + * priminfo - Shows info about a specified prim. Usage: priminfo [prim-uuid] + * primowners - Shows a list of how many prims does a user have in a parcel. (Needs permissions) Usage: primowners [parcel_id] + * primregex - Searches for a prim using regular expressions. Usage: primregex [text predicat] + * quit - Closes Natibot and logouts all connected avatars. Usage: quit [yes] + * regioninfo - Shows information about the current region. + * rezitem - Rezzes chosen item 3m up of the bot. Usage: rezitem [itemID] + * right - Move the bot to the right, a step or a determined number of seconds. Usage: right (seconds) + * rmdir - Move an inventory folder to the Trash. Usage: rmdir [folder] + * say - Says something on general chat or option channel. Usage: say (optional channel) [message] + * script - Executes a series of commands from a given text file. Usage: script [filename] + * searchclassifieds - Searches Classified Ads. Usage: searchclassifieds [search text] + * searchevents - Search for events on the list. Usage: searchevents [search text] + * searchgroups - Searches groups. Usage: searchgroups [search text] + * searchland - Searches for land for sale, for usage information type: searchland + * searchpeople - Searches for other avatars. Usage: searchpeople [search text] + * searchplaces - Searches Places. Usage: searchplaces [search text] + * selectobjects - Shows a list of prims in parcel that belong to a specified avatar. Usage: selectobjects [parcel_id] [avatar_uuid] + * sendtp - Sends a teleport lure to the indicated avatar or to the master. Usage: sendtp (avatar-uuid) + * sethome - Establishes current location as home. + * setmaster - Changes master by name. Usage: setmaster [name] + * setMasterKey - Changes master by key. Usage: setmasterkey [uuid] + * shout - Shouts something on general chat or option channel. Usage: shout (optional channel) [message] + * showeffects - Shows the viewer effects on the console or not. Usage: showeffects [on/off] + * showevent - Shows details about an event. Usage: showevent [eventID] (use searchevents to get ID) + * sit - Sits on the nearest prim. + * siton - Sits on requested object. Usage: siton [uuid] + * sounds - Enables or disables automatic downloading for all hearable sounds Usage: textures [on/off] + * stand - Stands up. + * stats - Shows statisticals about connection. + * takeitem - Takes a specified object to the inventory. Usage: takeitem [uuid] + * taskrunning - Retrieves or set IsRunning flag on items inside an object (task inventory). Usage: taskrunning [objectID] [[scriptName] true|false] + * textures - Enables or disables automatic downloading for all viewable textures Usage: textures [on/off] + * touch - Touches a specified object. Usage: touch [uuid] + * translate - Translates given text from one language to another. Usage: translate [fromlanguage] [tolanguage] [text] + * tree - Rezzes a tree. + * turnto - Turns the bot looking to a specified point, avatar (by id or name), or object (by id). Usage: turnto [x y z]/[uuid]/[avatar] + * upload - Uploads an item to the asset. Usage: upload [inventory_name] [filename] + * uploadimage - Upload an image to the asset server. Usage: uploadimage [inventory_name] [filename] + * uploadterrain - Upload a raw terrain file to the simulator. Usage: uploadterrain [filename] + * uptime - Shows time from login. + * version - Shows NatiBot and current simulator versions. + * viewnote - Shows an inventory notecard. Usage: viewnote [uuid] + * voiceaccount - Obtain voice account info. Usage: voiceaccount + * voiceparcel - Obtain parcel voice info. Usage: voiceparcel + * wear - Wears an outfit folder from the inventory. Usage: wear [outfit] (nobake) + * whisper - Whispers something on general chat or option channel. Usage: whisper (optional channel) [message] + * who - Lists viewable agents. + * wind - Shows the local wind speed. \ No newline at end of file diff --git a/DISCLAIMER b/DISCLAIMER new file mode 100644 index 0000000..d1f6c33 --- /dev/null +++ b/DISCLAIMER @@ -0,0 +1,6 @@ +Claunia.com and/or Natalia Portillo, as well as any of their friends, +collaborators, employees, employers and/or affiliates take any +responsibility, past, present, or future, of any use of this code for +purposes that are illegal in any country. + +That is the sole responsibility of the user. diff --git a/InstallShield/InstallShield.isl b/InstallShield/InstallShield.isl new file mode 100644 index 0000000..b24aa08 Binary files /dev/null and b/InstallShield/InstallShield.isl differ diff --git a/InstallShield/InstallShield.isproj b/InstallShield/InstallShield.isproj new file mode 100644 index 0000000..66d2a3d --- /dev/null +++ b/InstallShield/InstallShield.isproj @@ -0,0 +1,30 @@ + + + + Express + + Debug + $(Configuration) + + + + + + + + + + + + + + + + + + diff --git a/Installer/Installer.vdproj b/Installer/Installer.vdproj new file mode 100644 index 0000000..6a56a0d --- /dev/null +++ b/Installer/Installer.vdproj @@ -0,0 +1,1469 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:Installer" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_9F6EA2B8AB077EAAB49EBAAD0F75E2B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "OwnerKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_02CB63FB1CED12F39DC70FF7EBF85659" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "OwnerKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "OwnerKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "OwnerKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_52B8383EC78F460A80E89EC21FFFE8B3" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "OwnerKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "OwnerKey" = "8:_9F6EA2B8AB077EAAB49EBAAD0F75E2B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "OwnerKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9F6EA2B8AB077EAAB49EBAAD0F75E2B5" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A65491CC637A98A2EAA448148940C079" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A94475447B7845D09BBFEDE1C26DCC0E" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E72F1AFAE8B93C8CD921FBCE8AED2ECD" + "OwnerKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "OwnerKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "OwnerKey" = "8:_9F6EA2B8AB077EAAB49EBAAD0F75E2B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EAF2A04DC8147F7979EA8F6BDDBE3003" + "OwnerKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_F7E06921729F6F20F226AFE2C1F4C7D8" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FAC089BED419702E044C327505AEAFC6" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FF039875EBE9A6F7B20EC67511A7853B" + "OwnerKey" = "8:_F7E06921729F6F20F226AFE2C1F4C7D8" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FF039875EBE9A6F7B20EC67511A7853B" + "OwnerKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FF039875EBE9A6F7B20EC67511A7853B" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_02CB63FB1CED12F39DC70FF7EBF85659" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_8674B8A3F0664CAB813460F394FEC572" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_1EB748FB8786DFD48E09B77BA399074E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_9F6EA2B8AB077EAAB49EBAAD0F75E2B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_EAD6EAB62831D6F10498C0E5ACFBE375" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_A65491CC637A98A2EAA448148940C079" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_839ED1ADBC5A97A4982EA2C434BD9D61" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_99ED06488DF8155BF4C77BFA6224E02B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_0A50018584DFC42FE9E7142F93A0E186" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_007306FCFF9665139B17F933F9DA44A3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_E72F1AFAE8B93C8CD921FBCE8AED2ECD" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_EAF2A04DC8147F7979EA8F6BDDBE3003" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_F7E06921729F6F20F226AFE2C1F4C7D8" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_FF039875EBE9A6F7B20EC67511A7853B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_FAC089BED419702E044C327505AEAFC6" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\Installer.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1" + { + "Name" = "8:.NET Framework 3.5 SP1" + "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\Installer.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:3" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1" + { + "Name" = "8:.NET Framework 3.5 SP1" + "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_0C44697996374E608DECA29550963E92" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "Version" = "8:3.5.30729" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617" + } + } + } + "File" + { + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_007306FCFF9665139B17F933F9DA44A3" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverseTypes, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverseTypes.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_02CB63FB1CED12F39DC70FF7EBF85659" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Claunia.clUtils, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:Claunia.clUtils.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0A50018584DFC42FE9E7142F93A0E186" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverse.StructuredData, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverse.StructuredData.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1EB748FB8786DFD48E09B77BA399074E" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverse.Utilities, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverse.Utilities.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_52B8383EC78F460A80E89EC21FFFE8B3" + { + "SourcePath" = "8:..\\bin\\openjpeg-dotnet-x86_64.dll" + "TargetName" = "8:openjpeg-dotnet-x86_64.dll" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_839ED1ADBC5A97A4982EA2C434BD9D61" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverseCore, Version=0.0.0.392, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverseCore.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8674B8A3F0664CAB813460F394FEC572" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:NatiBot, Version=0.9.3.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_8674B8A3F0664CAB813460F394FEC572" + { + "Name" = "8:NatiBot.exe" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:..\\bin\\NatiBot.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_99ED06488DF8155BF4C77BFA6224E02B" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverse.Http, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverse.Http.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9F6EA2B8AB077EAAB49EBAAD0F75E2B5" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverse.GUI, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverse.GUI.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A65491CC637A98A2EAA448148940C079" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:XMLRPC, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:XMLRPC.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A94475447B7845D09BBFEDE1C26DCC0E" + { + "SourcePath" = "8:..\\bin\\openjpeg-dotnet.dll" + "TargetName" = "8:openjpeg-dotnet.dll" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E72F1AFAE8B93C8CD921FBCE8AED2ECD" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:Mono.Security.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EAD6EAB62831D6F10498C0E5ACFBE375" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:OpenMetaverse, Version=0.0.0.400, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:OpenMetaverse.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EAF2A04DC8147F7979EA8F6BDDBE3003" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:HttpServer, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:HttpServer.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F7E06921729F6F20F226AFE2C1F4C7D8" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Meebey.SmartIrc4net, Version=0.4.0.403, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:Meebey.SmartIrc4net.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FAC089BED419702E044C327505AEAFC6" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:clControls, Version=0.0.0.0, Culture=neutral, PublicKeyToken=89d33483da2910a1, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:clControls.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FF039875EBE9A6F7B20EC67511A7853B" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:log4net, Version=1.2.10.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:log4net.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_2FDC48CF8CF542FAB8234943A44D4761" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_60605307ED1C4469A701B36B85FDF602" + { + "Name" = "8:Claunia.com" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_984238109ECB4D54A28D4E7D73ACFF4A" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_D322657D4518468E9B00306DACB371C3" + { + "Name" = "8:NatiBot" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_DF8B29DAC3FE4811A341E402B74E86CB" + "Folders" + { + } + } + } + } + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_94AA5C63D5074A68A5777BC9FD1C4F4A" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_FF651E4E54634266B462F0ECE938D588" + { + "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:NatiBot" + "ProductCode" = "8:{5CFF0660-A0CE-40B2-8F0C-51982D37C571}" + "PackageCode" = "8:{8CC8308A-7D8D-4933-8A9F-02E128BF8DCA}" + "UpgradeCode" = "8:{52D0590A-7742-42A1-A915-2042A611495F}" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:0.9.3" + "Manufacturer" = "8:Claunia.com" + "ARPHELPTELEPHONE" = "8:0034928296345" + "ARPHELPLINK" = "8:http://www.natibot.com" + "Title" = "8:Installer" + "Subject" = "8:" + "ARPCONTACT" = "8:Claunia.com" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:http://www.natibot.com" + "ARPPRODUCTICON" = "8:_8674B8A3F0664CAB813460F394FEC572" + "ARPIconIndex" = "3:32512" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_88E1045C127B41A7A5BB9F25FC60354E" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4FCCDE3EF2424EA4A6671525A8B2CAA2" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0C6627858EE14ABC880F5BBADA5C60CA" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B48BC3E9A6D8403BBE6828A69ABD6704" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_052840987966460287A8804CEA2F5023" + { + "Name" = "8:NatiBot 0.9" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:32512" + "Transitive" = "11:FALSE" + "Target" = "8:_8674B8A3F0664CAB813460F394FEC572" + "Folder" = "8:_D322657D4518468E9B00306DACB371C3" + "WorkingFolder" = "8:_FF651E4E54634266B462F0ECE938D588" + "Icon" = "8:_8674B8A3F0664CAB813460F394FEC572" + "Feature" = "8:" + } + } + "UserInterface" + { + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_018F87F56FB44F7DB41CCF7A7D5D208E" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0FBDC7C3F77444529483E7EE641FE394" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_152EE276910B476F9A272C6DAB7B86C9" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4E02F93E17044EFC9B5A531B05407EAD" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7841F581C7324F54BB43BD76B5904330" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_4A748B15AEF04CD68FD40F1171974424" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3FED373559F54BE5A0F405C9E5623E49" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9CBB89E4D0964A55A78324E9E5AD3DFA" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_ECCA69871D00406AA8656B527AB8A642" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5B096DECA50042CF8141BE3B03BF77A8" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_41DADF4FBD0542CA8F81DDEE4EDFB074" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C7F97CA30B7F4C84A5E0F775AEA3CE5A" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_82DB0D8289C242268CDC6BF912E3230D" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_DEE09D6DEE2E4F5B8F8E3EC0FC2B0B6D" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_72F065ED50384E628651A1BC1D4D0203" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_E9F2E88F42AB4451B7CD2A7FEA71A82C" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_ED5CAE2F5EE34967A400B813B4413ED5" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E373967198A6483AAD88B64D54899EB2" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + } + } +} diff --git a/LICENSE b/LICENSE index ef7e7ef..10926e8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -GNU GENERAL PUBLIC LICENSE + GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} + + Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - {project} Copyright (C) {year} {fullname} + Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. @@ -672,3 +672,4 @@ may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . + diff --git a/LICENSE.GFDL b/LICENSE.GFDL new file mode 100644 index 0000000..55a9062 --- /dev/null +++ b/LICENSE.GFDL @@ -0,0 +1,452 @@ + + GNU Free Documentation License + Version 1.3, 3 November 2008 + + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The "publisher" means any person or entity that distributes copies of +the Document to the public. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no +other conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the rules +of this License for verbatim copying of each of the documents in all +other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of the +GNU Free Documentation License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +11. RELICENSING + +"Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +"Massive Multiauthor Collaboration" (or "MMC") contained in the site +means any set of copyrightable works thus published on the MMC site. + +"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +"Incorporate" means to publish or republish a Document, in whole or in +part, as part of another Document. + +An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole or +in part into the MMC, (1) had no cover texts or invariant sections, and +(2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + diff --git a/NatiBot.sln b/NatiBot.sln new file mode 100644 index 0000000..7233645 --- /dev/null +++ b/NatiBot.sln @@ -0,0 +1,977 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NatiBot", "SLBot\NatiBot.csproj", "{9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}" + ProjectSection(ProjectDependencies) = postProject + {89AC992C-5E2C-4E6B-A453-61C1DF446216} = {89AC992C-5E2C-4E6B-A453-61C1DF446216} + {F6A02431-167E-4347-BC43-65532C31CDB7} = {F6A02431-167E-4347-BC43-65532C31CDB7} + {B3FE54E9-312C-4065-9156-B597E05D2BCA} = {B3FE54E9-312C-4065-9156-B597E05D2BCA} + {19607F57-B521-4477-9DE0-F0D9B1A68BC7} = {19607F57-B521-4477-9DE0-F0D9B1A68BC7} + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34} = {455E7D70-1C85-4D7F-9F01-DC801B8B8C34} + {54B78813-5B32-4257-8CF4-5A48C90E58BC} = {54B78813-5B32-4257-8CF4-5A48C90E58BC} + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD} = {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DllOpenJPEG", "libomv\openjpeg-dotnet\DllOpenJPEG.vcxproj", "{89AC992C-5E2C-4E6B-A453-61C1DF446216}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmartIrc4net", "SmartIRC4Net\VisualStudio\2008\SmartIrc4net.csproj", "{19607F57-B521-4477-9DE0-F0D9B1A68BC7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net", "log4net\src\log4net.csproj", "{F6A02431-167E-4347-BC43-65532C31CDB7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse", "libomv\OpenMetaverse\OpenMetaverse.csproj", "{7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}" + ProjectSection(ProjectDependencies) = postProject + {F6A02431-167E-4347-BC43-65532C31CDB7} = {F6A02431-167E-4347-BC43-65532C31CDB7} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse.Http", "libomv\OpenMetaverse.Http\OpenMetaverse.Http.csproj", "{54B78813-5B32-4257-8CF4-5A48C90E58BC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse.StructuredData", "libomv\OpenMetaverse.StructuredData\OpenMetaverse.StructuredData.csproj", "{BED46B2C-D866-4C87-AD31-5C87D00B6E88}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverseTypes", "libomv\OpenMetaverseTypes\OpenMetaverseTypes.csproj", "{B3FE54E9-312C-4065-9156-B597E05D2BCA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpServer", "libomv\HttpServer\HttpServer.csproj", "{455E7D70-1C85-4D7F-9F01-DC801B8B8C34}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse.Utilities", "libomv\OpenMetaverse.Utilities\OpenMetaverse.Utilities.csproj", "{81947E6D-4614-468F-B75B-EE61736D5BAA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clResourceEditor", "clResourceEditor\clResourceEditor.csproj", "{EAD895D3-384F-4078-9603-DAC343E0E89D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clControls", "clControls\clControls.csproj", "{93D3970D-9C6C-4250-BE8F-7CF974DEAB68}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer\Installer.vdproj", "{5CFFE837-B679-4C6C-A223-97A61DD0E11A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clUtils", "clUtils\clUtils.csproj", "{6C115EF9-F48B-4606-9361-B09E337C9705}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DebugHWKey", "DebugHWKey\DebugHWKey.csproj", "{C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}" +EndProject +Project("{6141683F-8A12-4E36-9623-2EB02B2C2303}") = "InstallShield", "InstallShield\InstallShield.isproj", "{8595864B-D0F6-4B1F-853D-0F38E8EE90F8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StatsPostTest", "StatsPostTest\StatsPostTest.csproj", "{8CF624A8-4FE6-41AD-8DDF-B37854E374CB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetZip", "DotNetZip\DotNetZip.csproj", "{0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NatiBotLogReader", "NatiBotLogReader\NatiBotLogReader.csproj", "{DB1A9545-2E68-4857-B776-29F62F8EA21C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + CD_ROM|Any CPU = CD_ROM|Any CPU + CD_ROM|AnyOS = CD_ROM|AnyOS + CD_ROM|Mixed Platforms = CD_ROM|Mixed Platforms + CD_ROM|Win32 = CD_ROM|Win32 + CD_ROM|Win64 = CD_ROM|Win64 + CD_ROM|x64 = CD_ROM|x64 + CD_ROM|x86 = CD_ROM|x86 + Debug|Any CPU = Debug|Any CPU + Debug|AnyOS = Debug|AnyOS + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|Win64 = Debug|Win64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + DVD-5|Any CPU = DVD-5|Any CPU + DVD-5|AnyOS = DVD-5|AnyOS + DVD-5|Mixed Platforms = DVD-5|Mixed Platforms + DVD-5|Win32 = DVD-5|Win32 + DVD-5|Win64 = DVD-5|Win64 + DVD-5|x64 = DVD-5|x64 + DVD-5|x86 = DVD-5|x86 + Release|Any CPU = Release|Any CPU + Release|AnyOS = Release|AnyOS + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|Win64 = Release|Win64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + SingleImage|Any CPU = SingleImage|Any CPU + SingleImage|AnyOS = SingleImage|AnyOS + SingleImage|Mixed Platforms = SingleImage|Mixed Platforms + SingleImage|Win32 = SingleImage|Win32 + SingleImage|Win64 = SingleImage|Win64 + SingleImage|x64 = SingleImage|x64 + SingleImage|x86 = SingleImage|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|Any CPU.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|AnyOS.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|Mixed Platforms.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|Win32.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|Win64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|x64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|x64.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.CD_ROM|x86.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Mixed Platforms.Build.0 = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Win32.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Win64.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x64.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x64.Build.0 = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x86.ActiveCfg = Debug|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x86.Build.0 = Debug|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|Any CPU.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|AnyOS.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|Mixed Platforms.Build.0 = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|Win32.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|Win64.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|x64.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|x64.Build.0 = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.DVD-5|x86.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Any CPU.Build.0 = Release|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|AnyOS.ActiveCfg = Release|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Mixed Platforms.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Mixed Platforms.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Win32.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Win64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x64.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x86.ActiveCfg = Release|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x86.Build.0 = Release|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|Any CPU.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|AnyOS.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|Mixed Platforms.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|Mixed Platforms.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|Win32.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|Win64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|x64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|x64.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.SingleImage|x86.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|Any CPU.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|AnyOS.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|Mixed Platforms.Build.0 = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|Win32.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|Win64.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|x64.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|x64.Build.0 = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.CD_ROM|x86.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|AnyOS.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win32.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win32.Build.0 = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win64.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|x64.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|x86.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|Any CPU.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|AnyOS.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|Mixed Platforms.Build.0 = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|Win32.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|Win64.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|x64.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|x64.Build.0 = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.DVD-5|x86.ActiveCfg = Debug|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Any CPU.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|AnyOS.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Mixed Platforms.Build.0 = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win32.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win32.Build.0 = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win64.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|x64.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|x86.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|Any CPU.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|AnyOS.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|Mixed Platforms.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|Mixed Platforms.Build.0 = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|Win32.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|Win64.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|x64.ActiveCfg = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|x64.Build.0 = Release|x64 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.SingleImage|x86.ActiveCfg = Release|x64 + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Win32.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Win64.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|x64.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|x86.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Any CPU.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|AnyOS.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Win32.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Win64.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|x64.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|x86.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|x64.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.SingleImage|x86.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Win32.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Win64.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|x64.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|x86.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Any CPU.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|AnyOS.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Win32.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Win64.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|x64.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|x86.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|x64.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.SingleImage|x86.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|AnyOS.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|Win32.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|Win64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|x64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.CD_ROM|x86.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|Win32.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|Win64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|x64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Debug|x86.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|Any CPU.Build.0 = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|AnyOS.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|Win32.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|Win64.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|x64.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.Release|x86.ActiveCfg = Release|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|Any CPU.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|AnyOS.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|Win32.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|Win64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|x64.ActiveCfg = Debug|Any CPU + {7F6BF4C6-A0EB-4A18-9968-BD3C42A7B5FD}.SingleImage|x86.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|AnyOS.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|Win32.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|Win64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|x64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.CD_ROM|x86.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|Win32.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|Win64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|x64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Debug|x86.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|Any CPU.Build.0 = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|AnyOS.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|Win32.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|Win64.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|x64.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.Release|x86.ActiveCfg = Release|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|Any CPU.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|AnyOS.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|Win32.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|Win64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|x64.ActiveCfg = Debug|Any CPU + {54B78813-5B32-4257-8CF4-5A48C90E58BC}.SingleImage|x86.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|AnyOS.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|Win32.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|Win64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|x64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.CD_ROM|x86.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|Win32.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|Win64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|x64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Debug|x86.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|Any CPU.Build.0 = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|AnyOS.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|Win32.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|Win64.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|x64.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.Release|x86.ActiveCfg = Release|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|Any CPU.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|AnyOS.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|Win32.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|Win64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|x64.ActiveCfg = Debug|Any CPU + {BED46B2C-D866-4C87-AD31-5C87D00B6E88}.SingleImage|x86.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|AnyOS.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|Win32.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|Win64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|x64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.CD_ROM|x86.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|Win32.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|Win64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|x64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Debug|x86.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|Any CPU.Build.0 = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|AnyOS.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|Win32.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|Win64.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|x64.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.Release|x86.ActiveCfg = Release|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|Any CPU.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|AnyOS.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|Win32.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|Win64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|x64.ActiveCfg = Debug|Any CPU + {B3FE54E9-312C-4065-9156-B597E05D2BCA}.SingleImage|x86.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|AnyOS.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|Win32.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|Win64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|x64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.CD_ROM|x86.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|Any CPU.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|Win32.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|Win64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|x64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Debug|x86.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|Any CPU.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|Any CPU.Build.0 = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|AnyOS.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|Win32.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|Win64.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|x64.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.Release|x86.ActiveCfg = Release|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|Any CPU.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|AnyOS.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|Win32.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|Win64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|x64.ActiveCfg = Debug|Any CPU + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34}.SingleImage|x86.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|AnyOS.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|Win32.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|Win64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|x64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.CD_ROM|x86.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|Win32.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|Win64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|x64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Debug|x86.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|Any CPU.Build.0 = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|AnyOS.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|Win32.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|Win64.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|x64.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.Release|x86.ActiveCfg = Release|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|Any CPU.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|AnyOS.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|Win32.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|Win64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|x64.ActiveCfg = Debug|Any CPU + {81947E6D-4614-468F-B75B-EE61736D5BAA}.SingleImage|x86.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|Win32.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|Win64.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|x64.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Debug|x86.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|Any CPU.Build.0 = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|AnyOS.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|Win32.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|Win64.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|x64.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.Release|x86.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|x64.ActiveCfg = Release|Any CPU + {EAD895D3-384F-4078-9603-DAC343E0E89D}.SingleImage|x86.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|Any CPU.Build.0 = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|Win32.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|Win64.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|x64.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Debug|x86.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|Any CPU.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|Any CPU.Build.0 = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|AnyOS.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|Win32.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|Win64.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|x64.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.Release|x86.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|x64.ActiveCfg = Release|Any CPU + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68}.SingleImage|x86.ActiveCfg = Release|Any CPU + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Any CPU.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Any CPU.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|AnyOS.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|AnyOS.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Mixed Platforms.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Mixed Platforms.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Win32.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Win32.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Win64.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|Win64.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|x64.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|x64.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|x86.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.CD_ROM|x86.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|Any CPU.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|AnyOS.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|AnyOS.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|Mixed Platforms.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|Win32.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|Win64.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|Win64.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|x64.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Debug|x86.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Any CPU.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Any CPU.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|AnyOS.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|AnyOS.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Mixed Platforms.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Mixed Platforms.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Win32.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Win32.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Win64.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|Win64.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|x64.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|x64.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|x86.ActiveCfg = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.DVD-5|x86.Build.0 = Debug + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|Any CPU.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|AnyOS.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|AnyOS.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|Mixed Platforms.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|Win32.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|Win64.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|Win64.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|x64.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.Release|x86.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Any CPU.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Any CPU.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|AnyOS.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|AnyOS.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Mixed Platforms.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Mixed Platforms.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Win32.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Win32.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Win64.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|Win64.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|x64.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|x64.Build.0 = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|x86.ActiveCfg = Release + {5CFFE837-B679-4C6C-A223-97A61DD0E11A}.SingleImage|x86.Build.0 = Release + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Win32.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Win64.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|x64.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|x86.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Any CPU.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|AnyOS.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Win32.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Win64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|x64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|x86.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|x64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.SingleImage|x86.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|Win32.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|Win64.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|x64.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Debug|x86.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|Any CPU.Build.0 = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|AnyOS.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|Win32.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|Win64.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|x64.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.Release|x86.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|x64.ActiveCfg = Release|Any CPU + {C07BFFE6-B66B-47AA-A1C2-094BBAC9AF22}.SingleImage|x86.ActiveCfg = Release|Any CPU + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Any CPU.ActiveCfg = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|AnyOS.ActiveCfg = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|AnyOS.Build.0 = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Mixed Platforms.ActiveCfg = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Mixed Platforms.Build.0 = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Win32.ActiveCfg = CD_ROM|Win32 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Win32.Build.0 = CD_ROM|Win32 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Win64.ActiveCfg = CD_ROM|Win64 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|Win64.Build.0 = CD_ROM|Win64 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|x64.ActiveCfg = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.CD_ROM|x86.ActiveCfg = CD_ROM|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|Any CPU.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|AnyOS.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|AnyOS.Build.0 = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|Mixed Platforms.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|Mixed Platforms.Build.0 = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|Win32.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|Win64.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|x64.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Debug|x86.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Any CPU.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|AnyOS.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|AnyOS.Build.0 = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Mixed Platforms.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Mixed Platforms.Build.0 = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Win32.ActiveCfg = DVD-5|Win32 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Win32.Build.0 = DVD-5|Win32 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Win64.ActiveCfg = DVD-5|Win64 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|Win64.Build.0 = DVD-5|Win64 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|x64.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.DVD-5|x86.ActiveCfg = DVD-5|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|Any CPU.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|AnyOS.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|AnyOS.Build.0 = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|Mixed Platforms.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|Mixed Platforms.Build.0 = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|Win32.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|Win64.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|x64.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.Release|x86.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Any CPU.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|AnyOS.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|AnyOS.Build.0 = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Mixed Platforms.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Mixed Platforms.Build.0 = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Win32.ActiveCfg = SingleImage|Win32 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Win32.Build.0 = SingleImage|Win32 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Win64.ActiveCfg = SingleImage|Win64 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|Win64.Build.0 = SingleImage|Win64 + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|x64.ActiveCfg = SingleImage|AnyOS + {8595864B-D0F6-4B1F-853D-0F38E8EE90F8}.SingleImage|x86.ActiveCfg = SingleImage|AnyOS + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|Any CPU.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|AnyOS.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|Mixed Platforms.Build.0 = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|Win32.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|Win64.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|x64.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|x86.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.CD_ROM|x86.Build.0 = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|Any CPU.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|AnyOS.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|Win32.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|Win64.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|x64.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|x86.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Debug|x86.Build.0 = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|Any CPU.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|AnyOS.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|Mixed Platforms.Build.0 = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|Win32.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|Win64.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|x64.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|x86.ActiveCfg = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.DVD-5|x86.Build.0 = Debug|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|Any CPU.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|AnyOS.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|Mixed Platforms.Build.0 = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|Win32.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|Win64.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|x64.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|x86.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.Release|x86.Build.0 = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|Any CPU.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|AnyOS.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|Mixed Platforms.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|Mixed Platforms.Build.0 = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|Win32.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|Win64.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|x64.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|x86.ActiveCfg = Release|x86 + {8CF624A8-4FE6-41AD-8DDF-B37854E374CB}.SingleImage|x86.Build.0 = Release|x86 + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|AnyOS.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|Win32.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|Win64.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|x64.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.CD_ROM|x86.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|AnyOS.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|Win32.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|Win64.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|x64.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Debug|x86.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|AnyOS.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|Win32.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|Win64.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|x64.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.DVD-5|x86.ActiveCfg = Debug|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|Any CPU.Build.0 = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|AnyOS.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|Win32.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|Win64.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|x64.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.Release|x86.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|AnyOS.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|Win32.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|Win64.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|x64.ActiveCfg = Release|Any CPU + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7}.SingleImage|x86.ActiveCfg = Release|Any CPU + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|Any CPU.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|AnyOS.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|Mixed Platforms.Build.0 = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|Win32.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|Win64.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|x64.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|x86.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.CD_ROM|x86.Build.0 = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|Any CPU.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|AnyOS.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|Win32.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|Win64.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|x64.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|x86.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Debug|x86.Build.0 = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|Any CPU.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|AnyOS.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|Mixed Platforms.Build.0 = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|Win32.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|Win64.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|x64.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|x86.ActiveCfg = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.DVD-5|x86.Build.0 = Debug|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|Any CPU.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|AnyOS.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|Mixed Platforms.Build.0 = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|Win32.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|Win64.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|x64.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|x86.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.Release|x86.Build.0 = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|Any CPU.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|AnyOS.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|Mixed Platforms.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|Mixed Platforms.Build.0 = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|Win32.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|Win64.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|x64.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|x86.ActiveCfg = Release|x86 + {DB1A9545-2E68-4857-B776-29F62F8EA21C}.SingleImage|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/NatiBot.userprefs b/NatiBot.userprefs new file mode 100644 index 0000000..8a063db --- /dev/null +++ b/NatiBot.userprefs @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 5dbbc6c..4e245ac 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,2182 @@ -NatiBot -======= +**What is NatiBot** -NatiBot +NatiBot was an alternative client, automation, backup tool and bot for the SecondLife network as well as compatible ones. + +**Where does it come from** + +NatiBot started using the SL-Bot 2.2.3.1 rev 36 codebase, itself an underground modification of libomv 3-clause BSD licensed TestClient example program. + +Over the course of the months, everything changed but the most basic commands, a lot of commands where added, and a handful other where synced with TestClient codebase. + +**Why did you not open-sourced it on 2010** + +When I created NatiBot I had a serious interest in SecondLife, and I monetized my work (as allowed by the 3-clause BSD license). + +In 2010 I lost all interest on SecondLife, but misuse of NatiBot could be very high, so opensourcing it would have given people a lot of code making them very easy to steal others copyright. + +**Why are you opensourcing it on 2014 then?** + +Long time has passed. SecondLife and libomv have changed their APIs making NatiBot useless without a lot of corrections. + +Also SecondLife's new EULA strictly prohibit NatiBot, making its source nothing more than an interest showcase of my coding abilities. + +Finally, I think that all commercial software that has become useless because of its age should be opensourced and become a cultural piece. + +**What's the license?** + +Considering some codes come from TestClient and some other from SL-Bot, that code forces me to say: + +``` + Copyright (c) 2006-2010, openmetaverse.org + All rights reserved. + + - Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + - Neither the name of the openmetaverse.org nor the names + of its contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +``` + +I don't know who created SL-Bot, and probably he doesn't want to be known either, but Portions Copyright to him. + +The majority of the code is (C) 2008-2014 Claunia.com and licensed as GPL version 3 (or later), as shown in attached LICENSE file. + +All translation XMLs are (C) 2008-2014 Claunia.com and licensed as GFDL version 1.3 (or later), as shown in attached LICENSE.GFDL file. + +**DISCLAIMER** + +For legal reasons: + +Claunia.com and/or Natalia Portillo, as well as any of their friends, collaborators, employees, employers and/or affiliates take any responsibility, past, present, or future, of any use of this code for purposes that are illegal in any country. That is the sole responsibility of the user. + +**But NatiBot does not compile** + +No, it doesn't. If you want to use it, solve it. + +**And there are missing files and/or dependencies** + +All graphical material is still under the original usage license, as well as the webpage and the serial number algorithms. +Usage of that material is forbidden and will be prosecuted. + +**Not included open source dependencies** + +libopenmetaverse +SmartIRC4Net +DotNetZip +log4net + +**What about the other libraries** + +The other libraries cannot be distributed or used at all, with or without this code, outside of any specific license agreement you would have with Claunia.com. + +**Can I use/distribute/decompile/anything the original NatiBot binaries** + +No, you can't. That binaries reached an end-of-support and as stablished by the license ANY AND ALL use of them is strictly forbidden and a violation of international copyright laws. + +**Can I ** + +No. + +**SLOC count** +``` +SLOC Directory SLOC-by-Language (Sorted) +25423 SLBot cs=25423 +16 packages sh=16 +1 top_dir sh=1 +0 InstallShield (none) +0 Installer (none) +0 mono-projects (none) +0 nsis (none) + +Totals grouped by language (dominant language first): +cs: 25423 (99.93%) +sh: 17 (0.07%) + +Total Physical Source Lines of Code (SLOC) = 25,440 +Development Effort Estimate, Person-Years (Person-Months) = 5.98 (71.78) + (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) +Schedule Estimate, Years (Months) = 1.06 (12.68) + (Basic COCOMO model, Months = 2.5 * (person-months**0.38)) +Estimated Average Number of Developers (Effort/Schedule) = 5.66 +Total Estimated Cost to Develop = $ 808,043 + (average salary = $56,286/year, overhead = 2.40). +Please credit this data as "generated using David A. Wheeler's 'SLOCCount'." +``` + +**Original subversion log** +``` +------------------------------------------------------------------------ +r326 | claunia | 2010-01-01 15:51:07 +0000 (vie, 01 ene 2010) | 1 line + +Corrected update process. +------------------------------------------------------------------------ +r325 | claunia | 2009-12-30 23:07:58 +0000 (mié, 30 dic 2009) | 1 line + +NatiBot 1.0.0.325 +------------------------------------------------------------------------ +r324 | claunia | 2009-12-30 22:43:29 +0000 (mié, 30 dic 2009) | 1 line + +Updated versions. +------------------------------------------------------------------------ +r323 | claunia | 2009-12-30 22:25:00 +0000 (mié, 30 dic 2009) | 1 line + +Wrong value on last commit. +------------------------------------------------------------------------ +r322 | claunia | 2009-12-30 22:23:42 +0000 (mié, 30 dic 2009) | 1 line + +Updated version string to final value. +------------------------------------------------------------------------ +r321 | claunia | 2009-12-30 22:20:58 +0000 (mié, 30 dic 2009) | 1 line + +Corrected greeting master on each sim change. +------------------------------------------------------------------------ +r320 | claunia | 2009-12-30 21:40:22 +0000 (mié, 30 dic 2009) | 3 lines + +Added skin chooser. +Finished translation. +RTM. +------------------------------------------------------------------------ +r319 | claunia | 2009-12-30 15:43:49 +0000 (mié, 30 dic 2009) | 3 lines + +Updated obfuscator to not include Paloma.TargaImage and include Ionic.Zip assemblies. +Added all missing buttons, corrected group message buttons. +Removed OpenMetaverse.GUI from solution as it is not being used. +------------------------------------------------------------------------ +r318 | claunia | 2009-12-30 02:05:07 +0000 (mié, 30 dic 2009) | 3 lines + +Added missing CA and ES buttons for redish. +Added EN buttons for redish (2 missing). +Added code for moving windows. +------------------------------------------------------------------------ +r317 | claunia | 2009-12-29 11:43:33 +0000 (mar, 29 dic 2009) | 1 line + +Added correct 1.0 download URLs +------------------------------------------------------------------------ +r316 | claunia | 2009-12-29 11:13:20 +0000 (mar, 29 dic 2009) | 1 line + +Added in-world SLURL +------------------------------------------------------------------------ +r315 | claunia | 2009-12-29 10:34:00 +0000 (mar, 29 dic 2009) | 1 line + +Added all new blueish skin screenshots +------------------------------------------------------------------------ +r314 | claunia | 2009-12-29 08:58:45 +0000 (mar, 29 dic 2009) | 1 line + +Changed all buttons to clImageButton. +------------------------------------------------------------------------ +r313 | claunia | 2009-12-29 08:03:14 +0000 (mar, 29 dic 2009) | 2 lines + +Added all missing ca, es, fr, en blueish buttons. +Added some but not all missing it, de blueish buttons. +------------------------------------------------------------------------ +r312 | claunia | 2009-12-29 06:54:01 +0000 (mar, 29 dic 2009) | 1 line + +Added redish Catalan buttons. +------------------------------------------------------------------------ +r311 | claunia | 2009-12-27 17:33:53 +0000 (dom, 27 dic 2009) | 1 line + +Added installer header for Mac OS X installer. +------------------------------------------------------------------------ +r310 | claunia | 2009-12-27 17:24:29 +0000 (dom, 27 dic 2009) | 1 line + +Added NSIS installer. +------------------------------------------------------------------------ +r309 | claunia | 2009-12-27 03:04:12 +0000 (dom, 27 dic 2009) | 6 lines + +Added blueish windows. +Corrected typo on redish frmAddAccount. +Changed redish frmInventory size. +Now when an exception occurs, it REALLY exists. +Updated spreadsheet. +Corrected redish windows in project. +------------------------------------------------------------------------ +r308 | claunia | 2009-12-24 07:21:56 +0000 (jue, 24 dic 2009) | 4 lines + +Added skin support to clResourceManager. +Moved all "old" skin to blueish skin-folder. +Added redish skin Spanish buttons and all windows. +Changed Designer values to use real resources instead of "global" ones. +------------------------------------------------------------------------ +r307 | claunia | 2009-12-24 00:45:32 +0000 (jue, 24 dic 2009) | 1 line + +Catalan translator sent the completed file, so using it. +------------------------------------------------------------------------ +r306 | claunia | 2009-12-23 16:07:13 +0000 (mié, 23 dic 2009) | 4 lines + +Catalan translator fired. +Translated to catalan. +Corrected a typo in catalan translation. +Added support to clResourceEditor to autotranslate to catalan. +------------------------------------------------------------------------ +r305 | claunia | 2009-12-22 03:41:32 +0000 (mar, 22 dic 2009) | 1 line + +Updated to libomv r3241. +------------------------------------------------------------------------ +r304 | claunia | 2009-12-21 06:34:51 +0000 (lun, 21 dic 2009) | 3 lines + +Finished log reader, now supports showing accounts, crash, log, and hardware key. +Added statistics to every "dangerous" function of NatiBot, and removed from idle() event as it just crashed the application flow. +In ObjectList check that account is really connected to a simulator, because it seems disposing is not working correctly, or the user can open the objects window before finishing login. +------------------------------------------------------------------------ +r303 | claunia | 2009-12-21 05:18:04 +0000 (lun, 21 dic 2009) | 1 line + +Added crash logging functions. They may be too much repeated but better to be safe. +------------------------------------------------------------------------ +r302 | claunia | 2009-12-20 08:24:37 +0000 (dom, 20 dic 2009) | 1 line + +Added statistics to main natibot and two ones for test. +------------------------------------------------------------------------ +r301 | claunia | 2009-12-20 07:57:30 +0000 (dom, 20 dic 2009) | 5 lines + +Added DotNetZip (custom project). +Added a test to post logs to server. +Added PHP script to take logs. +Added a preliminary log reader. +Added server's key checker to subversion repository. +------------------------------------------------------------------------ +r300 | claunia | 2009-12-19 19:24:35 +0000 (sáb, 19 dic 2009) | 5 lines + +Added list of windows and their sizes, buttons and their strings. +Corrected a NullReferenceException in who command and avatar list when checking for client tag texture. +dumpoutfit command now tries to get the appearance and in case it fails shows a message instead of exiting quietly. +Corrected a thread error while importing. +Threaded all export functions in objects window. +------------------------------------------------------------------------ +r299 | claunia | 2009-12-17 21:11:12 +0000 (jue, 17 dic 2009) | 4 lines + +Replace "new line" in filenames as it is a windows non supported character. +Changed AccountList columns sizes and removed openmetaverse license as most of the code is now mine. +Corrected a bug in objects form when copying just one name. +Corrected a "collection has changed" bug in export command. +------------------------------------------------------------------------ +r298 | claunia | 2009-12-16 05:00:33 +0000 (mié, 16 dic 2009) | 1 line + +Added InstallShield project, just to test out, should need to check license (does it matter?). +------------------------------------------------------------------------ +r297 | claunia | 2009-12-15 19:39:14 +0000 (mar, 15 dic 2009) | 4 lines + +TargaImage does not work well under Mac OS X. Removed. +Changed profile window to use OpenJPEG.DecodeToImage() function. +Corrected changing selected bot not changing parameters in main window. +animations, sounds and textures now download to same folder as other commands, that is, without "auto_". +------------------------------------------------------------------------ +r296 | claunia | 2009-12-14 02:33:29 +0000 (lun, 14 dic 2009) | 1 line + +Added Mac OS X Installer Package source. +------------------------------------------------------------------------ +r295 | claunia | 2009-12-14 01:48:53 +0000 (lun, 14 dic 2009) | 1 line + +Updated Property Lists and added icon. +------------------------------------------------------------------------ +r294 | claunia | 2009-12-14 01:33:38 +0000 (lun, 14 dic 2009) | 1 line + +Updated most of the web to 1.0 +------------------------------------------------------------------------ +r293 | claunia | 2009-12-14 01:33:12 +0000 (lun, 14 dic 2009) | 1 line + +Translated changelog to Catalan. +------------------------------------------------------------------------ +r292 | claunia | 2009-12-14 01:32:22 +0000 (lun, 14 dic 2009) | 1 line + +Added launchers for Linux and Mac OS X. +------------------------------------------------------------------------ +r291 | claunia | 2009-12-14 00:04:00 +0000 (lun, 14 dic 2009) | 7 lines + +NEVER AGAIN SEEN: Textboxes have incorrect selected colors applied. +CANNOT CORRECT: The transparency fucks when above SecondLife window. +ADD TO FAQ +SOLVED: Speed and multicore usage will be optimized to improve NatiBot's performance. +SOLVED: [18:06] El avatar LaNati Nightfire de la región 00000000-0000-0000-0000-000000000000 en <0, 0, 0> envía un mensaje de tipo InventoryOffered diciendo:What is NatiBot? / Que es NatiBot? + +Updated commands list. +------------------------------------------------------------------------ +r290 | claunia | 2009-12-13 23:58:25 +0000 (dom, 13 dic 2009) | 2 lines + +Changelog prepared to 1.0. +Changelog translated to Spanish. +------------------------------------------------------------------------ +r289 | claunia | 2009-12-13 23:13:55 +0000 (dom, 13 dic 2009) | 4 lines + +Corrected translation when error returned. Then returns untranslated sentence. +Added progress bar to ClResourceEditor. +Changed all window size to adapt to skin. +Finished translation in French and Spanish. +------------------------------------------------------------------------ +r288 | claunia | 2009-12-13 21:40:35 +0000 (dom, 13 dic 2009) | 1 line + +Added italian and german buttons. +------------------------------------------------------------------------ +r287 | claunia | 2009-12-13 20:26:57 +0000 (dom, 13 dic 2009) | 1 line + +Added french buttons. +------------------------------------------------------------------------ +r286 | claunia | 2009-12-13 20:24:39 +0000 (dom, 13 dic 2009) | 1 line + +Script for imagemagick to apply transparency. +------------------------------------------------------------------------ +r285 | claunia | 2009-12-13 19:28:50 +0000 (dom, 13 dic 2009) | 1 line + +Separate DLLs for each Mac OS X architecture, this scheme is working on PowerPC 10.5 +------------------------------------------------------------------------ +r284 | claunia | 2009-12-13 18:57:38 +0000 (dom, 13 dic 2009) | 5 lines + +Last updates for working under Mono: +Timezones are different, changed them in clock command. +WebBrowser control requires an external library that I'll not supply disable it under Mono. +Profile images are not being loaded in Linux x64, not tested on another. +Under need of testing libopenjpeg-dotnet under Mac OS X, everything is working under Linux and Mac OS X right now. +------------------------------------------------------------------------ +r283 | claunia | 2009-12-13 17:31:14 +0000 (dom, 13 dic 2009) | 2 lines + +AccountList should use a "normal" column sorter. +Changed how the CheckLicense form is disposed to workaround a bug in Mono's garbage collector that was fucking up how Main form is showed. +------------------------------------------------------------------------ +r282 | claunia | 2009-12-13 06:06:30 +0000 (dom, 13 dic 2009) | 1 line + +This file is needed for Mono to find the adequate libraries. +------------------------------------------------------------------------ +r281 | claunia | 2009-12-13 05:58:52 +0000 (dom, 13 dic 2009) | 1 line + +Added OpenJPEG libraries for Mac OS X and Linux. +------------------------------------------------------------------------ +r280 | claunia | 2009-12-13 04:41:34 +0000 (dom, 13 dic 2009) | 1 line + +Changed DataGridView to a ListView control, this solves the Mac OS X crash. +------------------------------------------------------------------------ +r279 | claunia | 2009-12-12 22:28:39 +0000 (sáb, 12 dic 2009) | 2 lines + +Changed how the hardware key is generated in Mac OS X. +This contains better information that doesn't change every five minutes. +------------------------------------------------------------------------ +r278 | claunia | 2009-12-12 20:01:02 +0000 (sáb, 12 dic 2009) | 1 line + +Forgot to add ChangelogCommand.cs. +------------------------------------------------------------------------ +r277 | claunia | 2009-12-12 19:54:28 +0000 (sáb, 12 dic 2009) | 1 line + +One big step to working under Mono. +------------------------------------------------------------------------ +r276 | claunia | 2009-12-12 07:32:16 +0000 (sáb, 12 dic 2009) | 1 line + +Moved all strings to resource files. (And again) +------------------------------------------------------------------------ +r275 | claunia | 2009-12-11 22:43:43 +0000 (vie, 11 dic 2009) | 1 line + +Equaled all language resources. +------------------------------------------------------------------------ +r274 | claunia | 2009-12-11 21:52:46 +0000 (vie, 11 dic 2009) | 2 lines + +Support for answering script windows (typical blue windows with buttons). +Corrected missing return on objects window contextual menus. +------------------------------------------------------------------------ +r273 | claunia | 2009-12-11 20:25:16 +0000 (vie, 11 dic 2009) | 4 lines + +Can specify languages separated in Utilities.TranslateText. +LanguageCodes class and dictionary added. +Added languages names to resources. +Chat window now is able to AutoTranslate. +------------------------------------------------------------------------ +r272 | claunia | 2009-12-11 18:44:33 +0000 (vie, 11 dic 2009) | 2 lines + +Added obfuscator configuration. +Added a "normal" ListColumnSorter and use it on any list that isn't AvatarList. +------------------------------------------------------------------------ +r271 | claunia | 2009-12-11 16:55:18 +0000 (vie, 11 dic 2009) | 1 line + +Added banlist, allowedlist, banuser and ejectuser commands. +------------------------------------------------------------------------ +r270 | claunia | 2009-12-11 16:17:06 +0000 (vie, 11 dic 2009) | 1 line + +Added activaterole and addtorole commands, modified events on groupmembers and grouproles commands to be private. +------------------------------------------------------------------------ +r269 | claunia | 2009-12-11 15:50:27 +0000 (vie, 11 dic 2009) | 3 lines + +Forgot to add contextmenustrip to objects list. +Added commands to inventory menus. +avatarinfo was getting a NullReferenceException when avatar is in sim but no textures known. +------------------------------------------------------------------------ +r268 | claunia | 2009-12-10 23:32:34 +0000 (jue, 10 dic 2009) | 1 line + +Added createclothing, createeyes and createskin commands. +------------------------------------------------------------------------ +r267 | claunia | 2009-12-10 05:30:02 +0000 (jue, 10 dic 2009) | 3 lines + +Added attach, rezitem and createlm commands. +createlm for some reason always fail with ERROR 400. +takeitem was already implemented. +------------------------------------------------------------------------ +r266 | claunia | 2009-12-10 04:58:49 +0000 (jue, 10 dic 2009) | 1 line + +Changed revisions to internal svn revisions. +------------------------------------------------------------------------ +r265 | claunia | 2009-12-10 04:12:28 +0000 (jue, 10 dic 2009) | 3 lines + +Corrected time on general chat. +Log chat to file. +Luckies are working perfectly. +------------------------------------------------------------------------ +r264 | claunia | 2009-12-10 02:55:41 +0000 (jue, 10 dic 2009) | 3 lines + +Added groupeject and invitegroup commands. +Remove event on grouproles command. +CheckLicense now uses Madrid timezone the same as Claunia.com server, until server is changed to GMT. +------------------------------------------------------------------------ +r263 | claunia | 2009-12-09 22:56:37 +0000 (mié, 09 dic 2009) | 4 lines + +version command renamed to changelog. +Added version command that shows current bot and simulator versions. +lucky command will not be added. +downloadsound command was added without updating TODO. +------------------------------------------------------------------------ +r262 | claunia | 2009-12-09 22:46:27 +0000 (mié, 09 dic 2009) | 1 line + +Implemented support for Lucky Santa, Lucky Present, Lucky Dip, Prize Pyramid, Lucky CupCake and Lucky Advent. +------------------------------------------------------------------------ +r261 | claunia | 2009-12-09 22:28:49 +0000 (mié, 09 dic 2009) | 2 lines + +Support for Midnight Mania. +frmGroups colors applied on lstGroups. +------------------------------------------------------------------------ +r260 | claunia | 2009-12-09 22:01:35 +0000 (mié, 09 dic 2009) | 8 lines + +The objects window received a huge list of modifications: +It does now auto-refresh base on simulator events. +When simulator changes it auto-clears. +If initial list of objects is big it can take between 30 and 60 seconds to open, depending on client hardware. +Refresh button now only refresh names and get a statistic. +All the context menus now work perfectly. +It is now not multithreaded. +ListColumnSorter.cs added. +------------------------------------------------------------------------ +r259 | claunia | 2009-12-08 20:34:21 +0000 (mar, 08 dic 2009) | 7 lines + +NOT REPRODUCED: On line 255 of AvatarList.cs an untrapped NullReferenceException ocurred. +SOLVED: On teleport, it is always timing out, even when correctly teleported. -> Was a SL fail +Deleted Config class, not used. +InventoryTree will never caught onloing event. +Added Map window. +Inventory and Map window tested, need to add functions. + +------------------------------------------------------------------------ +r258 | claunia | 2009-12-08 07:40:36 +0000 (mar, 08 dic 2009) | 7 lines + +Updated to libomv r3240. +Some bugs appeared. +Copied InventoryTree.cs from OpenMetaverse.GUI. +Animations, sounds and textures commands now check both the local variable and the bot one so when disabling in GUI also disables here. +Avatars window now shows current sim and known avatars. +Inventory window added and preliminary working. +In debug mode do not trap exceptions. +------------------------------------------------------------------------ +r257 | claunia | 2009-12-07 22:18:10 +0000 (lun, 07 dic 2009) | 7 lines + +Added animations and downloadsound commands. +Forgot to add SoundsCommand.cs in appropiate commit. +Modified bot configuration to include getTextures, getSounds, getAnimations, informFriends, touchMidnightMania, haveLuck and acceptInventoryOffers values. +Modified program configuration to include LogChat. +Modified main form to include this configurable values. +Renamed "button1" to "frmMap" and added button for inventory window. +Modified textures and sounds commands, and frmchat to use that configuration values. +------------------------------------------------------------------------ +r256 | claunia | 2009-12-07 04:00:24 +0000 (lun, 07 dic 2009) | 2 lines + +Removed viewprofile command, NO WAY to call a form from instant message, thread conflicts. +Added a try-catch clause in Program.cs. +------------------------------------------------------------------------ +r255 | claunia | 2009-12-06 22:32:56 +0000 (dom, 06 dic 2009) | 7 lines + +Added NON-WORKING viewprofile command. Commented it until I find the bug. +Friends window shows profile on double click. +Added results window. +Added "Copy UUID to clipboard", "Show profile", "Send message", "List attachments", "Dump attachments", "Dump outfit" and "Offer friendship" functions to avatars window. +Modified DoCommand() so it returns the output of the command as a string, and renamed to DoCommandReturn(). +Added DoCommand() for compatibility. + +------------------------------------------------------------------------ +r254 | claunia | 2009-12-06 21:40:41 +0000 (dom, 06 dic 2009) | 5 lines + +AVATARS WINDOW: +Named distance column. +Added position and viewer. +Corrected position on InitializateAvatars(). +Changed lstAvatars default colors. +------------------------------------------------------------------------ +r253 | claunia | 2009-12-06 20:04:36 +0000 (dom, 06 dic 2009) | 2 lines + +Copied AvatarList from OpenMetaverse.GUI. +Added preliminary Avatars window. +------------------------------------------------------------------------ +r252 | claunia | 2009-12-06 19:23:24 +0000 (dom, 06 dic 2009) | 2 lines + +Added leave, message and activate functionality to groups window. +Corrected key2name not correctly reporting a key as a group when it is in groupcache. +------------------------------------------------------------------------ +r251 | claunia | 2009-12-06 16:49:38 +0000 (dom, 06 dic 2009) | 3 lines + +Added custom dialog. +Copied GroupList control from OpenMetaverse.GUI to allow translations and adaptations. +Added Groups window. +------------------------------------------------------------------------ +r250 | claunia | 2009-12-06 06:41:40 +0000 (dom, 06 dic 2009) | 2 lines + +Removed unused code on help2nc. +Friends window now can send im, teleport and remove a friend. +------------------------------------------------------------------------ +r249 | claunia | 2009-12-06 05:50:43 +0000 (dom, 06 dic 2009) | 5 lines + +Added TargaImage project. +Profile window loads any profile, decodes interests, decodes and shows images. +Profile button in friends window shows selected friend's profile. +Can be loaded and unloaded any number of times. +Uses existing texture files or downloads if they are not downloaded. +------------------------------------------------------------------------ +r248 | claunia | 2009-12-05 23:02:41 +0000 (sáb, 05 dic 2009) | 2 lines + +Added preliminary code to get profile on frmProfile. +Added code to call profile window from frmFriends. +------------------------------------------------------------------------ +r247 | claunia | 2009-12-05 21:50:53 +0000 (sáb, 05 dic 2009) | 2 lines + +Added buttons to frmFriends. +Added profile window. +------------------------------------------------------------------------ +r246 | claunia | 2009-12-05 20:52:27 +0000 (sáb, 05 dic 2009) | 1 line + +Added preliminary friends window. +------------------------------------------------------------------------ +r245 | claunia | 2009-12-05 19:36:52 +0000 (sáb, 05 dic 2009) | 3 lines + +Added beam, gsit, lookat and pick commands. +Renamed goto_landmark command to gotolm. +Enhanced moveto and turnto command to be able to do the same with objects and avatars. +------------------------------------------------------------------------ +r244 | claunia | 2009-12-05 05:14:57 +0000 (sáb, 05 dic 2009) | 1 line + +Added playsound command. +------------------------------------------------------------------------ +r243 | claunia | 2009-12-05 05:09:48 +0000 (sáb, 05 dic 2009) | 1 line + +Added health command. +------------------------------------------------------------------------ +r242 | claunia | 2009-12-05 05:00:44 +0000 (sáb, 05 dic 2009) | 1 line + +Added gesture command. +------------------------------------------------------------------------ +r241 | claunia | 2009-12-04 20:12:57 +0000 (vie, 04 dic 2009) | 6 lines + +SOLVED: +[20:45] Tsuki Tyran: createnotecard "C:/lacunatext/CCS Boxed(Unpack)/!!!CCS INFO!!!.txt" +[20:46] Lacuna Teardrop: Error descargando la nota: Tiempo de espera agotado.. + +Added help2nc command. +Added a newline in start of help. +------------------------------------------------------------------------ +r240 | claunia | 2009-12-04 19:15:32 +0000 (vie, 04 dic 2009) | 1 line + +Added informfriend command. +------------------------------------------------------------------------ +r239 | claunia | 2009-12-04 19:01:35 +0000 (vie, 04 dic 2009) | 1 line + +Removed unused or commented code. +------------------------------------------------------------------------ +r238 | claunia | 2009-12-04 15:40:30 +0000 (vie, 04 dic 2009) | 1 line + +Handled FriendshipAccepted, FriendshipDeclined, InventoryAccepted, InventoryDeclined and InventoryOffered messages. +------------------------------------------------------------------------ +r237 | claunia | 2009-12-04 00:20:44 +0000 (vie, 04 dic 2009) | 1 line + +Added quit and logout commands. +------------------------------------------------------------------------ +r236 | claunia | 2009-12-03 22:36:03 +0000 (jue, 03 dic 2009) | 2 lines + +Added clock command. +Uptime command already existed. +------------------------------------------------------------------------ +r235 | claunia | 2009-12-03 22:10:13 +0000 (jue, 03 dic 2009) | 3 lines + +Added FindOneAvatar to Client class. +Changed avatarinfo command to use it. +Added offerfriendship and endfriendship commands. +------------------------------------------------------------------------ +r234 | claunia | 2009-12-03 21:27:39 +0000 (jue, 03 dic 2009) | 1 line + +Added nadu command. +------------------------------------------------------------------------ +r233 | claunia | 2009-12-03 21:19:04 +0000 (jue, 03 dic 2009) | 4 lines + +[17:3] *NN* Lucky Board Black v1.2 susurra: Now looking for a winner whose name begins with... A. +Akasha did not touch it. + +SOLVED +------------------------------------------------------------------------ +r232 | claunia | 2009-12-03 18:46:30 +0000 (jue, 03 dic 2009) | 3 lines + +Corrected NullReferenceException in export command when there is NO textures at all. +Lucky chairs with ? works, with letter (A, T) not. +InventoryOffered messages not handled. +------------------------------------------------------------------------ +r231 | claunia | 2009-12-03 01:19:27 +0000 (jue, 03 dic 2009) | 2 lines + +who command now shows unknown when the textures are just unknown. +updated to libomv r3239 +------------------------------------------------------------------------ +r230 | claunia | 2009-12-02 08:17:26 +0000 (mié, 02 dic 2009) | 2 lines + +Modified sendtp to support sending the teleport lure to other avatars. +Localized strings are now incorrect. +------------------------------------------------------------------------ +r229 | claunia | 2009-12-02 07:46:42 +0000 (mié, 02 dic 2009) | 2 lines + +Removed giveall command. +Added pay command. +------------------------------------------------------------------------ +r228 | claunia | 2009-12-02 07:23:12 +0000 (mié, 02 dic 2009) | 1 line + +Categorized TODO commands. +------------------------------------------------------------------------ +r227 | claunia | 2009-12-02 07:05:26 +0000 (mié, 02 dic 2009) | 1 line + +Added about command. +------------------------------------------------------------------------ +r226 | claunia | 2009-12-02 06:56:07 +0000 (mié, 02 dic 2009) | 1 line + +Added away and busy commands. +------------------------------------------------------------------------ +r225 | claunia | 2009-12-01 20:36:10 +0000 (mar, 01 dic 2009) | 1 line + +Added gc and memfree commands. +------------------------------------------------------------------------ +r224 | claunia | 2009-12-01 07:55:41 +0000 (mar, 01 dic 2009) | 1 line + +Added PikkuBot commands that are useful AND feasible to 1.0. +------------------------------------------------------------------------ +r223 | claunia | 2009-12-01 07:12:22 +0000 (mar, 01 dic 2009) | 2 lines + +Help command now sorts all commands. +In DEBUG mode also allows to output direct HTML for the webpage! +------------------------------------------------------------------------ +r222 | claunia | 2009-12-01 06:53:20 +0000 (mar, 01 dic 2009) | 3 lines + +SOLVED: Will be added support to download sounds that are played where the bot should hear them. + +Added sounds command. +------------------------------------------------------------------------ +r221 | claunia | 2009-12-01 06:25:52 +0000 (mar, 01 dic 2009) | 3 lines + +Deleted Patriotic Nigras Longcat Sim as it is no more working. +Added 35 known GRIDs. +Added localhost login URI. +------------------------------------------------------------------------ +r220 | claunia | 2009-12-01 05:31:32 +0000 (mar, 01 dic 2009) | 1 line + +BREAKING: Heavily changed the way login grid is stored, loaded, and used, to allow more grids to be added in a lot easier way. However, this changes makes old account files not working. +------------------------------------------------------------------------ +r219 | claunia | 2009-12-01 04:02:02 +0000 (mar, 01 dic 2009) | 3 lines + +SOLVED: Support for changing chat channel will be added on its window. + +Added support as in official viewer "/ message", however, channel and message MUST be separated by a space. +------------------------------------------------------------------------ +r218 | claunia | 2009-12-01 02:48:02 +0000 (mar, 01 dic 2009) | 9 lines + +Greatly enhanced animate command. +animate list shows all system animations. +animate show shows all playing animations. +animate plays system animation. +animate plays animation. +animate stop stops system animation. +animate stop stops animation. +animate stop stops all playing animations. +NOT CHECKED IF STOP WITH INDICATING ANIMATION NOT IN PLAY CRASHES! +------------------------------------------------------------------------ +r217 | claunia | 2009-12-01 02:24:47 +0000 (mar, 01 dic 2009) | 1 line + +Added netstats command. +------------------------------------------------------------------------ +r216 | claunia | 2009-12-01 02:20:01 +0000 (mar, 01 dic 2009) | 2 lines + +Added grouproles and groupmembers commands. +Indicated on new search commands that string should be localized. +------------------------------------------------------------------------ +r215 | claunia | 2009-12-01 02:03:34 +0000 (mar, 01 dic 2009) | 1 line + +Added searchclassifieds, searchgroups, searchland, searchpeople and searchplaces commands. +------------------------------------------------------------------------ +r214 | claunia | 2009-12-01 01:45:33 +0000 (mar, 01 dic 2009) | 1 line + +Moved search commands to a search folder. +------------------------------------------------------------------------ +r213 | claunia | 2009-12-01 01:41:23 +0000 (mar, 01 dic 2009) | 1 line + +Solved a NullReferenceException when avatar textures are not yet known. +------------------------------------------------------------------------ +r212 | claunia | 2009-11-30 19:48:23 +0000 (lun, 30 nov 2009) | 2 lines + +who command now says also client. +Changed who output string in locales to include it. +------------------------------------------------------------------------ +r211 | claunia | 2009-11-30 19:29:54 +0000 (lun, 30 nov 2009) | 4 lines + +SOLVED: Support to identify non-official viewers that identify themselves will be added (CryoLife, Emerald, etc). + +Added all currently known client tags, and added client_list.xml to repository to be able to diff it in case it gets updated. +Added clienttags command to list all known client tags. +------------------------------------------------------------------------ +r210 | claunia | 2009-11-30 18:11:40 +0000 (lun, 30 nov 2009) | 1 line + +SOLVED: A bug on who command that's showing position relative to sit prim instead of to sim will be corrected. +------------------------------------------------------------------------ +r209 | claunia | 2009-11-30 17:46:25 +0000 (lun, 30 nov 2009) | 3 lines + +libomv will not integrate Emerald attachment points into AttachmentPoint enum. +Moved libomv AttachmentPoint enum to local NBAttachmentPoint enum, and changed all references in code. +DumpAttachmentCommand now uses avatar name as export folder and XML is now named " ().xml" +------------------------------------------------------------------------ +r208 | claunia | 2009-11-30 17:44:11 +0000 (lun, 30 nov 2009) | 1 line + +Removed unneeded libjitson code. +------------------------------------------------------------------------ +r207 | claunia | 2009-11-30 05:30:07 +0000 (lun, 30 nov 2009) | 3 lines + +SOLVED: Support for non-official attachment places (bridge, ankle, etc) + +Sent openmetaverse bug http://jira.openmv.org/browse/LIBOMV-769 +------------------------------------------------------------------------ +r206 | claunia | 2009-11-30 04:51:44 +0000 (lun, 30 nov 2009) | 1 line + +GroupNotice is now handled. +------------------------------------------------------------------------ +r205 | claunia | 2009-11-30 04:27:07 +0000 (lun, 30 nov 2009) | 2 lines + +Improved key2Name() to ask for group name when group is not in cache. +Improved chat group detection to use key2Name(), this should be a lot faster and work even when (if this is possible) IMs are received from groups not from the avatar. +------------------------------------------------------------------------ +r204 | claunia | 2009-11-30 04:07:58 +0000 (lun, 30 nov 2009) | 1 line + +Added detectbots command. +------------------------------------------------------------------------ +r203 | claunia | 2009-11-28 18:22:56 +0000 (sáb, 28 nov 2009) | 8 lines + +SOLVED: When import finishes creating prims it takes too long to continue. +Do not wait for permissions set. + +SOLVED: It is failing when importing more than one item. +It is clearly working. + +When importing more than one item, only the first linkset is correctly detected as finished, however, all are finished. +Removed permissions strings from language resources. +------------------------------------------------------------------------ +r202 | claunia | 2009-11-28 17:54:10 +0000 (sáb, 28 nov 2009) | 1 line + +Add dependencies not compiled. +------------------------------------------------------------------------ +r201 | claunia | 2009-11-28 17:51:23 +0000 (sáb, 28 nov 2009) | 1 line + +Added prebuild. Still does not works, fails with resources namespace. +------------------------------------------------------------------------ +r200 | claunia | 2009-11-28 17:49:50 +0000 (sáb, 28 nov 2009) | 1 line + +Projects updated to Visual Studio 2010. +------------------------------------------------------------------------ +r199 | claunia | 2009-11-28 07:25:27 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: how does showeventdetails and searchevents really work? + +Both now show information on IM, not only on console. +------------------------------------------------------------------------ +r198 | claunia | 2009-11-28 07:13:19 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: Is findobjects working at all? + +Information is now shown on IM and not only on console. +------------------------------------------------------------------------ +r197 | claunia | 2009-11-28 07:00:47 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: priminfo does nothing? + +priminfo now shows a lot more of information. +------------------------------------------------------------------------ +r196 | claunia | 2009-11-28 06:21:06 +0000 (sáb, 28 nov 2009) | 1 line + +SOLVED: joingroup does not work with UUID. Does not says it worked with name. +------------------------------------------------------------------------ +r195 | claunia | 2009-11-28 06:02:16 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: Letting GRID entry empty crashes the whole NatiBot. Default creating new account is empty also. AGNI should be default and check out for this issue when login. + +AGNI is now default. Should do more sanity checks when login. +------------------------------------------------------------------------ +r194 | claunia | 2009-11-28 05:59:28 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: follow does not inform it is stoping + +Added stop option to correctly make it stop. +------------------------------------------------------------------------ +r193 | claunia | 2009-11-28 05:48:13 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: translate is not working correctly. + +clUtils: Translate helper Changed to official Google API, added litjson to clutils code, may be useful for more things. +------------------------------------------------------------------------ +r192 | claunia | 2009-11-28 05:13:18 +0000 (sáb, 28 nov 2009) | 7 lines + +SOLVED: avatarinfo stopped working. + +It never stopped working + +AvatarInfoCommand.cs +-------------------- +Enhanced to work with avatars not present in current sim. +------------------------------------------------------------------------ +r191 | claunia | 2009-11-28 02:47:30 +0000 (sáb, 28 nov 2009) | 4 lines + +SOLVED: +activategroup shows incorrect group name, however, changes group correctly. + +key2name command now also works with groups the bot belongs to (libomv is not solving groups...) +------------------------------------------------------------------------ +r190 | claunia | 2009-11-28 01:59:47 +0000 (sáb, 28 nov 2009) | 3 lines + +SOLVED: Import dialog shows openDialogFile1. + +Dialogs are not getting translated at all. +------------------------------------------------------------------------ +r189 | claunia | 2009-11-28 01:53:36 +0000 (sáb, 28 nov 2009) | 10 lines + +SOLVED when no previous message by that avatar: +[04:06] El avatar Alika Update Server de la región 1c003b78-5e0e-484e-a3ef-c2833ff3cd1e en <223.254, 200.001, 1493.45> envía un mensaje de tipo TaskInventoryOffered diciendo:'Gorean Meter 3.0.4 Boxed' ( http://slurl.com/secondlife/Gimli/223/200/1493 ) +No inventory is agreed, and object name is not used as sender. + +SOLVED: +[05:51] El avatar Tsuki Tyran envía un teletransporte a la región 6381d0f6-7883-42b9-164f-9061edeaba50 en <66.8335, 144.481, 36.4512> con el siguiente mensaje:Join me in Fujin +Avatar name empty. + +SOLVED: +Avatar name empty when unhanheld type of message. +------------------------------------------------------------------------ +r188 | claunia | 2009-11-28 01:33:47 +0000 (sáb, 28 nov 2009) | 6 lines + +SOLVED: +[04:06] El avatar Alika Update Server de la región 1c003b78-5e0e-484e-a3ef-c2833ff3cd1e en <223.254, 200.001, 1493.45> envía un mensaje de tipo TaskInventoryOffered diciendo:'Gorean Meter 3.0.4 Boxed' ( http://slurl.com/secondlife/Gimli/223/200/1493 ) +No inventory is agreed, and object name is not used as sender. + +---------- +Inventory is not yet agreed but at least chat is well created. +------------------------------------------------------------------------ +r187 | claunia | 2009-11-28 01:19:45 +0000 (sáb, 28 nov 2009) | 1 line + +SOLVED: Chats are sent always from the first bot. +------------------------------------------------------------------------ +r186 | claunia | 2009-11-28 01:04:43 +0000 (sáb, 28 nov 2009) | 2 lines + +Solved chat and console bug requiring form to be opened. +Solution is not optimal (opening and closing the form), but works. +------------------------------------------------------------------------ +r185 | claunia | 2009-11-27 05:05:30 +0000 (vie, 27 nov 2009) | 3 lines + +Added newly discovered bugs. +Added list of commands to implement from TestClient. + +------------------------------------------------------------------------ +r184 | claunia | 2009-11-27 04:20:03 +0000 (vie, 27 nov 2009) | 2 lines + +Resolved NullReferenceException on textures, flyto and follow commands. +Resolved master key not being searched correctly. +------------------------------------------------------------------------ +r183 | claunia | 2009-11-27 04:04:25 +0000 (vie, 27 nov 2009) | 2 lines + + * Rev 94: + * Updated to libomv r3231 +------------------------------------------------------------------------ +r182 | claunia | 2009-11-27 00:06:20 +0000 (vie, 27 nov 2009) | 9 lines + +Bugs: +Chats are sent always from the first bot. +[17:3] *NN* Lucky Board Black v1.2 susurra: Now looking for a winner whose name begins with... A. +Akasha did not touch it. +[04:06] El avatar Alika Update Server de la región 1c003b78-5e0e-484e-a3ef-c2833ff3cd1e en <223.254, 200.001, 1493.45> envía un mensaje de tipo TaskInventoryOffered diciendo:'Gorean Meter 3.0.4 Boxed' ( http://slurl.com/secondlife/Gimli/223/200/1493 ) +No inventory is agreed, and object name is not used as sender. +[05:51] El avatar Tsuki Tyran envía un teletransporte a la región 6381d0f6-7883-42b9-164f-9061edeaba50 en <66.8335, 144.481, 36.4512> con el siguiente mensaje:Join me in Fujin +Avatar name empty. +Letting GRID entry empty crashes the whole NatiBot. Default creating new account is empty also. AGNI should be default and check out for this issue when login. +------------------------------------------------------------------------ +r181 | claunia | 2009-11-24 04:29:36 +0000 (mar, 24 nov 2009) | 1 line + +Added 1.0 TODO. +------------------------------------------------------------------------ +r180 | claunia | 2009-11-24 02:30:44 +0000 (mar, 24 nov 2009) | 7 lines + + * Rev 93: + * Removed chat and console buffers and put them async. Now the buffer cannot full out crashing the bot and the chat isn't de-synched. + * Added automatic update system. + * Improved importing speed. + * Improved chat system so it does not hang out the bot when chat or IM are received. + * Added a dependency for converting JPEG2000 to Targa on 64-bit systems. + * Version bumped to NatiBot 0.9.3 Rev 93. +------------------------------------------------------------------------ +r179 | claunia | 2009-11-24 01:35:49 +0000 (mar, 24 nov 2009) | 1 line + +Removed chat and console buffers and put them async. Now the buffer cannot full out crashing the bot and the chat isn't de-synched. +------------------------------------------------------------------------ +r178 | claunia | 2009-11-24 00:28:10 +0000 (mar, 24 nov 2009) | 10 lines + +** clUtils + Added update scheme. +** ImportCommand.cs + Removed a check in a timer that was not working neither needed. +** frmChat.cs + Removed unneeded extra checks that slowed a hell the bot when chat is received. +** Version.cs + Added applications IDs and version string. +** Program.cs + Check for updates on running. +------------------------------------------------------------------------ +r177 | claunia | 2009-10-08 19:07:44 +0100 (jue, 08 oct 2009) | 1 line + +Added DebugHWKey project that outputs the hardware key pre-string in a text file. +------------------------------------------------------------------------ +r176 | claunia | 2009-10-05 21:38:28 +0100 (lun, 05 oct 2009) | 2 lines + +Forgot to add log4net.dll to the binary file. +Created debug version of 0.9.2.1. +------------------------------------------------------------------------ +r175 | claunia | 2009-10-05 21:30:22 +0100 (lun, 05 oct 2009) | 1 line + +Version 0.9.2.1 with changes in SSL certificate. +------------------------------------------------------------------------ +r174 | claunia | 2009-10-03 17:22:58 +0100 (sáb, 03 oct 2009) | 22 lines + +** DumpAttachmentCommand.cs +** ExportCommand.cs + Check for permissions before allowing to export. +** frmChat.cs + Implemented Lucky Chair detection. + Corrected date/time format. +** frmMain.cs + Added Map form button, still not working. +** language_ca.xml +** language_en.xml +** language_es.xml +** language_fr.xml + Added resource to indicate not sufficient permissions to export. +** SecondLifeBot.cs + Accept any inventory offer. +** Version.cs +** changelog_ca.txt +** changelog_en.txt +** changelog_es.txt +** changelog_fr.txt + Version bumpted to 0.9.2 Rev 92 +** Released NatiBot 0.9.2 Rev 92 +------------------------------------------------------------------------ +r173 | claunia | 2009-09-18 11:39:27 +0100 (vie, 18 sep 2009) | 2 lines + +Upated to libomv r3111. +wear command stopped working. +------------------------------------------------------------------------ +r172 | claunia | 2009-09-18 11:17:22 +0100 (vie, 18 sep 2009) | 1 line + +Updated to libomv r3023. +------------------------------------------------------------------------ +r171 | claunia | 2009-09-18 11:00:25 +0100 (vie, 18 sep 2009) | 1 line + +Updated to libomv r3020 +------------------------------------------------------------------------ +r170 | claunia | 2009-09-18 10:52:14 +0100 (vie, 18 sep 2009) | 16 lines + +** log4net.csproj + Changed output +** DownloadAnimation.cs +** BackupCommand.cs +** BackupTextCommand.cs +** CreateNotecardCommand.cs +** ViewNotecardCommand.cs +** QueuedDownloadInfo.cs + Updated to libomv r3004 + backup is not working by unknown reason, should be rewritten? +** frmObjects.cs + Changed linebreaks +** Program.cs + In debug mode do not catch the exceptions, let the debugger do it. +** SecondLifeBot.cs + Automatically asset receiver never worked as expected. Removed. +------------------------------------------------------------------------ +r169 | claunia | 2009-09-17 13:54:11 +0100 (jue, 17 sep 2009) | 1 line + +Corrected typo. +------------------------------------------------------------------------ +r168 | claunia | 2009-09-17 13:21:52 +0100 (jue, 17 sep 2009) | 1 line + +Added comparison.\nCorrected fail on frame border sizes.\nAdded NatiBot 0.9.1 binary and overview.\nAdded key2name, buy, takeitem and translate commands. +------------------------------------------------------------------------ +r167 | claunia | 2009-09-17 12:18:37 +0100 (jue, 17 sep 2009) | 1 line + +Created NatiBot 0.9.1 Rev 91 installer. +------------------------------------------------------------------------ +r166 | claunia | 2009-09-17 11:56:04 +0100 (jue, 17 sep 2009) | 8 lines + +** AssemblyInfo.cs + Version is now 0.9.1.0 +** Added frmMain.btnChat resources. +** frmMain.btnChat is now clImageButton and uses the resources. +** Changed frmCheckLicense.cs linebreaks. +** Translated frmChat resources in Catalan. +** Embed french Changelog and frmMain.frmChat buttons. + +------------------------------------------------------------------------ +r165 | claunia | 2009-09-14 12:33:56 +0100 (lun, 14 sep 2009) | 17 lines + +** Program.cs + Changed linebraeaks to CRLF. +** language_ca.xml +** language_es.xml + Added frmChat resources, they missed out. +** NatiBot.csproj + Embed French resources and changelog. +** frmChat.cs + Use group cache to recognize groups and cache other session IDs. + Put the appropiate window icon. + Ignore barely audible messages from 30m distance that came empty in general chat. + Wait up to 15 seconds to join group chat, as this can take long. + Create a isgroup() function that looks up in order, group cache, session id cache, and finally request for group name. + Manually draw items in lstChatters allow us to stablish some colors, for now, general chat is in red. + Put the functions to allow the window to be moved out. +** frmChat.Designer.cs + Changed listbox parameters so custom drawing is applied. +------------------------------------------------------------------------ +r164 | claunia | 2009-09-14 01:12:11 +0100 (lun, 14 sep 2009) | 2 lines + +Added French and German names and codes to CA, EN and ES resources. +Added french resources and changelog. +------------------------------------------------------------------------ +r163 | claunia | 2009-09-14 00:20:56 +0100 (lun, 14 sep 2009) | 2 lines + +Corrected typo in changelog. +Translated to Catalan. +------------------------------------------------------------------------ +r162 | claunia | 2009-09-13 16:10:19 +0100 (dom, 13 sep 2009) | 5 lines + +Corrected encoding selection on TranslateCommand. +Corrected encoding selection when clResourceEditor asks for translation. +Make the translate function decode the HTML. + +This eliminates all known gibblerish. +------------------------------------------------------------------------ +r161 | claunia | 2009-09-13 16:02:51 +0100 (dom, 13 sep 2009) | 3 lines + +Added translate functions in clUtils that use Google Language Tools. +Added translate command. +Added function in clResourceEditor to automatically translate ALL resources using clUtils. +------------------------------------------------------------------------ +r160 | claunia | 2009-09-13 15:06:23 +0100 (dom, 13 sep 2009) | 3 lines + +Translated to Spanish. +Corrected some typos in English. +Modified Catalan so the translator will translate from Spanish. +------------------------------------------------------------------------ +r159 | claunia | 2009-09-13 14:57:35 +0100 (dom, 13 sep 2009) | 3 lines + +Chat window is ready. +Version bumped to 0.9.1 Rev 91. +Awaiting for translators to publish it. +------------------------------------------------------------------------ +r158 | claunia | 2009-09-13 14:43:25 +0100 (dom, 13 sep 2009) | 1 line + +Added contextual menu to objects form. +------------------------------------------------------------------------ +r157 | claunia | 2009-09-13 14:04:22 +0100 (dom, 13 sep 2009) | 1 line + +Added takeitem command. +------------------------------------------------------------------------ +r156 | claunia | 2009-09-13 13:56:36 +0100 (dom, 13 sep 2009) | 1 line + +Added buy command. +------------------------------------------------------------------------ +r155 | claunia | 2009-09-13 13:14:54 +0100 (dom, 13 sep 2009) | 2 lines + +It now does chat with groups also. +Changed the chat form to not have borders and use clImageButton for a close button. +------------------------------------------------------------------------ +r154 | claunia | 2009-09-13 12:20:39 +0100 (dom, 13 sep 2009) | 1 line + +Finally this icon works, added to project. +------------------------------------------------------------------------ +r153 | claunia | 2009-09-13 12:19:52 +0100 (dom, 13 sep 2009) | 2 lines + +Changed license check so in Mono does not call System.Management. +Should get a way to obtain more information about the machine. +------------------------------------------------------------------------ +r152 | claunia | 2009-09-13 12:13:15 +0100 (dom, 13 sep 2009) | 1 line + +Changed Mono icon from PNG to a different icon format that should work. +------------------------------------------------------------------------ +r151 | claunia | 2009-09-13 11:57:11 +0100 (dom, 13 sep 2009) | 2 lines + +Changed "\\" to "/" that works both on Unix and Win32. +Added detection for Mac OS X so it does create NatiBot folder under Documents folder. +------------------------------------------------------------------------ +r150 | claunia | 2009-09-13 11:52:46 +0100 (dom, 13 sep 2009) | 1 line + +Fixed typo. +------------------------------------------------------------------------ +r149 | claunia | 2009-09-13 11:51:34 +0100 (dom, 13 sep 2009) | 1 line + +Solved Program.cs problems with Mono. +------------------------------------------------------------------------ +r148 | claunia | 2009-09-13 11:49:56 +0100 (dom, 13 sep 2009) | 1 line + +Solved problems with icons. +------------------------------------------------------------------------ +r147 | claunia | 2009-09-13 11:47:54 +0100 (dom, 13 sep 2009) | 1 line + +Fuck fuck fuck +------------------------------------------------------------------------ +r146 | claunia | 2009-09-13 11:46:22 +0100 (dom, 13 sep 2009) | 1 line + +Embedded icons in Mono project.\nAdd clUtils to Mono Project. +------------------------------------------------------------------------ +r145 | claunia | 2009-09-13 11:45:44 +0100 (dom, 13 sep 2009) | 2 lines + +Added clUtils reference to NatiBot and to solution. +Changed code in all forms so the icon is set at runtime depending on the runtime platform and disables autosize. +------------------------------------------------------------------------ +r144 | claunia | 2009-09-13 11:39:05 +0100 (dom, 13 sep 2009) | 1 line + +Added Claunia.clUtils +------------------------------------------------------------------------ +r143 | claunia | 2009-09-13 11:05:17 +0100 (dom, 13 sep 2009) | 2 lines + +clResourceEditor does not more have help file. +Removed mono binaries. +------------------------------------------------------------------------ +r142 | claunia | 2009-09-13 11:04:54 +0100 (dom, 13 sep 2009) | 1 line + +Added Linux Desktop shortcut.\nAdded icon in PNG format. +------------------------------------------------------------------------ +r141 | claunia | 2009-09-13 10:59:39 +0100 (dom, 13 sep 2009) | 1 line + +Added mono projects +------------------------------------------------------------------------ +r140 | claunia | 2009-09-13 10:57:15 +0100 (dom, 13 sep 2009) | 2 lines + +Added TODO for Mono Framework known problems. +Cleaned frmLicense. +------------------------------------------------------------------------ +r139 | claunia | 2009-09-12 08:36:36 +0100 (sáb, 12 sep 2009) | 1 line + +GUI finished but transparency fucks out. +------------------------------------------------------------------------ +r138 | claunia | 2009-09-12 08:13:58 +0100 (sáb, 12 sep 2009) | 1 line + +Added some cleanup when ImportCommand returns. +------------------------------------------------------------------------ +r137 | claunia | 2009-09-10 10:00:48 +0100 (jue, 10 sep 2009) | 1 line + +Corrected threading error in importing. +------------------------------------------------------------------------ +r136 | claunia | 2009-09-06 02:16:49 +0100 (dom, 06 sep 2009) | 8 lines + +** SecondLifeBot.cs + Asks for offline IMs. +** ImCommand.cs + Interfaces with chat window indicating the bot that an IM was sent. +** frmChat.cs + Added a ComboBox to select the bot so the ListBox only reflexes its chats. + Identifies when an IM comes from an object indicating the owner, region and position of the object. + Handle when the IM cames from offline. +------------------------------------------------------------------------ +r135 | claunia | 2009-09-03 05:12:09 +0100 (jue, 03 sep 2009) | 1 line + +Deleted empty folder. +------------------------------------------------------------------------ +r134 | claunia | 2009-09-03 05:10:40 +0100 (jue, 03 sep 2009) | 1 line + +Organized commands on categorized folders. +------------------------------------------------------------------------ +r133 | claunia | 2009-09-03 04:59:40 +0100 (jue, 03 sep 2009) | 1 line + +Added folders for organizing commands. +------------------------------------------------------------------------ +r132 | claunia | 2009-09-03 04:24:45 +0100 (jue, 03 sep 2009) | 1 line + +Renamed Key2Name.cs to Key2NameCommand.cs +------------------------------------------------------------------------ +r131 | claunia | 2009-09-03 04:06:53 +0100 (jue, 03 sep 2009) | 1 line + +Finally solved the infamous avatarinfo command bug. +------------------------------------------------------------------------ +r130 | claunia | 2009-09-03 04:03:06 +0100 (jue, 03 sep 2009) | 10 lines + +**SecondLifeBot.cs + Added key2Name() function to resolve an avatar's name using its UUID. +**Avatars + Added new folder for avatar related commands. +**Key2NameCommand.cs + Added new command to use Key2Name() function. +**language_ca.xml +**language_en.xml +**language_es.xml + Added resources for key2name command. +------------------------------------------------------------------------ +r129 | claunia | 2009-09-03 03:59:59 +0100 (jue, 03 sep 2009) | 1 line + +Command "jump" now stops jumping also. +------------------------------------------------------------------------ +r128 | claunia | 2009-09-03 03:59:16 +0100 (jue, 03 sep 2009) | 1 line + +Do not ignore teleport lures. +------------------------------------------------------------------------ +r127 | claunia | 2009-09-03 03:58:26 +0100 (jue, 03 sep 2009) | 1 line + +Stop signing this assembly. +------------------------------------------------------------------------ +r126 | claunia | 2009-09-03 01:38:16 +0100 (jue, 03 sep 2009) | 1 line + +Finished cleaning from CVS import. Checked it compiles, everything is working out. +------------------------------------------------------------------------ +r125 | claunia | 2009-09-03 01:22:27 +0100 (jue, 03 sep 2009) | 1 line + +Added libomv external at revision 3003 +------------------------------------------------------------------------ +r124 | claunia | 2009-09-01 21:16:26 +0100 (mar, 01 sep 2009) | 2 lines + +Moved backupcommand.cs to backuptextcommand.cs the old way. + +------------------------------------------------------------------------ +r123 | claunia | 2009-09-01 20:22:05 +0100 (mar, 01 sep 2009) | 4 lines + +Changed frmObjects time to 30 seconds. +Added code from libomv documentation to automatically set the appearance. +Corrected a null reference exception on frmChat. + +------------------------------------------------------------------------ +r122 | claunia | 2009-09-01 12:34:14 +0100 (mar, 01 sep 2009) | 3 lines + +Now also sends chat. +Flags every instant message received that is not from an Agent for debug and implementation. + +------------------------------------------------------------------------ +r121 | claunia | 2009-09-01 12:20:37 +0100 (mar, 01 sep 2009) | 2 lines + +It now does receive general chat. + +------------------------------------------------------------------------ +r120 | claunia | 2009-09-01 11:56:18 +0100 (mar, 01 sep 2009) | 2 lines + +Sends and receives IMs from the chat window. + +------------------------------------------------------------------------ +r119 | claunia | 2009-09-01 11:55:51 +0100 (mar, 01 sep 2009) | 2 lines + +Sends and receives IMs from the chat window. + +------------------------------------------------------------------------ +r118 | claunia | 2009-09-01 10:36:46 +0100 (mar, 01 sep 2009) | 2 lines + +Now the chat window separates the im senders. + +------------------------------------------------------------------------ +r117 | claunia | 2009-09-01 10:29:09 +0100 (mar, 01 sep 2009) | 2 lines + +Now chat window have a list of chats. + +------------------------------------------------------------------------ +r116 | claunia | 2009-09-01 10:16:31 +0100 (mar, 01 sep 2009) | 5 lines + +downloadtexture command now checks for texture command to exist. +Upped to revision 91. +All chat now goes to its own window. +Removed unused copybot license code. + +------------------------------------------------------------------------ +r115 | claunia | 2009-09-01 00:49:16 +0100 (mar, 01 sep 2009) | 2 lines + +NatiBot 0.9 Rev 90 released. + +------------------------------------------------------------------------ +r114 | claunia | 2009-08-31 20:57:24 +0100 (lun, 31 ago 2009) | 2 lines + +Added about box logo. + +------------------------------------------------------------------------ +r113 | claunia | 2009-08-31 20:56:46 +0100 (lun, 31 ago 2009) | 2 lines + +Added logo + +------------------------------------------------------------------------ +r112 | claunia | 2009-08-31 20:49:56 +0100 (lun, 31 ago 2009) | 2 lines + +Added icon. + +------------------------------------------------------------------------ +r111 | claunia | 2009-08-31 05:57:45 +0100 (lun, 31 ago 2009) | 3 lines + +No more "Untitled Document". +Added screenshots. + +------------------------------------------------------------------------ +r110 | claunia | 2009-08-31 04:50:44 +0100 (lun, 31 ago 2009) | 3 lines + +Deleted references to Galician, Romanian an Italian language. +Corrected a typo in catalan overview. + +------------------------------------------------------------------------ +r109 | claunia | 2009-08-31 04:49:56 +0100 (lun, 31 ago 2009) | 2 lines + +Deleted reference to galician. + +------------------------------------------------------------------------ +r108 | claunia | 2009-08-31 04:48:54 +0100 (lun, 31 ago 2009) | 2 lines + +Finished correction to catalan. + +------------------------------------------------------------------------ +r107 | claunia | 2009-08-31 04:18:34 +0100 (lun, 31 ago 2009) | 2 lines + +Corrected typo. + +------------------------------------------------------------------------ +r106 | claunia | 2009-08-31 04:16:05 +0100 (lun, 31 ago 2009) | 3 lines + +ProcessorID information is not available on virtual machines. +Added username variable to the hardware key. + +------------------------------------------------------------------------ +r105 | claunia | 2009-08-31 04:15:23 +0100 (lun, 31 ago 2009) | 2 lines + +Added installer. + +------------------------------------------------------------------------ +r104 | claunia | 2009-08-31 04:14:32 +0100 (lun, 31 ago 2009) | 2 lines + +Disable automatic signing as libopenmetaverse, SmartIRC4Net and XMLPRC dependencies are not signed... + +------------------------------------------------------------------------ +r103 | claunia | 2009-08-31 04:13:59 +0100 (lun, 31 ago 2009) | 3 lines + +Marked a TODO for Rev 100. +Now appearance get automatically set on agent update. + +------------------------------------------------------------------------ +r102 | claunia | 2009-08-31 04:13:23 +0100 (lun, 31 ago 2009) | 3 lines + +Added code to set settings language resources. +Moved lblAccountsInfo out of the groupbox line (it does overwrite it on Windows 7) + +------------------------------------------------------------------------ +r101 | claunia | 2009-08-30 23:03:59 +0100 (dom, 30 ago 2009) | 3 lines + +Version bumped to NatiBot 0.9.0. +Added signing keys. + +------------------------------------------------------------------------ +r100 | claunia | 2009-08-30 22:41:15 +0100 (dom, 30 ago 2009) | 62 lines + + * Rev 89: + * Now you can change the language. The setting will be stored and applied on restart. + * Now the bot does offer the option to save all the console to a text file. Enabled by default. + * On some cases errors where showing message boxes, now all errors will show up in the console. + * Closing NatiBot now disconnects all bots. + +** AccountFile.cs +** UploadCommand.cs +** DumpOutfitCommand.cs +** ExportCommand.cs +** frmMain.cs +** PrimRegexCommand.cs + Moved exception to console. +** changelog_ca.txt +** changelog_en.txt +** changelog_es.txt + Removed revision 36. +** clResourceManager.cs + Added list of available locales. + Added getAvailableLanguages(). + Added getCurrentLanguage(). + Added setCurrentLanguage(). + Added setLanguageCode(). + Added code to get and set the language code from registry. +** DataGridViewClientRow.cs + Translated bot status. +** frmConsole.cs + Added code to dump console to a log file. +** frmMain.cs + Added code to change language. + Added code to change dump console setting. + Removed code that called the HTTP server. + Commented code that disabled rest of items depending on bot status. + Expanded code that intercepts closing, now works with ALT+F4. + Now the bot informs in the console (and log) when it starts or stops. +** language_ca.xml +** language_en.xml +** language_es.xml + Added following resources: LanguageCode.en, LanguageCode.es, LanguageCode.ca, LanguageCode.ga, LanguageCode.ro, LanguageCode.it, frmMain.gbSettings, frmMain.chkLogConsole, frmMain.lblLanguage, bot.Greeting, bot.FormClosing, bot.ButtonClosing, bot.Starts. +** language_ca.xml + Translated following resources: LanguageCode.en, LanguageCode.es, LanguageCode.ca, LanguageCode.ga, LanguageCode.ro, LanguageCode.it. +** language_es.xml + Translated following resources: LanguageCode.en, LanguageCode.es, LanguageCode.ca, LanguageCode.ga, LanguageCode.ro, LanguageCode.it, frmMain.gbSettings, frmMain.chkLogConsole, frmMain.lblLanguage, bot.Greeting, bot.FormClosing, bot.ButtonClosing, bot.Starts. +** Program.cs + Removed CopyBot appearance. + Added getWriteConsoleToFileSetting() + Added setWriteConsoleToFileSetting() +** SecondLifeBot.cs + Translated greeting. +** Version.cs + Removed N3X15 comment. + Bumped to revision 89. +** CPLHome.cs +** HTMLCPLCommand.cs +** CommandChk.cs +** CommandRegister.cs +** CommandTest.cs +** HTTPCommand.cs +** HTMLTemplates.cs +** HTTPDaemon.cs +All code commented not in use right now. + +------------------------------------------------------------------------ +r99 | claunia | 2009-08-30 20:29:45 +0100 (dom, 30 ago 2009) | 8 lines + + * Rev 88: + * Objects form now allows to search for an object's name. + * Default folder for creating all NatiBot's folders is now the user's Documents folder. + * Now the dumpattachment command exports correctly the names. + * Did the same change on the export command. + * Updated downloadtexture command so it now decodes the texture to TGA also. + * Command avatarinfo now does not show other's information when used more than one time. + +------------------------------------------------------------------------ +r98 | claunia | 2009-08-30 17:55:35 +0100 (dom, 30 ago 2009) | 4 lines + +Added rest of buttons. +Added a new class to clResourceManager to allow language-less buttons. +Added frmLicense window. + +------------------------------------------------------------------------ +r97 | claunia | 2009-08-30 08:39:08 +0100 (dom, 30 ago 2009) | 2 lines + +Added settings groupbox and logconsole and language controls. + +------------------------------------------------------------------------ +r96 | claunia | 2009-08-30 08:28:54 +0100 (dom, 30 ago 2009) | 2 lines + +Threaded btnImport + +------------------------------------------------------------------------ +r95 | claunia | 2009-08-30 08:28:39 +0100 (dom, 30 ago 2009) | 2 lines + +Missed a variable change. + +------------------------------------------------------------------------ +r94 | claunia | 2009-08-30 08:15:44 +0100 (dom, 30 ago 2009) | 2 lines + +Threaded btnExport. + +------------------------------------------------------------------------ +r93 | claunia | 2009-08-29 17:27:44 +0100 (sáb, 29 ago 2009) | 14 lines + +** clControls.csproj + Added new clImageButton control. +** clImageButton.cs +** clImageButton.resx + Derived from PictureBox instead of from button give almost all of a button functionality and the base.Paint() correctly handles PNG transparency. +** frmMain.cs + Moved all clButton controls to clImageButton. +** frmObjects.cs + Moved all clButton controls to clImageButton. +** frmCheckLicense.cs + Moved all clButton controls to clImageButton. +** Resources + Moved all idle english buttons so Visual Studio Designer have something to show when editing forms, instead of showing more Microsoft stupid bugs. + +------------------------------------------------------------------------ +r92 | claunia | 2009-08-29 06:16:08 +0100 (sáb, 29 ago 2009) | 2 lines + +Put a workaround to not see the transparency on buttons like the window below this. + +------------------------------------------------------------------------ +r91 | claunia | 2009-08-29 05:57:26 +0100 (sáb, 29 ago 2009) | 27 lines + +** Natibot.sln + Added clControls to the solution. +** clControls.csproj +** clForm.cs + Created new form that supports transparent PNGs. Non portable uses Win32 calls. + Does not paint the controls :(. +** clButton.cs +** clButton.resx +** clCustomButtonGroup.cs + Created new button that supports transparent PNGs. No problem with this! (should check if code is copyable?) +** NatiBot.csproj + Embed all buttons (for now, catalan, english and spanish). + Reference to clControls +** frmLicense.cs + frmLicense was not getting the texts from language resources. Corrected. +** frmMain.cs + Changed all buttons but btnConsole and btnCrash to clButton. + Added code to get the button for the correct language. +** frmObjects.cs + Changed all buttons but btnFindNext to clButton. + Added code to get the button for the correct language. + Now the label shows the bot that object's window belongs to. +** frmConsole.cs + Now Form.Text gets correctly set so it shows the name in taskbar. +** Updated TODO +** Bumped to rev 87 + +------------------------------------------------------------------------ +r90 | claunia | 2009-08-29 04:53:00 +0100 (sáb, 29 ago 2009) | 2 lines + +Changed BMPs to much smaller PNGs on windows. + +------------------------------------------------------------------------ +r89 | claunia | 2009-08-29 03:03:40 +0100 (sáb, 29 ago 2009) | 2 lines + +Added spanish buttons. + +------------------------------------------------------------------------ +r88 | claunia | 2009-08-29 03:03:27 +0100 (sáb, 29 ago 2009) | 2 lines + +Added english buttons. + +------------------------------------------------------------------------ +r87 | claunia | 2009-08-29 03:01:49 +0100 (sáb, 29 ago 2009) | 2 lines + +Added catalan buttons. + +------------------------------------------------------------------------ +r86 | claunia | 2009-08-29 02:23:14 +0100 (sáb, 29 ago 2009) | 2 lines + +Bugs discorered testing Rev 86 + +------------------------------------------------------------------------ +r85 | claunia | 2009-08-28 07:37:28 +0100 (vie, 28 ago 2009) | 4 lines + +Added code to handle all windows movement. +Added exit button on frmMain. +Added code to close all bots on exit (does not work on ALT+F4 yet dunno why). + +------------------------------------------------------------------------ +r84 | claunia | 2009-08-28 07:00:47 +0100 (vie, 28 ago 2009) | 3 lines + +Moved the console to an independent form while retaining its functionality. +Revision bumped to 86. + +------------------------------------------------------------------------ +r83 | claunia | 2009-08-28 06:16:38 +0100 (vie, 28 ago 2009) | 2 lines + +Reduced innecesary border. + +------------------------------------------------------------------------ +r82 | claunia | 2009-08-28 06:14:07 +0100 (vie, 28 ago 2009) | 4 lines + +frmMain de-messed. +Console MUST BE MOVED NOW to another form. +Bumped to revision 85 as all current windows are now in the new interface. + +------------------------------------------------------------------------ +r81 | claunia | 2009-08-28 05:48:04 +0100 (vie, 28 ago 2009) | 4 lines + +Put the background on frmMain. +Got rid of tabs and interfaces and plugins by N3X15, at least until I really need them (doubt it). +frmMain is a REAL MESS now, until I move the console out. + +------------------------------------------------------------------------ +r80 | claunia | 2009-08-28 05:46:40 +0100 (vie, 28 ago 2009) | 2 lines + +Reduced innecesary border. + +------------------------------------------------------------------------ +r79 | claunia | 2009-08-28 05:33:01 +0100 (vie, 28 ago 2009) | 2 lines + +Changed frmObjects to the new interface. + +------------------------------------------------------------------------ +r78 | claunia | 2009-08-28 05:13:41 +0100 (vie, 28 ago 2009) | 2 lines + +Changed frmAbout to the new interface. + +------------------------------------------------------------------------ +r77 | claunia | 2009-08-28 05:00:56 +0100 (vie, 28 ago 2009) | 2 lines + +Changed frmAddAccount to the new interface. + +------------------------------------------------------------------------ +r76 | claunia | 2009-08-28 04:48:04 +0100 (vie, 28 ago 2009) | 2 lines + +Missed type in last added resources. + +------------------------------------------------------------------------ +r75 | claunia | 2009-08-28 04:25:23 +0100 (vie, 28 ago 2009) | 2 lines + +Added new interface windows. + +------------------------------------------------------------------------ +r74 | claunia | 2009-08-28 04:08:14 +0100 (vie, 28 ago 2009) | 4 lines + +Moved language resources out of InitializeComponents() so the Visual Studio Designer does not mess my code. +Now it is in each class initializator. +Added frmAbout form title + +------------------------------------------------------------------------ +r73 | claunia | 2009-08-28 03:55:28 +0100 (vie, 28 ago 2009) | 3 lines + +Added frmAccount strings to resource files. +A string was missed in frmMain, moved to resource files. + +------------------------------------------------------------------------ +r72 | claunia | 2009-08-28 03:27:11 +0100 (vie, 28 ago 2009) | 2 lines + +Romanian translator gave up. + +------------------------------------------------------------------------ +r71 | claunia | 2009-08-26 17:31:21 +0100 (mié, 26 ago 2009) | 2 lines + +Added webpage + +------------------------------------------------------------------------ +r70 | claunia | 2009-08-26 17:26:10 +0100 (mié, 26 ago 2009) | 2 lines + +Added a TODO list. + +------------------------------------------------------------------------ +r69 | claunia | 2009-08-26 17:21:52 +0100 (mié, 26 ago 2009) | 2 lines + +Corrected misnamed ID. + +------------------------------------------------------------------------ +r68 | claunia | 2009-08-14 16:42:30 +0100 (vie, 14 ago 2009) | 2 lines + +Translated lastest resources to Catalan. + +------------------------------------------------------------------------ +r67 | claunia | 2009-08-14 16:18:53 +0100 (vie, 14 ago 2009) | 6 lines + +Added an about box. +Moved a resource in version to the resource files. +Added the about box resources to English, Catalan and Spanish. +Translated the about box resources to Spanish. +Removed old objects form files. + +------------------------------------------------------------------------ +r66 | claunia | 2009-08-14 15:13:15 +0100 (vie, 14 ago 2009) | 2 lines + +Added catalan language. + +------------------------------------------------------------------------ +r65 | claunia | 2009-08-14 01:54:46 +0100 (vie, 14 ago 2009) | 4 lines + +* Rev 84: + * Removed unused and nonfunctional teleport and map tabs. + * Removed nonfunctional importoutfit command. + +------------------------------------------------------------------------ +r64 | claunia | 2009-08-14 01:38:30 +0100 (vie, 14 ago 2009) | 2 lines + +Deleted unused and non-functional teleport and map tabs. + +------------------------------------------------------------------------ +r63 | claunia | 2009-08-14 01:35:19 +0100 (vie, 14 ago 2009) | 2 lines + +Deleted old, unused and non-functional language manager, and all references to it. + +------------------------------------------------------------------------ +r62 | claunia | 2009-08-13 23:40:08 +0100 (jue, 13 ago 2009) | 2 lines + +Added catalan changelog. + +------------------------------------------------------------------------ +r61 | claunia | 2009-08-13 23:09:34 +0100 (jue, 13 ago 2009) | 4 lines + +Deleted two repeated resources. +Translated "changelog" word to spanish. +Added spanish language. + +------------------------------------------------------------------------ +r60 | claunia | 2009-08-13 22:48:55 +0100 (jue, 13 ago 2009) | 2 lines + +Corrected some typos and changed some wording. + +------------------------------------------------------------------------ +r59 | claunia | 2009-08-13 15:43:18 +0100 (jue, 13 ago 2009) | 2 lines + +Added locale attribute. + +------------------------------------------------------------------------ +r58 | claunia | 2009-08-13 15:24:37 +0100 (jue, 13 ago 2009) | 2 lines + +No need to escape quotes. + +------------------------------------------------------------------------ +r57 | claunia | 2009-08-13 15:06:25 +0100 (jue, 13 ago 2009) | 2 lines + +Added Spanish changelog. + +------------------------------------------------------------------------ +r56 | claunia | 2009-08-13 15:02:10 +0100 (jue, 13 ago 2009) | 4 lines + +Added a function in clResourceManager to obtain the locale code, so in a future we'll check in the registry settings. +Changed version command so it reads an embedded resource with the changelog. +Added English changelog. + +------------------------------------------------------------------------ +r55 | claunia | 2009-08-13 14:44:37 +0100 (jue, 13 ago 2009) | 4 lines + + * Rev 83: + * Added multilanguage support. + * As a side-feature some commands now show more information in the console. + +------------------------------------------------------------------------ +r54 | claunia | 2009-08-09 18:29:43 +0100 (dom, 09 ago 2009) | 5 lines + + * Rev 82: + * Updated to libomv r3003 + * Created a thread for export all button on objects form so it does not stuck the GUI. + * Did the same on the appearance command. + +------------------------------------------------------------------------ +r53 | claunia | 2009-07-19 17:09:35 +0100 (dom, 19 jul 2009) | 2 lines + +Added old N3X15 revisions of copybot. + +------------------------------------------------------------------------ +r52 | claunia | 2009-07-13 00:48:37 +0100 (lun, 13 jul 2009) | 3 lines + +Added binary releases 79, 80 and 81. +Updated COMMANDS file and added VERSION file. + +------------------------------------------------------------------------ +r51 | claunia | 2009-07-12 18:15:40 +0100 (dom, 12 jul 2009) | 3 lines + + * Rev 81: + * Corrected a bug that prevented dumpoutfit command to create folders as it was supposed to do. + +------------------------------------------------------------------------ +r50 | claunia | 2009-07-11 22:17:40 +0100 (sáb, 11 jul 2009) | 8 lines + + * Rev 80 Alpha 7: + * New objects form now indicates distance of view, and allows us to change it. + * Added camerafar command. for the same purpose. + * Added voiceaccount command. + * Added voiceparcel command. + * Now every message sent to the bot by a non-master (parcel, estate, object, group im, conference, im, so on) will be sent to the master as an IM. + * Changed how the upload command uploads notecards. Now it do uploads every notecard except ones with attachments. Surely is a question of permissions on them. + +------------------------------------------------------------------------ +r49 | claunia | 2009-07-11 22:16:10 +0100 (sáb, 11 jul 2009) | 2 lines + +*** empty log message *** + +------------------------------------------------------------------------ +r48 | claunia | 2009-07-11 20:50:30 +0100 (sáb, 11 jul 2009) | 12 lines + + * Rev 80 Alpha 6: + * Updated to libomv r2977 + * Added downloadterrain command that downloads the RAW sim terrain. + * Added uploadrawterrain command. + * Changed way of how upload command does upload scripts. This removes the HTTP 500 error on script uploading. + * Heavily modified createnotecard command. + * Added emptylostandfound and emptytrash commands. + * Added taskrunning command. + * Added wind command. + * Added flyto command. + * Added textures command. + +------------------------------------------------------------------------ +r47 | claunia | 2009-07-08 22:51:07 +0100 (mié, 08 jul 2009) | 12 lines + + * Rev 80 Alpha 5: + * Corrected a lack of lock in backuptext command that can give us a runtime exception. + * Corrected the same in the backup command. + * Backup command now uses different methods for textures, notecards, scripts and the rest. + * - Calling cards will never be backed up as they really do not exist. Backup command will ignore them. + * - Objects must be rezzed to be backed up, so for now backup command ignores them. + * - Nocopy scripts and notecards cannot be read. It's a SecondLife bug, JIRA VWR-5238. Backup command will ignore them. + * - Nomod scripts are not readable at all, forget about them. Backup command will ignore them. + * - All textures, gestures, sounds, clothing and body parts, will, however, be downloaded. + * Modified the import button so it can also upload assets (for example the ones downloaded by the backup command). + * Added a progress bar and text to the main window indicating us how the import is going out. + +------------------------------------------------------------------------ +r46 | claunia | 2009-07-07 00:20:45 +0100 (mar, 07 jul 2009) | 10 lines + +Corrected when folder contents have still not arrived not to crash on ListContentsCommand.cs + + * Rev 80 Alpha 4: + * Added the backup command, able to backup EVERYTHING from the inventory with the following caveats:\ + * - You first must have looked up for the contents of the folder where the item you want to backup is in. + * - Objects cannot be backed up at all, SL protocol seems to not allow us to do that, will check for a solution. + * - Scripts you cannot modify, you cannot read. What you cannot read, you cannot backup. Simple. + * - Some other items, including textures, fail because permission. However these items should be downloadable from the asset no matter your permissions on them. + * - Calling cards cannot be backed up. They may even not exist really as it, will check. + +------------------------------------------------------------------------ +r45 | claunia | 2009-07-06 19:35:09 +0100 (lun, 06 jul 2009) | 5 lines + +Renamed BackupCommand.cs to BackupTextCommand.cs + + * Rev 80 Alpha 3: + * Import button able to import more than one item at a time. + +------------------------------------------------------------------------ +r44 | claunia | 2009-07-06 19:34:33 +0100 (lun, 06 jul 2009) | 3 lines + + * Rev 80 Alpha 2: + * Import command takes the object from world to inventory when it finishes. + +------------------------------------------------------------------------ +r43 | claunia | 2009-07-05 19:12:44 +0100 (dom, 05 jul 2009) | 18 lines + + * Rev 79b: + * Corrected dumpattachment, dumpattachments, export commands, and the GUI button objects. + * The GUI button now works, but is, unreliable like always. + * Rev 80 Alpha 1: + * Version bumped to 0.8 + * Corrected exporting objects WITHOUT texture (yeah, I've found ONE) + * Created a new objects window from scratch with the following features: + * - List of UUID, location and name, sortable at user's wishes. + * - Automatic autoupdate for taking names and new objects every 10 seconds. + * - That option can be disabled. + * - Export button is able to export ANY object no matter what name it has (even if it is unknown). + * - You can choose what to copy, the UUID, location, or name, to the clipboard, using right click or CTRL+C. + * - You can export more than one selected object at a time. + * - You can export ALL THE OBJECTS that the bot sees in one click. + * Rev 80 Alpha 2: + * Import command takes the object from world to inventory when it finishes. + * Then it sends the object to the master (still untested). + +------------------------------------------------------------------------ +r42 | claunia | 2009-07-03 23:38:17 +0100 (vie, 03 jul 2009) | 12 lines + + * Rev 79: + * Updated to libomv r2947. + * Texture downloading system gets rewritten as part of this update. + * Advantages, supposedly, speed and less bugs. + * Disadvantages, no progress indicator on bot's console. + * Textures are stored in textures folder, when using export or downloadtexture commands. + * Outfits textures get stored in outfits subfolder, in a folder named as the avatar. + * Attachments textures get downloaded in a subfolder called textures in a folder with the UUID. + * This should end downloaded textures confusion. + * This is a minor revision, with big changes awaiting on NatiBot 0.8.0 rev 80. + * log4net.dll compiles with some kind of error and cannot be executed, should be manually copied from libomv's bin. + +------------------------------------------------------------------------ +r41 | claunia | 2008-12-18 16:40:27 +0000 (jue, 18 dic 2008) | 2 lines + +Forgot a library in the binary. Corrected. + +------------------------------------------------------------------------ +r40 | claunia | 2008-12-18 15:42:16 +0000 (jue, 18 dic 2008) | 6 lines + +Modified to work with libomv r2382. + +Updated to revision 78. + +Added binary. + +------------------------------------------------------------------------ +r39 | claunia | 2008-12-17 03:11:41 +0000 (mié, 17 dic 2008) | 2 lines + +Added license checking and missing files. + +------------------------------------------------------------------------ +r38 | claunia | 2008-12-17 02:46:54 +0000 (mié, 17 dic 2008) | 2 lines + +Forgot to put some binary files lol. + +------------------------------------------------------------------------ +r37 | claunia | 2008-12-16 01:56:47 +0000 (mar, 16 dic 2008) | 2 lines + +Modified NatiBot r77 to compile with libomv r2381 + +------------------------------------------------------------------------ +r36 | claunia | 2008-09-21 06:06:17 +0100 (dom, 21 sep 2008) | 7 lines + + * Rev 77: + * Modified "upload" command to catch exceptions when loading the file. + * Corrected animation extension on auto-download-from-asset event from .animtn to .animatn. + * Removed "test" command, as it was, just a test. + * Added "downloadanimation" to download an animation from the asset server given its UUID. (The one that appears with Animation Info enabled on the official client) + * Version bumped to 0.7 (20 new commands). YUPIIIIIIIIIII!!!!!!!! + +------------------------------------------------------------------------ +r35 | claunia | 2008-09-21 05:26:48 +0100 (dom, 21 sep 2008) | 5 lines + +Removed a DeleteFolderCommand tryout. + + * Rev 76: + * Added "script" command to take a list of commands to execute from a given text file. + +------------------------------------------------------------------------ +r34 | claunia | 2008-09-21 05:08:14 +0100 (dom, 21 sep 2008) | 3 lines + + * Rev 75: + * Added "downloadtexture" command to download a texture from the asset server given the UUID. Still does not convert to Targa format. + +------------------------------------------------------------------------ +r33 | claunia | 2008-09-21 04:58:42 +0100 (dom, 21 sep 2008) | 3 lines + + * Rev 74: + * Added "forward", "back", "left" and "right" commands to move the bot. + +------------------------------------------------------------------------ +r32 | claunia | 2008-09-21 04:33:50 +0100 (dom, 21 sep 2008) | 3 lines + + * Rev 73: + * Added "selectobjects" command, to show detailed information about the prims owned by a determined avatar, in the specified parcel. + +------------------------------------------------------------------------ +r31 | claunia | 2008-09-21 04:27:56 +0100 (dom, 21 sep 2008) | 3 lines + + * Rev 72: + * Added "primowners" command, to show prims count and their owners in a parcel. It needs permissions. + +------------------------------------------------------------------------ +r30 | claunia | 2008-09-21 04:15:16 +0100 (dom, 21 sep 2008) | 5 lines + + * Rev 71: + * Corrected a NullException in "parcelinfo" command. + * Modified "parcelinfo" timeout from 30sec. to 60sec. + * Added "parceldetails" command, that with a given parcel ID, shows ALL information about that parcel. + +------------------------------------------------------------------------ +r29 | claunia | 2008-09-21 03:22:22 +0100 (dom, 21 sep 2008) | 15 lines + + * Rev 70: + * Modified "createnotecard" and "uploadimage" commands as accent in "dHa" is not correctly handled by asset server in description of uploaded item. + * Added "upload" command to upload anything that is supported for the asset server, detecting the correct type by extension, as following: + * .animatn for Animation. (Costs 10L on AGNI) + * .bodypart for Shape, Skin, Eyes and Hair. + * .gesture for Gesture. + * .clothing for Shirt, Pants, Shoes, Socks, Jacket, Skirt, Gloves, Undershirt and Underpants. + * .jpg, .tga, .jp2 and .j2c for Textures. (Costs 10L on AGNI) + * .notecard for Notecard. + * .landmark for LandMark. + * .ogg for Sound (Vorbis). (Costs 10L on AGNI) + * .lsl for LSL2 Script (as text). + * .lso for LSL2 Script (as bytecode). + * Old versions of the items, or, some of them, will fail without solution. + +------------------------------------------------------------------------ +r28 | claunia | 2008-09-20 05:42:36 +0100 (sáb, 20 sep 2008) | 4 lines + + * Rev 69: + * Modified "createnotecard" command to send the Notecard to the master. + * Added "uploadimage" command to upload an image/texture and send it to the master. + +------------------------------------------------------------------------ +r27 | claunia | 2008-09-20 04:59:25 +0100 (sáb, 20 sep 2008) | 3 lines + + * Rev 68: + * Added "viewnote" command to dump contents of an inventory's notecard to the console/IM. + +------------------------------------------------------------------------ +r26 | claunia | 2008-09-20 04:42:21 +0100 (sáb, 20 sep 2008) | 3 lines + + * Rev 67: + * Added "rmdir" command to move a folder from the inventory to the trash. + +------------------------------------------------------------------------ +r25 | claunia | 2008-09-20 04:29:27 +0100 (sáb, 20 sep 2008) | 7 lines + + * Rev 66: + * Modified "dumpoutfit" command to work with libOMV API (RequestImage()) changes in SVN r2227. + +Deleted old SLBot solution. +Ignore project migration logs and backups. +Updated NatiBot solution. + +------------------------------------------------------------------------ +r24 | claunia | 2008-09-20 04:22:06 +0100 (sáb, 20 sep 2008) | 42 lines + +Updated libOpenMetaverse to SVN revision 2229 +------------------------------------------------------------------------------ + +r2229: +LIBOMV-385 Corrects incorrect seed caps names, Thanks Brandon Lockaby for the patch + +r2228: +Fixing bugs in the previous commit for refreshing texture downloads + +r2227: +* Modified ImageDownload to hold ImageType and DiscardLevel +* RequestImage() now takes a starting packet number as a parameter +* Image download refresh timer calculates which packet to restart the transfer at + +r2226: +Fixed Simian instant message functionality between avatars (AgentID was not set in the AgentData block) + +r2225: +* Defaulting AgentManager.Movement.AutoResetControls to false since most non-interactive bots will expect this behavior. May break a few bots that expect movement flags to be reset every update! +* Fixed a crashing typo in TestClient ScriptCommand + +r2224: +Simian: +* Decode layer boundaries when storing a texture asset +* Started fleshing out correct texture downloading +* Add avatars to the scene along with prims + +r2223: +* Added SleepCommand to TestClient which uses AgentPause and AgentResume to sleep for a given number of seconds +* Added ScriptCommand to TestClient to execute commands from a script + +r2222: +Resolving [TC-51], added forward/back/left/right movement commands to TestClient and confirmed autopilot still functions + +r2221: +LIBOMV-196 Exposes various group cache data we store to public using our InternalDictionary class +* Adds ActiveGroupPowers field to AgentManager which holds currently active groups GroupPowers for current avatar + +r2220: +* Added ObjectDuplicate support to Simian +* Improved Simian PrimFlags handling for newly created objects + +------------------------------------------------------------------------ +r23 | claunia | 2008-09-17 07:50:26 +0100 (mié, 17 sep 2008) | 3 lines + + * Rev 65: + * Now the "avatarinfo" command gets also interests and groups. Statistics are disabled by Linden Lab because they are deprecated so apparently no way to get them. + +------------------------------------------------------------------------ +r22 | claunia | 2008-09-17 07:06:46 +0100 (mié, 17 sep 2008) | 3 lines + + * Rev 64: + * Now the "avatarinfo" command shows not only textures but profile text and images. Interests, groups, and statistics, are on the way. + +------------------------------------------------------------------------ +r21 | claunia | 2008-09-15 07:07:09 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 63: + * Added "give" command to give inventory items to an avatar. + +------------------------------------------------------------------------ +r20 | claunia | 2008-09-15 06:52:15 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 62: + * Added "createnotecard" command to create a Notecard from a local text file. + +------------------------------------------------------------------------ +r19 | claunia | 2008-09-15 06:28:11 +0100 (lun, 15 sep 2008) | 4 lines + + * Rev 61: + * Added "cd" command to change current inventory directory. + * Modified "ls" command so with '-l' option it says creation date/time and asset type of contents, and works with subfolders (previously it did not without first using "i" command to populate). + +------------------------------------------------------------------------ +r18 | claunia | 2008-09-15 05:12:42 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 60: + * Added "ls" command to list contents of currenty inventory directory. + +------------------------------------------------------------------------ +r17 | claunia | 2008-09-15 04:40:46 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 59: + * Added "avatarinfo" command that shows information about a nearby avatar. + +------------------------------------------------------------------------ +r16 | claunia | 2008-09-15 04:04:14 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 58: + * Commands "attachments" and "attachmentsuuid" now list on IM console. + +------------------------------------------------------------------------ +r15 | claunia | 2008-09-15 03:48:27 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 58: + * Commands "attachments" and "attachmentsuuid" now list on IM console. + +------------------------------------------------------------------------ +r14 | claunia | 2008-09-15 03:37:08 +0100 (lun, 15 sep 2008) | 4 lines + + * Rev 57: + * Command "objectinventory" never stopped working, was only lag! + * Command "exportparticles" was storing all particle systems in the same lsl file. Corrected. + +------------------------------------------------------------------------ +r13 | claunia | 2008-09-15 02:41:40 +0100 (lun, 15 sep 2008) | 4 lines + + * Rev 56: + * Corrected "import" command. + * Changed "CopyXML" folder to more appropiate "objects" folder. + +------------------------------------------------------------------------ +r12 | claunia | 2008-09-15 02:06:27 +0100 (lun, 15 sep 2008) | 3 lines + + * Rev 55: + * Corrected "export" command, now works as before! + +------------------------------------------------------------------------ +r11 | claunia | 2008-09-15 00:13:10 +0100 (lun, 15 sep 2008) | 2 lines + +Added release 0.6.9 r54. + +------------------------------------------------------------------------ +r10 | claunia | 2008-09-14 18:53:06 +0100 (dom, 14 sep 2008) | 2 lines + +Added old releases to repository + +------------------------------------------------------------------------ +r9 | claunia | 2008-09-14 18:50:34 +0100 (dom, 14 sep 2008) | 4 lines + +Generated key for log4net. +Added log4net project to NatiBot solution. +Modified SmartIrc4Net to reference log4net from current solution. + +------------------------------------------------------------------------ +r8 | claunia | 2008-09-14 18:02:00 +0100 (dom, 14 sep 2008) | 2 lines + +Created NatiBot solution. + +------------------------------------------------------------------------ +r7 | claunia | 2008-09-14 17:30:25 +0100 (dom, 14 sep 2008) | 2 lines + +Added log4net library 1.2.0 (again) + +------------------------------------------------------------------------ +r6 | claunia | 2008-09-14 16:28:24 +0100 (dom, 14 sep 2008) | 2 lines + +Added log4net library 1.2.0 (again) + +------------------------------------------------------------------------ +r5 | claunia | 2008-09-14 15:33:40 +0100 (dom, 14 sep 2008) | 2 lines + +Removed log4net library 1.2.0 + +------------------------------------------------------------------------ +r4 | claunia | 2008-09-14 14:52:15 +0100 (dom, 14 sep 2008) | 2 lines + +Added log4net library 1.2.0 + +------------------------------------------------------------------------ +r3 | claunia | 2008-09-14 07:06:44 +0100 (dom, 14 sep 2008) | 2 lines + +Added log4net library 1.2.0 + +------------------------------------------------------------------------ +r2 | claunia | 2008-09-14 05:11:21 +0100 (dom, 14 sep 2008) | 3 lines + +NatiBot Revision 54. +First commit to CVS + +------------------------------------------------------------------------ +r1 | (no author) | 2008-09-14 05:11:21 +0100 (dom, 14 sep 2008) | 1 line + +Standard project directories initialized by cvs2svn. +------------------------------------------------------------------------ +`` \ No newline at end of file diff --git a/SLBot/.DS_Store b/SLBot/.DS_Store new file mode 100644 index 0000000..55e3b73 Binary files /dev/null and b/SLBot/.DS_Store differ diff --git a/SLBot/AssemblyInfo.cs b/SLBot/AssemblyInfo.cs new file mode 100644 index 0000000..a234a1c --- /dev/null +++ b/SLBot/AssemblyInfo.cs @@ -0,0 +1,17 @@ +// Assembly SLBot, Version 1.0.0.0 + +[assembly: System.Reflection.AssemblyVersion("1.0.0.326")] +[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)] +[assembly: System.Reflection.AssemblyFileVersion("1.0.0.326")] +[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] +[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)] +[assembly: System.Runtime.InteropServices.Guid("91cdd52d-0666-4245-b010-146471bbbccd")] +[assembly: System.Runtime.InteropServices.ComVisible(false)] +[assembly: System.Reflection.AssemblyTrademark("")] +[assembly: System.Reflection.AssemblyCopyright("Copyright © Claunia.com 2008-2014, All Rights Reserved")] +[assembly: System.Reflection.AssemblyProduct("NatiBot")] +[assembly: System.Reflection.AssemblyCompany("Claunia.com")] +[assembly: System.Reflection.AssemblyConfiguration("")] +[assembly: System.Reflection.AssemblyDescription("")] +[assembly: System.Reflection.AssemblyTitle("NatiBot")] + diff --git a/SLBot/Global.cs b/SLBot/Global.cs new file mode 100644 index 0000000..e02abfc --- /dev/null +++ b/SLBot/Global.cs @@ -0,0 +1 @@ + diff --git a/SLBot/NatiBot-mono.csproj b/SLBot/NatiBot-mono.csproj new file mode 100644 index 0000000..0c44551 --- /dev/null +++ b/SLBot/NatiBot-mono.csproj @@ -0,0 +1,617 @@ + + + + local + 7.10.3077 + 2.0 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9} + Debug + AnyCPU + NatiBot + JScript + Grid + IE50 + false + WinExe + + + + + 0.0 + false + OpenMetaverse + 9.0.30729 + bot.Program + false + natibot.snk + natibot.ico + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + ..\mono-projects\bin + true + DEBUG;TRACE + true + false + 4 + full + prompt + true + WinExe + OpenMetaverse + + + ..\bin\ + true + TRACE + true + 4 + none + prompt + true + false + WinExe + OpenMetaverse + + + true + ..\bin\ + DEBUG;TRACE + true + true + full + x86 + prompt + false + WinExe + OpenMetaverse + 4 + + + ..\bin\ + TRACE + true + true + true + x86 + prompt + false + WinExe + true + OpenMetaverse + 4 + full + + + true + ..\bin\ + DEBUG;TRACE + true + true + full + x64 + prompt + WinExe + OpenMetaverse + true + 4 + + + ..\bin\ + TRACE + true + true + true + x64 + prompt + false + WinExe + true + OpenMetaverse + 4 + full + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + frmChat.cs + + + Form + + + frmAbout.cs + + + Form + + + frmConsole.cs + + + Form + + + Form + + + frmObjects.cs + + + Form + + + frmInventory.cs + + + Form + + + Form + + + + + + Form + + + frmCheckLicense.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Resources.resx + + + + + + + + + frmCrasher.cs + Designer + + + frmInventory.cs + Designer + + + frmAddAccount.cs + Designer + + + frmMain.cs + Designer + + + frmObjects.cs + Designer + + + frmCheckLicense.cs + Designer + + + + + + + + frmAbout.cs + Designer + + + + frmChat.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmConsole.cs + Designer + + + Designer + ResXFileCodeGenerator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + False + + + False + + + False + + + False + + + False + + + + + + + + + + + False + + + + + + + + + + + + + + + {6471B205-BF40-4B0D-8166-96E97368E38F} + clControls + + + {31E011D7-70C0-4DBD-A939-2FC7B0277BCD} + HttpServer + + + {071B9856-FD44-4ABC-AC8F-C6D9B85358F8} + OpenMetaverse.Http + + + {00BE5C71-F138-44D3-86DE-D0F544C555C6} + OpenMetaverse.StructuredData + + + {30D9B840-2CDA-4778-8FD5-9718EAAC1812} + OpenMetaverse.Utilities + + + {D6A7318D-0825-41C8-96FE-DE18E15F6913} + OpenMetaverseTypes + + + {4D08F132-0F89-43E5-805B-B42B6AAFEAEE} + OpenMetaverse + + + {F6A02431-167E-4347-BC43-65532C31CDB7} + log4net-mono + + + {19607F57-B521-4477-9DE0-F0D9B1A68BC7} + SmartIrc4net-mono + + + {6C115EF9-F48B-4606-9361-B09E337C9705} + clUtils + + + + + + + + + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9} + OpenMetaverse + + + + + + + \ No newline at end of file diff --git a/SLBot/NatiBot.csproj b/SLBot/NatiBot.csproj new file mode 100644 index 0000000..1b0a7a5 --- /dev/null +++ b/SLBot/NatiBot.csproj @@ -0,0 +1,1486 @@ + + + + local + 7.10.3077 + 2.0 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9} + Debug + AnyCPU + NatiBot + JScript + Grid + IE50 + false + WinExe + + + + + 3.5 + v3.5 + false + OpenMetaverse + 9.0.30729 + bot.Program + false + natibot.snk + natibot.ico + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + ..\bin\ + true + DEBUG;TRACE + true + false + false + 4 + full + prompt + true + WinExe + OpenMetaverse + AllRules.ruleset + + + ..\bin\ + true + TRACE + false + false + true + 4 + none + prompt + true + false + WinExe + OpenMetaverse + AllRules.ruleset + + + true + ..\bin\ + DEBUG;TRACE + true + true + full + x86 + prompt + false + WinExe + OpenMetaverse + 4 + AllRules.ruleset + + + ..\bin\ + TRACE + true + true + true + x86 + prompt + false + WinExe + true + OpenMetaverse + 4 + full + AllRules.ruleset + + + true + ..\bin\ + DEBUG;TRACE + true + true + full + x64 + prompt + WinExe + OpenMetaverse + true + 4 + AllRules.ruleset + + + ..\bin\ + TRACE + true + true + true + x64 + prompt + false + WinExe + true + OpenMetaverse + 4 + full + AllRules.ruleset + + + + + + + + 3.5 + + + + + + + + + + + + + + + Component + + + Form + + + Form + + + frmScriptDialog.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Component + + + Component + + + Component + + + Component + + + + Form + + + frmMap.cs + + + Form + + + frmResult.cs + + + Form + + + frmAvatars.cs + + + Form + + + frmDialog.cs + + + Form + + + frmFriends.cs + + + Form + + + frmGroups.cs + + + Form + + + frmProfile.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + frmChat.cs + + + Form + + + frmAbout.cs + + + Form + + + frmConsole.cs + + + Form + + + Form + + + frmObjects.cs + + + Form + + + frmInventory.cs + + + Form + + + + + + Form + + + frmCheckLicense.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + + + + + + + frmMain.cs + + + frmMap.cs + + + frmResult.cs + + + frmAvatars.cs + + + frmCrasher.cs + Designer + + + frmDialog.cs + + + frmFriends.cs + + + frmGroups.cs + + + frmInventory.cs + Designer + + + frmAddAccount.cs + Designer + + + frmObjects.cs + Designer + + + frmProfile.cs + + + frmScriptDialog.cs + + + frmCheckLicense.cs + Designer + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + false + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + true + + + False + .NET Framework 3.5 SP1 + false + + + False + Microsoft Visual Basic PowerPacks 10.0 + true + + + False + Windows Installer 3.1 + true + + + + + + + + + + + False + Include + True + + + + + Assembly + + + + + + + + + + + + + + + + + + + + frmAbout.cs + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmChat.cs + Designer + + + frmConsole.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Designer + + + + + + + + {93D3970D-9C6C-4250-BE8F-7CF974DEAB68} + clControls + + + {6C115EF9-F48B-4606-9361-B09E337C9705} + clUtils + + + {0037E22E-B40E-4D9B-8CD5-062E7E3BC1D7} + DotNetZip + + + {455E7D70-1C85-4D7F-9F01-DC801B8B8C34} + HttpServer + + + {9AFEA432-EF9E-44C2-A3BB-07C0CE25C6E9} + OpenMetaverse.Http + + + {80507A5F-CE32-4A67-BA89-ECFEAF9416DD} + OpenMetaverse.StructuredData + + + {3248EBAE-0D33-4544-B04C-013F5632F2A1} + OpenMetaverse.Utilities + + + {B636FB66-448A-400F-B4DD-1B04B7ABE270} + OpenMetaverseTypes + + + {81F745A1-D0E4-4807-AC44-009D229CEE6D} + OpenMetaverse + + + {F6A02431-167E-4347-BC43-65532C31CDB7} + log4net + + + {19607F57-B521-4477-9DE0-F0D9B1A68BC7} + SmartIrc4net + + + + + + + + + + + + + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9} + OpenMetaverse + + \ No newline at end of file diff --git a/SLBot/Properties/Resources.Designer.cs b/SLBot/Properties/Resources.Designer.cs new file mode 100644 index 0000000..d667b23 --- /dev/null +++ b/SLBot/Properties/Resources.Designer.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.21006.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OpenMetaverse.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenMetaverse.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap NatiBot { + get { + object obj = ResourceManager.GetObject("NatiBot", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/SLBot/Properties/Resources.resx b/SLBot/Properties/Resources.resx new file mode 100644 index 0000000..d9e7322 --- /dev/null +++ b/SLBot/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\bot\GUI\images\NatiBot.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/SLBot/SLBot.csproj b/SLBot/SLBot.csproj new file mode 100644 index 0000000..5435885 --- /dev/null +++ b/SLBot/SLBot.csproj @@ -0,0 +1,542 @@ + + + local + 7.10.3077 + 2.0 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9} + Debug + AnyCPU + SLBot + JScript + Grid + IE50 + false + WinExe + + + + + 0.0 + v3.5 + false + OpenMetaverse + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + ..\bin\ + true + DEBUG;TRACE + true + false + false + 4 + full + prompt + true + + + ..\bin\ + true + TRACE + false + false + true + 4 + none + prompt + true + + + + + False + ..\..\libsl\bin\OpenMetaverse.dll + + + False + ..\..\libsl\bin\OpenMetaverse.Utilities.dll + + + False + ..\..\libsl\bin\OpenMetaverseTypes.dll + + + System + + + + System.Drawing + + + System.Windows.Forms + + + System.Xml + + + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + + + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Form + + + + Form + + + frmInventory.cs + + + Form + + + Form + + + Form + + + Form + + + + + Code + + + + Code + + + Code + + + Code + + + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + + + + + + + + + True + True + Resources.resx + + + + + + + + + frmCrasher.cs + Designer + + + frmInventory.cs + Designer + + + FormObjects.cs + Designer + + + frmAddAccount.cs + Designer + + + frmMain.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + + + False + .NET Framework 2.0 %28x86%29 + false + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + true + + + False + Windows Installer 3.1 + true + + + + + + + + PreserveNewest + + + + + PreserveNewest + + + + + + + + + + \ No newline at end of file diff --git a/SLBot/Settings.cs b/SLBot/Settings.cs new file mode 100644 index 0000000..768196d --- /dev/null +++ b/SLBot/Settings.cs @@ -0,0 +1,63 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Settings.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace Properties +{ + // This class allows you to handle specific events on the settings class: + // The SettingChanging event is raised before a setting's value is changed. + // The PropertyChanged event is raised after a setting's value is changed. + // The SettingsLoaded event is raised after the setting values are loaded. + // The SettingsSaving event is raised before the setting values are saved. + internal sealed partial class Settings + { + + public Settings() + { + // // To add event handlers for saving and changing settings, uncomment the lines below: + // + // this.SettingChanging += this.SettingChangingEventHandler; + // + // this.SettingsSaving += this.SettingsSavingEventHandler; + // + } + + private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) + { + // Add code to handle the SettingChangingEvent event here. + } + + private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) + { + // Add code to handle the SettingsSaving event here. + } + } +} diff --git a/SLBot/app.config b/SLBot/app.config new file mode 100644 index 0000000..49cc43e --- /dev/null +++ b/SLBot/app.config @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/SLBot/bot/.DS_Store b/SLBot/bot/.DS_Store new file mode 100644 index 0000000..d078d53 Binary files /dev/null and b/SLBot/bot/.DS_Store differ diff --git a/SLBot/bot/AccountFile.cs b/SLBot/bot/AccountFile.cs new file mode 100644 index 0000000..6f4c5ee --- /dev/null +++ b/SLBot/bot/AccountFile.cs @@ -0,0 +1,125 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AccountFile.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using System; + using System.Collections.Generic; + using System.IO; + using System.Windows.Forms; + using System.Xml; + + public class AccountFile + { + private string m_file; + + public AccountFile(string file) + { + this.m_file = file; + } + + public List Load() + { + return this.LoadXML(); + } + + public List LoadXML() + { + List list = new List(); + if (!File.Exists(this.m_file)) + { + MessageBox.Show("The file " + this.m_file + " was not found"); + return list; + } + XmlDocument document = new XmlDocument(); + document.Load(this.m_file); + foreach (XmlNode node in document.DocumentElement.ChildNodes) + { + try + { + LoginDetails item = new LoginDetails(); + item.FirstName = node.Attributes["Firstname"].InnerText; + item.LastName = node.Attributes["Lastname"].InnerText; + item.Password = node.Attributes["Password"].InnerText; + item.MasterName = node.Attributes["MasterName"].InnerText; + item.MasterKey = (OpenMetaverse.UUID)node.Attributes["MasterKey"].InnerText; + item.StartLocation = node.Attributes["StartLocation"].InnerText; + list.Add(item); + continue; + } + catch (Exception exception) + { + bot.Console.WriteLine(exception.Message); + continue; + } + } + return list; + } + + public void Save(List accounts) + { + this.SaveXML(accounts); + } + + public void SaveXML(List accounts) + { + XmlDocument document = new XmlDocument(); + XmlNode newChild = document.CreateElement("Accounts"); + document.AppendChild(newChild); + foreach (LoginDetails details in accounts) + { + XmlNode node2 = document.CreateElement(string.Format("Account", details.FirstName, details.LastName)); + XmlAttribute node = document.CreateAttribute("Firstname"); + node.InnerText = details.FirstName; + node2.Attributes.Append(node); + node = document.CreateAttribute("Lastname"); + node.InnerText = details.LastName; + node2.Attributes.Append(node); + node = document.CreateAttribute("Password"); + node.InnerText = details.Password; + node2.Attributes.Append(node); + node = document.CreateAttribute("MasterName"); + node.InnerText = details.MasterName; + node2.Attributes.Append(node); + node = document.CreateAttribute("MasterKey"); + node.InnerText = details.MasterKey.ToString(); + node2.Attributes.Append(node); + node = document.CreateAttribute("StartLocation"); + node.InnerText = details.StartLocation; + node2.Attributes.Append(node); + newChild.AppendChild(node2); + } + document.Save(this.m_file); + } + } +} + diff --git a/SLBot/bot/AttachmentCollection.cs b/SLBot/bot/AttachmentCollection.cs new file mode 100644 index 0000000..5d66528 --- /dev/null +++ b/SLBot/bot/AttachmentCollection.cs @@ -0,0 +1,92 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AttachmentCollection.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Xml; +using OpenMetaverse; +using OpenMetaverse.StructuredData; + +namespace bot +{ + [XmlRoot("Attachment")] + class AttachmentCollection + { + private Dictionary prims; + + public AttachmentCollection() + { + prims = new Dictionary(); + } + + public void Add(List Niggers) + { + foreach (Primitive prim in Niggers) + { + Array arr = new object[2] + { + StateToAttachmentPoint(prim.PrimData.State), + OSDParser.SerializeLLSDXmlString(prim.GetOSD()) + }; + this.prims.Add(prim.ID, arr); + } + } + + public void Remove(UUID uuid) + { + prims.Remove(uuid); + } + + public static NBAttachmentPoint StateToAttachmentPoint(uint state) + { + const uint ATTACHMENT_MASK = 0xF0; + uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); + return (NBAttachmentPoint)fixedState; + } + + public Dictionary Prims + { + get + { + return this.prims; + } + set + { + this.prims = value; + } + } + + + } +} diff --git a/SLBot/bot/BotAccount.cs b/SLBot/bot/BotAccount.cs new file mode 100644 index 0000000..1b7febf --- /dev/null +++ b/SLBot/bot/BotAccount.cs @@ -0,0 +1,260 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BotAccount.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using bot.NetCom; + using OpenMetaverse; + using System; + using System.Windows.Forms; + using System.Drawing; + + public class BotAccount + { + private SecondLifeBot client; + private bool connecting; + private bool deleted; + //private DataGridViewClientRow gridViewRow; + private ListViewItem listItem; + private bot.LoginDetails loginDetails; + + public delegate void OnDialogScriptReceivedCallback(SecondLifeBot bot,ScriptDialogEventArgs args); + + public event OnDialogScriptReceivedCallback OnDialogScriptReceived; + + public delegate void StatusChangeCallback(string newStatus,System.Drawing.Color color,ListViewItem item); + + public event StatusChangeCallback OnStatusChange; + + public delegate void MasterChangeCallback(string newMaster,ListViewItem item); + + public event MasterChangeCallback OnMasterChange; + + public delegate void AccountRemovedCallback(ListViewItem item); + + public event AccountRemovedCallback OnAccountRemoved; + + public delegate void LocationChangeCallback(string newLocation,ListViewItem item); + + public event LocationChangeCallback OnLocationChanged; + + public BotAccount(bot.LoginDetails loginDetails) + { + this.loginDetails = loginDetails; + } + + public void LocationChange(string newLocation) + { + if (OnLocationChanged != null) + OnLocationChanged(newLocation, this.listItem); + } + + public void Connect() + { + if (this.client != null) + { + this.Disconnect(true); + } + else + { + this.connecting = true; + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.Connecting"), + System.Drawing.Color.Green, this.listItem); + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.Connecting"); + this.client = new SecondLifeBot(this); + this.client.Netcom.ClientLoginStatus += new EventHandler(this.Netcom_ClientLoginStatus); + this.client.Netcom.ClientLoggedOut += new EventHandler(this.Netcom_ClientLoggedOut); + this.client.OnDialogScriptReceived += new SecondLifeBot.OnDialogScriptReceivedCallback(this.client_OnDialogScriptReceived); + } + } + + void client_OnDialogScriptReceived(SecondLifeBot bot, ScriptDialogEventArgs args) + { + if (OnDialogScriptReceived != null) + OnDialogScriptReceived(bot, args); + } + + public bool Delete() + { + this.deleted = true; + if (!this.connecting) + { + this.Disconnect(false); + if (OnAccountRemoved != null) + OnAccountRemoved(this.listItem); + //this.GridViewRow.Delete(); + return true; + } + return true; + } + + public void Disconnect(bool reconnect) + { + if (this.client != null) + { + this.client.Dispose(); + this.client = null; + if (reconnect) + { + this.Connect(); + } + } + } + + private void Netcom_ClientLoggedOut(object sender, EventArgs e) + { + SecondLifeBot client = ((NetCommunication)sender).Client; + if (!this.deleted) + { + bot.Console.WriteLine(client, bot.Localization.clResourceManager.getText("botAccount.Offline")); + } + if (client == this.client) + { + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.Offline"), + System.Drawing.Color.Red, this.listItem); + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.Offline"); + } + } + + private void Netcom_ClientLoginStatus(object sender, ClientLoginEventArgs e) + { + //THREADING + if (((NetCommunication)sender).Client == this.client) + { + switch (e.Status) + { + case LoginStatus.Failed: + this.connecting = false; + if (OnStatusChange != null) + OnStatusChange(e.Message, Color.Red, this.listItem); + //this.gridViewRow.Status = e.Message; + bot.Console.WriteLine(this.client, bot.Localization.clResourceManager.getText("botAccount.LoginFailed"), e.Message); + return; + + case LoginStatus.None: + return; + + case LoginStatus.ConnectingToLogin: + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.ConnectingLogin"); + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.ConnectingLogin"), + Color.White, this.listItem); + bot.Console.WriteLine(this.client, bot.Localization.clResourceManager.getText("botAccount.ConnectingLogin")); + return; + + case LoginStatus.ReadingResponse: + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.ReadingResponse"); + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.ReadingResponse"), + Color.White, this.listItem); + bot.Console.WriteLine(this.client, bot.Localization.clResourceManager.getText("botAccount.ReadingResponse")); + return; + + case LoginStatus.ConnectingToSim: + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.ConnectingRegion"); + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.ConnectingRegion"), + Color.White, this.listItem); + bot.Console.WriteLine(this.client, bot.Localization.clResourceManager.getText("botAccount.ConnectingRegion")); + return; + + case LoginStatus.Redirecting: + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.Redirecting"); + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.Redirecting"), + Color.White, this.listItem); + bot.Console.WriteLine(this.client, bot.Localization.clResourceManager.getText("botAccount.Redirecting")); + return; + + case LoginStatus.Success: + this.connecting = false; + //this.gridViewRow.Status = bot.Localization.clResourceManager.getText("botAccount.Online"); + if (OnStatusChange != null) + OnStatusChange(bot.Localization.clResourceManager.getText("botAccount.Online"), + Color.Green, this.listItem); + bot.Console.WriteLine(this.client, bot.Localization.clResourceManager.getText("botAccount.Online")); + if (this.deleted) + { + this.Delete(); + } + return; + } + } + } + + public void SetMaster(string masterName) + { + SetMaster(masterName, false); + } + + public void SetMaster(string masterName, bool save) + { + if (save) + this.LoginDetails.MasterName = masterName; + + if (OnMasterChange != null) + OnMasterChange(masterName, this.listItem); + //this.gridViewRow.MasterName = masterName; + } + + public SecondLifeBot Client + { + get + { + return this.client; + } + } + + public ListViewItem ListItem + { + get + { + return this.listItem; + } + set + { + this.listItem = value; + } + } + + public bot.LoginDetails LoginDetails + { + get + { + return this.loginDetails; + } + } + } +} + diff --git a/SLBot/bot/BotConfig.cs b/SLBot/bot/BotConfig.cs new file mode 100644 index 0000000..0598d2e --- /dev/null +++ b/SLBot/bot/BotConfig.cs @@ -0,0 +1,161 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BotConfig.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using System; + using System.Xml.Serialization; + + [XmlRoot("BotConfig")] + public class BotConfig + { + private CampChair lastSitposition; + private bool saveSitPosition; + + private bool getTextures; + private bool getSounds; + private bool getAnimations; + private bool informFriends; + private bool touchMidnightMania; + private bool haveLuck; + private bool acceptInventoryOffers; + + public CampChair LastSitposition + { + get + { + return this.lastSitposition; + } + set + { + this.lastSitposition = value; + } + } + + public bool SaveSitPosition + { + get + { + return this.saveSitPosition; + } + set + { + this.saveSitPosition = value; + } + } + + public bool GetTextures + { + get + { + return this.getTextures; + } + set + { + this.getTextures = value; + } + } + + public bool GetSounds + { + get + { + return this.getSounds; + } + set + { + this.getSounds = value; + } + } + + public bool GetAnimations + { + get + { + return this.getAnimations; + } + set + { + this.getAnimations = value; + } + } + + public bool InformFriends + { + get + { + return this.informFriends; + } + set + { + this.informFriends = value; + } + } + + public bool TouchMidnightMania + { + get + { + return this.touchMidnightMania; + } + set + { + this.touchMidnightMania = value; + } + } + + public bool HaveLuck + { + get + { + return this.haveLuck; + } + set + { + this.haveLuck = value; + } + } + + public bool AcceptInventoryOffers + { + get + { + return this.acceptInventoryOffers; + } + set + { + this.acceptInventoryOffers = value; + } + } + } +} + diff --git a/SLBot/bot/CampChair.cs b/SLBot/bot/CampChair.cs new file mode 100644 index 0000000..6601630 --- /dev/null +++ b/SLBot/bot/CampChair.cs @@ -0,0 +1,46 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CampChair.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using OpenMetaverse; + using System; + using System.Xml.Serialization; + + [XmlRoot("CampPosition")] + public class CampChair + { + private string location = string.Empty; + private UUID prim = UUID.Zero; + } +} + diff --git a/SLBot/bot/Chat.cs b/SLBot/bot/Chat.cs new file mode 100644 index 0000000..5984e2f --- /dev/null +++ b/SLBot/bot/Chat.cs @@ -0,0 +1,102 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Chat.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using bot.GUI; + using System; + using System.Collections.Generic; + using OpenMetaverse; + + public static class Chat + { + public struct structInstantMessage + { + public SecondLifeBot client; + public InstantMessage message; + public Simulator simulator; + public DateTime timestamp; + public bool isReceived; + } + + public struct structGeneralChat + { + public SecondLifeBot client; + public string message; + public ChatAudibleLevel audible; + public ChatType type; + public ChatSourceType sourceType; + public string fromName; + public UUID id; + public UUID ownerid; + public Vector3 position; + public DateTime timestamp; + } + + public delegate void OnIMReceivedCallback(bot.Chat.structInstantMessage message); + + public delegate void OnChatReceivedCallback(bot.Chat.structGeneralChat chat); + + public static event OnIMReceivedCallback OnIMReceived; + public static event OnChatReceivedCallback OnChatReceived; + + private static void BotForm_OnInputSend(SecondLifeBot client, InstantMessage im, Simulator simulator, DateTime timestamp) + { + structInstantMessage preBuffer = new structInstantMessage(); + + preBuffer.client = client; + preBuffer.message = im; + preBuffer.simulator = simulator; + preBuffer.timestamp = timestamp; + preBuffer.isReceived = false; + + receivedIM(preBuffer); + } + + public static void Initialize(frmChat mainForm) + { + mainForm.OnInputSend += new frmChat.InputSendCallback(bot.Chat.BotForm_OnInputSend); + } + + public static void receivedIM(structInstantMessage preBuffer) + { + if (OnIMReceived != null) + OnIMReceived(preBuffer); + } + + public static void receivedChat(structGeneralChat preBuffer) + { + if (OnChatReceived != null) + OnChatReceived(preBuffer); + } + } +} diff --git a/SLBot/bot/ClientTags.cs b/SLBot/bot/ClientTags.cs new file mode 100644 index 0000000..262dd97 --- /dev/null +++ b/SLBot/bot/ClientTags.cs @@ -0,0 +1,103 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ClientTags.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Reflection; +using System.Collections.Generic; +using OpenMetaverse; + +namespace bot +{ + public struct ClientTag + { + public UUID _ClientID; + public string _ClientName; + + public ClientTag(UUID ClientID, string ClientName) + { + _ClientID = ClientID; + _ClientName = ClientName; + } + } + + public static class ClientTags + { + public readonly static ClientTag MOYMIX = new ClientTag(UUID.Parse("0bcd5f5d-a4ce-9ea4-f9e8-15132653b3d8"), "MoyMix"); + public readonly static ClientTag CRYOLIFE = new ClientTag(UUID.Parse("0f6723d2-5b23-6b58-08ab-308112b33786"), "CryoLife"); + public readonly static ClientTag VERTICALLIFE = new ClientTag(UUID.Parse("11ad2452-ce54-8d65-7c23-05589b59f516"), "VerticalLife"); + public readonly static ClientTag GEMINI = new ClientTag(UUID.Parse("1c29480c-c608-df87-28bb-964fb64c5366"), "Gemini"); + public readonly static ClientTag MEERKAT = new ClientTag(UUID.Parse("2a9a406c-f448-68f2-4e38-878f8c46c190"), "Meerkat"); + public readonly static ClientTag PHOXSL = new ClientTag(UUID.Parse("2c9c1e0b-e5d1-263e-16b1-7fc6d169f3d6"), "PhoxSL"); + public readonly static ClientTag VERTICALLIFE2 = new ClientTag(UUID.Parse("3ab7e2fa-9572-ef36-1a30-d855dbea4f92"), "VerticalLife"); + public readonly static ClientTag SAPPHIRE = new ClientTag(UUID.Parse("4e8dcf80-336b-b1d8-ef3e-08dacf015a0f"), "Sapphire"); + public readonly static ClientTag VERTICALLIFE3 = new ClientTag(UUID.Parse("58a8b7ec-1455-7162-5d96-d3c3ead2ed71"), "VerticalLife"); + public readonly static ClientTag LGG = new ClientTag(UUID.Parse("5aa5c70d-d787-571b-0495-4fc1bdef1500"), "LGG proxy"); + public readonly static ClientTag PSL = new ClientTag(UUID.Parse("77662f23-c77a-9b4d-5558-26b757b2144c"), "PSL"); + public readonly static ClientTag KUNGFU = new ClientTag(UUID.Parse("7c4d47a3-0c51-04d1-fa47-e4f3ac12f59b"), "Kung Fu"); + public readonly static ClientTag DAYOH = new ClientTag(UUID.Parse("8183e823-c443-2142-6eb6-2ab763d4f81c"), "Day Oh proxy"); + public readonly static ClientTag INFINITY = new ClientTag(UUID.Parse("81b3e921-ee31-aa57-ff9b-ec1f28e41da1"), "Infinity"); + public readonly static ClientTag VERTICALLIFE4 = new ClientTag(UUID.Parse("841ef25b-3b90-caf9-ea3d-5649e755db65"), "VerticalLife"); + public readonly static ClientTag FAG = new ClientTag(UUID.Parse("872c0005-3095-0967-866d-11cd71115c22"), "<-- Fag"); + public readonly static ClientTag BETALIFE = new ClientTag(UUID.Parse("9422e9d7-7b11-83e4-6262-4a8db4716a3b"), "BetaLife"); + public readonly static ClientTag TYK3N = new ClientTag(UUID.Parse("adcbe893-7643-fd12-f61c-0b39717e2e32"), "tyk3n"); + public readonly static ClientTag MERKAT2 = new ClientTag(UUID.Parse("b6820989-bf42-ff59-ddde-fd3fd3a74fe4"), "Meerkat"); + public readonly static ClientTag VLIFE = new ClientTag(UUID.Parse("c252d89d-6f7c-7d90-f430-d140d2e3fbbe"), "VLife"); + public readonly static ClientTag KUNGFU2 = new ClientTag(UUID.Parse("c5b570ca-bb7e-3c81-afd1-f62646b20014"), "Kung Fu"); + public readonly static ClientTag RUBY = new ClientTag(UUID.Parse("ccb509cf-cc69-e569-38f1-5086c687afd1"), "Ruby"); + public readonly static ClientTag EMERALD = new ClientTag(UUID.Parse("ccda2b3b-e72c-a112-e126-fee238b67218"), "Emerald"); + public readonly static ClientTag RIVLIFE = new ClientTag(UUID.Parse("d3eb4a5f-aec5-4bcb-b007-cce9efe89d37"), "rivlife"); + public readonly static ClientTag CRYOLIFE2 = new ClientTag(UUID.Parse("e52d21f7-3c8b-819f-a3db-65c432295dac"), "CryoLife"); + public readonly static ClientTag VERTICALLIFE5 = new ClientTag(UUID.Parse("e734563e-1c31-2a35-3ed5-8552c807439f"), "VerticalLife"); + public readonly static ClientTag PSL2 = new ClientTag(UUID.Parse("f3fd74a6-fee7-4b2f-93ae-ddcb5991da04"), "PSL"); + public readonly static ClientTag NEILLIFE = new ClientTag(UUID.Parse("f5a48821-9a98-d09e-8d6a-50cc08ba9a47"), "NeilLife"); + public readonly static ClientTag CORGI = new ClientTag(UUID.Parse("ffce04ff-5303-4909-a044-d37af7ab0b0e"), "Corgi"); + + /// + /// A dictionary containing all known client tags + /// + /// A dictionary containing the known client tags, + /// where the key is the tag ID, and the value is a string + /// containing the client name + public static Dictionary ToDictionary() + { + Dictionary dict = new Dictionary(); + Type type = typeof(ClientTags); + foreach (FieldInfo field in type.GetFields(BindingFlags.Public | BindingFlags.Static)) + { + ClientTag _Tag = (ClientTag)field.GetValue(type); + + dict.Add(_Tag._ClientID, _Tag._ClientName); + } + return dict; + } + } +} diff --git a/SLBot/bot/Commands/Agent/AnimateCommand.cs b/SLBot/bot/Commands/Agent/AnimateCommand.cs new file mode 100644 index 0000000..ffa4428 --- /dev/null +++ b/SLBot/bot/Commands/Agent/AnimateCommand.cs @@ -0,0 +1,140 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AnimateCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using OpenMetaverse; +using System.Collections.Generic; +using System.Text; + +namespace bot.Core.Commands +{ + public class AnimateCommand : bot.Commands.Command + { + private Dictionary m_BuiltInAnimations = new Dictionary(Animations.ToDictionary()); + + public AnimateCommand(SecondLifeBot SecondLifeBot) + { + Client = SecondLifeBot; + Name = "animate"; + Description = bot.Localization.clResourceManager.getText("Commands.Animate.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Animate.Usage"); + } + + private UUID animID; + + public override string Execute(string[] args, UUID fromAgentID, bool from_SL) + { + string arg; + StringBuilder result = new StringBuilder(); + + if (args.Length == 1) + { + arg = args[0].Trim(); + + if (UUID.TryParse(args[0], out animID)) + { + Client.Self.AnimationStart(animID, true); + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Animate.Starting"), animID); + } + else if (arg.ToLower().Equals("list")) + { + foreach (string key in m_BuiltInAnimations.Values) + { + result.AppendLine(key); + } + } + else if (arg.ToLower().Equals("show")) + { + Client.Self.SignaledAnimations.ForEach(delegate(KeyValuePair kvp) + { + if (m_BuiltInAnimations.ContainsKey(kvp.Key)) + { + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Animate.SystemAnimation"), m_BuiltInAnimations[kvp.Key], kvp.Value); + } + else + { + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Animate.AssetAnimation"), kvp.Key, kvp.Value); + } + }); + } + else if (args[0].ToLower() == "stop") + { + Client.Self.SignaledAnimations.ForEach(delegate(KeyValuePair kvp) + { + Client.Self.AnimationStop(kvp.Key, true); + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Animate.Stopping"), kvp.Key); + }); + } + else if (m_BuiltInAnimations.ContainsValue(args[0].Trim().ToUpper())) + { + foreach (var kvp in m_BuiltInAnimations) + { + if (kvp.Value.Equals(arg.ToUpper())) + { + Client.Self.AnimationStart(kvp.Key, true); + break; + } + } + } + } + else if (args.Length == 2) + { + if (args[0].ToLower() == "stop" && UUID.TryParse(args[1], out animID)) + { + Client.Self.AnimationStop(animID, true); + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Animate.Stopping"), animID); + } + else if (m_BuiltInAnimations.ContainsValue(args[0].Trim().ToUpper())) + { + foreach (var kvp in m_BuiltInAnimations) + { + if (kvp.Value.Equals(args[1].ToUpper())) + { + Client.Self.AnimationStop(kvp.Key, true); + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Animate.Stopping"), kvp.Key); + break; + } + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Animate.Usage"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Animate.Usage"); + } + + return result.ToString(); + } + } +} diff --git a/SLBot/bot/Commands/Agent/AppearanceCommand.cs b/SLBot/bot/Commands/Agent/AppearanceCommand.cs new file mode 100644 index 0000000..04c56a5 --- /dev/null +++ b/SLBot/bot/Commands/Agent/AppearanceCommand.cs @@ -0,0 +1,55 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AppearanceCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Threading; + + public class AppearanceCommand : Command + { + public AppearanceCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "appearance"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Appearance.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.Appearance.RequestSetAppearance((args.Length > 0 && args[0].Equals("rebake"))); + return bot.Localization.clResourceManager.getText("Commands.Appearance.Thread"); + } + } +} + diff --git a/SLBot/bot/Commands/Agent/AttachCommand.cs b/SLBot/bot/Commands/Agent/AttachCommand.cs new file mode 100644 index 0000000..3757c3c --- /dev/null +++ b/SLBot/bot/Commands/Agent/AttachCommand.cs @@ -0,0 +1,89 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AttachCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + + public class AttachCommand : Command + { + private InventoryManager Manager; + private OpenMetaverse.Inventory Inventory; + + public AttachCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "attach"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Attach.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Attach.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length != 1) + { + return bot.Localization.clResourceManager.getText("Commands.Attach.Usage"); + } + UUID dest; + if (!UUID.TryParse(args[0], out dest)) + { + return bot.Localization.clResourceManager.getText("Commands.Attach.ExpectedID"); + } + Manager = Client.Inventory; + Inventory = Manager.Store; + + string inventoryName = args[0]; + // WARNING: Uses local copy of inventory contents, need to download them first. + List contents = Inventory.GetContents(Client.CurrentDirectory); + foreach (InventoryBase b in contents) + { + if (inventoryName == b.Name || inventoryName.ToLower() == b.UUID.ToString()) + { + if (b is InventoryItem) + { + InventoryItem item = b as InventoryItem; + + Client.Appearance.Attach(item, AttachmentPoint.Default); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Attach.Attaching"), item.Name); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Attach.NotFolder"), b.Name); + } + } + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.Attach.NotFound"), inventoryName); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Agent/AttachmentsCommand.cs b/SLBot/bot/Commands/Agent/AttachmentsCommand.cs new file mode 100644 index 0000000..0b005ff --- /dev/null +++ b/SLBot/bot/Commands/Agent/AttachmentsCommand.cs @@ -0,0 +1,89 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AttachmentsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Collections.Generic; + + public class AttachmentsCommand : Command + { + public AttachmentsCommand(SecondLifeBot SecondLifeBot) + { + base.Client = SecondLifeBot; + base.Name = "attachments"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Attachments.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder builder = new StringBuilder(); + + List attachments = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) + { + return prim.ParentID == Client.Self.LocalID; + } + ); + + for (int i = 0; i < attachments.Count; i++) + { + Primitive prim = attachments[i]; + NBAttachmentPoint point = StateToAttachmentPoint(prim.PrimData.State); + + // TODO: Fetch properties for the objects with missing property sets so we can show names + //Logger.Log(String.Format("[Attachment @ {0}] LocalID: {1} UUID: {2} Offset: {3}", + // point, prim.LocalID, prim.ID, prim.Position), Helpers.LogLevel.Info, Client); + + builder.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Attachments.Attachment"), + point, prim.LocalID, prim.ID, prim.Position); + + builder.AppendLine(); + } + + builder.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Attachments.Found"), attachments.Count)); + + return builder.ToString(); + } + + public static NBAttachmentPoint StateToAttachmentPoint(uint state) + { + const uint ATTACHMENT_MASK = 0xF0; + uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); + return (NBAttachmentPoint)fixedState; + } + } +} + diff --git a/SLBot/bot/Commands/Agent/AwayCommand.cs b/SLBot/bot/Commands/Agent/AwayCommand.cs new file mode 100644 index 0000000..f78dbea --- /dev/null +++ b/SLBot/bot/Commands/Agent/AwayCommand.cs @@ -0,0 +1,80 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AwayCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + + public class AwayCommand : Command + { + private static readonly UUID AWAYID = new UUID("FD037134-85D4-F241-72C6-4F42164FEDEE"); + + public AwayCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "away"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Away.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Away.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 0) + { + if (Client.isAway) + return bot.Localization.clResourceManager.getText("Commands.Away.Afk"); + else + return bot.Localization.clResourceManager.getText("Commands.Away.NotAfk"); + } + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Away.Usage"); + + if (args[0].ToLower() == "on") + { + Client.isAway = true; + Client.Self.AnimationStart(AWAYID, true); + return bot.Localization.clResourceManager.getText("Commands.Away.WillAfk"); + } + else if (args[0].ToLower() == "off") + { + Client.isAway = false; + Client.Self.AnimationStop(AWAYID, true); + return bot.Localization.clResourceManager.getText("Commands.Away.WontAfk"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Away.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/BalanceCommand.cs b/SLBot/bot/Commands/Agent/BalanceCommand.cs new file mode 100644 index 0000000..fe535ff --- /dev/null +++ b/SLBot/bot/Commands/Agent/BalanceCommand.cs @@ -0,0 +1,67 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BalanceCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class BalanceCommand : Command + { + public BalanceCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "balance"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Balance.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + System.Threading.AutoResetEvent waitBalance = new System.Threading.AutoResetEvent(false); + EventHandler del = delegate(object sender, BalanceEventArgs e) + { + waitBalance.Set(); + }; + Client.Self.MoneyBalance += del; + Client.Self.RequestBalance(); + String result = bot.Localization.clResourceManager.getText("Commands.Balance.Timeout"); + if (waitBalance.WaitOne(10000, false)) + { + result = String.Format(bot.Localization.clResourceManager.getText("Commands.Balance.Balance"), Client.ToString(), + Client.Self.Balance); + } + Client.Self.MoneyBalance -= del; + return result; + } + } +} + diff --git a/SLBot/bot/Commands/Agent/BeamCommand.cs b/SLBot/bot/Commands/Agent/BeamCommand.cs new file mode 100644 index 0000000..a865a5c --- /dev/null +++ b/SLBot/bot/Commands/Agent/BeamCommand.cs @@ -0,0 +1,140 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BeamCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + using System.Timers; + + public class BeamCommand : Command + { + private Timer b = new Timer(); + private bool doBeam; + + public BeamCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "beam"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Beam.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Beam.Usage"); + + b.Elapsed += new ElapsedEventHandler(b_Elapsed); + } + + void b_Elapsed(object sender, ElapsedEventArgs e) + { + doBeam = false; + b.Enabled = false; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID targetID = UUID.Zero; + string avatarName = ""; + bool isGroupKey = false; + Avatar foundAv = null; + Primitive foundPrim; + Vector3d targetPosition; + doBeam = true; + b.Interval = 5000; + + if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out targetID)) + return bot.Localization.clResourceManager.getText("Commands.Beam.Usage"); + } + else if (args.Length == 2) + { + avatarName = args[0] + " " + args[1]; + if (!Client.FindOneAvatar(avatarName, out targetID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Beam.AvNotFound"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Beam.Usage"); + } + + if (targetID != UUID.Zero) + { + Client.key2Name(targetID, out avatarName, out isGroupKey); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.Beam.CannotGroup"); + + if (avatarName != "") + { + foundAv = Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return (avatar.Name == avatarName); + } + ); + + if (foundAv == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Beam.AvNotInSim"), avatarName); + + targetPosition = new Vector3d(foundAv.Position); + } + else + { + foundPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == targetID; + } + ); + + if (foundPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Beam.ObjNotInSim"), targetID); + + targetPosition = new Vector3d(foundPrim.Position); + } + + b.Enabled = true; + while (doBeam) + { + Client.Self.BeamEffect(Client.Self.AgentID, targetID, targetPosition, new Color4(0, 0, 0, 255), 5000.0f, + new UUID("aec29773-c421-364e-4f29-e3f633222188")); + } + + if (avatarName == "") + return String.Format(bot.Localization.clResourceManager.getText("Commands.Beam.BeamObj"), targetID); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Beam.BeamAv"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Beam.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/BusyCommand.cs b/SLBot/bot/Commands/Agent/BusyCommand.cs new file mode 100644 index 0000000..b330142 --- /dev/null +++ b/SLBot/bot/Commands/Agent/BusyCommand.cs @@ -0,0 +1,80 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BusyCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + + public class BusyCommand : Command + { + private static readonly UUID BUSYID = new UUID("EFCF670C-2D18-8128-973A-034EBC806B67"); + + public BusyCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "busy"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Busy.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Busy.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 0) + { + if (Client.isBusy) + return bot.Localization.clResourceManager.getText("Commands.Busy.Busy"); + else + return bot.Localization.clResourceManager.getText("Commands.Busy.NotBusy"); + } + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Busy.Usage"); + + if (args[0].ToLower() == "on") + { + Client.isBusy = true; + Client.Self.AnimationStart(BUSYID, true); + return bot.Localization.clResourceManager.getText("Commands.Busy.WillBusy"); + } + else if (args[0].ToLower() == "off") + { + Client.isBusy = false; + Client.Self.AnimationStop(BUSYID, true); + return bot.Localization.clResourceManager.getText("Commands.Busy.WontBusy"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Busy.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/GestureCommand.cs b/SLBot/bot/Commands/Agent/GestureCommand.cs new file mode 100644 index 0000000..7bcc88e --- /dev/null +++ b/SLBot/bot/Commands/Agent/GestureCommand.cs @@ -0,0 +1,76 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GestureCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using OpenMetaverse; +using System.Collections.Generic; +using System.Text; + +namespace bot.Core.Commands +{ + public class GestureCommand : bot.Commands.Command + { + private Dictionary m_BuiltInAnimations = new Dictionary(Animations.ToDictionary()); + + public GestureCommand(SecondLifeBot SecondLifeBot) + { + Client = SecondLifeBot; + Name = "gesture"; + Description = bot.Localization.clResourceManager.getText("Commands.Gesture.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Gesture.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool from_SL) + { + UUID gestureID = UUID.Zero; + + if (args.Length == 1) + { + if (UUID.TryParse(args[0], out gestureID)) + { + if (gestureID == UUID.Zero) + return bot.Localization.clResourceManager.getText("Commands.Gesture.Usage"); + + Client.Self.PlayGesture(gestureID); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Gesture.Playing"), gestureID); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Gesture.Usage"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Gesture.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/GroundSitCommand.cs b/SLBot/bot/Commands/Agent/GroundSitCommand.cs new file mode 100644 index 0000000..6a342c5 --- /dev/null +++ b/SLBot/bot/Commands/Agent/GroundSitCommand.cs @@ -0,0 +1,54 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroundSitCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + + public class GroundSitCommand : Command + { + public GroundSitCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "gsit"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GroundSit.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.Self.SitOnGround(); + + return bot.Localization.clResourceManager.getText("Commands.GroundSit.Sitting"); + } + } +} diff --git a/SLBot/bot/Commands/Agent/HealthCommand.cs b/SLBot/bot/Commands/Agent/HealthCommand.cs new file mode 100644 index 0000000..2c5d202 --- /dev/null +++ b/SLBot/bot/Commands/Agent/HealthCommand.cs @@ -0,0 +1,53 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : HealthComand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class HealthComand : Command + { + public HealthComand(SecondLifeBot SecondLifeBot) + { + base.Name = "health"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Health.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Health.Health"), Client.Self.Health); + } + } +} + diff --git a/SLBot/bot/Commands/Agent/LocationCommand.cs b/SLBot/bot/Commands/Agent/LocationCommand.cs new file mode 100644 index 0000000..5560d29 --- /dev/null +++ b/SLBot/bot/Commands/Agent/LocationCommand.cs @@ -0,0 +1,54 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LocationCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class LocationCommand : Command + { + public LocationCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "location"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Location.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Location.Location"), Client.Network.CurrentSim.ToString(), + Client.Self.SimPosition.ToString()); + } + } +} + diff --git a/SLBot/bot/Commands/Agent/LookAtCommand.cs b/SLBot/bot/Commands/Agent/LookAtCommand.cs new file mode 100644 index 0000000..2501b14 --- /dev/null +++ b/SLBot/bot/Commands/Agent/LookAtCommand.cs @@ -0,0 +1,122 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LookAtCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + using System.Timers; + + public class LookAtCommand : Command + { + public LookAtCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "lookat"; + base.Description = bot.Localization.clResourceManager.getText("Commands.LookAt.Description") + " " + bot.Localization.clResourceManager.getText("Commands.LookAt.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID targetID = UUID.Zero; + string avatarName = ""; + bool isGroupKey = false; + Avatar foundAv = null; + Primitive foundPrim; + Vector3d targetPosition; + + if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out targetID)) + return bot.Localization.clResourceManager.getText("Commands.LookAt.Usage"); + } + else if (args.Length == 2) + { + avatarName = args[0] + " " + args[1]; + if (!Client.FindOneAvatar(avatarName, out targetID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.LookAt.AvNotFound"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.LookAt.Usage"); + } + + if (targetID != UUID.Zero) + { + Client.key2Name(targetID, out avatarName, out isGroupKey); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.LookAt.CannotGroup"); + + if (avatarName != "") + { + foundAv = Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return (avatar.Name == avatarName); + } + ); + + if (foundAv == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.LookAt.AvNotInSim"), avatarName); + + targetPosition = new Vector3d(foundAv.Position); + } + else + { + foundPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == targetID; + } + ); + + if (foundPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.LookAt.ObjNotInSim"), targetID); + + targetPosition = new Vector3d(foundPrim.Position); + } + + Client.Self.LookAtEffect(Client.Self.AgentID, targetID, targetPosition, LookAtType.Focus, UUID.Zero); + + if (avatarName == "") + return String.Format(bot.Localization.clResourceManager.getText("Commands.LookAt.LookObj"), targetID); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.LookAt.LookAv"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.LookAt.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/NaduCommand.cs b/SLBot/bot/Commands/Agent/NaduCommand.cs new file mode 100644 index 0000000..652d7f4 --- /dev/null +++ b/SLBot/bot/Commands/Agent/NaduCommand.cs @@ -0,0 +1,80 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : NaduCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + + public class NaduCommand : Command + { + private static readonly UUID NADUID = new UUID("6C83A33E-90E4-A350-91FF-E10209BDEC97"); + + public NaduCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "nadu"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Nadu.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Nadu.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 0) + { + if (Client.isNadu) + return bot.Localization.clResourceManager.getText("Commands.Nadu.Nadu"); + else + return bot.Localization.clResourceManager.getText("Commands.Nadu.NotNadu"); + } + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Nadu.Usage"); + + if (args[0].ToLower() == "on") + { + Client.isNadu = true; + Client.Self.AnimationStart(NADUID, true); + return bot.Localization.clResourceManager.getText("Commands.Nadu.WillNadu"); + } + else if (args[0].ToLower() == "off") + { + Client.isNadu = false; + Client.Self.AnimationStop(NADUID, true); + return bot.Localization.clResourceManager.getText("Commands.Nadu.WontNadu"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Nadu.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/PayCommand.cs b/SLBot/bot/Commands/Agent/PayCommand.cs new file mode 100644 index 0000000..4730c70 --- /dev/null +++ b/SLBot/bot/Commands/Agent/PayCommand.cs @@ -0,0 +1,86 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : PayCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class PayCommand : Command + { + public PayCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "pay"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Pay.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Pay.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + int amount; + UUID avatarID; + string avatarName; + + if (args.Length == 1) + { + avatarID = Client.MasterKey; + } + else if (args.Length == 2) + { + if (!UUID.TryParse(args[1], out avatarID)) + { + return bot.Localization.clResourceManager.getText("Commands.Pay.Usage"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Pay.Usage"); + } + + if (!Int32.TryParse(args[0], out amount)) + if (args[0].ToLower().Equals("all")) + amount = Client.Self.Balance; + else + return bot.Localization.clResourceManager.getText("Commands.Pay.Usage"); + + if (!Client.key2Name(avatarID, out avatarName)) + avatarName = avatarID.ToString(); + + if (amount > Client.Self.Balance) + amount = Client.Self.Balance; + + Client.Self.GiveAvatarMoney(avatarID, amount, String.Format(bot.Localization.clResourceManager.getText("Commands.Pay.Message"), amount)); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Pay.Gave"), amount, avatarName); + } + } +} + diff --git a/SLBot/bot/Commands/Agent/PickCommand.cs b/SLBot/bot/Commands/Agent/PickCommand.cs new file mode 100644 index 0000000..70421e0 --- /dev/null +++ b/SLBot/bot/Commands/Agent/PickCommand.cs @@ -0,0 +1,65 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : PickCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + + public class PickCommand : Command + { + public PickCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "pick"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Pick.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Pick.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + string description = ""; + + if (args.Length == 0) + return bot.Localization.clResourceManager.getText("Commands.Pick.Usage"); + + foreach (string arg in args) + { + description += arg; + description += " "; + } + + Client.Self.PickInfoUpdate(UUID.Random(), false, UUID.Zero, bot.Localization.clResourceManager.getText("Commands.Pick.PickName"), Client.Self.GlobalPosition, UUID.Zero, description); + + return bot.Localization.clResourceManager.getText("Commands.Pick.Picking"); + } + } +} diff --git a/SLBot/bot/Commands/Agent/PlaySoundCommand.cs b/SLBot/bot/Commands/Agent/PlaySoundCommand.cs new file mode 100644 index 0000000..4983c35 --- /dev/null +++ b/SLBot/bot/Commands/Agent/PlaySoundCommand.cs @@ -0,0 +1,76 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : PlaySoundCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using OpenMetaverse; +using System.Collections.Generic; +using System.Text; + +namespace bot.Core.Commands +{ + public class PlaySoundCommand : bot.Commands.Command + { + private Dictionary m_BuiltInAnimations = new Dictionary(Animations.ToDictionary()); + + public PlaySoundCommand(SecondLifeBot SecondLifeBot) + { + Client = SecondLifeBot; + Name = "playsound"; + Description = bot.Localization.clResourceManager.getText("Commands.PlaySound.Description") + " " + bot.Localization.clResourceManager.getText("Commands.PlaySound.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool from_SL) + { + UUID soundID = UUID.Zero; + + if (args.Length == 1) + { + if (UUID.TryParse(args[0], out soundID)) + { + if (soundID == UUID.Zero) + return bot.Localization.clResourceManager.getText("Commands.PlaySound.Usage"); + + Client.Sound.PlaySound(soundID); + return String.Format(bot.Localization.clResourceManager.getText("Commands.PlaySound.Playing"), soundID); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.PlaySound.Usage"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.PlaySound.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Agent/SetHomeCommand.cs b/SLBot/bot/Commands/Agent/SetHomeCommand.cs new file mode 100644 index 0000000..1e274dd --- /dev/null +++ b/SLBot/bot/Commands/Agent/SetHomeCommand.cs @@ -0,0 +1,54 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SetHomeCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class SetHomeCommand : Command + { + public SetHomeCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "sethome"; + base.Description = bot.Localization.clResourceManager.getText("Commands.SetHome.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.Self.SetHome(); + return bot.Localization.clResourceManager.getText("Commands.SetHome.Set"); + } + } +} + diff --git a/SLBot/bot/Commands/Agent/WearCommand.cs b/SLBot/bot/Commands/Agent/WearCommand.cs new file mode 100644 index 0000000..eebef3c --- /dev/null +++ b/SLBot/bot/Commands/Agent/WearCommand.cs @@ -0,0 +1,90 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : WearCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class WearCommand : Command + { + public WearCommand(SecondLifeBot SecondLifeBot) + { + base.Client = SecondLifeBot; + base.Name = "wear"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Wear.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Wear.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.Wear.Usage"); + + string target = String.Empty; + bool bake = true; + + for (int ct = 0; ct < args.Length; ct++) + { + target += args[ct] + " "; + } + + target = target.TrimEnd(); + + UUID folder = Client.Inventory.FindObjectByPath(Client.Inventory.Store.RootFolder.UUID, Client.Self.AgentID, target, 20 * 1000); + + if (folder == UUID.Zero) + { + return "Outfit path " + target + " not found"; + } + + List contents = Client.Inventory.FolderContents(folder, Client.Self.AgentID, true, true, InventorySortOrder.ByName, 20 * 1000); + List items = new List(); + + if (contents == null) + { + return "Failed to get contents of " + target; + } + + foreach (InventoryBase item in contents) + { + if (item is InventoryItem) + items.Add((InventoryItem)item); + } + + Client.Appearance.ReplaceOutfit(items); + + return "Starting to change outfit to " + target; + } + } +} diff --git a/SLBot/bot/Commands/Avatars/AttachmentsUUID.cs b/SLBot/bot/Commands/Avatars/AttachmentsUUID.cs new file mode 100644 index 0000000..36c66ae --- /dev/null +++ b/SLBot/bot/Commands/Avatars/AttachmentsUUID.cs @@ -0,0 +1,101 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AttachmentsUUIDCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Text; + using System.Collections.Generic; + + public class AttachmentsUUIDCommand : Command + { + public AttachmentsUUIDCommand(SecondLifeBot SecondLifeBot) + { + base.Client = SecondLifeBot; + base.Name = "attachmentsuuid"; + base.Description = bot.Localization.clResourceManager.getText("Commands.AttachmentsUUID.Description") + " " + bot.Localization.clResourceManager.getText("Commands.AttachmentsUUID.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder builder = new StringBuilder(); + + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.AttachmentsUUID.Usage"); + } + + List avatars = Client.Network.Simulators[0].ObjectsAvatars.FindAll( + delegate(Avatar av) + { + return av.ID == (UUID)args[0]; + } + ); + + List attachments = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) + { + return prim.ParentID == avatars[0].LocalID; + } + ); + + for (int i = 0; i < attachments.Count; i++) + { + Primitive prim = attachments[i]; + AttachmentPoint point = StateToAttachmentPoint(prim.PrimData.State); + + // TODO: Fetch properties for the objects with missing property sets so we can show names + //Logger.Log(String.Format("[Attachment @ {0}] LocalID: {1} UUID: {2} Offset: {3}", + // point, prim.LocalID, prim.ID, prim.Position), Helpers.LogLevel.Info, Client); + + builder.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Attachments.Attachment"), + point, prim.LocalID, prim.ID, prim.Position); + + builder.AppendLine(); + } + + builder.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Attachments.Found"), attachments.Count)); + + return builder.ToString(); + } + + public static AttachmentPoint StateToAttachmentPoint(uint state) + { + const uint ATTACHMENT_MASK = 0xF0; + uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); + return (AttachmentPoint)fixedState; + } + } +} diff --git a/SLBot/bot/Commands/Avatars/AvatarInfoCommand.cs b/SLBot/bot/Commands/Avatars/AvatarInfoCommand.cs new file mode 100644 index 0000000..27ceee9 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/AvatarInfoCommand.cs @@ -0,0 +1,313 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AvatarInfoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class AvatarInfoCommand : Command + { + ManualResetEvent WaitforAvatar = new ManualResetEvent(false); + Avatar.AvatarProperties foundAvProperties; + Avatar.Interests foundAvInterests; + List foundAvGroups = new List(); + UUID foundAvUUID; + bool foundAvPropertiesCorrectlyGot = false; + bool foundAvInterestsCorrectlyGot = false; + bool foundAvGroupsCorrectlyGot = false; + bool moreThanOneAvFound = false; + + public AvatarInfoCommand(SecondLifeBot SecondLifeBot) + { + Name = "avatarinfo"; + Description = bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Description") + " " + bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Usage"); + } + + void Avatars_AvatarPropertiesReply(object sender, AvatarPropertiesReplyEventArgs e) + { + if (e.AvatarID == foundAvUUID) + { + foundAvPropertiesCorrectlyGot = true; + foundAvProperties = e.Properties; + } + else + { + foundAvPropertiesCorrectlyGot = false; + } + + WaitforAvatar.Set(); + return; + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + Client.Avatars.AvatarPropertiesReply += new EventHandler(Avatars_AvatarPropertiesReply); + + moreThanOneAvFound = false; + + foundAvUUID = UUID.Zero; + + Avatar foundAv = null; + + foundAvProperties = new Avatar.AvatarProperties(); + foundAvInterests = new Avatar.Interests(); + foundAvGroups = new List(); + WaitforAvatar = new ManualResetEvent(false); + + if (args.Length != 2) + return bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Usage"); + + string targetName = String.Format("{0} {1}", args[0], args[1]); + + Client.FindOneAvatar(targetName, out foundAvUUID, out moreThanOneAvFound); + + foundAv = Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return (avatar.Name == targetName); + } + ); + + if (foundAvUUID != UUID.Zero) + { + StringBuilder output = new StringBuilder(); + + if (moreThanOneAvFound) + { + output.AppendFormat("More than one avatar found with that search terms."); + output.AppendLine(); + output.AppendFormat("{0} ({1})", targetName, foundAvUUID); + } + else + { + output.AppendFormat("{0} ({1})", targetName, foundAvUUID); + } + + output.AppendLine(); + + Client.Avatars.RequestAvatarProperties(foundAvUUID); + + if (!WaitforAvatar.WaitOne(10000, false)) + { + Client.Avatars.AvatarPropertiesReply -= Avatars_AvatarPropertiesReply; + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.NotProfile")); + } + else + { + Client.Avatars.AvatarPropertiesReply -= Avatars_AvatarPropertiesReply; + if (foundAvPropertiesCorrectlyGot == true) + { + // CLAUNIA + // For some reason it is getting offline + /* + switch (foundAvProperties.Online) + { + case true: + output.AppendFormat("Avatar conectado"); + output.AppendLine(); + break; + case false: + output.AppendFormat("Avatar NO conectado"); + output.AppendLine(); + break; + } + + */ + + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.SecondLife")); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Born"), foundAvProperties.BornOn); + output.AppendLine(); + //output.AppendFormat(" Flags: {0}", foundAvProperties.Flags.ToString()); output.AppendLine(); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.SecondPhoto"), foundAvProperties.ProfileImage.ToString()); + output.AppendLine(); + + output.Append(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Account")); + if (foundAvProperties.Identified) + output.Append(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Identified")); + if (foundAvProperties.MaturePublish) + output.Append(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Adult")); + if (foundAvProperties.Transacted) + output.Append(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Payment")); + if (foundAvProperties.AllowPublish) + output.Append(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Public")); + output.AppendLine("."); + + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Partner"), foundAvProperties.Partner.ToString()); + output.AppendLine(); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Charter"), foundAvProperties.CharterMember); + output.AppendLine(); + + WaitforAvatar.Reset(); + Client.Avatars.AvatarGroupsReply += new EventHandler(Avatars_OnAvatarGroups); + Client.Avatars.RequestAvatarProperties(foundAvUUID); + + if (!WaitforAvatar.WaitOne(2500, false)) + { + Client.Avatars.AvatarGroupsReply -= Avatars_OnAvatarGroups; + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.NotGroups")); + } + else + { + Client.Avatars.AvatarGroupsReply -= Avatars_OnAvatarGroups; + if (foundAvGroupsCorrectlyGot) + { + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Groups")); + foreach (AvatarGroup avGroup in foundAvGroups) + { + output.AppendFormat(" {0} ({1})", avGroup.GroupName, avGroup.GroupID); + output.AppendLine(); + } + } + } + + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.About")); + output.AppendFormat(" {0}", foundAvProperties.AboutText); + output.AppendLine(); + output.AppendLine(); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.WebProfile"), foundAvProperties.ProfileURL); + output.AppendLine(); + output.AppendLine(); + + WaitforAvatar.Reset(); + Client.Avatars.AvatarInterestsReply += new EventHandler(Avatars_OnAvatarInterests); + Client.Avatars.RequestAvatarProperties(foundAvUUID); + + if (!WaitforAvatar.WaitOne(1000, false)) + { + Client.Avatars.AvatarInterestsReply -= Avatars_OnAvatarInterests; + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.NotInterests")); + } + else + { + Client.Avatars.AvatarInterestsReply -= Avatars_OnAvatarInterests; + if (foundAvInterestsCorrectlyGot) + { + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Interests")); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Wants"), foundAvInterests.WantToMask.ToString("X"), foundAvInterests.WantToText); + output.AppendLine(); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Skills"), foundAvInterests.SkillsMask.ToString("X"), foundAvInterests.SkillsText); + output.AppendLine(); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Languages"), foundAvInterests.LanguagesText); + output.AppendLine(); + output.AppendLine(); + } + } + + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.FirstLife")); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.FirstPhoto"), foundAvProperties.FirstLifeImage.ToString()); + output.AppendLine(); + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Information"), foundAvProperties.FirstLifeText); + output.AppendLine(); + output.AppendLine(); + } + else + { + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Error")); + } + } + + // CLAUNIA + // There is no event nor method for requesting statistics. + /* + output.AppendLine("Estadísticas:"); + output.AppendFormat(" Apariencia: {0} votos positivos, {1} votos negativos", foundAv.ProfileStatistics.AppearancePositive, foundAv.ProfileStatistics.AppearanceNegative); output.AppendLine(); + output.AppendFormat(" Comportamiento: {0} votos positivos, {1} votos negativos", foundAv.ProfileStatistics.BehaviorPositive, foundAv.ProfileStatistics.BehaviorNegative); output.AppendLine(); + output.AppendFormat(" Construcción: {0} votos positivos, {1} votos negativos", foundAv.ProfileStatistics.BuildingPositive, foundAv.ProfileStatistics.BuildingNegative); output.AppendLine(); + output.AppendFormat(" Votos emitidos: {0} positivos, {1} negativos", foundAv.ProfileStatistics.GivenPositive, foundAv.ProfileStatistics.GivenNegative); output.AppendLine(); + + output.AppendLine();*/ + + if (foundAv != null) + { + if (foundAv.Textures != null) + { + output.AppendLine(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.Textures")); + for (int i = 0; i < foundAv.Textures.FaceTextures.Length; i++) + { + if (foundAv.Textures.FaceTextures[i] != null) + { + Primitive.TextureEntryFace face = foundAv.Textures.FaceTextures[i]; + AvatarTextureIndex type = (AvatarTextureIndex)i; + + output.AppendFormat(" {0}: {1}", type, face.TextureID); + output.AppendLine(); + } + } + } + } + + return output.ToString(); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.AvatarInfo.NotFound"), targetName); + } + } + + void Avatars_OnAvatarGroups(object sender, AvatarGroupsReplyEventArgs e) + { + if (e.AvatarID == foundAvUUID) + { + foundAvGroupsCorrectlyGot = true; + foundAvGroups = e.Groups; + } + else + { + foundAvGroupsCorrectlyGot = false; + } + + WaitforAvatar.Set(); + return; + } + + void Avatars_OnAvatarInterests(object sender, AvatarInterestsReplyEventArgs e) + { + if (e.AvatarID == foundAvUUID) + { + foundAvInterestsCorrectlyGot = true; + foundAvInterests = e.Interests; + } + else + { + foundAvInterestsCorrectlyGot = false; + } + + WaitforAvatar.Set(); + return; + } + } +} diff --git a/SLBot/bot/Commands/Avatars/CloneCommand.cs b/SLBot/bot/Commands/Avatars/CloneCommand.cs new file mode 100644 index 0000000..8f6b266 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/CloneCommand.cs @@ -0,0 +1,115 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CloneCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.Threading; + + public class CloneCommand : Command + { + uint SerialNum = 2; + + public CloneCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "clone"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Clone.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Clone.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + string targetName = String.Empty; + List matches; + + for (int ct = 0; ct < args.Length; ct++) + targetName = targetName + args[ct] + " "; + targetName = targetName.TrimEnd(); + + if (targetName.Length == 0) + return bot.Localization.clResourceManager.getText("Commands.Clone.Usage"); + + if (Client.Directory.PeopleSearch(DirectoryManager.DirFindFlags.People, targetName, 0, 1000 * 10, + out matches) && matches.Count > 0) + { + UUID target = matches[0].AgentID; + targetName += String.Format(" ({0})", target); + + if (Client.Appearances.ContainsKey(target)) + { + #region AvatarAppearance to AgentSetAppearance + + AvatarAppearancePacket appearance = Client.Appearances[target]; + + AgentSetAppearancePacket set = new AgentSetAppearancePacket(); + set.AgentData.AgentID = Client.Self.AgentID; + set.AgentData.SessionID = Client.Self.SessionID; + set.AgentData.SerialNum = SerialNum++; + set.AgentData.Size = new Vector3(2f, 2f, 2f); // HACK + + set.WearableData = new AgentSetAppearancePacket.WearableDataBlock[0]; + set.VisualParam = new AgentSetAppearancePacket.VisualParamBlock[appearance.VisualParam.Length]; + + for (int i = 0; i < appearance.VisualParam.Length; i++) + { + set.VisualParam[i] = new AgentSetAppearancePacket.VisualParamBlock(); + set.VisualParam[i].ParamValue = appearance.VisualParam[i].ParamValue; + } + + set.ObjectData.TextureEntry = appearance.ObjectData.TextureEntry; + + #endregion AvatarAppearance to AgentSetAppearance + + // Detach everything we are currently wearing + Client.Appearance.AddAttachments(new List(), true); + + // Send the new appearance packet + Client.Network.SendPacket(set); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Clone.Done"), targetName); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Clone.Unknown"), targetName); + } + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Clone.NotFound"), targetName); + } + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/CloneProfileCommand.cs b/SLBot/bot/Commands/Avatars/CloneProfileCommand.cs new file mode 100644 index 0000000..32dd948 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/CloneProfileCommand.cs @@ -0,0 +1,186 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CloneProfileCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.Threading; + + public class CloneProfileCommand : Command + { + Avatar.AvatarProperties Properties; + Avatar.Interests Interests; + List Groups = new List(); + bool ReceivedProperties = false; + bool ReceivedInterests = false; + bool ReceivedGroups = false; + ManualResetEvent ReceivedProfileEvent = new ManualResetEvent(false); + + public CloneProfileCommand(SecondLifeBot SecondLifeBot) + { + SecondLifeBot.Avatars.AvatarInterestsReply += new EventHandler(Avatars_AvatarInterestsReply); + SecondLifeBot.Avatars.AvatarPropertiesReply += new EventHandler(Avatars_AvatarPropertiesReply); + SecondLifeBot.Avatars.AvatarGroupsReply += new EventHandler(Avatars_AvatarGroupsReply); + SecondLifeBot.Groups.GroupJoinedReply += new EventHandler(Groups_OnGroupJoined); + SecondLifeBot.Avatars.AvatarPicksReply += new EventHandler(Avatars_AvatarPicksReply); + + base.Name = "cloneprofile"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CloneProfile.Description") + " " + bot.Localization.clResourceManager.getText("Commands.CloneProfile.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.CloneProfile.Usage"); + + UUID targetID; + ReceivedProperties = false; + ReceivedInterests = false; + ReceivedGroups = false; + + try + { + targetID = new UUID(args[0]); + } + catch (Exception) + { + return bot.Localization.clResourceManager.getText("Commands.CloneProfile.Usage"); + } + + // Request all of the packets that make up an avatar profile + Client.Avatars.RequestAvatarProperties(targetID); + + // Wait for all the packets to arrive + ReceivedProfileEvent.Reset(); + ReceivedProfileEvent.WaitOne(5000, false); + + // Check if everything showed up + if (!ReceivedInterests || !ReceivedProperties || !ReceivedGroups) + return bot.Localization.clResourceManager.getText("Commands.CloneProfile.Fail"); + + // Synchronize our profile + Client.Self.UpdateInterests(Interests); + Client.Self.UpdateProfile(Properties); + + // TODO: Leave all the groups we're currently a member of? This could + // break TestClient connectivity that might be relying on group authentication + + // Attempt to join all the groups + foreach (UUID groupID in Groups) + { + Client.Groups.RequestJoinGroup(groupID); + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.CloneProfile.Done"), targetID.ToString()); + } + + void Avatars_AvatarPropertiesReply(object sender, AvatarPropertiesReplyEventArgs e) + { + lock (ReceivedProfileEvent) + { + Properties = e.Properties; + ReceivedProperties = true; + + if (ReceivedInterests && ReceivedProperties && ReceivedGroups) + ReceivedProfileEvent.Set(); + } + } + + void Avatars_AvatarInterestsReply(object sender, AvatarInterestsReplyEventArgs e) + { + lock (ReceivedProfileEvent) + { + Interests = e.Interests; + ReceivedInterests = true; + + if (ReceivedInterests && ReceivedProperties && ReceivedGroups) + ReceivedProfileEvent.Set(); + } + } + + void Avatars_AvatarGroupsReply(object sender, AvatarGroupsReplyEventArgs e) + { + lock (ReceivedProfileEvent) + { + foreach (AvatarGroup group in e.Groups) + { + Groups.Add(group.GroupID); + } + + ReceivedGroups = true; + + if (ReceivedInterests && ReceivedProperties && ReceivedGroups) + ReceivedProfileEvent.Set(); + } + } + + void Groups_OnGroupJoined(object sender, GroupOperationEventArgs e) + { + if (e.Success) + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.CloneProfile.Joined"), e.GroupID.ToString()); + else + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.CloneProfile.FailJoin"), e.GroupID.ToString()); + + if (e.Success) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.CloneProfile.Active"), Client.ToString(), + e.GroupID.ToString()); + Client.Groups.ActivateGroup(e.GroupID); + } + } + + void Avatars_PickInfoReply(object sender, PickInfoReplyEventArgs e) + { + Client.Self.PickInfoUpdate(e.PickID, e.Pick.TopPick, e.Pick.ParcelID, e.Pick.Name, e.Pick.PosGlobal, e.Pick.SnapshotID, e.Pick.Desc); + } + + void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + foreach (KeyValuePair kvp in e.Picks) + { + if (e.AvatarID == Client.Self.AgentID) + { + Client.Self.PickDelete(kvp.Key); + } + else + { + Client.Avatars.RequestPickInfo(e.AvatarID, kvp.Key); + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/DetectBotCommand.cs b/SLBot/bot/Commands/Avatars/DetectBotCommand.cs new file mode 100644 index 0000000..e18e25f --- /dev/null +++ b/SLBot/bot/Commands/Avatars/DetectBotCommand.cs @@ -0,0 +1,117 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DetectBotCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.Text; + + public class DetectBotCommand : Command + { + private Dictionary m_AgentList = new Dictionary(); + + public DetectBotCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "detectbots"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DetectBot.Description"); + SecondLifeBot.Avatars.ViewerEffect += new EventHandler(Avatars_ViewerEffect); + SecondLifeBot.Avatars.ViewerEffectLookAt += new EventHandler(Avatars_ViewerEffectLookAt); + SecondLifeBot.Avatars.ViewerEffectPointAt += new EventHandler(Avatars_ViewerEffectPointAt); + } + + private void Avatars_ViewerEffectPointAt(object sender, ViewerEffectPointAtEventArgs e) + { + lock (m_AgentList) + { + if (m_AgentList.ContainsKey(e.SourceID)) + m_AgentList[e.SourceID] = true; + else + m_AgentList.Add(e.SourceID, true); + } + } + + private void Avatars_ViewerEffectLookAt(object sender, ViewerEffectLookAtEventArgs e) + { + lock (m_AgentList) + { + if (m_AgentList.ContainsKey(e.SourceID)) + m_AgentList[e.SourceID] = true; + else + m_AgentList.Add(e.SourceID, true); + } + } + + private void Avatars_ViewerEffect(object sender, ViewerEffectEventArgs e) + { + lock (m_AgentList) + { + if (m_AgentList.ContainsKey(e.SourceID)) + m_AgentList[e.SourceID] = true; + else + m_AgentList.Add(e.SourceID, true); + } + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder result = new StringBuilder(); + + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Client.Network.Simulators[i].ObjectsAvatars.ForEach( + delegate(Avatar av) + { + lock (m_AgentList) + { + if (!m_AgentList.ContainsKey(av.ID)) + { + result.AppendLine(); + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.DetectBot.Bot"), + av.Name, av.GroupName, av.Position, av.ID, av.LocalID); + } + } + } + ); + } + } + + return result.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/DetectLindensCommand.cs b/SLBot/bot/Commands/Avatars/DetectLindensCommand.cs new file mode 100644 index 0000000..b46c7da --- /dev/null +++ b/SLBot/bot/Commands/Avatars/DetectLindensCommand.cs @@ -0,0 +1,71 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DetectLindensCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +/*namespace bot.Commands +{ + using bot; + using libsecondlife; + using libsecondlife.Packets; + using System; + + public class DetectBotCommand : Command + { + public DetectBotCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "detectlindens"; + base.Description = "Runs in the background, reporting any potential bots"; + SecondLifeBot.Network.RegisterCallback(PacketType.AgentUpdate, new NetworkManager.PacketCallback(this.AgentUpdatePacketHandler)); + } + + private void AvatarAppearanceHandler(Packet packet, Simulator simulator) + { + AvatarAppearancePacket packet2 = (AvatarAppearancePacket)packet; + packet2.ObjectData[ + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + return "This command is always running"; + } + + private bool IsNullOrZero(LLObject.TextureEntryFace face) + { + if (face != null) + { + return (face.TextureID == UUID.Zero); + } + return true; + } + } +} +*/ + diff --git a/SLBot/bot/Commands/Avatars/EndFriendshipCommand.cs b/SLBot/bot/Commands/Avatars/EndFriendshipCommand.cs new file mode 100644 index 0000000..34128c4 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/EndFriendshipCommand.cs @@ -0,0 +1,95 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : EndFriendshipCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class EndFriendshipCommand : Command + { + public EndFriendshipCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "endfriendship"; + base.Description = bot.Localization.clResourceManager.getText("Commands.EndFriendship.Description") + " " + bot.Localization.clResourceManager.getText("Commands.EndFriendship.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID avatarID = UUID.Zero; + string avatarName = ""; + bool isGroupKey = false; + + if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out avatarID)) + return bot.Localization.clResourceManager.getText("Commands.EndFriendship.Usage"); + + if (!Client.key2Name(avatarID, out avatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.AvNotFound"); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.EndFriendship.CannotGroup"); + } + else if (args.Length == 2) + { + avatarName = args[0] + " " + args[1]; + + if (!Client.FindOneAvatar(avatarName, out avatarID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.OfferFriendship.NameNotFound"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.EndFriendship.Usage"); + } + + if (avatarID != UUID.Zero) + { + if (!Client.Friends.FriendList.ContainsKey(avatarID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.EndFriendship.NotFriend"), avatarName); + + Client.Friends.TerminateFriendship(avatarID); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.EndFriendship.Terminated"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Error"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/ExportOutfitCommand.cs b/SLBot/bot/Commands/Avatars/ExportOutfitCommand.cs new file mode 100644 index 0000000..800c143 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/ExportOutfitCommand.cs @@ -0,0 +1,94 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ExportOutfitCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using OpenMetaverse.StructuredData; + using System; + using System.Collections.Generic; + using System.IO; + using System.Threading; + + public class ExportOutfitCommand : Command + { + public ExportOutfitCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "exportoutfit"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ExportOutfit.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ExportOutfit.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID id; + string path; + + if (args.Length == 1) + { + id = Client.Self.AgentID; + path = args[0]; + } + else if (args.Length == 2) + { + if (!UUID.TryParse(args[0], out id)) + return bot.Localization.clResourceManager.getText("Commands.ExportOutfit.Usage"); + path = args[1]; + } + else + return bot.Localization.clResourceManager.getText("Commands.ExportOutfit.Usage"); + + lock (Client.Appearances) + { + if (Client.Appearances.ContainsKey(id)) + { + try + { + File.WriteAllText(path, Packet.ToXmlString(Client.Appearances[id])); + } + catch (Exception e) + { + return e.ToString(); + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.ExportOutfit.Exported"), id.ToString(), args[1]); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ExportOutfit.NotFound"), id.ToString()); + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/FriendsCommand.cs b/SLBot/bot/Commands/Avatars/FriendsCommand.cs new file mode 100644 index 0000000..660e3dc --- /dev/null +++ b/SLBot/bot/Commands/Avatars/FriendsCommand.cs @@ -0,0 +1,85 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FriendsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class FriendsCommand : Command + { + public FriendsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "friends"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Friends.Description"); + } + + + /// + /// Get a list of current friends + /// + /// optional testClient command arguments + /// The + /// of the agent making the request + /// + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + // initialize a StringBuilder object used to return the results + StringBuilder sb = new StringBuilder(); + + // Only iterate the Friends dictionary if we actually have friends! + if (Client.Friends.FriendList.Count > 0) + { + // iterate over the InternalDictionary using a delegate to populate + // our StringBuilder output string + Client.Friends.FriendList.ForEach(delegate(FriendInfo friend) + { + // append the name of the friend to our output + sb.AppendLine(friend.Name + "(UUID: " + friend.UUID.ToString() + ")"); + }); + } + else + { + // we have no friends :( + sb.AppendLine(bot.Localization.clResourceManager.getText("Commands.Friends.NoFriends")); + } + + // return the result + return sb.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/ImportOutfitCommand.cs b/SLBot/bot/Commands/Avatars/ImportOutfitCommand.cs new file mode 100644 index 0000000..ffffbfc --- /dev/null +++ b/SLBot/bot/Commands/Avatars/ImportOutfitCommand.cs @@ -0,0 +1,130 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ImportOutfitCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +/*namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using OpenMetaverse.StructuredData; + using System; + using System.Collections.Generic; + using System.IO; + using System.Threading; + + public class ImportOutfitCommand : Command + { + private Vector3 currentPosition; + private Primitive currentPrim; + private List linkQueue; + private AutoResetEvent primDone = new AutoResetEvent(false); + private List primsCreated; + private uint rootLocalID; + private ImporterState state = ImporterState.Idle; + private uint SerialNum = 2; + + private enum ImporterState + { + RezzingParent, + RezzingChildren, + Linking, + Idle + } + + private class Linkset + { + public List Children; + public Primitive RootPrim; + + public Linkset() + { + this.Children = new List(); + this.RootPrim = new Primitive(); + } + + public Linkset(Primitive rootPrim) + { + this.Children = new List(); + this.RootPrim = rootPrim; + } + } + + public ImportOutfitCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "importoutfit"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ImportOutfit.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ImportOutfit.Usage"); + + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + /* if (args.Length != 1) + { + return "Uso: importoutfit apariencia.xml"; + } + string path = args[0]; + string str2; + try + { + str2 = File.ReadAllText(path); + } + catch (Exception exception) + { + return exception.Message; + } + if (str2.Length == 0) + return "El archivo exportado está dañado."; + + AvatarAppearancePacket packet= (AvatarAppearancePacket)AvatarAppearancePacket.FromLLSD(LLSDParser.DeserializeXml(str2)); + AgentSetAppearancePacket packet2 = new AgentSetAppearancePacket(); + + packet2.AgentData.AgentID = base.Client.Self.AgentID; + packet2.AgentData.SessionID = base.Client.Self.SessionID; + packet2.AgentData.SerialNum = this.SerialNum++; + packet2.AgentData.Size = new Vector3(2f, 2f, 2f); + packet2.WearableData = new AgentSetAppearancePacket.WearableDataBlock[0]; + packet2.VisualParam = new AgentSetAppearancePacket.VisualParamBlock[packet.VisualParam.Length]; + for (int j = 0; j < packet.VisualParam.Length; j++) + { + packet2.VisualParam[j] = new AgentSetAppearancePacket.VisualParamBlock(); + packet2.VisualParam[j].ParamValue = packet.VisualParam[j].ParamValue; + } + packet2.ObjectData.TextureEntry = packet.ObjectData.TextureEntry; + base.Client.Appearance.AddAttachments(new List(), true); + base.Client.Network.SendPacket(packet2); + return ("Importado" + args[0]);*/ +/* return bot.Localization.clResourceManager.getText("Exception"); + } + } +} + +*/ \ No newline at end of file diff --git a/SLBot/bot/Commands/Avatars/InformFriendCommand.cs b/SLBot/bot/Commands/Avatars/InformFriendCommand.cs new file mode 100644 index 0000000..b881678 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/InformFriendCommand.cs @@ -0,0 +1,76 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : InformFriendCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using OpenMetaverse; + + public class InformFriendCommand : Command + { + public InformFriendCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "informfriend"; + base.Description = bot.Localization.clResourceManager.getText("Commands.InformFriend.Description") + " " + bot.Localization.clResourceManager.getText("Commands.InformFriend.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 0) + { + if (Client.InformFriends) + return bot.Localization.clResourceManager.getText("Commands.InformFriend.Inform"); + else + return bot.Localization.clResourceManager.getText("Commands.InformFriend.NotInform"); + } + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.InformFriend.Usage"); + + if (args[0].ToLower() == "on") + { + Client.InformFriends = true; + return bot.Localization.clResourceManager.getText("Commands.InformFriend.WillInform"); + } + else if (args[0].ToLower() == "off") + { + Client.InformFriends = false; + return bot.Localization.clResourceManager.getText("Commands.InformFriend.WontInform"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.InformFriend.Usage"); + } + } + } +} diff --git a/SLBot/bot/Commands/Avatars/MapFriendCommand.cs b/SLBot/bot/Commands/Avatars/MapFriendCommand.cs new file mode 100644 index 0000000..2d9c5b4 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/MapFriendCommand.cs @@ -0,0 +1,85 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : MapFriendCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Threading; + + public class MapFriendCommand : Command + { + ManualResetEvent WaitforFriend = new ManualResetEvent(false); + + public MapFriendCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "mapfriend"; + base.Description = bot.Localization.clResourceManager.getText("Commands.MapFriend.Description") + " " + bot.Localization.clResourceManager.getText("Commands.MapFriend.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.MapFriend.Usage"); + + UUID targetID; + + if (!UUID.TryParse(args[0], out targetID)) + return bot.Localization.clResourceManager.getText("Commands.MapFriend.Usage"); + + StringBuilder sb = new StringBuilder(); + + EventHandler del = delegate(object sender, FriendFoundReplyEventArgs e) + { + if (!e.RegionHandle.Equals(0)) + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.MapFriend.Found"), e.AgentID, e.RegionHandle, e.Location.X, e.Location.Y); + else + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.MapFriend.Offline"), e.AgentID); + + WaitforFriend.Set(); + }; + + Client.Friends.FriendFoundReply += del; + WaitforFriend.Reset(); + Client.Friends.MapFriend(targetID); + if (!WaitforFriend.WaitOne(10000, false)) + { + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.MapFriend.TimeOut"), targetID); + } + Client.Friends.FriendFoundReply -= del; + return sb.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/OfferFriendshipCommand.cs b/SLBot/bot/Commands/Avatars/OfferFriendshipCommand.cs new file mode 100644 index 0000000..474f6f0 --- /dev/null +++ b/SLBot/bot/Commands/Avatars/OfferFriendshipCommand.cs @@ -0,0 +1,95 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : OfferFriendshipCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class OfferFriendshipCommand : Command + { + public OfferFriendshipCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "offerfriendship"; + base.Description = bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Description") + " " + bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID avatarID = UUID.Zero; + string avatarName = ""; + bool isGroupKey = false; + + if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out avatarID)) + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Usage"); + + if (!Client.key2Name(avatarID, out avatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.AvNotFound"); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.CannotGroup"); + } + else if (args.Length == 2) + { + avatarName = args[0] + " " + args[1]; + + if (!Client.FindOneAvatar(avatarName, out avatarID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.OfferFriendship.NameNotFound"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Usage"); + } + + if (avatarID != UUID.Zero) + { + if (Client.Friends.FriendList.ContainsKey(avatarID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.OfferFriendship.AlreadyFriend"), avatarName); + + Client.Friends.OfferFriendship(avatarID, bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Message")); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Offered"), avatarName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.OfferFriendship.Error"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Avatars/WhoCommand.cs b/SLBot/bot/Commands/Avatars/WhoCommand.cs new file mode 100644 index 0000000..cc6d9be --- /dev/null +++ b/SLBot/bot/Commands/Avatars/WhoCommand.cs @@ -0,0 +1,111 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : WhoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Collections.Generic; + + public class WhoCommand : Command + { + public WhoCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "who"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Who.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder result = new StringBuilder(); + Dictionary ClientNames = ClientTags.ToDictionary(); + + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Client.Network.Simulators[i].ObjectsAvatars.ForEach( + delegate(Avatar av) + { + Vector3 RealPosition; + + if (av.ParentID != 0) + { + Primitive SitPrim; + + SitPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.LocalID == av.ParentID; + } + ); + + if (SitPrim == null) + RealPosition = new Vector3(0, 0, 0); + else + RealPosition = SitPrim.Position; + } + else + { + RealPosition = av.Position; + } + + string ViewerName; + + if (av.Textures == null) + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unknown"); + else + { + if (av.Textures.FaceTextures[(int)AvatarTextureIndex.HeadBodypaint] != null) + { + if (!ClientNames.TryGetValue(av.Textures.FaceTextures[(int)AvatarTextureIndex.HeadBodypaint].TextureID, out ViewerName)) + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unidentified"); + } + else + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unknown"); + } + + result.AppendLine(); + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Who.Info"), + av.Name, ViewerName, av.GroupName, RealPosition, av.ID.ToString()); + } + ); + } + } + + return result.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Command.cs b/SLBot/bot/Commands/Command.cs new file mode 100644 index 0000000..9c40c9c --- /dev/null +++ b/SLBot/bot/Commands/Command.cs @@ -0,0 +1,60 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Command.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2009 openmetaverse.org +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public abstract class Command + { + public bool Active; + public SecondLifeBot Client; + public string Description; + public string Name; + + protected Command() + { + } + + public abstract string Execute(string[] args, UUID fromAgentID, bool fromSL); + + public virtual void Think() + { + } + + + } +} + diff --git a/SLBot/bot/Commands/Communication/EchoMasterCommand.cs b/SLBot/bot/Commands/Communication/EchoMasterCommand.cs new file mode 100644 index 0000000..efc6634 --- /dev/null +++ b/SLBot/bot/Commands/Communication/EchoMasterCommand.cs @@ -0,0 +1,70 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : EchoMasterCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class EchoMasterCommand : Command + { + public EchoMasterCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "echoMaster"; + base.Description = bot.Localization.clResourceManager.getText("Commands.EchoMaster.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (!Active) + { + Active = true; + Client.Self.ChatFromSimulator += Self_ChatFromSimulator; + return bot.Localization.clResourceManager.getText("Commands.EchoMaster.On"); + } + else + { + Active = false; + Client.Self.ChatFromSimulator -= Self_ChatFromSimulator; + return bot.Localization.clResourceManager.getText("Commands.EchoMaster.Off"); + } + } + + void Self_ChatFromSimulator(object sender, ChatEventArgs e) + { + if (e.Message.Length > 0 && (Client.MasterKey == e.SourceID || (Client.MasterName == e.FromName /*&& !Client.AllowObjectMaster*/))) + Client.Self.Chat(e.Message, 0, ChatType.Normal); + } + } +} + diff --git a/SLBot/bot/Commands/Communication/ImCommand.cs b/SLBot/bot/Commands/Communication/ImCommand.cs new file mode 100644 index 0000000..922e3de --- /dev/null +++ b/SLBot/bot/Commands/Communication/ImCommand.cs @@ -0,0 +1,121 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ImCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + + public class ImCommand : Command + { + string ToAvatarName = String.Empty; + ManualResetEvent NameSearchEvent = new ManualResetEvent(false); + Dictionary Name2Key = new Dictionary(); + + public ImCommand(SecondLifeBot SecondLifeBot) + { + SecondLifeBot.Avatars.AvatarPickerReply += Avatars_AvatarPickerReply; + base.Name = "im"; + base.Description = bot.Localization.clResourceManager.getText("Commands.IM.Description") + " " + bot.Localization.clResourceManager.getText("Commands.IM.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 3) + return bot.Localization.clResourceManager.getText("Commands.IM.Usage"); + + ToAvatarName = args[0] + " " + args[1]; + + // Build the message + string message = String.Empty; + for (int ct = 2; ct < args.Length; ct++) + message += args[ct] + " "; + message = message.TrimEnd(); + if (message.Length > 1023) + message = message.Remove(1023); + + if (!Name2Key.ContainsKey(ToAvatarName.ToLower())) + { + // Send the Query + Client.Avatars.RequestAvatarNameSearch(ToAvatarName, UUID.Random()); + + NameSearchEvent.WaitOne(6000, false); + } + + if (Name2Key.ContainsKey(ToAvatarName.ToLower())) + { + UUID id = Name2Key[ToAvatarName.ToLower()]; + + Client.Self.InstantMessage(id, message); + + bot.Chat.structInstantMessage sim; + InstantMessage im = new InstantMessage(); + + im.Message = message; + im.FromAgentID = id; + im.FromAgentName = ToAvatarName; + im.Dialog = InstantMessageDialog.MessageFromAgent; + + sim.client = this.Client; + sim.isReceived = false; + sim.message = im; + sim.simulator = this.Client.Network.CurrentSim; + sim.timestamp = DateTime.Now; + + bot.Chat.receivedIM(sim); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.IM.Success"), id.ToString(), message); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.IM.LookupFail"), ToAvatarName); + } + } + + void Avatars_AvatarPickerReply(object sender, AvatarPickerReplyEventArgs e) + { + foreach (KeyValuePair kvp in e.Avatars) + { + if (kvp.Value.ToLower() == ToAvatarName.ToLower()) + { + Name2Key[ToAvatarName.ToLower()] = kvp.Key; + NameSearchEvent.Set(); + return; + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Communication/SayCommand.cs b/SLBot/bot/Commands/Communication/SayCommand.cs new file mode 100644 index 0000000..d1ec94a --- /dev/null +++ b/SLBot/bot/Commands/Communication/SayCommand.cs @@ -0,0 +1,78 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SayCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + + public class SayCommand : Command + { + public SayCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "say"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Say.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Say.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + int channel = 0; + int startIndex = 0; + + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.Say.Usage"); + } + else if (args.Length > 1) + { + if (Int32.TryParse(args[0], out channel)) + startIndex = 1; + } + + StringBuilder message = new StringBuilder(); + + for (int i = startIndex; i < args.Length; i++) + { + message.Append(args[i]); + if (i != args.Length - 1) + message.Append(" "); + } + + Client.Self.Chat(message.ToString(), channel, ChatType.Normal); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Say.Said"), message.ToString()); + } + } +} + diff --git a/SLBot/bot/Commands/Communication/ShoutCommand.cs b/SLBot/bot/Commands/Communication/ShoutCommand.cs new file mode 100644 index 0000000..0ac8696 --- /dev/null +++ b/SLBot/bot/Commands/Communication/ShoutCommand.cs @@ -0,0 +1,80 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ShoutCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class ShoutCommand : Command + { + public ShoutCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "shout"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Shout.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Shout.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + int channel = 0; + int startIndex = 0; + string message = String.Empty; + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.Shout.Usage"); + } + else if (args.Length > 1) + { + try + { + channel = Convert.ToInt32(args[0]); + startIndex = 1; + } + catch (FormatException) + { + channel = 0; + } + } + + for (int i = startIndex; i < args.Length; i++) + { + message += args[i] + " "; + } + + Client.Self.Chat(message, channel, ChatType.Shout); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Shout.Shouted"), message); + } + } +} + diff --git a/SLBot/bot/Commands/Communication/WhisperCommand.cs b/SLBot/bot/Commands/Communication/WhisperCommand.cs new file mode 100644 index 0000000..00affec --- /dev/null +++ b/SLBot/bot/Commands/Communication/WhisperCommand.cs @@ -0,0 +1,80 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : WhisperCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class WhisperCommand : Command + { + public WhisperCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "whisper"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Whisper.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Whisper.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + int channel = 0; + int startIndex = 0; + string message = String.Empty; + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.Whisper.Usage"); + } + else if (args.Length > 1) + { + try + { + channel = Convert.ToInt32(args[0]); + startIndex = 1; + } + catch (FormatException) + { + channel = 0; + } + } + + for (int i = startIndex; i < args.Length; i++) + { + message += args[i] + " "; + } + + Client.Self.Chat(message, channel, ChatType.Whisper); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Whisper.Whispered"), message); + } + } +} + diff --git a/SLBot/bot/Commands/Download/AnimationsCommand.cs b/SLBot/bot/Commands/Download/AnimationsCommand.cs new file mode 100644 index 0000000..44f2ea4 --- /dev/null +++ b/SLBot/bot/Commands/Download/AnimationsCommand.cs @@ -0,0 +1,108 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AnimationsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + using System.Collections.Generic; + + public class AnimationsCommand : Command + { + Dictionary alreadyRequested = new Dictionary(); + bool enabled = false; + + public AnimationsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "animations"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Animations.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Animations.Usage"); + + enabled = SecondLifeBot.Account.LoginDetails.BotConfig.GetSounds; + SecondLifeBot.Avatars.AvatarAnimation += new EventHandler(Avatars_AvatarAnimation); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Animations.Usage"); + + if (args[0].ToLower() == "on") + { + enabled = true; + return bot.Localization.clResourceManager.getText("Commands.Animations.Enabled"); + } + else if (args[0].ToLower() == "off") + { + enabled = false; + return bot.Localization.clResourceManager.getText("Commands.Animations.Disabled"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Animations.Usage"); + } + } + + void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + Dictionary BuiltInAnimations = Animations.ToDictionary(); + if (enabled && base.Client.Account.LoginDetails.BotConfig.GetSounds) + { + foreach (Animation an in e.Animations) + { + if (!BuiltInAnimations.ContainsKey(an.AnimationID)) + if (!System.IO.File.Exists("./animations/" + an.AnimationID.ToString() + ".animatn")) + base.Client.Assets.RequestAsset(an.AnimationID, AssetType.Animation, true, Assets_OnAnimationReceived); + } + } + } + + public void Assets_OnAnimationReceived(AssetDownload transfer, Asset asset) + { + if (transfer.Success) + { + if (!System.IO.Directory.Exists("./animations")) + System.IO.Directory.CreateDirectory("./animations"); + System.IO.File.WriteAllBytes("./animations/" + asset.AssetID.ToString() + ".animatn", asset.AssetData); + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Downloaded"), asset.AssetID.ToString(), asset.AssetData.Length); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Failed"), transfer.AssetID, transfer.Status); + } + } + } +} diff --git a/SLBot/bot/Commands/Download/DownloadAnimation.cs b/SLBot/bot/Commands/Download/DownloadAnimation.cs new file mode 100644 index 0000000..c5cbbaf --- /dev/null +++ b/SLBot/bot/Commands/Download/DownloadAnimation.cs @@ -0,0 +1,99 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DownloadAnimationCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.Threading; + using System.IO; + using OpenMetaverse.Assets; + + public class DownloadAnimationCommand : Command + { + string downloadResult; + System.Threading.AutoResetEvent waitEvent = new System.Threading.AutoResetEvent(false); + + public DownloadAnimationCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "downloadanimation"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + UUID AnimationUUID; + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Usage"); + + if (!UUID.TryParse(args[0], out AnimationUUID)) + { + return bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.InvalidUUID"); + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} downloading animation {2}.", DateTime.Now.ToString(), Client, args[0])); + + base.Client.Assets.RequestAsset(AnimationUUID, AssetType.Animation, true, Assets_OnAnimationReceived); + + if (!waitEvent.WaitOne(10000, false)) + { + return bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Timeout"); + } + else + { + return downloadResult; + } + } + + public void Assets_OnAnimationReceived(AssetDownload transfer, Asset asset) + { + if (transfer.Success) + { + if (!System.IO.Directory.Exists("./animations")) + System.IO.Directory.CreateDirectory("./animations"); + System.IO.File.WriteAllBytes("./animations/" + asset.AssetID.ToString() + ".animatn", asset.AssetData); + + downloadResult = String.Format(bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Downloaded"), asset.AssetID.ToString(), asset.AssetData.Length); + } + else + { + downloadResult = String.Format(bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.Failed"), transfer.AssetID, transfer.Status); + } + waitEvent.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Download/DownloadSoundCommand.cs b/SLBot/bot/Commands/Download/DownloadSoundCommand.cs new file mode 100644 index 0000000..8ffac63 --- /dev/null +++ b/SLBot/bot/Commands/Download/DownloadSoundCommand.cs @@ -0,0 +1,100 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DownloadSoundCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class DownloadSoundCommand : Command + { + AutoResetEvent DownloadHandle = new AutoResetEvent(false); + string resultState; + + public DownloadSoundCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "downloadsound"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DownloadSound.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DownloadSound.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + UUID SoundID; + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.DownloadSound.Usage"); + + DownloadHandle.Reset(); + + if (UUID.TryParse(args[0], out SoundID)) + { + Program.NBStats.AddStatData(String.Format("{0}: {1} downloading sound {2}.", DateTime.Now.ToString(), Client, args[0])); + + base.Client.Assets.RequestAsset(SoundID, AssetType.Sound, true, Assets_OnSoundReceived); + + if (DownloadHandle.WaitOne(120 * 1000, false)) + { + return resultState; + } + else + { + return bot.Localization.clResourceManager.getText("Commands.DownloadSound.Timeout"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.DownloadAnimation.InvalidUUID"); + } + } + + public void Assets_OnSoundReceived(AssetDownload transfer, Asset asset) + { + if (transfer.Success) + { + if (!System.IO.Directory.Exists("./sounds")) + System.IO.Directory.CreateDirectory("./sounds"); + System.IO.File.WriteAllBytes("./sounds/" + asset.AssetID.ToString() + ".ogg", asset.AssetData); + + resultState = String.Format(bot.Localization.clResourceManager.getText("Commands.Sounds.Downloaded"), asset.AssetID.ToString(), asset.AssetData.Length); + } + else + { + resultState = String.Format(bot.Localization.clResourceManager.getText("Commands.Sounds.Failed"), transfer.AssetID, transfer.Status); + } + DownloadHandle.Set(); + } + } +} diff --git a/SLBot/bot/Commands/Download/DownloadTextureCommand.cs b/SLBot/bot/Commands/Download/DownloadTextureCommand.cs new file mode 100644 index 0000000..09f9a51 --- /dev/null +++ b/SLBot/bot/Commands/Download/DownloadTextureCommand.cs @@ -0,0 +1,151 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DownloadTextureCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class DownloadTextureCommand : Command + { + UUID TextureID; + AutoResetEvent DownloadHandle = new AutoResetEvent(false); + TextureRequestState resultState; + AssetTexture Asset; + + public DownloadTextureCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "downloadtexture"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DownloadTexture.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DownloadTexture.Usage"); + + //SecondLifeBot.Assets.OnImageReceiveProgress += new AssetManager.ImageReceiveProgressCallback(Assets_OnImageReceiveProgress); + //SecondLifeBot.Assets.OnImageReceived += new AssetManager.ImageReceivedCallback(Assets_OnImageReceived); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.DownloadTexture.Usage"); + + if (args.Length != 1 && args.Length != 2) + return bot.Localization.clResourceManager.getText("Commands.DownloadTexture.UsageLong"); + + TextureID = UUID.Zero; + DownloadHandle.Reset(); + Asset = null; + + if (UUID.TryParse(args[0], out TextureID)) + { + int discardLevel = 0; + + if (args.Length > 1) + { + if (!Int32.TryParse(args[1], out discardLevel)) + return bot.Localization.clResourceManager.getText("Commands.DownloadTexture.UsageLong"); + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} downloading texture {2}.", DateTime.Now.ToString(), Client, args[0])); + + Client.Assets.RequestImage(TextureID, ImageType.Normal, Assets_OnImageReceived); + + if (DownloadHandle.WaitOne(120 * 1000, false)) + { + if (resultState == TextureRequestState.Finished) + { + if (Asset != null && Asset.Decode()) + { + if (!Directory.Exists("textures/")) + Directory.CreateDirectory("textures/"); + + try + { + File.WriteAllBytes("textures/" + Asset.AssetID + ".jp2", Asset.AssetData); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client, ex); + } + + try + { + File.WriteAllBytes("textures/" + Asset.AssetID + ".tga", Asset.Image.ExportTGA()); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.DownloadTexture.Saved"), Asset.AssetID, Asset.Image.Width, Asset.Image.Height); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Assets.Image.FailDecode"), TextureID.ToString()); + } + } + else if (resultState == TextureRequestState.NotFound) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.DownloadTexture.NotFound"), TextureID.ToString()); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Assets.Image.FailDownload"), TextureID, resultState); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.DownloadTexture.Timeout"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.DownloadTexture.Usage"); + } + } + + private void Assets_OnImageReceived(TextureRequestState state, AssetTexture asset) + { + resultState = state; + Asset = asset; + + DownloadHandle.Set(); + } + + /*private void Assets_OnImageReceiveProgress(UUID image, int lastPacket, int recieved, int total) + { + bot.Console.WriteLine(String.Format("Textura {0}: Recibidos {1} / {2} bytes", image, recieved, total)); + }*/ + } +} diff --git a/SLBot/bot/Commands/Download/SoundsCommand.cs b/SLBot/bot/Commands/Download/SoundsCommand.cs new file mode 100644 index 0000000..d37758c --- /dev/null +++ b/SLBot/bot/Commands/Download/SoundsCommand.cs @@ -0,0 +1,108 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SoundsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + using System.Collections.Generic; + + public class SoundsCommand : Command + { + Dictionary alreadyRequested = new Dictionary(); + bool enabled = false; + + public SoundsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "sounds"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Sounds.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Textures.Usage"); + + enabled = SecondLifeBot.Account.LoginDetails.BotConfig.GetSounds; + SecondLifeBot.Sound.SoundTrigger += new EventHandler(Sound_SoundTrigger); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Sounds.Usage"); + + if (args[0].ToLower() == "on") + { + enabled = true; + return bot.Localization.clResourceManager.getText("Commands.Sounds.Enabled"); + } + else if (args[0].ToLower() == "off") + { + enabled = false; + return bot.Localization.clResourceManager.getText("Commands.Sounds.Disabled"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Sounds.Usage"); + } + } + + void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + if (enabled && base.Client.Account.LoginDetails.BotConfig.GetTextures) + { +#if DEBUG + bot.Console.WriteLine(this.Client, "GETTING SOUND: Gain: {0}, Object: {1}, Owner: {2}, Parent: {3}, Position: {4}, Region: {5}, ID: {6}", + e.Gain.ToString(), e.ObjectID.ToString(), e.OwnerID.ToString(), e.ParentID.ToString(), + e.Position.ToString(), e.RegionHandle.ToString(), e.SoundID.ToString()); +#endif + if (!System.IO.File.Exists("./sounds/" + e.SoundID.ToString() + ".ogg")) + base.Client.Assets.RequestAsset(e.SoundID, AssetType.Sound, true, Assets_OnSoundReceived); + } + } + + public void Assets_OnSoundReceived(AssetDownload transfer, Asset asset) + { + if (transfer.Success) + { + if (!System.IO.Directory.Exists("./sounds")) + System.IO.Directory.CreateDirectory("./sounds"); + System.IO.File.WriteAllBytes("./sounds/" + asset.AssetID.ToString() + ".ogg", asset.AssetData); + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Sounds.Downloaded"), asset.AssetID.ToString(), asset.AssetData.Length); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Sounds.Failed"), transfer.AssetID, transfer.Status); + } + } + } +} diff --git a/SLBot/bot/Commands/Download/TexturesCommand.cs b/SLBot/bot/Commands/Download/TexturesCommand.cs new file mode 100644 index 0000000..b401a83 --- /dev/null +++ b/SLBot/bot/Commands/Download/TexturesCommand.cs @@ -0,0 +1,182 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TexturesCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + using System.Collections.Generic; + + public class TexturesCommand : Command + { + Dictionary alreadyRequested = new Dictionary(); + bool enabled = false; + + public TexturesCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "textures"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Textures.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Textures.Usage"); + + enabled = SecondLifeBot.Account.LoginDetails.BotConfig.GetTextures; + SecondLifeBot.Objects.ObjectUpdate += new EventHandler(Objects_OnNewPrim); + SecondLifeBot.Objects.AvatarUpdate += Objects_OnNewAvatar; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Textures.Usage"); + + if (args[0].ToLower() == "on") + { + enabled = true; + return bot.Localization.clResourceManager.getText("Commands.Textures.Enabled"); + } + else if (args[0].ToLower() == "off") + { + enabled = false; + return bot.Localization.clResourceManager.getText("Commands.Textures.Disabled"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Textures.Usage"); + } + } + + void Objects_OnNewAvatar(object sender, AvatarUpdateEventArgs e) + { + if (enabled && base.Client.Account.LoginDetails.BotConfig.GetTextures) + { + // Search this avatar for textures + for (int i = 0; i < e.Avatar.Textures.FaceTextures.Length; i++) + { + Primitive.TextureEntryFace face = e.Avatar.Textures.FaceTextures[i]; + + if (face != null) + { + if (!alreadyRequested.ContainsKey(face.TextureID)) + { + alreadyRequested[face.TextureID] = face.TextureID; + + // Determine if this is a baked outfit texture or a normal texture + ImageType type = ImageType.Normal; + AvatarTextureIndex index = (AvatarTextureIndex)i; + switch (index) + { + case AvatarTextureIndex.EyesBaked: + case AvatarTextureIndex.HeadBaked: + case AvatarTextureIndex.LowerBaked: + case AvatarTextureIndex.SkirtBaked: + case AvatarTextureIndex.UpperBaked: + type = ImageType.Baked; + break; + } + + if (!File.Exists("textures/" + face.TextureID + ".jp2")) + Client.Assets.RequestImage(face.TextureID, type, Assets_OnImageReceived); + } + } + } + } + } + + void Objects_OnNewPrim(object sender, PrimEventArgs e) + { + Primitive prim = e.Prim; + + if (enabled && base.Client.Account.LoginDetails.BotConfig.GetTextures) + { + // Search this prim for textures + for (int i = 0; i < prim.Textures.FaceTextures.Length; i++) + { + Primitive.TextureEntryFace face = prim.Textures.FaceTextures[i]; + + if (face != null) + { + if (!alreadyRequested.ContainsKey(face.TextureID)) + { + alreadyRequested[face.TextureID] = face.TextureID; + if (!File.Exists("textures/" + face.TextureID + ".jp2")) + Client.Assets.RequestImage(face.TextureID, ImageType.Normal, Assets_OnImageReceived); + } + } + } + } + } + + private void Assets_OnImageReceived(TextureRequestState state, AssetTexture asset) + { + if (state == TextureRequestState.Finished && enabled && alreadyRequested.ContainsKey(asset.AssetID)) + { + if (state == TextureRequestState.Finished) + { + if (!Directory.Exists("textures")) + Directory.CreateDirectory("textures"); + + try + { + File.WriteAllBytes("textures/" + asset.AssetID + ".jp2", asset.AssetData); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + + if (asset.Decode()) + { + try + { + File.WriteAllBytes("textures/" + asset.AssetID + ".tga", asset.Image.ExportTGA()); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDecode"), asset.AssetID); + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.Downloaded"), asset.AssetID, asset.AssetData.Length); + + } + else + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDownload"), asset.AssetID, state); + } + } + } +} diff --git a/SLBot/bot/Commands/Estate/DilationCommand.cs b/SLBot/bot/Commands/Estate/DilationCommand.cs new file mode 100644 index 0000000..d1c8035 --- /dev/null +++ b/SLBot/bot/Commands/Estate/DilationCommand.cs @@ -0,0 +1,53 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DilationCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class DilationCommand : Command + { + public DilationCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "dilation"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Dilation.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Dilation.Dilation"), Client.Network.CurrentSim.Stats.Dilation.ToString()); + } + } +} + diff --git a/SLBot/bot/Commands/Estate/DownloadTerrainCommand.cs b/SLBot/bot/Commands/Estate/DownloadTerrainCommand.cs new file mode 100644 index 0000000..a9270d3 --- /dev/null +++ b/SLBot/bot/Commands/Estate/DownloadTerrainCommand.cs @@ -0,0 +1,135 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DownloadTerrainCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Collections.Generic; + using System.Threading; + using OpenMetaverse; + + public class DownloadTerrainCommand : Command + { + /// + /// Create a Synchronization event object + /// + private static AutoResetEvent xferTimeout = new AutoResetEvent(false); + + /// A string we use to report the result of the request with. + private static System.Text.StringBuilder result = new System.Text.StringBuilder(); + + private static string fileName; + + /// + /// Download a simulators raw terrain data and save it to a file + /// + /// + public DownloadTerrainCommand(SecondLifeBot SecondLifeBot) + { + Name = "downloadterrain"; + Description = bot.Localization.clResourceManager.getText("Commands.DownloadTerrain.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DownloadTerrain.Usage"); + } + + /// + /// Execute the application + /// + /// arguments passed to this module + /// The ID of the avatar sending the request + /// + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + int timeout = 120000; // default the timeout to 2 minutes + fileName = "terrain/" + Client.Network.CurrentSim.Name + ".raw"; + + if (args.Length > 0 && int.TryParse(args[0], out timeout) != true) + return bot.Localization.clResourceManager.getText("Commands.DownloadTerrain.Usage"); + + // Create a delegate which will be fired when the simulator receives our download request + // Starts the actual transfer request + AssetManager.InitiateDownloadCallback initiateDownloadDelegate = delegate(string simFilename, string viewerFileName) + { + Client.Assets.RequestAssetXfer(simFilename, false, false, UUID.Zero, AssetType.Unknown, false); + }; + + // Subscribe to the event that will tell us the status of the download + Client.Assets.OnXferReceived += new AssetManager.XferReceivedCallback(Assets_OnXferReceived); + + // subscribe to the event which tells us when the simulator has received our request + Client.Assets.OnInitiateDownload += initiateDownloadDelegate; + + // configure request to tell the simulator to send us the file + List parameters = new List(); + parameters.Add("download filename"); + parameters.Add(fileName); + // send the request + Client.Estate.EstateOwnerMessage("terrain", parameters); + + // wait for (timeout) seconds for the request to complete (defaults 2 minutes) + if (!xferTimeout.WaitOne(timeout, false)) + { + result.Append(bot.Localization.clResourceManager.getText("Commands.DownloadTerrain.Timeout")); + } + + // unsubscribe from events + Client.Assets.OnInitiateDownload -= initiateDownloadDelegate; + Client.Assets.OnXferReceived -= new AssetManager.XferReceivedCallback(Assets_OnXferReceived); + + // return the result + return result.ToString(); + } + + /// + /// Handle the reply to the OnXferReceived event + /// + /// + private void Assets_OnXferReceived(XferDownload xfer) + { + if (xfer.Success) + { + // set the result message + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.DownloadTerrain.Success"), xfer.Filename, xfer.Size, fileName); + + // write the file to disk + FileStream stream = new FileStream(fileName, FileMode.Create); + BinaryWriter w = new BinaryWriter(stream); + w.Write(xfer.AssetData); + w.Close(); + + // tell the application we've gotten the file + xferTimeout.Set(); + + } + } + } +} diff --git a/SLBot/bot/Commands/Estate/RegionInfoCommand.cs b/SLBot/bot/Commands/Estate/RegionInfoCommand.cs new file mode 100644 index 0000000..e405670 --- /dev/null +++ b/SLBot/bot/Commands/Estate/RegionInfoCommand.cs @@ -0,0 +1,84 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : RegionInfoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + + public class RegionInfoCommand : Command + { + public RegionInfoCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "regioninfo"; + base.Description = bot.Localization.clResourceManager.getText("Commands.RegionInfo.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder output = new StringBuilder(); + output.AppendLine(Client.Network.CurrentSim.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.UUID")); + output.AppendLine(Client.Network.CurrentSim.ID.ToString()); + uint x, y; + Utils.LongToUInts(Client.Network.CurrentSim.Handle, out x, out y); + output.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.RegionInfo.Handle"), Client.Network.CurrentSim.Handle, x, y)); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.Access")); + output.AppendLine(Client.Network.CurrentSim.Access.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.Flags")); + output.AppendLine(Client.Network.CurrentSim.Flags.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainBase0")); + output.AppendLine(Client.Network.CurrentSim.TerrainBase0.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainBase1")); + output.AppendLine(Client.Network.CurrentSim.TerrainBase1.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainBase2")); + output.AppendLine(Client.Network.CurrentSim.TerrainBase2.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainBase3")); + output.AppendLine(Client.Network.CurrentSim.TerrainBase3.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainDetail0")); + output.AppendLine(Client.Network.CurrentSim.TerrainDetail0.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainDetail1")); + output.AppendLine(Client.Network.CurrentSim.TerrainDetail1.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainDetail2")); + output.AppendLine(Client.Network.CurrentSim.TerrainDetail2.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.TerrainDetail3")); + output.AppendLine(Client.Network.CurrentSim.TerrainDetail3.ToString()); + output.Append(bot.Localization.clResourceManager.getText("Commands.RegionInfo.WaterHeight")); + output.AppendLine(Client.Network.CurrentSim.WaterHeight.ToString()); + + return output.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Estate/StatsCommand.cs b/SLBot/bot/Commands/Estate/StatsCommand.cs new file mode 100644 index 0000000..af51858 --- /dev/null +++ b/SLBot/bot/Commands/Estate/StatsCommand.cs @@ -0,0 +1,79 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : StatsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + + public class StatsCommand : Command + { + public StatsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "stats"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Stats.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder output = new StringBuilder(); + + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Simulator sim = Client.Network.Simulators[i]; + + output.AppendLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Stats.Info1"), + sim.ToString(), sim.Stats.Dilation, sim.Stats.IncomingBPS, sim.Stats.OutgoingBPS, + sim.Stats.ResentPackets, sim.Stats.ReceivedResends)); + } + } + + Simulator csim = Client.Network.CurrentSim; + + output.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Stats.Packets"), Client.Network.InboxCount); + output.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Stats.Info2"), + csim.Stats.FPS, csim.Stats.PhysicsFPS, csim.Stats.AgentUpdates, csim.Stats.Objects, csim.Stats.ScriptedObjects)); + output.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Stats.Info3"), + csim.Stats.FrameTime, csim.Stats.NetTime, csim.Stats.ImageTime, csim.Stats.PhysicsTime, csim.Stats.ScriptTime, csim.Stats.OtherTime)); + output.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Stats.Info4"), + csim.Stats.Agents, csim.Stats.ChildAgents, csim.Stats.ActiveScripts)); + + return output.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Estate/UploadRawTerrainCommand.cs b/SLBot/bot/Commands/Estate/UploadRawTerrainCommand.cs new file mode 100644 index 0000000..fca6673 --- /dev/null +++ b/SLBot/bot/Commands/Estate/UploadRawTerrainCommand.cs @@ -0,0 +1,118 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : UploadRawTerrainCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using System.Collections.Generic; + using System.Threading; + using OpenMetaverse; + + public class UploadRawTerrainCommand : Command + { + System.Threading.AutoResetEvent WaitForUploadComplete = new System.Threading.AutoResetEvent(false); + + /// + /// Download a simulators raw terrain data and save it to a file + /// + /// + public UploadRawTerrainCommand(SecondLifeBot SecondLifeBot) + { + Name = "uploadterrain"; + Description = bot.Localization.clResourceManager.getText("Commands.UploadRawTerrain.Description") + " " + bot.Localization.clResourceManager.getText("Commands.UploadRawTerrain.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + string fileName = String.Empty; + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.UploadRawTerrain.Usage"); + + + fileName = args[0]; + + if (!System.IO.File.Exists(fileName)) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.UploadRawTerrain.FileNotFound"), fileName); + } + + // Setup callbacks for upload request reply and progress indicator + // so we can detect when the upload is complete + Client.Assets.OnUploadProgress += new AssetManager.UploadProgressCallback(Assets_OnUploadProgress); + + byte[] fileData = File.ReadAllBytes(fileName); + + Client.Estate.UploadTerrain(fileData, fileName); + + // Wait for upload to complete. Upload request is fired in callback from first request + if (!WaitForUploadComplete.WaitOne(120000, false)) + { + Cleanup(); + return bot.Localization.clResourceManager.getText("Commands.UploadRawTerrain.Timeout"); + } + else + { + Cleanup(); + return bot.Localization.clResourceManager.getText("Commands.UploadRawTerrain.Success"); + } + } + + /// + /// Unregister previously subscribed event handlers + /// + private void Cleanup() + { + Client.Assets.OnUploadProgress -= new AssetManager.UploadProgressCallback(Assets_OnUploadProgress); + } + + + /// + /// + /// + /// + void Assets_OnUploadProgress(AssetUpload upload) + { + if (upload.Transferred == upload.Size) + { + WaitForUploadComplete.Set(); + } + else + { + //Console.WriteLine("Progress: {0}/{1} {2}/{3} {4}", upload.XferID, upload.ID, upload.Transferred, upload.Size, upload.Success); + bot.Console.WriteLine("."); + } + } + } +} diff --git a/SLBot/bot/Commands/Grid/AgentLocationsCommand.cs b/SLBot/bot/Commands/Grid/AgentLocationsCommand.cs new file mode 100644 index 0000000..1c3dde6 --- /dev/null +++ b/SLBot/bot/Commands/Grid/AgentLocationsCommand.cs @@ -0,0 +1,83 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AgentLocationsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + + public class AgentLocationsCommand : Command + { + public AgentLocationsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "agentlocations"; + base.Description = bot.Localization.clResourceManager.getText("Commands.AgentLocations.Description") + " " + bot.Localization.clResourceManager.getText("Commands.AgentLocations.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + ulong regionHandle; + + if (args.Length == 0) + regionHandle = Client.Network.CurrentSim.Handle; + else if (!(args.Length == 1 && UInt64.TryParse(args[0], out regionHandle))) + return bot.Localization.clResourceManager.getText("Commands.AgentLocations.Usage"); + + List items = Client.Grid.MapItems(regionHandle, GridItemType.AgentLocations, + GridLayerType.Objects, 1000 * 20); + + if (items != null) + { + StringBuilder ret = new StringBuilder(); + ret.AppendLine(bot.Localization.clResourceManager.getText("Commands.AgentLocations.Locations")); + + for (int i = 0; i < items.Count; i++) + { + MapAgentLocation location = (MapAgentLocation)items[i]; + + ret.AppendLine(String.Format(bot.Localization.clResourceManager.getText("Commands.AgentLocations.Avatar"), location.AvatarCount, location.LocalX, + location.LocalY)); + } + + return ret.ToString(); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.AgentLocations.Fail"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Grid/FindSimCommand.cs b/SLBot/bot/Commands/Grid/FindSimCommand.cs new file mode 100644 index 0000000..799c64b --- /dev/null +++ b/SLBot/bot/Commands/Grid/FindSimCommand.cs @@ -0,0 +1,74 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FindSimCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class FindSimCommand : Command + { + public FindSimCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "findsim"; + base.Description = bot.Localization.clResourceManager.getText("Commands.FindSim.Description") + " " + bot.Localization.clResourceManager.getText("Commands.FindSim.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.FindSim.Usage"); + + // Build the simulator name from the args list + string simName = string.Empty; + for (int i = 0; i < args.Length; i++) + simName += args[i] + " "; + simName = simName.TrimEnd().ToLower(); + + //if (!GridDataCached[Client]) + //{ + // Client.Grid.RequestAllSims(GridManager.MapLayerType.Objects); + // System.Threading.Thread.Sleep(5000); + // GridDataCached[Client] = true; + //} + + GridRegion region; + + if (Client.Grid.GetGridRegion(simName, GridLayerType.Objects, out region)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.FindSim.Info"), region.Name, region.RegionHandle, region.X, region.Y); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.FindSim.LookupFail"), simName); + } + } +} + diff --git a/SLBot/bot/Commands/Grid/GridLayerCommand.cs b/SLBot/bot/Commands/Grid/GridLayerCommand.cs new file mode 100644 index 0000000..4215c45 --- /dev/null +++ b/SLBot/bot/Commands/Grid/GridLayerCommand.cs @@ -0,0 +1,61 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GridLayerCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class GridLayerCommand : Command + { + public GridLayerCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "gridlayer"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GridLayer.Description"); + SecondLifeBot.Grid.GridLayer += Grid_GridLayer; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + base.Client.Grid.RequestMapLayer(GridLayerType.Objects); + return bot.Localization.clResourceManager.getText("Commands.GridLayer.Ready"); + } + + void Grid_GridLayer(object sender, GridLayerEventArgs e) + { + bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("Commands.GridLayer.Layer"), + e.Layer.ImageID.ToString(), e.Layer.Bottom, e.Layer.Left, e.Layer.Top, e.Layer.Right)); + } + } +} + diff --git a/SLBot/bot/Commands/Grid/GridMapCommand.cs b/SLBot/bot/Commands/Grid/GridMapCommand.cs new file mode 100644 index 0000000..7552494 --- /dev/null +++ b/SLBot/bot/Commands/Grid/GridMapCommand.cs @@ -0,0 +1,54 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GridMapCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class GridMapCommand : Command + { + public GridMapCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "gridmap"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GridMap.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.Grid.RequestMainlandSims(GridLayerType.Objects); + return bot.Localization.clResourceManager.getText("Commands.GridMap.Ready"); + } + } +} + diff --git a/SLBot/bot/Commands/Groups/ActivateGroupCommand.cs b/SLBot/bot/Commands/Groups/ActivateGroupCommand.cs new file mode 100644 index 0000000..d94d201 --- /dev/null +++ b/SLBot/bot/Commands/Groups/ActivateGroupCommand.cs @@ -0,0 +1,122 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ActivateGroupCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.Threading; + + public class ActivateGroupCommand : Command + { + ManualResetEvent GroupsEvent = new ManualResetEvent(false); + string activeGroup; + + public ActivateGroupCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "activategroup"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ActivateGroup.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ActivateGroup.Usage"); + } + + private void AgentDataUpdateHandler(object sender, PacketReceivedEventArgs e) + { + AgentDataUpdatePacket p = (AgentDataUpdatePacket)e.Packet; + if (p.AgentData.AgentID == Client.Self.AgentID) + { + activeGroup = Utils.BytesToString(p.AgentData.GroupName) + " ( " + Utils.BytesToString(p.AgentData.GroupTitle) + " )"; + GroupsEvent.Set(); + } + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bool isGroupID = false; + + if (args.Length < 1) + return Description; + + activeGroup = string.Empty; + + string groupName = String.Empty; + for (int i = 0; i < args.Length; i++) + groupName += args[i] + " "; + groupName = groupName.Trim(); + + Client.Groups.RequestCurrentGroups(); + + GroupsEvent.Reset(); + + string realGroupName = ""; + + UUID groupUUID = Client.GroupName2UUID(groupName); + if (UUID.Zero != groupUUID) + { + EventHandler pcallback = AgentDataUpdateHandler; + Client.Network.RegisterCallback(PacketType.AgentDataUpdate, pcallback); + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.ActivateGroup.Setting"), groupName); + Client.Groups.ActivateGroup(groupUUID); + GroupsEvent.WaitOne(30000, false); + + Client.Network.UnregisterCallback(PacketType.AgentDataUpdate, pcallback); + GroupsEvent.Reset(); + + /* A.Biondi + * TODO: Handle titles choosing. + */ + + Client.key2Name(groupUUID, out realGroupName, out isGroupID); + + if (!isGroupID) + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarID"), groupUUID); + + if (realGroupName == "") + realGroupName = groupUUID.ToString(); + + if (String.IsNullOrEmpty(activeGroup)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.ActivateGroup.Failed"), Client.ToString(), + realGroupName); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.ActivateGroup.Active"), Client.ToString(), + realGroupName); + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.ActivateGroup.NotInGroup"), Client.ToString(), + realGroupName); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.ActivateGroup.NoGroups"), Client.ToString()); + } + } +} + diff --git a/SLBot/bot/Commands/Groups/ActivateRoleCommand.cs b/SLBot/bot/Commands/Groups/ActivateRoleCommand.cs new file mode 100644 index 0000000..20a94b6 --- /dev/null +++ b/SLBot/bot/Commands/Groups/ActivateRoleCommand.cs @@ -0,0 +1,126 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ActivateRoleCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Threading; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; + +namespace bot.Commands +{ + public class ActivateRoleCommand : Command + { + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + private string GroupName; + private UUID GroupUUID; + private UUID RoleUUID; + private UUID GroupRequestID; + private Dictionary GroupRoles; + + public ActivateRoleCommand(SecondLifeBot secondLifeBot) + { + Name = "activaterole"; + Description = bot.Localization.clResourceManager.getText("Commands.ActivateRole.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ActivateRole.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bool isGroupKey = false; + + if (args.Length > 2 || args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.ActivateRole.Usage"); + + if (args.Length == 2) + { + if (!UUID.TryParse(args[1], out GroupUUID)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.ExpectedGroupID"); + } + else + { + if (Client.Self.ActiveGroup == UUID.Zero) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.NoGroupActive"); + + GroupUUID = Client.Self.ActiveGroup; + } + + if (!UUID.TryParse(args[0], out RoleUUID)) + return bot.Localization.clResourceManager.getText("Commands.AddToRole.ExpectedRoleID"); + + if (!Client.key2Name(GroupUUID, out GroupName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.GroupNotFound"); + if (!isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarID"); + + Client.ReloadGroupsCache(); + + if (Client.GroupsCache == null) + return bot.Localization.clResourceManager.getText("Commands.Groups.CacheFailed"); + if (Client.GroupsCache.Count == 0) + return bot.Localization.clResourceManager.getText("Commands.Groups.NoGroups"); + if (!Client.GroupsCache.ContainsKey(GroupUUID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.AddToRole.NotMemberSelf"), GroupName); + + Client.Groups.GroupRoleDataReply += Groups_GroupRoles; + GroupRequestID = Client.Groups.RequestGroupRoles(GroupUUID); + if (!GroupsEvent.WaitOne(30000, false)) + { + GroupsEvent.Reset(); + Client.Groups.GroupRoleDataReply -= Groups_GroupRoles; + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.CannotRoles"); + } + else + { + GroupsEvent.Reset(); + Client.Groups.GroupRoleDataReply -= Groups_GroupRoles; + } + + GroupRole chosenRole; + + if (!GroupRoles.TryGetValue(RoleUUID, out chosenRole)) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.NotRole"); + + Client.Groups.ActivateTitle(GroupUUID, RoleUUID); + return String.Format(bot.Localization.clResourceManager.getText("Commands.ActivateRole.Activating"), chosenRole.Name, GroupName); + } + + private void Groups_GroupRoles(object sender, GroupRolesDataReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + GroupRoles = e.Roles; + GroupsEvent.Set(); + } + } + } +} diff --git a/SLBot/bot/Commands/Groups/AddToRoleCommand.cs b/SLBot/bot/Commands/Groups/AddToRoleCommand.cs new file mode 100644 index 0000000..fc11a54 --- /dev/null +++ b/SLBot/bot/Commands/Groups/AddToRoleCommand.cs @@ -0,0 +1,163 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AddToRoleCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Threading; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; + +namespace bot.Commands +{ + public class AddToRoleCommand : Command + { + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + private string GroupName, AvatarName; + private UUID GroupUUID; + private UUID RoleUUID; + private UUID GroupRequestID; + private UUID AvatarUUID; + private Dictionary GroupRoles; + private Dictionary GroupMembers; + + public AddToRoleCommand(SecondLifeBot secondLifeBot) + { + Name = "addtorole"; + Description = bot.Localization.clResourceManager.getText("Commands.AddToRole.Description") + " " + bot.Localization.clResourceManager.getText("Commands.AddToRole.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bool isGroupKey = false; + + if (args.Length > 3 || args.Length < 2) + return bot.Localization.clResourceManager.getText("Commands.AddToRole.Usage"); + + if (args.Length == 3) + { + if (!UUID.TryParse(args[2], out GroupUUID)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.ExpectedGroupID"); + } + else + { + if (Client.Self.ActiveGroup == UUID.Zero) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.NoGroupActive"); + + GroupUUID = Client.Self.ActiveGroup; + } + + if (!UUID.TryParse(args[0], out RoleUUID)) + return bot.Localization.clResourceManager.getText("Commands.AddToRole.ExpectedRoleID"); + if (!UUID.TryParse(args[1], out AvatarUUID)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarID"); + + if (!Client.key2Name(GroupUUID, out GroupName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.GroupNotFound"); + if (!isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarID"); + + if (!Client.key2Name(AvatarUUID, out AvatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarNotFound"); + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.GroupID"); + + Client.ReloadGroupsCache(); + + if (Client.GroupsCache == null) + return bot.Localization.clResourceManager.getText("Commands.Groups.CacheFailed"); + if (Client.GroupsCache.Count == 0) + return bot.Localization.clResourceManager.getText("Commands.Groups.NoGroups"); + if (!Client.GroupsCache.ContainsKey(GroupUUID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.AddToRole.NotMemberSelf"), GroupName); + + Client.Groups.GroupMembersReply += GroupMembersHandler; + GroupRequestID = Client.Groups.RequestGroupMembers(GroupUUID); + if (!GroupsEvent.WaitOne(30000, false)) + { + GroupsEvent.Reset(); + Client.Groups.GroupMembersReply -= GroupMembersHandler; + return "Unable to get group members."; + } + else + { + GroupsEvent.Reset(); + Client.Groups.GroupMembersReply -= GroupMembersHandler; + } + + GroupMember chosenMember; + + if (!GroupMembers.TryGetValue(AvatarUUID, out chosenMember)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.AddToRole.NotMember"), AvatarName, GroupName); + + Client.Groups.GroupRoleDataReply += Groups_GroupRoles; + GroupRequestID = Client.Groups.RequestGroupRoles(GroupUUID); + if (!GroupsEvent.WaitOne(30000, false)) + { + GroupsEvent.Reset(); + Client.Groups.GroupRoleDataReply -= Groups_GroupRoles; + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.CannotRoles"); + } + else + { + GroupsEvent.Reset(); + Client.Groups.GroupRoleDataReply -= Groups_GroupRoles; + } + + GroupRole chosenRole; + + if (!GroupRoles.TryGetValue(RoleUUID, out chosenRole)) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.NotRole"); + + Client.Groups.AddToRole(GroupUUID, RoleUUID, AvatarUUID); + return String.Format(bot.Localization.clResourceManager.getText("Commands.AddToRole.Adding"), AvatarName, chosenRole.Name, GroupName); + } + + private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + GroupMembers = e.Members; + GroupsEvent.Set(); + } + } + + private void Groups_GroupRoles(object sender, GroupRolesDataReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + GroupRoles = e.Roles; + GroupsEvent.Set(); + } + } + } +} diff --git a/SLBot/bot/Commands/Groups/GroupEjectCommand.cs b/SLBot/bot/Commands/Groups/GroupEjectCommand.cs new file mode 100644 index 0000000..0da31bd --- /dev/null +++ b/SLBot/bot/Commands/Groups/GroupEjectCommand.cs @@ -0,0 +1,119 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroupEjectCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Threading; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; + +namespace bot.Commands +{ + public class GroupEjectCommand : Command + { + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + private string GroupName; + private UUID GroupUUID; + private UUID GroupRequestID; + private Dictionary GroupMembers; + + public GroupEjectCommand(SecondLifeBot secondLifeBot) + { + Name = "groupeject"; + Description = bot.Localization.clResourceManager.getText("Commands.GroupEject.Description") + " " + bot.Localization.clResourceManager.getText("Commands.GroupEject.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID avatarID; + bool isGroupKey; + string avatarName; + GroupMembers = new Dictionary(); + GroupsEvent.Reset(); + + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.Usage"); + + if (args.Length == 2) + { + if (!UUID.TryParse(args[1], out GroupUUID)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.ExpectedGroupID"); + + if (!Client.key2Name(GroupUUID, out GroupName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.GroupNotFound"); + if (!isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarID"); + } + else + { + if (Client.Self.ActiveGroup == UUID.Zero) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.NoGroupActive"); + + GroupUUID = Client.Self.ActiveGroup; + } + + if (!UUID.TryParse(args[0], out avatarID)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.ExpectedAvatarID"); + + if (!Client.key2Name(avatarID, out avatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.AvatarNotFound"); + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.GroupEject.GroupID"); + + Client.Groups.GroupMembersReply += GroupMembersHandler; + GroupRequestID = Client.Groups.RequestGroupMembers(GroupUUID); + if (!GroupsEvent.WaitOne(30000, false)) + { + Client.Groups.GroupMembersReply -= GroupMembersHandler; + return bot.Localization.clResourceManager.getText("Commands.GroupEject.ErrorMembers"); + } + + Client.Groups.GroupMembersReply -= GroupMembersHandler; + + if (!GroupMembers.ContainsKey(avatarID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupEject.NotMember"), avatarName, GroupName); + + Client.Groups.EjectUser(GroupUUID, avatarID); + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupEject.Ejected"), avatarName, GroupName); + } + + private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + GroupMembers = e.Members; + GroupsEvent.Set(); + } + } + } +} diff --git a/SLBot/bot/Commands/Groups/GroupInviteCommand.cs b/SLBot/bot/Commands/Groups/GroupInviteCommand.cs new file mode 100644 index 0000000..1dc0e54 --- /dev/null +++ b/SLBot/bot/Commands/Groups/GroupInviteCommand.cs @@ -0,0 +1,124 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroupInviteCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Threading; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; + +namespace bot.Commands +{ + public class GroupInviteCommand : Command + { + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + private UUID roleID; + private UUID GroupRequestID; + private Dictionary Roles; + + public GroupInviteCommand(SecondLifeBot secondLifeBot) + { + Name = "invitegroup"; + Description = bot.Localization.clResourceManager.getText("Commands.GroupInvite.Description") + " " + bot.Localization.clResourceManager.getText("Commands.GroupInvite.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.Usage"); + + UUID avatarID; + string avatarName, groupName; + bool isGroupKey = false; + Roles = new Dictionary(); + + if (!UUID.TryParse(args[0], out avatarID)) + return Description; + + roleID = UUID.Zero; + + if (args.Length == 2) + if (!UUID.TryParse(args[1], out roleID)) + return Description; + + if (Client.Self.ActiveGroup == UUID.Zero) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.NoGroupActive"); + + if (!Client.key2Name(avatarID, out avatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.AvNotFound"); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.CannotGroup"); + + Client.key2Name(Client.Self.ActiveGroup, out groupName); + + Client.Groups.GroupRoleDataReply += Groups_GroupRoles; + GroupRequestID = Client.Groups.RequestGroupRoles(Client.Self.ActiveGroup); + if (!GroupsEvent.WaitOne(30000, false)) + { + GroupsEvent.Reset(); + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.CannotRoles"); + } + else + { + GroupsEvent.Reset(); + } + Client.Groups.GroupRoleDataReply -= Groups_GroupRoles; + + if (!Roles.ContainsKey(roleID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupInvite.NotRole"), roleID); + + List inviteRoles = new List(); + + inviteRoles.Add(roleID); + + GroupRole role; + + if (!Roles.TryGetValue(roleID, out role)) + return bot.Localization.clResourceManager.getText("Commands.GroupInvite.ErrorRole"); + + Client.Groups.Invite(Client.Self.ActiveGroup, inviteRoles, avatarID); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupInvite.Inviting"), avatarName, groupName, role.Name); + } + + void Groups_GroupRoles(object sender, GroupRolesDataReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + Roles = e.Roles; + GroupsEvent.Set(); + } + } + } +} diff --git a/SLBot/bot/Commands/Groups/GroupMembersCommand.cs b/SLBot/bot/Commands/Groups/GroupMembersCommand.cs new file mode 100644 index 0000000..07c155a --- /dev/null +++ b/SLBot/bot/Commands/Groups/GroupMembersCommand.cs @@ -0,0 +1,108 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroupMembersCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Threading; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; + +namespace bot.Commands +{ + public class GroupMembersCommand : Command + { + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + private string GroupName; + private UUID GroupUUID; + private UUID GroupRequestID; + StringBuilder sb; + + public GroupMembersCommand(SecondLifeBot secondLifeBot) + { + Name = "groupmembers"; + Description = bot.Localization.clResourceManager.getText("Commands.GroupMembers.Description") + " " + bot.Localization.clResourceManager.getText("Commands.GroupMembers.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.GroupMembers.Usage"); + + sb = new StringBuilder(); + + GroupName = String.Empty; + for (int i = 0; i < args.Length; i++) + GroupName += args[i] + " "; + GroupName = GroupName.Trim(); + + GroupUUID = Client.GroupName2UUID(GroupName); + if (UUID.Zero != GroupUUID) + { + Client.Groups.GroupMembersReply += GroupMembersHandler; + GroupRequestID = Client.Groups.RequestGroupMembers(GroupUUID); + GroupsEvent.WaitOne(30000, false); + GroupsEvent.Reset(); + Client.Groups.GroupMembersReply -= GroupMembersHandler; + return sb.ToString(); + + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupMembers.NotMember"), Client.ToString(), GroupName); + } + + private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + sb.AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupMembers.GotMembers"), Client.ToString()).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.RequestID"), e.RequestID).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.GroupName"), GroupName).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.GroupID"), GroupUUID).AppendLine(); + if (e.Members.Count > 0) + foreach (KeyValuePair member in e.Members) + { + string MemberName; + + if (!Client.key2Name(member.Key, out MemberName)) + MemberName = bot.Localization.clResourceManager.getText("Commands.PrimInfo.Unknown"); + + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupMembers.Member"), MemberName, member.Key.ToString()).AppendLine(); + + } + + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupMembers.MemberCount"), e.Members.Count).AppendLine(); + GroupsEvent.Set(); + } + } + } +} diff --git a/SLBot/bot/Commands/Groups/GroupRolesCommand.cs b/SLBot/bot/Commands/Groups/GroupRolesCommand.cs new file mode 100644 index 0000000..bf139f1 --- /dev/null +++ b/SLBot/bot/Commands/Groups/GroupRolesCommand.cs @@ -0,0 +1,98 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroupRolesCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Threading; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; + +namespace bot.Commands +{ + public class GroupRolesCommand : Command + { + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + private string GroupName; + private UUID GroupUUID; + private UUID GroupRequestID; + StringBuilder sb; + + public GroupRolesCommand(SecondLifeBot secondLifeBot) + { + Name = "grouproles"; + Description = bot.Localization.clResourceManager.getText("Commands.GroupRoles.Description") + " " + bot.Localization.clResourceManager.getText("Commands.GroupRoles.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.GroupRoles.Usage"); + + sb = new StringBuilder(); + + GroupName = String.Empty; + for (int i = 0; i < args.Length; i++) + GroupName += args[i] + " "; + GroupName = GroupName.Trim(); + + GroupUUID = Client.GroupName2UUID(GroupName); + if (UUID.Zero != GroupUUID) + { + Client.Groups.GroupRoleDataReply += Groups_GroupRoles; + GroupRequestID = Client.Groups.RequestGroupRoles(GroupUUID); + GroupsEvent.WaitOne(30000, false); + GroupsEvent.Reset(); + Client.Groups.GroupRoleDataReply -= Groups_GroupRoles; + return sb.ToString(); + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.GroupRoles.NoRoles"), Client.ToString(), GroupName); + } + + private void Groups_GroupRoles(object sender, GroupRolesDataReplyEventArgs e) + { + if (e.RequestID == GroupRequestID) + { + sb.AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.GotRoles"), Client.ToString()).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.RequestID"), e.RequestID).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.GroupName"), GroupName).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.GroupID"), GroupUUID).AppendLine(); + if (e.Roles.Count > 0) + foreach (KeyValuePair role in e.Roles) + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.Role"), role.Value.ID, role.Value.Name, role.Value.Title).AppendLine(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GroupRoles.RoleCount"), e.Roles.Count).AppendLine(); + GroupsEvent.Set(); + } + } + } +} diff --git a/SLBot/bot/Commands/Groups/GroupsCommand.cs b/SLBot/bot/Commands/Groups/GroupsCommand.cs new file mode 100644 index 0000000..6cf80a3 --- /dev/null +++ b/SLBot/bot/Commands/Groups/GroupsCommand.cs @@ -0,0 +1,77 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroupsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class GroupsCommand : Command + { + ManualResetEvent GetCurrentGroupsEvent = new ManualResetEvent(false); + Dictionary groups = new Dictionary(); + + public GroupsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "groups"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Groups.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.ReloadGroupsCache(); + return getGroupsString(); + } + + string getGroupsString() + { + if (null == Client.GroupsCache) + return bot.Localization.clResourceManager.getText("Commands.Groups.CacheFailed"); + if (0 == Client.GroupsCache.Count) + return bot.Localization.clResourceManager.getText("Commands.Groups.NoGroups"); + StringBuilder sb = new StringBuilder(); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Groups.GotGroups"), Client.GroupsCache.Count).AppendLine(); + foreach (Group group in Client.GroupsCache.Values) + { + sb.AppendLine(group.ID + ", " + group.Name); + + } + + return sb.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/Groups/ImGroupCommand.cs b/SLBot/bot/Commands/Groups/ImGroupCommand.cs new file mode 100644 index 0000000..55052bd --- /dev/null +++ b/SLBot/bot/Commands/Groups/ImGroupCommand.cs @@ -0,0 +1,110 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ImGroupCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Threading; + + public class ImGroupCommand : Command + { + UUID ToGroupID = UUID.Zero; + ManualResetEvent WaitForSessionStart = new ManualResetEvent(false); + + public ImGroupCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "imgroup"; + base.Description = bot.Localization.clResourceManager.getText("Commands.IMGroup.Description") + " " + bot.Localization.clResourceManager.getText("Commands.IMGroup.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 2) + return bot.Localization.clResourceManager.getText("Commands.IMGroup.Usage"); + + + + if (UUID.TryParse(args[0], out ToGroupID)) + { + string message = String.Empty; + for (int ct = 1; ct < args.Length; ct++) + message += args[ct] + " "; + message = message.TrimEnd(); + if (message.Length > 1023) + message = message.Remove(1023); + + Client.Self.GroupChatJoined += Self_GroupChatJoined; + if (!Client.Self.GroupChatSessions.ContainsKey(ToGroupID)) + { + WaitForSessionStart.Reset(); + Client.Self.RequestJoinGroupChat(ToGroupID); + } + else + { + WaitForSessionStart.Set(); + } + + if (WaitForSessionStart.WaitOne(20000, false)) + { + Client.Self.InstantMessageGroup(ToGroupID, message); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.IMGroup.Timeout"); + } + + Client.Self.GroupChatJoined -= Self_GroupChatJoined; + return String.Format(bot.Localization.clResourceManager.getText("Commands.IMGroup.Success"), ToGroupID.ToString(), message); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.IMGroup.Fail"); + } + } + + void Self_GroupChatJoined(object sender, GroupChatJoinedEventArgs e) + { + if (e.Success) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.IMGroup.Joined"), e.SessionName); + WaitForSessionStart.Set(); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.IMGroup.JoinFail")); + } + } + } +} + diff --git a/SLBot/bot/Commands/Groups/JoinGroupCommand.cs b/SLBot/bot/Commands/Groups/JoinGroupCommand.cs new file mode 100644 index 0000000..d74718a --- /dev/null +++ b/SLBot/bot/Commands/Groups/JoinGroupCommand.cs @@ -0,0 +1,169 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : JoinGroupCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + + public class JoinGroupCommand : Command + { + ManualResetEvent GetGroupsSearchEvent = new ManualResetEvent(false); + private UUID queryID = UUID.Zero; + private UUID resolvedGroupID; + private string groupName; + private string resolvedGroupName; + private bool joinedGroup; + + public JoinGroupCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "joingroup"; + base.Description = bot.Localization.clResourceManager.getText("Commands.JoinGroup.Description") + " " + bot.Localization.clResourceManager.getText("Commands.JoinGroup.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return Description; + + groupName = String.Empty; + resolvedGroupID = UUID.Zero; + resolvedGroupName = String.Empty; + + if (args.Length < 2) + { + if (!UUID.TryParse((resolvedGroupName = groupName = args[0]), out resolvedGroupID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.JoinGroup.InvalidUUID"), resolvedGroupName); + } + else + { + for (int i = 0; i < args.Length; i++) + groupName += args[i] + " "; + groupName = groupName.Trim(); + + Client.Directory.DirGroupsReply += Directory_DirGroups; + + queryID = Client.Directory.StartGroupSearch(groupName, 0); + + GetGroupsSearchEvent.WaitOne(60000, false); + + Client.Directory.DirGroupsReply -= Directory_DirGroups; + + GetGroupsSearchEvent.Reset(); + } + + if (resolvedGroupID == UUID.Zero) + { + if (string.IsNullOrEmpty(resolvedGroupName)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.JoinGroup.UUIDNotFound"), groupName); + else + return resolvedGroupName; + } + + Client.Groups.GroupJoinedReply += Groups_OnGroupJoined; + Client.Groups.RequestJoinGroup(resolvedGroupID); + + /* A.Biondi + * TODO: implement the pay to join procedure. + */ + + GetGroupsSearchEvent.WaitOne(60000, false); + + Client.Groups.GroupJoinedReply -= Groups_OnGroupJoined; + GetGroupsSearchEvent.Reset(); + + if (joinedGroup) + return String.Format(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Joined"), resolvedGroupName); + return String.Format(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Failed"), resolvedGroupName); + } + + void Groups_OnGroupJoined(object sender, GroupOperationEventArgs e) + { + if (e.Success) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Joined"), e.GroupID.ToString()); + joinedGroup = true; + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Failed"), e.GroupID.ToString()); + joinedGroup = false; + } + } + + void Directory_DirGroups(object sender, DirGroupsReplyEventArgs e) + { + if (queryID == e.QueryID) + { + queryID = UUID.Zero; + if (e.MatchedGroups.Count < 1) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Empty")); + } + else + { + if (e.MatchedGroups.Count > 1) + { + /* A.Biondi + * The Group search doesn't work as someone could expect... + * It'll give back to you a long list of groups even if the + * searchText (groupName) matches esactly one of the groups + * names present on the server, so we need to check each result. + * UUIDs of the matching groups are written on the console. + */ + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Matching") + System.Environment.NewLine); + foreach (DirectoryManager.GroupSearchData groupRetrieved in e.MatchedGroups) + { + bot.Console.WriteLine(groupRetrieved.GroupName + "\t\t\t(" + + Name + " UUID " + groupRetrieved.GroupID.ToString() + ")"); + + if (groupRetrieved.GroupName.ToLower() == groupName.ToLower()) + { + resolvedGroupID = groupRetrieved.GroupID; + resolvedGroupName = groupRetrieved.GroupName; + break; + } + } + if (string.IsNullOrEmpty(resolvedGroupName)) + resolvedGroupName = String.Format(bot.Localization.clResourceManager.getText("Commands.JoinGroup.Ambigous"), e.MatchedGroups.Count.ToString()); + } + + } + GetGroupsSearchEvent.Set(); + } + } + } +} + diff --git a/SLBot/bot/Commands/Groups/LeaveGroupCommand.cs b/SLBot/bot/Commands/Groups/LeaveGroupCommand.cs new file mode 100644 index 0000000..2c2aea6 --- /dev/null +++ b/SLBot/bot/Commands/Groups/LeaveGroupCommand.cs @@ -0,0 +1,96 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LeaveGroupCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + + public class LeaveGroupCommand : Command + { + ManualResetEvent GroupsEvent = new ManualResetEvent(false); + Dictionary groups = new Dictionary(); + private bool leftGroup; + + public LeaveGroupCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "leavegroup"; + base.Description = bot.Localization.clResourceManager.getText("Commands.LeaveGroup.Description") + " " + bot.Localization.clResourceManager.getText("Commands.LeaveGroup.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return Description; + + string groupName = String.Empty; + for (int i = 0; i < args.Length; i++) + groupName += args[i] + " "; + groupName = groupName.Trim(); + + UUID groupUUID = Client.GroupName2UUID(groupName); + if (UUID.Zero != groupUUID) + { + Client.Groups.GroupLeaveReply += Groups_GroupLeft; + Client.Groups.LeaveGroup(groupUUID); + + GroupsEvent.WaitOne(30000, false); + Client.Groups.GroupLeaveReply -= Groups_GroupLeft; + + GroupsEvent.Reset(); + Client.ReloadGroupsCache(); + + if (leftGroup) + return String.Format(bot.Localization.clResourceManager.getText("Commands.LeaveGroup.Left"), Client.ToString(), + groupName); + return String.Format(bot.Localization.clResourceManager.getText("Commands.LeaveGroup.Failed"), Client.ToString(), + groupName); + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.LeaveGroup.NotInGroup"), Client.ToString(), groupName); + } + + void Groups_GroupLeft(object sender, GroupOperationEventArgs e) + { + if (e.Success) + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.LeaveGroup.Left"), Client.ToString(), e.GroupID.ToString()); + else + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.LeaveGroup.Failed"), Client.ToString(), e.GroupID.ToString()); + + leftGroup = e.Success; + GroupsEvent.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Inventory/BackupCommand.cs b/SLBot/bot/Commands/Inventory/BackupCommand.cs new file mode 100644 index 0000000..c8f535b --- /dev/null +++ b/SLBot/bot/Commands/Inventory/BackupCommand.cs @@ -0,0 +1,514 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BackupCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse.Assets; + + public class BackupCommand : Command + { + private BackgroundWorker BackupWorker; + private List CurrentDownloads = new List(10); + private const int MAX_TRANSFERS = 10; + private Queue PendingDownloads = new Queue(); + private BackgroundWorker QueueWorker; + private int TextItemErrors; + private int TextItemsFound; + private int TextItemsTransferred; + + #region Properties + + /// + /// true if either of the background threads is running + /// + private bool BackgroundBackupRunning + { + get { return InventoryWalkerRunning || QueueRunnerRunning; } + } + + /// + /// true if the thread walking inventory is running + /// + private bool InventoryWalkerRunning + { + get { return BackupWorker != null; } + } + + /// + /// true if the thread feeding the queue to the server is running + /// + private bool QueueRunnerRunning + { + get { return QueueWorker != null; } + } + + /// + /// returns a string summarizing activity + /// + /// + private string BackgroundBackupStatus + { + get + { + StringBuilder sbResult = new StringBuilder(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Running"), Name, BoolToNot(BackgroundBackupRunning)); + if (TextItemErrors != 0 || TextItemsFound != 0 || TextItemsTransferred != 0) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Walker"), + Name, BoolToNot(InventoryWalkerRunning), TextItemsFound); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Transfer"), + Name, BoolToNot(QueueRunnerRunning), TextItemsTransferred, TextItemErrors); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Queue"), + Name, PendingDownloads.Count, CurrentDownloads.Count); + } + return sbResult.ToString(); + } + } + + #endregion Properties + + public BackupCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "backup"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Backup.Description") + " " + String.Format(bot.Localization.clResourceManager.getText("Commands.Backup.Usage"), Name); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Program.NBStats.AddStatData(String.Format("{0}: {1} backing up all inventory.", DateTime.Now.ToString(), Client)); + + StringBuilder sbResult = new StringBuilder(); + + if (args.Length == 1 && args[0] == "status") + { + return BackgroundBackupStatus; + } + else if (args.Length == 1 && args[0] == "abort") + { + if (!BackgroundBackupRunning) + return BackgroundBackupStatus; + + BackupWorker.CancelAsync(); + QueueWorker.CancelAsync(); + + Thread.Sleep(500); + + // check status + return BackgroundBackupStatus; + } + else if (args.Length != 2) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Backup.Usage"), Name); + } + else if (BackgroundBackupRunning) + { + return BackgroundBackupStatus; + } + + QueueWorker = new BackgroundWorker(); + QueueWorker.WorkerSupportsCancellation = true; + QueueWorker.DoWork += new DoWorkEventHandler(bwQueueRunner_DoWork); + QueueWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwQueueRunner_RunWorkerCompleted); + + QueueWorker.RunWorkerAsync(); + + BackupWorker = new BackgroundWorker(); + BackupWorker.WorkerSupportsCancellation = true; + BackupWorker.DoWork += new DoWorkEventHandler(bwBackup_DoWork); + BackupWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwBackup_RunWorkerCompleted); + + BackupWorker.RunWorkerAsync(args); + return bot.Localization.clResourceManager.getText("Commands.Backup.Started"); + } + + void bwQueueRunner_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + QueueWorker = null; + bot.Console.WriteLine(BackgroundBackupStatus); + } + + void bwQueueRunner_DoWork(object sender, DoWorkEventArgs e) + { + TextItemErrors = TextItemsTransferred = 0; + + while (QueueWorker.CancellationPending == false) + { + // have any timed out? + if (CurrentDownloads.Count > 0) + { + lock (CurrentDownloads) + { + foreach (QueuedDownloadInfo qdi in CurrentDownloads) + { + if ((qdi.WhenRequested + TimeSpan.FromSeconds(60)) < DateTime.Now) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Timeout"), Name, qdi.AssetID.ToString()); + // submit request again + if (qdi.Type == AssetType.Notecard || qdi.Type == AssetType.LSLText || qdi.Type == AssetType.Texture) + { + if (qdi.Type == AssetType.Texture) + { + Client.Assets.RequestImage(qdi.AssetID, Assets_OnImageReceived); + } + else + { + Client.Assets.RequestInventoryAsset( + qdi.AssetID, qdi.ItemID, qdi.TaskID, qdi.OwnerID, qdi.Type, true, Assets_OnAssetReceived); + } + } + else + { + Client.Assets.RequestAsset(qdi.AssetID, qdi.Type, true, Assets_OnAssetReceived); + } + qdi.WhenRequested = DateTime.Now; + qdi.IsRequested = true; + } + } + } + } + + if (PendingDownloads.Count != 0) + { + // room in the server queue? + if (CurrentDownloads.Count < MAX_TRANSFERS) + { + // yes + QueuedDownloadInfo qdi = PendingDownloads.Dequeue(); + qdi.WhenRequested = DateTime.Now; + qdi.IsRequested = true; + if (qdi.Type == AssetType.Notecard || qdi.Type == AssetType.LSLText || qdi.Type == AssetType.Texture) + { + if (qdi.Type == AssetType.Texture) + { + Client.Assets.RequestImage(qdi.AssetID, Assets_OnImageReceived); + } + else + { + Client.Assets.RequestInventoryAsset( + qdi.AssetID, qdi.ItemID, qdi.TaskID, qdi.OwnerID, qdi.Type, true, Assets_OnAssetReceived); + } + } + else + { + Client.Assets.RequestAsset(qdi.AssetID, qdi.Type, true, Assets_OnAssetReceived); + } + + lock (CurrentDownloads) + CurrentDownloads.Add(qdi); + } + } + + if (CurrentDownloads.Count == 0 && PendingDownloads.Count == 0 && BackupWorker == null) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.AllDone"), Name); + return; + } + + Thread.Sleep(100); + } + } + + void bwBackup_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.WalkingDone"), Name); + BackupWorker = null; + } + + private void bwBackup_DoWork(object sender, DoWorkEventArgs e) + { + string[] args; + + TextItemsFound = 0; + + args = (string[])e.Argument; + + lock (CurrentDownloads) + CurrentDownloads.Clear(); + + // FIXME: + //Client.Inventory.RequestFolderContents(Client.Inventory.Store.RootFolder.UUID, Client.Self.AgentID, + // true, true, false, InventorySortOrder.ByName); + + DirectoryInfo di = new DirectoryInfo(args[1]); + + // recurse on the root folder into the entire inventory + BackupFolder(Client.Inventory.Store.RootNode, di.FullName); + } + + /// + /// BackupFolder - recurse through the inventory nodes sending scripts and notecards to the transfer queue + /// + /// The current leaf in the inventory tree + /// path so far, in the form @"c:\here" -- this needs to be "clean" for the current filesystem + private void BackupFolder(InventoryNode folder, string sPathSoFar) + { + StringBuilder sbRequests = new StringBuilder(); + + // FIXME: + //Client.Inventory.RequestFolderContents(folder.Data.UUID, Client.Self.AgentID, true, true, false, + // InventorySortOrder.ByName); + + // first scan this folder for text + foreach (InventoryNode iNode in folder.Nodes.Values) + { + if (BackupWorker.CancellationPending) + return; + if (iNode.Data is OpenMetaverse.InventoryItem) + { + InventoryItem ii = iNode.Data as InventoryItem; + + string sExtension; + string sPath; + + switch (ii.AssetType) + { + case AssetType.Animation: + sExtension = ".animatn"; + break; + case AssetType.Bodypart: + sExtension = ".bodypart"; + break; + case AssetType.CallingCard: + continue; // They really don't exist. Are not backable. + case AssetType.Clothing: + sExtension = ".clothing"; + break; + case AssetType.Folder: + continue; + case AssetType.Gesture: + sExtension = ".gesture"; + break; + case AssetType.ImageJPEG: + sExtension = ".jpg"; + break; + case AssetType.ImageTGA: + sExtension = ".tga"; + break; + case AssetType.Landmark: + sExtension = ".landmark"; + break; + case AssetType.LostAndFoundFolder: + continue; + case AssetType.LSLBytecode: + sExtension = ".lso"; + break; + case AssetType.LSLText: + if ((ii.Permissions.OwnerMask & PermissionMask.Copy) == PermissionMask.None || (ii.Permissions.OwnerMask & PermissionMask.Modify) == PermissionMask.None) + { + continue; // Nocopy scripts are not readable (SecondLife Jira VWR-5238). Nomod scripts will never be. + } + else + { + sExtension = ".lsl"; + break; + } + case AssetType.Notecard: + if ((ii.Permissions.OwnerMask & PermissionMask.Copy) == PermissionMask.None) + { + continue; // Nocopy notecards are not readable (SecondLife Jira VWR-5238) + } + else + { + sExtension = ".notecard"; + break; + } + case AssetType.Object: + /*sExtension=".object"; + break;*/ + continue; // They cannot be copied from the inventory, they must be rezzed + case AssetType.RootFolder: + continue; + case AssetType.Simstate: + sExtension = ".simstate"; + break; + case AssetType.SnapshotFolder: + continue; + case AssetType.Sound: + sExtension = ".ogg"; + break; + case AssetType.SoundWAV: + sExtension = ".wav"; + break; + case AssetType.Texture: + sExtension = ".jp2"; + break; + case AssetType.TextureTGA: + sExtension = ".tga"; + break; + case AssetType.TrashFolder: + continue; + case AssetType.Unknown: + default: + sExtension = ".unk"; + break; + } + + // make the output file + sPath = sPathSoFar + @"\" + MakeValid(ii.Name.Trim()) + sExtension; + + // create the new qdi + QueuedDownloadInfo qdi = new QueuedDownloadInfo(sPath, ii.AssetUUID, iNode.Data.UUID, UUID.Zero, + Client.Self.AgentID, ii.AssetType); + + // add it to the queue + lock (PendingDownloads) + { + TextItemsFound++; + PendingDownloads.Enqueue(qdi); + } + } + } + + // now run any subfolders + foreach (InventoryNode i in folder.Nodes.Values) + { + if (BackupWorker.CancellationPending) + return; + else if (i.Data is OpenMetaverse.InventoryFolder) + BackupFolder(i, sPathSoFar + @"\" + MakeValid(i.Data.Name.Trim())); + } + } + + private string MakeValid(string path) + { + string FinalName; + + //FinalName = path.Replace(" ", "_"); // This is not needed for exporting the inventory + FinalName = path.Replace(":", ";"); + FinalName = FinalName.Replace("*", "+"); + FinalName = FinalName.Replace("|", "I"); + FinalName = FinalName.Replace("\\", "["); + FinalName = FinalName.Replace("/", "]"); + FinalName = FinalName.Replace("?", "¿"); + FinalName = FinalName.Replace(">", "}"); + FinalName = FinalName.Replace("<", "{"); + FinalName = FinalName.Replace("\"", "'"); + FinalName = FinalName.Replace("\n", " "); + + return FinalName; + } + + private void Assets_OnAssetReceived(AssetDownload asset, Asset blah) + { + lock (CurrentDownloads) + { + // see if we have this in our transfer list + QueuedDownloadInfo r = CurrentDownloads.Find(delegate(QueuedDownloadInfo q) + { + return q.AssetID == asset.AssetID; + }); + + if (r != null && r.AssetID == asset.AssetID) + { + if (asset.Success) + { + // create the directory to put this in + Directory.CreateDirectory(Path.GetDirectoryName(r.FileName)); + + // write out the file + File.WriteAllBytes(r.FileName, asset.AssetData); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Wrote"), Name, r.FileName); + TextItemsTransferred++; + } + else + { + TextItemErrors++; + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Failed"), Name, r.FileName, + r.AssetID.ToString(), asset.Status.ToString()); + } + + // remove the entry + CurrentDownloads.Remove(r); + } + } + } + + /// + /// returns blank or "not" if false + /// + /// + /// + private static string BoolToNot(bool b) + { + return b ? String.Empty : bot.Localization.clResourceManager.getText("Commands.Backup.Not"); + } + + private void Assets_OnImageReceived(TextureRequestState state, AssetTexture asset) + { + lock (CurrentDownloads) + { + // see if we have this in our transfer list + QueuedDownloadInfo r = CurrentDownloads.Find(delegate(QueuedDownloadInfo q) + { + return q.AssetID == asset.AssetID; + }); + + if (r != null && r.AssetID == asset.AssetID) + { + if (asset != null/* && asset.Decode()*/) + { + // create the directory to put this in + Directory.CreateDirectory(Path.GetDirectoryName(r.FileName)); + + // write out the file + File.WriteAllBytes(r.FileName, asset.AssetData); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Wrote"), Name, r.FileName); + + // This, even being a desiderable feature, timeouts the bot and it gets ejected from SL. + /*File.WriteAllBytes(r.FileName.Substring(0, r.FileName.Length - 4) + ".tga", asset.Image.ExportTGA()); + bot.Console.WriteLine("Wrote " + r.FileName.Substring(0, r.FileName.Length - 4) + ".tga"); + Logger.DebugLog(Name + " Wrote: " + r.FileName.Substring(0, r.FileName.Length - 4) + ".tga", Client);*/ + TextItemsTransferred++; + } + else + { + TextItemErrors++; + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Failed"), Name, r.FileName, + r.AssetID.ToString(), bot.Localization.clResourceManager.getText("Commands.Backup.Unknown")); + } + + // remove the entry + CurrentDownloads.Remove(r); + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Inventory/BackupTextCommand.cs b/SLBot/bot/Commands/Inventory/BackupTextCommand.cs new file mode 100644 index 0000000..b8b2fa6 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/BackupTextCommand.cs @@ -0,0 +1,370 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BackupTextCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse.Assets; + + public class BackupTextCommand : Command + { + private BackgroundWorker BackupWorker; + private List CurrentDownloads = new List(10); + private const int MAX_TRANSFERS = 10; + private Queue PendingDownloads = new Queue(); + private BackgroundWorker QueueWorker; + private int TextItemErrors; + private int TextItemsFound; + private int TextItemsTransferred; + + #region Properties + + /// + /// true if either of the background threads is running + /// + private bool BackgroundBackupRunning + { + get { return InventoryWalkerRunning || QueueRunnerRunning; } + } + + /// + /// true if the thread walking inventory is running + /// + private bool InventoryWalkerRunning + { + get { return BackupWorker != null; } + } + + /// + /// true if the thread feeding the queue to the server is running + /// + private bool QueueRunnerRunning + { + get { return QueueWorker != null; } + } + + /// + /// returns a string summarizing activity + /// + /// + private string BackgroundBackupStatus + { + get + { + StringBuilder sbResult = new StringBuilder(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Running"), Name, BoolToNot(BackgroundBackupRunning)); + if (TextItemErrors != 0 || TextItemsFound != 0 || TextItemsTransferred != 0) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Walker"), + Name, BoolToNot(InventoryWalkerRunning), TextItemsFound); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Transfer"), + Name, BoolToNot(QueueRunnerRunning), TextItemsTransferred, TextItemErrors); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Backup.Queue"), + Name, PendingDownloads.Count, CurrentDownloads.Count); + } + return sbResult.ToString(); + } + } + + #endregion Properties + + public BackupTextCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "backuptext"; + base.Description = bot.Localization.clResourceManager.getText("Commands.BackupText.Description") + " " + String.Format(bot.Localization.clResourceManager.getText("Commands.Backup.Usage"), Name); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Program.NBStats.AddStatData(String.Format("{0}: {1} backing up all text.", DateTime.Now.ToString(), Client)); + + StringBuilder sbResult = new StringBuilder(); + + if (args.Length == 1 && args[0] == "status") + { + return BackgroundBackupStatus; + } + else if (args.Length == 1 && args[0] == "abort") + { + if (!BackgroundBackupRunning) + return BackgroundBackupStatus; + + BackupWorker.CancelAsync(); + QueueWorker.CancelAsync(); + + Thread.Sleep(500); + + // check status + return BackgroundBackupStatus; + } + else if (args.Length != 2) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Backup.Usage"), Name); + } + else if (BackgroundBackupRunning) + { + return BackgroundBackupStatus; + } + + QueueWorker = new BackgroundWorker(); + QueueWorker.WorkerSupportsCancellation = true; + QueueWorker.DoWork += new DoWorkEventHandler(bwQueueRunner_DoWork); + QueueWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwQueueRunner_RunWorkerCompleted); + + QueueWorker.RunWorkerAsync(); + + BackupWorker = new BackgroundWorker(); + BackupWorker.WorkerSupportsCancellation = true; + BackupWorker.DoWork += new DoWorkEventHandler(bwBackup_DoWork); + BackupWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwBackup_RunWorkerCompleted); + + BackupWorker.RunWorkerAsync(args); + return bot.Localization.clResourceManager.getText("Commands.Backup.Started"); + } + + void bwQueueRunner_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + QueueWorker = null; + bot.Console.WriteLine(BackgroundBackupStatus); + } + + void bwQueueRunner_DoWork(object sender, DoWorkEventArgs e) + { + TextItemErrors = TextItemsTransferred = 0; + + while (QueueWorker.CancellationPending == false) + { + // have any timed out? + if (CurrentDownloads.Count > 0) + { + foreach (QueuedDownloadInfo qdi in CurrentDownloads) + { + if ((qdi.WhenRequested + TimeSpan.FromSeconds(60)) < DateTime.Now) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Timeout"), Name, qdi.AssetID.ToString()); + // submit request again + Client.Assets.RequestInventoryAsset( + qdi.AssetID, qdi.ItemID, qdi.TaskID, qdi.OwnerID, qdi.Type, true, Assets_OnAssetReceived); + qdi.WhenRequested = DateTime.Now; + qdi.IsRequested = true; + } + } + } + + if (PendingDownloads.Count != 0) + { + // room in the server queue? + if (CurrentDownloads.Count < MAX_TRANSFERS) + { + // yes + QueuedDownloadInfo qdi = PendingDownloads.Dequeue(); + qdi.WhenRequested = DateTime.Now; + qdi.IsRequested = true; + Client.Assets.RequestInventoryAsset( + qdi.AssetID, qdi.ItemID, qdi.TaskID, qdi.OwnerID, qdi.Type, true, Assets_OnAssetReceived); + + lock (CurrentDownloads) + CurrentDownloads.Add(qdi); + } + } + + if (CurrentDownloads.Count == 0 && PendingDownloads.Count == 0 && BackupWorker == null) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.AllDone"), Name); + return; + } + + Thread.Sleep(100); + } + } + + void bwBackup_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.WalkingDone"), Name); + BackupWorker = null; + } + + private void bwBackup_DoWork(object sender, DoWorkEventArgs e) + { + string[] args; + + TextItemsFound = 0; + + args = (string[])e.Argument; + + lock (CurrentDownloads) + CurrentDownloads.Clear(); + + // FIXME: + //Client.Inventory.RequestFolderContents(Client.Inventory.Store.RootFolder.UUID, Client.Self.AgentID, + // true, true, false, InventorySortOrder.ByName); + + DirectoryInfo di = new DirectoryInfo(args[1]); + + // recurse on the root folder into the entire inventory + BackupFolder(Client.Inventory.Store.RootNode, di.FullName); + } + + /// + /// BackupFolder - recurse through the inventory nodes sending scripts and notecards to the transfer queue + /// + /// The current leaf in the inventory tree + /// path so far, in the form @"c:\here" -- this needs to be "clean" for the current filesystem + private void BackupFolder(InventoryNode folder, string sPathSoFar) + { + StringBuilder sbRequests = new StringBuilder(); + + // FIXME: + //Client.Inventory.RequestFolderContents(folder.Data.UUID, Client.Self.AgentID, true, true, false, + // InventorySortOrder.ByName); + + // first scan this folder for text + foreach (InventoryNode iNode in folder.Nodes.Values) + { + if (BackupWorker.CancellationPending) + return; + if (iNode.Data is OpenMetaverse.InventoryItem) + { + InventoryItem ii = iNode.Data as InventoryItem; + if (ii.AssetType == AssetType.LSLText || ii.AssetType == AssetType.Notecard) + { + // check permissions on scripts + if (ii.AssetType == AssetType.LSLText) + { + if ((ii.Permissions.OwnerMask & PermissionMask.Modify) == PermissionMask.None) + { + // skip this one + continue; + } + } + + string sExtension = (ii.AssetType == AssetType.LSLText) ? ".lsl" : ".txt"; + // make the output file + string sPath = sPathSoFar + @"\" + MakeValid(ii.Name.Trim()) + sExtension; + + // create the new qdi + QueuedDownloadInfo qdi = new QueuedDownloadInfo(sPath, ii.AssetUUID, iNode.Data.UUID, UUID.Zero, + Client.Self.AgentID, ii.AssetType); + + // add it to the queue + lock (PendingDownloads) + { + TextItemsFound++; + PendingDownloads.Enqueue(qdi); + } + } + } + } + + // now run any subfolders + foreach (InventoryNode i in folder.Nodes.Values) + { + if (BackupWorker.CancellationPending) + return; + else if (i.Data is OpenMetaverse.InventoryFolder) + BackupFolder(i, sPathSoFar + @"\" + MakeValid(i.Data.Name.Trim())); + } + } + + private string MakeValid(string path) + { + string FinalName; + + FinalName = path.Replace(" ", "_"); + FinalName = FinalName.Replace(":", ";"); + FinalName = FinalName.Replace("*", "+"); + FinalName = FinalName.Replace("|", "I"); + FinalName = FinalName.Replace("\\", "["); + FinalName = FinalName.Replace("/", "]"); + FinalName = FinalName.Replace("?", "¿"); + FinalName = FinalName.Replace(">", "}"); + FinalName = FinalName.Replace("<", "{"); + FinalName = FinalName.Replace("\"", "'"); + FinalName = FinalName.Replace("\n", " "); + + return FinalName; + } + + private void Assets_OnAssetReceived(AssetDownload asset, Asset blah) + { + lock (CurrentDownloads) + { + // see if we have this in our transfer list + QueuedDownloadInfo r = CurrentDownloads.Find(delegate(QueuedDownloadInfo q) + { + return q.AssetID == asset.AssetID; + }); + + if (r != null && r.AssetID == asset.AssetID) + { + if (asset.Success) + { + // create the directory to put this in + Directory.CreateDirectory(Path.GetDirectoryName(r.FileName)); + + // write out the file + File.WriteAllBytes(r.FileName, asset.AssetData); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Wrote"), Name, r.FileName); + TextItemsTransferred++; + } + else + { + TextItemErrors++; + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Backup.Failed"), Name, r.FileName, + r.AssetID.ToString(), asset.Status.ToString()); + } + + // remove the entry + CurrentDownloads.Remove(r); + } + } + } + + /// + /// returns blank or "not" if false + /// + /// + /// + private static string BoolToNot(bool b) + { + return b ? String.Empty : bot.Localization.clResourceManager.getText("Commands.Backup.Not"); + } + } +} + diff --git a/SLBot/bot/Commands/Inventory/ChangeDirectoryCommand.cs b/SLBot/bot/Commands/Inventory/ChangeDirectoryCommand.cs new file mode 100644 index 0000000..2fd25be --- /dev/null +++ b/SLBot/bot/Commands/Inventory/ChangeDirectoryCommand.cs @@ -0,0 +1,122 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ChangeDirectoryCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + public class ChangeDirectoryCommand : Command + { + private InventoryManager Manager; + private OpenMetaverse.Inventory Inventory; + + public ChangeDirectoryCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "cd"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ChangeDirectory.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ChangeDirectory.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + Manager = Client.Inventory; + Inventory = Client.Inventory.Store; + + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.ChangeDirectory.Usage"); + string pathStr = ""; + string[] path = null; + if (args.Length == 0) + { + path = new string[] { "" }; + // cd without any arguments doesn't do anything. + } + else if (args.Length == 1) + { + pathStr = args[0]; + path = pathStr.Split(new char[] { '/' }); + // Use '/' as a path seperator. + } + InventoryFolder currentFolder = Client.CurrentDirectory; + if (pathStr.StartsWith("/")) + currentFolder = Inventory.RootFolder; + + if (currentFolder == null) // We need this to be set to something. + //return "Error: Sesin no iniciada."; + currentFolder = Inventory.RootFolder; + + // Traverse the path, looking for the + for (int i = 0; i < path.Length; ++i) + { + string nextName = path[i]; + if (string.IsNullOrEmpty(nextName) || nextName == ".") + continue; // Ignore '.' and blanks, stay in the current directory. + if (nextName == ".." && currentFolder != Inventory.RootFolder) + { + // If we encounter .., move to the parent folder. + currentFolder = Inventory[currentFolder.ParentUUID] as InventoryFolder; + } + else + { + List currentContents = Inventory.GetContents(currentFolder); + // Try and find an InventoryBase with the corresponding name. + bool found = false; + foreach (InventoryBase item in currentContents) + { + // Allow lookup by UUID as well as name: + if (item.Name == nextName || item.UUID.ToString() == nextName) + { + found = true; + if (item is InventoryFolder) + { + currentFolder = item as InventoryFolder; + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ChangeDirectory.NotFolder"), item.Name); + } + } + } + if (!found) + return String.Format(bot.Localization.clResourceManager.getText("Commands.ChangeDirectory.NotFound"), nextName, currentFolder.Name); + } + } + Client.CurrentDirectory = currentFolder; + return String.Format(bot.Localization.clResourceManager.getText("Commands.ChangeDirectory.CurrentFolder"), currentFolder.Name); + } + + + } +} diff --git a/SLBot/bot/Commands/Inventory/CreateClothingCommand.cs b/SLBot/bot/Commands/Inventory/CreateClothingCommand.cs new file mode 100644 index 0000000..840272e --- /dev/null +++ b/SLBot/bot/Commands/Inventory/CreateClothingCommand.cs @@ -0,0 +1,504 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CreateClothingCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class CreateClothingCommand : Command + { + public CreateClothingCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "createclothing"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CreateClothing.Description") + " " + bot.Localization.clResourceManager.getText("Commands.CreateClothing.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + string LongUsage = bot.Localization.clResourceManager.getText("Commands.CreateClothing.UsageLine1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Commands.CreateClothing.UsageLine2"); + string finalmessage = ""; + string NL = "\n"; + WearableType wtype; + UUID uuid1, uuid2; + uuid2 = UUID.Zero; + + if (args.Length == 0) + return Description; + if (args.Length == 1) + if (args[0].ToLower() == "help") + return LongUsage; + else + return Description; + if (args.Length != 3 && args.Length != 4) + return Description; + + switch (args[1].ToLower()) + { + case "gloves": + wtype = WearableType.Gloves; + break; + case "jacket": + wtype = WearableType.Jacket; + if (args.Length != 4) + return bot.Localization.clResourceManager.getText("Commands.CreateClothing.Jacket"); + break; + case "pants": + wtype = WearableType.Pants; + break; + case "shirt": + wtype = WearableType.Shirt; + break; + case "shoes": + wtype = WearableType.Shoes; + break; + case "skirt": + wtype = WearableType.Skirt; + break; + case "socks": + wtype = WearableType.Socks; + break; + case "underpants": + wtype = WearableType.Underpants; + break; + case "undershirt": + wtype = WearableType.Undershirt; + break; + default: + return bot.Localization.clResourceManager.getText("Commands.CreateClothing.Incorrect"); + } + + if (!UUID.TryParse(args[2], out uuid1)) + return bot.Localization.clResourceManager.getText("Commands.CreateClothing.ExpectedID1"); + + if (args.Length == 4) + if (!UUID.TryParse(args[3], out uuid2)) + return bot.Localization.clResourceManager.getText("Commands.CreateClothing.ExpectedID2"); + + if (args[1].ToLower() == "jacket") + Program.NBStats.AddStatData(String.Format("{0}: {1} creating clothing of type {2} named {3} with uuid {4} {5}.", DateTime.Now.ToString(), Client, args[1], args[0], args[2], args[3])); + else + Program.NBStats.AddStatData(String.Format("{0}: {1} creating clothing of type {2} named {3} with uuid {4}.", DateTime.Now.ToString(), Client, args[1], args[0], args[2])); + + #region Part common to all wearable types + StringBuilder sbcloth = new StringBuilder("LLWearable version 22\n"); + sbcloth.Append(args[0]); + sbcloth.Append(NL); + sbcloth.Append(NL); + sbcloth.Append("\tpermissions 0\n\t{\n"); + sbcloth.Append("\t\tbase_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\towner_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\tgroup_mask\t"); + sbcloth.Append("00000000"); + sbcloth.Append(NL); + sbcloth.Append("\t\teveryone_mask\t"); + sbcloth.Append("00000000"); + sbcloth.Append(NL); + sbcloth.Append("\t\tnext_owner_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\tcreator_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\towner_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\tlast_owner_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\tgroup_id\t"); + sbcloth.Append(UUID.Zero.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t}\n"); + sbcloth.Append("\tsale_info\t0\n"); + sbcloth.Append("\t{\n"); + sbcloth.Append("\t\tsale_type\t"); + sbcloth.Append("not"); + sbcloth.Append(NL); + sbcloth.Append("\t\tsale_price\t"); + sbcloth.Append("0"); + sbcloth.Append(NL); + sbcloth.Append("\t}\n"); + #endregion #region Part common to all wearable types + + sbcloth.Append("type "); + sbcloth.Append((int)wtype); + sbcloth.Append(NL); + + switch (wtype) + { + case WearableType.Gloves: + sbcloth.Append("parameters "); + sbcloth.Append(5); + sbcloth.Append(NL); + sbcloth.Append("93 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("827 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("829 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("830 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("844 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("15 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Jacket: + sbcloth.Append("parameters "); + sbcloth.Append(9); + sbcloth.Append(NL); + sbcloth.Append("606 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("607 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("608 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("609 "); + sbcloth.Append(".2"); + sbcloth.Append(NL); + sbcloth.Append("780 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("834 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("835 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("836 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("877 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(2); + sbcloth.Append(NL); + sbcloth.Append("13 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + sbcloth.Append("14 "); + sbcloth.Append(uuid2.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Pants: + sbcloth.Append("parameters "); + sbcloth.Append(9); + sbcloth.Append(NL); + sbcloth.Append("625 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("638 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("806 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("807 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("808 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("814 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("815 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("816 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("869 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("2 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Shirt: + sbcloth.Append("parameters "); + sbcloth.Append(10); + sbcloth.Append(NL); + sbcloth.Append("781 "); + sbcloth.Append(".78"); + sbcloth.Append(NL); + sbcloth.Append("800 "); + sbcloth.Append(".89"); + sbcloth.Append(NL); + sbcloth.Append("801 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("802 "); + sbcloth.Append(".78"); + sbcloth.Append(NL); + sbcloth.Append("803 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("804 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("805 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("828 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("840 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("868 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("1 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Shoes: + sbcloth.Append("parameters "); + sbcloth.Append(10); + sbcloth.Append(NL); + sbcloth.Append("198 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("503 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("508 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("513 "); + sbcloth.Append(".5"); + sbcloth.Append(NL); + sbcloth.Append("514 "); + sbcloth.Append(".5"); + sbcloth.Append(NL); + sbcloth.Append("616 "); + sbcloth.Append(".1"); + sbcloth.Append(NL); + sbcloth.Append("654 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("812 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("813 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("817 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("7 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Skirt: + sbcloth.Append("parameters "); + sbcloth.Append(10); + sbcloth.Append(NL); + sbcloth.Append("848 "); + sbcloth.Append(".2"); + sbcloth.Append(NL); + sbcloth.Append("858 "); + sbcloth.Append(".4"); + sbcloth.Append(NL); + sbcloth.Append("859 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("860 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("861 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("862 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("863 "); + sbcloth.Append(".33"); + sbcloth.Append(NL); + sbcloth.Append("921 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("922 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("923 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("18 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Socks: + sbcloth.Append("parameters "); + sbcloth.Append(4); + sbcloth.Append(NL); + sbcloth.Append("617 "); + sbcloth.Append(".35"); + sbcloth.Append(NL); + sbcloth.Append("818 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("819 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("820 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("12 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Underpants: + sbcloth.Append("parameters "); + sbcloth.Append(5); + sbcloth.Append(NL); + sbcloth.Append("619 "); + sbcloth.Append(".3"); + sbcloth.Append(NL); + sbcloth.Append("624 "); + sbcloth.Append(".8"); + sbcloth.Append(NL); + sbcloth.Append("824 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("825 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("826 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("17 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + case WearableType.Undershirt: + sbcloth.Append("parameters "); + sbcloth.Append(7); + sbcloth.Append(NL); + sbcloth.Append("603 "); + sbcloth.Append(".4"); + sbcloth.Append(NL); + sbcloth.Append("604 "); + sbcloth.Append(".85"); + sbcloth.Append(NL); + sbcloth.Append("605 "); + sbcloth.Append(".84"); + sbcloth.Append(NL); + sbcloth.Append("779 "); + sbcloth.Append(".84"); + sbcloth.Append(NL); + sbcloth.Append("821 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("822 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("823 "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("16 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + break; + } + + AssetClothing clothing = new AssetClothing(sbcloth.ToString()); + + clothing.Decode(); + + Client.Inventory.RequestCreateItemFromAsset(clothing.AssetData, args[0], String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreatedBy"), args[0], DateTime.Now), AssetType.Clothing, + InventoryType.Wearable, Client.Inventory.FindFolderForType(AssetType.Clothing), + delegate(bool success, string status, UUID itemID, UUID assetID) + { + if (success) + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateClothing.Created"), assetID); + Client.Inventory.GiveItem(itemID, args[0], AssetType.Clothing, Client.MasterKey, false); + } + else + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateClothing.Failed"), status); + } + } + ); + + return finalmessage; + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/CreateEyesCommand.cs b/SLBot/bot/Commands/Inventory/CreateEyesCommand.cs new file mode 100644 index 0000000..8a8ec6a --- /dev/null +++ b/SLBot/bot/Commands/Inventory/CreateEyesCommand.cs @@ -0,0 +1,156 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CreateEyesCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class CreateEyesCommand : Command + { + public CreateEyesCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "createeyes"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CreateEyes.Description") + " " + bot.Localization.clResourceManager.getText("Commands.CreateEyes.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + string finalmessage = ""; + string NL = "\n"; + UUID uuid1; + uuid1 = UUID.Zero; + + if (args.Length != 2) + return Description; + + if (!UUID.TryParse(args[1], out uuid1)) + return bot.Localization.clResourceManager.getText("Commands.CreateEyes.ExpectedID"); + + Program.NBStats.AddStatData(String.Format("{0}: {1} creating eyes named {2} with uuid {3}.", DateTime.Now.ToString(), Client, args[0], args[1])); + + #region Part common to all wearable types + StringBuilder sbcloth = new StringBuilder("LLWearable version 22\n"); + sbcloth.Append(args[0]); + sbcloth.Append(NL); + sbcloth.Append(NL); + sbcloth.Append("\tpermissions 0\n\t{\n"); + sbcloth.Append("\t\tbase_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\towner_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\tgroup_mask\t"); + sbcloth.Append("00000000"); + sbcloth.Append(NL); + sbcloth.Append("\t\teveryone_mask\t"); + sbcloth.Append("00000000"); + sbcloth.Append(NL); + sbcloth.Append("\t\tnext_owner_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\tcreator_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\towner_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\tlast_owner_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\tgroup_id\t"); + sbcloth.Append(UUID.Zero.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t}\n"); + sbcloth.Append("\tsale_info\t0\n"); + sbcloth.Append("\t{\n"); + sbcloth.Append("\t\tsale_type\t"); + sbcloth.Append("not"); + sbcloth.Append(NL); + sbcloth.Append("\t\tsale_price\t"); + sbcloth.Append("0"); + sbcloth.Append(NL); + sbcloth.Append("\t}\n"); + #endregion #region Part common to all wearable types + + sbcloth.Append("type "); + sbcloth.Append((int)WearableType.Eyes); + sbcloth.Append(NL); + + sbcloth.Append("parameters "); + sbcloth.Append(2); + sbcloth.Append(NL); + sbcloth.Append("98 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("99 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(1); + sbcloth.Append(NL); + sbcloth.Append("3 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + + AssetBodypart bodypart = new AssetBodypart(sbcloth.ToString()); + + + bodypart.Decode(); + + Client.Inventory.RequestCreateItemFromAsset(bodypart.AssetData, args[0], String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreatedBy"), args[0], DateTime.Now), AssetType.Bodypart, + InventoryType.Wearable, Client.Inventory.FindFolderForType(AssetType.Bodypart), + delegate(bool success, string status, UUID itemID, UUID assetID) + { + if (success) + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateEyes.Created"), assetID); + Client.Inventory.GiveItem(itemID, args[0], AssetType.Bodypart, Client.MasterKey, false); + } + else + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateEyes.Failed"), status); + } + } + ); + + return finalmessage; + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/CreateLandMarkCommand.cs b/SLBot/bot/Commands/Inventory/CreateLandMarkCommand.cs new file mode 100644 index 0000000..a855a91 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/CreateLandMarkCommand.cs @@ -0,0 +1,81 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CreateLandMarkCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +// Does not work, HTTP error 400. +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class CreateLandMarkCommand : Command + { + public CreateLandMarkCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "createlm"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CreateLandMark.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + string finalmessage = ""; + + AssetLandmark landmark = new AssetLandmark(this.Client.Network.CurrentSim.RegionID, this.Client.Self.SimPosition); + + landmark.Encode(); + landmark.Decode(); + + Client.Inventory.RequestCreateItemFromAsset(landmark.AssetData, this.Client.Network.CurrentSim.Name, String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreatedBy"), this.Client.Network.CurrentSim.Name, DateTime.Now), AssetType.Landmark, + InventoryType.Landmark, Client.Inventory.FindFolderForType(AssetType.Landmark), + delegate(bool success, string status, UUID itemID, UUID assetID) + { + if (success) + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateLandMark.Created"), assetID); + Client.Inventory.GiveItem(itemID, this.Client.Network.CurrentSim.Name, AssetType.Clothing, Client.MasterKey, false); + } + else + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateLandMark.Failed"), status); + } + } + ); + + return finalmessage; + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/CreateNotecardCommand.cs b/SLBot/bot/Commands/Inventory/CreateNotecardCommand.cs new file mode 100644 index 0000000..67e2868 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/CreateNotecardCommand.cs @@ -0,0 +1,233 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CreateNotecardCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class CreateNotecardCommand : Command + { + const int NOTECARD_CREATE_TIMEOUT = 2500 * 10; + const int NOTECARD_FETCH_TIMEOUT = 1500 * 10; + const int INVENTORY_FETCH_TIMEOUT = 1500 * 10; + + public CreateNotecardCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "createnotecard"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CreateNotecard.Description") + " " + bot.Localization.clResourceManager.getText("Commands.CreateNotecard.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + UUID embedItemID = UUID.Zero, notecardItemID = UUID.Zero, notecardAssetID = UUID.Zero; + string filename, fileData; + bool success = false, finalUploadSuccess = false; + string message = String.Empty; + AutoResetEvent notecardEvent = new AutoResetEvent(false); + + if (args.Length == 1) + { + filename = args[0]; + } + else if (args.Length == 2) + { + filename = args[0]; + UUID.TryParse(args[1], out embedItemID); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.CreateNotecard.Usage"); + } + + if (!File.Exists(filename)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.NotFound"), filename); + + try + { + fileData = File.ReadAllText(filename); + } + catch (Exception ex) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.OpenFailed"), filename, ex.Message); + } + + #region Notecard asset data + + AssetNotecard notecard = new AssetNotecard(); + notecard.BodyText = fileData; + + // Item embedding + if (embedItemID != UUID.Zero) + { + // Try to fetch the inventory item + InventoryItem item = FetchItem(embedItemID); + if (item != null) + { + notecard.EmbeddedItems = new List { item }; + notecard.BodyText += (char)0xdbc0 + (char)0xdc00; + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.FetchFailed"), embedItemID); + } + } + + notecard.Encode(); + + #endregion Notecard asset data + + Client.Inventory.RequestCreateItem(Client.Inventory.FindFolderForType(AssetType.Notecard), + filename, String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreatedBy"), filename, DateTime.Now), AssetType.Notecard, + UUID.Random(), InventoryType.Notecard, PermissionMask.All, + delegate(bool createSuccess, InventoryItem item) + { + if (createSuccess) + { + #region Upload an empty notecard asset first + + AutoResetEvent emptyNoteEvent = new AutoResetEvent(false); + AssetNotecard empty = new AssetNotecard(); + empty.BodyText = "\n"; + empty.Encode(); + + Client.Inventory.RequestUploadNotecardAsset(empty.AssetData, item.UUID, + delegate(bool uploadSuccess, string status, UUID itemID, UUID assetID) + { + notecardItemID = itemID; + notecardAssetID = assetID; + success = uploadSuccess; + message = status ?? bot.Localization.clResourceManager.getText("Commands.CreateNotecard.UnknownError"); + emptyNoteEvent.Set(); + }); + + emptyNoteEvent.WaitOne(NOTECARD_CREATE_TIMEOUT, false); + + #endregion Upload an empty notecard asset first + + if (success) + { + // Upload the actual notecard asset + Client.Inventory.RequestUploadNotecardAsset(notecard.AssetData, item.UUID, + delegate(bool uploadSuccess, string status, UUID itemID, UUID assetID) + { + notecardItemID = itemID; + notecardAssetID = assetID; + finalUploadSuccess = uploadSuccess; + message = status ?? bot.Localization.clResourceManager.getText("Commands.CreateNotecard.UnknownError"); + notecardEvent.Set(); + }); + } + else + { + notecardEvent.Set(); + } + } + else + { + message = bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreateFail"); + notecardEvent.Set(); + } + } + ); + + notecardEvent.WaitOne(NOTECARD_CREATE_TIMEOUT, false); + + if (finalUploadSuccess) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.Success"), notecardItemID, notecardAssetID); + Client.Inventory.GiveItem(notecardItemID, filename, AssetType.Notecard, Client.MasterKey, false); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.Sending")); + return DownloadNotecard(notecardItemID, notecardAssetID); + } + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreateFailDetails"), message); + } + + private InventoryItem FetchItem(UUID itemID) + { + InventoryItem fetchItem = null; + AutoResetEvent fetchItemEvent = new AutoResetEvent(false); + + EventHandler itemReceivedCallback = + delegate(object sender, ItemReceivedEventArgs e) + { + if (e.Item.UUID == itemID) + { + fetchItem = e.Item; + fetchItemEvent.Set(); + } + }; + + Client.Inventory.ItemReceived += itemReceivedCallback; + + Client.Inventory.RequestFetchInventory(itemID, Client.Self.AgentID); + + fetchItemEvent.WaitOne(INVENTORY_FETCH_TIMEOUT, false); + + Client.Inventory.ItemReceived -= itemReceivedCallback; + + return fetchItem; + } + + private string DownloadNotecard(UUID itemID, UUID assetID) + { + AutoResetEvent assetDownloadEvent = new AutoResetEvent(false); + byte[] notecardData = null; + string error = bot.Localization.clResourceManager.getText("Commands.CreateNotecard.Timeout"); + + Client.Assets.RequestInventoryAsset(assetID, itemID, UUID.Zero, Client.Self.AgentID, AssetType.Notecard, true, + delegate(AssetDownload transfer, Asset asset) + { + if (transfer.Success) + notecardData = transfer.AssetData; + else + error = transfer.Status.ToString(); + assetDownloadEvent.Set(); + } + ); + + assetDownloadEvent.WaitOne(NOTECARD_FETCH_TIMEOUT, false); + + if (notecardData != null) + return Encoding.UTF8.GetString(notecardData); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.DownloadError"), error); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/CreateSkinCommand.cs b/SLBot/bot/Commands/Inventory/CreateSkinCommand.cs new file mode 100644 index 0000000..de2ba63 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/CreateSkinCommand.cs @@ -0,0 +1,240 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CreateSkinCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class CreateSkinCommand : Command + { + public CreateSkinCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "createskin"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CreateSkin.Description") + " " + bot.Localization.clResourceManager.getText("Commands.CreateSkin.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + string finalmessage = ""; + string NL = "\n"; + UUID uuid1, uuid2, uuid3; + uuid3 = uuid2 = uuid1 = UUID.Zero; + + if (args.Length != 4) + return bot.Localization.clResourceManager.getText("Commands.CreateSkin.Usage"); + + if (!UUID.TryParse(args[1], out uuid1)) + return bot.Localization.clResourceManager.getText("Commands.CreateSkin.ExpectedFaceID"); + + if (!UUID.TryParse(args[2], out uuid2)) + return bot.Localization.clResourceManager.getText("Commands.CreateSkin.ExpectedUpID"); + + if (!UUID.TryParse(args[3], out uuid3)) + return bot.Localization.clResourceManager.getText("Commands.CreateSkin.ExpectedLowID"); + + Program.NBStats.AddStatData(String.Format("{0}: {1} creating skin named {2} with uuids {3} {4} {5}.", DateTime.Now.ToString(), Client, args[0], args[1], args[2], args[3])); + + #region Part common to all wearable types + StringBuilder sbcloth = new StringBuilder("LLWearable version 22\n"); + sbcloth.Append(args[0]); + sbcloth.Append(NL); + sbcloth.Append(NL); + sbcloth.Append("\tpermissions 0\n\t{\n"); + sbcloth.Append("\t\tbase_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\towner_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\tgroup_mask\t"); + sbcloth.Append("00000000"); + sbcloth.Append(NL); + sbcloth.Append("\t\teveryone_mask\t"); + sbcloth.Append("00000000"); + sbcloth.Append(NL); + sbcloth.Append("\t\tnext_owner_mask\t"); + sbcloth.Append("7fffffff"); + sbcloth.Append(NL); + sbcloth.Append("\t\tcreator_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\towner_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\tlast_owner_id\t"); + sbcloth.Append(Client.Self.AgentID.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t\tgroup_id\t"); + sbcloth.Append(UUID.Zero.ToString()); + sbcloth.Append(NL); + sbcloth.Append("\t}\n"); + sbcloth.Append("\tsale_info\t0\n"); + sbcloth.Append("\t{\n"); + sbcloth.Append("\t\tsale_type\t"); + sbcloth.Append("not"); + sbcloth.Append(NL); + sbcloth.Append("\t\tsale_price\t"); + sbcloth.Append("0"); + sbcloth.Append(NL); + sbcloth.Append("\t}\n"); + #endregion #region Part common to all wearable types + + sbcloth.Append("type "); + sbcloth.Append((int)WearableType.Skin); + sbcloth.Append(NL); + + sbcloth.Append("parameters "); + sbcloth.Append(26); + sbcloth.Append(NL); + sbcloth.Append("108 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("110 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("111 "); + sbcloth.Append(".5"); + sbcloth.Append(NL); + sbcloth.Append("116 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("117 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("150 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("162 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("163 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("165 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("700 "); + sbcloth.Append(".25"); + sbcloth.Append(NL); + sbcloth.Append("701 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("702 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("703 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("704 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("705 "); + sbcloth.Append(".5"); + sbcloth.Append(NL); + sbcloth.Append("706 "); + sbcloth.Append(".6"); + sbcloth.Append(NL); + sbcloth.Append("707 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("708 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("709 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("710 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("711 "); + sbcloth.Append(".5"); + sbcloth.Append(NL); + sbcloth.Append("712 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("713 "); + sbcloth.Append(".7"); + sbcloth.Append(NL); + sbcloth.Append("714 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("715 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("775 "); + sbcloth.Append(0); + sbcloth.Append(NL); + sbcloth.Append("textures "); + sbcloth.Append(3); + sbcloth.Append(NL); + sbcloth.Append("0 "); + sbcloth.Append(uuid1.ToString()); + sbcloth.Append(NL); + sbcloth.Append("5 "); + sbcloth.Append(uuid2.ToString()); + sbcloth.Append(NL); + sbcloth.Append("6 "); + sbcloth.Append(uuid3.ToString()); + sbcloth.Append(NL); + + AssetBodypart bodypart = new AssetBodypart(sbcloth.ToString()); + + + bodypart.Decode(); + + Client.Inventory.RequestCreateItemFromAsset(bodypart.AssetData, args[0], String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreatedBy"), args[0], DateTime.Now), AssetType.Bodypart, + InventoryType.Wearable, Client.Inventory.FindFolderForType(AssetType.Bodypart), + delegate(bool success, string status, UUID itemID, UUID assetID) + { + if (success) + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateSkin.Created"), assetID); + Client.Inventory.GiveItem(itemID, args[0], AssetType.Bodypart, Client.MasterKey, false); + } + else + { + finalmessage = String.Format(bot.Localization.clResourceManager.getText("Commands.CreateSkin.Failed"), status); + } + } + ); + + return finalmessage; + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/DeleteFolderCommand.cs b/SLBot/bot/Commands/Inventory/DeleteFolderCommand.cs new file mode 100644 index 0000000..9a44766 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/DeleteFolderCommand.cs @@ -0,0 +1,80 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DeleteCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class DeleteCommand : Command + { + public DeleteCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "rmdir"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DeleteFolder.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DeleteFolder.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length >= 2) + { + // parse the command line + string target = String.Empty; + for (int ct = 0; ct < args.Length; ct++) + target = target + args[ct] + " "; + target = target.TrimEnd(); + + // initialize results list + List found = new List(); + + // find the folder + found = Client.Inventory.LocalFind(Client.Inventory.Store.RootFolder.UUID, target.Split('/'), 0, true); + if (found.Count.Equals(1)) + { + // move the folder to the trash folder + Client.Inventory.MoveFolder(found[0].UUID, Client.Inventory.FindFolderForType(AssetType.TrashFolder)); + return String.Format(bot.Localization.clResourceManager.getText("Commands.DeleteFolder.Deleted"), found[0].Name); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.DeleteFolder.NotFound"), ""); + } + } + return bot.Localization.clResourceManager.getText("Commands.DeleteFolder.Usage"); + } + + + } +} + diff --git a/SLBot/bot/Commands/Inventory/EmptyLostAndFoundCommand.cs b/SLBot/bot/Commands/Inventory/EmptyLostAndFoundCommand.cs new file mode 100644 index 0000000..1fe9d71 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/EmptyLostAndFoundCommand.cs @@ -0,0 +1,55 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : EmptyLostAndFoundCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using System; + using System.Collections.Generic; + using OpenMetaverse; + using OpenMetaverse.Packets; + using bot; + + class EmptyLostAndFoundCommand : Command + { + public EmptyLostAndFoundCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "emptylostandfound"; + base.Description = bot.Localization.clResourceManager.getText("Commands.EmptyLostAndFound.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + Client.Inventory.EmptyLostAndFound(); + return bot.Localization.clResourceManager.getText("Commands.EmptyLostAndFound.Done"); + } + } +} diff --git a/SLBot/bot/Commands/Inventory/EmptyTrashCommand.cs b/SLBot/bot/Commands/Inventory/EmptyTrashCommand.cs new file mode 100644 index 0000000..7a26a48 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/EmptyTrashCommand.cs @@ -0,0 +1,55 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : EmptyTrashCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using System; + using System.Collections.Generic; + using OpenMetaverse; + using OpenMetaverse.Packets; + using bot; + + class EmptyTrashCommand : Command + { + public EmptyTrashCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "emptytrash"; + base.Description = bot.Localization.clResourceManager.getText("Commands.EmptyTrash.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + Client.Inventory.EmptyLostAndFound(); + return bot.Localization.clResourceManager.getText("Commands.EmptyTrash.Done"); + } + } +} diff --git a/SLBot/bot/Commands/Inventory/GiveItemCommand.cs b/SLBot/bot/Commands/Inventory/GiveItemCommand.cs new file mode 100644 index 0000000..a973c04 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/GiveItemCommand.cs @@ -0,0 +1,96 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GiveItemCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + + public class GiveItemCommand : Command + { + private InventoryManager Manager; + private OpenMetaverse.Inventory Inventory; + + public GiveItemCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "give"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GiveItem.Description") + " " + bot.Localization.clResourceManager.getText("Commands.GiveItem.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length < 2) + { + return bot.Localization.clResourceManager.getText("Commands.GiveItem.Usage"); + } + UUID dest; + if (!UUID.TryParse(args[0], out dest)) + { + return bot.Localization.clResourceManager.getText("Commands.GiveItem.InvalidUUID"); + } + Manager = Client.Inventory; + Inventory = Manager.Store; + string ret = ""; + string nl = "\n"; + for (int i = 1; i < args.Length; ++i) + { + string inventoryName = args[i]; + // WARNING: Uses local copy of inventory contents, need to download them first. + List contents = Inventory.GetContents(Client.CurrentDirectory); + bool found = false; + foreach (InventoryBase b in contents) + { + if (inventoryName == b.Name || inventoryName == b.UUID.ToString()) + { + found = true; + if (b is InventoryItem) + { + InventoryItem item = b as InventoryItem; + Manager.GiveItem(item.UUID, item.Name, item.AssetType, dest, true); + ret += String.Format(bot.Localization.clResourceManager.getText("Commands.GiveItem.Gave"), item.Name); + } + else + { + ret += String.Format(bot.Localization.clResourceManager.getText("Commands.GiveItem.Folder"), b.Name); + } + } + } + if (!found) + ret += String.Format(bot.Localization.clResourceManager.getText("Commands.GiveItem.NotFound"), inventoryName); + } + return ret; + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/InventoryCommand.cs b/SLBot/bot/Commands/Inventory/InventoryCommand.cs new file mode 100644 index 0000000..385db23 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/InventoryCommand.cs @@ -0,0 +1,85 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : InventoryCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Collections.Generic; + + public class InventoryCommand : Command + { + private Inventory Inventory; + private InventoryManager Manager; + + public InventoryCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "i"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Inventory.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Manager = Client.Inventory; + Inventory = Manager.Store; + + StringBuilder result = new StringBuilder(); + + InventoryFolder rootFolder = Inventory.RootFolder; + PrintFolder(rootFolder, result, 0); + + return result.ToString(); + } + + void PrintFolder(InventoryFolder f, StringBuilder result, int indent) + { + List contents = Manager.FolderContents(f.UUID, Client.Self.AgentID, + true, true, InventorySortOrder.ByName, 3000); + + if (contents != null) + { + foreach (InventoryBase i in contents) + { + result.AppendFormat("{0}{1} ({2})\n", new String(' ', indent * 2), i.Name, i.UUID); + if (i is InventoryFolder) + { + InventoryFolder folder = (InventoryFolder)i; + PrintFolder(folder, result, indent + 1); + } + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Inventory/ListContentsCommand.cs b/SLBot/bot/Commands/Inventory/ListContentsCommand.cs new file mode 100644 index 0000000..7a96310 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/ListContentsCommand.cs @@ -0,0 +1,225 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ListContentsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + public class ListContentsCommand : Command + { + private InventoryManager Manager; + private OpenMetaverse.Inventory Inventory; + + public ListContentsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "ls"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ListContents.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ListContents.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.ListContents.Usage"); + bool longDisplay = false; + if (args.Length > 0 && args[0] == "-l") + longDisplay = true; + + List contents; + + Manager = Client.Inventory; + Inventory = Manager.Store; + // WARNING: Uses local copy of inventory contents, need to download them first. + if (Client.CurrentDirectory != null) + contents = Manager.FolderContents(Client.CurrentDirectory.UUID, Inventory.RootFolder.OwnerID, true, true, InventorySortOrder.SystemFoldersToTop | InventorySortOrder.FoldersByName | InventorySortOrder.ByName, 1000); + else + contents = Manager.FolderContents(Inventory.RootFolder.UUID, Inventory.RootFolder.OwnerID, true, true, InventorySortOrder.SystemFoldersToTop | InventorySortOrder.FoldersByName | InventorySortOrder.ByName, 1000); + + string displayString = ""; + string nl = "\n"; // New line character + // Pretty simple, just print out the contents. + if (contents != null) + { + foreach (InventoryBase b in contents) + { + if (longDisplay) + { + // Generate a nicely formatted description of the item. + // It kinda looks like the output of the unix ls. + // starts with 'd' if the inventory is a folder, '-' if not. + // 9 character permissions string + // UUID of object + // Name of object + if (b is InventoryFolder) + { + InventoryFolder folder = b as InventoryFolder; + displayString += "d--------- "; + displayString += " " + ""; + displayString += " " + DateTime.MinValue.ToShortDateString() + " " + DateTime.MinValue.ToShortTimeString(); + displayString += folder.UUID.ToString().ToUpperInvariant(); + displayString += " " + folder.Name; + } + else if (b is InventoryItem) + { + InventoryItem item = b as InventoryItem; + string iteminvType; + + switch (item.AssetType) + { + case AssetType.Animation: + iteminvType = ""; + break; + case AssetType.Bodypart: + iteminvType = ""; + break; + case AssetType.CallingCard: + iteminvType = ""; + break; + case AssetType.Clothing: + iteminvType = ""; + break; + case AssetType.Folder: + iteminvType = ""; + break; + case AssetType.Gesture: + iteminvType = ""; + break; + case AssetType.ImageJPEG: + iteminvType = ""; + break; + case AssetType.ImageTGA: + iteminvType = ""; + break; + case AssetType.Landmark: + iteminvType = ""; + break; + case AssetType.LostAndFoundFolder: + iteminvType = ""; + break; + case AssetType.LSLBytecode: + iteminvType = ""; + break; + case AssetType.LSLText: + iteminvType = ""; + break; + case AssetType.Notecard: + iteminvType = ""; + break; + case AssetType.Object: + iteminvType = ""; + break; + case AssetType.RootFolder: + iteminvType = "< / >"; + break; + case AssetType.Simstate: + iteminvType = ""; + break; + case AssetType.SnapshotFolder: + iteminvType = ""; + break; + case AssetType.Sound: + iteminvType = ""; + break; + case AssetType.SoundWAV: + iteminvType = ""; + break; + case AssetType.Texture: + iteminvType = ""; + break; + case AssetType.TextureTGA: + iteminvType = ""; + break; + case AssetType.TrashFolder: + iteminvType = ""; + break; + case AssetType.Unknown: + default: + iteminvType = ""; + break; + } + + displayString += "-"; + displayString += PermMaskString(item.Permissions.OwnerMask); + displayString += PermMaskString(item.Permissions.GroupMask); + displayString += PermMaskString(item.Permissions.EveryoneMask); + displayString += " " + iteminvType; + displayString += " " + item.CreationDate.ToShortDateString() + " " + item.CreationDate.ToShortTimeString(); + displayString += " " + item.UUID.ToString().ToUpperInvariant(); + displayString += " " + item.Name; + } + } + else + { + displayString += b.Name; + } + displayString += nl; + } + return displayString; + } + else + { + return bot.Localization.clResourceManager.getText("Commands.ListContents.NotReady"); + } + } + + /// + /// Returns a 3-character summary of the PermissionMask + /// CMT if the mask allows copy, mod and transfer + /// -MT if it disallows copy + /// --T if it only allows transfer + /// --- if it disallows everything + /// + /// + /// + private static string PermMaskString(PermissionMask mask) + { + string str = ""; + if (((uint)mask | (uint)PermissionMask.Copy) == (uint)PermissionMask.Copy) + str += "C"; + else + str += "-"; + if (((uint)mask | (uint)PermissionMask.Modify) == (uint)PermissionMask.Modify) + str += "M"; + else + str += "-"; + if (((uint)mask | (uint)PermissionMask.Transfer) == (uint)PermissionMask.Transfer) + str += "T"; + else + str += "-"; + return str; + } + + } +} diff --git a/SLBot/bot/Commands/Inventory/RezItemCommand.cs b/SLBot/bot/Commands/Inventory/RezItemCommand.cs new file mode 100644 index 0000000..6c21e7a --- /dev/null +++ b/SLBot/bot/Commands/Inventory/RezItemCommand.cs @@ -0,0 +1,93 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : RezItemCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + + public class RezItemCommand : Command + { + private InventoryManager Manager; + private OpenMetaverse.Inventory Inventory; + + public RezItemCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "rezitem"; + base.Description = bot.Localization.clResourceManager.getText("Commands.RezItem.Description") + " " + bot.Localization.clResourceManager.getText("Commands.RezItem.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length != 1) + { + return bot.Localization.clResourceManager.getText("Commands.RezItem.Usage"); + } + UUID dest; + if (!UUID.TryParse(args[0], out dest)) + { + return bot.Localization.clResourceManager.getText("Commands.RezItem.ExpectedID"); + } + Manager = Client.Inventory; + Inventory = Manager.Store; + + string inventoryName = args[0]; + // WARNING: Uses local copy of inventory contents, need to download them first. + List contents = Inventory.GetContents(Client.CurrentDirectory); + foreach (InventoryBase b in contents) + { + if (inventoryName == b.Name || inventoryName.ToLower() == b.UUID.ToString()) + { + if (b is InventoryItem) + { + InventoryItem item = b as InventoryItem; + Vector3 Position = new Vector3(); + + Position = Client.Self.SimPosition; + Position.Z += 3.0f; + + Manager.RequestRezFromInventory(Client.Network.CurrentSim, Quaternion.Identity, Position, item); + return String.Format(bot.Localization.clResourceManager.getText("Commands.RezItem.Requesting"), item.Name); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.RezItem.CannotFolder"), b.Name); + } + } + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.RezItem.NotFound"), inventoryName); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Inventory/TakeItemCommand.cs b/SLBot/bot/Commands/Inventory/TakeItemCommand.cs new file mode 100644 index 0000000..eebede5 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/TakeItemCommand.cs @@ -0,0 +1,82 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TakeItemCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class TakeItemCommand : Command + { + + public TakeItemCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "takeitem"; + base.Description = bot.Localization.clResourceManager.getText("Commands.TakeItem.Description") + " " + bot.Localization.clResourceManager.getText("Commands.TakeItem.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID target; + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.TakeItem.Usage"); + + if (UUID.TryParse(args[0], out target)) + { + Primitive targetPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == target; + } + ); + + if (targetPrim != null) + { + string primName; + Client.Inventory.RequestDeRezToInventory(targetPrim.LocalID); + + if (targetPrim.Properties.Name == null) + primName = "Object"; + else + primName = targetPrim.Properties.Name; + + return String.Format(bot.Localization.clResourceManager.getText("Commands.TakeItem.Took"), primName, targetPrim.ID); + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.TakeItem.NotFound"), args[0]); + } + } +} + diff --git a/SLBot/bot/Commands/Inventory/TaskRunningCommand.cs b/SLBot/bot/Commands/Inventory/TaskRunningCommand.cs new file mode 100644 index 0000000..3b9e375 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/TaskRunningCommand.cs @@ -0,0 +1,169 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TaskRunningCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + + public class TaskRunningCommand : Command + { + public TaskRunningCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "taskrunning"; + base.Description = bot.Localization.clResourceManager.getText("Commands.TaskRunning.Description") + " " + bot.Localization.clResourceManager.getText("Commands.TaskRunning.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.TaskRunning.Usage"); + + uint objectLocalID; + UUID objectID; + + if (!UUID.TryParse(args[0], out objectID)) + return bot.Localization.clResourceManager.getText("Commands.TaskRunning.Usage"); + + Primitive found = Client.Network.CurrentSim.ObjectsPrimitives.Find(delegate(Primitive prim) + { + return prim.ID == objectID; + }); + if (found != null) + objectLocalID = found.LocalID; + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.TaskRunning.NotFound"), objectID); + + List items = Client.Inventory.GetTaskInventory(objectID, objectLocalID, 1000 * 30); + + //bool wantSet = false; + bool setTaskTo = false; + if (items != null) + { + string result = String.Empty; + string matching = String.Empty; + bool setAny = false; + if (args.Length > 1) + { + matching = args[1]; + + string tf; + if (args.Length > 2) + { + tf = args[2]; + } + else + { + tf = matching.ToLower(); + } + if (tf == "true") + { + setAny = true; + setTaskTo = true; + } + else if (tf == "false") + { + setAny = true; + setTaskTo = false; + } + + } + bool wasRunning = false; + + EventHandler callback; + using (AutoResetEvent OnScriptRunningReset = new AutoResetEvent(false)) + { + callback = ((object sender, ScriptRunningReplyEventArgs e) => + { + if (e.ObjectID == objectID) + { + result += String.Format(bot.Localization.clResourceManager.getText("Commands.TaskRunning.Running"), e.IsMono, e.IsRunning); + wasRunning = e.IsRunning; + OnScriptRunningReset.Set(); + } + }); + + Client.Inventory.ScriptRunningReply += callback; + + for (int i = 0; i < items.Count; i++) + { + if (items[i] is InventoryFolder) + { + // this shouldn't happen this year + result += String.Format(bot.Localization.clResourceManager.getText("Commands.TaskRunning.Folder"), items[i].Name) + Environment.NewLine; + } + else + { + InventoryItem item = (InventoryItem)items[i]; + AssetType assetType = item.AssetType; + result += String.Format(bot.Localization.clResourceManager.getText("Commands.TaskRunning.Item"), item.Name, item.Description, + assetType); + if (assetType == AssetType.LSLBytecode || assetType == AssetType.LSLText) + { + OnScriptRunningReset.Reset(); + Client.Inventory.RequestGetScriptRunning(objectID, item.UUID); + if (!OnScriptRunningReset.WaitOne(10000, true)) + { + result += bot.Localization.clResourceManager.getText("Commands.TaskRunning.NoInfo"); + } + if (setAny && item.Name.Contains(matching)) + { + if (wasRunning != setTaskTo) + { + OnScriptRunningReset.Reset(); + result += bot.Localization.clResourceManager.getText("Commands.TaskRunning.Setting") + setTaskTo + " => "; + Client.Inventory.RequestSetScriptRunning(objectID, item.UUID, setTaskTo); + if (!OnScriptRunningReset.WaitOne(10000, true)) + { + result += bot.Localization.clResourceManager.getText("Commands.TaskRunning.NotSet"); + } + } + } + } + + result += Environment.NewLine; + } + } + } + Client.Inventory.ScriptRunningReply -= callback; + return result; + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.TaskRunning.failed"), objectLocalID); + } + } + } +} diff --git a/SLBot/bot/Commands/Inventory/UploadCommand.cs b/SLBot/bot/Commands/Inventory/UploadCommand.cs new file mode 100644 index 0000000..06d3779 --- /dev/null +++ b/SLBot/bot/Commands/Inventory/UploadCommand.cs @@ -0,0 +1,475 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : UploadCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + + // using OpenMetaverse.Capabilities; + using OpenMetaverse.Imaging; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Drawing; + using System.IO; + using OpenMetaverse.Assets; + + public class UploadCommand : Command + { + AutoResetEvent UploadCompleteEvent = new AutoResetEvent(false); + UUID TextureID = UUID.Zero; + DateTime start; + AssetType detectedAssetType = AssetType.Unknown; + InventoryType detectedInventoryType = InventoryType.Unknown; + System.Text.StringBuilder returnString; + const int NOTECARD_CREATE_TIMEOUT = 1000 * 10; + + public UploadCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "upload"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Upload.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Upload.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + returnString = new System.Text.StringBuilder(); + + if (args.Length >= 2) + { + string inventoryName; + string fileName; + + if (args.Length != 2) + return bot.Localization.clResourceManager.getText("Commands.Upload.Usage"); + + TextureID = UUID.Zero; + inventoryName = args[0]; + fileName = args[1]; + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Upload.Loading"), fileName); + + switch (System.IO.Path.GetExtension(fileName)) + { + case ".animatn": + detectedAssetType = AssetType.Animation; + detectedInventoryType = InventoryType.Animation; + break; + case ".bodypart": + detectedAssetType = AssetType.Bodypart; + detectedInventoryType = InventoryType.Wearable; + break; + case ".gesture": + detectedAssetType = AssetType.Gesture; + detectedInventoryType = InventoryType.Gesture; + break; + case ".clothing": + detectedAssetType = AssetType.Clothing; + detectedInventoryType = InventoryType.Wearable; + break; + case ".jpg": + case ".tga": + case ".jp2": + case ".j2c": + detectedAssetType = AssetType.Texture; + detectedInventoryType = InventoryType.Texture; + break; + case ".notecard": + detectedAssetType = AssetType.Notecard; + detectedInventoryType = InventoryType.Notecard; + break; + case ".landmark": + detectedAssetType = AssetType.Landmark; + detectedInventoryType = InventoryType.Landmark; + break; + case ".ogg": + detectedAssetType = AssetType.Sound; + detectedInventoryType = InventoryType.Sound; + break; + case ".lsl": + detectedAssetType = AssetType.LSLText; + detectedInventoryType = InventoryType.LSL; + break; + case ".lso": + detectedAssetType = AssetType.LSLBytecode; + detectedInventoryType = InventoryType.LSL; + break; + case ".wav": + default: + return bot.Localization.clResourceManager.getText("Commands.Upload.Unsupported"); + } + + switch (detectedAssetType) + { + case AssetType.Texture: + byte[] jpeg2k; + try + { + jpeg2k = System.IO.File.ReadAllBytes(fileName); + } + catch (Exception e) + { + return e.Message; + } + if (jpeg2k == null) + return bot.Localization.clResourceManager.getText("Commands.Upload.FailedCompress"); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Upload.CompressedUpload")); + start = DateTime.Now; + DoUpload(jpeg2k, inventoryName); + break; + case AssetType.LSLText: + byte[] rawScriptData; + try + { + rawScriptData = System.IO.File.ReadAllBytes(fileName); + } + catch (Exception e) + { + return e.Message; + } + if (rawScriptData == null) + return bot.Localization.clResourceManager.getText("Commands.Upload.FailedLoad"); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Upload.LoadedUpload")); + start = DateTime.Now; + DoUploadScript(rawScriptData, inventoryName); + break; + case AssetType.Notecard: + byte[] rawNotecardData; + try + { + rawNotecardData = System.IO.File.ReadAllBytes(fileName); + } + catch (Exception e) + { + return e.Message; + } + if (rawNotecardData == null) + return bot.Localization.clResourceManager.getText("Commands.Upload.FailedLoad"); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Upload.LoadedUpload")); + start = DateTime.Now; + DoUploadNotecard(rawNotecardData, inventoryName); + break; + default: + byte[] rawData; + try + { + rawData = System.IO.File.ReadAllBytes(fileName); + } + catch (Exception e) + { + return e.Message; + } + if (rawData == null) + return bot.Localization.clResourceManager.getText("Commands.Upload.FailedLoad"); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Upload.LoadedUpload")); + start = DateTime.Now; + DoUpload(rawData, inventoryName); + break; + } + + if (UploadCompleteEvent.WaitOne(15000, false)) + { + return returnString.ToString(); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Upload.Timeout"); + } + } + return bot.Localization.clResourceManager.getText("Commands.Upload.Usage"); + } + + private void DoUploadNotecard(byte[] UploadData, string FileName) + { + try + { + string desc = String.Format(bot.Localization.clResourceManager.getText("Commands.Upload.CreatedBy"), FileName, DateTime.Now); + AutoResetEvent emptyNoteEvent = new AutoResetEvent(false); + AutoResetEvent notecardEvent = new AutoResetEvent(false); + AssetNotecard empty = new AssetNotecard(); + bool emptySuccess = false, finalUploadSuccess = false; + string message = String.Empty; + UUID notecardItemID = UUID.Zero, notecardAssetID = UUID.Zero; + + // create the asset + Client.Inventory.RequestCreateItem(Client.Inventory.FindFolderForType(AssetType.Notecard), FileName, desc, AssetType.Notecard, UUID.Random(), InventoryType.Notecard, PermissionMask.All, + delegate(bool success, InventoryItem item) + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Upload.Returned"), + success, item.UUID, item.AssetUUID)); + if (success) + { + // upload the asset + + #region Upload an empty notecard asset first + empty.BodyText = "\n"; + empty.Encode(); + + Client.Inventory.RequestUploadNotecardAsset(empty.AssetData, item.UUID, + delegate(bool uploadSuccess, string status, UUID itemID, UUID assetID) + { + notecardItemID = itemID; + notecardAssetID = assetID; + emptySuccess = uploadSuccess; + message = status ?? bot.Localization.clResourceManager.getText("Commands.Upload.UnknownError"); + emptyNoteEvent.Set(); + }); + + emptyNoteEvent.WaitOne(NOTECARD_CREATE_TIMEOUT, false); + + #endregion Upload an empty notecard asset first + + if (emptySuccess) + { + // Upload the actual notecard asset + Client.Inventory.RequestUploadNotecardAsset(UploadData, item.UUID, + delegate(bool uploadSuccess, string status, UUID itemID, UUID assetID) + { + notecardItemID = itemID; + notecardAssetID = assetID; + finalUploadSuccess = uploadSuccess; + message = status ?? bot.Localization.clResourceManager.getText("Commands.Upload.UnknownError"); + notecardEvent.Set(); + }); + } + else + { + notecardEvent.Set(); + } + + } + + }); + + notecardEvent.WaitOne(NOTECARD_CREATE_TIMEOUT, false); + + if (finalUploadSuccess) + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Upload.ReturnedNotecard"), + finalUploadSuccess.ToString(), message, notecardItemID, notecardAssetID)); + bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Upload.UploadTook"), DateTime.Now.Subtract(start))); + Client.Inventory.GiveItem(notecardItemID, FileName, AssetType.Notecard, Client.MasterKey, true); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.UploadedUUID"), notecardAssetID); + returnString.AppendLine(); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.Sent"), Client.MasterName, Client.MasterKey); + returnString.AppendLine(); + UploadCompleteEvent.Set(); + } + else + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Upload.ReturnedNotecard"), + finalUploadSuccess.ToString(), message, notecardItemID, notecardAssetID)); + UploadCompleteEvent.Set(); + } + } + catch (System.Exception e) + { + bot.Console.WriteLine(e.ToString()); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.ErrorNotecard"), FileName); + } + } + + private void DoUploadScript(byte[] UploadData, string FileName) + { + try + { + string desc = String.Format(bot.Localization.clResourceManager.getText("Commands.Upload.CreatedBy"), FileName, DateTime.Now); + // create the asset + Client.Inventory.RequestCreateItem(Client.Inventory.FindFolderForType(AssetType.LSLText), FileName, desc, AssetType.LSLText, UUID.Random(), InventoryType.LSL, PermissionMask.All, + delegate(bool success, InventoryItem item) + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Upload.Returned"), + success, item.UUID, item.AssetUUID)); + if (success) + // upload the asset + Client.Inventory.RequestUpdateScriptAgentInventory(UploadData, item.UUID, true, new InventoryManager.ScriptUpdatedCallback(delegate(bool success1, string status, UUID itemid, UUID assetid) + { + if (success1) + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Upload.ReturnedScript"), + success1, status, itemid, assetid)); + bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Upload.UploadTook"), DateTime.Now.Subtract(start))); + Client.Inventory.GiveItem(item.UUID, FileName, AssetType.LSLText, Client.MasterKey, true); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.UploadUUID"), assetid); + returnString.AppendLine(); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.Sent"), Client.MasterName, Client.MasterKey); + returnString.AppendLine(); + UploadCompleteEvent.Set(); + } + })); + }); + + } + catch (System.Exception e) + { + bot.Console.WriteLine(e.ToString()); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.ErrorScript"), FileName); + } + } + + private void DoUpload(byte[] UploadData, string FileName) + { + if (UploadData != null) + { + string name = System.IO.Path.GetFileNameWithoutExtension(FileName); + string desc = String.Format(bot.Localization.clResourceManager.getText("Commands.Upload.CreatedBy"), FileName, DateTime.Now); + + Client.Inventory.RequestCreateItemFromAsset(UploadData, name, desc, + detectedAssetType, detectedInventoryType, Client.Inventory.FindFolderForType(detectedAssetType), + + /*delegate(CapsClient client, long bytesReceived, long bytesSent, long totalBytesToReceive, long totalBytesToSend) + { + if (bytesSent > 0) + bot.Console.WriteLine(String.Format("Textura subida: {0} / {1}", bytesSent, totalBytesToSend)); + },*/ + // CLAUNIA: Seems that libomv changes nulled this functionality + + delegate(bool success, string status, UUID itemID, UUID assetID) + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.Upload.ReturnedAsset"), + success, status, itemID, assetID)); + + bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("Commands.Upload.UploadTook"), DateTime.Now.Subtract(start))); + + if (!success) + { + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.Failed"), status); + returnString.AppendLine(); + } + else + { + InventoryItem item = Client.Inventory.FetchItem(itemID, Client.Self.AgentID, 1000 * 15); + item.Permissions.NextOwnerMask = PermissionMask.All; + Client.Inventory.RequestUpdateItem(item); + + Client.Inventory.GiveItem(itemID, FileName, detectedAssetType, Client.MasterKey, true); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.UploadedUUID"), assetID); + returnString.AppendLine(); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Upload.Sent"), Client.MasterName, Client.MasterKey); + returnString.AppendLine(); + } + + TextureID = assetID; + + UploadCompleteEvent.Set(); + } + ); + } + } + + private byte[] LoadImage(string fileName) + { + byte[] UploadData; + string lowfilename = fileName.ToLower(); + Bitmap bitmap = null; + + try + { + if (lowfilename.EndsWith(".jp2") || lowfilename.EndsWith(".j2c")) + { + Image image; + ManagedImage managedImage; + + // Upload JPEG2000 images untouched + UploadData = System.IO.File.ReadAllBytes(fileName); + + OpenJPEG.DecodeToImage(UploadData, out managedImage, out image); + bitmap = (Bitmap)image; + } + else + { + if (lowfilename.EndsWith(".tga")) + bitmap = LoadTGAClass.LoadTGA(fileName); + else + bitmap = (Bitmap)System.Drawing.Image.FromFile(fileName); + + int oldwidth = bitmap.Width; + int oldheight = bitmap.Height; + + if (!IsPowerOfTwo((uint)oldwidth) || !IsPowerOfTwo((uint)oldheight)) + { + Bitmap resized = new Bitmap(256, 256, bitmap.PixelFormat); + Graphics graphics = Graphics.FromImage(resized); + + graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; + graphics.InterpolationMode = + System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; + graphics.DrawImage(bitmap, 0, 0, 256, 256); + + bitmap.Dispose(); + bitmap = resized; + + oldwidth = 256; + oldheight = 256; + } + + // Handle resizing to prevent excessively large images + if (oldwidth > 1024 || oldheight > 1024) + { + int newwidth = (oldwidth > 1024) ? 1024 : oldwidth; + int newheight = (oldheight > 1024) ? 1024 : oldheight; + + Bitmap resized = new Bitmap(newwidth, newheight, bitmap.PixelFormat); + Graphics graphics = Graphics.FromImage(resized); + + graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; + graphics.InterpolationMode = + System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; + graphics.DrawImage(bitmap, 0, 0, newwidth, newheight); + + bitmap.Dispose(); + bitmap = resized; + } + + UploadData = OpenJPEG.EncodeFromImage(bitmap, false); + } + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.ToString() + " SL Image Upload "); + return null; + } + return UploadData; + } + + private static bool IsPowerOfTwo(uint n) + { + return (n & (n - 1)) == 0 && n != 0; + } + } +} diff --git a/SLBot/bot/Commands/Inventory/UploadImageCommand.cs b/SLBot/bot/Commands/Inventory/UploadImageCommand.cs new file mode 100644 index 0000000..71b58dc --- /dev/null +++ b/SLBot/bot/Commands/Inventory/UploadImageCommand.cs @@ -0,0 +1,218 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : UploadImageCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Imaging; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Drawing; + using System.IO; + + public class UploadImageCommand : Command + { + AutoResetEvent UploadCompleteEvent = new AutoResetEvent(false); + UUID TextureID = UUID.Zero; + DateTime start; + System.Text.StringBuilder returnString = new System.Text.StringBuilder(); + + public UploadImageCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "uploadimage"; + base.Description = bot.Localization.clResourceManager.getText("Commands.UploadImage.Description") + " " + bot.Localization.clResourceManager.getText("Commands.UploadImage.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length >= 2) + { + string inventoryName; + string fileName; + + if (args.Length != 2) + return bot.Localization.clResourceManager.getText("Commands.UploadImage.Usage"); + + TextureID = UUID.Zero; + inventoryName = args[0]; + fileName = args[1]; + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.UploadImage.Loading"), fileName); + byte[] jpeg2k = LoadImage(fileName); + if (jpeg2k == null) + return bot.Localization.clResourceManager.getText("Commands.UploadImage.FailedConvert"); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.UploadImage.Uploading")); + start = DateTime.Now; + DoUpload(jpeg2k, inventoryName); + + if (UploadCompleteEvent.WaitOne(10000, false)) + { + return returnString.ToString(); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.UploadImage.Timeout"); + } + } + return bot.Localization.clResourceManager.getText("Commands.UploadImage.Usage"); + } + + private void DoUpload(byte[] UploadData, string FileName) + { + if (UploadData != null) + { + string name = System.IO.Path.GetFileNameWithoutExtension(FileName); + string desc = String.Format(bot.Localization.clResourceManager.getText("Commands.UploadImage.CreatedBy"), FileName, DateTime.Now); + + Client.Inventory.RequestCreateItemFromAsset(UploadData, name, desc, + AssetType.Texture, InventoryType.Texture, Client.Inventory.FindFolderForType(AssetType.Texture), + + /* delegate(CapsClient client, long bytesReceived, long bytesSent, long totalBytesToReceive, long totalBytesToSend) + { + if (bytesSent > 0) + bot.Console.WriteLine(String.Format("Textura subida: {0} / {1}", bytesSent, totalBytesToSend)); + },*/ + // CLAUNIA: Seems that libomv changes nulled this functionality + + delegate(bool success, string status, UUID itemID, UUID assetID) + { + bot.Console.WriteLine(String.Format( + bot.Localization.clResourceManager.getText("Commands.UploadImage.Returned"), + success, status, itemID, assetID)); + + bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("Commands.UploadImage.UploadTook"), DateTime.Now.Subtract(start))); + + if (!success) + { + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.UploadImage.FailedUpload"), status); + returnString.AppendLine(); + } + else + { + Client.Inventory.GiveItem(itemID, FileName, AssetType.Texture, Client.MasterKey, true); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.UploadImage.UploadedUUID"), assetID); + returnString.AppendLine(); + returnString.AppendFormat(bot.Localization.clResourceManager.getText("Commands.UploadImage.ImageSent"), Client.MasterName, Client.MasterKey); + returnString.AppendLine(); + } + + TextureID = assetID; + + UploadCompleteEvent.Set(); + } + ); + } + } + + private byte[] LoadImage(string fileName) + { + byte[] UploadData; + string lowfilename = fileName.ToLower(); + Bitmap bitmap = null; + + try + { + if (lowfilename.EndsWith(".jp2") || lowfilename.EndsWith(".j2c")) + { + Image image; + ManagedImage managedImage; + + // Upload JPEG2000 images untouched + UploadData = System.IO.File.ReadAllBytes(fileName); + + OpenJPEG.DecodeToImage(UploadData, out managedImage, out image); + bitmap = (Bitmap)image; + } + else + { + if (lowfilename.EndsWith(".tga")) + bitmap = LoadTGAClass.LoadTGA(fileName); + else + bitmap = (Bitmap)System.Drawing.Image.FromFile(fileName); + + int oldwidth = bitmap.Width; + int oldheight = bitmap.Height; + + if (!IsPowerOfTwo((uint)oldwidth) || !IsPowerOfTwo((uint)oldheight)) + { + Bitmap resized = new Bitmap(256, 256, bitmap.PixelFormat); + Graphics graphics = Graphics.FromImage(resized); + + graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; + graphics.InterpolationMode = + System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; + graphics.DrawImage(bitmap, 0, 0, 256, 256); + + bitmap.Dispose(); + bitmap = resized; + + oldwidth = 256; + oldheight = 256; + } + + // Handle resizing to prevent excessively large images + if (oldwidth > 1024 || oldheight > 1024) + { + int newwidth = (oldwidth > 1024) ? 1024 : oldwidth; + int newheight = (oldheight > 1024) ? 1024 : oldheight; + + Bitmap resized = new Bitmap(newwidth, newheight, bitmap.PixelFormat); + Graphics graphics = Graphics.FromImage(resized); + + graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; + graphics.InterpolationMode = + System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; + graphics.DrawImage(bitmap, 0, 0, newwidth, newheight); + + bitmap.Dispose(); + bitmap = resized; + } + + UploadData = OpenJPEG.EncodeFromImage(bitmap, false); + } + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.ToString() + " SL Image Upload "); + return null; + } + return UploadData; + } + + private static bool IsPowerOfTwo(uint n) + { + return (n & (n - 1)) == 0 && n != 0; + } + } +} diff --git a/SLBot/bot/Commands/Inventory/ViewNotecardCommand.cs b/SLBot/bot/Commands/Inventory/ViewNotecardCommand.cs new file mode 100644 index 0000000..0c5f51a --- /dev/null +++ b/SLBot/bot/Commands/Inventory/ViewNotecardCommand.cs @@ -0,0 +1,101 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ViewNotecardCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using OpenMetaverse.Assets; + + public class ViewNotecardCommand : Command + { + public ViewNotecardCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "viewnote"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ViewNotecard.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ViewNotecard.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.ViewNotecard.Usage"); + } + UUID note; + if (!UUID.TryParse(args[0], out note)) + { + return bot.Localization.clResourceManager.getText("Commands.ViewNotecard.ExpectedUUID"); + } + + System.Threading.AutoResetEvent waitEvent = new System.Threading.AutoResetEvent(false); + + System.Text.StringBuilder result = new System.Text.StringBuilder(); + + // verify asset is loaded in store + if (Client.Inventory.Store.Contains(note)) + { + // retrieve asset from store + InventoryItem ii = (InventoryItem)Client.Inventory.Store[note]; + + // make request for asset + Client.Assets.RequestInventoryAsset(ii, true, + delegate(AssetDownload transfer, Asset asset) + { + if (transfer.Success) + { + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ViewNotecard.NotecardData"), Utils.BytesToString(asset.AssetData)); + waitEvent.Set(); + } + } + ); + + // wait for reply or timeout + if (!waitEvent.WaitOne(10000, false)) + { + result.Append(bot.Localization.clResourceManager.getText("Commands.ViewNotecard.Timeout")); + } + // unsubscribe from reply event + } + else + { + result.Append(bot.Localization.clResourceManager.getText("Commands.ViewNotecard.NotFound")); + } + + // return results + return result.ToString(); + } + + + } +} diff --git a/SLBot/bot/Commands/Movement/BackCommand.cs b/SLBot/bot/Commands/Movement/BackCommand.cs new file mode 100644 index 0000000..0269ef7 --- /dev/null +++ b/SLBot/bot/Commands/Movement/BackCommand.cs @@ -0,0 +1,87 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BackCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class BackCommand : Command + { + public BackCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "back"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Back.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Back.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.Back.Usage"); + + if (args.Length == 0) + { + Client.Self.Movement.SendManualUpdate(AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG, Client.Self.Movement.Camera.Position, + Client.Self.Movement.Camera.AtAxis, Client.Self.Movement.Camera.LeftAxis, Client.Self.Movement.Camera.UpAxis, + Client.Self.Movement.BodyRotation, Client.Self.Movement.HeadRotation, Client.Self.Movement.Camera.Far, AgentFlags.None, + AgentState.None, true); + } + else + { + // Parse the number of seconds + int duration; + if (!Int32.TryParse(args[0], out duration)) + return bot.Localization.clResourceManager.getText("Commands.Back.Usage"); + // Convert to milliseconds + duration *= 1000; + + int start = Environment.TickCount; + + Client.Self.Movement.AtNeg = true; + + while (Environment.TickCount - start < duration) + { + // The movement timer will do this automatically, but we do it here as an example + // and to make sure updates are being sent out fast enough + Client.Self.Movement.SendUpdate(false); + System.Threading.Thread.Sleep(100); + } + + Client.Self.Movement.AtNeg = false; + } + + return bot.Localization.clResourceManager.getText("Commands.Back.Moved"); + } + } +} diff --git a/SLBot/bot/Commands/Movement/CameraFarCommand.cs b/SLBot/bot/Commands/Movement/CameraFarCommand.cs new file mode 100644 index 0000000..72f4072 --- /dev/null +++ b/SLBot/bot/Commands/Movement/CameraFarCommand.cs @@ -0,0 +1,70 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CameraFarCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class CameraFarCommand : Command + { + public CameraFarCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "camerafar"; + base.Description = bot.Localization.clResourceManager.getText("Commands.CameraFar.Description") + " " + bot.Localization.clResourceManager.getText("Commands.CameraFar.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + float distance; + + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.CameraFar.Usage"); + + if (args.Length == 0) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.CameraFar.Actual"), Client.Self.Movement.Camera.Far.ToString()); + } + else + { + if (!float.TryParse(args[0], out distance)) + return bot.Localization.clResourceManager.getText("Commands.CameraFar.Usage"); + + Client.Self.Movement.Camera.Far = distance; + + return String.Format(bot.Localization.clResourceManager.getText("Commands.CameraFar.Changed"), Client.Self.Movement.Camera.Far.ToString()); + } + } + } +} + diff --git a/SLBot/bot/Commands/Movement/CrouchCommand.cs b/SLBot/bot/Commands/Movement/CrouchCommand.cs new file mode 100644 index 0000000..fb71aa6 --- /dev/null +++ b/SLBot/bot/Commands/Movement/CrouchCommand.cs @@ -0,0 +1,67 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : CrouchCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class CrouchCommand : Command + { + public CrouchCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "crouch"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Crouch.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Crouch.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bool start = true; + + if (args.Length == 1 && args[0].ToLower() == "stop") + start = false; + + if (start) + { + Client.Self.Crouch(true); + return bot.Localization.clResourceManager.getText("Commands.Crouch.Started"); + } + else + { + Client.Self.Crouch(false); + return bot.Localization.clResourceManager.getText("Commands.Crouch.Stopped"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Movement/FlyCommand.cs b/SLBot/bot/Commands/Movement/FlyCommand.cs new file mode 100644 index 0000000..2c265b7 --- /dev/null +++ b/SLBot/bot/Commands/Movement/FlyCommand.cs @@ -0,0 +1,67 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FlyCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class FlyCommand : Command + { + public FlyCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "fly"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Fly.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Fly.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bool start = true; + + if (args.Length == 1 && args[0].ToLower() == "stop") + start = false; + + if (start) + { + Client.Self.Fly(true); + return bot.Localization.clResourceManager.getText("Commands.Fly.Started"); + } + else + { + Client.Self.Fly(false); + return bot.Localization.clResourceManager.getText("Commands.Fly.Stopped"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Movement/FlyToCommand.cs b/SLBot/bot/Commands/Movement/FlyToCommand.cs new file mode 100644 index 0000000..d7971d2 --- /dev/null +++ b/SLBot/bot/Commands/Movement/FlyToCommand.cs @@ -0,0 +1,185 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FlyToCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using System; + using System.Collections.Generic; + using OpenMetaverse; + using OpenMetaverse.Packets; + using bot; + + class FlyToCommand : Command + { + Vector3 myPos = new Vector3(); + Vector2 myPos0 = new Vector2(); + Vector3 target = new Vector3(); + Vector2 target0 = new Vector2(); + float diff, olddiff, saveolddiff; + int startTime = 0; + int duration = 10000; + + public FlyToCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "flyto"; + base.Description = bot.Localization.clResourceManager.getText("Commands.FlyTo.Description") + " " + bot.Localization.clResourceManager.getText("Commands.FlyTo.Usage"); + + SecondLifeBot.Objects.TerseObjectUpdate += Objects_OnObjectUpdated; + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length > 4 || args.Length < 3) + return bot.Localization.clResourceManager.getText("Commands.FlyTo.Usage"); + + if (!float.TryParse(args[0], out target.X) || + !float.TryParse(args[1], out target.Y) || + !float.TryParse(args[2], out target.Z)) + { + return bot.Localization.clResourceManager.getText("Commands.FlyTo.Usage"); + } + target0.X = target.X; + target0.Y = target.Y; + + if (args.Length == 4 && Int32.TryParse(args[3], out duration)) + duration *= 1000; + + startTime = Environment.TickCount; + Client.Self.Movement.Fly = true; + Client.Self.Movement.AtPos = true; + Client.Self.Movement.AtNeg = false; + ZMovement(); + Client.Self.Movement.TurnToward(target); + + return string.Format(bot.Localization.clResourceManager.getText("Commands.FlyTo.Flying"), target.ToString(), duration / 1000); + } + + private void Objects_OnObjectUpdated(object sender, TerseObjectUpdateEventArgs e) + { + if (startTime == 0) + return; + if (e.Update.LocalID == Client.Self.LocalID) + { + XYMovement(); + ZMovement(); + if (Client.Self.Movement.AtPos || Client.Self.Movement.AtNeg) + { + Client.Self.Movement.TurnToward(target); + Debug("Flyxy "); + } + else if (Client.Self.Movement.UpPos || Client.Self.Movement.UpNeg) + { + Client.Self.Movement.TurnToward(target); + //Client.Self.Movement.SendUpdate(false); + Debug("Fly z "); + } + else if (Vector3.Distance(target, Client.Self.SimPosition) <= 2.0) + { + EndFlyto(); + Debug("At Target"); + } + } + if (Environment.TickCount - startTime > duration) + { + EndFlyto(); + Debug("End Flyto"); + } + } + + private bool XYMovement() + { + bool res = false; + + myPos = Client.Self.SimPosition; + myPos0.X = myPos.X; + myPos0.Y = myPos.Y; + diff = Vector2.Distance(target0, myPos0); + Vector2 vvel = new Vector2(Client.Self.Velocity.X, Client.Self.Velocity.Y); + float vel = vvel.Length(); + if (diff >= 10.0) + { + Client.Self.Movement.AtPos = true; + res = true; + } + else if (diff >= 2 && vel < 5) + { + Client.Self.Movement.AtPos = true; + } + else + { + Client.Self.Movement.AtPos = false; + Client.Self.Movement.AtNeg = false; + } + saveolddiff = olddiff; + olddiff = diff; + return res; + } + + private void ZMovement() + { + Client.Self.Movement.UpPos = false; + Client.Self.Movement.UpNeg = false; + float diffz = (target.Z - Client.Self.SimPosition.Z); + if (diffz >= 20.0) + Client.Self.Movement.UpPos = true; + else if (diffz <= -20.0) + Client.Self.Movement.UpNeg = true; + else if (diffz >= +5.0 && Client.Self.Velocity.Z < +4.0) + Client.Self.Movement.UpPos = true; + else if (diffz <= -5.0 && Client.Self.Velocity.Z > -4.0) + Client.Self.Movement.UpNeg = true; + else if (diffz >= +2.0 && Client.Self.Velocity.Z < +1.0) + Client.Self.Movement.UpPos = true; + else if (diffz <= -2.0 && Client.Self.Velocity.Z > -1.0) + Client.Self.Movement.UpNeg = true; + } + + private void EndFlyto() + { + startTime = 0; + Client.Self.Movement.AtPos = false; + Client.Self.Movement.AtNeg = false; + Client.Self.Movement.UpPos = false; + Client.Self.Movement.UpNeg = false; + Client.Self.Movement.SendUpdate(false); + } + + [System.Diagnostics.Conditional("DEBUG")] + private void Debug(string x) + { + bot.Console.WriteLine(x + " {0,3:##0} {1,3:##0} {2,3:##0} diff {3,5:##0.0} olddiff {4,5:##0.0} At:{5,5} {6,5} Up:{7,5} {8,5} v: {9} w: {10}", + myPos.X, myPos.Y, myPos.Z, diff, saveolddiff, + Client.Self.Movement.AtPos, Client.Self.Movement.AtNeg, Client.Self.Movement.UpPos, Client.Self.Movement.UpNeg, + Client.Self.Velocity.ToString(), Client.Self.AngularVelocity.ToString()); + } + } +} diff --git a/SLBot/bot/Commands/Movement/FollowCommand.cs b/SLBot/bot/Commands/Movement/FollowCommand.cs new file mode 100644 index 0000000..08fbd71 --- /dev/null +++ b/SLBot/bot/Commands/Movement/FollowCommand.cs @@ -0,0 +1,207 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FollowCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + + public class FollowCommand : Command + { + public FollowCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "follow"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Follow.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Follow.Usage"); + SecondLifeBot.Network.RegisterCallback(PacketType.AlertMessage, AlertMessageHandler); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + string target = String.Empty; + for (int ct = 0; ct < args.Length; ct++) + target = target + args[ct] + " "; + target = target.TrimEnd(); + + if (target.Length > 0) + { + if (args[0] == "stop") + { + Active = false; + return bot.Localization.clResourceManager.getText("Commands.Follow.Stopped"); + } + + if (Follow(target)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Follow.Following"), target); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Follow.Unable"), target); + } + else + { + if (Client.MasterKey != UUID.Zero) + { + if (Follow(Client.MasterKey)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Follow.FollowingUUID"), Client.MasterKey); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Follow.UnableUUID"), Client.MasterKey); + } + else if (Client.MasterName != String.Empty) + { + if (Follow(Client.MasterName)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Follow.Following"), Client.MasterName); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Follow.Unable"), Client.MasterName); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Follow.NoMaster") + " " + bot.Localization.clResourceManager.getText("Commands.Follow.Usage"); + } + } + } + + const float DISTANCE_BUFFER = 3.0f; + uint targetLocalID = 0; + + bool Follow(string name) + { + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Avatar target = Client.Network.Simulators[i].ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return avatar.Name == name; + } + ); + + if (target != null) + { + targetLocalID = target.LocalID; + Active = true; + return true; + } + } + } + + Active = false; + return false; + } + + bool Follow(UUID id) + { + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Avatar target = Client.Network.Simulators[i].ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return avatar.ID == id; + } + ); + + if (target != null) + { + targetLocalID = target.LocalID; + Active = true; + return true; + } + } + } + + Active = false; + return false; + } + + public override void Think() + { + // Find the target position + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Avatar targetAv; + + if (Client.Network.Simulators[i].ObjectsAvatars.TryGetValue(targetLocalID, out targetAv)) + { + float distance = 0.0f; + + if (Client.Network.Simulators[i] == Client.Network.CurrentSim) + { + distance = Vector3.Distance(targetAv.Position, Client.Self.SimPosition); + } + else + { + // FIXME: Calculate global distances + } + + if (distance > DISTANCE_BUFFER) + { + uint regionX, regionY; + Utils.LongToUInts(Client.Network.Simulators[i].Handle, out regionX, out regionY); + + double xTarget = (double)targetAv.Position.X + (double)regionX; + double yTarget = (double)targetAv.Position.Y + (double)regionY; + double zTarget = targetAv.Position.Z - 2f; + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Follow.Autopilot"), + distance, xTarget, yTarget, zTarget); + + Client.Self.AutoPilot(xTarget, yTarget, zTarget); + } + else + { + // We are in range of the target and moving, stop moving + Client.Self.AutoPilotCancel(); + } + } + } + } + + base.Think(); + } + + private void AlertMessageHandler(object sender, PacketReceivedEventArgs e) + { + AlertMessagePacket alert = (AlertMessagePacket)e.Packet; + string message = Utils.BytesToString(alert.AlertData.Message); + + if (message.Contains("Autopilot cancel")) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Follow.AutopilotCancelled")); + } + } + } +} + diff --git a/SLBot/bot/Commands/Movement/ForwardCommand.cs b/SLBot/bot/Commands/Movement/ForwardCommand.cs new file mode 100644 index 0000000..10777e9 --- /dev/null +++ b/SLBot/bot/Commands/Movement/ForwardCommand.cs @@ -0,0 +1,87 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ForwardCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class ForwardCommand : Command + { + public ForwardCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "forward"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Forward.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Forward.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.Forward.Usage"); + + if (args.Length == 0) + { + Client.Self.Movement.SendManualUpdate(AgentManager.ControlFlags.AGENT_CONTROL_AT_POS, Client.Self.Movement.Camera.Position, + Client.Self.Movement.Camera.AtAxis, Client.Self.Movement.Camera.LeftAxis, Client.Self.Movement.Camera.UpAxis, + Client.Self.Movement.BodyRotation, Client.Self.Movement.HeadRotation, Client.Self.Movement.Camera.Far, AgentFlags.None, + AgentState.None, true); + } + else + { + // Parse the number of seconds + int duration; + if (!Int32.TryParse(args[0], out duration)) + return bot.Localization.clResourceManager.getText("Commands.Forward.Usage"); + // Convert to milliseconds + duration *= 1000; + + int start = Environment.TickCount; + + Client.Self.Movement.AtPos = true; + + while (Environment.TickCount - start < duration) + { + // The movement timer will do this automatically, but we do it here as an example + // and to make sure updates are being sent out fast enough + Client.Self.Movement.SendUpdate(false); + System.Threading.Thread.Sleep(100); + } + + Client.Self.Movement.AtPos = false; + } + + return bot.Localization.clResourceManager.getText("Commands.Forward.Moved"); + } + } +} diff --git a/SLBot/bot/Commands/Movement/GoHomeCommand.cs b/SLBot/bot/Commands/Movement/GoHomeCommand.cs new file mode 100644 index 0000000..4199c9b --- /dev/null +++ b/SLBot/bot/Commands/Movement/GoHomeCommand.cs @@ -0,0 +1,56 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GoHomeCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class GoHomeCommand : Command + { + public GoHomeCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "gohome"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GoHome.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (Client.Self.GoHome()) + return bot.Localization.clResourceManager.getText("Commands.GoHome.Success"); + else + return bot.Localization.clResourceManager.getText("Commands.GoHome.Fail"); + } + } +} + diff --git a/SLBot/bot/Commands/Movement/GotoCommand.cs b/SLBot/bot/Commands/Movement/GotoCommand.cs new file mode 100644 index 0000000..12f8394 --- /dev/null +++ b/SLBot/bot/Commands/Movement/GotoCommand.cs @@ -0,0 +1,81 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GotoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class GotoCommand : Command + { + public GotoCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "goto"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Goto.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Goto.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.Goto.Usage"); + + string destination = String.Empty; + + // Handle multi-word sim names by combining the arguments + foreach (string arg in args) + { + destination += arg + " "; + } + destination = destination.Trim(); + + string[] tokens = destination.Split(new char[] { '/' }); + if (tokens.Length != 4) + return bot.Localization.clResourceManager.getText("Commands.Goto.Usage"); + + string sim = tokens[0]; + float x, y, z; + if (!float.TryParse(tokens[1], out x) || + !float.TryParse(tokens[2], out y) || + !float.TryParse(tokens[3], out z)) + { + return bot.Localization.clResourceManager.getText("Commands.Goto.Usage"); + } + + if (Client.Self.Teleport(sim, new Vector3(x, y, z))) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Goto.Success"), Client.Network.CurrentSim); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Goto.Fail"), Client.Self.TeleportMessage); + } + } +} + diff --git a/SLBot/bot/Commands/Movement/GotoLandmarkCommand.cs b/SLBot/bot/Commands/Movement/GotoLandmarkCommand.cs new file mode 100644 index 0000000..1d78e38 --- /dev/null +++ b/SLBot/bot/Commands/Movement/GotoLandmarkCommand.cs @@ -0,0 +1,74 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GotoLandmarkCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class GotoLandmarkCommand : Command + { + public GotoLandmarkCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "gotolm"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GotoLandmark.Description") + " " + bot.Localization.clResourceManager.getText("Commands.GotoLandmark.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.GotoLandmark.Usage"); + } + + UUID landmark = new UUID(); + if (!UUID.TryParse(args[0], out landmark)) + { + return bot.Localization.clResourceManager.getText("Commands.GotoLandmark.InvalidUUID"); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.GotoLandmark.Teleporting"), landmark.ToString()); + } + if (Client.Self.Teleport(landmark)) + { + return bot.Localization.clResourceManager.getText("Commands.GotoLandmark.Success"); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.GotoLandmark.Fail"), Client.Self.TeleportMessage); + } + } + } +} + diff --git a/SLBot/bot/Commands/Movement/JumpCommand.cs b/SLBot/bot/Commands/Movement/JumpCommand.cs new file mode 100644 index 0000000..3fa448c --- /dev/null +++ b/SLBot/bot/Commands/Movement/JumpCommand.cs @@ -0,0 +1,62 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : JumpCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class JumpCommand : Command + { + public JumpCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "jump"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Jump.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (Client.Self.Movement.UpPos && Client.Self.Movement.FastUp) + { + Client.Self.Jump(false); + return bot.Localization.clResourceManager.getText("Commands.Jump.StopJumping"); + } + else + { + Client.Self.Jump(false); + return bot.Localization.clResourceManager.getText("Commands.Jump.Jumping"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Movement/LeftCommand.cs b/SLBot/bot/Commands/Movement/LeftCommand.cs new file mode 100644 index 0000000..45fd19f --- /dev/null +++ b/SLBot/bot/Commands/Movement/LeftCommand.cs @@ -0,0 +1,89 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LeftCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class LeftCommand : Command + { + public LeftCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "left"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Left.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Left.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.Left.Usage"); + + if (args.Length == 0) + { + Client.Self.Movement.SendManualUpdate(AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS, Client.Self.Movement.Camera.Position, + Client.Self.Movement.Camera.AtAxis, Client.Self.Movement.Camera.LeftAxis, Client.Self.Movement.Camera.UpAxis, + Client.Self.Movement.BodyRotation, Client.Self.Movement.HeadRotation, Client.Self.Movement.Camera.Far, AgentFlags.None, + AgentState.None, true); + } + else + { + // Parse the number of seconds + int duration; + if (!Int32.TryParse(args[0], out duration)) + return bot.Localization.clResourceManager.getText("Commands.Left.Usage"); + // Convert to milliseconds + duration *= 1000; + + int start = Environment.TickCount; + + Client.Self.Movement.LeftPos = true; + + while (Environment.TickCount - start < duration) + { + // The movement timer will do this automatically, but we do it here as an example + // and to make sure updates are being sent out fast enough + Client.Self.Movement.SendUpdate(false); + System.Threading.Thread.Sleep(100); + } + + Client.Self.Movement.LeftPos = false; + } + + return bot.Localization.clResourceManager.getText("Commands.Left.Moved"); + } + + + } +} diff --git a/SLBot/bot/Commands/Movement/MovetoCommand.cs b/SLBot/bot/Commands/Movement/MovetoCommand.cs new file mode 100644 index 0000000..28f9243 --- /dev/null +++ b/SLBot/bot/Commands/Movement/MovetoCommand.cs @@ -0,0 +1,169 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : MovetoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + internal class MovetoCommand : Command + { + public MovetoCommand(SecondLifeBot client) + { + base.Name = "moveto"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Moveto.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Moveto.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Vector3 newDirection; + UUID targetID = UUID.Zero; + string avatarName = ""; + double x = 0.0d; + double y = x; + double z = x; + bool isGroupKey = false; + Avatar foundAv = null; + Primitive foundPrim; + uint regionX, regionY; + Utils.LongToUInts(Client.Network.CurrentSim.Handle, out regionX, out regionY); + + if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out targetID)) + return bot.Localization.clResourceManager.getText("Commands.Moveto.Usage"); + } + else if (args.Length == 2) + { + avatarName = args[0] + " " + args[1]; + if (!Client.FindOneAvatar(avatarName, out targetID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.TurnTo.AvNotFound"), avatarName); + } + else if (args.Length == 3) + { + if (!Double.TryParse(args[0], out x) || + !Double.TryParse(args[1], out y) || + !Double.TryParse(args[2], out z)) + { + return bot.Localization.clResourceManager.getText("Commands.Moveto.Usage"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Moveto.Usage"); + } + + if (args.Length != 3) + { + if (targetID != UUID.Zero) + { + Client.key2Name(targetID, out avatarName, out isGroupKey); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.Moveto.CannotGroup"); + + if (avatarName != "") + { + foundAv = Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return (avatar.Name == avatarName); + } + ); + + if (foundAv == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Moveto.AvNotInSim"), avatarName); + + if (foundAv.ParentID != 0) + { + Primitive SitPrim; + + SitPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.LocalID == foundAv.ParentID; + } + ); + + if (SitPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Moveto.AvSit"), avatarName); + else + newDirection = SitPrim.Position; + } + else + { + newDirection = foundAv.Position; + } + } + else + { + foundPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == targetID; + } + ); + + if (foundPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Moveto.ObjNotInSim"), targetID); + + newDirection = foundPrim.Position; + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Moveto.Usage"); + } + } + else + { + newDirection.X = (float)x; + newDirection.Y = (float)y; + newDirection.Z = (float)z; + } + + x = (double)newDirection.X; + y = (double)newDirection.Y; + z = (double)newDirection.Z; + + // Convert the local coordinates to global ones by adding the region handle parts to x and y + x += (double)regionX; + y += (double)regionY; + + Client.Self.AutoPilot(x, y, z); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Moveto.Moving"), (uint)(x - (double)regionX), (uint)(y - (double)regionY), (uint)z); + } + } +} + diff --git a/SLBot/bot/Commands/Movement/RequestTeleport.cs b/SLBot/bot/Commands/Movement/RequestTeleport.cs new file mode 100644 index 0000000..8ba3368 --- /dev/null +++ b/SLBot/bot/Commands/Movement/RequestTeleport.cs @@ -0,0 +1,74 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : RequestTeleport.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using OpenMetaverse; + +namespace bot.Core.Commands +{ + public class RequestTeleport : bot.Commands.Command + { + public RequestTeleport(SecondLifeBot SecondLifeBot) + { + Client = SecondLifeBot; + Name = "sendtp"; + Description = bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Description") + " " + bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool unknown) + { + UUID targetID; + string targetName; + + if (args.Length == 0) + { + targetID = Client.MasterKey; + } + else if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out targetID)) + return bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Usage"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Usage"); + } + + if (!Client.key2Name(targetID, out targetName)) + targetName = targetID.ToString(); + + Client.Self.SendTeleportLure(targetID, bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Message")); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Sent"), targetName); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Movement/RightCommand.cs b/SLBot/bot/Commands/Movement/RightCommand.cs new file mode 100644 index 0000000..8509697 --- /dev/null +++ b/SLBot/bot/Commands/Movement/RightCommand.cs @@ -0,0 +1,87 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : RightCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class RightCommand : Command + { + public RightCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "right"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Right.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Right.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length > 1) + return bot.Localization.clResourceManager.getText("Commands.Right.Usage"); + + if (args.Length == 0) + { + Client.Self.Movement.SendManualUpdate(AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG, Client.Self.Movement.Camera.Position, + Client.Self.Movement.Camera.AtAxis, Client.Self.Movement.Camera.LeftAxis, Client.Self.Movement.Camera.UpAxis, + Client.Self.Movement.BodyRotation, Client.Self.Movement.HeadRotation, Client.Self.Movement.Camera.Far, AgentFlags.None, + AgentState.None, true); + } + else + { + // Parse the number of seconds + int duration; + if (!Int32.TryParse(args[0], out duration)) + return bot.Localization.clResourceManager.getText("Commands.Right.Usage"); + // Convert to milliseconds + duration *= 1000; + + int start = Environment.TickCount; + + Client.Self.Movement.LeftNeg = true; + + while (Environment.TickCount - start < duration) + { + // The movement timer will do this automatically, but we do it here as an example + // and to make sure updates are being sent out fast enough + Client.Self.Movement.SendUpdate(false); + System.Threading.Thread.Sleep(100); + } + + Client.Self.Movement.LeftNeg = false; + } + + return bot.Localization.clResourceManager.getText("Commands.Right.Moved"); + } + } +} diff --git a/SLBot/bot/Commands/Movement/StandCommand.cs b/SLBot/bot/Commands/Movement/StandCommand.cs new file mode 100644 index 0000000..8354a18 --- /dev/null +++ b/SLBot/bot/Commands/Movement/StandCommand.cs @@ -0,0 +1,54 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : StandCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class StandCommand : Command + { + public StandCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "stand"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Stand.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.Self.Stand(); + return bot.Localization.clResourceManager.getText("Commands.Stand.Standing"); + } + } +} + diff --git a/SLBot/bot/Commands/Movement/TurnToCommand.cs b/SLBot/bot/Commands/Movement/TurnToCommand.cs new file mode 100644 index 0000000..6b4b36a --- /dev/null +++ b/SLBot/bot/Commands/Movement/TurnToCommand.cs @@ -0,0 +1,158 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TurnToCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class TurnToCommand : Command + { + public TurnToCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "turnto"; + base.Description = bot.Localization.clResourceManager.getText("Commands.TurnTo.Description") + " " + bot.Localization.clResourceManager.getText("Commands.TurnTo.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Vector3 newDirection; + UUID targetID = UUID.Zero; + string avatarName = ""; + double x = 0.0d; + double y = x; + double z = x; + bool isGroupKey = false; + Avatar foundAv = null; + Primitive foundPrim; + + if (args.Length == 1) + { + if (!UUID.TryParse(args[0], out targetID)) + return bot.Localization.clResourceManager.getText("Commands.TurnTo.Usage"); + } + else if (args.Length == 2) + { + avatarName = args[0] + " " + args[1]; + if (!Client.FindOneAvatar(avatarName, out targetID)) + return String.Format(bot.Localization.clResourceManager.getText("Commands.TurnTo.AvNotFound"), avatarName); + } + else if (args.Length == 3) + { + if (!Double.TryParse(args[0], out x) || + !Double.TryParse(args[1], out y) || + !Double.TryParse(args[2], out z)) + { + return bot.Localization.clResourceManager.getText("Commands.TurnTo.Usage"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.TurnTo.Usage"); + } + + if (args.Length != 3) + { + if (targetID != UUID.Zero) + { + Client.key2Name(targetID, out avatarName, out isGroupKey); + + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.TurnTo.CannotGroup"); + + if (avatarName != "") + { + foundAv = Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return (avatar.Name == avatarName); + } + ); + + if (foundAv == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.TurnTo.AvNotInSim"), avatarName); + + if (foundAv.ParentID != 0) + { + Primitive SitPrim; + + SitPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.LocalID == foundAv.ParentID; + } + ); + + if (SitPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.TurnTo.AvSit"), avatarName); + else + newDirection = SitPrim.Position; + } + else + { + newDirection = foundAv.Position; + } + } + else + { + foundPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == targetID; + } + ); + + if (foundPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.TurnTo.ObjNotInSim"), targetID); + + newDirection = foundPrim.Position; + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.TurnTo.Usage"); + } + } + else + { + newDirection.X = (float)x; + newDirection.Y = (float)y; + newDirection.Z = (float)z; + } + + Client.Self.Movement.TurnToward(newDirection); + Client.Self.Movement.SendUpdate(false); + return String.Format(bot.Localization.clResourceManager.getText("Commands.TurnTo.Turned"), newDirection.ToString()); + } + } +} diff --git a/SLBot/bot/Commands/Parcel/AllowedListCommand.cs b/SLBot/bot/Commands/Parcel/AllowedListCommand.cs new file mode 100644 index 0000000..59c17e8 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/AllowedListCommand.cs @@ -0,0 +1,95 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AllowedListCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + public class AllowedListCommand : Command + { + private AutoResetEvent AllowedListDownload = new AutoResetEvent(false); + private List AllowedList; + + public AllowedListCommand(SecondLifeBot SecondLifeBot) + { + Name = "allowed"; + Description = bot.Localization.clResourceManager.getText("Commands.AllowedList.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder sb = new StringBuilder(); + + int CurrentParcel = Client.Parcels.GetParcelLocalID(Client.Network.CurrentSim, Client.Self.SimPosition); + + Client.Parcels.ParcelAccessListReply += new EventHandler(Parcels_ParcelAccessListReply); + Client.Parcels.RequestParcelAccessList(Client.Network.CurrentSim, CurrentParcel, AccessList.Access, 0); + + if (!AllowedListDownload.WaitOne(15000, false)) + { + Client.Parcels.ParcelAccessListReply -= Parcels_ParcelAccessListReply; + AllowedListDownload.Reset(); + return bot.Localization.clResourceManager.getText("Commands.AllowedList.Timeout"); + } + else + { + Client.Parcels.ParcelAccessListReply -= Parcels_ParcelAccessListReply; + AllowedListDownload.Reset(); + } + + foreach (ParcelManager.ParcelAccessEntry entry in AllowedList) + { + string avatarName; + + if (!Client.key2Name(entry.AgentID, out avatarName)) + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AllowedList.AllowedID"), entry.AgentID).AppendLine(); + else + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.AllowedList.Allowed"), avatarName, entry.AgentID).AppendLine(); + } + + return sb.ToString(); + } + + void Parcels_ParcelAccessListReply(object sender, ParcelAccessListReplyEventArgs e) + { + AllowedList = e.AccessList; + AllowedListDownload.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/BanListCommand.cs b/SLBot/bot/Commands/Parcel/BanListCommand.cs new file mode 100644 index 0000000..60a51b8 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/BanListCommand.cs @@ -0,0 +1,95 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BanListCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + public class BanListCommand : Command + { + private AutoResetEvent BanListDownload = new AutoResetEvent(false); + private List BanList; + + public BanListCommand(SecondLifeBot SecondLifeBot) + { + Name = "banlist"; + Description = bot.Localization.clResourceManager.getText("Commands.BanList.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder sb = new StringBuilder(); + + int CurrentParcel = Client.Parcels.GetParcelLocalID(Client.Network.CurrentSim, Client.Self.SimPosition); + + Client.Parcels.ParcelAccessListReply += new EventHandler(Parcels_ParcelAccessListReply); + Client.Parcels.RequestParcelAccessList(Client.Network.CurrentSim, CurrentParcel, AccessList.Ban, 0); + + if (!BanListDownload.WaitOne(15000, false)) + { + Client.Parcels.ParcelAccessListReply -= Parcels_ParcelAccessListReply; + BanListDownload.Reset(); + return bot.Localization.clResourceManager.getText("Commands.BanList.Timeout"); + } + else + { + Client.Parcels.ParcelAccessListReply -= Parcels_ParcelAccessListReply; + BanListDownload.Reset(); + } + + foreach (ParcelManager.ParcelAccessEntry entry in BanList) + { + string avatarName; + + if (!Client.key2Name(entry.AgentID, out avatarName)) + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.BanList.BannedID"), entry.AgentID).AppendLine(); + else + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.BanList.Banned"), avatarName, entry.AgentID).AppendLine(); + } + + return sb.ToString(); + } + + void Parcels_ParcelAccessListReply(object sender, ParcelAccessListReplyEventArgs e) + { + BanList = e.AccessList; + BanListDownload.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/BanUserCommand.cs b/SLBot/bot/Commands/Parcel/BanUserCommand.cs new file mode 100644 index 0000000..aa3f8ac --- /dev/null +++ b/SLBot/bot/Commands/Parcel/BanUserCommand.cs @@ -0,0 +1,72 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BanUserCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + public class BanUserCommand : Command + { + public BanUserCommand(SecondLifeBot SecondLifeBot) + { + Name = "banuser"; + Description = bot.Localization.clResourceManager.getText("Commands.BanUser.Description") + " " + bot.Localization.clResourceManager.getText("Commands.BanUser.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID avatarID = UUID.Zero; + string avatarName; + bool isGroupKey = false; + int CurrentParcel = Client.Parcels.GetParcelLocalID(Client.Network.CurrentSim, Client.Self.SimPosition); + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.BanUser.Usage"); + if (!UUID.TryParse(args[0], out avatarID)) + return bot.Localization.clResourceManager.getText("Commands.EjectUser.ExpectedAvID"); + if (!Client.key2Name(avatarID, out avatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.EjectUser.AvNotFound"); + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.BanUser.CannotGroup"); + + Client.Parcels.EjectUser(avatarID, true); + return String.Format(bot.Localization.clResourceManager.getText("Commands.BanUser.Banning"), avatarName); + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/EjectUserCommand.cs b/SLBot/bot/Commands/Parcel/EjectUserCommand.cs new file mode 100644 index 0000000..23c5ab8 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/EjectUserCommand.cs @@ -0,0 +1,72 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : EjectUserCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + public class EjectUserCommand : Command + { + public EjectUserCommand(SecondLifeBot SecondLifeBot) + { + Name = "ejectuser"; + Description = bot.Localization.clResourceManager.getText("Commands.EjectUser.Description") + " " + bot.Localization.clResourceManager.getText("Commands.EjectUser.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID avatarID = UUID.Zero; + string avatarName; + bool isGroupKey = false; + int CurrentParcel = Client.Parcels.GetParcelLocalID(Client.Network.CurrentSim, Client.Self.SimPosition); + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.EjectUser.Usage"); + if (!UUID.TryParse(args[0], out avatarID)) + return bot.Localization.clResourceManager.getText("Commands.EjectUser.ExpectedAvID"); + if (!Client.key2Name(avatarID, out avatarName, out isGroupKey)) + return bot.Localization.clResourceManager.getText("Commands.EjectUser.AvNotFound"); + if (isGroupKey) + return bot.Localization.clResourceManager.getText("Commands.EjectUser.CannotGroup"); + + Client.Parcels.EjectUser(avatarID, false); + return String.Format(bot.Localization.clResourceManager.getText("Commands.EjectUser.Ejecting"), avatarName); + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/ParcelDetailsCommand.cs b/SLBot/bot/Commands/Parcel/ParcelDetailsCommand.cs new file mode 100644 index 0000000..2447261 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/ParcelDetailsCommand.cs @@ -0,0 +1,79 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ParcelDetailsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + + public class ParcelDetailsCommand : Command + { + public ParcelDetailsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "parceldetails"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ParcelDetails.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ParcelDetails.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.ParcelDetails.Usage"); + + int parcelID; + Parcel parcel; + + // test argument that is is a valid integer, then verify we have that parcel data stored in the dictionary + if (Int32.TryParse(args[0], out parcelID) && Client.Network.CurrentSim.Parcels.TryGetValue(parcelID, out parcel)) + { + // this request will update the parcels dictionary + Client.Parcels.RequestParcelProperties(Client.Network.CurrentSim, parcelID, 0); + + // Use reflection to dynamically get the fields from the Parcel struct + Type t = parcel.GetType(); + System.Reflection.FieldInfo[] fields = t.GetFields(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); + + StringBuilder sb = new StringBuilder(); + foreach (System.Reflection.FieldInfo field in fields) + { + sb.AppendFormat("{0} = {1}" + System.Environment.NewLine, field.Name, field.GetValue(parcel)); + } + return sb.ToString(); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ParcelDetails.NotFound"), args[0]); + } + } + } +} diff --git a/SLBot/bot/Commands/Parcel/ParcelInfoCommand.cs b/SLBot/bot/Commands/Parcel/ParcelInfoCommand.cs new file mode 100644 index 0000000..8413e33 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/ParcelInfoCommand.cs @@ -0,0 +1,98 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ParcelInfoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + public class ParcelInfoCommand : Command + { + private AutoResetEvent ParcelsDownloaded = new AutoResetEvent(false); + + public ParcelInfoCommand(SecondLifeBot SecondLifeBot) + { + Name = "parcelinfo"; + Description = bot.Localization.clResourceManager.getText("Commands.ParcelInfo.Description"); + + SecondLifeBot.Network.Disconnected += Network_OnDisconnected; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder sb = new StringBuilder(); + string result; + + EventHandler del = delegate(object sender, SimParcelsDownloadedEventArgs e) + { + ParcelsDownloaded.Set(); + }; + + ParcelsDownloaded.Reset(); + Client.Parcels.SimParcelsDownloaded += del; + Client.Parcels.RequestAllSimParcels(Client.Network.CurrentSim); + + if (Client.Network.CurrentSim.IsParcelMapFull()) + ParcelsDownloaded.Set(); + + if (ParcelsDownloaded.WaitOne(60000, false) && Client.Network.Connected) + { + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ParcelInfo.Downloaded") + System.Environment.NewLine, + Client.Network.CurrentSim.Parcels.Count, Client.Network.CurrentSim.Name); + + Client.Network.CurrentSim.Parcels.ForEach(delegate(Parcel parcel) + { + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ParcelInfo.Parcel") + System.Environment.NewLine, + parcel.LocalID, parcel.Name, parcel.Desc, parcel.AccessWhiteList.Count, parcel.Dwell); + }); + + result = sb.ToString(); + } + else + result = bot.Localization.clResourceManager.getText("Commands.ParcelInfo.Failed"); + + Client.Parcels.SimParcelsDownloaded -= del; + return result; + } + + void Network_OnDisconnected(object sender, DisconnectedEventArgs e) + { + ParcelsDownloaded.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/ParcelPrimOwnersCommand.cs b/SLBot/bot/Commands/Parcel/ParcelPrimOwnersCommand.cs new file mode 100644 index 0000000..9ff9a61 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/ParcelPrimOwnersCommand.cs @@ -0,0 +1,94 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ParcelPrimOwnersCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class ParcelPrimOwnersCommand : Command + { + public ParcelPrimOwnersCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "primowners"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ParcelPrimOwners.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ParcelPrimOwners.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.ParcelPrimOwners.Usage"); + + int parcelID; + Parcel parcel; + StringBuilder result = new StringBuilder(); + // test argument that is is a valid integer, then verify we have that parcel data stored in the dictionary + if (Int32.TryParse(args[0], out parcelID) && Client.Network.CurrentSim.Parcels.TryGetValue(parcelID, out parcel)) + { + AutoResetEvent wait = new AutoResetEvent(false); + EventHandler callback = delegate(object sender, ParcelObjectOwnersReplyEventArgs e) + { + for (int i = 0; i < e.PrimOwners.Count; i++) + { + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ParcelPrimOwners.Info") + System.Environment.NewLine, e.PrimOwners[i].OwnerID, e.PrimOwners[i].Count); + wait.Set(); + } + }; + + Client.Parcels.ParcelObjectOwnersReply += callback; + ; + + Client.Parcels.RequestObjectOwners(Client.Network.CurrentSim, parcelID); + if (!wait.WaitOne(10000, false)) + { + result.AppendLine(bot.Localization.clResourceManager.getText("Commands.ParcelPrimOwners.TimeOut")); + } + Client.Parcels.ParcelObjectOwnersReply -= callback; + + return result.ToString(); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ParcelPrimOwners.NotFound"), args[0]); + } + } + + void Parcels_OnPrimOwnersListReply(Simulator simulator, List primOwners) + { + throw new Exception(bot.Localization.clResourceManager.getText("Exception")); + } + } +} diff --git a/SLBot/bot/Commands/Parcel/ParcelSelectObjectsCommand.cs b/SLBot/bot/Commands/Parcel/ParcelSelectObjectsCommand.cs new file mode 100644 index 0000000..0eb9834 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/ParcelSelectObjectsCommand.cs @@ -0,0 +1,97 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ParcelSelectObjectsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class ParcelSelectObjectsCommand : Command + { + public ParcelSelectObjectsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "selectobjects"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ParcelSelectObjects.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ParcelSelectObjects.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + if (args.Length < 2) + return bot.Localization.clResourceManager.getText("Commands.ParcelSelectObjects.Usage"); + + int parcelID; + UUID ownerUUID; + + int counter = 0; + StringBuilder result = new StringBuilder(); + // test argument that is is a valid integer, then verify we have that parcel data stored in the dictionary + if (Int32.TryParse(args[0], out parcelID) + && UUID.TryParse(args[1], out ownerUUID)) + { + AutoResetEvent wait = new AutoResetEvent(false); + EventHandler callback = delegate(object sender, ForceSelectObjectsReplyEventArgs e) + { + //result.AppendLine("New List: " + resetList.ToString()); + for (int i = 0; i < e.ObjectIDs.Count; i++) + { + result.Append(e.ObjectIDs[i].ToString() + " "); + counter++; + } + //result.AppendLine("Got " + objectIDs.Count.ToString() + " Objects in packet"); + if (e.ObjectIDs.Count < 251) + wait.Set(); + }; + + Client.Parcels.ForceSelectObjectsReply += callback; + Client.Parcels.RequestSelectObjects(parcelID, (ObjectReturnType)16, ownerUUID); + + Client.Parcels.RequestObjectOwners(Client.Network.CurrentSim, parcelID); + if (!wait.WaitOne(30000, false)) + { + result.AppendLine(bot.Localization.clResourceManager.getText("Commands.ParcelSelectObjects.Timeout")); + } + + Client.Parcels.ForceSelectObjectsReply -= callback; + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ParcelSelectObjects.Found"), counter); + return result.ToString(); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ParcelSelectObjects.NotFound"), args[0]); + } + } + } +} diff --git a/SLBot/bot/Commands/Parcel/PrimCountCommand.cs b/SLBot/bot/Commands/Parcel/PrimCountCommand.cs new file mode 100644 index 0000000..750ccd7 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/PrimCountCommand.cs @@ -0,0 +1,70 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : PrimCountCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class PrimCountCommand : Command + { + public PrimCountCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "primcount"; + base.Description = bot.Localization.clResourceManager.getText("Commands.PrimCount.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + int count = 0; + + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + int avcount = Client.Network.Simulators[i].ObjectsAvatars.Count; + int primcount = Client.Network.Simulators[i].ObjectsPrimitives.Count; + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.PrimCount.Detail"), + Client.Network.Simulators[i].Name, avcount, primcount); + + count += avcount; + count += primcount; + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.PrimCount.Total"), count); + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/SearchBuildableCommand.cs b/SLBot/bot/Commands/Parcel/SearchBuildableCommand.cs new file mode 100644 index 0000000..eff0442 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/SearchBuildableCommand.cs @@ -0,0 +1,100 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchBuildableCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +/* + +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Threading; + using System.Collections.Generic; + + internal class SearchBuildableCommand : Command + { + private AutoResetEvent ParcelsDownloaded = new AutoResetEvent(false); + private int ParcelCount = 0; + + public SearchBuildableCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "searchbuildable"; + base.Description = bot.Localization.clResourceManager.getText("Commands.SearchBuildable.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SearchBuildable.Usage"); + + SecondLifeBot.Network.Disconnected += new EventHandler Network_OnDisconnected; + } + + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + String result = ""; + + ParcelManager.SimParcelsDownloaded del = delegate(Simulator simulator, InternalDictionary simParcels, int[,] parcelMap) + { + + ParcelCount = simParcels.Count; + + simParcels.ForEach(delegate(Parcel parcel) + { + if(parcel.Flags == ParcelFlags.CreateObjects) + { + base.Client.sendIRCMessage(String.Format( + bot.Localization.clResourceManager.getText("Commands.SearchBuildable.Found"), + parcel.Name, + simulator.Name + )); + } + }); + ParcelsDownloaded.Set(); + + }; + + ParcelsDownloaded.Reset(); + Client.Parcels.OnSimParcelsDownloaded += del; + Client.Parcels.RequestAllSimParcels(Client.Network.CurrentSim); + + if (ParcelsDownloaded.WaitOne(20000, false) && Client.Network.Connected) + result = bot.Localization.clResourceManager.getText("Commands.SearchBuildable.Ready"); + else + result = bot.Localization.clResourceManager.getText("Commands.SearchBuildable.Failed"); + + Client.Parcels.OnSimParcelsDownloaded -= del; + return result; + } + + void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message) + { + ParcelsDownloaded.Set(); + } + } +} +*/ \ No newline at end of file diff --git a/SLBot/bot/Commands/Parcel/TreeCommand.cs b/SLBot/bot/Commands/Parcel/TreeCommand.cs new file mode 100644 index 0000000..93c1665 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/TreeCommand.cs @@ -0,0 +1,81 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TreeCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class TreeCommand : Command + { + public TreeCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "tree"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Tree.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 1) + { + try + { + string treeName = args[0].Trim(new char[] { ' ' }); + Tree tree = (Tree)Enum.Parse(typeof(Tree), treeName); + + Vector3 treePosition = Client.Self.SimPosition; + treePosition.Z += 3.0f; + + Client.Objects.AddTree(Client.Network.CurrentSim, new Vector3(0.5f, 0.5f, 0.5f), + Quaternion.Identity, treePosition, tree, Client.GroupID, false); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Tree.Rezzed"), treeName); + } + catch (Exception) + { + return bot.Localization.clResourceManager.getText("Commands.Tree.Help"); + } + } + + string usage = bot.Localization.clResourceManager.getText("Commands.Tree.Usage") + " ["; + foreach (string value in Enum.GetNames(typeof(Tree))) + { + usage += value + ","; + } + usage = usage.TrimEnd(new char[] { ',' }); + usage += "]"; + return usage; + } + } +} + diff --git a/SLBot/bot/Commands/Parcel/WindCommand.cs b/SLBot/bot/Commands/Parcel/WindCommand.cs new file mode 100644 index 0000000..972e180 --- /dev/null +++ b/SLBot/bot/Commands/Parcel/WindCommand.cs @@ -0,0 +1,62 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : WindCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using System; + using System.Collections.Generic; + using OpenMetaverse; + using OpenMetaverse.Packets; + using bot; + + class WindCommand : Command + { + public WindCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "wind"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Wind.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + // Get the agent's current "patch" position, where each patch of + // wind data is a 16x16m square + Vector3 agentPos = Client.Self.SimPosition; + int xPos = (int)Utils.Clamp(agentPos.X, 0.0f, 255.0f) / 16; + int yPos = (int)Utils.Clamp(agentPos.Y, 0.0f, 255.0f) / 16; + + Vector2 windSpeed = Client.Terrain.WindSpeeds[Client.Network.CurrentSim.Handle][yPos * 16 + xPos]; + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Wind.Speed"), windSpeed.ToString()); + } + } +} diff --git a/SLBot/bot/Commands/Prims/BuyCommand.cs b/SLBot/bot/Commands/Prims/BuyCommand.cs new file mode 100644 index 0000000..bd52db8 --- /dev/null +++ b/SLBot/bot/Commands/Prims/BuyCommand.cs @@ -0,0 +1,87 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : BuyCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Threading; + + public class BuyCommand : Command + { + private ManualResetEvent ObjectPropertiesEvent = new ManualResetEvent(false); + + public BuyCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "buy"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Buy.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Buy.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID target; + ObjectPropertiesEvent = new ManualResetEvent(false); + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Buy.Usage"); + + if (UUID.TryParse(args[0], out target)) + { + Primitive targetPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == target; + } + ); + + if (targetPrim != null) + { + Client.Objects.ObjectProperties += new EventHandler(Objects_OnObjectProperties); + Client.Objects.RequestObject(Client.Network.CurrentSim, targetPrim.LocalID); + ObjectPropertiesEvent.WaitOne(10000, false); + Client.Objects.ObjectProperties -= Objects_OnObjectProperties; + Client.Objects.BuyObject(Client.Network.CurrentSim, targetPrim.LocalID, targetPrim.Properties.SaleType, targetPrim.Properties.SalePrice, Client.GroupID, Client.Inventory.FindFolderForType(AssetType.RootFolder)); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Buy.Bought"), targetPrim.Properties.Name); + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Buy.NotFound"), args[0]); + } + + void Objects_OnObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + ObjectPropertiesEvent.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Prims/ChangePermsCommand.cs b/SLBot/bot/Commands/Prims/ChangePermsCommand.cs new file mode 100644 index 0000000..ecebf79 --- /dev/null +++ b/SLBot/bot/Commands/Prims/ChangePermsCommand.cs @@ -0,0 +1,211 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ChangePermsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + + public class ChangePermsCommand : Command + { + AutoResetEvent GotPermissionsEvent = new AutoResetEvent(false); + UUID SelectedObject = UUID.Zero; + Dictionary Objects = new Dictionary(); + PermissionMask Perms = PermissionMask.None; + bool PermsSent = false; + int PermCount = 0; + + public ChangePermsCommand(SecondLifeBot SecondLifeBot) + { + SecondLifeBot.Objects.ObjectProperties += new EventHandler(Objects_OnObjectProperties); + base.Name = "changeperms"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ChangePerms.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ChangePerms.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID rootID; + Primitive rootPrim; + List childPrims; + List localIDs = new List(); + + // Reset class-wide variables + PermsSent = false; + Objects.Clear(); + Perms = PermissionMask.None; + PermCount = 0; + + if (args.Length < 1 || args.Length > 4) + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.Usage"); + + if (!UUID.TryParse(args[0], out rootID)) + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.Usage"); + + for (int i = 1; i < args.Length; i++) + { + switch (args[i].ToLower()) + { + case "copy": + Perms |= PermissionMask.Copy; + break; + case "mod": + Perms |= PermissionMask.Modify; + break; + case "xfer": + Perms |= PermissionMask.Transfer; + break; + default: + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.Usage"); + } + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.ChangePerms.Permisson"), Perms.ToString()); + + // Find the requested prim + rootPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find(delegate(Primitive prim) + { + return prim.ID == rootID; + }); + if (rootPrim == null) + return String.Format(bot.Localization.clResourceManager.getText("Commands.ChangePerms.NotFound"), rootID.ToString()); + else + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.ChangePerms.Found"), rootPrim.ID.ToString()); + + if (rootPrim.ParentID != 0) + { + // This is not actually a root prim, find the root + if (!Client.Network.CurrentSim.ObjectsPrimitives.TryGetValue(rootPrim.ParentID, out rootPrim)) + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.RootNotFound"); + else + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.ChangePerms.Root"), rootPrim.ID.ToString()); + } + + // Find all of the child objects linked to this root + childPrims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll(delegate(Primitive prim) + { + return prim.ParentID == rootPrim.LocalID; + }); + + // Build a dictionary of primitives for referencing later + Objects[rootPrim.ID] = rootPrim; + for (int i = 0; i < childPrims.Count; i++) + Objects[childPrims[i].ID] = childPrims[i]; + + // Build a list of all the localIDs to set permissions for + localIDs.Add(rootPrim.LocalID); + for (int i = 0; i < childPrims.Count; i++) + localIDs.Add(childPrims[i].LocalID); + + // Go through each of the three main permissions and enable or disable them + #region Set Linkset Permissions + + PermCount = 0; + if ((Perms & PermissionMask.Modify) == PermissionMask.Modify) + Client.Objects.SetPermissions(Client.Network.CurrentSim, localIDs, PermissionWho.NextOwner, PermissionMask.Modify, true); + else + Client.Objects.SetPermissions(Client.Network.CurrentSim, localIDs, PermissionWho.NextOwner, PermissionMask.Modify, false); + PermsSent = true; + + if (!GotPermissionsEvent.WaitOne(1000 * 30, false)) + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.ModFail"); + + PermCount = 0; + if ((Perms & PermissionMask.Copy) == PermissionMask.Copy) + Client.Objects.SetPermissions(Client.Network.CurrentSim, localIDs, PermissionWho.NextOwner, PermissionMask.Copy, true); + else + Client.Objects.SetPermissions(Client.Network.CurrentSim, localIDs, PermissionWho.NextOwner, PermissionMask.Copy, false); + PermsSent = true; + + if (!GotPermissionsEvent.WaitOne(1000 * 30, false)) + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.CopyFail"); + + PermCount = 0; + if ((Perms & PermissionMask.Transfer) == PermissionMask.Transfer) + Client.Objects.SetPermissions(Client.Network.CurrentSim, localIDs, PermissionWho.NextOwner, PermissionMask.Transfer, true); + else + Client.Objects.SetPermissions(Client.Network.CurrentSim, localIDs, PermissionWho.NextOwner, PermissionMask.Transfer, false); + PermsSent = true; + + if (!GotPermissionsEvent.WaitOne(1000 * 30, false)) + return bot.Localization.clResourceManager.getText("Commands.ChangePerms.XferFail"); + + #endregion Set Linkset Permissions + + // Check each prim for task inventory and set permissions on the task inventory + int taskItems = 0; + foreach (Primitive prim in Objects.Values) + { + if ((prim.Flags & PrimFlags.InventoryEmpty) == 0) + { + List items = Client.Inventory.GetTaskInventory(prim.ID, prim.LocalID, 1000 * 30); + + if (items != null) + { + for (int i = 0; i < items.Count; i++) + { + if (!(items[i] is InventoryFolder)) + { + InventoryItem item = (InventoryItem)items[i]; + item.Permissions.NextOwnerMask = Perms; + + Client.Inventory.UpdateTaskInventory(prim.LocalID, item); + ++taskItems; + } + } + } + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.ChangePerms.Done"), Perms.ToString(), localIDs.Count, + taskItems); + } + + void Objects_OnObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + if (PermsSent) + { + if (Objects.ContainsKey(e.Properties.ObjectID)) + { + // FIXME: Confirm the current operation against properties.Permissions.NextOwnerMask + + ++PermCount; + if (PermCount >= Objects.Count) + GotPermissionsEvent.Set(); + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/DumpAttachmentCommand.cs b/SLBot/bot/Commands/Prims/DumpAttachmentCommand.cs new file mode 100644 index 0000000..d997619 --- /dev/null +++ b/SLBot/bot/Commands/Prims/DumpAttachmentCommand.cs @@ -0,0 +1,658 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DumpAttachmentCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Text; + using System.Collections.Generic; + using System.IO; + using System.Threading; + using OpenMetaverse.StructuredData; + using OpenMetaverse.Assets; + + public class DumpAttachmentCommand : Command + { + List Textures = new List(); + AutoResetEvent GotPermissionsEvent = new AutoResetEvent(false); + Primitive.ObjectProperties Properties; + bool GotPermissions = false; + UUID SelectedObject = UUID.Zero; + Dictionary PrimsWaiting = new Dictionary(); + AutoResetEvent AllPropertiesReceived = new AutoResetEvent(false); + private string DestinationDirectory = null; + + public DumpAttachmentCommand(SecondLifeBot SecondLifeBot) + { + SecondLifeBot.Objects.ObjectPropertiesFamily += new EventHandler(Objects_OnObjectPropertiesFamily); + SecondLifeBot.Objects.ObjectProperties += new EventHandler(Objects_OnObjectProperties); + SecondLifeBot.Avatars.ViewerEffectPointAt += new EventHandler(Avatars_ViewerEffectPointAt); + + base.Client = SecondLifeBot; + base.Name = "dumpattachment"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder builder = new StringBuilder(); + + if (args.Length < 2) + { + return bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Usage"); + } + + switch (args[1]) + { + // Chest + case "Chest": + break; + // Skull + case "Skull": + break; + // Left shoulder + case "LeftShoulder": + break; + // Right shoulder + case "RightShoulder": + break; + // Left hand + case "LeftHand": + break; + // Right hand + case "RightHand": + break; + // Left foot + case "LeftFoot": + break; + // Right foot + case "RightFoot": + break; + // Spine + case "Spine": + break; + // Pelvis + case "Pelvis": + break; + // Mouth + case "Mouth": + break; + // Chin + case "Chin": + break; + // Left ear + case "LeftEar": + break; + // Right ear + case "RightEar": + break; + // Left eyeball + case "LeftEyeball": + break; + // Right eyeball + case "RightEyeball": + break; + // Nose + case "Nose": + break; + // Right upper arm + case "RightUpperArm": + break; + // Right forearm + case "RightForearm": + break; + // Left upper arm + case "LeftUpperArm": + break; + // Left forearm + case "LeftForearm": + break; + // Right hip + case "RightHip": + break; + // Right upper leg + case "RightUpperLeg": + break; + // Right lower leg + case "RightLowerLeg": + break; + // Left hip + case "LeftHip": + break; + // Left upper leg + case "LeftUpperLeg": + break; + // Left lower leg + case "LeftLowerLeg": + break; + // Stomach + case "Stomach": + break; + // Left pectoral + case "LeftPec": + break; + // Right pectoral + case "RightPec": + break; + // Emerald viewer extra attachment points + // Chest 2 + case "Chest2": + break; + // Skull 2 + case "Skull2": + break; + // Left shoulder 2 + case "LeftShoulder2": + break; + // Right shoulder 2 + case "RightShoulder2": + break; + // Left hand 2 + case "LeftHand2": + break; + // Right hand 2 + case "RightHand2": + break; + // Left foot 2 + case "LeftFoot2": + break; + // Right foot 2 + case "RightFoot2": + break; + // Spine 2 + case "Spine2": + break; + // Pelvis 2 + case "Pelvis2": + break; + // Mouth 2 + case "Mouth2": + break; + // Chin 2 + case "Chin2": + break; + // Left ear 2 + case "LeftEar2": + break; + // Right ear 2 + case "RightEar2": + break; + // Left eyeball 2 + case "LeftEyeball2": + break; + // Right eyeball 2 + case "RightEyeball2": + break; + // Nose 2 + case "Nose2": + break; + // Right upper arm 2 + case "RightUpperArm2": + break; + // Right forearm 2 + case "RightForearm2": + break; + // Left upper arm 2 + case "LeftUpperArm2": + break; + // Left forearm 2 + case "LeftForearm2": + break; + // Right hip 2 + case "RightHip2": + break; + // Right upper leg 2 + case "RightUpperLeg2": + break; + // Right lower leg 2 + case "RightLowerLeg2": + break; + // Left hip 2 + case "LeftHip2": + break; + // Left upper leg 2 + case "LeftUpperLeg2": + break; + // Left lower leg 2 + case "LeftLowerLeg2": + break; + // Stomach 2 + case "Stomach2": + break; + // Left pectoral 2 + case "LeftPec2": + break; + // Right pectoral 2 + case "RightPec2": + break; + // Left Knee + case "LeftKnee": + break; + // Right Knee + case "RightKnee": + break; + // Bridge + case "Bridge": + break; + default: + return bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Invalid"); + } + + Avatar av = base.Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar a) + { + return a.ID.Equals((UUID)args[0]); + } + ); + + Program.NBStats.AddStatData(String.Format("{0}: {1} dumping attachment {2} of {3}.", DateTime.Now.ToString(), Client, args[1], args[0])); + + List list = base.Client.Network.CurrentSim.ObjectsPrimitives.FindAll(delegate(Primitive prim) + { + return prim.ParentID == av.LocalID; + }); + + for (int i = 0; i < list.Count; i++) + { + Primitive primitive = list[i]; + NBAttachmentPoint point = StateToAttachmentPoint(primitive.PrimData.State); + + if (point.ToString() == args[1]) + { + bool result; + + if (args[1] == "false") + { + result = ExportAttachment(primitive.ID, primitive.LocalID, point.ToString(), (UUID)args[0], false); + } + else + { + result = ExportAttachment(primitive.ID, primitive.LocalID, point.ToString(), (UUID)args[0], true); + } + + if (result) + { + builder.AppendLine(string.Format(bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Success"), new object[] { point })); + } + else + { + builder.AppendLine(string.Format(bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Fail"), new object[] { point })); + } + } + } + + DestinationDirectory = null; + + //builder.AppendLine("Exportados " + list.Count + " objetos"); + return builder.ToString(); + } + + public string CreateFileName(string AttachmentPointName, string PrimName) + { + string corrected_PrimName; + string FinalName; + + if (PrimName == "") + corrected_PrimName = "Object"; + else + corrected_PrimName = PrimName; + + corrected_PrimName = corrected_PrimName.Replace(" ", "_"); + corrected_PrimName = corrected_PrimName.Replace(":", ";"); + corrected_PrimName = corrected_PrimName.Replace("*", "+"); + corrected_PrimName = corrected_PrimName.Replace("|", "I"); + corrected_PrimName = corrected_PrimName.Replace("\\", "["); + corrected_PrimName = corrected_PrimName.Replace("/", "]"); + corrected_PrimName = corrected_PrimName.Replace("?", "¿"); + corrected_PrimName = corrected_PrimName.Replace(">", "}"); + corrected_PrimName = corrected_PrimName.Replace("<", "{"); + corrected_PrimName = corrected_PrimName.Replace("\"", "'"); + corrected_PrimName = corrected_PrimName.Replace("\n", " "); + + FinalName = corrected_PrimName + " (" + AttachmentPointName + ").xml"; + + return FinalName; + } + + private void Assets_OnImageReceived(TextureRequestState state, AssetTexture asset) + { + string TextureDestination; + + if (DestinationDirectory == null) + TextureDestination = "attachments/Textures/"; + else + TextureDestination = DestinationDirectory + "Textures/"; + + if (!Directory.Exists(TextureDestination)) + Directory.CreateDirectory(TextureDestination); + + if (state == TextureRequestState.Finished && Textures.Contains(asset.AssetID)) + { + lock (Textures) + Textures.Remove(asset.AssetID); + + if (state == TextureRequestState.Finished) + { + try + { + File.WriteAllBytes(TextureDestination + asset.AssetID + ".jp2", asset.AssetData); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client); + } + + if (asset.Decode()) + { + try + { + File.WriteAllBytes(TextureDestination + asset.AssetID + ".tga", asset.Image.ExportTGA()); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client); + } + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDecode"), asset.AssetID); + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.ImageDownloaded"), asset.AssetID); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDownload"), asset.AssetID, state); + } + } + } + + void Avatars_ViewerEffectPointAt(object sender, ViewerEffectPointAtEventArgs e) + { + if (e.SourceID == Client.MasterKey) + { + //Client.DebugLog("Master is now selecting " + targetID.ToString()); + SelectedObject = e.TargetID; + } + } + + public static NBAttachmentPoint StateToAttachmentPoint(uint state) + { + const uint ATTACHMENT_MASK = 0xF0; + uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); + return (NBAttachmentPoint)fixedState; + } + + private static bool CompareLocalIDs(uint id, uint SearchedID) + { + if (id == SearchedID) + { + return true; + } + else + { + return false; + } + } + + private bool ExportAttachment(UUID ObjectUUID, uint LocalID, string AttachmentPosition, UUID AvatarID, bool DumpImages) + { + Predicate match = null; + UUID id; + + //UUID.TryParse(ObjectUUID, out id); + id = ObjectUUID; + + Primitive primitive = base.Client.Network.CurrentSim.ObjectsPrimitives.Find(delegate(Primitive prim) + { + return prim.ID == id; + }); + if (primitive != null) + { + uint localid = LocalID; + base.Client.Objects.SelectObject(base.Client.Network.CurrentSim, LocalID); + base.Client.Objects.RequestObjectPropertiesFamily(base.Client.Network.CurrentSim, id); + this.GotPermissionsEvent.WaitOne(0x2710, false); +#if !DEBUG + if (!GotPermissions) + { + //return "Couldn't fetch permissions for the requested object, try again"; + } + else + { + GotPermissions = false; + if (Properties.OwnerID != Client.Self.AgentID && + Properties.OwnerID != Client.MasterKey || Properties.Permissions.EveryoneMask != PermissionMask.All) + { + return false; + } + } +#endif + this.GotPermissions = false; + if (match == null) + { + match = delegate(Primitive prim) + { + if (prim.LocalID != localid) + { + return prim.ParentID == localid; + } + return true; + }; + } + List objects = base.Client.Network.CurrentSim.ObjectsPrimitives.FindAll(match); + List objects2 = new List(); + + bool complete = RequestObjectProperties(objects2, 250); + + if (!complete) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.DumpAttachment.NotProperties")); + foreach (UUID uuid in PrimsWaiting.Keys) + bot.Console.WriteLine(uuid.ToString()); + } + + List ObjectsIDs = new List(); + + for (int j = 0; j < objects.Count; j++) + { + ObjectsIDs.Add(objects[j].LocalID); + } + + for (int j = 0; j < objects.Count; j++) + { + base.Client.Objects.SelectObject(base.Client.Network.CurrentSim, objects[j].LocalID); + } + + for (int j = 0; j < objects.Count; j++) + { + Primitive IntermediatePrimitive; + + IntermediatePrimitive = objects[j]; + + if (ObjectsIDs.FindIndex(delegate(uint lid) + { + return lid == IntermediatePrimitive.ParentID; + }) == -1) + { + IntermediatePrimitive.ParentID = 0; + } + + objects2.Add(IntermediatePrimitive); + } + + for (int j = 0; j < objects.Count; j++) + { + base.Client.Objects.DeselectObject(base.Client.Network.CurrentSim, objects[j].LocalID); + } + + string output = OSDParser.SerializeLLSDXmlString(Helpers.PrimListToOSD(objects2)); + try + { + string AvatarName; + + if (DestinationDirectory == null) + { + if (!this.Client.key2Name(AvatarID, out AvatarName)) + AvatarName = AvatarID.ToString(); + + DestinationDirectory = "./attachments/" + AvatarName + "_" + + System.DateTime.Now.Year.ToString() + + System.DateTime.Now.Month.ToString() + + System.DateTime.Now.Day.ToString() + + System.DateTime.Now.Hour.ToString() + + //System.DateTime.Now.Minute.ToString() + + //System.DateTime.Now.Second.ToString() + + "/"; + } + + string RealFileName; + + if (objects[0].Properties != null) + RealFileName = CreateFileName(AttachmentPosition, objects[0].Properties.Name); + else + RealFileName = CreateFileName(AttachmentPosition, "Object"); + + if (!Directory.Exists(DestinationDirectory)) + Directory.CreateDirectory(DestinationDirectory); + File.WriteAllText(DestinationDirectory + RealFileName, output); + } + catch (Exception e) + { + base.Client.Objects.DeselectObject(base.Client.Network.CurrentSim, LocalID); + bot.Console.WriteLine(e.Message); + return false; + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.DumpAttachment.Exported"), objects2.Count, DestinationDirectory, AttachmentPosition); + + // Create a list of all of the textures to download + List textureRequests = new List(); + + if (DumpImages == true) + { + lock (Textures) + { + for (int i = 0; i < objects2.Count; i++) + { + Primitive prim = objects2[i]; + + if (prim.Textures.DefaultTexture.TextureID != Primitive.TextureEntry.WHITE_TEXTURE && + !Textures.Contains(prim.Textures.DefaultTexture.TextureID)) + { + Textures.Add(prim.Textures.DefaultTexture.TextureID); + } + + for (int j = 0; j < prim.Textures.FaceTextures.Length; j++) + { + if (prim.Textures.FaceTextures[j] != null && + prim.Textures.FaceTextures[j].TextureID != Primitive.TextureEntry.WHITE_TEXTURE && + !Textures.Contains(prim.Textures.FaceTextures[j].TextureID)) + { + Textures.Add(prim.Textures.FaceTextures[j].TextureID); + } + } + + if (prim.Sculpt != null) + { + if (prim.Sculpt.SculptTexture != UUID.Zero && !Textures.Contains(prim.Sculpt.SculptTexture)) + { + Textures.Add(prim.Sculpt.SculptTexture); + } + } + } + + // Create a request list from all of the images + for (int i = 0; i < Textures.Count; i++) + textureRequests.Add(new ImageRequest(Textures[i], ImageType.Normal, 1013000.0f, 0)); + } + + // Download all of the textures in the export list + foreach (ImageRequest request in textureRequests) + { + base.Client.Assets.RequestImage(request.ImageID, request.Type, Assets_OnImageReceived); + } + + } + + base.Client.Objects.DeselectObject(base.Client.Network.CurrentSim, LocalID); + return true; + //return ("XML exported, began downloading " + this.Textures.Count + " textures"); + } + //return string.Concat(new object[] { "Couldn't find UUID ", id.ToString(), " in the ", base.Client.Network.CurrentSim.ObjectsPrimitives.Count, "objects currently indexed in the current simulator" }); + return false; + } + + void Objects_OnObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e) + { + Properties = new Primitive.ObjectProperties(); + Properties.SetFamilyProperties(e.Properties); + GotPermissions = true; + GotPermissionsEvent.Set(); + } + + void Objects_OnObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + lock (PrimsWaiting) + { + PrimsWaiting.Remove(e.Properties.ObjectID); + + if (PrimsWaiting.Count == 0) + AllPropertiesReceived.Set(); + } + } + + private bool RequestObjectProperties(List objects, int msPerRequest) + { + // Create an array of the local IDs of all the prims we are requesting properties for + uint[] localids = new uint[objects.Count]; + + lock (PrimsWaiting) + { + PrimsWaiting.Clear(); + + for (int i = 0; i < objects.Count; ++i) + { + localids[i] = objects[i].LocalID; + PrimsWaiting.Add(objects[i].ID, objects[i]); + } + } + + Client.Objects.SelectObjects(Client.Network.CurrentSim, localids); + + return AllPropertiesReceived.WaitOne(2000 + msPerRequest * objects.Count, false); + } + } +} diff --git a/SLBot/bot/Commands/Prims/DumpAttachmentsCommand.cs b/SLBot/bot/Commands/Prims/DumpAttachmentsCommand.cs new file mode 100644 index 0000000..6789d33 --- /dev/null +++ b/SLBot/bot/Commands/Prims/DumpAttachmentsCommand.cs @@ -0,0 +1,101 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DumpAttachmentsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Utilities; + using System; + using System.Text; + using System.Collections.Generic; + using System.IO; + using System.Threading; + using OpenMetaverse.StructuredData; + + public class DumpAttachmentsCommand : Command + { + private Object thisLock = new Object(); + + public DumpAttachmentsCommand(SecondLifeBot SecondLifeBot) + { + base.Client = SecondLifeBot; + base.Name = "dumpattachments"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DumpAttachments.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DumpAttachments.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.DumpAttachments.Usage"); + } + + Avatar av = base.Client.Network.CurrentSim.ObjectsAvatars.Find( + delegate(Avatar a) + { + return a.ID.Equals((UUID)args[0]); + } + ); + + List list = base.Client.Network.CurrentSim.ObjectsPrimitives.FindAll(delegate(Primitive prim) + { + return prim.ParentID == av.LocalID; + }); + + Program.NBStats.AddStatData(String.Format("{0}: {1} dumping all attachments of {2}.", DateTime.Now.ToString(), Client, args[0])); + + for (int i = 0; i < list.Count; i++) + { + lock (thisLock) + { + string cmd; + + Primitive primitive = list[i]; + NBAttachmentPoint point = StateToAttachmentPoint(primitive.PrimData.State); + + cmd = "dumpattachment " + args[0] + " " + point.ToString()/* + " false"*/; + + this.Client.DoCommand(cmd, fromAgentID, fromSL); + } + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.DumpAttachments.Done"), list.Count); + } + + public static NBAttachmentPoint StateToAttachmentPoint(uint state) + { + const uint ATTACHMENT_MASK = 0xF0; + uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); + return (NBAttachmentPoint)fixedState; + } + } +} diff --git a/SLBot/bot/Commands/Prims/ExportCommand.cs b/SLBot/bot/Commands/Prims/ExportCommand.cs new file mode 100644 index 0000000..c6ca8fa --- /dev/null +++ b/SLBot/bot/Commands/Prims/ExportCommand.cs @@ -0,0 +1,314 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ExportCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.StructuredData; + using System; + using System.Collections.Generic; + using System.IO; + using System.Threading; + using OpenMetaverse.Assets; + + public class ExportCommand : Command + { + List Textures = new List(); + AutoResetEvent GotPermissionsEvent = new AutoResetEvent(false); + Primitive.ObjectProperties Properties; + bool GotPermissions = false; + UUID SelectedObject = UUID.Zero; + + Dictionary PrimsWaiting = new Dictionary(); + AutoResetEvent AllPropertiesReceived = new AutoResetEvent(false); + + public ExportCommand(SecondLifeBot SecondLifeBot) + { + SecondLifeBot.Objects.ObjectPropertiesFamily += new EventHandler(Objects_OnObjectPropertiesFamily); + SecondLifeBot.Objects.ObjectProperties += new EventHandler(Objects_OnObjectProperties); + SecondLifeBot.Avatars.ViewerEffectPointAt += new EventHandler(Avatars_ViewerEffectPointAt); + base.Name = "export"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Export.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Export.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 2 && !(args.Length == 1 && SelectedObject != UUID.Zero)) + return bot.Localization.clResourceManager.getText("Commands.Export.Usage"); + + UUID id; + uint localid; + string file; + + if (args.Length == 2) + { + file = args[1]; + if (!UUID.TryParse(args[0], out id)) + return bot.Localization.clResourceManager.getText("Commands.Export.Usage"); + } + else + { + file = args[0]; + id = SelectedObject; + } + + Primitive exportPrim; + + exportPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == id; + } + ); + + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting object {2} on sim {3}.", DateTime.Now.ToString(), Client, id, Client.Network.CurrentSim.Name)); + + if (exportPrim != null) + { + if (exportPrim.ParentID != 0) + localid = exportPrim.ParentID; + else + localid = exportPrim.LocalID; + + // Check for export permission first + Client.Objects.SelectObject(Client.Network.CurrentSim, localid); + Client.Objects.RequestObjectPropertiesFamily(Client.Network.CurrentSim, id); + GotPermissionsEvent.WaitOne(1000 * 10, false); + +#if !DEBUG + if (!GotPermissions) + { + //return "Couldn't fetch permissions for the requested object, try again"; + } + else + { + GotPermissions = false; + if (Properties.OwnerID != Client.Self.AgentID && + Properties.OwnerID != Client.MasterKey || Properties.Permissions.EveryoneMask != PermissionMask.All) + { + return bot.Localization.clResourceManager.getText("NoPermissions"); + } + } +#endif + + List prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) + { + return (prim.LocalID == localid || prim.ParentID == localid); + } + ); + + bool complete = RequestObjectProperties(prims, 250); + + if (!complete) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Export.NotProperties")); + //foreach (UUID uuid in PrimsWaiting.Keys) + // bot.Console.WriteLine(uuid.ToString()); + } + + string output = OSDParser.SerializeLLSDXmlString(Helpers.PrimListToOSD(prims)); + + if (Directory.Exists("objects/") == false) + { + Directory.CreateDirectory("objects/"); + } + + try + { + File.WriteAllText("objects/" + file, output); + } + catch (Exception e) + { + return e.Message; + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Export.Exported"), prims.Count, file); + + // Create a list of all of the textures to download + List textureRequests = new List(); + + lock (Textures) + { + for (int i = 0; i < prims.Count; i++) + { + Primitive prim = prims[i]; + + if (prim.Textures != null) + { + if (prim.Textures.DefaultTexture != null) //WTF + { + if (prim.Textures.DefaultTexture.TextureID != Primitive.TextureEntry.WHITE_TEXTURE && + !Textures.Contains(prim.Textures.DefaultTexture.TextureID)) + { + Textures.Add(prim.Textures.DefaultTexture.TextureID); + } + } + + for (int j = 0; j < prim.Textures.FaceTextures.Length; j++) + { + if (prim.Textures.FaceTextures[j] != null && + prim.Textures.FaceTextures[j].TextureID != Primitive.TextureEntry.WHITE_TEXTURE && + !Textures.Contains(prim.Textures.FaceTextures[j].TextureID)) + { + Textures.Add(prim.Textures.FaceTextures[j].TextureID); + } + } + } + + if (prim.Sculpt != null && prim.Sculpt.SculptTexture != UUID.Zero && !Textures.Contains(prim.Sculpt.SculptTexture)) + { + Textures.Add(prim.Sculpt.SculptTexture); + } + } + + // Create a request list from all of the images + for (int i = 0; i < Textures.Count; i++) + textureRequests.Add(new ImageRequest(Textures[i], ImageType.Normal, 1013000.0f, 0)); + } + + // Download all of the textures in the export list + foreach (ImageRequest request in textureRequests) + { + Client.Assets.RequestImage(request.ImageID, request.Type, Assets_OnImageReceived); + } + + Client.Objects.DeselectObject(base.Client.Network.CurrentSim, localid); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Export.Downloading"), Textures.Count); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Export.NotFound"), id.ToString(), + Client.Network.CurrentSim.ObjectsPrimitives.Count); + } + } + + private bool RequestObjectProperties(List objects, int msPerRequest) + { + // Create an array of the local IDs of all the prims we are requesting properties for + uint[] localids = new uint[objects.Count]; + + lock (PrimsWaiting) + { + PrimsWaiting.Clear(); + + for (int i = 0; i < objects.Count; ++i) + { + localids[i] = objects[i].LocalID; + PrimsWaiting.Add(objects[i].ID, objects[i]); + } + } + + Client.Objects.SelectObjects(Client.Network.CurrentSim, localids); + + return AllPropertiesReceived.WaitOne(2000 + msPerRequest * objects.Count, false); + } + + private void Assets_OnImageReceived(TextureRequestState state, AssetTexture asset) + { + if (Directory.Exists("textures/") == false) + { + Directory.CreateDirectory("textures/"); + } + + if (state == TextureRequestState.Finished && Textures.Contains(asset.AssetID)) + { + lock (Textures) + Textures.Remove(asset.AssetID); + + if (state == TextureRequestState.Finished) + { + try + { + File.WriteAllBytes("textures/" + asset.AssetID + ".jp2", asset.AssetData); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + + if (asset.Decode()) + { + try + { + File.WriteAllBytes("textures/" + asset.AssetID + ".tga", asset.Image.ExportTGA()); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDecode"), asset.AssetID); + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.ImageDownloaded"), asset.AssetID); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDownload"), asset.AssetID, state); + } + } + } + + void Avatars_ViewerEffectPointAt(object sender, ViewerEffectPointAtEventArgs e) + { + if (e.SourceID == Client.MasterKey) + { + //Client.DebugLog("Master is now selecting " + targetID.ToString()); + SelectedObject = e.TargetID; + } + } + + void Objects_OnObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e) + { + Properties = new Primitive.ObjectProperties(); + Properties.SetFamilyProperties(e.Properties); + GotPermissions = true; + GotPermissionsEvent.Set(); + } + + void Objects_OnObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + lock (PrimsWaiting) + { + PrimsWaiting.Remove(e.Properties.ObjectID); + + if (PrimsWaiting.Count == 0) + AllPropertiesReceived.Set(); + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/ExportParticlesCommand.cs b/SLBot/bot/Commands/Prims/ExportParticlesCommand.cs new file mode 100644 index 0000000..600a3ed --- /dev/null +++ b/SLBot/bot/Commands/Prims/ExportParticlesCommand.cs @@ -0,0 +1,245 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ExportParticlesCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Collections.Generic; + using System.IO; + using System.Globalization; + + public class ExportParticlesCommand : Command + { + public ExportParticlesCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "exportparticles"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ExportParticles.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ExportParticles.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Predicate match = null; + UUID id; + bool FoundParticleSystem = false; + + if (args.Length != 1) + { + return bot.Localization.clResourceManager.getText("Commands.ExportParticles.Usage"); + } + if (!UUID.TryParse(args[0], out id)) + { + return bot.Localization.clResourceManager.getText("Commands.ExportParticles.Usage"); + } + + lock (base.Client.Network.Simulators) + { + for (int i = 0; i < base.Client.Network.Simulators.Count; i++) + { + Primitive primitive2 = base.Client.Network.CurrentSim.ObjectsPrimitives.Find(delegate(Primitive prim) + { + return prim.ID == id; + }); + + if (primitive2 != null) + { + uint localid; + if (primitive2.ParentID != 0) + { + localid = primitive2.ParentID; + } + else + { + localid = primitive2.LocalID; + } + + if (match == null) + { + match = delegate(Primitive prim) + { + if (prim.LocalID != localid) + { + return prim.ParentID == localid; + } + return true; + }; + } + List objects = base.Client.Network.Simulators[i].ObjectsPrimitives.FindAll(match); + + if (objects != null) + { + for (int j = 0; j < objects.Count; j++) + { + Primitive exportPrim = objects[j]; + + if (exportPrim.ParticleSys.CRC != 0) + { + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting particles of object {2} on sim {3}.", DateTime.Now.ToString(), Client, id.ToString(), Client.Network.CurrentSim.Name)); + + StringBuilder lsl = new StringBuilder(); + + #region Particle System to LSL + + lsl.Append("default" + Environment.NewLine); + lsl.Append("{" + Environment.NewLine); + lsl.Append(" state_entry()" + Environment.NewLine); + lsl.Append(" {" + Environment.NewLine); + lsl.Append(" llParticleSystem([" + Environment.NewLine); + + lsl.Append(" PSYS_PART_FLAGS, 0"); + + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.InterpColor) != 0) + lsl.Append(" | PSYS_PART_INTERP_COLOR_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.InterpScale) != 0) + lsl.Append(" | PSYS_PART_INTERP_SCALE_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.Bounce) != 0) + lsl.Append(" | PSYS_PART_BOUNCE_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.Wind) != 0) + lsl.Append(" | PSYS_PART_WIND_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.FollowSrc) != 0) + lsl.Append(" | PSYS_PART_FOLLOW_SRC_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.FollowVelocity) != 0) + lsl.Append(" | PSYS_PART_FOLLOW_VELOCITY_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.TargetPos) != 0) + lsl.Append(" | PSYS_PART_TARGET_POS_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.TargetLinear) != 0) + lsl.Append(" | PSYS_PART_TARGET_LINEAR_MASK"); + if ((exportPrim.ParticleSys.PartDataFlags & Primitive.ParticleSystem.ParticleDataFlags.Emissive) != 0) + lsl.Append(" | PSYS_PART_EMISSIVE_MASK"); + + lsl.Append(","); + lsl.Append(Environment.NewLine); + lsl.Append(" PSYS_SRC_PATTERN, 0"); + + if ((exportPrim.ParticleSys.Pattern & Primitive.ParticleSystem.SourcePattern.Drop) != 0) + lsl.Append(" | PSYS_SRC_PATTERN_DROP"); + if ((exportPrim.ParticleSys.Pattern & Primitive.ParticleSystem.SourcePattern.Explode) != 0) + lsl.Append(" | PSYS_SRC_PATTERN_EXPLODE"); + if ((exportPrim.ParticleSys.Pattern & Primitive.ParticleSystem.SourcePattern.Angle) != 0) + lsl.Append(" | PSYS_SRC_PATTERN_ANGLE"); + if ((exportPrim.ParticleSys.Pattern & Primitive.ParticleSystem.SourcePattern.AngleCone) != 0) + lsl.Append(" | PSYS_SRC_PATTERN_ANGLE_CONE"); + if ((exportPrim.ParticleSys.Pattern & Primitive.ParticleSystem.SourcePattern.AngleConeEmpty) != 0) + lsl.Append(" | PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY"); + + lsl.Append("," + Environment.NewLine); + + lsl.Append(" PSYS_PART_START_ALPHA, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartStartColor.A) + "," + Environment.NewLine); + lsl.Append(" PSYS_PART_END_ALPHA, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartEndColor.A) + "," + Environment.NewLine); + lsl.Append(" PSYS_PART_START_COLOR, " + exportPrim.ParticleSys.PartStartColor.ToRGBString() + "," + Environment.NewLine); + lsl.Append(" PSYS_PART_END_COLOR, " + exportPrim.ParticleSys.PartEndColor.ToRGBString() + "," + Environment.NewLine); + lsl.Append(" PSYS_PART_START_SCALE, <" + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartStartScaleX) + ", " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartStartScaleY) + ", 0>, " + Environment.NewLine); + lsl.Append(" PSYS_PART_END_SCALE, <" + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartEndScaleX) + ", " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartEndScaleY) + ", 0>, " + Environment.NewLine); + lsl.Append(" PSYS_PART_MAX_AGE, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.PartMaxAge) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_MAX_AGE, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.MaxAge) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_ACCEL, " + exportPrim.ParticleSys.PartAcceleration.ToString() + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_BURST_PART_COUNT, " + String.Format(new CultureInfo("en-US"), "{0:0}", exportPrim.ParticleSys.BurstPartCount) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_BURST_RADIUS, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.BurstRadius) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_BURST_RATE, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.BurstRate) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_BURST_SPEED_MIN, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.BurstSpeedMin) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_BURST_SPEED_MAX, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.BurstSpeedMax) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_INNERANGLE, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.InnerAngle) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_OUTERANGLE, " + String.Format(new CultureInfo("en-US"), "{0:0.00000}", exportPrim.ParticleSys.OuterAngle) + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_OMEGA, " + exportPrim.ParticleSys.AngularVelocity.ToString() + "," + Environment.NewLine); + lsl.Append(" PSYS_SRC_TEXTURE, (key)\"" + exportPrim.ParticleSys.Texture.ToString() + "\"," + Environment.NewLine); + lsl.Append(" PSYS_SRC_TARGET_KEY, (key)\"" + exportPrim.ParticleSys.Target.ToString() + "\"" + Environment.NewLine); + + lsl.Append(" ]);" + Environment.NewLine); + lsl.Append(" }" + Environment.NewLine); + lsl.Append("}" + Environment.NewLine); + + #endregion Particle System to LSL + + if (!Directory.Exists("./particles")) + Directory.CreateDirectory("./particles"); + + File.WriteAllText("./particles/" + CreateFileName(id.ToString(), primitive2.Position.ToString(), primitive2.Text, exportPrim.LocalID), lsl.ToString()); + + //File.WriteAllText("./particles/" + id.ToString() + "_" + exportPrim.LocalID.ToString() + ".lsl", lsl.ToString()); + + //return builder.ToString(); + FoundParticleSystem = true; + } + } + if (FoundParticleSystem) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ExportParticles.Exported"), id.ToString()); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ExportParticles.NoParticles"), id.ToString()); + } + + } + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ExportParticles.ObjectNotFound"), id.ToString()); + } + } + } + return String.Format(bot.Localization.clResourceManager.getText("Commands.ExportParticles.PrimNotFound"), id.ToString()); + } + + private string CreateFileName(string UUID, string Location, string PrimName, uint localID) + { + string corrected_PrimName; + string corrected_Location; + string FinalName; + + if (PrimName == "") + PrimName = "Object"; + + corrected_PrimName = PrimName.Replace(" ", "_"); + corrected_PrimName = corrected_PrimName.Replace(":", ";"); + corrected_PrimName = corrected_PrimName.Replace("*", "+"); + corrected_PrimName = corrected_PrimName.Replace("|", "I"); + corrected_PrimName = corrected_PrimName.Replace("\\", "["); + corrected_PrimName = corrected_PrimName.Replace("/", "]"); + corrected_PrimName = corrected_PrimName.Replace("?", "¿"); + corrected_PrimName = corrected_PrimName.Replace(">", "}"); + corrected_PrimName = corrected_PrimName.Replace("<", "{"); + corrected_PrimName = corrected_PrimName.Replace("\"", "'"); + corrected_PrimName = corrected_PrimName.Replace("\n", " "); + + corrected_Location = Location.Replace(">", "}"); + corrected_Location = corrected_Location.Replace("<", "{"); + + FinalName = corrected_PrimName + " (" + UUID + ", " + corrected_Location + ", " + localID.ToString() + ").lsl"; + + return FinalName; + } + } +} + diff --git a/SLBot/bot/Commands/Prims/FindObjectsCommand.cs b/SLBot/bot/Commands/Prims/FindObjectsCommand.cs new file mode 100644 index 0000000..2450a52 --- /dev/null +++ b/SLBot/bot/Commands/Prims/FindObjectsCommand.cs @@ -0,0 +1,139 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FindObjectsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + public class FindObjectsCommand : Command + { + Dictionary PrimsWaiting = new Dictionary(); + AutoResetEvent AllPropertiesReceived = new AutoResetEvent(false); + StringBuilder sbResult = new StringBuilder(); + + public FindObjectsCommand(SecondLifeBot SecondLifeBot) + { + SecondLifeBot.Objects.ObjectProperties += new EventHandler(Objects_OnObjectProperties); + base.Name = "findobjects"; + base.Description = bot.Localization.clResourceManager.getText("Commands.FindObjects.Description") + " " + bot.Localization.clResourceManager.getText("Commands.FindObjects.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + sbResult = new StringBuilder(); + + // *** parse arguments *** + if ((args.Length < 1) || (args.Length > 2)) + return bot.Localization.clResourceManager.getText("Commands.FindObjects.Usage"); + float radius = float.Parse(args[0]); + string searchString = (args.Length > 1) ? args[1] : ""; + + // *** get current location *** + Vector3 location = Client.Self.SimPosition; + + // *** find all objects in radius *** + List prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) + { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + // *** request properties of these objects *** + bool complete = RequestObjectProperties(prims, 250); + + foreach (Primitive p in prims) + { + string name = p.Properties.Name; + if ((name != null) && (name.Contains(searchString))) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.FindObjects.Info"), name, p.ID.ToString()); + sbResult.AppendLine(); + } + } + + if (!complete) + { + sbResult.AppendLine(bot.Localization.clResourceManager.getText("Commands.FindObjects.Unable")); + foreach (UUID uuid in PrimsWaiting.Keys) + sbResult.AppendLine(uuid.ToString()); + } + + sbResult.AppendFormat("Commands.FindObjects.Done"); + return sbResult.ToString(); + } + + private bool RequestObjectProperties(List objects, int msPerRequest) + { + // Create an array of the local IDs of all the prims we are requesting properties for + uint[] localids = new uint[objects.Count]; + + lock (PrimsWaiting) + { + PrimsWaiting.Clear(); + + for (int i = 0; i < objects.Count; ++i) + { + localids[i] = objects[i].LocalID; + PrimsWaiting.Add(objects[i].ID, objects[i]); + } + } + + Client.Objects.SelectObjects(Client.Network.CurrentSim, localids); + + return AllPropertiesReceived.WaitOne(2000 + msPerRequest * objects.Count, false); + } + + void Objects_OnObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + lock (PrimsWaiting) + { + Primitive prim; + if (PrimsWaiting.TryGetValue(e.Properties.ObjectID, out prim)) + { + prim.Properties = e.Properties; + } + PrimsWaiting.Remove(e.Properties.ObjectID); + + if (PrimsWaiting.Count == 0) + AllPropertiesReceived.Set(); + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/ImportCommand.cs b/SLBot/bot/Commands/Prims/ImportCommand.cs new file mode 100644 index 0000000..4ac7c99 --- /dev/null +++ b/SLBot/bot/Commands/Prims/ImportCommand.cs @@ -0,0 +1,310 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ImportCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.StructuredData; + using System; + using System.Collections.Generic; + using System.IO; + using System.Threading; + + public class ImportCommand : Command + { + private enum ImporterState + { + RezzingParent, + RezzingChildren, + Linking, + Idle + } + + private class Linkset + { + public Primitive RootPrim; + public List Children = new List(); + + public Linkset() + { + RootPrim = new Primitive(); + } + + public Linkset(Primitive rootPrim) + { + RootPrim = rootPrim; + } + } + + Primitive currentPrim; + Vector3 currentPosition; + AutoResetEvent primDone = new AutoResetEvent(false); + List primsCreated; + List linkQueue; + uint rootLocalID; + ImporterState state = ImporterState.Idle; + + public ImportCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "import"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Import.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Import.Usage"); + SecondLifeBot.Objects.ObjectUpdate += Objects_OnNewPrim; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + primDone.Reset(); + + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.Import.Usage"); + + string filename = args[0]; + UUID GroupID = (args.Length > 1) ? Client.GroupID : UUID.Zero; + string xml; + List prims; + + if (File.Exists(filename)) + { + try + { + xml = File.ReadAllText(filename); + } + catch (Exception e) + { + return e.Message; + } + } + else + { + try + { + xml = File.ReadAllText("./objects/" + filename); + } + catch (Exception e) + { + return e.Message; + } + } + + try + { + prims = Helpers.OSDToPrimList(OSDParser.DeserializeLLSDXml(xml)); + } + catch (Exception e) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.Import.DeserializeFail"), filename, e.Message); + } + + // Build an organized structure from the imported prims + Dictionary linksets = new Dictionary(); + for (int i = 0; i < prims.Count; i++) + { + Primitive prim = prims[i]; + + if (prim.ParentID == 0) + { + if (linksets.ContainsKey(prim.LocalID)) + linksets[prim.LocalID].RootPrim = prim; + else + linksets[prim.LocalID] = new Linkset(prim); + } + else + { + if (!linksets.ContainsKey(prim.ParentID)) + linksets[prim.ParentID] = new Linkset(); + + linksets[prim.ParentID].Children.Add(prim); + } + } + + primsCreated = new List(); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Import.Importing"), linksets.Count); + + foreach (Linkset linkset in linksets.Values) + { + if (linkset.RootPrim.LocalID != 0) + { + state = ImporterState.RezzingParent; + currentPrim = linkset.RootPrim; + // HACK: Import the structure just above our head + // We need a more elaborate solution for importing with relative or absolute offsets + linkset.RootPrim.Position = Client.Self.SimPosition; + linkset.RootPrim.Position.Z += 3.0f; + currentPosition = linkset.RootPrim.Position; + + // Rez the root prim with no rotation + Quaternion rootRotation = linkset.RootPrim.Rotation; + linkset.RootPrim.Rotation = Quaternion.Identity; + + Client.Objects.AddPrim(Client.Network.CurrentSim, linkset.RootPrim.PrimData, GroupID, + linkset.RootPrim.Position, linkset.RootPrim.Scale, linkset.RootPrim.Rotation); + + if (!primDone.WaitOne(15000, false)) + { + primsCreated.Clear(); + return bot.Localization.clResourceManager.getText("Commands.Import.RootFail"); + } + + Client.Objects.SetPosition(Client.Network.CurrentSim, primsCreated[primsCreated.Count - 1].LocalID, linkset.RootPrim.Position); + + state = ImporterState.RezzingChildren; + + // Rez the child prims + foreach (Primitive prim in linkset.Children) + { + currentPrim = prim; + currentPosition = prim.Position + linkset.RootPrim.Position; + + Client.Objects.AddPrim(Client.Network.CurrentSim, prim.PrimData, GroupID, currentPosition, + prim.Scale, prim.Rotation); + + if (!primDone.WaitOne(15000, false)) + { + primsCreated.Clear(); + return bot.Localization.clResourceManager.getText("Commands.Import.ChildFail"); + } + Client.Objects.SetPosition(Client.Network.CurrentSim, primsCreated[primsCreated.Count - 1].LocalID, currentPosition); + + } + + // Create a list of the local IDs of the newly created prims + List primIDs = new List(primsCreated.Count); + primIDs.Add(rootLocalID); // Root prim is first in list. + + if (linkset.Children.Count != 0) + { + // Add the rest of the prims to the list of local IDs + foreach (Primitive prim in primsCreated) + { + if (prim.LocalID != rootLocalID) + primIDs.Add(prim.LocalID); + } + linkQueue = new List(primIDs.Count); + linkQueue.AddRange(primIDs); + + // Link and set the permissions + rotation + state = ImporterState.Linking; + Client.Objects.LinkPrims(Client.Network.CurrentSim, linkQueue); + + if (primDone.WaitOne(1000 * linkset.Children.Count, false)) + Client.Objects.SetRotation(Client.Network.CurrentSim, rootLocalID, rootRotation); + else + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Import.LinkFail"), linkQueue.Count); + + } + else + { + Client.Objects.SetRotation(Client.Network.CurrentSim, rootLocalID, rootRotation); + } + + // Set permissions on newly created prims + Client.Objects.SetPermissions(Client.Network.CurrentSim, primIDs, + PermissionWho.Everyone | PermissionWho.Group | PermissionWho.NextOwner, + PermissionMask.All, true); + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Import.DeRezzing")); + Client.Inventory.RequestDeRezToInventory(rootLocalID); + + state = ImporterState.Idle; + } + else + { + // Skip linksets with a missing root prim + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Import.MissingRoot")); + } + + // Reset everything for the next linkset + primsCreated.Clear(); + } + + return bot.Localization.clResourceManager.getText("Commands.Import.Complete"); + } + + void Objects_OnNewPrim(object sender, PrimEventArgs e) + { + Primitive prim = e.Prim; + + if ((prim.Flags & PrimFlags.CreateSelected) == 0) + return; // We received an update for an object we didn't create + + switch (state) + { + case ImporterState.RezzingParent: + rootLocalID = prim.LocalID; + goto case ImporterState.RezzingChildren; + case ImporterState.RezzingChildren: + if (!primsCreated.Contains(prim)) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.Import.Properties"), prim.LocalID); + // TODO: Is there a way to set all of this at once, and update more ObjectProperties stuff? + Client.Objects.SetPosition(e.Simulator, prim.LocalID, currentPosition); + Client.Objects.SetTextures(e.Simulator, prim.LocalID, currentPrim.Textures); + + if (currentPrim.Light.Intensity > 0) + { + Client.Objects.SetLight(e.Simulator, prim.LocalID, currentPrim.Light); + } + + Client.Objects.SetFlexible(e.Simulator, prim.LocalID, currentPrim.Flexible); + + if (currentPrim.Sculpt.SculptTexture != UUID.Zero) + { + Client.Objects.SetSculpt(e.Simulator, prim.LocalID, currentPrim.Sculpt); + } + + if (!String.IsNullOrEmpty(currentPrim.Properties.Name)) + Client.Objects.SetName(e.Simulator, prim.LocalID, currentPrim.Properties.Name); + if (!String.IsNullOrEmpty(currentPrim.Properties.Description)) + Client.Objects.SetDescription(e.Simulator, prim.LocalID, currentPrim.Properties.Description); + + primsCreated.Add(prim); + primDone.Set(); + } + break; + case ImporterState.Linking: + lock (linkQueue) + { + int index = linkQueue.IndexOf(prim.LocalID); + if (index != -1) + { + linkQueue.RemoveAt(index); + if (linkQueue.Count == 0) + primDone.Set(); + } + } + break; + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/ObjectInventoryCommand.cs b/SLBot/bot/Commands/Prims/ObjectInventoryCommand.cs new file mode 100644 index 0000000..c6c0bb0 --- /dev/null +++ b/SLBot/bot/Commands/Prims/ObjectInventoryCommand.cs @@ -0,0 +1,96 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ObjectInventoryCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + + public class ObjectInventoryCommand : Command + { + public ObjectInventoryCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "objectinventory"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Usage"); + + uint objectLocalID; + UUID objectID; + if (!UUID.TryParse(args[0], out objectID)) + return bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Usage"); + + Primitive found = Client.Network.CurrentSim.ObjectsPrimitives.Find(delegate(Primitive prim) + { + return prim.ID == objectID; + }); + if (found != null) + objectLocalID = found.LocalID; + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.ObjectInventory.NotFound"), objectID.ToString()); + + List items = Client.Inventory.GetTaskInventory(objectID, objectLocalID, 1000 * 30); + + if (items != null) + { + string result = String.Empty; + + for (int i = 0; i < items.Count; i++) + { + if (items[i] is InventoryFolder) + { + result += String.Format(bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Folder"), items[i].Name) + Environment.NewLine; + } + else + { + InventoryItem item = (InventoryItem)items[i]; + result += String.Format(bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Item"), item.Name, item.Description, + item.AssetType, item.UUID) + Environment.NewLine; + } + } + + return result; + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.ObjectInventory.Failed"), objectLocalID); + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/PrimInfoCommand.cs b/SLBot/bot/Commands/Prims/PrimInfoCommand.cs new file mode 100644 index 0000000..43d3a28 --- /dev/null +++ b/SLBot/bot/Commands/Prims/PrimInfoCommand.cs @@ -0,0 +1,190 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : PrimInfoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + + public class PrimInfoCommand : Command + { + StringBuilder sbResult = new StringBuilder(); + + public PrimInfoCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "priminfo"; + base.Description = bot.Localization.clResourceManager.getText("Commands.PrimInfo.Description") + " " + bot.Localization.clResourceManager.getText("Commands.PrimInfo.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID primID; + sbResult = new StringBuilder(); + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.PrimInfo.Usage"); + + if (UUID.TryParse(args[0], out primID)) + { + Primitive target = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == primID; + } + ); + + if (target != null) + { + string targetName, targetDescription, targetCreator, targetOwner, targerLastOwner, targetGroup, targetSitName, targetTouchName; + + if (target.Properties.Name == "") + targetName = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else + targetName = target.Properties.Name; + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Name"), targetName); + sbResult.AppendLine(); + + if (target.Properties.Description == "") + targetDescription = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else + targetDescription = target.Properties.Description; + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.PrimDescription"), targetDescription); + sbResult.AppendLine(); + + if (target.Properties.CreatorID == UUID.Zero) + targetCreator = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else if (!Client.key2Name(target.Properties.CreatorID, out targetCreator)) + targetCreator = bot.Localization.clResourceManager.getText("Commands.PrimInfo.Unknown"); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Creator"), targetCreator, target.Properties.CreatorID); + sbResult.AppendLine(); + + if (target.Properties.OwnerID == UUID.Zero) + targetOwner = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else if (!Client.key2Name(target.Properties.OwnerID, out targetOwner)) + targetOwner = bot.Localization.clResourceManager.getText("Commands.PrimInfo.Unknown"); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Owner"), targetOwner, target.Properties.OwnerID); + sbResult.AppendLine(); + + if (target.Properties.LastOwnerID == UUID.Zero) + targerLastOwner = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else if (!Client.key2Name(target.Properties.LastOwnerID, out targerLastOwner)) + targerLastOwner = bot.Localization.clResourceManager.getText("Commands.PrimInfo.Unknown"); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.LastOwner"), targerLastOwner, target.Properties.LastOwnerID); + sbResult.AppendLine(); + + if (target.Properties.GroupID == UUID.Zero) + targetGroup = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else if (!Client.key2Name(target.Properties.GroupID, out targetGroup)) + targetGroup = bot.Localization.clResourceManager.getText("Commands.PrimInfo.Unknown"); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Group"), targetGroup, target.Properties.GroupID); + sbResult.AppendLine(); + + if (target.Properties.SitName == "") + targetSitName = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else + targetSitName = target.Properties.SitName; + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.SitName"), targetSitName); + sbResult.AppendLine(); + + if (target.Properties.TouchName == "") + targetTouchName = bot.Localization.clResourceManager.getText("Commands.PrimInfo.None"); + else + targetTouchName = target.Properties.TouchName; + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.TouchName"), targetTouchName); + sbResult.AppendLine(); + + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Position"), target.Position.ToString()); + sbResult.AppendLine(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Date"), target.Properties.CreationDate.ToString()); + sbResult.AppendLine(); + + if (target.Text != String.Empty) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Text") + target.Text); + sbResult.AppendLine(); + } + + if (target.Light != null) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Light"), target.Light.ToString()); + sbResult.AppendLine(); + } + + if (target.ParticleSys.CRC != 0) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Particles"), target.ParticleSys.ToString()); + sbResult.AppendLine(); + } + + if (target.Textures != null) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.TextureEntry")); + sbResult.AppendLine(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Default"), + target.Textures.DefaultTexture.TextureID.ToString()); + sbResult.AppendLine(); + + for (int i = 0; i < target.Textures.FaceTextures.Length; i++) + { + if (target.Textures.FaceTextures[i] != null) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Face"), i, + target.Textures.FaceTextures[i].TextureID.ToString()); + sbResult.AppendLine(); + } + } + } + else + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Null")); + sbResult.AppendLine(); + } + + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.PrimInfo.Done")); + + return sbResult.ToString(); + } + else + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.PrimInfo.NotFound"), primID.ToString()); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.PrimInfo.Usage"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/PrimRegexCommand.cs b/SLBot/bot/Commands/Prims/PrimRegexCommand.cs new file mode 100644 index 0000000..53651fe --- /dev/null +++ b/SLBot/bot/Commands/Prims/PrimRegexCommand.cs @@ -0,0 +1,99 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : PrimRegexCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text.RegularExpressions; + + public class PrimRegexCommand : Command + { + public PrimRegexCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "primregex"; + base.Description = bot.Localization.clResourceManager.getText("Commands.PrimRegex.Description") + " " + bot.Localization.clResourceManager.getText("Commands.PrimRegex.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.PrimRegex.Usage"); + + try + { + // Build the predicat from the args list + string predicatPrim = string.Empty; + for (int i = 0; i < args.Length; i++) + predicatPrim += args[i] + " "; + predicatPrim = predicatPrim.TrimEnd(); + + // Build Regex + Regex regexPrimName = new Regex(predicatPrim.ToLower()); + + // Print result + bot.Console.WriteLine(string.Format(bot.Localization.clResourceManager.getText("Commands.PrimRegex.Searching"), predicatPrim, + Client.Network.CurrentSim.ObjectsPrimitives.Count)); + + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null && regexPrimName.IsMatch(prim.Text.ToLower())) + { + bot.Console.WriteLine(string.Format(bot.Localization.clResourceManager.getText("Commands.PrimRegex.Prim"), prim.Properties.Name, + prim.ID, prim.Flags.ToString(), prim.Text, prim.Properties.Description)); + } + else if (prim.Properties.Name != null && regexPrimName.IsMatch(prim.Properties.Name.ToLower())) + { + bot.Console.WriteLine(string.Format(bot.Localization.clResourceManager.getText("Commands.PrimRegex.Prim"), prim.Properties.Name, + prim.ID, prim.Flags.ToString(), prim.Text, prim.Properties.Description)); + } + else if (prim.Properties.Description != null && regexPrimName.IsMatch(prim.Properties.Description.ToLower())) + { + bot.Console.WriteLine(string.Format(bot.Localization.clResourceManager.getText("Commands.PrimRegex.Prim"), prim.Properties.Name, + prim.ID, prim.Flags.ToString(), prim.Text, prim.Properties.Description)); + } + } + ); + } + catch (System.Exception e) + { + bot.Console.WriteLine(e.Message); + return bot.Localization.clResourceManager.getText("Commands.PrimRegex.Error"); + } + + return bot.Localization.clResourceManager.getText("Commands.PrimRegex.Done"); + } + } +} + diff --git a/SLBot/bot/Commands/Prims/SitCommand.cs b/SLBot/bot/Commands/Prims/SitCommand.cs new file mode 100644 index 0000000..210e1d8 --- /dev/null +++ b/SLBot/bot/Commands/Prims/SitCommand.cs @@ -0,0 +1,79 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SitCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class SitCommand : Command + { + public SitCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "sit"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Sit.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Primitive closest = null; + double closestDistance = Double.MaxValue; + + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + float distance = Vector3.Distance(Client.Self.SimPosition, prim.Position); + + if (closest == null || distance < closestDistance) + { + closest = prim; + closestDistance = distance; + } + } + ); + + if (closest != null) + { + Client.Self.RequestSit(closest.ID, Vector3.Zero); + Client.Self.Sit(); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Sit.Sit"), closest.ID, closest.LocalID, closestDistance); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Sit.NotFound"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Prims/SitOnCommand.cs b/SLBot/bot/Commands/Prims/SitOnCommand.cs new file mode 100644 index 0000000..1bc622c --- /dev/null +++ b/SLBot/bot/Commands/Prims/SitOnCommand.cs @@ -0,0 +1,76 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SitOnCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class SitOnCommand : Command + { + public SitOnCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "siton"; + base.Description = bot.Localization.clResourceManager.getText("Commands.SitOn.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SitOn.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.SitOn.Usage"); + + UUID target; + + if (UUID.TryParse(args[0], out target)) + { + Primitive targetPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == target; + } + ); + + if (targetPrim != null) + { + Client.Self.RequestSit(targetPrim.ID, Vector3.Zero); + Client.Self.Sit(); + return String.Format(bot.Localization.clResourceManager.getText("Commands.SitOn.Sit"), targetPrim.ID.ToString(), + targetPrim.LocalID); + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.SitOn.NotFound"), args[0]); + } + } +} + diff --git a/SLBot/bot/Commands/Prims/TouchCommand.cs b/SLBot/bot/Commands/Prims/TouchCommand.cs new file mode 100644 index 0000000..a0bd212 --- /dev/null +++ b/SLBot/bot/Commands/Prims/TouchCommand.cs @@ -0,0 +1,74 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TouchCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class TouchCommand : Command + { + public TouchCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "touch"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Touch.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Touch.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + UUID target; + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Touch.Usage"); + + if (UUID.TryParse(args[0], out target)) + { + Primitive targetPrim = Client.Network.CurrentSim.ObjectsPrimitives.Find( + delegate(Primitive prim) + { + return prim.ID == target; + } + ); + + if (targetPrim != null) + { + Client.Self.Touch(targetPrim.LocalID); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Touch.Touched"), targetPrim.LocalID); + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Touch.NotFound"), args[0]); + } + } +} + diff --git a/SLBot/bot/Commands/QueuedDownloadInfo.cs b/SLBot/bot/Commands/QueuedDownloadInfo.cs new file mode 100644 index 0000000..f151f14 --- /dev/null +++ b/SLBot/bot/Commands/QueuedDownloadInfo.cs @@ -0,0 +1,64 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : QueuedDownloadInfo.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2010 openmetaverse.org +****************************************************************************/ +namespace bot.Commands +{ + using OpenMetaverse; + using System; + + public class QueuedDownloadInfo + { + public UUID TransferID; + public UUID AssetID; + public UUID ItemID; + public UUID TaskID; + public UUID OwnerID; + public AssetType Type; + public string FileName; + public DateTime WhenRequested; + public bool IsRequested; + + public QueuedDownloadInfo(string file, UUID asset, UUID item, UUID task, UUID owner, AssetType type) + { + FileName = file; + AssetID = asset; + ItemID = item; + TaskID = task; + OwnerID = owner; + Type = type; + WhenRequested = DateTime.Now; + IsRequested = false; + } + } +} + diff --git a/SLBot/bot/Commands/Search/Key2NameCommand.cs b/SLBot/bot/Commands/Search/Key2NameCommand.cs new file mode 100644 index 0000000..26c8458 --- /dev/null +++ b/SLBot/bot/Commands/Search/Key2NameCommand.cs @@ -0,0 +1,77 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Key2NameCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + + public class Key2NameCommand : Command + { + ManualResetEvent WaitforAvatar = new ManualResetEvent(false); + UUID avatarID; + string avatarName; + + public Key2NameCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "key2name"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Key2Name.Description") + " " + + bot.Localization.clResourceManager.getText("Commands.Key2Name.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + WaitforAvatar = new ManualResetEvent(false); + bool isGroupID = false; + + avatarID = UUID.Zero; + avatarName = ""; + + if (!UUID.TryParse(args[0], out avatarID)) + return bot.Localization.clResourceManager.getText("Commands.Key2Name.Usage"); + + if (base.Client.key2Name(avatarID, out avatarName, out isGroupID)) + if (!isGroupID) + return String.Format(bot.Localization.clResourceManager.getText("Commands.Key2Name.Found"), avatarID, avatarName); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Key2Name.Group"), avatarID, avatarName); + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.Key2Name.Timeout"), avatarID); + } + } +} + + + diff --git a/SLBot/bot/Commands/Search/SearchClassifiedsCommand.cs b/SLBot/bot/Commands/Search/SearchClassifiedsCommand.cs new file mode 100644 index 0000000..ae96f23 --- /dev/null +++ b/SLBot/bot/Commands/Search/SearchClassifiedsCommand.cs @@ -0,0 +1,93 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchClassifiedsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using OpenMetaverse; + +namespace bot.Commands +{ + class SearchClassifiedsCommand : Command + { + System.Threading.AutoResetEvent waitQuery = new System.Threading.AutoResetEvent(false); + + public SearchClassifiedsCommand(SecondLifeBot secondLifeBot) + { + Name = "searchclassifieds"; + Description = bot.Localization.clResourceManager.getText("Commands.SearchClassifieds.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SearchClassifieds.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.SearchClassifieds.Usage"); + + string searchText = string.Empty; + for (int i = 0; i < args.Length; i++) + searchText += args[i] + " "; + searchText = searchText.TrimEnd(); + waitQuery.Reset(); + + StringBuilder result = new StringBuilder(); + + EventHandler callback = delegate(object sender, DirClassifiedsReplyEventArgs e) + { + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.SearchClassifieds.Results") + System.Environment.NewLine, + searchText, e.Classifieds.Count); + foreach (DirectoryManager.Classified ad in e.Classifieds) + { + result.AppendLine(ad.ToString()); + } + + // classifieds are sent 16 ads at a time + if (e.Classifieds.Count < 16) + { + waitQuery.Set(); + } + }; + + Client.Directory.DirClassifiedsReply += callback; + + UUID searchID = Client.Directory.StartClassifiedSearch(searchText, DirectoryManager.ClassifiedCategories.Any, DirectoryManager.ClassifiedQueryFlags.Mature | DirectoryManager.ClassifiedQueryFlags.PG); + + if (!waitQuery.WaitOne(20000, false) && Client.Network.Connected) + { + result.AppendLine(bot.Localization.clResourceManager.getText("Commands.SearchClassifieds.Timeout")); + } + + Client.Directory.DirClassifiedsReply -= callback; + + return result.ToString(); + } + } +} diff --git a/SLBot/bot/Commands/Search/SearchEventsCommand.cs b/SLBot/bot/Commands/Search/SearchEventsCommand.cs new file mode 100644 index 0000000..097451a --- /dev/null +++ b/SLBot/bot/Commands/Search/SearchEventsCommand.cs @@ -0,0 +1,103 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchEventsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands.Commands +{ + using bot; + using bot.Commands; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Text; + + internal class SearchEventsCommand : Command + { + System.Threading.AutoResetEvent waitQuery = new System.Threading.AutoResetEvent(false); + int resultCount; + StringBuilder sbResult = new StringBuilder(); + + public SearchEventsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "searchevents"; + base.Description = bot.Localization.clResourceManager.getText("Commands.SearchEvents.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SearchEvents.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + sbResult = new StringBuilder(); + + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.SearchEvents.Usage"); + + string searchText = string.Empty; + for (int i = 0; i < args.Length; i++) + searchText += args[i] + " "; + searchText = searchText.TrimEnd(); + waitQuery.Reset(); + + Client.Directory.DirEventsReply += Directory_DirEvents; + Client.Directory.StartEventsSearch(searchText, 0); + + if (waitQuery.WaitOne(20000, false) && Client.Network.Connected) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.SearchEvents.Matched"), searchText, resultCount); + } + else + { + sbResult.AppendLine(bot.Localization.clResourceManager.getText("Commands.SearchEvents.Timeout")); + } + Client.Directory.DirEventsReply -= Directory_DirEvents; + return sbResult.ToString(); + ; + } + + void Directory_DirEvents(object sender, DirEventsReplyEventArgs e) + { + if (e.MatchedEvents[0].ID == 0 && e.MatchedEvents.Count == 1) + { + sbResult.AppendLine(bot.Localization.clResourceManager.getText("Commands.SearchEvents.NoResults")); + } + else + { + foreach (DirectoryManager.EventsSearchData ev in e.MatchedEvents) + { + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.SearchEvents.Event"), ev.ID, ev.Name, ev.Date); + sbResult.AppendLine(); + } + } + resultCount = e.MatchedEvents.Count; + waitQuery.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/Search/SearchGroupsCommand.cs b/SLBot/bot/Commands/Search/SearchGroupsCommand.cs new file mode 100644 index 0000000..7e86f7a --- /dev/null +++ b/SLBot/bot/Commands/Search/SearchGroupsCommand.cs @@ -0,0 +1,100 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchGroupsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using OpenMetaverse; + +namespace bot.Commands +{ + class SearchGroupsCommand : Command + { + System.Threading.AutoResetEvent waitQuery = new System.Threading.AutoResetEvent(false); + int resultCount = 0; + + public SearchGroupsCommand(SecondLifeBot secondLifeBot) + { + Name = "searchgroups"; + Description = bot.Localization.clResourceManager.getText("Commands.SearchGroups.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SearchGroups.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + // process command line arguments + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.SearchGroups.Usage"); + + string searchText = string.Empty; + for (int i = 0; i < args.Length; i++) + searchText += args[i] + " "; + searchText = searchText.TrimEnd(); + + waitQuery.Reset(); + + Client.Directory.DirGroupsReply += Directory_DirGroups; + + // send the request to the directory manager + Client.Directory.StartGroupSearch(searchText, 0); + + string result; + if (waitQuery.WaitOne(20000, false) && Client.Network.Connected) + { + result = String.Format(bot.Localization.clResourceManager.getText("Commands.SearchGroups.Matching"), searchText, resultCount); + } + else + { + result = bot.Localization.clResourceManager.getText("Commands.SearchGroups.Timeout"); + } + + Client.Directory.DirGroupsReply -= Directory_DirGroups; + + return result; + } + + void Directory_DirGroups(object sender, DirGroupsReplyEventArgs e) + { + if (e.MatchedGroups.Count > 0) + { + foreach (DirectoryManager.GroupSearchData group in e.MatchedGroups) + { + Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.SearchGroups.Members"), group.GroupID, group.GroupName, group.Members); + } + } + else + { + Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.SearchGroups.NotFound")); + } + waitQuery.Set(); + } + } +} diff --git a/SLBot/bot/Commands/Search/SearchLandCommand.cs b/SLBot/bot/Commands/Search/SearchLandCommand.cs new file mode 100644 index 0000000..234a4c1 --- /dev/null +++ b/SLBot/bot/Commands/Search/SearchLandCommand.cs @@ -0,0 +1,154 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchLandCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using OpenMetaverse; + +namespace bot.Commands +{ + public class SearchLandCommand : Command + { + private System.Threading.AutoResetEvent waitQuery = new System.Threading.AutoResetEvent(false); + private StringBuilder result = new StringBuilder(); + + /// + /// Construct a new instance of the SearchLandCommand + /// + /// + public SearchLandCommand(SecondLifeBot secondLifeBot) + { + Name = "searchland"; + Description = bot.Localization.clResourceManager.getText("Commands.SearchLand.Description"); + } + + /// + /// Show commandusage + /// + /// A string containing the parameter usage instructions + public string ShowUsage() + { + return bot.Localization.clResourceManager.getText("Commands.SearchLand.UsageLine1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Commands.SearchLand.UsageLine2") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Commands.SearchLand.UsageLine3") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Commands.SearchLand.UsageLine4"); + } + + /// + /// + /// + /// + /// + /// + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + // process command line arguments + if (args.Length < 3) + return ShowUsage(); + + string searchType = args[0].Trim().ToLower(); + int maxPrice; + int minSize; + + DirectoryManager.SearchTypeFlags searchTypeFlags = DirectoryManager.SearchTypeFlags.Any; + + if (searchType.StartsWith("au")) + searchTypeFlags = DirectoryManager.SearchTypeFlags.Auction; + else if (searchType.StartsWith("m")) + searchTypeFlags = DirectoryManager.SearchTypeFlags.Mainland; + else if (searchType.StartsWith("e")) + searchTypeFlags = DirectoryManager.SearchTypeFlags.Estate; + else if (searchType.StartsWith("al")) + searchTypeFlags = DirectoryManager.SearchTypeFlags.Any; + else + return ShowUsage(); + + // initialize some default flags we'll use in the search + DirectoryManager.DirFindFlags queryFlags = DirectoryManager.DirFindFlags.SortAsc | DirectoryManager.DirFindFlags.PerMeterSort + | DirectoryManager.DirFindFlags.IncludeAdult | DirectoryManager.DirFindFlags.IncludePG | DirectoryManager.DirFindFlags.IncludeMature; + + // validate the parameters passed + if (int.TryParse(args[1], out maxPrice) && int.TryParse(args[2], out minSize)) + { + // if the [max price] parameter is greater than 0, we'll enable the flag to limit by price + if (maxPrice > 0) + queryFlags |= DirectoryManager.DirFindFlags.LimitByPrice; + + // if the [min size] parameter is greater than 0, we'll enable the flag to limit by area + if (minSize > 0) + queryFlags |= DirectoryManager.DirFindFlags.LimitByArea; + } + else + { + return ShowUsage(); + } + + //waitQuery.Reset(); + + // subscribe to the event that returns the search results + Client.Directory.DirLandReply += Directory_DirLand; + + // send the request to the directory manager + Client.Directory.StartLandSearch(queryFlags, searchTypeFlags, maxPrice, minSize, 0); + + if (!waitQuery.WaitOne(20000, false) && Client.Network.Connected) + { + result.AppendLine(bot.Localization.clResourceManager.getText("Commands.SearchLand.Timeout")); + } + + // unsubscribe to the event that returns the search results + Client.Directory.DirLandReply -= Directory_DirLand; + + // return the results + return result.ToString(); + } + + /// + /// Process the search reply + /// + /// + /// + private void Directory_DirLand(object sender, DirLandReplyEventArgs e) + { + + foreach (DirectoryManager.DirectoryParcel searchResult in e.DirParcels) + { + // add the results to the StringBuilder object that contains the results + result.AppendLine(searchResult.ToString()); + } + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.SearchLand.Results") + System.Environment.NewLine, e.DirParcels.Count); + // let the calling method know we have data + waitQuery.Set(); + } + } +} diff --git a/SLBot/bot/Commands/Search/SearchPeopleCommand.cs b/SLBot/bot/Commands/Search/SearchPeopleCommand.cs new file mode 100644 index 0000000..593551d --- /dev/null +++ b/SLBot/bot/Commands/Search/SearchPeopleCommand.cs @@ -0,0 +1,101 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchPeopleCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using OpenMetaverse; + +namespace bot.Commands +{ + class SearchPeopleCommand : Command + { + System.Threading.AutoResetEvent waitQuery = new System.Threading.AutoResetEvent(false); + int resultCount = 0; + + public SearchPeopleCommand(SecondLifeBot secondLifeBot) + { + Name = "searchpeople"; + Description = bot.Localization.clResourceManager.getText("Commands.SearchPeople.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SearchPeople.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + // process command line arguments + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.SearchPeople.Usage"); + + string searchText = string.Empty; + for (int i = 0; i < args.Length; i++) + searchText += args[i] + " "; + searchText = searchText.TrimEnd(); + + waitQuery.Reset(); + + + Client.Directory.DirPeopleReply += Directory_DirPeople; + + // send the request to the directory manager + Client.Directory.StartPeopleSearch(searchText, 0); + + string result; + if (waitQuery.WaitOne(20000, false) && Client.Network.Connected) + { + result = String.Format(bot.Localization.clResourceManager.getText("Commands.SearchPeople.Matching"), searchText, resultCount); + } + else + { + result = bot.Localization.clResourceManager.getText("Commands.SearchPeople.Timeout"); + } + + Client.Directory.DirPeopleReply -= Directory_DirPeople; + + return result; + } + + void Directory_DirPeople(object sender, DirPeopleReplyEventArgs e) + { + if (e.MatchedPeople.Count > 0) + { + foreach (DirectoryManager.AgentSearchData agent in e.MatchedPeople) + { + Console.WriteLine("{0} {1} ({2})", agent.FirstName, agent.LastName, agent.AgentID); + } + } + else + { + Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.SearchPeople.NotFound")); + } + waitQuery.Set(); + } + } +} diff --git a/SLBot/bot/Commands/Search/SearchPlacesCommand.cs b/SLBot/bot/Commands/Search/SearchPlacesCommand.cs new file mode 100644 index 0000000..0d65999 --- /dev/null +++ b/SLBot/bot/Commands/Search/SearchPlacesCommand.cs @@ -0,0 +1,88 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SearchPlacesCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using OpenMetaverse; + +namespace bot.Commands +{ + class SearchPlacesCommand : Command + { + System.Threading.AutoResetEvent waitQuery = new System.Threading.AutoResetEvent(false); + + public SearchPlacesCommand(SecondLifeBot secondLifeBot) + { + Name = "searchplaces"; + Description = bot.Localization.clResourceManager.getText("Commands.SearchPlaces.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SearchPlaces.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.SearchPlaces.Usage"); + + string searchText = string.Empty; + for (int i = 0; i < args.Length; i++) + searchText += args[i] + " "; + searchText = searchText.TrimEnd(); + waitQuery.Reset(); + + StringBuilder result = new StringBuilder(); + + EventHandler callback = delegate(object sender, PlacesReplyEventArgs e) + { + result.AppendFormat(bot.Localization.clResourceManager.getText("Commands.SearchPlaces.Results") + System.Environment.NewLine, + searchText, e.MatchedPlaces.Count); + foreach (DirectoryManager.PlacesSearchData place in e.MatchedPlaces) + { + result.AppendLine(place.ToString()); + } + + waitQuery.Set(); + }; + + Client.Directory.PlacesReply += callback; + Client.Directory.StartPlacesSearch(searchText); + + if (!waitQuery.WaitOne(20000, false) && Client.Network.Connected) + { + result.AppendLine(bot.Localization.clResourceManager.getText("Commands.SearchPlaces.Timeout")); + } + + Client.Directory.PlacesReply -= callback; + + return result.ToString(); + } + } +} diff --git a/SLBot/bot/Commands/Search/ShowEventDetailsCommand.cs b/SLBot/bot/Commands/Search/ShowEventDetailsCommand.cs new file mode 100644 index 0000000..de63526 --- /dev/null +++ b/SLBot/bot/Commands/Search/ShowEventDetailsCommand.cs @@ -0,0 +1,89 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ShowEventDetailsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Threading; + + internal class ShowEventDetailsCommand : Command + { + StringBuilder sb = new StringBuilder(); + ManualResetEvent detailsEvent = new ManualResetEvent(false); + + public ShowEventDetailsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "showevent"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + sb = new StringBuilder(); + detailsEvent.Reset(); + + if (args.Length < 1) + return bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Usage"); + + Client.Directory.EventInfoReply += Directory_EventDetails; + uint eventID; + + if (UInt32.TryParse(args[0], out eventID)) + { + Client.Directory.EventInfoRequest(eventID); + sb.AppendLine(bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Query")); + detailsEvent.WaitOne(15000, false); + return sb.ToString(); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Usage"); + } + } + + void Directory_EventDetails(object sender, EventInfoReplyEventArgs e) + { + float x, y; + Helpers.GlobalPosToRegionHandle((float)e.MatchedEvent.GlobalPos.X, (float)e.MatchedEvent.GlobalPos.Y, out x, out y); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Name") + System.Environment.NewLine, e.MatchedEvent.Name, e.MatchedEvent.ID); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Location") + System.Environment.NewLine, e.MatchedEvent.SimName, x, y); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.Date") + System.Environment.NewLine, e.MatchedEvent.Date); + sb.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ShowEventDetails.EventDescription") + System.Environment.NewLine, e.MatchedEvent.Desc); + Client.Directory.EventInfoReply -= Directory_EventDetails; + detailsEvent.Set(); + } + } +} + diff --git a/SLBot/bot/Commands/System/AboutCommand.cs b/SLBot/bot/Commands/System/AboutCommand.cs new file mode 100644 index 0000000..fd73b81 --- /dev/null +++ b/SLBot/bot/Commands/System/AboutCommand.cs @@ -0,0 +1,90 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AboutCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + + public class AboutCommand : Command + { + public AboutCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "about"; + base.Description = bot.Localization.clResourceManager.getText("Commands.About.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bot.license.Version botVersion = new bot.license.Version(); + StringBuilder sbAbout = new StringBuilder(); + + sbAbout.AppendLine(); + sbAbout.Append("NatiBot " + botVersion.ToString() + " " + botVersion.v_rev); + sbAbout.AppendLine(); + sbAbout.Append("© 2009-2010 Claunia.com " + bot.Localization.clResourceManager.getText("frmAbout.Copyright")); + sbAbout.AppendLine(); + sbAbout.AppendLine(); + sbAbout.Append(bot.Localization.clResourceManager.getText("frmAbout.Coding")); + sbAbout.Append("Natalia Portillo"); + sbAbout.AppendLine(); + sbAbout.Append(bot.Localization.clResourceManager.getText("frmAbout.Interface")); + sbAbout.Append("Ana Sánchez"); + sbAbout.AppendLine(); + sbAbout.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.English"), + "Natalia Portillo"); + sbAbout.AppendLine(); + sbAbout.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.Spanish"), + "Natalia Portillo"); + sbAbout.AppendLine(); + sbAbout.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.Catalan"), + "Alejandro Sánchez"); + sbAbout.AppendLine(); + sbAbout.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.French"), + "Natalia Portillo & Google"); + sbAbout.AppendLine(); + + return sbAbout.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/System/ChangelogCommand.cs b/SLBot/bot/Commands/System/ChangelogCommand.cs new file mode 100644 index 0000000..3c2444d --- /dev/null +++ b/SLBot/bot/Commands/System/ChangelogCommand.cs @@ -0,0 +1,59 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ChangelogCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class ChangelogCommand : Command + { + public ChangelogCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "changelog"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Changelog.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bot.license.Version botVersion = new bot.license.Version(); + StringBuilder builder = new StringBuilder(); + builder.AppendLine("NatiBot " + botVersion.ToString()); + builder.AppendLine(botVersion.Changelog); + return builder.ToString(); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/System/ClientTagsCommand.cs b/SLBot/bot/Commands/System/ClientTagsCommand.cs new file mode 100644 index 0000000..4355344 --- /dev/null +++ b/SLBot/bot/Commands/System/ClientTagsCommand.cs @@ -0,0 +1,68 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ClientTagsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + + public class ClientTagsCommand : Command + { + public ClientTagsCommand(SecondLifeBot SecondLifeBot) + { + Name = "clienttags"; + Description = bot.Localization.clResourceManager.getText("Commands.ClientTags.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + Dictionary Tags = ClientTags.ToDictionary(); + StringBuilder sbTags = new StringBuilder(); + + foreach (UUID key in Tags.Keys) + { + string name; + + if (Tags.TryGetValue(key, out name)) + { + sbTags.AppendFormat(bot.Localization.clResourceManager.getText("Commands.ClientTags.Client"), name, key.ToString()); + sbTags.AppendLine(); + } + } + + return sbTags.ToString(); + } + } +} diff --git a/SLBot/bot/Commands/System/ClockCommand.cs b/SLBot/bot/Commands/System/ClockCommand.cs new file mode 100644 index 0000000..4a51bef --- /dev/null +++ b/SLBot/bot/Commands/System/ClockCommand.cs @@ -0,0 +1,83 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ClockCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Collections.ObjectModel; + using Claunia.clUtils; + + public class ClockCommand : Command + { + public ClockCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "clock"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Clock.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + DateTime utcTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now); + DateTime localTime = DateTime.Now; + TimeZoneInfo pstZone, gmtZone; + + if (Utilities.GetRunningPlatform() == Utilities.Platform.Windows) + { + pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); + gmtZone = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"); + } + else + { + pstZone = TimeZoneInfo.FindSystemTimeZoneById("US/Pacific"); + gmtZone = TimeZoneInfo.FindSystemTimeZoneById("Atlantic/Canary"); + } + + DateTime pstTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, pstZone); + DateTime gmtTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, gmtZone); + + StringBuilder sbOutput = new StringBuilder(); + + sbOutput.AppendLine(); + sbOutput.AppendLine(bot.Localization.clResourceManager.getText("Commands.Clock.Current")); + sbOutput.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Clock.Local"), localTime).AppendLine(); + sbOutput.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Clock.UTC"), utcTime).AppendLine(); + sbOutput.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Clock.GMT"), pstTime).AppendLine(); + sbOutput.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Clock.PST"), gmtTime).AppendLine(); + + return sbOutput.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/System/DebugCommand.cs b/SLBot/bot/Commands/System/DebugCommand.cs new file mode 100644 index 0000000..8bffd12 --- /dev/null +++ b/SLBot/bot/Commands/System/DebugCommand.cs @@ -0,0 +1,67 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DebugCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + /* + public class DebugCommand : Command + { + public DebugCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "debug"; + base.Description = "Turn debug messages on or off. Usage: debug [on/off]"; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 1) + { + if (args[0].ToLower() == "on") + { + base.Client.Settings.DEBUG = true; + return "Debug logging is on"; + } + if (args[0].ToLower() == "off") + { + base.Client.Settings.DEBUG = false; + return "Debug logging is off"; + } + } + return "Usage: debug [on/off]"; + } + }*/ +} + diff --git a/SLBot/bot/Commands/System/GCCommand.cs b/SLBot/bot/Commands/System/GCCommand.cs new file mode 100644 index 0000000..e05dec2 --- /dev/null +++ b/SLBot/bot/Commands/System/GCCommand.cs @@ -0,0 +1,63 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GCCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using System; + using OpenMetaverse; + using bot; + using System.Text; + + class GCCommand : Command + { + public GCCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "gc"; + base.Description = bot.Localization.clResourceManager.getText("Commands.GC.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder sbResult = new StringBuilder(); + DateTime Start; + + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GC.Before"), GC.GetTotalMemory(false) / 1048576).AppendLine(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GC.Starting")).AppendLine(); + Start = DateTime.Now; + GC.Collect(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GC.After"), GC.GetTotalMemory(true) / 1048576).AppendLine(); + sbResult.AppendFormat(bot.Localization.clResourceManager.getText("Commands.GC.Took"), (DateTime.Now - Start).TotalSeconds).AppendLine(); + + return sbResult.ToString(); + } + } +} diff --git a/SLBot/bot/Commands/System/Help2NCCommand.cs b/SLBot/bot/Commands/System/Help2NCCommand.cs new file mode 100644 index 0000000..e3a5711 --- /dev/null +++ b/SLBot/bot/Commands/System/Help2NCCommand.cs @@ -0,0 +1,167 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Help2NCCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Assets; + + public class Help2NCCommand : Command + { + const int NOTECARD_CREATE_TIMEOUT = 2500 * 10; + const int NOTECARD_FETCH_TIMEOUT = 1500 * 10; + const int INVENTORY_FETCH_TIMEOUT = 1500 * 10; + + public Help2NCCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "help2nc"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Help2NC.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool something_else) + { + UUID notecardItemID = UUID.Zero, notecardAssetID = UUID.Zero; + string notename, notedata; + bool success = false, finalUploadSuccess = false; + string message = String.Empty; + AutoResetEvent notecardEvent = new AutoResetEvent(false); + bot.license.Version version = new license.Version(); + + string str = version.ToString() + " " + version.v_rev; + notename = string.Format(bot.Localization.clResourceManager.getText("Commands.Help2NC.Commands"), str); + + #region Create notecard + StringBuilder builder = new StringBuilder(); + builder.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Help2NC.Commands"), str).AppendLine(); + builder.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Help.Message"), new object[0]).AppendLine(); + + string[] entries = new string[base.Client.Commands.Values.Count]; + + int i = 0; + foreach (Command command in base.Client.Commands.Values) + { + entries[i] = string.Format(" * {0} - {1}\n", command.Name, command.Description); + i++; + } + + Array.Sort(entries); + + foreach (string entry in entries) + { + builder.Append(entry); + } + + notedata = builder.ToString(); + #endregion + + + #region Notecard asset data + + AssetNotecard notecard = new AssetNotecard(); + notecard.BodyText = notedata; + + notecard.Encode(); + + #endregion Notecard asset data + + Client.Inventory.RequestCreateItem(Client.Inventory.FindFolderForType(AssetType.Notecard), + notename, String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreatedBy"), notename, DateTime.Now), AssetType.Notecard, + UUID.Random(), InventoryType.Notecard, PermissionMask.All, + delegate(bool createSuccess, InventoryItem item) + { + if (createSuccess) + { + #region Upload an empty notecard asset first + + AutoResetEvent emptyNoteEvent = new AutoResetEvent(false); + AssetNotecard empty = new AssetNotecard(); + empty.BodyText = "\n"; + empty.Encode(); + + Client.Inventory.RequestUploadNotecardAsset(empty.AssetData, item.UUID, + delegate(bool uploadSuccess, string status, UUID itemID, UUID assetID) + { + notecardItemID = itemID; + notecardAssetID = assetID; + success = uploadSuccess; + message = status ?? bot.Localization.clResourceManager.getText("Commands.CreateNotecard.UnknownError"); + emptyNoteEvent.Set(); + }); + + emptyNoteEvent.WaitOne(NOTECARD_CREATE_TIMEOUT, false); + + #endregion Upload an empty notecard asset first + + if (success) + { + // Upload the actual notecard asset + Client.Inventory.RequestUploadNotecardAsset(notecard.AssetData, item.UUID, + delegate(bool uploadSuccess, string status, UUID itemID, UUID assetID) + { + notecardItemID = itemID; + notecardAssetID = assetID; + finalUploadSuccess = uploadSuccess; + message = status ?? bot.Localization.clResourceManager.getText("Commands.CreateNotecard.UnknownError"); + notecardEvent.Set(); + }); + } + else + { + notecardEvent.Set(); + } + } + else + { + message = bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreateFail"); + notecardEvent.Set(); + } + } + ); + + notecardEvent.WaitOne(NOTECARD_CREATE_TIMEOUT, false); + + if (finalUploadSuccess) + { + Client.Inventory.GiveItem(notecardItemID, notename, AssetType.Notecard, Client.MasterKey, false); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Help2NC.Sending")); + } + else + return String.Format(bot.Localization.clResourceManager.getText("Commands.CreateNotecard.CreateFailDetails"), message); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/System/HelpCommand.cs b/SLBot/bot/Commands/System/HelpCommand.cs new file mode 100644 index 0000000..237f58e --- /dev/null +++ b/SLBot/bot/Commands/System/HelpCommand.cs @@ -0,0 +1,90 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : HelpCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Text; + using System.Collections.Generic; + + public class HelpCommand : Command + { + public HelpCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "help"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Help.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder builder = new StringBuilder(); + builder.AppendLine(); + builder.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Help.Message"), new object[0]).AppendLine(); + + string[] entries = new string[base.Client.Commands.Values.Count]; + +#if DEBUG + bool doHTML = false; + + if (args.Length == 1) + if (args[0].ToLower() == "html") + doHTML = true; +#endif + + int i = 0; + foreach (Command command in base.Client.Commands.Values) + { +#if DEBUG + if (doHTML) + entries[i] = string.Format("

* {0} - {1}

\n", command.Name, command.Description); + else + entries[i] = string.Format(" * {0} - {1}\n", command.Name, command.Description); +#else + entries[i] = string.Format(" * {0} - {1}\n", command.Name, command.Description); +#endif + i++; + } + + Array.Sort(entries); + + foreach (string entry in entries) + { + builder.Append(entry); + } + + return builder.ToString(); + } + } +} + diff --git a/SLBot/bot/Commands/System/LoadCommand.cs b/SLBot/bot/Commands/System/LoadCommand.cs new file mode 100644 index 0000000..48bba04 --- /dev/null +++ b/SLBot/bot/Commands/System/LoadCommand.cs @@ -0,0 +1,60 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LoadCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Reflection; + + public class LoadCommand : Command + { + public LoadCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "load"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Load.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Load.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length < 1) + { + return bot.Localization.clResourceManager.getText("Commands.Load.Usage"); + } + string path = AppDomain.CurrentDomain.BaseDirectory + args[0] + ".dll"; + base.Client.RegisterAllCommands(Assembly.LoadFile(path)); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Load.Loaded"), path); + } + } +} + diff --git a/SLBot/bot/Commands/System/LogoutCommand.cs b/SLBot/bot/Commands/System/LogoutCommand.cs new file mode 100644 index 0000000..79fe061 --- /dev/null +++ b/SLBot/bot/Commands/System/LogoutCommand.cs @@ -0,0 +1,65 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LogoutCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class LogoutCommand : Command + { + public LogoutCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "logout"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Logout.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Logout.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 1) + { + if (args[0].ToLower() == "yes") + { + Client.Netcom.Logout(); + return bot.Localization.clResourceManager.getText("Commands.Logout.Exiting"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Logout.Usage"); + } + } + return bot.Localization.clResourceManager.getText("Commands.Logout.Usage"); + } + } +} + diff --git a/SLBot/bot/Commands/System/MD5Command.cs b/SLBot/bot/Commands/System/MD5Command.cs new file mode 100644 index 0000000..28731d4 --- /dev/null +++ b/SLBot/bot/Commands/System/MD5Command.cs @@ -0,0 +1,57 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : MD5Command.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class MD5Command : Command + { + public MD5Command(SecondLifeBot SecondLifeBot) + { + base.Name = "md5"; + base.Description = bot.Localization.clResourceManager.getText("Commands.MD5.Description") + " " + bot.Localization.clResourceManager.getText("Commands.MD5.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 1) + { + return Utils.MD5(args[0]); + } + return bot.Localization.clResourceManager.getText("Commands.MD5.Usage"); + } + } +} + diff --git a/SLBot/bot/Commands/System/MemFreeCommand.cs b/SLBot/bot/Commands/System/MemFreeCommand.cs new file mode 100644 index 0000000..901438f --- /dev/null +++ b/SLBot/bot/Commands/System/MemFreeCommand.cs @@ -0,0 +1,52 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : MemFreeCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using System; + using OpenMetaverse; + using bot; + + class MemFreeCommand : Command + { + public MemFreeCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "memfree"; + base.Description = bot.Localization.clResourceManager.getText("Commands.MemFree.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.MemFree.Using"), GC.GetTotalMemory(false) / 1048576); + } + } +} diff --git a/SLBot/bot/Commands/System/NetstatsCommand.cs b/SLBot/bot/Commands/System/NetstatsCommand.cs new file mode 100644 index 0000000..13ce28c --- /dev/null +++ b/SLBot/bot/Commands/System/NetstatsCommand.cs @@ -0,0 +1,127 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : NetstatsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using OpenMetaverse; +using OpenMetaverse.Packets; + +namespace bot.Commands +{ + public class NetstatsCommand : Command + { + public NetstatsCommand(SecondLifeBot secondLifeBot) + { + Name = "netstats"; + Description = bot.Localization.clResourceManager.getText("Commands.NetStats.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + StringBuilder output = new StringBuilder(); + if (!Client.Settings.TRACK_UTILIZATION) + { + return bot.Localization.clResourceManager.getText("Commands.NetStats.NoStats"); + } + + + StringBuilder packetOutput = new StringBuilder(); + StringBuilder capsOutput = new StringBuilder(); + + packetOutput.AppendFormat("{0,-30}|{1,4}|{2,4}|{3,-10}|{4,-10}|" + System.Environment.NewLine, "Packet Name", "Sent", "Recv", + " TX Bytes ", " RX Bytes "); + + capsOutput.AppendFormat("{0,-30}|{1,4}|{2,4}|{3,-10}|{4,-10}|" + System.Environment.NewLine, "Message Name", "Sent", "Recv", + " TX Bytes ", " RX Bytes "); + // " RX " + + long packetsSentCount = 0; + long packetsRecvCount = 0; + long packetBytesSent = 0; + long packetBytesRecv = 0; + + long capsSentCount = 0; + long capsRecvCount = 0; + long capsBytesSent = 0; + long capsBytesRecv = 0; + + foreach (KeyValuePair kvp in Client.Stats.GetStatistics()) + { + if (kvp.Value.Type == OpenMetaverse.Stats.Type.Message) + { + capsOutput.AppendFormat("{0,-30}|{1,4}|{2,4}|{3,-10}|{4,-10}|" + System.Environment.NewLine, kvp.Key, kvp.Value.TxCount, kvp.Value.RxCount, + FormatBytes(kvp.Value.TxBytes), FormatBytes(kvp.Value.RxBytes)); + + capsSentCount += kvp.Value.TxCount; + capsRecvCount += kvp.Value.RxCount; + capsBytesSent += kvp.Value.TxBytes; + capsBytesRecv += kvp.Value.RxBytes; + } + else if (kvp.Value.Type == OpenMetaverse.Stats.Type.Packet) + { + packetOutput.AppendFormat("{0,-30}|{1,4}|{2,4}|{3,-10}|{4,-10}|" + System.Environment.NewLine, kvp.Key, kvp.Value.TxCount, kvp.Value.RxCount, + FormatBytes(kvp.Value.TxBytes), FormatBytes(kvp.Value.RxBytes)); + + packetsSentCount += kvp.Value.TxCount; + packetsRecvCount += kvp.Value.RxCount; + packetBytesSent += kvp.Value.TxBytes; + packetBytesRecv += kvp.Value.RxBytes; + } + } + + capsOutput.AppendFormat("{0,30}|{1,4}|{2,4}|{3,-10}|{4,-10}|" + System.Environment.NewLine, "Capabilities Totals", capsSentCount, capsRecvCount, + FormatBytes(capsBytesSent), FormatBytes(capsBytesRecv)); + + packetOutput.AppendFormat("{0,30}|{1,4}|{2,4}|{3,-10}|{4,-10}|" + System.Environment.NewLine, "Packet Totals", packetsSentCount, packetsRecvCount, + FormatBytes(packetBytesSent), FormatBytes(packetBytesRecv)); + + return System.Environment.NewLine + capsOutput.ToString() + System.Environment.NewLine + System.Environment.NewLine + packetOutput.ToString(); + } + + public string FormatBytes(long bytes) + { + const int scale = 1024; + string[] orders = new string[] { "GiB", "MiB", "KiB", "Bytes" }; + long max = (long)Math.Pow(scale, orders.Length - 1); + + foreach (string order in orders) + { + if (bytes > max) + return string.Format("{0:##.##} {1}", decimal.Divide(bytes, max), order); + + max /= scale; + } + return "0"; + } + } +} diff --git a/SLBot/bot/Commands/System/QuitCommand.cs b/SLBot/bot/Commands/System/QuitCommand.cs new file mode 100644 index 0000000..fa66841 --- /dev/null +++ b/SLBot/bot/Commands/System/QuitCommand.cs @@ -0,0 +1,67 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : QuitCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class QuitCommand : Command + { + public QuitCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "quit"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Quit.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Quit.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 1) + { + if (args[0].ToLower() == "yes") + { + Program.NBStats.AddStatData(String.Format("{0}: Exiting natibot from {1}.", DateTime.Now, Client)); + Program.NBStats.SendStatistics(); + System.Windows.Forms.Application.Exit(); + return bot.Localization.clResourceManager.getText("Commands.Quit.Exiting"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.Quit.Usage"); + } + } + return bot.Localization.clResourceManager.getText("Commands.Quit.Usage"); + } + } +} + diff --git a/SLBot/bot/Commands/System/ScriptCommand.cs b/SLBot/bot/Commands/System/ScriptCommand.cs new file mode 100644 index 0000000..b986560 --- /dev/null +++ b/SLBot/bot/Commands/System/ScriptCommand.cs @@ -0,0 +1,77 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ScriptCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.IO; + using OpenMetaverse; + + public class ScriptCommand : Command + { + public ScriptCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "script"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Script.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Script.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.Script.Usage"); + + // Load the file + string[] lines; + try + { + lines = File.ReadAllLines(args[0]); + } + catch (Exception e) + { + return e.Message; + } + + // Execute all of the commands + for (int i = 0; i < lines.Length; i++) + { + string line = lines[i].Trim(); + + if (line.Length > 0) + //Client.ClientManager.DoCommandAll(line, UUID.Zero); + Client.DoCommand(line, fromAgentID, fromSL); + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.Script.Done"), lines.Length); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/System/SetMasterCommand.cs b/SLBot/bot/Commands/System/SetMasterCommand.cs new file mode 100644 index 0000000..85331ad --- /dev/null +++ b/SLBot/bot/Commands/System/SetMasterCommand.cs @@ -0,0 +1,100 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SetMasterCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System.Collections.Generic; + using System; + using System.Threading; + + public class SetMasterCommand : Command + { + public DateTime Created = DateTime.Now; + private UUID resolvedMasterKey = UUID.Zero; + private ManualResetEvent keyResolution = new ManualResetEvent(false); + private UUID query = UUID.Zero; + + public SetMasterCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "setmaster"; + base.Description = bot.Localization.clResourceManager.getText("Commands.SetMaster.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SetMaster.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + string masterName = String.Empty; + for (int ct = 0; ct < args.Length; ct++) + masterName = masterName + args[ct] + " "; + masterName = masterName.TrimEnd(); + + if (masterName.Length == 0) + return bot.Localization.clResourceManager.getText("Commands.SetMaster.Usage"); + + EventHandler callback = KeyResolvHandler; + Client.Directory.DirPeopleReply += callback; + + query = Client.Directory.StartPeopleSearch(masterName, 0); + + if (keyResolution.WaitOne(TimeSpan.FromMinutes(1), false)) + { + Client.MasterKey = resolvedMasterKey; + keyResolution.Reset(); + Client.Directory.DirPeopleReply -= callback; + } + else + { + keyResolution.Reset(); + Client.Directory.DirPeopleReply -= callback; + return String.Format(bot.Localization.clResourceManager.getText("Commands.SetMaster.UUIDNotFound"), masterName); + } + + // Send an Online-only IM to the new master + Client.Self.InstantMessage( + Client.MasterKey, bot.Localization.clResourceManager.getText("Commands.SetMaster.Greet")); + + return String.Format(bot.Localization.clResourceManager.getText("Commands.SetMaster.Set"), masterName, Client.MasterKey.ToString()); + } + + private void KeyResolvHandler(object sender, DirPeopleReplyEventArgs e) + { + if (query != e.QueryID) + return; + + resolvedMasterKey = e.MatchedPeople[0].AgentID; + keyResolution.Set(); + query = UUID.Zero; + } + } +} + diff --git a/SLBot/bot/Commands/System/SetMasterKeyCommand.cs b/SLBot/bot/Commands/System/SetMasterKeyCommand.cs new file mode 100644 index 0000000..017b3cf --- /dev/null +++ b/SLBot/bot/Commands/System/SetMasterKeyCommand.cs @@ -0,0 +1,77 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SetMasterKeyCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class SetMasterKeyCommand : Command + { + public DateTime Created = DateTime.Now; + + public SetMasterKeyCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "setMasterKey"; + base.Description = bot.Localization.clResourceManager.getText("Commands.SetMasterKey.Description") + " " + bot.Localization.clResourceManager.getText("Commands.SetMasterKey.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + Client.MasterKey = UUID.Parse(args[0]); + + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Avatar master = Client.Network.Simulators[i].ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return avatar.ID == Client.MasterKey; + } + ); + + if (master != null) + { + Client.Self.InstantMessage(master.ID, + bot.Localization.clResourceManager.getText("Commands.SetMaster.Greet")); + break; + } + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.SetMasterKey.Set"), Client.MasterKey.ToString()); + } + } +} + diff --git a/SLBot/bot/Commands/System/ShowEffectsCommand.cs b/SLBot/bot/Commands/System/ShowEffectsCommand.cs new file mode 100644 index 0000000..14fcb86 --- /dev/null +++ b/SLBot/bot/Commands/System/ShowEffectsCommand.cs @@ -0,0 +1,106 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ShowEffectsCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class ShowEffectsCommand : Command + { + private bool ShowEffects; + + public ShowEffectsCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "showeffects"; + base.Description = bot.Localization.clResourceManager.getText("Commands.ShowEffects.Description") + " " + bot.Localization.clResourceManager.getText("Commands.ShowEffects.Usage"); + SecondLifeBot.Avatars.ViewerEffect += new EventHandler(Avatars_ViewerEffect); + SecondLifeBot.Avatars.ViewerEffectPointAt += new EventHandler(Avatars_ViewerEffectPointAt); + SecondLifeBot.Avatars.ViewerEffectLookAt += new EventHandler(Avatars_ViewerEffectLookAt); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length == 0) + { + ShowEffects = true; + return bot.Localization.clResourceManager.getText("Commands.ShowEffects.On"); + } + else if (args.Length == 1) + { + if (args[0] == "on") + { + ShowEffects = true; + return bot.Localization.clResourceManager.getText("Commands.ShowEffects.On"); + } + else + { + ShowEffects = false; + return bot.Localization.clResourceManager.getText("Commands.ShowEffects.Off"); + } + } + else + { + return bot.Localization.clResourceManager.getText("Commands.ShowEffects.Usage"); + } + } + + void Avatars_ViewerEffectPointAt(object sender, ViewerEffectPointAtEventArgs e) + { + if (ShowEffects) + bot.Console.WriteLine( + bot.Localization.clResourceManager.getText("Commands.ShowEffects.PointAt"), + e.SourceID.ToString(), e.TargetID.ToString(), e.TargetPosition, e.PointType, e.Duration, + e.EffectID.ToString()); + } + + void Avatars_ViewerEffectLookAt(object sender, ViewerEffectLookAtEventArgs e) + { + if (ShowEffects) + bot.Console.WriteLine( + bot.Localization.clResourceManager.getText("Commands.ShowEffects.LookAt"), + e.SourceID.ToString(), e.TargetID.ToString(), e.TargetPosition, e.LookType, e.Duration, + e.EffectID.ToString()); + } + + void Avatars_ViewerEffect(object sender, ViewerEffectEventArgs e) + { + if (ShowEffects) + bot.Console.WriteLine( + bot.Localization.clResourceManager.getText("Commands.ShowEffects.Other"), + e.Type, e.SourceID.ToString(), e.TargetID.ToString(), e.TargetPosition, e.Duration, + e.EffectID.ToString()); + } + } +} + diff --git a/SLBot/bot/Commands/System/TranslateCommand.cs b/SLBot/bot/Commands/System/TranslateCommand.cs new file mode 100644 index 0000000..28e5dbf --- /dev/null +++ b/SLBot/bot/Commands/System/TranslateCommand.cs @@ -0,0 +1,64 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TranslateCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using Claunia.clUtils; + + public class TranslateCommand : Command + { + public TranslateCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "translate"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Translate.Description") + " " + bot.Localization.clResourceManager.getText("Commands.Translate.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (args.Length >= 3) + { + string text = String.Empty; + for (int ct = 2; ct < args.Length; ct++) + text += args[ct] + " "; + + string newtext = Utilities.TranslateText(text, args[0] + "|" + args[1]); + + return newtext; + } + else + return bot.Localization.clResourceManager.getText("Commands.Translate.Usage"); + } + } +} diff --git a/SLBot/bot/Commands/System/UptimeCommand.cs b/SLBot/bot/Commands/System/UptimeCommand.cs new file mode 100644 index 0000000..ad86af4 --- /dev/null +++ b/SLBot/bot/Commands/System/UptimeCommand.cs @@ -0,0 +1,56 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : UptimeCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class UptimeCommand : Command + { + public DateTime Created = DateTime.Now; + + public UptimeCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "uptime"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Uptime.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + string name = Client.ToString(); + return String.Format(bot.Localization.clResourceManager.getText("Commands.Uptime.Uptime"), name, Created, (DateTime.Now - Created)); + } + } +} + diff --git a/SLBot/bot/Commands/System/VersionCommand.cs b/SLBot/bot/Commands/System/VersionCommand.cs new file mode 100644 index 0000000..cb17344 --- /dev/null +++ b/SLBot/bot/Commands/System/VersionCommand.cs @@ -0,0 +1,62 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : VersionCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Text; + using System.Threading; + + public class VersionCommand : Command + { + public VersionCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "version"; + base.Description = bot.Localization.clResourceManager.getText("Commands.Version.Description"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + bot.license.Version botVersion = new bot.license.Version(); + StringBuilder builder = new StringBuilder(); + + builder.AppendLine(); + builder.AppendLine("NatiBot " + botVersion.ToString()); + builder.AppendFormat(bot.Localization.clResourceManager.getText("Commands.Version.CurrentSim"), this.Client.Network.CurrentSim.Name).AppendLine(); + builder.AppendLine(this.Client.Network.CurrentSim.SimVersion); + return builder.ToString(); + } + } +} \ No newline at end of file diff --git a/SLBot/bot/Commands/Textures/DumpOutfitCommand.cs b/SLBot/bot/Commands/Textures/DumpOutfitCommand.cs new file mode 100644 index 0000000..825d77c --- /dev/null +++ b/SLBot/bot/Commands/Textures/DumpOutfitCommand.cs @@ -0,0 +1,218 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : DumpOutfitCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2010 openmetaverse.org +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Imaging; + using System; + using System.Collections.Generic; + using System.IO; + using System.Text; + using System.Threading; + using OpenMetaverse.Assets; + + public class DumpOutfitCommand : Command + { + List OutfitAssets = new List(); + AssetManager.AssetReceivedCallback ImageReceivedHandler; + private string DestinationDirectory = null; + ManualResetEvent AppearanceEvent; + UUID target; + + public DumpOutfitCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "dumpoutfit"; + base.Description = bot.Localization.clResourceManager.getText("Commands.DumpOutfit.Description") + " " + bot.Localization.clResourceManager.getText("Commands.DumpOutfit.Usage"); + //this.ImageReceivedHandler = new AssetManager.ImageReceivedCallback(Assets_OnImageReceived); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + AppearanceEvent = new ManualResetEvent(false); + + DestinationDirectory = null; + + if (args.Length != 1) + return bot.Localization.clResourceManager.getText("Commands.DumpOutfit.Usage"); + + if (!UUID.TryParse(args[0], out target)) + return bot.Localization.clResourceManager.getText("Commands.DumpOutfit.Usage"); + + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Avatar targetAv; + + targetAv = Client.Network.Simulators[i].ObjectsAvatars.Find( + delegate(Avatar avatar) + { + return avatar.ID == target; + } + ); + + Program.NBStats.AddStatData(String.Format("{0}: {1} dumping outfit of {2}.", DateTime.Now.ToString(), Client, target.ToString())); + + if (targetAv != null) + { + StringBuilder output = new StringBuilder(bot.Localization.clResourceManager.getText("Commands.DumpOutfit.Downloading") + " "); + + lock (OutfitAssets) + OutfitAssets.Clear(); + //Client.Assets.OnImageReceived += ImageReceivedHandler; + + if (targetAv.Textures == null) + { + Client.Avatars.AvatarAppearance += new EventHandler(Avatars_AvatarAppearance); + Client.Avatars.RequestAvatarProperties(target); + Client.Objects.RequestObject(Client.Network.CurrentSim, targetAv.LocalID); + if (!AppearanceEvent.WaitOne(15000, false)) + { + Client.Avatars.AvatarAppearance -= Avatars_AvatarAppearance; + return "Unable to get appearance"; //TRANSLATE + } + Client.Avatars.AvatarAppearance -= Avatars_AvatarAppearance; + } + + if (targetAv.Textures == null) + return "Unable to get appearance"; //TRANSLATE + + for (int j = 0; j < targetAv.Textures.FaceTextures.Length; j++) + { + Primitive.TextureEntryFace face = targetAv.Textures.FaceTextures[j]; + + if (face != null) + { + ImageType type = ImageType.Normal; + + switch ((AvatarTextureIndex)j) + { + case AvatarTextureIndex.HeadBaked: + case AvatarTextureIndex.EyesBaked: + case AvatarTextureIndex.UpperBaked: + case AvatarTextureIndex.LowerBaked: + case AvatarTextureIndex.SkirtBaked: + type = ImageType.Baked; + break; + } + + OutfitAssets.Add(face.TextureID); + //Client.Assets.RequestImage(face.TextureID, type, 100000.0f, 0); + + if (DestinationDirectory == null) + { + + DestinationDirectory = "./outfits/" + targetAv.FirstName + "_" + targetAv.LastName + + System.DateTime.Now.Year.ToString() + + System.DateTime.Now.Month.ToString() + + System.DateTime.Now.Day.ToString() + + System.DateTime.Now.Hour.ToString() + + //System.DateTime.Now.Minute.ToString() + + //System.DateTime.Now.Second.ToString() + + "/"; + } + + if (!Directory.Exists(DestinationDirectory)) + Directory.CreateDirectory(DestinationDirectory); + + Client.Assets.RequestImage(face.TextureID, type, Assets_OnImageReceived); + //Client.Assets.RequestImage(face.TextureID, type, 100000.0f, 0, 0); + + output.Append(((AvatarTextureIndex)j).ToString()); + output.Append(" "); + } + } + + return output.ToString(); + } + } + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.DumpOutfit.NotFound"), target.ToString()); + } + + private void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + if (e.AvatarID == target) + AppearanceEvent.Set(); + } + + private void Assets_OnImageReceived(TextureRequestState state, AssetTexture asset) + { + + if (state == TextureRequestState.Finished /*&& Textures.Contains(asset.AssetID)*/) + { + /*lock (Textures) + Textures.Remove(asset.AssetID);*/ + // CLAUNIA : Still trying to solve this + + if (state == TextureRequestState.Finished) + { + try + { + File.WriteAllBytes(DestinationDirectory + asset.AssetID + ".jp2", asset.AssetData); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + + if (asset.Decode()) + { + try + { + File.WriteAllBytes(DestinationDirectory + asset.AssetID + ".tga", asset.Image.ExportTGA()); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, Client); + } + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDecode"), asset.AssetID); + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.ImageDownloaded"), asset.AssetID); + } + else + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Assets.Image.FailDownload"), asset.AssetID, state); + } + } + } + } +} + diff --git a/SLBot/bot/Commands/Textures/FindTextureCommand.cs b/SLBot/bot/Commands/Textures/FindTextureCommand.cs new file mode 100644 index 0000000..d8e74b1 --- /dev/null +++ b/SLBot/bot/Commands/Textures/FindTextureCommand.cs @@ -0,0 +1,82 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : FindTextureCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2010 openmetaverse.org +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using OpenMetaverse; + using System; + + public class FindTextureCommand : Command + { + public FindTextureCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "findtexture"; + base.Description = bot.Localization.clResourceManager.getText("Commands.FindTexture.Description") + " " + bot.Localization.clResourceManager.getText("Commands.FindTexture.Usage"); + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + int faceIndex; + UUID textureID; + + if (args.Length != 2) + return bot.Localization.clResourceManager.getText("Commands.FindTexture.Usage"); + + if (Int32.TryParse(args[0], out faceIndex) && + UUID.TryParse(args[1], out textureID)) + { + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Textures != null && prim.Textures.FaceTextures[faceIndex] != null) + { + if (prim.Textures.FaceTextures[faceIndex].TextureID == textureID) + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Commands.FindTexture.Info"), + prim.ID.ToString(), prim.LocalID, faceIndex, textureID.ToString()); + } + } + } + ); + + return bot.Localization.clResourceManager.getText("Commands.FindTexture.Done"); + } + else + { + return bot.Localization.clResourceManager.getText("Commands.FindTexture.Usage"); + } + } + } +} + diff --git a/SLBot/bot/Commands/Voice/ParcelVoiceInfoCommand.cs b/SLBot/bot/Commands/Voice/ParcelVoiceInfoCommand.cs new file mode 100644 index 0000000..d03a9d7 --- /dev/null +++ b/SLBot/bot/Commands/Voice/ParcelVoiceInfoCommand.cs @@ -0,0 +1,101 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ParcelVoiceInfoCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2010 openmetaverse.org +****************************************************************************/ +namespace bot.Commands +{ + using bot; + using System; + using System.Collections.Generic; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Packets; + + public class ParcelVoiceInfoCommand : Command + { + private AutoResetEvent ParcelVoiceInfoEvent = new AutoResetEvent(false); + private string VoiceRegionName = null; + private int VoiceLocalID = -1; + private string VoiceChannelURI = null; + + public ParcelVoiceInfoCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "voiceparcel"; + base.Description = bot.Localization.clResourceManager.getText("Commands.VoiceParcel.Description"); + } + + private bool registered = false; + + private bool IsVoiceManagerRunning() + { + if (null == Client.VoiceManager) + return false; + + if (!registered) + { + Client.VoiceManager.OnParcelVoiceInfo += Voice_OnParcelVoiceInfo; + registered = true; + } + return true; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (!IsVoiceManagerRunning()) + return String.Format(bot.Localization.clResourceManager.getText("Commands.VoiceAccount.NotRunning"), fromAgentID); + + if (!Client.VoiceManager.RequestParcelVoiceInfo()) + { + return bot.Localization.clResourceManager.getText("Commands.VoiceParcel.GridFail"); + } + ParcelVoiceInfoEvent.WaitOne(30 * 1000, false); + + if (String.IsNullOrEmpty(VoiceRegionName) && -1 == VoiceLocalID) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.VoiceParcel.Failed"), Client.Self.Name); + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.VoiceParcel.VoiceInfo"), + Client.Self.Name, VoiceRegionName, VoiceLocalID, VoiceChannelURI); + } + + + void Voice_OnParcelVoiceInfo(string regionName, int localID, string channelURI) + { + VoiceRegionName = regionName; + VoiceLocalID = localID; + VoiceChannelURI = channelURI; + + ParcelVoiceInfoEvent.Set(); + } + } +} diff --git a/SLBot/bot/Commands/Voice/VoiceAcountCommand.cs b/SLBot/bot/Commands/Voice/VoiceAcountCommand.cs new file mode 100644 index 0000000..a3bf053 --- /dev/null +++ b/SLBot/bot/Commands/Voice/VoiceAcountCommand.cs @@ -0,0 +1,97 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : VoiceAccountCommand.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2010 openmetaverse.org +****************************************************************************/ +namespace bot.Commands +{ + using System; + using System.Collections.Generic; + using System.Threading; + using OpenMetaverse; + using OpenMetaverse.Packets; + + public class VoiceAccountCommand : Command + { + private AutoResetEvent ProvisionEvent = new AutoResetEvent(false); + private string VoiceAccount = null; + private string VoicePassword = null; + + public VoiceAccountCommand(SecondLifeBot SecondLifeBot) + { + base.Name = "voiceaccount"; + base.Description = bot.Localization.clResourceManager.getText("Commands.VoiceAccount.Description"); + } + + private bool registered = false; + + private bool IsVoiceManagerRunning() + { + if (null == Client.VoiceManager) + return false; + + if (!registered) + { + Client.VoiceManager.OnProvisionAccount += Voice_OnProvisionAccount; + registered = true; + } + return true; + } + + public override string Execute(string[] args, UUID fromAgentID, bool fromSL) + { + if (!IsVoiceManagerRunning()) + return String.Format(bot.Localization.clResourceManager.getText("Commands.VoiceAccount.NotRunning"), Client.Self.Name); + + if (!Client.VoiceManager.RequestProvisionAccount()) + { + return bot.Localization.clResourceManager.getText("Commands.VoiceAccount.GridFail"); + } + ProvisionEvent.WaitOne(30 * 1000, false); + + if (String.IsNullOrEmpty(VoiceAccount) && String.IsNullOrEmpty(VoicePassword)) + { + return String.Format(bot.Localization.clResourceManager.getText("Commands.VoiceAccount.LookupFail"), Client.Self.Name); + } + + return String.Format(bot.Localization.clResourceManager.getText("Commands.VoiceAccount.VoiceInfo"), + Client.Self.Name, VoiceAccount, VoicePassword); + } + + void Voice_OnProvisionAccount(string username, string password) + { + VoiceAccount = username; + VoicePassword = password; + + ProvisionEvent.Set(); + } + } +} diff --git a/SLBot/bot/Console.cs b/SLBot/bot/Console.cs new file mode 100644 index 0000000..c8a97b9 --- /dev/null +++ b/SLBot/bot/Console.cs @@ -0,0 +1,90 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Console.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using bot.GUI; + using System; + using System.Collections.Generic; + + + public static class Console + { + public delegate void ConsoleWriteCallback(string message); + + public static event ConsoleWriteCallback OnConsoleWrite; + + private static void BotForm_OnInputSend(string msg) + { + WriteLine(msg); + } + + public static void Initialize(frmConsole mainForm) + { + mainForm.OnInputSend += new frmConsole.InputSendCallback(bot.Console.BotForm_OnInputSend); + } + + public static void WriteLine(string msg) + { + if (OnConsoleWrite != null) + { + OnConsoleWrite(msg); + } + } + + public static void WriteLine(SecondLifeBot client, string msg) + { + WriteLine(client.LoginDetails.FullName + "> " + msg); + } + + public static void WriteLine(string format, object arg0) + { + WriteLine(string.Format(format, arg0)); + } + + public static void WriteLine(string format, params object[] arg) + { + WriteLine(string.Format(format, arg)); + } + + public static void WriteLine(SecondLifeBot client, string format, object arg0) + { + WriteLine(client, string.Format(format, arg0)); + } + + public static void WriteLine(SecondLifeBot client, string format, params object[] arg) + { + WriteLine(client, string.Format(format, arg)); + } + } +} + diff --git a/SLBot/bot/GUI/InterfacePlugins/libsl_Interface.cs b/SLBot/bot/GUI/InterfacePlugins/libsl_Interface.cs new file mode 100644 index 0000000..3ee981a --- /dev/null +++ b/SLBot/bot/GUI/InterfacePlugins/libsl_Interface.cs @@ -0,0 +1,56 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : libsl_interface.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Windows.Forms; +using System.Collections.Generic; +using OpenMetaverse; + +namespace bot.GUI +{ + public abstract class Interface + { + public string Name; + public string Description; + public GridClient Client; + public TabPage TabPage; + + public abstract void Initialize(); + + public abstract void Paint(object sender, PaintEventArgs e); + + /// + /// When set to true, think will be called. + /// + public bool Active; + } +} diff --git a/SLBot/bot/GUI/controls/AccountList.cs b/SLBot/bot/GUI/controls/AccountList.cs new file mode 100644 index 0000000..ac075ed --- /dev/null +++ b/SLBot/bot/GUI/controls/AccountList.cs @@ -0,0 +1,105 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AccountList.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using OpenMetaverse; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; + +namespace bot.GUI +{ + /// + /// ListView GUI component for viewing a client's nearby avatars list + /// + public class AccountList : ListView + { + private ListColumnSorterNormal _ColumnSorter = new ListColumnSorterNormal(); + + /// + /// TreeView control for an unspecified client's nearby avatar list + /// + public AccountList() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + ColumnHeader header1 = this.Columns.Add(bot.Localization.clResourceManager.getText("frmMain.ClName")); + header1.Width = 170; + + ColumnHeader header2 = this.Columns.Add(bot.Localization.clResourceManager.getText("frmMain.ClStatus")); + header2.Width = 118; + + ColumnHeader header3 = this.Columns.Add(bot.Localization.clResourceManager.getText("frmMain.clMaster")); + header3.Width = 170; + + ColumnHeader header4 = this.Columns.Add(bot.Localization.clResourceManager.getText("frmMain.clLocation")); + header4.Width = 188; + + ColumnHeader header5 = this.Columns.Add(bot.Localization.clResourceManager.getText("frmMain.clMoney")); + header5.Width = 78; + + this.MultiSelect = false; + this.SelectedIndexChanged += new EventHandler(AvatarList_SelectedIndexChanged); + + _ColumnSorter.SortColumn = 1; + this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + + this.DoubleBuffered = true; + this.FullRowSelect = true; + this.ListViewItemSorter = _ColumnSorter; + this.View = View.Details; + this.ColumnClick += new ColumnClickEventHandler(AvatarList_ColumnClick); + this.DoubleClick += new EventHandler(AvatarList_DoubleClick); + } + + void AvatarList_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + void AvatarList_ColumnClick(object sender, ColumnClickEventArgs e) + { + _ColumnSorter.SortColumn = e.Column; + if ((_ColumnSorter.Ascending = (this.Sorting == SortOrder.Ascending))) this.Sorting = SortOrder.Descending; + else this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + } + + void AvatarList_DoubleClick(object sender, EventArgs e) + { + + } + + } +} diff --git a/SLBot/bot/GUI/controls/AvatarList.cs b/SLBot/bot/GUI/controls/AvatarList.cs new file mode 100644 index 0000000..280c649 --- /dev/null +++ b/SLBot/bot/GUI/controls/AvatarList.cs @@ -0,0 +1,815 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AvatarList.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2009 openmetaverse.org +****************************************************************************/ + + +// Copied from OpenMetaverse.GUI +/* + * Copyright (c) 2007-2009, openmetaverse.org + * All rights reserved. + * + * - Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * - Neither the name of the openmetaverse.org nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +using OpenMetaverse; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; + +namespace bot.GUI +{ + + /// + /// ListView GUI component for viewing a client's nearby avatars list + /// + public class AvatarList : ListView + { + private SecondLifeBot _Client; + private ListColumnSorter _ColumnSorter = new ListColumnSorter(); + private TrackedAvatar _SelectedAvatar; + + private frmProfile _frmProfile; + + private DoubleDictionary _TrackedAvatars = new DoubleDictionary(); + private Dictionary _UntrackedAvatars = new Dictionary(); + + public delegate void AvatarCallback(TrackedAvatar trackedAvatar); + + /// + /// Triggered when the user double clicks on an avatar in the list + /// + public event AvatarCallback OnAvatarDoubleClick; + + /// + /// Triggered when a new avatar is added to the list + /// + public event AvatarCallback OnAvatarAdded; + + /// + /// Triggered when an avatar is removed from the list + /// + public event AvatarCallback OnAvatarRemoved; + + /// + /// Gets or sets the GridClient associated with this control + /// + public SecondLifeBot Client + { + get { return _Client; } + set + { + if (value != null) + InitializeClient(value); + } + } + + /// + /// Returns the current selected avatar in the tracked avatars list + /// + public TrackedAvatar SelectedAvatar + { + get { return _SelectedAvatar; } + } + + /// + /// TreeView control for an unspecified client's nearby avatar list + /// + public AvatarList() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + ColumnHeader header1 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Name")); + header1.Width = 192; + + ColumnHeader header2 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Distance")); + header2.Width = 58; + + ColumnHeader header3 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Viewer")); + header3.Width = 120; + + ColumnHeader header4 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Position")); + header4.Width = 116; + + this.MultiSelect = false; + this.SelectedIndexChanged += new EventHandler(AvatarList_SelectedIndexChanged); + + _ColumnSorter.SortColumn = 1; + this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + + EventHandler clickHandler = new EventHandler(defaultMenuItem_Click); + this.ContextMenu = new ContextMenu(); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.CopyID"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.ShowProfile"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferTP"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.TPTo"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WalkTo"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.SendMessage"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.ListAttachs"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.DumpAttachs"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.DumpOutfit"), clickHandler); + this.ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriendship"), clickHandler); + + this.DoubleBuffered = true; + this.ListViewItemSorter = _ColumnSorter; + this.View = View.Details; + this.ColumnClick += new ColumnClickEventHandler(AvatarList_ColumnClick); + this.DoubleClick += new EventHandler(AvatarList_DoubleClick); + } + + void AvatarList_SelectedIndexChanged(object sender, EventArgs e) + { + lock (_TrackedAvatars) + { + lock (_UntrackedAvatars) + { + if (this.SelectedItems.Count > 0) + { + UUID selectedID = new UUID(this.SelectedItems[0].Name); + TrackedAvatar selectedAV; + if (!_TrackedAvatars.TryGetValue(selectedID, out selectedAV) && !_UntrackedAvatars.TryGetValue(selectedID, out selectedAV)) + selectedAV = null; + + _SelectedAvatar = selectedAV; + } + } + } + } + + /// + /// Thread-safe method for clearing the TreeView control + /// + public void ClearItems() + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + ClearItems(); + }); + else + { + if (this.Handle != IntPtr.Zero) + this.Items.Clear(); + } + } + + public TrackedAvatar GetAvatar(UUID avatarID) + { + TrackedAvatar av; + _TrackedAvatars.TryGetValue(avatarID, out av); + return av; + } + + private void InitializeClient(SecondLifeBot client) + { + _Client = client; + _Client.Avatars.AvatarAppearance += Avatars_OnAvatarAppearance; + _Client.Avatars.UUIDNameReply += new EventHandler(Avatars_UUIDNameReply); + _Client.Grid.CoarseLocationUpdate += Grid_CoarseLocationUpdate; + _Client.Network.SimChanged += Network_OnCurrentSimChanged; + _Client.Objects.AvatarUpdate += Objects_OnNewAvatar; + _Client.Objects.TerseObjectUpdate += Objects_OnObjectUpdated; + } + + void Avatars_UUIDNameReply(object sender, UUIDNameReplyEventArgs e) + { + lock (_UntrackedAvatars) + { + foreach (KeyValuePair name in e.Names) + { + TrackedAvatar trackedAvatar; + if (_UntrackedAvatars.TryGetValue(name.Key, out trackedAvatar)) + { + trackedAvatar.Name = name.Value; + + if (OnAvatarAdded != null && trackedAvatar.ListViewItem.Text == bot.Localization.clResourceManager.getText("Controls.Loading")) + { + try + { + OnAvatarAdded(trackedAvatar); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); + } + } + + this.BeginInvoke((MethodInvoker)delegate + { + trackedAvatar.ListViewItem.Text = name.Value; + }); + } + } + } + } + + void Grid_CoarseLocationUpdate(object sender, CoarseLocationUpdateEventArgs e) + { + UpdateCoarseInfo(e.Simulator, e.NewEntries, e.RemovedEntries); + } + + public void InitializateAvatars() + { + lock (Client.Network.Simulators) + { + for (int i = 0; i < Client.Network.Simulators.Count; i++) + { + Client.Network.Simulators[i].ObjectsAvatars.ForEach( + delegate(Avatar av) + { + Vector3 coarsePos; + if (!Client.Network.Simulators[i].AvatarPositions.TryGetValue(av.ID, out coarsePos)) + coarsePos = Vector3.Zero; + coarsePos.Z = av.Position.Z; + this.BeginInvoke((MethodInvoker)delegate + { + AddAvatar(av.ID, av, coarsePos); + }); + }); + } + } + } + + private void AddAvatar(UUID avatarID, Avatar avatar, Vector3 coarsePosition) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + AddAvatar(avatar.ID, avatar, coarsePosition); + }); + else + { + TrackedAvatar trackedAvatar = new TrackedAvatar(); + trackedAvatar.CoarseLocation = coarsePosition; + trackedAvatar.ID = avatarID; + trackedAvatar.ListViewItem = this.Items.Add(avatarID.ToString(), trackedAvatar.Name, null); + trackedAvatar.ListViewItem.Name = avatarID.ToString(); + + string strDist = avatarID == _Client.Self.AgentID ? "--" : (int)Vector3.Distance(_Client.Self.SimPosition, coarsePosition) + "m"; + trackedAvatar.ListViewItem.SubItems.Add(strDist); + + if (avatar != null) + { + string ViewerName; + Dictionary ClientNames = ClientTags.ToDictionary(); + + if (avatar.Textures == null) + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unknown"); + else + { + if (avatar.Textures.FaceTextures[(int)AvatarTextureIndex.HeadBodypaint] != null) + { + if (!ClientNames.TryGetValue(avatar.Textures.FaceTextures[(int)AvatarTextureIndex.HeadBodypaint].TextureID, out ViewerName)) + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unidentified"); + } + else + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unknown"); + } + + trackedAvatar.ListViewItem.SubItems.Add(ViewerName); + } + else + { + trackedAvatar.ListViewItem.SubItems.Add(bot.Localization.clResourceManager.getText("Viewer.Unknown")); + } + + trackedAvatar.ListViewItem.SubItems.Add(coarsePosition.ToString()); + + if (avatar != null) + { + trackedAvatar.Name = avatar.Name; + trackedAvatar.ListViewItem.Text = avatar.Name; + + lock (_TrackedAvatars) + { + if (_TrackedAvatars.ContainsKey(avatarID)) + _TrackedAvatars.Remove(avatarID); + + _TrackedAvatars.Add(avatar.LocalID, avatarID, trackedAvatar); + } + + if (OnAvatarAdded != null) + { + try + { + OnAvatarAdded(trackedAvatar); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); + } + } + } + else + { + lock (_UntrackedAvatars) + { + _UntrackedAvatars.Add(avatarID, trackedAvatar); + + trackedAvatar.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.GrayText); + + if (avatarID == _Client.Self.AgentID) + { + trackedAvatar.Name = _Client.Self.Name; + trackedAvatar.ListViewItem.Text = _Client.Self.Name; + } + else if (_Client.Network.Connected) + Client.Avatars.RequestAvatarName(avatarID); + } + } + + } + } + + private void RemoveAvatar(UUID id) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + RemoveAvatar(id); + }); + else + { + TrackedAvatar trackedAvatar; + + lock (_TrackedAvatars) + { + if (_TrackedAvatars.TryGetValue(id, out trackedAvatar)) + { + this.Items.Remove(trackedAvatar.ListViewItem); + _TrackedAvatars.Remove(id); + } + } + + lock (_UntrackedAvatars) + { + if (_UntrackedAvatars.TryGetValue(id, out trackedAvatar)) + { + this.Items.Remove(trackedAvatar.ListViewItem); + _UntrackedAvatars.Remove(trackedAvatar.ID); + } + } + + if (OnAvatarRemoved != null) + { + try + { + OnAvatarRemoved(trackedAvatar); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); + } + } + } + } + + private void UpdateAvatar(Avatar avatar) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + UpdateAvatar(avatar); + }); + else + { + TrackedAvatar trackedAvatar; + bool found; + + lock (_UntrackedAvatars) + found = _UntrackedAvatars.TryGetValue(avatar.ID, out trackedAvatar); + + if (found) + { + trackedAvatar.Name = avatar.Name; + trackedAvatar.ListViewItem.Text = avatar.Name; + trackedAvatar.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.ControlText); + + lock (_TrackedAvatars) + _TrackedAvatars.Add(avatar.LocalID, avatar.ID, trackedAvatar); + _UntrackedAvatars.Remove(avatar.ID); + } + + lock (_TrackedAvatars) + found = _TrackedAvatars.TryGetValue(avatar.ID, out trackedAvatar); + + if (found) + { + string strDist = avatar.ID == _Client.Self.AgentID ? "--" : (int)Vector3.Distance(_Client.Self.SimPosition, avatar.Position) + "m"; + trackedAvatar.ListViewItem.SubItems[1].Text = strDist; + trackedAvatar.ListViewItem.SubItems[3].Text = avatar.Position.ToString(); + } + else + { + AddAvatar(avatar.ID, avatar, Vector3.Zero); + } + + this.Sort(); + } + } + + private void UpdateCoarseInfo(Simulator sim, List newEntries, List removedEntries) + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + UpdateCoarseInfo(sim, newEntries, removedEntries); + }); + else + { + if (sim == null) + return; + + if (removedEntries != null) + { + for (int i = 0; i < removedEntries.Count; i++) + RemoveAvatar(removedEntries[i]); + } + + if (newEntries != null) + { + for (int i = 0; i < newEntries.Count; i++) + { + int index = this.Items.IndexOfKey(newEntries[i].ToString()); + if (index == -1) + { + Vector3 coarsePos; + if (!sim.AvatarPositions.TryGetValue(newEntries[i], out coarsePos)) + continue; + + AddAvatar(newEntries[i], null, coarsePos); + } + } + } + } + } + + private void defaultMenuItem_Click(object sender, EventArgs e) + { + MenuItem menuItem = (MenuItem)sender; + + int MenuIndex; + + if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.CopyID")) + MenuIndex = 1; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.ShowProfile")) + MenuIndex = 2; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferTP")) + MenuIndex = 3; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.TPTo")) + MenuIndex = 4; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WalkTo")) + MenuIndex = 5; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.SendMessage")) + MenuIndex = 6; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriendship")) + MenuIndex = 7; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.ListAttachs")) + MenuIndex = 8; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.DumpAttachs")) + MenuIndex = 9; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.DumpOutfit")) + MenuIndex = 10; + else + return; + + switch (MenuIndex) + { + case 1: + { + Clipboard.SetText(_SelectedAvatar.ID.ToString().ToUpper(), TextDataFormat.Text); + break; + } + case 2: + { + _frmProfile = new frmProfile(_Client, _SelectedAvatar.ID); + _frmProfile.RefreshInfo(); + _frmProfile.Show(); + break; + } + case 3: + { + frmDialog _frmDialog = new frmDialog(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferTP.DialogTitle"), + String.Format(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferTP.DialogLabel"), _SelectedAvatar.Name), + bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Message")); + + DialogResult _result = _frmDialog.ShowDialog(); + if (_result == DialogResult.OK) + { + this.Client.Self.SendTeleportLure(_SelectedAvatar.ID, _frmDialog._output); + } + + break; + } + case 4: + { + Vector3 pos; + if (Client.Network.CurrentSim.AvatarPositions.TryGetValue(_SelectedAvatar.ID, out pos)) + Client.Self.Teleport(Client.Network.CurrentSim.Name, pos); + + break; + } + case 5: + { + Vector3 pos; + if (Client.Network.CurrentSim.AvatarPositions.TryGetValue(_SelectedAvatar.ID, out pos)) + Client.Self.AutoPilotLocal((int)pos.X, (int)pos.Y, pos.Z); + + break; + } + case 6: + { + frmDialog _frmDialog = new frmDialog(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.SendIM.DialogTitle"), + String.Format(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.SendIM.DialogLabel"), _SelectedAvatar.Name), + ""); + + DialogResult _result = _frmDialog.ShowDialog(); + if (_result == DialogResult.OK) + { + this.Client.Self.InstantMessage(_SelectedAvatar.ID, _frmDialog._output); + + bot.Chat.structInstantMessage sim; + InstantMessage im = new InstantMessage(); + + im.Message = _frmDialog._output; + im.FromAgentID = _SelectedAvatar.ID; + im.FromAgentName = _SelectedAvatar.Name; + im.Dialog = InstantMessageDialog.MessageFromAgent; + + sim.client = this._Client; + sim.isReceived = false; + sim.message = im; + sim.simulator = this._Client.Network.CurrentSim; + sim.timestamp = DateTime.Now; + + bot.Chat.receivedIM(sim); + } + + break; + } + case 7: + { + if (_Client.Friends.FriendList.ContainsKey(_SelectedAvatar.ID)) + { + MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriend.AlreadyDialogLabel"), _SelectedAvatar.Name), + bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriend.AlreadyDialogTitle"), MessageBoxButtons.OK); + } + else + { + frmDialog _frmDialog = new frmDialog(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriend.DialogTitle"), + String.Format(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriend.DialogLabel"), _SelectedAvatar.Name), + bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.OfferFriend.Message")); + + DialogResult _result = _frmDialog.ShowDialog(); + if (_result == DialogResult.OK) + { + this.Client.Friends.OfferFriendship(_SelectedAvatar.ID, _frmDialog._output); + } + } + break; + } + case 8: + { + string _result = _Client.DoCommandReturn("attachmentsuuid " + _SelectedAvatar.ID.ToString(), + _Client.MasterKey, true); + frmResult _frmResult = new frmResult(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.ListAttachsResultLabel"), + String.Format(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.ListAttachsResultTitle"), SelectedAvatar.Name), + _result); + + _frmResult.ShowDialog(); + break; + } + case 9: + { + DialogResult _dresult = MessageBox.Show(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine2") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine3"), bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine3"), + MessageBoxButtons.YesNo); + if (_dresult == DialogResult.Yes) + { + string _result = _Client.DoCommandReturn("dumpattachments " + _SelectedAvatar.ID.ToString(), + _Client.MasterKey, true); + frmResult _frmResult = new frmResult(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.DumpAttachsDumped"), "", _result); + + _frmResult.ShowDialog(); + } + + break; + } + case 10: + { + DialogResult _dresult = MessageBox.Show(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine2") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine3"), bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.WarningLine3"), + MessageBoxButtons.YesNo); + if (_dresult == DialogResult.Yes) + { + string _result = _Client.DoCommandReturn("dumpoutfit " + _SelectedAvatar.ID.ToString(), + _Client.MasterKey, true); + frmResult _frmResult = new frmResult(bot.Localization.clResourceManager.getText("Controls.AvatarList.Menu.DumpOutfitDumped"), "", _result); + + _frmResult.ShowDialog(); + } + + break; + } + } + } + + void AvatarList_ColumnClick(object sender, ColumnClickEventArgs e) + { + _ColumnSorter.SortColumn = e.Column; + if ((_ColumnSorter.Ascending = (this.Sorting == SortOrder.Ascending))) + this.Sorting = SortOrder.Descending; + else + this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + } + + void AvatarList_DoubleClick(object sender, EventArgs e) + { + if (OnAvatarDoubleClick != null) + { + ListView list = (ListView)sender; + if (list.SelectedItems.Count > 0) + { + TrackedAvatar trackedAvatar; + if (!_TrackedAvatars.TryGetValue(new UUID(list.SelectedItems[0].Name), out trackedAvatar) + && !_UntrackedAvatars.TryGetValue(new UUID(list.SelectedItems[0].Name), out trackedAvatar)) + return; + + try + { + OnAvatarDoubleClick(trackedAvatar); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); + } + } + } + } + + void Avatars_OnAvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + TrackedAvatar trackedAvatar; + bool foundAvatar; + + lock (_TrackedAvatars) + foundAvatar = _TrackedAvatars.TryGetValue(e.AvatarID, out trackedAvatar); + + if (e.VisualParams.Count > 31) + { + if (foundAvatar) + { + this.BeginInvoke((MethodInvoker)delegate + { + byte param = e.VisualParams[31]; + if (param > 0) + trackedAvatar.ListViewItem.ForeColor = Color.Blue; + else + trackedAvatar.ListViewItem.ForeColor = Color.Magenta; + }); + } + } + + if (foundAvatar) + { + + this.BeginInvoke((MethodInvoker)delegate + { + string ViewerName; + Dictionary ClientNames = ClientTags.ToDictionary(); + + if (e.FaceTextures == null) + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unknown"); + else + { + if (e.FaceTextures[(int)AvatarTextureIndex.HeadBodypaint] != null) + { + if (!ClientNames.TryGetValue(e.FaceTextures[(int)AvatarTextureIndex.HeadBodypaint].TextureID, out ViewerName)) + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unidentified"); + } + else + ViewerName = bot.Localization.clResourceManager.getText("Viewer.Unidentified"); + } + + trackedAvatar.ListViewItem.SubItems[2].Text = ViewerName; + }); + } + } + + void Network_OnCurrentSimChanged(object sender, SimChangedEventArgs e) + { + lock (_TrackedAvatars) + _TrackedAvatars.Clear(); + + lock (_UntrackedAvatars) + _UntrackedAvatars.Clear(); + + ClearItems(); + } + + void Objects_OnNewAvatar(object sender, AvatarUpdateEventArgs e) + { + UpdateAvatar(e.Avatar); + } + + void Objects_OnObjectUpdated(object sender, TerseObjectUpdateEventArgs e) + { + bool found; + lock (_TrackedAvatars) + found = _TrackedAvatars.ContainsKey(e.Update.LocalID); + + if (found) + { + Avatar av; + if (e.Simulator.ObjectsAvatars.TryGetValue(e.Update.LocalID, out av)) + UpdateAvatar(av); + } + } + } + + /// + /// Contains any available information for an avatar in the simulator. + /// A null value for .Avatar indicates coarse data for an avatar outside of visible range. + /// + public class TrackedAvatar + { + /// Assigned if the avatar is within visible range + public Avatar Avatar = null; + + /// Last known coarse location of avatar + public Vector3 CoarseLocation; + + /// Avatar ID + public UUID ID; + + /// ListViewItem associated with this avatar + public ListViewItem ListViewItem; + + /// Populated by RequestAvatarName if avatar is not visible + public string Name = bot.Localization.clResourceManager.getText("Controls.Loading"); + } + +} diff --git a/SLBot/bot/GUI/controls/GroupList.cs b/SLBot/bot/GUI/controls/GroupList.cs new file mode 100644 index 0000000..f2349bf --- /dev/null +++ b/SLBot/bot/GUI/controls/GroupList.cs @@ -0,0 +1,183 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : GroupList.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2009 openmetaverse.org +****************************************************************************/ + +// Copied from OpenMetaverse +/* + * Copyright (c) 2007-2009, openmetaverse.org + * All rights reserved. + * + * - Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * - Neither the name of the openmetaverse.org nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; +using OpenMetaverse; + +namespace bot.GUI +{ + + /// + /// ListView GUI component for viewing a client's group list + /// + public class GroupList : ListView + { + private GridClient _Client; + private ListColumnSorterNormal _ColumnSorter = new ListColumnSorterNormal(); + + public delegate void GroupDoubleClickCallback(Group group); + + /// + /// Triggered when the user double clicks on a group in the list + /// + public event GroupDoubleClickCallback OnGroupDoubleClick; + + /// + /// Gets or sets the GridClient associated with this control + /// + public GridClient Client + { + get { return _Client; } + set + { + if (value != null) + InitializeClient(value); + } + } + + /// + /// TreeView control for an unspecified client's group list + /// + public GroupList() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + ColumnHeader header1 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.GroupList.Column")); + header1.Width = this.Width + 20; + + this.DoubleBuffered = true; + this.ListViewItemSorter = _ColumnSorter; + this.View = View.Details; + + this.ColumnClick += new ColumnClickEventHandler(GroupList_ColumnClick); + this.DoubleClick += new System.EventHandler(GroupList_DoubleClick); + } + + /// + /// TreeView control for the specified client's group list + /// + public GroupList(GridClient client) : this() + { + InitializeClient(client); + } + + private void InitializeClient(GridClient client) + { + _Client = client; + _Client.Groups.CurrentGroups += Groups_CurrentGroups; + _Client.Groups.RequestCurrentGroups(); + } + + void Groups_CurrentGroups(object sender, CurrentGroupsEventArgs e) + { + RefreshGroups(e.Groups); + } + + private void RefreshGroups(Dictionary groups) + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + RefreshGroups(groups); + }); + else + { + this.Items.Clear(); + foreach (KeyValuePair group in groups) + this.Items.Add(group.Key.ToString(), group.Value.Name, null).Tag = group.Value; + } + } + + private void GroupList_ColumnClick(object sender, ColumnClickEventArgs e) + { + if ((_ColumnSorter.Ascending = (this.Sorting == SortOrder.Ascending))) + this.Sorting = SortOrder.Descending; + else + this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + } + + private void GroupList_DoubleClick(object sender, System.EventArgs e) + { + if (OnGroupDoubleClick != null) + { + ListView list = (ListView)sender; + if (list.SelectedItems.Count > 0 && list.SelectedItems[0].Tag is Group) + { + Group group = (Group)list.SelectedItems[0].Tag; + try + { + OnGroupDoubleClick(group); + } + catch (Exception ex) + { + Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); + } + } + } + } + + } +} diff --git a/SLBot/bot/GUI/controls/InventoryTree.cs b/SLBot/bot/GUI/controls/InventoryTree.cs new file mode 100644 index 0000000..d6c4075 --- /dev/null +++ b/SLBot/bot/GUI/controls/InventoryTree.cs @@ -0,0 +1,338 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : InventoryTree.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2009 openmetaverse.org +****************************************************************************/ + +// Copied from OpenMetaverse.GUI +/* + * Copyright (c) 2007-2009, openmetaverse.org + * All rights reserved. + * + * - Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * - Neither the name of the openmetaverse.org nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; +using OpenMetaverse; + +namespace bot.GUI +{ + + /// + /// TreeView GUI component for browsing a client's inventory + /// + public class InventoryTree : TreeView + { + private GridClient _Client; + private ContextMenu _ContextMenu; + private UUID _SelectedItemID; + + /// + /// Gets or sets the context menu associated with this control + /// + public ContextMenu Menu + { + get { return _ContextMenu; } + set { _ContextMenu = value; } + } + + /// + /// Gets or sets the GridClient associated with this control + /// + public GridClient Client + { + get { return _Client; } + set + { + if (value != null) + InitializeClient(value); + } + } + + /// + /// TreeView control for an unspecified client's inventory + /// + public InventoryTree() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + EventHandler clickHandler = new EventHandler(defaultMenuItem_Click); + _ContextMenu = new ContextMenu(); + _ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("frmInventory.Menu.CopyID"), clickHandler); + _ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("frmInventory.Menu.Delete"), clickHandler); + _ContextMenu.MenuItems.Add("-"); + _ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("frmInventory.Menu.Attach"), clickHandler); + _ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("frmInventory.Menu.Detach"), clickHandler); + _ContextMenu.MenuItems.Add("-"); + _ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("frmInventory.Menu.EmptyTrash"), clickHandler); + _ContextMenu.MenuItems.Add(bot.Localization.clResourceManager.getText("frmInventory.Menu.EmptyLF"), clickHandler); + + this.NodeMouseClick += new TreeNodeMouseClickEventHandler(InventoryTree_NodeMouseClick); + this.BeforeExpand += new TreeViewCancelEventHandler(InventoryTree_BeforeExpand); + } + + /// + /// TreeView control for the specified client's inventory + /// + /// + public InventoryTree(GridClient client) : this() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeClient(client); + } + + /// + /// Thread-safe method for clearing the TreeView control + /// + public void ClearNodes() + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + ClearNodes(); + }); + else + this.Nodes.Clear(); + } + + /// + /// Thread-safe method for collapsing a TreeNode in the control + /// + /// + public void CollapseNode(TreeNode node) + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + CollapseNode(node); + }); + else if (!node.IsExpanded) + node.Collapse(); + } + + /// + /// Thread-safe method for expanding a TreeNode in the control + /// + /// + public void ExpandNode(TreeNode node) + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + ExpandNode(node); + }); + else if (!node.IsExpanded) + node.Expand(); + } + + /// + /// Thread-safe method for updating the contents of the specified folder UUID + /// + /// + public void UpdateFolder(UUID folderID) + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + UpdateFolder(folderID); + }); + else + { + TreeNode node = null; + TreeNodeCollection children; + + if (folderID != Client.Inventory.Store.RootFolder.UUID) + { + TreeNode[] found = Nodes.Find(folderID.ToString(), true); + if (found.Length > 0) + { + node = found[0]; + children = node.Nodes; + } + else + { + Logger.Log("Received update for unknown TreeView node " + folderID, Helpers.LogLevel.Warning); + return; + } + } + else + children = this.Nodes; + + children.Clear(); + + List contents = Client.Inventory.Store.GetContents(folderID); + if (contents.Count == 0) + { + TreeNode add = children.Add(null, bot.Localization.clResourceManager.getText("Controls.InventoryList.Empty")); + add.ForeColor = Color.FromKnownColor(KnownColor.GrayText); + } + else + { + foreach (InventoryBase inv in contents) + { + string key = inv.UUID.ToString(); + + children.Add(key, inv.Name); + if (inv is InventoryFolder) + { + children[key].Nodes.Add(null, bot.Localization.clResourceManager.getText("Controls.Loading")).ForeColor = Color.FromKnownColor(KnownColor.GrayText); + } + } + } + } + } + + private void InitializeClient(GridClient client) + { + _Client = client; + _Client.Inventory.FolderUpdated += Inventory_OnFolderUpdated; + _Client.Network.LoginProgress += Network_OnLogin; + if (Client.Inventory.Store != null) + UpdateFolder(Client.Inventory.Store.RootFolder.UUID); + } + + private void defaultMenuItem_Click(object sender, EventArgs e) + { + MenuItem menuItem = (MenuItem)sender; + + InventoryItem item = (InventoryItem)Client.Inventory.Store[_SelectedItemID]; + + int MenuIndex; + + if (menuItem.Text == bot.Localization.clResourceManager.getText("frmInventory.Menu.CopyID")) + MenuIndex = 1; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("frmInventory.Menu.Delete")) + MenuIndex = 2; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("frmInventory.Menu.Attach")) + MenuIndex = 3; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("frmInventory.Menu.Detach")) + MenuIndex = 4; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("frmInventory.Menu.EmptyTrash")) + MenuIndex = 5; + else if (menuItem.Text == bot.Localization.clResourceManager.getText("frmInventory.Menu.EmptyLF")) + MenuIndex = 6; + else + return; + + switch (MenuIndex) + { + case 1: + { + Clipboard.SetText(item.AssetUUID.ToString()); + break; + } + case 2: + { + if (item.InventoryType == InventoryType.Folder) + _Client.Inventory.RemoveFolder(item.UUID); + else + _Client.Inventory.RemoveItem(item.UUID); + break; + } + case 3: + { + _Client.Appearance.Attach(item, AttachmentPoint.Default); + break; + } + case 4: + { + _Client.Appearance.Detach(item); + break; + } + case 5: + { + _Client.Inventory.EmptyTrash(); + break; + } + case 6: + { + _Client.Inventory.EmptyLostAndFound(); + break; + } + } + } + + void Network_OnLogin(object sender, LoginProgressEventArgs e) + { + /* if (e.Status == LoginStatus.Success) + { + if (Client.Inventory.Store != null) + UpdateFolder(Client.Inventory.Store.RootFolder.UUID); + }*/ + } + + private void Inventory_OnFolderUpdated(object sender, FolderUpdatedEventArgs e) + { + UpdateFolder(e.FolderID); + } + + void InventoryTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) + { + if (e.Button == MouseButtons.Right) + { + _SelectedItemID = new UUID(e.Node.Name); + _ContextMenu.Show(this, e.Location); + } + } + + private void InventoryTree_BeforeExpand(object sender, TreeViewCancelEventArgs e) + { + InventoryFolder folder = (InventoryFolder)Client.Inventory.Store[new UUID(e.Node.Name)]; + Client.Inventory.RequestFolderContents(folder.UUID, _Client.Self.AgentID, true, true, InventorySortOrder.ByDate | InventorySortOrder.FoldersByName); + } + + } + +} + diff --git a/SLBot/bot/GUI/controls/ListColumnSorter.cs b/SLBot/bot/GUI/controls/ListColumnSorter.cs new file mode 100644 index 0000000..5636c01 --- /dev/null +++ b/SLBot/bot/GUI/controls/ListColumnSorter.cs @@ -0,0 +1,120 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ListColumnSorter.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Copyright (C) 2007-2009 openmetaverse.org +****************************************************************************/ + +/* + * Copyright (c) 2007-2009, openmetaverse.org + * All rights reserved. + * + * - Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * - Neither the name of the openmetaverse.org nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Collections; +using System.Windows.Forms; + +namespace bot.GUI +{ + + class ListColumnSorter : IComparer + { + public bool Ascending = true; + public int SortColumn = 0; + + public int Compare(object a, object b) + { + ListViewItem itemA = (ListViewItem)a; + ListViewItem itemB = (ListViewItem)b; + + if (SortColumn == 1) + { + int valueA = itemB.SubItems.Count > 1 ? int.Parse(itemA.SubItems[1].Text.Replace("m", "").Replace("--", "0")) : 0; + int valueB = itemB.SubItems.Count > 1 ? int.Parse(itemB.SubItems[1].Text.Replace("m", "").Replace("--", "0")) : 0; + if (Ascending) + { + if (valueA == valueB) + return 0; + return valueA < valueB ? -1 : 1; + } + else + { + if (valueA == valueB) + return 0; + return valueA < valueB ? 1 : -1; + } + } + else + { + if (Ascending) + return string.Compare(itemA.Text, itemB.Text); + else + return -string.Compare(itemA.Text, itemB.Text); + } + } + } + + class ListColumnSorterNormal : IComparer + { + public bool Ascending = true; + public int SortColumn = 0; + + public int Compare(object a, object b) + { + ListViewItem itemA = (ListViewItem)a; + ListViewItem itemB = (ListViewItem)b; + + if (Ascending) + return string.Compare(itemA.Text, itemB.Text); + else + return -string.Compare(itemA.Text, itemB.Text); + } + } +} diff --git a/SLBot/bot/GUI/controls/ObjectList.cs b/SLBot/bot/GUI/controls/ObjectList.cs new file mode 100644 index 0000000..cb29992 --- /dev/null +++ b/SLBot/bot/GUI/controls/ObjectList.cs @@ -0,0 +1,554 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ObjectList.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Portions copyright (C) 2007-2009 openmetaverse.org +****************************************************************************/ + +// Derived from AvatarList.cs +using OpenMetaverse; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; + +namespace bot.GUI +{ + + /// + /// ListView GUI component for viewing a client's nearby avatars list + /// + public class ObjectList : ListView + { + private SecondLifeBot _Client; + private ListColumnSorterNormal _ColumnSorter = new ListColumnSorterNormal(); + private TrackedObject _SelectedObject; + + private Dictionary _TrackedObjects = new Dictionary(); + private Dictionary _UntrackedObjects = new Dictionary(); + private Dictionary _TrackedIDs = new Dictionary(); + + public delegate void ObjectCallback(TrackedObject trackedObject); + + public event ObjectCallback OnObjectAdded; + public event ObjectCallback OnObjectPropertiesUpdated; + public event ObjectCallback OnObjectUpdated; + public event ObjectCallback OnObjectRemoved; + + public bool StopRefreshing = false; + + /// + /// Gets or sets the GridClient associated with this control + /// + public SecondLifeBot Client + { + get { return _Client; } + set + { + if (value != null) + InitializeClient(value); + } + } + + /// + /// Returns the current selected avatar in the tracked avatars list + /// + public TrackedObject SelectedObject + { + get { return _SelectedObject; } + } + + /// + /// TreeView control for an unspecified client's nearby avatar list + /// + public ObjectList() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + ColumnHeader header1 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.ObjectList.Name")); + header1.Width = 192; + + ColumnHeader header2 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.ObjectList.Position")); + header2.Width = 58; + + ColumnHeader header3 = this.Columns.Add(bot.Localization.clResourceManager.getText("Controls.ObjectList.ID")); + header3.Width = 58; + + this.MultiSelect = true; + this.SelectedIndexChanged += new EventHandler(ObjectList_SelectedIndexChanged); + + _ColumnSorter.SortColumn = 1; + this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + + this.DoubleBuffered = true; + this.ListViewItemSorter = _ColumnSorter; + this.View = View.Details; + this.ColumnClick += new ColumnClickEventHandler(ObjectList_ColumnClick); + this.DoubleClick += new EventHandler(ObjectList_DoubleClick); + } + + void ObjectList_SelectedIndexChanged(object sender, EventArgs e) + { + lock (_TrackedObjects) + { + lock (_UntrackedObjects) + { + if (this.SelectedItems.Count > 0) + { + UUID selectedID = new UUID(this.SelectedItems[0].Name); + TrackedObject selectedOBJ; + if (!_TrackedObjects.TryGetValue(selectedID, out selectedOBJ) && !_UntrackedObjects.TryGetValue(selectedID, out selectedOBJ)) + selectedOBJ = null; + + _SelectedObject = selectedOBJ; + } + } + } + } + + /// + /// Thread-safe method for clearing the TreeView control + /// + public void ClearItems() + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + ClearItems(); + }); + else + { + if (this.Handle != IntPtr.Zero) + this.Items.Clear(); + } + } + + public TrackedObject GetObject(UUID objectID) + { + TrackedObject obj; + _TrackedObjects.TryGetValue(objectID, out obj); + return obj; + } + + private void InitializeClient(SecondLifeBot client) + { + _Client = client; + _Client.Network.SimChanged += Network_OnCurrentSimChanged; + _Client.Objects.ObjectUpdate += new EventHandler(Objects_ObjectUpdate); + _Client.Objects.ObjectProperties += new EventHandler(Objects_ObjectProperties); + _Client.Objects.KillObject += new EventHandler(Objects_KillObject); + } + + void Objects_KillObject(object sender, KillObjectEventArgs e) + { + UUID objID; + bool found; + + if (StopRefreshing) + return; + + lock (_TrackedIDs) + found = _TrackedIDs.TryGetValue(e.ObjectLocalID, out objID); + + if (found) + RemoveObject(objID); + } + + void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + bool found = false; + + if (StopRefreshing) + return; + + lock (_TrackedObjects) + found = _TrackedObjects.ContainsKey(e.Prim.ID); + + if (!found && e.IsNew && !e.IsAttachment && e.Prim.ParentID == 0) + { + AddObject(e.Prim.ID, e.Prim, e.Prim.Position); + return; + } + + if (found) + { + Primitive obj; + if (e.Simulator.ObjectsPrimitives.TryGetValue(e.Prim.LocalID, out obj)) + UpdateObject(obj); + } + } + + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + if (StopRefreshing) + return; + + UpdateObjectProperties(e.Properties.ObjectID, e.Properties); + } + + private void UpdateObjectProperties(UUID objID, Primitive.ObjectProperties objProperties) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + UpdateObjectProperties(objID, objProperties); + }); + else + { + TrackedObject trackedObject; + bool found; + + lock (_TrackedObjects) + found = _TrackedObjects.TryGetValue(objID, out trackedObject); + + if (found) + { + trackedObject.ListViewItem.Text = objProperties.Name; + if (OnObjectPropertiesUpdated != null) + OnObjectPropertiesUpdated(trackedObject); + if (_Client.Account.LoginDetails.BotConfig.TouchMidnightMania) + { + if (objProperties.Name.ToLower().Contains("midnight") && objProperties.Name.ToLower().Contains("mania")) + { + _Client.Self.Touch(trackedObject.Primitive.LocalID); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Controls.ObjectList.Midnight"), objID, objProperties.Name); + } + } + if (_Client.Account.LoginDetails.BotConfig.HaveLuck) + { + if (objProperties.Name.ToLower().Contains("lucky") && objProperties.Name.ToLower().Contains("advent")) + { + _Client.Self.Touch(trackedObject.Primitive.LocalID); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Controls.ObjectList.Advent"), objID, objProperties.Name); + } + if (objProperties.Name.ToLower().Contains("prize") && objProperties.Name.ToLower().Contains("pyramid")) + { + _Client.Self.Touch(trackedObject.Primitive.LocalID); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Controls.ObjectList.Pyramid"), objID, objProperties.Name); + } + if (objProperties.Name.ToLower().Contains("lucky") && objProperties.Name.ToLower().Contains("dip")) + { + Client.Self.RequestSit(objID, Vector3.Zero); + Client.Self.Sit(); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Controls.ObjectList.Dip"), objID, objProperties.Name); + } + if (objProperties.Name.ToLower().Contains("lucky") && objProperties.Name.ToLower().Contains("cupcake")) + { + Client.Self.RequestSit(objID, Vector3.Zero); + Client.Self.Sit(); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("Controls.ObjectList.Cupcake"), objID, objProperties.Name); + } + } + } + } + } + + public void RefreshObjects() + { + if (StopRefreshing) + return; + + lock (Client.Network.Simulators) + { + if (Client.Network.Simulators.Count > 0) + { + Client.Network.Simulators[0].ObjectsPrimitives.ForEach( + delegate(Primitive obj) + { + TrackedObject trackedObject; + bool found; + + if (obj.ParentID == 0) + { + lock (_TrackedObjects) + found = _TrackedObjects.TryGetValue(obj.ID, out trackedObject); + + if (found) + { + if (trackedObject.Primitive != null) + { + if (trackedObject.Primitive.Properties == null) + { + this._Client.Objects.RequestObject(this._Client.Network.CurrentSim, obj.LocalID); + this._Client.Objects.SelectObject(this._Client.Network.CurrentSim, obj.LocalID); + } + } + else + { + this._Client.Objects.RequestObject(this._Client.Network.CurrentSim, obj.LocalID); + this._Client.Objects.SelectObject(this._Client.Network.CurrentSim, obj.LocalID); + } + } + //else + // this.BeginInvoke((MethodInvoker)delegate { AddObject(obj.ID, obj, obj.Position); }); + } + }); + } + } + } + + public void InitializateObjects() + { + lock (Client.Network.Simulators) + { + if (Client.Network.Simulators.Count > 0) + { + Client.Network.Simulators[0].ObjectsPrimitives.ForEach( + delegate(Primitive obj) + { + if (obj.ParentID == 0) + this.BeginInvoke((MethodInvoker)delegate + { + AddObject(obj.ID, obj, obj.Position); + }); + }); + } + } + } + + private void AddObject(UUID objectID, Primitive obj, Vector3 Position) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + AddObject(obj.ID, obj, Position); + }); + else + { + if (obj.Properties == null) + { + this._Client.Objects.RequestObject(this._Client.Network.CurrentSim, obj.LocalID); + this._Client.Objects.SelectObject(this._Client.Network.CurrentSim, obj.LocalID); + } + + TrackedObject trackedObject = new TrackedObject(); + trackedObject.CoarseLocation = Position; + trackedObject.ID = objectID; + trackedObject.Primitive = obj; + trackedObject.ListViewItem = this.Items.Add(objectID.ToString(), trackedObject.Name, null); + trackedObject.ListViewItem.Name = objectID.ToString(); + + trackedObject.ListViewItem.SubItems.Add(Position.ToString()); + trackedObject.ListViewItem.SubItems.Add(objectID.ToString()); + + if (obj != null) + { + if (obj.Properties != null) + trackedObject.Name = obj.Properties.Name; + else + trackedObject.Name = bot.Localization.clResourceManager.getText("Controls.Loading"); + + lock (_TrackedObjects) + { + if (_TrackedObjects.ContainsKey(objectID)) + { + _TrackedObjects.Remove(objectID); + _TrackedIDs.Remove(obj.LocalID); + } + + _TrackedObjects.Add(objectID, trackedObject); + _TrackedIDs.Add(obj.LocalID, objectID); + } + } + else + { + lock (_UntrackedObjects) + { + _UntrackedObjects.Add(objectID, trackedObject); + + trackedObject.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.GrayText); + } + } + + if (OnObjectAdded != null) + OnObjectAdded(trackedObject); + } + } + + private void RemoveObject(UUID id) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + RemoveObject(id); + }); + else + { + TrackedObject trackedObject; + + lock (_TrackedObjects) + { + if (_TrackedObjects.TryGetValue(id, out trackedObject)) + { + this.Items.Remove(trackedObject.ListViewItem); + _TrackedObjects.Remove(id); + _TrackedIDs.Remove(trackedObject.Primitive.LocalID); + } + } + + lock (_UntrackedObjects) + { + if (_UntrackedObjects.TryGetValue(id, out trackedObject)) + { + this.Items.Remove(trackedObject.ListViewItem); + _UntrackedObjects.Remove(trackedObject.ID); + } + } + + if (OnObjectRemoved != null) + OnObjectRemoved(trackedObject); + } + } + + private void UpdateObject(Primitive obj) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + UpdateObject(obj); + }); + else + { + TrackedObject trackedObject; + bool found; + + lock (_UntrackedObjects) + found = _UntrackedObjects.TryGetValue(obj.ID, out trackedObject); + + if (found) + { + if (obj.Properties != null) + trackedObject.Name = obj.Properties.Name; + else + trackedObject.Name = bot.Localization.clResourceManager.getText("Controls.Loading"); + trackedObject.ListViewItem.Text = trackedObject.Name; + trackedObject.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.ControlText); + + lock (_TrackedObjects) + _TrackedObjects.Add(obj.ID, trackedObject); + lock (_TrackedIDs) + _TrackedIDs.Add(obj.LocalID, obj.ID); + _UntrackedObjects.Remove(obj.ID); + } + + lock (_TrackedObjects) + found = _TrackedObjects.TryGetValue(obj.ID, out trackedObject); + + if (found) + { + trackedObject.ListViewItem.SubItems[1].Text = obj.Position.ToString(); + if (OnObjectUpdated != null) + OnObjectUpdated(trackedObject); + } + else + { + AddObject(obj.ID, obj, obj.Position); + } + + } + } + + void ObjectList_ColumnClick(object sender, ColumnClickEventArgs e) + { + _ColumnSorter.SortColumn = e.Column; + if ((_ColumnSorter.Ascending = (this.Sorting == SortOrder.Ascending))) + this.Sorting = SortOrder.Descending; + else + this.Sorting = SortOrder.Ascending; + this.ListViewItemSorter = _ColumnSorter; + } + + void ObjectList_DoubleClick(object sender, EventArgs e) + { + /*if (OnAvatarDoubleClick != null) + { + ListView list = (ListView)sender; + if (list.SelectedItems.Count > 0) + { + TrackedObject trackedAvatar; + if (!_TrackedAvatars.TryGetValue(new UUID(list.SelectedItems[0].Name), out trackedAvatar) + && !_UntrackedAvatars.TryGetValue(new UUID(list.SelectedItems[0].Name), out trackedAvatar)) + return; + + try { OnAvatarDoubleClick(trackedAvatar); } + catch (Exception ex) { Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); } + } + }*/ + } + + void Network_OnCurrentSimChanged(object sender, SimChangedEventArgs e) + { + lock (_TrackedObjects) + _TrackedObjects.Clear(); + + lock (_UntrackedObjects) + _UntrackedObjects.Clear(); + + ClearItems(); + } + } + + /// + /// Contains any available information for an avatar in the simulator. + /// A null value for .Avatar indicates coarse data for an avatar outside of visible range. + /// + public class TrackedObject + { + /// Assigned if the avatar is within visible range + public Primitive Primitive = null; + + /// Last known coarse location of avatar + public Vector3 CoarseLocation; + + /// Avatar ID + public UUID ID; + + /// ListViewItem associated with this avatar + public ListViewItem ListViewItem; + + /// Populated by RequestAvatarName if avatar is not visible + public string Name = bot.Localization.clResourceManager.getText("Controls.Loading"); + } + +} diff --git a/SLBot/bot/GUI/frmAbout.Designer.cs b/SLBot/bot/GUI/frmAbout.Designer.cs new file mode 100644 index 0000000..7d6e618 --- /dev/null +++ b/SLBot/bot/GUI/frmAbout.Designer.cs @@ -0,0 +1,204 @@ +namespace bot.GUI +{ + partial class frmAbout + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAbout)); + this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel(); + this.logoPictureBox = new System.Windows.Forms.PictureBox(); + this.labelProductName = new System.Windows.Forms.Label(); + this.labelVersion = new System.Windows.Forms.Label(); + this.labelCopyright = new System.Windows.Forms.Label(); + this.labelCompanyName = new System.Windows.Forms.Label(); + this.textBoxDescription = new System.Windows.Forms.TextBox(); + this.okButton = new clControls.clImageButton(); + this.tableLayoutPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.okButton)).BeginInit(); + this.SuspendLayout(); + // + // tableLayoutPanel + // + this.tableLayoutPanel.Anchor = System.Windows.Forms.AnchorStyles.None; + this.tableLayoutPanel.BackColor = System.Drawing.Color.Transparent; + this.tableLayoutPanel.ColumnCount = 2; + this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F)); + this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67F)); + this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0); + this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0); + this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1); + this.tableLayoutPanel.Controls.Add(this.labelCopyright, 1, 2); + this.tableLayoutPanel.Controls.Add(this.labelCompanyName, 1, 3); + this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4); + this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5); + this.tableLayoutPanel.Location = new System.Drawing.Point(22, 21); + this.tableLayoutPanel.Name = "tableLayoutPanel"; + this.tableLayoutPanel.RowCount = 6; + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 47.75F)); + this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.25F)); + this.tableLayoutPanel.Size = new System.Drawing.Size(390, 240); + this.tableLayoutPanel.TabIndex = 0; + // + // logoPictureBox + // + this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.logoPictureBox.Image = global::OpenMetaverse.Properties.Resources.NatiBot; + this.logoPictureBox.Location = new System.Drawing.Point(3, 3); + this.logoPictureBox.Name = "logoPictureBox"; + this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6); + this.logoPictureBox.Size = new System.Drawing.Size(122, 234); + this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.logoPictureBox.TabIndex = 12; + this.logoPictureBox.TabStop = false; + // + // labelProductName + // + this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill; + this.labelProductName.ForeColor = System.Drawing.Color.White; + this.labelProductName.Location = new System.Drawing.Point(134, 0); + this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelProductName.MaximumSize = new System.Drawing.Size(0, 17); + this.labelProductName.Name = "labelProductName"; + this.labelProductName.Size = new System.Drawing.Size(253, 17); + this.labelProductName.TabIndex = 19; + this.labelProductName.Text = "Product Name"; + this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelVersion + // + this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill; + this.labelVersion.ForeColor = System.Drawing.Color.White; + this.labelVersion.Location = new System.Drawing.Point(134, 24); + this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelVersion.MaximumSize = new System.Drawing.Size(0, 17); + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Size = new System.Drawing.Size(253, 17); + this.labelVersion.TabIndex = 0; + this.labelVersion.Text = "Version"; + this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelCopyright + // + this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill; + this.labelCopyright.ForeColor = System.Drawing.Color.White; + this.labelCopyright.Location = new System.Drawing.Point(134, 48); + this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17); + this.labelCopyright.Name = "labelCopyright"; + this.labelCopyright.Size = new System.Drawing.Size(253, 17); + this.labelCopyright.TabIndex = 21; + this.labelCopyright.Text = "Copyright"; + this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // labelCompanyName + // + this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill; + this.labelCompanyName.ForeColor = System.Drawing.Color.White; + this.labelCompanyName.Location = new System.Drawing.Point(134, 72); + this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 17); + this.labelCompanyName.Name = "labelCompanyName"; + this.labelCompanyName.Size = new System.Drawing.Size(253, 17); + this.labelCompanyName.TabIndex = 22; + this.labelCompanyName.Text = "Company Name"; + this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // textBoxDescription + // + this.textBoxDescription.BackColor = System.Drawing.Color.Black; + this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBoxDescription.ForeColor = System.Drawing.Color.White; + this.textBoxDescription.Location = new System.Drawing.Point(134, 99); + this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.textBoxDescription.Multiline = true; + this.textBoxDescription.Name = "textBoxDescription"; + this.textBoxDescription.ReadOnly = true; + this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.textBoxDescription.Size = new System.Drawing.Size(253, 108); + this.textBoxDescription.TabIndex = 23; + this.textBoxDescription.TabStop = false; + this.textBoxDescription.Text = "Description"; + // + // okButton + // + this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.okButton.ButtonBitmap = null; + this.okButton.ButtonState = clControls.ButtonState.Normal; + this.okButton.DisabledBitmap = null; + this.okButton.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.okButton.OnMouseClickBitmap = null; + this.okButton.OnMouseOverBitmap = null; + this.okButton.Location = new System.Drawing.Point(363, 213); + this.okButton.Name = "okButton"; + this.okButton.Size = new System.Drawing.Size(24, 24); + this.okButton.TabIndex = 24; + this.okButton.TabStop = false; + this.okButton.Text = "&OK"; + this.okButton.Click += new System.EventHandler(this.okButton_Click); + // + // frmAbout + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAbout"); + this.ClientSize = new System.Drawing.Size(435, 283); + this.Controls.Add(this.tableLayoutPanel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmAbout"; + this.Padding = new System.Windows.Forms.Padding(9); + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmAbout"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmAbout_Load); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmAbout_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmAbout_MouseMove); + this.tableLayoutPanel.ResumeLayout(false); + this.tableLayoutPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.okButton)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel; + private System.Windows.Forms.PictureBox logoPictureBox; + private System.Windows.Forms.Label labelProductName; + private System.Windows.Forms.Label labelVersion; + private System.Windows.Forms.Label labelCopyright; + private System.Windows.Forms.Label labelCompanyName; + private System.Windows.Forms.TextBox textBoxDescription; + private clControls.clImageButton okButton; + } +} diff --git a/SLBot/bot/GUI/frmAbout.cs b/SLBot/bot/GUI/frmAbout.cs new file mode 100644 index 0000000..fce8ef5 --- /dev/null +++ b/SLBot/bot/GUI/frmAbout.cs @@ -0,0 +1,215 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmAbout.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Reflection; +using System.Windows.Forms; +using System.Text; +using clControls; + +namespace bot.GUI +{ + partial class frmAbout : Form + { + private Point mouse_offset; + + public frmAbout() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + this.Text = String.Format("About {0} {0}", AssemblyTitle); + this.labelProductName.Text = AssemblyProduct; + this.labelVersion.Text = String.Format("Version {0} {0}", AssemblyVersion); + this.labelCopyright.Text = AssemblyCopyright; + this.labelCompanyName.Text = AssemblyCompany; + this.textBoxDescription.Text = AssemblyDescription; + this.Text = bot.Localization.clResourceManager.getText("frmMain.btnAbout"); + //Starts putting buttons + this.okButton.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.okButton.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.okButton.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.okButton.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAbout"); + } + + #region Assembly Attribute Accessors + + public string AssemblyTitle + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); + if (attributes.Length > 0) + { + AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; + if (titleAttribute.Title != "") + { + return titleAttribute.Title; + } + } + return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); + } + } + + public string AssemblyVersion + { + get + { + return Assembly.GetExecutingAssembly().GetName().Version.ToString(); + } + } + + public string AssemblyDescription + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyDescriptionAttribute)attributes[0]).Description; + } + } + + public string AssemblyProduct + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyProductAttribute)attributes[0]).Product; + } + } + + public string AssemblyCopyright + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + } + } + + public string AssemblyCompany + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyCompanyAttribute)attributes[0]).Company; + } + } + + #endregion + + private void frmAbout_Load(object sender, EventArgs e) + { + bot.license.Version botVersion = new bot.license.Version(); + StringBuilder sbDescription = new StringBuilder(); + + sbDescription.Append("NatiBot " + botVersion.ToString() + " " + botVersion.v_rev); + sbDescription.AppendLine(); + sbDescription.Append("© 2009-2010 Claunia.com " + bot.Localization.clResourceManager.getText("frmAbout.Copyright")); + sbDescription.AppendLine(); + sbDescription.AppendLine(); + sbDescription.Append(bot.Localization.clResourceManager.getText("frmAbout.Coding")); + sbDescription.Append("Natalia Portillo"); + sbDescription.AppendLine(); + sbDescription.Append(bot.Localization.clResourceManager.getText("frmAbout.Interface")); + sbDescription.Append("Ana Sánchez"); + sbDescription.AppendLine(); + sbDescription.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.English"), + "Natalia Portillo"); + sbDescription.AppendLine(); + sbDescription.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.Spanish"), + "Natalia Portillo"); + sbDescription.AppendLine(); + sbDescription.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.Catalan"), + "Alejandro Sánchez"); + sbDescription.AppendLine(); + sbDescription.AppendFormat(bot.Localization.clResourceManager.getText("frmAbout.TranslationOrder"), + bot.Localization.clResourceManager.getText("frmAbout.Translation"), + bot.Localization.clResourceManager.getText("Language.French"), + "Natalia Portillo & Google"); + sbDescription.AppendLine(); + + this.Text = "NatiBot " + botVersion.ToString() + " " + botVersion.v_rev; + this.labelProductName.Text = "NatiBot"; + this.labelVersion.Text = botVersion.ToString() + " " + botVersion.v_rev; + this.labelCopyright.Text = "© 2009 " + bot.Localization.clResourceManager.getText("frmAbout.Copyright"); + this.labelCompanyName.Text = "Claunia.com"; + this.textBoxDescription.Text = sbDescription.ToString(); + } + + private void okButton_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void frmAbout_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmAbout_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + } +} diff --git a/SLBot/bot/GUI/frmAbout.resx b/SLBot/bot/GUI/frmAbout.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/SLBot/bot/GUI/frmAbout.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmAddAccount.cs b/SLBot/bot/GUI/frmAddAccount.cs new file mode 100644 index 0000000..6ca0621 --- /dev/null +++ b/SLBot/bot/GUI/frmAddAccount.cs @@ -0,0 +1,809 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmAddAccount.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.GUI +{ + using bot; + using System; + using System.ComponentModel; + using System.Drawing; + using System.Runtime.CompilerServices; + using System.Windows.Forms; + using clControls; + using System.Collections.Generic; + + public class frmAddAccount : Form + { + private clImageButton btnAddAccount; + private clImageButton btnCancel; + private IContainer components; + private GroupBox gbEditAccounts; + private GroupBox gbMasterSetup; + private GroupBox groupBox1; + private Label label1; + private Label label2; + private Label label3; + private Label label4; + private string m_Sim; + private RadioButton radHome; + private RadioButton radLast; + private RadioButton radSet; + private TextBox txtFirstName; + private TextBox txtLastName; + private TextBox txtPassword; + private Label label5; + private TextBox txtMasterIRC; + private Label lblMasterIRC; + private TextBox txtMaster; + private GroupBox gbIRC; + private TextBox txtIRCChannel; + private Label label7; + private Label label6; + private TextBox txtServerPort; + private TextBox txtServerHost; + private Label lblServerHost; + private ComboBox cbGrid; + private Label label8; + private CheckBox chkUseIRC; + private Label lblAddAccount; + private TextBox txtStartSim; + + public event AddAccountCallback OnAddAccount; + + private Point mouse_offset; + + public frmAddAccount() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.m_Sim = "Sim X Y Z"; + this.InitializeComponent(); + + // LOGIN GRIDS + Dictionary dict = LoginGrids.ToDictionary(); + + foreach (string key in dict.Keys) + { + this.cbGrid.Items.Add(key); + } + + //Puts language resources + this.gbMasterSetup.Text = bot.Localization.clResourceManager.getText("frmAddAccount.gbMasterSetup"); + this.lblMasterIRC.Text = bot.Localization.clResourceManager.getText("frmAddAccount.lblMasterIRC"); + this.label5.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label5"); + this.groupBox1.Text = bot.Localization.clResourceManager.getText("frmAddAccount.groupBox1"); + this.label4.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label4"); + this.radSet.Text = bot.Localization.clResourceManager.getText("frmAddAccount.radSet"); + this.radLast.Text = bot.Localization.clResourceManager.getText("frmAddAccount.radLast"); + this.radHome.Text = bot.Localization.clResourceManager.getText("frmAddAccount.radHome"); + this.gbEditAccounts.Text = bot.Localization.clResourceManager.getText("frmAddAccount.gbEditAccounts"); + this.label8.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label8"); + this.label1.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label1"); + this.label3.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label3"); + this.label2.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label2"); + this.btnAddAccount.Text = bot.Localization.clResourceManager.getText("frmAddAccount.btnAddAccount"); + this.btnCancel.Text = bot.Localization.clResourceManager.getText("frmAddAccount.btnCancel"); + this.gbIRC.Text = bot.Localization.clResourceManager.getText("frmAddAccount.gbIRC"); + this.chkUseIRC.Text = bot.Localization.clResourceManager.getText("frmAddAccount.chkUseIRC"); + this.label7.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label7"); + this.label6.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label6"); + this.lblServerHost.Text = bot.Localization.clResourceManager.getText("frmAddAccount.lblServerHost"); + this.Text = bot.Localization.clResourceManager.getText("frmAddAccount"); + this.lblAddAccount.Text = bot.Localization.clResourceManager.getText("frmAddAccount"); + //Ends putting language resources + + //Starts putting buttons + this.btnAddAccount.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnAdd.idle"); + this.btnAddAccount.Image = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnAdd.idle"); + this.btnAddAccount.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnAdd.onclick"); + this.btnAddAccount.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnAdd.onhover"); + this.btnCancel.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.Image = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.onclick"); + this.btnCancel.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.onhover"); + //Ends putting buttons + + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAddAccount"); + } + + public frmAddAccount(LoginDetails loginDetails) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.m_Sim = "Sim X Y Z"; + this.InitializeComponent(); + this.txtFirstName.Text = loginDetails.FirstName; + this.txtLastName.Text = loginDetails.LastName; + this.txtPassword.Text = loginDetails.Password; + this.txtMaster.Text = loginDetails.MasterName; + this.txtStartSim.Text = loginDetails.StartLocation; + + // LOGIN GRIDS + Dictionary dict = LoginGrids.ToDictionary(); + + foreach (string key in dict.Keys) + { + this.cbGrid.Items.Add(key); + } + + SetSelectedGrid(loginDetails); + + this.txtMasterIRC.Text = loginDetails.IRC_Settings.Master; + this.txtServerPort.Text = string.Concat(loginDetails.IRC_Settings.ServerPort); + this.txtServerHost.Text = loginDetails.IRC_Settings.ServerHost; + this.txtIRCChannel.Text = loginDetails.IRC_Settings.MainChannel; + + //Puts language resources + this.Text = bot.Localization.clResourceManager.getText("frmAddAccount.Editing"); + this.lblAddAccount.Text = bot.Localization.clResourceManager.getText("frmAddAccount.Editing"); + this.btnAddAccount.Text = bot.Localization.clResourceManager.getText("frmAddAccount.btnEditAccount"); + this.gbMasterSetup.Text = bot.Localization.clResourceManager.getText("frmAddAccount.gbMasterSetup"); + this.lblMasterIRC.Text = bot.Localization.clResourceManager.getText("frmAddAccount.lblMasterIRC"); + this.label5.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label5"); + this.groupBox1.Text = bot.Localization.clResourceManager.getText("frmAddAccount.groupBox1"); + this.label4.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label4"); + this.radSet.Text = bot.Localization.clResourceManager.getText("frmAddAccount.radSet"); + this.radLast.Text = bot.Localization.clResourceManager.getText("frmAddAccount.radLast"); + this.radHome.Text = bot.Localization.clResourceManager.getText("frmAddAccount.radHome"); + this.gbEditAccounts.Text = bot.Localization.clResourceManager.getText("frmAddAccount.gbEditAccounts"); + this.label8.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label8"); + this.label1.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label1"); + this.label3.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label3"); + this.label2.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label2"); + this.btnCancel.Text = bot.Localization.clResourceManager.getText("frmAddAccount.btnCancel"); + this.gbIRC.Text = bot.Localization.clResourceManager.getText("frmAddAccount.gbIRC"); + this.chkUseIRC.Text = bot.Localization.clResourceManager.getText("frmAddAccount.chkUseIRC"); + this.label7.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label7"); + this.label6.Text = bot.Localization.clResourceManager.getText("frmAddAccount.label6"); + this.lblServerHost.Text = bot.Localization.clResourceManager.getText("frmAddAccount.lblServerHost"); + //Ends putting language resources + + //Starts putting buttons + this.btnAddAccount.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnEdit.idle"); + this.btnAddAccount.Image = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnEdit.idle"); + this.btnAddAccount.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnEdit.onclick"); + this.btnAddAccount.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnEdit.onhover"); + this.btnCancel.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.Image = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.onclick"); + this.btnCancel.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.onhover"); + //Ends putting buttons + + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAddAccount"); + } + + private void SetSelectedGrid(LoginDetails loginDetails) + { + Dictionary dict = LoginGrids.ToDictionary(); + + if (dict.ContainsValue(loginDetails.Grid)) + { + for (int i = 0; i < this.cbGrid.Items.Count; i++) + { + foreach (string value in dict.Values) + { + if (this.cbGrid.Items[i].ToString() == value) + { + this.cbGrid.SelectedIndex = i; + break; + } + } + if (this.cbGrid.SelectedIndex == i) + break; + } + } + else + { + this.cbGrid.SelectedIndex = 0; + } + } + + private void btnAddAccount_Click(object sender, EventArgs e) + { + LoginDetails loginDetails = new LoginDetails(); + loginDetails.FirstName = this.txtFirstName.Text; + loginDetails.LastName = this.txtLastName.Text; + loginDetails.Password = this.txtPassword.Text; + loginDetails.MasterName = this.txtMaster.Text; + loginDetails.StartLocation = this.txtStartSim.Text; + + Dictionary dict = LoginGrids.ToDictionary(); + string customURI; + + if (dict.ContainsKey(this.cbGrid.Text)) + { + if (dict.TryGetValue(this.cbGrid.Text, out customURI)) + { + loginDetails.GridCustomLoginUri = customURI; + loginDetails.Grid = loginDetails.GridCustomLoginUri; + } + else + { + loginDetails.GridCustomLoginUri = this.cbGrid.Text; + loginDetails.Grid = loginDetails.GridCustomLoginUri; + } + } + else + { + loginDetails.GridCustomLoginUri = this.cbGrid.Text; + loginDetails.Grid = loginDetails.GridCustomLoginUri; + } + + loginDetails.IRC_Settings = new IRCSettings(); + loginDetails.IRC_Settings.isUsingIRC = this.chkUseIRC.Checked; + loginDetails.IRC_Settings.Master = this.txtMasterIRC.Text; + loginDetails.IRC_Settings.ServerPort = int.Parse(this.txtServerPort.Text); + loginDetails.IRC_Settings.ServerHost = this.txtServerHost.Text; + loginDetails.IRC_Settings.MainChannel = this.txtIRCChannel.Text; + + + BotAccount account = new BotAccount(loginDetails); + if (this.OnAddAccount != null) + { + this.OnAddAccount(account); + } + base.Close(); + } + + private void btnCancel_Click(object sender, EventArgs e) + { + base.Close(); + } + + protected override void Dispose(bool disposing) + { + if (disposing && (this.components != null)) + { + this.components.Dispose(); + } + base.Dispose(disposing); + } + + private void frmAddAccount_Load(object sender, EventArgs e) + { + if (btnAddAccount.Text != bot.Localization.clResourceManager.getText("frmAddAccount.Editing")) + this.txtMaster.Text = "Phillip Linden"; + if (btnAddAccount.Text != bot.Localization.clResourceManager.getText("frmAddAccount.Editing")) + this.cbGrid.SelectedIndex = 0; + } + + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAddAccount)); + this.gbMasterSetup = new System.Windows.Forms.GroupBox(); + this.txtMasterIRC = new System.Windows.Forms.TextBox(); + this.lblMasterIRC = new System.Windows.Forms.Label(); + this.txtMaster = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label4 = new System.Windows.Forms.Label(); + this.radSet = new System.Windows.Forms.RadioButton(); + this.radLast = new System.Windows.Forms.RadioButton(); + this.radHome = new System.Windows.Forms.RadioButton(); + this.txtStartSim = new System.Windows.Forms.TextBox(); + this.gbEditAccounts = new System.Windows.Forms.GroupBox(); + this.label8 = new System.Windows.Forms.Label(); + this.cbGrid = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.txtLastName = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.txtFirstName = new System.Windows.Forms.TextBox(); + this.txtPassword = new System.Windows.Forms.TextBox(); + this.btnAddAccount = new clControls.clImageButton(); + this.btnCancel = new clControls.clImageButton(); + this.gbIRC = new System.Windows.Forms.GroupBox(); + this.chkUseIRC = new System.Windows.Forms.CheckBox(); + this.txtIRCChannel = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.txtServerPort = new System.Windows.Forms.TextBox(); + this.txtServerHost = new System.Windows.Forms.TextBox(); + this.lblServerHost = new System.Windows.Forms.Label(); + this.lblAddAccount = new System.Windows.Forms.Label(); + this.gbMasterSetup.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.gbEditAccounts.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnAddAccount)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnCancel)).BeginInit(); + this.gbIRC.SuspendLayout(); + this.SuspendLayout(); + // + // gbMasterSetup + // + this.gbMasterSetup.BackColor = System.Drawing.Color.Transparent; + this.gbMasterSetup.Controls.Add(this.txtMasterIRC); + this.gbMasterSetup.Controls.Add(this.lblMasterIRC); + this.gbMasterSetup.Controls.Add(this.txtMaster); + this.gbMasterSetup.Controls.Add(this.label5); + this.gbMasterSetup.ForeColor = System.Drawing.Color.White; + this.gbMasterSetup.Location = new System.Drawing.Point(255, 40); + this.gbMasterSetup.Name = "gbMasterSetup"; + this.gbMasterSetup.Size = new System.Drawing.Size(272, 103); + this.gbMasterSetup.TabIndex = 8; + this.gbMasterSetup.TabStop = false; + this.gbMasterSetup.Text = "Master"; + // + // txtMasterIRC + // + this.txtMasterIRC.BackColor = System.Drawing.Color.Black; + this.txtMasterIRC.ForeColor = System.Drawing.Color.White; + this.txtMasterIRC.Location = new System.Drawing.Point(14, 71); + this.txtMasterIRC.Name = "txtMasterIRC"; + this.txtMasterIRC.Size = new System.Drawing.Size(169, 20); + this.txtMasterIRC.TabIndex = 3; + this.txtMasterIRC.Text = "NiCK"; + // + // lblMasterIRC + // + this.lblMasterIRC.AutoSize = true; + this.lblMasterIRC.Location = new System.Drawing.Point(11, 55); + this.lblMasterIRC.Name = "lblMasterIRC"; + this.lblMasterIRC.Size = new System.Drawing.Size(93, 13); + this.lblMasterIRC.TabIndex = 2; + this.lblMasterIRC.Text = "Master\'s IRC nick:"; + // + // txtMaster + // + this.txtMaster.BackColor = System.Drawing.Color.Black; + this.txtMaster.ForeColor = System.Drawing.Color.White; + this.txtMaster.Location = new System.Drawing.Point(14, 32); + this.txtMaster.Name = "txtMaster"; + this.txtMaster.Size = new System.Drawing.Size(170, 20); + this.txtMaster.TabIndex = 1; + this.txtMaster.Text = "Phillip Linden"; + //this.txtMaster.Leave += new System.EventHandler(this.txtMaster_Leave); + //this.txtMaster.MouseDown += new System.Windows.Forms.MouseEventHandler(this.txtMaster_MouseDown); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(11, 16); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(78, 13); + this.label5.TabIndex = 0; + this.label5.Text = "Master\'s name:"; + // + // groupBox1 + // + this.groupBox1.BackColor = System.Drawing.Color.Transparent; + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.radSet); + this.groupBox1.Controls.Add(this.radLast); + this.groupBox1.Controls.Add(this.radHome); + this.groupBox1.Controls.Add(this.txtStartSim); + this.groupBox1.ForeColor = System.Drawing.Color.White; + this.groupBox1.Location = new System.Drawing.Point(12, 185); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(227, 84); + this.groupBox1.TabIndex = 22; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Starting location"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(6, 39); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(51, 13); + this.label4.TabIndex = 24; + this.label4.Text = "Location:"; + // + // radSet + // + this.radSet.AutoSize = true; + this.radSet.Location = new System.Drawing.Point(124, 19); + this.radSet.Name = "radSet"; + this.radSet.Size = new System.Drawing.Size(44, 17); + this.radSet.TabIndex = 20; + this.radSet.Text = "Set:"; + this.radSet.UseVisualStyleBackColor = true; + this.radSet.CheckedChanged += new System.EventHandler(this.radSet_CheckedChanged); + // + // radLast + // + this.radLast.AutoSize = true; + this.radLast.Checked = true; + this.radLast.Location = new System.Drawing.Point(6, 19); + this.radLast.Name = "radLast"; + this.radLast.Size = new System.Drawing.Size(45, 17); + this.radLast.TabIndex = 19; + this.radLast.TabStop = true; + this.radLast.Text = "Last"; + this.radLast.UseVisualStyleBackColor = true; + this.radLast.CheckedChanged += new System.EventHandler(this.radLast_CheckedChanged); + // + // radHome + // + this.radHome.AutoSize = true; + this.radHome.Location = new System.Drawing.Point(65, 19); + this.radHome.Name = "radHome"; + this.radHome.Size = new System.Drawing.Size(53, 17); + this.radHome.TabIndex = 18; + this.radHome.Text = "Home"; + this.radHome.UseVisualStyleBackColor = true; + this.radHome.CheckedChanged += new System.EventHandler(this.radHome_CheckedChanged); + // + // txtStartSim + // + this.txtStartSim.BackColor = System.Drawing.Color.Black; + this.txtStartSim.Enabled = false; + this.txtStartSim.ForeColor = System.Drawing.Color.White; + this.txtStartSim.Location = new System.Drawing.Point(6, 55); + this.txtStartSim.Name = "txtStartSim"; + this.txtStartSim.Size = new System.Drawing.Size(209, 20); + this.txtStartSim.TabIndex = 4; + this.txtStartSim.Text = "last"; + this.txtStartSim.TextChanged += new System.EventHandler(this.txtStartSim_TextChanged); + // + // gbEditAccounts + // + this.gbEditAccounts.BackColor = System.Drawing.Color.Transparent; + this.gbEditAccounts.Controls.Add(this.label8); + this.gbEditAccounts.Controls.Add(this.cbGrid); + this.gbEditAccounts.Controls.Add(this.label1); + this.gbEditAccounts.Controls.Add(this.label3); + this.gbEditAccounts.Controls.Add(this.txtLastName); + this.gbEditAccounts.Controls.Add(this.label2); + this.gbEditAccounts.Controls.Add(this.txtFirstName); + this.gbEditAccounts.Controls.Add(this.txtPassword); + this.gbEditAccounts.ForeColor = System.Drawing.Color.White; + this.gbEditAccounts.Location = new System.Drawing.Point(12, 40); + this.gbEditAccounts.Name = "gbEditAccounts"; + this.gbEditAccounts.Size = new System.Drawing.Size(227, 139); + this.gbEditAccounts.TabIndex = 21; + this.gbEditAccounts.TabStop = false; + this.gbEditAccounts.Text = "Login details"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(8, 94); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(88, 13); + this.label8.TabIndex = 24; + this.label8.Text = "Login Grid / URI:"; + // + // cbGrid + // + this.cbGrid.BackColor = System.Drawing.Color.Black; + this.cbGrid.ForeColor = System.Drawing.Color.White; + this.cbGrid.FormattingEnabled = true; + this.cbGrid.Location = new System.Drawing.Point(9, 110); + this.cbGrid.Name = "cbGrid"; + this.cbGrid.Size = new System.Drawing.Size(206, 21); + this.cbGrid.TabIndex = 24; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 16); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(38, 13); + this.label1.TabIndex = 10; + this.label1.Text = "Name:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(8, 55); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 13); + this.label3.TabIndex = 12; + this.label3.Text = "Password:"; + // + // txtLastName + // + this.txtLastName.BackColor = System.Drawing.Color.Black; + this.txtLastName.ForeColor = System.Drawing.Color.White; + this.txtLastName.Location = new System.Drawing.Point(115, 32); + this.txtLastName.Name = "txtLastName"; + this.txtLastName.Size = new System.Drawing.Size(100, 20); + this.txtLastName.TabIndex = 2; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(112, 16); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 13); + this.label2.TabIndex = 11; + this.label2.Text = "Lastname:"; + // + // txtFirstName + // + this.txtFirstName.BackColor = System.Drawing.Color.Black; + this.txtFirstName.ForeColor = System.Drawing.Color.White; + this.txtFirstName.Location = new System.Drawing.Point(9, 32); + this.txtFirstName.Name = "txtFirstName"; + this.txtFirstName.Size = new System.Drawing.Size(100, 20); + this.txtFirstName.TabIndex = 1; + // + // txtPassword + // + this.txtPassword.BackColor = System.Drawing.Color.Black; + this.txtPassword.ForeColor = System.Drawing.Color.White; + this.txtPassword.Location = new System.Drawing.Point(9, 71); + this.txtPassword.Name = "txtPassword"; + this.txtPassword.PasswordChar = '*'; + this.txtPassword.Size = new System.Drawing.Size(206, 20); + this.txtPassword.TabIndex = 3; + // + // btnAddAccount + // + this.btnAddAccount.BackColor = System.Drawing.Color.Transparent; + this.btnAddAccount.ButtonBitmap = null; + this.btnAddAccount.ButtonState = clControls.ButtonState.Normal; + this.btnAddAccount.DisabledBitmap = null; + this.btnAddAccount.Image = bot.Localization.clResourceManager.getButton("frmAddAccounts.btnEdit.idle"); + this.btnAddAccount.Location = new System.Drawing.Point(38, 305); + this.btnAddAccount.Name = "btnAddAccount"; + this.btnAddAccount.OnMouseClickBitmap = null; + this.btnAddAccount.OnMouseOverBitmap = null; + this.btnAddAccount.Size = new System.Drawing.Size(76, 23); + this.btnAddAccount.TabIndex = 6; + this.btnAddAccount.TabStop = false; + this.btnAddAccount.Text = "Add"; + this.btnAddAccount.Click += new System.EventHandler(this.btnAddAccount_Click); + // + // btnCancel + // + this.btnCancel.BackColor = System.Drawing.Color.Transparent; + this.btnCancel.ButtonBitmap = null; + this.btnCancel.ButtonState = clControls.ButtonState.Normal; + this.btnCancel.DisabledBitmap = null; + this.btnCancel.Image = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.Location = new System.Drawing.Point(441, 305); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.OnMouseClickBitmap = null; + this.btnCancel.OnMouseOverBitmap = null; + this.btnCancel.Size = new System.Drawing.Size(76, 23); + this.btnCancel.TabIndex = 7; + this.btnCancel.TabStop = false; + this.btnCancel.Text = "Cancel"; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // gbIRC + // + this.gbIRC.BackColor = System.Drawing.Color.Transparent; + this.gbIRC.Controls.Add(this.chkUseIRC); + this.gbIRC.Controls.Add(this.txtIRCChannel); + this.gbIRC.Controls.Add(this.label7); + this.gbIRC.Controls.Add(this.label6); + this.gbIRC.Controls.Add(this.txtServerPort); + this.gbIRC.Controls.Add(this.txtServerHost); + this.gbIRC.Controls.Add(this.lblServerHost); + this.gbIRC.ForeColor = System.Drawing.Color.White; + this.gbIRC.Location = new System.Drawing.Point(255, 149); + this.gbIRC.Name = "gbIRC"; + this.gbIRC.Size = new System.Drawing.Size(272, 150); + this.gbIRC.TabIndex = 23; + this.gbIRC.TabStop = false; + this.gbIRC.Text = "IRC server configuration"; + this.gbIRC.Enter += new System.EventHandler(this.gbIRC_Enter); + // + // chkUseIRC + // + this.chkUseIRC.AutoSize = true; + this.chkUseIRC.Location = new System.Drawing.Point(9, 19); + this.chkUseIRC.Name = "chkUseIRC"; + this.chkUseIRC.Size = new System.Drawing.Size(104, 17); + this.chkUseIRC.TabIndex = 7; + this.chkUseIRC.Text = "Use IRC server?"; + this.chkUseIRC.UseVisualStyleBackColor = true; + this.chkUseIRC.CheckedChanged += new System.EventHandler(this.chkUseIRC_CheckedChanged); + // + // txtIRCChannel + // + this.txtIRCChannel.BackColor = System.Drawing.Color.Black; + this.txtIRCChannel.ForeColor = System.Drawing.Color.White; + this.txtIRCChannel.Location = new System.Drawing.Point(9, 109); + this.txtIRCChannel.Name = "txtIRCChannel"; + this.txtIRCChannel.Size = new System.Drawing.Size(175, 20); + this.txtIRCChannel.TabIndex = 5; + this.txtIRCChannel.Text = "#BOTS"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(9, 93); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(49, 13); + this.label7.TabIndex = 4; + this.label7.Text = "Channel:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(187, 50); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(75, 13); + this.label6.TabIndex = 3; + this.label6.Text = "Port (No SSL):"; + // + // txtServerPort + // + this.txtServerPort.BackColor = System.Drawing.Color.Black; + this.txtServerPort.ForeColor = System.Drawing.Color.White; + this.txtServerPort.Location = new System.Drawing.Point(187, 68); + this.txtServerPort.Name = "txtServerPort"; + this.txtServerPort.Size = new System.Drawing.Size(61, 20); + this.txtServerPort.TabIndex = 2; + this.txtServerPort.Text = "6667"; + // + // txtServerHost + // + this.txtServerHost.BackColor = System.Drawing.Color.Black; + this.txtServerHost.ForeColor = System.Drawing.Color.White; + this.txtServerHost.Location = new System.Drawing.Point(9, 68); + this.txtServerHost.Name = "txtServerHost"; + this.txtServerHost.Size = new System.Drawing.Size(174, 20); + this.txtServerHost.TabIndex = 1; + this.txtServerHost.Text = "IRC.IRC-HISPANO.ORG"; + this.txtServerHost.TextChanged += new System.EventHandler(this.txtServerHost_TextChanged); + // + // lblServerHost + // + this.lblServerHost.AutoSize = true; + this.lblServerHost.Location = new System.Drawing.Point(9, 51); + this.lblServerHost.Name = "lblServerHost"; + this.lblServerHost.Size = new System.Drawing.Size(81, 13); + this.lblServerHost.TabIndex = 0; + this.lblServerHost.Text = "Server address:"; + // + // lblAddAccount + // + this.lblAddAccount.AutoSize = true; + this.lblAddAccount.BackColor = System.Drawing.Color.Transparent; + this.lblAddAccount.Font = new System.Drawing.Font("Lucida Handwriting", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblAddAccount.ForeColor = System.Drawing.Color.White; + this.lblAddAccount.Location = new System.Drawing.Point(34, 9); + this.lblAddAccount.Name = "lblAddAccount"; + this.lblAddAccount.Size = new System.Drawing.Size(122, 19); + this.lblAddAccount.TabIndex = 24; + this.lblAddAccount.Text = "Add account"; + // + // frmAddAccount + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAddAccount"); + this.ClientSize = new System.Drawing.Size(550, 340); + this.Controls.Add(this.lblAddAccount); + this.Controls.Add(this.gbIRC); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.gbMasterSetup); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.btnAddAccount); + this.Controls.Add(this.gbEditAccounts); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "frmAddAccount"; + this.Text = "Add account"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmAddAccount_Load); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmAddAccount_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmAddAccount_MouseMove); + this.gbMasterSetup.ResumeLayout(false); + this.gbMasterSetup.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.gbEditAccounts.ResumeLayout(false); + this.gbEditAccounts.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnAddAccount)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnCancel)).EndInit(); + this.gbIRC.ResumeLayout(false); + this.gbIRC.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + } + + private void radHome_CheckedChanged(object sender, EventArgs e) + { + this.txtStartSim.Text = "home"; + this.txtStartSim.Enabled = false; + } + + private void radLast_CheckedChanged(object sender, EventArgs e) + { + this.txtStartSim.Text = "last"; + this.txtStartSim.Enabled = false; + } + + private void radSet_CheckedChanged(object sender, EventArgs e) + { + this.txtStartSim.Text = this.m_Sim; + this.txtStartSim.Enabled = true; + if (this.txtStartSim.Focused) + { + this.m_Sim = this.txtStartSim.Text; + } + } + + private void txtStartSim_TextChanged(object sender, EventArgs e) + { + if (this.txtStartSim.Focused) + { + this.m_Sim = this.txtStartSim.Text; + } + } + + public delegate void AddAccountCallback(BotAccount loginDetails); + + /*private void txtMaster_MouseDown(object sender, MouseEventArgs e) + { + if (txtMaster.Text.Equals("Phillip Linden")) + txtMaster.Text = ""; + } + + private void txtMaster_Leave(object sender, EventArgs e) + { + if (txtMaster.Text.Equals("")) + txtMaster.Text = "Phillip Linden"; + }*/ + + private void chkUseIRC_CheckedChanged(object sender, EventArgs e) + { + bool isChecked = chkUseIRC.Checked; + + txtMasterIRC.Enabled = isChecked; + txtServerHost.Enabled = isChecked; + txtServerPort.Enabled = isChecked; + txtIRCChannel.Enabled = isChecked; + } + + private void txtServerHost_TextChanged(object sender, EventArgs e) + { + + } + + private void gbIRC_Enter(object sender, EventArgs e) + { + + } + + private void frmAddAccount_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmAddAccount_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + } +} + diff --git a/SLBot/bot/GUI/frmAddAccount.resx b/SLBot/bot/GUI/frmAddAccount.resx new file mode 100644 index 0000000..55b6d73 --- /dev/null +++ b/SLBot/bot/GUI/frmAddAccount.resx @@ -0,0 +1,5052 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + FwARERkAExMbABUVHQAXFx4AGRkgABwcIgAeHiQAICAnACIiKAAlJSsAJiYuACcnMAAoKDMAJiY4ACMj + OgAhIToAHBw5ABgYNwATEzQAERE0AA0NMwAKCjQACQk3AAkJOgALC0EACwtIAA0NTgAQEFQAEBBZABAQ + XwAREWYAEhJrABIScQATE3YAEBCCAA4OkgAMDKIACwuuAA4OsAAUFLAAGhqhAB4elgAgII8AIiKLACUl + jgAnJ5AAKiqUAC0tlQAvL5gAMjKUADQ0jwA1NYUAMzN4ADIyZwAzM2IAMzNeADMzWgAzM1UAMjJQADIy + SAAzM0MANTVDADg4QwA6OkEAOztCAD09QwA/P0UAQUFHAEJCTABERE0ARkZOAElJUABLS1QATk5WAFFR + WQBTU1wAVVVhAFZWZABWVmcAWFhpAFhYaQBZWWkAWlpqAFxcawBdXWwAX19uAGJicABlZXEAaWlyAGtr + dABubnYAcHB6AHNzfABycn8Ac3OAAHNzggBzc4UAcnKHAHFxigBwcI0AbW2PAGpqkQBoaJAAZWWQAGJi + jwBgYI8AXV2OAFlZjQBUVI4AUlKQAFFRlQBQUJwATk6kAE9PqQBPT68AUFC0AFFRuwBRUcMAUlLJAFVV + yQBaWsQAYWHEAGVlwwBra8IAbm7BAHFxwQB0dL0Adna5AHd3tgB3d7IAd3euAHh4qwB4eKYAeXmiAHp6 + ngB7e5oAe3uVAHx8kQB9fZAAf3+PAICAjQCCgo4AhISOAIaGjQCHh40AiYmPAIqKkgCMjJQAjo6WAI+P + lwCRkZkAlZWcAJeXngCZmZ8AnJyiAJubpACZmaUAl5eoAJKSrQCOjrEAi4uyAIiItwCGhrkAhoa7AIWF + vgCEhMUAhITLAISEzgCGhtAAh4fRAIqK0QCOjtQAkZHSAJSU1ACXl9EAmJjQAJmZ0ACamtEAm5vRAJ6e + zQCiosgApKTHAKamxwCoqMUAq6vCAKyswQCtrb8Arq6/ALCwwACyssIAs7PDALOzxgC0tMwAtbXSALa2 + 0gC4uNEAubnOALu7zAC9vc8Avr7QAMHB0QDDw9IAxcXYAMbG2wDIyN4AzMzdAM7O3gDR0d8A09PjANXV + 5ADW1ugA2dnrAN7e7wDh4fEA4+PyAOXl8gDm5vMA6Oj0AOnp9ADr6/UA7Oz1AO7u9QDv7/YA7+/3APHx + 9wDy8vgA8/P4APX1+QD29vkA9/f6AP///wD5+fsA+vr8APz8/AD8/P0AAAAAAP39/QD9/f0APC8vKzAw + K38+LiwFBQQFBScnAAAAJwYGBSouPDMnBSmCNTUxMjo1ALg6MwkBAREkBQUAAAwIBwUHCS1AQCoHLIM0 + NDMoAAAAAJBbU2Vpm0QtAg4dVWdmTy0mAz1nDwcrj4M7OzwnAAAA2XAeHQAAoyEMXV18hUWgai4FInIQ + JzCKi4pDQz0nAAAAowgCAADUHWdqEz08LADIXycTsCMLMYs8i3sqLS4AAACrJgEAALJnbhYEIycAAACh + JBN0JUpGjEAAHwICMi0AAKwXAgICbG6iDgICAgAAQ68UFKkVSURFAHkUEwqAQygA0B4aGlSeTqkYAQMC + AEaLqQ8YACZMAEUjcRQSA2nFRFbQoKfKrHgVplsEAQIAJnmnBABrAwcJkYJqDBICAACzkaoDHn+nohRP + qAcLDAQZzlsAAFsGCiS3ipoKEgIAAADSzgcSeU7MCBeoZFtuaawAAKysq21qR8vFsiUSB00AAADQGQIM + UqwPHWghXW4AAABIgIzRWRd/AACgJREKd3oiAM5aGx3bohBXeScIAgAhRo24t85OIAAAAEkoEgFp08CV + 4c3Z4KxLFHt4KQ0Kfre4kQAA8AAAAAChfCsRAgAAAADVwZ1HKRlKAHUrDQ0AAAAAAAAAAAAAtHqWLxID + FyMJAAAAdi8hTgC2lSsOAgAAICAfTEpYfEnTdXYvEAN2wJOys5oxLht2AL6ULwwRs8XFw7y8tLfEfdVb + eTMTAwAAAAAAgTMgWADAxZMxDgMAAAAAAADY1d6YsVqWNBUCAAAAUnc9RxiVsbCsjjANDx8AAAAAAAAA + AADeAJQzEANWmMLFMjAcYgB2AK+1PwkRrMl2UxwAAAAAAAAAlDQODpndx4U2IBsAmQBo3480FQIAAO/X + mplkVgAAsaa9NQ4PdAAAQj0bANNcAGUAx0MbERcAAADj0tPLslbh2b02EAIAAG6SYAAArwAAZQDicgsb + oE4AAAAA5N7ec+XmuTURAgCyR1cAAOWcAOlnAN6xFQ7a2lsAAAAA6u2l5du+Ng4CZ7hIAgAA4l8A8mwA + /6wbAgD84WwAAAAAANblALk5CxmIhFgAAOauAADxpAAAYBECAADr354AAAAAAOXbuzcWRTlLAwAA8cgA + APelAIs4DwIAAPrp465VAPWs4qy9OTk3QhQAAOfjnAAA89AAjzkNAgAAAPru7dZnrajjrLo5OTktVQAA + 785kAAD235+KNwgKUAAAAPrz6+WpXfX5vDc3OVkAAPT81gAAAOrfbok3UW6nAAAAAP/19f+i+f/TiIi0 + AADy9/ujAAAA8sxtv4jZ//dnAAAA6/z1/6z3+//79PXjAPr89KwAAAD/754AAAD//+DKAOvn//z61wAA + OAABADAAB4AAAAOGAAABxgEAAcYDgCDAAwBAQAIJAAAAEAMAADADgADAAcADgMBAAgHAAAA3g8BD/wBw + gwAAAIAAA+ED8AOAAf9AAoAfwAUDAwGJQcADG0DwAjJAeAAyQj5AZmMfAGZDBADGQ4AAxgHAAY4B4AMO + AOABDjhAKAAAADAAAABgAAAAAQAEAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA + gACAAAAAgACAAICAAADAwMAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAQAAABABEQAAAA + AAAAAAABAAAAEBEQAACBERERERhxEQAAAAAAAAAQAAAAARERABCBEREBEQB4EQAAABAAAAAAAAAAABER + AACBEREAAAAHGAAAiIEQAAAAgAABAAGAAACBEREQAAAAeAiId4EQAIiIh4gAAAGAABCIgRERAAAAdwAA + AHiACIiBERBwAABwABGBeBEREAAABwAAAAcAiAAREAAHAAB4ABGBGHgREQAABwAAAAeAiAAREAAHgQCI + ABGBEIgAARAABxAAAAeIgAAAAAAIgACAAIGBEAAAARAABxAAAAiHgAAAAAAIgAB4AIGBCBAAAREABwAA + AIiIgAAAAAAYcABwAIEQCAAACIEQD4AACIgIcAAAAAiHgACAAAGACIAACHgRF4d3d4gAeAAAAAEXgABw + AACBGBAAAAeBh4AIh4iAhwAAAACHgACAAACIiAAAAAB3h4AIEHgABxAAAAh3AICAABB4hwAAAAAHf4AI + gIcACIgIgRjwAHiIiIF4hxAAAAAAj4AAgIcACIiHd/cACId3iIEHdxAAAQAAB4AAAHgABwAAgAABiIF4 + ABgABxAACIgAB4gACPgAiAAAAAAYiIh4AAAACBAACHeBD3iIf3EAiBAAAIiIiID4AAAAgQAAAAd3d3f/ + eBEIBxAACIhwAAD3AAAIeBAAAAAAB3iIEBAIBxEACAAAAAAAAACBF4EAAAAAAAB4EQCAhxAAAAAAAAAA + AAB4hxEAABAAAACBEQEIhxAAAAABEYiIiIh3iBEACIiIiIgREBgIdxEACHd3eIiIh3h4CBEACHd3AAgR + EIB4dxEAAAd3d3d3d3h3CBEAAAAAAIERAHdwdxEAAAAAAAAAB3iICIEQAAAACIEQCAd4BxEAAAAAAAAA + AAB3hxEAAACIiBEQEICAhxEACIgAAAAAAAAABxEACId3cREAAICAh4EAAPd4gQAAAAAACBEACHd3gRAA + BwCA9xEAAAD3eIiAAACBhxEACIAIERAACACA9xEQAAAA94d3iAB4dxEACAAHERAAeACAD4gAAAAAD3d3 + d4h3dxEAAACIiIAHgA+AD3gACIAAAA93d3h3dxEAAAiAeAAHgA+AB4gAB3gAAAAP93h3dxEAAAcQAAB3 + gA+AD3cACPeAAAAAD/j3BxEAAIgQAAB3EA+AD/iAAP93EAAAAPfwBxkACBiAAAd3AA9wAHgAAA/3eAAA + AAD3BxkACJiAAAd4AAdxAIgAAAD3d4AAAPj3B5kAiZAAAPf4AA9wB5kAAAAPd3gAAPj3dxkRmYAAAP9w + AA/4B5kAAAAP/3+AgPj3hxmZkQAAB/eAAA/4B5kAAAAA///3iHj3hxmZkQAAD/cAAH/4B5kAAAAAD//3 + +Ij3dxmZkQAA//cAAP/4B5kACAAAAP///3j/95mZEAAP//cAAPd3B5mIj4AAAP////j/9xmRgAAP//gA + AP94hxmP/3AAAA////j///d3dwD//3gAAP/4F/d///iA94////j///////////AAAP//gAAP//9w//// + //cAAAAeAAAAAAAAABwAAAAAADAAHAAAAAAA+AAICAAAAAD8AAAGAAAAAHwcABIAAAAAPh4AOAAAAAAe + HgB4AAAAEB4MAHgAAAAYDgAAeAAAACAGAABwEAAAYAIAAGBSAAAgAAAAAMAAAABgAAABwAAAAHAEAAMA + AAAAeAAABwAAAAA8AAAOAAAAgB4AAHgAAADgBgAAYAMAAOAAAAAATwAAwGAAIAfPAACAfgAgP/8AAAB/ + wEB/8AAAAADAgAAAAAAAAACAAAAAAAADgQBgAAAAAH8AQH/4AAAgfAIgH/8AAABgBUAD/wAA4AANQEB/ + AADgABtAcAcAAAAYG0B8AAAAADgzYD4AAAAAcGJgH4AAAABg5mEH4AAAAGDGYQP4AAAgAcYgQfwAAGAD + jjBg/wAAIAOOMHA8AAAgBw4geBwAAAAHHiB4BAAAAA4eIDwAAAAAHhwgPgAAAAAcHCAfAAAAADg8IB8A + AAAAeDwAD4AAAAAwPAAEAAAAAAB8HgQAAAAoAAAAMAAAAGAAAAABAAgAAAAAAIAKAAAAAAAAAAAAAAAA + AAAAAAAAAAACAAEBAQABAQEAAAABAAAAAQAAAAAAAAAAAAAAAAABAQIAAwMHAAQECAAFBQkACAgLAAoK + DQAMDBAADAwUAAsLGQAJCRoACAgdAAYGIAAGBiMABQUtAAQENgAEBDsABQU+AAgIPgALCz0ADQ01ABER + LgAUFCQAFhYeABcXHAAXFx0AGBgiABkZIwAaGiQAGxslABwcKAAdHSkAICAoACEhJgAjIycAJCQqACcn + MAAoKDMAKio0AC4uNgAwMDcAMzM4ADU1OQA4ODwAOjo+ADk5QwA5OUcANjZNADQ0VgAwMFcAKytbACUl + XQAeHl4AGhpcABUVXQAQEF0ADQ1fAA0NZgAODm0ADw9xABAQeAAREYEAERGJABERkQAREZYADw+cAA4O + qQANDcIADAzUABAQ2QATE9EAFxfCAB0dpwAgIJsAIyOTACcnkQAqKpgAKyuiACwsqwAvL7wAMjK/ADc3 + uQA5OakAOzumAD8/owBFRaIATk6mAFFRqABSUqcAVFSjAFBQnABNTYkAR0d4AEZGbgBFRWYARkZhAEZG + WgBHR1IASkpRAE1NUwBRUVQAVFRWAFZWWQBYWF0AWlpjAF1dawBfX3AAYWF4AGNjegBlZXoAaGh6AGpq + dgBsbHUAbm52AG9vdgBxcXcAdHR9AHZ2gAB4eIAAfHyBAH5+hACAgIYAgoKIAIeHjACJiY4AiYmTAImJ + mACIiJ4Ah4ejAISEpACBgaMAfX2iAHp6oQB4eKEAdXWiAHJyowBubqQAamqpAGdnrQBnZ7MAamq2AG9v + uwBzc7sAdXW9AHd3vQB7e70AfX3AAICAwgCCgsQAhITEAIaGxgCHh8cAiYnJAIqKygCLi8kAjIzJAI2N + yQCNjcoAj4/LAJGRzACTk8sAlZXHAJWVwgCUlLcAlJSyAJSUrgCVlaoAlpaiAJeXngCZmZ8Am5unAJyc + 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 + YdO1tbhQ7+/xZaurrXXo6Omt/Pz+//X1+P/+/v7/np6g8vf399z7+/zt////7fz8+uDz8/C29fXxk9XV + 1n7Pz89z+vr72vz8/e309PXtoqKjoNra2ynu7u8l/f39aP///+3u7u/tgYGBrdTU0UD///5I////av// + /+z////tz8/P7qqqq4////906OjpjuHh4p7////N/Pz97fr6++27u7vcAAAAAAAAAAAAAAAAAAAAAAAG + AQAAgAEAAAAAAAAAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAAAAAABAADwAAAAAAAAAAAAAAAAAAAAfAAA + AAAAAAIAAAABgAAAAEAAEAAwAAIAAAAiAAAAQgEAAAQBAAAEAAAAAAAAAAAAAAAAAAAoAAAAMAAAAGAA + AAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAISF+3AICRe0EBEjtBQVK7QICPugBAT3PBARSwgYG + V7YEBE2pAAAwnBUVYIo+PpaxFxdd7wAAQO0EBEXtAgJJ7QEBMecAAA6sAAASuQAAD7oAAAnKBQUUyAUF + IugBARftAQEl7QMDQO0BASq6CAhjOQsLhkIPD4VFGBiKQRUVa5wCAintAAAT7QAAD+0AABDtAAAU7AMD + LbQLC1OVAgJCnRAQWq0WFmu6Dw9exQYGTtcAACLsAAAQ7QICMe0BAS/cWVm28gkJj/8SEpz/ExOd/woK + iv8CAl3sCQmEvxwcpLMfH6GkDQ2OlgYGZYWBgcCBjY3V7xcXk/8bG53/BgaR/wAARf8AAAD2AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAL/AQEk/wMDLv8AACC2FxeBKSwsqTM4OJw5GBhIeg8PH+0AAAn/AAAB/wAA + Av8AAAL/AAAA/wMDCPoVFTPYHx95rBgYfqY+Pqi2MzOwyRgYlvoMDDP/AAAA/wgIV/8FBUzyX1+57Q8P + c/8PD4v/CQmS/woKhf8ICGz+AgJCyQ8Ph5UlJaSLKSmjfQwMi28iIoVYra3bmEdHq/8UFJn/JSWI/xQU + OP8NDQ79EhIS/woKDeAKChSxDw8XnzIyTeUQEDn/AwMR/wAAAP8AAALTDg5OPxgYgBsVFTVxBAQC6AgI + B/8KChH/Cgor/wcHQP8DAzPvAwMawAQEBfIAAAD/EBAd4SEhdaQZGY+bLS2P4x0dbP8NDTH/AAAA/wcH + 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 + r0X6+v//4+Px/0tLUdugoJgtoaH/8AwM6/8aGsf/Ghoj/wAAAP8EBATwEhITLMXF0gDq6vkG7+/4APn5 + /H/x8fr/5eXz/9ra6P/c3Oz/mpql/zo6P9lMTFF90tLfePb2/5h9fYWd4uLsuKensLR/f4CZxcXo3jEx + 7f8SEuj/Fhbv/wcH4/8AANr/LCyi/zg4L/8AAADQTExRNNPT3gTp6fUJ0tLew+Hh7v+0tL7/nZ2m+y4u + MTIAAAADAAAAH4yMkGr8/P//8fH9/2JiaOihoZg5n5//7hQU8f8bG8L/GRkf/wAAAP8KCgr/Kystf6en + sADi4uwO8fH7EfPz+hH6+v2r8PD5/+np9v/o6PT/39/r/8HBy/9qam/wSkpOq8LCzKJpaW+r5OTsw6Sk + rMd/f3/ioqK+/0BA9/8QEOz/GRnt/xgY7f8ODvP/ICCk/xAQCvU5OTtzyMjQFry8xAbd3edc6Ojy/+Pj + 7v+kpKv/PT1AyoiIjgEuLjADFhYXDaGhpX7+/v//9/f//3BwdvOXl45GkpLz7AQE2v8ICL7/Ghoe/wAA + AP8RERL/LCwu5U5OUiOTk5oP9/f/HfPz/SD6+v8y+vr+0fHx+f/v7/n/6+v1/8vL1P/l5e//kZGX/Vxc + X9RUVFi29PT61dXV3Pjd3d7/w8Po/zIy/P8KCvX/EBDz/xAQ9f8bG+v/LS1Q/x0dF7CtrbM47e31IOrq + 8SDo6PDX8vL6//Dw+P/Dw8n/ODg5l6iorQqhoacDtLS5APHx9pDj4+r/+Pj+/4SEiPpgYFdUkZH16gAA + 5P8GBr3/Ghog/wAAAP8tLS7/bm5y/y8vMZBlZWgTu7vBKcPDyzPZ2d82+fn8Xvr6/ery8vr/8/P6/+7u + 9f/p6fH/+Pj//76+xP9JSUzd+fn97PX1+//9/fz/yMjx/xISw/8AANT/AQHo/wYG+/83N533Q0M4q6Cg + pGLh4eY85+fsKPT0+oD19fr/9PT5//z8//+np6v9VFRWUrS0txLk5OoM7e3xAf39/6TX19z/19fc/6Sk + p/9cXFNqkZH36QcH/v8AALj/Tk5U/nl5ef+amp3/4ODl/1ZWWPNYWFpH2trfMtzc4UPDw8lPzs7SU/// + /436+v359fX7//f3/P/z8/n/9fX6//7+//9ycnXv/Pz+7fj4+//+/v3/1tby/zY22v8aGuL/FRXc/zAw + 1f+RkZWrbGxqZL29wFzs7O9O6+vvT/X1+eT39/r/+fn8//z8//9xcXLigoKEIunp7RXt7fEX/f3/DP39 + /7fr6+7/q6ut/5OTlf9sbGSIsLD88TAw//8XF8b/goKM5v////n7+/7//////8LCxP8yMjOyrKyuQP// + /1Xi4uZimJibcMXFx3f///+5+/v9//T0+P/19fj/+fn8//////97e33t+Pj58u7u8P/9/f7//f3//+fn + ///T0/T/xsbq5srK2NDX19SQr6+xgnJyc3XBwcJf9vb4rO/v8P/5+fr/8PDy/9jY2v9MTE22qqqsJenp + 6inf3+El+Pj6Iv7+/9H8/P7/6Ojp/4KCg/9CQkKg0tLZk93d9ara2vqr3NzggP///+L8/P///f3///z8 + /v9ycnL9SkpLfezs7mb9/f562trbiJSUlpfg4OKj////4PHx8v/4+Pr/7e3v//Pz9P94eHry/f393Pf3 + +O3+/v/t/v7/7f///e38/PfU+vr0r/39+qH7+/yY/f3+i+Tk5Xzm5ud9////4fn5+u3////t////7eLi + 4u2urq917OztMevr6zb19fYw/f3+N////9H+/v/t////7fHx8u15eXqjzs7NHPHx7Sf///8r////LP// + /7D+/v/t/v7/7f///+3v7/Dvs7O0v+/v8HD///+C////kPX19p3v7/Cq////uP///+L////t/f3+7fr6 + ++3Dw8TcAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAACAAAAP//AAAMAAAA + //8AAAwAIAD//wAIAAAoAP//AAQAADAA//8AAAAAIAD//wAAAAAAAP//AAAAAAAA//8AAAAAAID//wAg + AAAAAP//AAAAAAIA//8AGAAABAD//wAAAAAQAP//AAAAAAAA//8AAAAAAAD//wAAAAABwP//ACAAAA/4 + //8AAwAAOAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wA/AAA+AP//ADAAAAf4//8AAAAAAOD//wAA + AAAAAP//AAAIAEAA//8AABAAMAD//wAQAgAcAP//ACAiAA8A//8AIEIgA8D//wAAwgABAP//AACEAACA + //8AAYQwAAD//wABBAAgAP//AAIEADAA//8AAgwAKAD//wAAAAAgAP//AAAAAAAA//8AAAQAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAAABAAAAAgAAAQAgAAAAAAAAIAQAAAAAAAAA + AAAAAAAAAAAAAAEBZf8AAD//AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT7AAAk9AAAJPAAACTuAAAk7AAA + JOoAACTnAAAk5gAAJOMAACTgAAAk3gAAJNsAACTaAAAk1wAAJNUAACTSAAAk0AAAJM0AACTLAAAkyAAA + JMUAACTDAAAkwAAAJL4AACS8AAAkuQAAJLYAACS0AAAksQAAJK8AACStAAAkqgAAJKcAACSlAAAkowAA + KKEAACufAAArrwAAJ/MAACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACP/AAAj3gAAH4cAABxyAAAZeAAAFnwAAByAAAAlggEBKIIBASmCAQEpgQEBKIABASh/AQEnfgAA + I34AAB19AAAWfgAAE38AAB6EAAAjjAAAG5YAABieAAAVpAAAFqUAABugAAAilQAAKYoAACt8AQE7sQAA + M+8AACH/AAAd/wAAHf8AAB7/AAAe/wAAHv8AAB//AAAg/wAAIP8AACH/AAAi/wAAI/8AACP/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJPgAACR7AAAkUAAAJE0AADBOAQFITgEB + VU8BAVdQAQFWUAEBUlEBAVJRAQFRUgEBUVMBAVFUAQFOVQAARFYBAUxXAQFSWAEBUVkBAVFZAQFQWgEB + UFsBAVFdAQFWXgEBXl8BAWBgAQFPYgAAOX0AACTuAAAj/wAAI/8AACL/AAAh/wAAIf8AACD/AAAf/wAA + Hv8AAB3/AAAd/wAAHP8AABz/AAAc/wAAHP8AABv/AAAb/wAAG/8AABz/AAAc/wAAHP8AABz/AAAd/wAA + Hv8AAB7/AAAf/wAAIP8AACH/AAAi/wAAIuYAACKzAAAjnwAAJKEAACSjAAAkpQAAJKgAACSpAAAkrAAA + JK8AACSyAAAktAAAJLcAACS5AAAkuwAAJL4AACTAAAAkwwAAJMYAACTIAAAkywAAJM0AACTPAAAk0gAA + JNUAACTXAAAk2QAAJNwAACTeAAAk4AAAJOMAACTlAAAk5wAAJOoAACTrAAAj7gAAIvEAACD1AAAf/AAA + Hv8AAB3/AAAc/wAAG/8AABv/AAAb/wAAHP8AAB3/AAAe/wAAH/8AACH/AAAi/wAAI/8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8BAYb/AQFl/wAARv8AACj/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJPgAACTtAAAk7AAA + JOoAACTnAAAk5QAAJOMAACTgAAAk3gAAJNwAACTZAAAk1wAAJNQAACTSAAAkzwAAJM0AACTKAAAkyAAA + JMUAACTCAAAkwAAAJL0AACS7AAAkuAAAJLYAACSzAAAksAAAJK4AACSrAAAkqQAAKaYBAVmkAQFQoQEB + TaABAVGdAQFXmgEBW5sBAVrKAQFO/gAAPP8AACj/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAj/wAAIvQAAB2eAAAXfgAAEoYAABCOAAAXlQAAH5kAACGaAAAimgAAIpoAACKZAAAhmAAA + IZgAACCXAAAelwAAGZcAABWaAAAaoAAAGagAABOyAAARuwAAD8AAAA/AAAATugAAGrACAiGjAQEklgAA + O7cBAUPvAQE2/wAAJf8AABj/AAAZ/wAAGf8AABr/AAAb/wAAHP8AAB3/AAAe/wAAH/8AACH/AAAi/wAA + I/8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACTxAAAkbAAAJEsAACRKAAA9SgEB + W0sBAWpMAQFtTAEBa00BAWhOAQFnTgEBZk4BAWdPAQFpUAEBYVEBAWBSAQFpUwEBaVQBAWlVAQFpVQEB + aFYBAWhYAQFuWQEBeFoBAYRcAQF7XQEBa2MBAVGcAAA7+QAAK/8AACH/AAAf/wAAHv8AAB3/AAAc/wAA + G/8AABn/AAAY/wAAF/8AABf/AAAW/wAAFv8AABb/AAAW/wAAFv8AABb/AAAW/wAAFv8AABb/AAAX/wAA + GP8AABn/AAAa/wAAG/8AABz/AAAd/wAAHvwAAB7JAAAfpgAAIKAAACagAAApoQAAKKMAACSkAAAkpgAA + JKkAACSsAAAkrgAAJLAAACSzAAAktQAAJLgAAC26AQFVvQAAR8AAADrCAAAyxQAAK8cAACbKAAAkzQAA + JM8AACTSAAAk1AAAJNcAACTZAAAk3AAAJN4AACTgAAAk4wAAJOUAACToAAAj6QAAIu0AACDxAAAe+QAA + HP8AABn/AAAX/wAAFv8AABb/AAAW/wAAFv8AABb/AAAX/wAAGf8AABz/AAAe/wAAIP8AACL/AAAj/wAA + JP8AACT/AAAk/wAAJP8AACT/Hx+c/wICif8CAnL/AQFV/wEBMv8BAST/AQEk/wEBJP8BAST/AQEk/wEB + JP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST+AQEk8gEB + JOkBASTmAQEk5AEBJOIBASTgAQEk3QEBKNsBASvYAQEt1QEBL9MBATPQAQE1zgEBNMsBATXJAQE3xgEB + OcMBATrAAQE5vgEBNLwBASu5AQEktgEBJLQBASSxAQEkrwEBJKwBASSpAQEkpgEBJKQBASSiAQFUnxAQ + lZ0CAoibAgKBmAICiJUCAo+UBgaRoAICiu0CAnr+AQFj/wEBSf8BATT/AQEl/wEBJP8BAST/AQEk/wEB + JP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEB + JP8BAST/AQEk/wEBIv8BASD/AQEbuwAAEpIAAAyYAAAKpwAAD7EAABS3AAAVuQAAFroAABW5AAAVuQAA + FbkAABW4AAAVuAAAFLcAABK4AAAQuwAAEL8AAA/GAAAMzgAACtUAAAnYAAAJ2QEBC9MFBRDKCAgVwAkJ + F7YNDSrHCgo/8wEBPP8AADD/AAAk/wEBGP8BARP/AQEU/wEBFf8BARb/AQEY/wEBGv8BARz/AQEe/wEB + IP8BASL/AQEj/wEBJP8BAST/AQFX/wEBQf8BAST/AQEk/wEBJP8BAST+AQEk6QEBJF8BASRGAQEoRQEB + TkYCAnBGAgKARwICg0cCAoFIAgJ/SQICf0kCAn1KAgJ9SwICekwCAnBMAgKATQICgk4CAoJPAgKBUAIC + gFECAoFSAgKEUwICjVQVFZVWExOSWAMDhFwCAnhqAgJqxwEBWfwBAUT/AQEy/wEBIf8BARr/AQEY/wEB + Fv8BARX/AQET/wAAEv8AABH/AAAQ/wAAD/8AAA//AAAP/wAADv8AAA7/AAAP/wAAD/8AAA//AAAP/wAA + EP8AABH/AQES/wEBE/8BARX/AQEW/wEBGP8BARnoAQEYuQEBI6cBATWkAQFFowEBT6EBAVChAQFJoQEB + QKIBATmkAQEypwEBK6kBASesAQE2rwEBK7EBASSzAQEktgEBWrgICJK7AgJ5vgEBY8EBAVfDAQFQxgEB + S8gBAUbLAQFDzgEBQtABAT7TAQE91QEBO9gBATraAQE53QEBNuABATLiAQEw5AEBK+cBASbrAQEe9gEB + G/4BARf/AQEU/wAAEf8AAA//AAAP/wAADv8AAA//AAAP/wAAEf8BART/AQEX/wEBG/8BAR//AQEh/wEB + I/8BAST/AQEk/wEBJP8BAST/AQEk/0FBq/83N6b/Jiaf/wICi/8BAWL/AQFL/wEBS/8BAT//AQFC/wEB + Q/8BAUX/AQFI/wEBSf8BAUn/AQFK/wEBSv8BAUv/AQFL/wEBSf8BAUn/AQFH/wEBQ/8BAT3/AQE3/wEB + M/0BASvtAQEp5AEBM+EBATzfAQFD3QEBS9oBAVHYAQFV1QEBWNIBAVvQAQFezQEBYMoBAWDIAQFhxgEB + ZMMBAWTAAQFkvQEBZroBAWS4AQFetQEBUrMBAUWwAQE5rgEBL6sBASSoAQEopQEBOqMBASShAQEkngEB + JJwtLaKZU1Ozlzw8qJQ/P6qST0+xj1pato5ZWbbBSkqv+C0tov8CAo//AgJ0/wEBXP8BAU3/AQFI/wEB + RP8BAUL/AQFD/wEBQv8BAUP/AQE1/wEBOP8BAUj/AQFH/wEBR/8BAUf/AQFI/wEBSf8BAUv/AQFM/wEB + S/8BAUT/AQEy/wEBI/8BASL/AQEf/wEBGtcAAA+nAAAIqwAABr4AAAnKAAAL0gAADNQAAA3VAAAN1QAA + DNQAAAzUAQEN1AAADNQAAAzTAAAL1AAACtYAAAjZAAAI3gAABuQAAAXoAAAE6wAABesCAgbnBAQI4QYG + C9oHBw3SDAwX2BQULPURETD/Bwcu/wEBKP8AACD/AAAc/wAAG/8AABr/AAAY/wAAFf8BART/AQEX/wEB + Gv8BAR3/AQEg/wEBIv8BASP/AQEk/wICe/8CAon/AQFd/wEBL/8BAST/AQEk/QEBJOEBASRUAQEkQQEB + OUIBAWBCAgKEQwkJkkMMDJNECQmSRQYGkUUGBpFFBgaRRgYGkUcCAoJIAgKESRAQlUoPD5VLDQ2UTA8P + lU0QEJVNExOWThoamFArK5xTNzecVioqj1okJIJhFxd3fg8PfOkCAmr/AQFW/wEBRf8BATX/AQEq/wAA + JP8AACD/AAAd/wAAGv8AABj/AAAW/wAAFP8AABP/AAAS/wAAEv8AABL/AAAQ/wAAD/8AABH/AAAS/wAA + Ev8AABT/AAAV/wAAFv8AABb/AAAW/wAAF/8AABn8AAAb1gAAIrwBATK0AQFErgEBVqoCAmamAgJwpAIC + cKMCAmqhAQFgogEBU6QBAUemAQE5qAEBPKsBAUytAQEksAEBJLMBASS1NjamuEpKr7sbG5q+AgKKwAIC + gcMCAnvFAgJ2yAICc8sCAnHNAgJv0AICbdICAmzVAQFp1wEBaNoBAWPdAQFf3gEBW+IBAVPkAQFL8gEB + Nv0BASz/AQEp/wAAH/8AABj/AAAT/wAAEv8AABH/AAAS/wAAFf8AABn/AAAf/wEBKP8BASv/AQE1/wEB + PP8BAUL/AQE0/wEBJP8BAST/AQEk/wEBJP9kZLr/bm6+/2lpvP9NTbD/EBCV/wMDg/8DA3z/AgJ3/wMD + fP8DA3v/AwN8/wMDgf8DA4H/AwOB/wMDgf8DA4D/AwOB/wMDg/8DA4P/AwOB/wMDf/8DA3z/AgJ3/wIC + bv8CAmb/AgJW+gICUOgCAlnfAgJg2wICatkCAnXXAwN+1AMDg9EDA4XOAwOJzAMDjMkDA43GAwONxAMD + jcEDA4+/BQWQvAQEj7kFBZC2BASPtAMDjrEDA4evAwN5qwICZqkCAlSmAgJIpAEBRqECAlqeAgJdnAEB + JJkBASSXAQFBlGJiuZN4eMOQcXHAjYODyIqSks+ImJjRlZWV0OOJicv8dHTB/05OsP8lJZ7/AwON/wMD + gv8DA3z/AwN5/wICdf8CAnT/AgJv/wICYv8DA3v/AwOA/wMDgf8DA4H/AwN//wMDgf8DA3//AwN8/wMD + gv8DA3//AwN9/wICY/8BATn/AQEh/wEBHv8BARjtAAAOvAAABroAAATPAAAF3QAABeYAAAbpAQEG6QIC + BukBAQbpAQEG6QICBukCAgbpAQEG6AEBBukBAQXqAAAF7QAAA+8AAALzAAAC9gAAAvcAAAL3AQEC9AIC + BPADAwXsBAQG6AcHCugRERr5ExMf/xISH/8NDR7/BgYd/wEBG/8BARz/AQEe/wEBIP8BASL/AQEi/wAA + If8BASL/AQEm/wICOv8CAkH/AQEi/wEBI/8BAS3/Ly+h/x4emv8CAl3/AQEy/wEBJPsBASTWAQEkSgEB + KD0CAkk+AgJyPhAQlT8pKaA/KyuhQCgon0AlJZ5BICCcQR8fm0ISEpZDAwOJRCUlnkUxMaRGMzOlRzIy + pEcwMKNIMDCiSiwsnkswMJtPSEieUkREkVk9PYFhNTVycDExcqEtLXj7Hx9o/xUVWf8KCkv/AQE7/wEB + MP8BASj/AQEj/wEBHv8BARv/AQEY/wAAFf8AABP/AAAR/wAAEP8AABD/AAAQ/wAAD/8AAA7/AAAP/wAA + EP8AABH/AAAT/wAAFP8AABb/AAAW/wAAF/8BARn/AQEZ8wEBGdcBASHLAQEwxQkJQb4WFlK3Hx9isSUl + cawnJ36nISGFpA4OhaMDA3yiAgJspAICYqQCAl6mAgJyqQICcqwBASSvAQEksQICVbNpaby2b2+/uUtL + r7w8PKi+MzOlwS0tocQoKJ/HJSWeyCMjncwiIp3PICCc0RwcmtQZGZnXERGV2QYGkNwDA4jeAwN96gMD + cPsCAlT/AgJR/wEBPP8BASr/AQEc/wAAFP8AABD/AAAP/wAAD/8AABT/AQEc/wEBKv8BATj/AQFK/wIC + X/8DA2z/AwN2/wICZv8BATT/AQEk/wEBJP8BAST/d3fC/4CAxv9+fsX/Zma7/zw8qP8TE5b/AwOM/woK + kv8REZX/EBCV/xAQlf8UFJb/FhaX/xcXmP8XF5j/FhaX/xYWl/8XF5j/GhqZ/xsbmv8XF5j/EhKW/wkJ + kv8DA4z/AwN//wICav8CAmP0AgJm4gICbNgCAnXWAwOA0wMDi9AHB5HNCwuTyhMTlsgZGZnFHByawhwc + msAcHJq9Hh6buh8fm7gfH5u1ICCcsh4em7AcHJqtGhqZqg4OlKcDA4alAgJ1ogICZqACAmadAgJwmgMD + f5gBATyVAQEkkwEBJJADA4GOeHjDi3R0wYmIiMqGnJzThKen2IGqqtm6pqbX8Zqa0v+Dg8j/Y2O6/z4+ + qf8iIp3/FRWX/wsLk/8DA4//AwON/wICd/8DA3//HR2a/yAgnP8fH5v/GhqZ/xcXmP8REZX/AwOO/xAQ + lf8VFZb/FhaV/wwMkP8DA3X/AgJY/wEBMP8BARz/AQEX+gAADdEAAAXJAAAC2wAAAuwAAAL1AAAC9wAA + AvgBAQL4AQEC+AEBAvgBAQL4AQEC+AEBAvgBAQL4AAAB+AAAAfkAAAH6AAAB/AAAAf0AAAH9AAAB/QAA + AfsBAQL6AQEC9wICAvYCAgP1BwcK/AkJDf8KCg7/CQkO/wYGDv8EBA7/AwMQ/wICEv8DAxX/AQEb/wEB + Iv8BASf/AQEt/wEBOP8BAUn/AgJe/wEBLf8BASD/AQEh/wICZf8xMZ//AgJm/wEBO/8BAST4AQEkxwEB + JEABATA5AgJQOgMDejodHZo6MzOlOzMzpTw0NKU8MDCjPSoqoD0mJp4+AwOMPwoKkkA/P6pBRESsQkND + rEM/P6pDOzulRTQ0n0YnJ5JLPDySUENDh1k+PnZjNjZibi0tV4cxMWLILCxi/yUlU/8cHEX/EhI2/wkJ + Kv8FBSH/BAQb/wMDFv8DAxL/AgIP/wICDP8CAgr/AgIJ/wEBCP8BAQf/AQEH/wEBBv8AAAb/AAAG/wAA + Bv8BAQf/AQEI/wEBCf8AAAr/AAAL/wAADP8AAA3/AAAO/gAADe8AAA/kAAAW3QUFH9cODizPFxc5yB8f + ScAmJlm4LCxosTExeKsvL4SnICCIowYGhqIDA32iAwN/owMDiaUTE5anAgJVqgEBJKwBASSvCQmSsnt7 + xLVhYbm4Vla0ulBQsb1MTLDAR0etw0VFrMVCQqvIQkKry0NDrM1CQqvQPT2p0zc3ptUsLKHYHx+a4RgY + kfcDA3T/AgJm/xUVXP8ODj7/CAgn/wQEFv8CAgv/AQEG/wAABv8BAQb/AQEL/wMDFf8FBSb/AQE3/wYG + Vf8NDW7/Dg6B/w8Pjf8DA33/AQFG/wEBJP8BAST/AQEk/2pqvf9pab3/YmK6/1lZtf80NKX/BASN/wQE + j/8LC5P/ERGW/w8Plf8SEpb/FBSX/xMTl/8UFJf/FhaY/xYWmP8UFJf/EhKW/xQUl/8XF5j/FxeY/xMT + l/8NDZT/BASP/wQEf/8DA2v/AwNl/gMDYO0DA2DbAwNo0wMDc9ADA33NBASHygQEjscMDJPFFBSXwhkZ + mb8aGpq8GhqauhoamrcdHZu0Hh6bsiAgnK4gIJysGxuaqRsbmqYZGZmjCwuToQQEhp4DA3ibAwNzmQMD + eJYEBICUBASJkQEBLY8BASSMAQEkigQEiIdbW7aFdXXCgpGRzn+iotZ7qanZjqmp2dmhodb7kpLP/3V1 + wv9PT7H/LCyi/xgYmf8NDZT/CAiS/wQEh/8DA27/BASN/yAgnP8oKKD/Hx+c/xAQlf8PD5X/BASH/wMD + fP8EBIX/BASN/wsLjv8EBIT/BAR4/wMDXf8CAjb/AQEa/wEBFf8AAA3jAAAE1AAAAuIAAAHzAAAA/QAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP4AAAD+AAAA/gAAAP4AAAD9AQEB/gEBAf4CAgL/AgID/wICA/8CAgP/AQEE/wEBBf8BAQf/AQEK/wIC + EP8BARn/AQEh/wEBKv8BATT/AgJC/wICUv8DA2D/AQEe/wEBHv8BAR//AgJK/wMDVf8BATD/AQEj9wEB + I7cBASM7AQEuNwICUTYDA3s3HByaNy8vozgwMKQ5MTGkOS4uozosLKI6FxeYOwQEgTwgIJw8Q0OsPUtL + rz5DQ6w/NTWjQTIynEQaGolHDg53TiIiblgsLGNkKipSdCEhQIQeHj2mIiJM6B8fRf8YGDf/EBAq/wkJ + H/8EBBb/AgIR/wICDP8BAQn/AQEH/wEBBf8AAAP/AAAC/wAAAf8AAAH/AAAB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAB/wAAAf8AAAH/AAAC/wAAA/8AAAP/AAAE/wAABfwAAAT1AAAH8AAADOwEBBHmCQkZ4A4O + I9kUFC7RGho8yB8fSr8mJly2LCxtrisre6kdHYKlDAyEogQEh6EJCY+iFxeXoyQknqcCAkWpAQEkrAEB + K68ICJKyVVW0tE9PsbdLS6+6SUmuvEVFrcBDQ6zCQECrxUBAq8hAQKvLPDypzTY2ps8uLqPTJSWf2x0d + mvAODoz/AwNo/wkJa/8UFFj/Dw87/wcHIv8CAg//AAAF/wAAAP8AAAD/AAAA/wAABP8BAQ//AQEe/wEB + NP8GBlL/DAxt/w0Nf/8REY3/AwN9/wICRf8BAST/AQEk/wEBJP9lZbv/YWG5/1hYtf9MTLD/FhaY/wQE + f/8EBI7/BASQ/woKk/8ODpT/EhKW/xUVl/8TE5f/ExOX/xQUl/8WFpj/FBSX/xISlv8TE5f/FRWX/xYW + mP8UFJf/Dw+V/wgIkv8EBID/AwNu/wMDa/8DA176AgJW5QICWdMDA2HMAwNuyQMDfMYEBInDBQWQwRAQ + lb4XF5i7GhqauBoamrYbG5qzHR2bsB4em60gIJyqISGdqCAgnKUeHpuiGxuanxoamp0ODpSaBASKlwQE + gZUEBICSBASFkAQEiY0DA3GKAQEkiAEBJIYCAkSDMzOlgGNjun6Dg8h7nJzTeqen2Harq9quqKjZ7J+f + 1P+Jicv/Zma8/0BAq/8gIJz/Dw+V/wsLk/8DA3b/AwN1/wgIkv8XF5j/IyOd/xcXmP8ODpT/CwuT/wQE + hf8DA33/BAR+/wQEgv8EBHn/AwNy/wMDcv8CAlr/AQE2/wEBF/8BARP/AAAM8AAABd0AAAHlAAAB9AAA + AP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/AAAC/wEB + BP8BAQn/AgIS/wEBHP8BASX/AQEv/wEBOf8CAkX/AgJP/wICRf8BARn/AQEb/wEBHP8CAjn/AQEo/wEB + IfUBASGoAQEgOQEBLjQCAlIzAwN+Mx0dmzQuLqM0MTGkNS4uozUsLKI2LCyiNgQEiTcEBIk4KyuhOTo6 + qDlGRq06OzumPDAwmz8pKYxFExNzSw4OXlcVFU9mGRlBeBYWM4wSEiiiExMryBYWNfkSEir/DQ0f/wgI + Fv8EBA//AQEJ/wEBBv8AAAT/AAAC/wAAAf8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAH9AAAB/AAAA/oBAQX3AgII8wUF + DO4ICBLoCwsa4RAQJNkVFTDPGxs/xSIiUbspKWSyKip0qiEhgKUZGYeiGBiQoR8fmKElJZ6jBASNpAEB + NagBASSrAgJZrTw8qbBNTbCzSUmutkZGrbhFRa28Q0OsvkFBq8E/P6rEPT2pxzc3p8kxMaTMJSWf1B8f + nOghIZv+BAR9/wMDbf8MDGz/Dg5U/w0NOf8FBSD/AQEP/wAABf8AAAD/AAAA/wAAAP8AAAT/AAAN/wEB + G/8BATP/AgJP/wcHav8MDH7/ERGN/wQEff8CAkX/AQEk/wEBJP8BAST/cHC//3FxwP9tbb7/U1Oz/wUF + jP8EBG7/BQWC/wUFj/8ICJH/DQ2T/xISlv8VFZf/EhKW/xAQlf8SEpb/EhKW/xISlv8SEpb/ExOW/xUV + l/8VFZf/FBSX/w8PlP8JCZL/BQWD/wQEef8EBHP/AwNg/wMDTPcDA0rdAwNSygMDXsYEBG3DBAR8wAUF + ib4KCpK7FRWXuBkZmbUbG5qyGxuarx0dmq0eHpuqICCcpiAgnKQgIJyhISGdniAgnJweHpuZHh6blhQU + l5QFBY6RBQWGjgUFhYwFBYiJBQWKhgQEeIQCAjGCAQEpfwQEc31WVrR6dXXCd5CQznakpNdxq6vahKys + 2s+mptf7mJjR/3x8xf9VVbT/JSWe/xISlv8FBYj/BARs/wUFj/8MDJP/DAyT/xgYmP8XF5j/EhKW/xER + lf8SEpb/BgaQ/wUFjf8FBYP/BARn/wMDXv8DA2P/AwNV/wICNf8BARj/AAAR/wAADPkAAAXmAAAB5wAA + APQAAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAB/wAA + Af8BAQT/AQEI/wICDv8DAxf/AgIf/wEBJv8BASv/AgIx/wICOf8CAj//AgI6/wEBFf8BARf/AQEZ/wEB + IP8BAR7zAQEemgEBGzoCAio2AwNQMQQEfTEeHpsxMTGkMTIypDIjI50yJyefMxMTljMEBH00IiKdNS8v + ozUxMaQ2OzulODc3nTssLIlCJSV2SiAgYFcaGkpoGBg4fBISKZEKChumCAgYwAsLHuQNDSD+CQkX/wYG + D/8DAwn/AQEF/wAAAv8AAAH/AAAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAH+AAAB/QEB + A/sCAgX4AwMI9AYGDO4JCRPnDAwc3xISKNUYGDfLICBJwCcnXbYrK3GsJyd/ph8fiKIgIJKgJSWboSoq + oKENDZOkAwNLpwICP6oFBYSsUVGysEtLr7JERKy1Q0OruEFBq7o/P6q+PT2pwDg4p8QxMaTFKCigzBcX + mN4WFpf7EBCT/wQEcf8ODn//Cwtr/wcHUf8JCTf/BQUg/wICD/8BAQX/AAAA/wAAAP8AAAD/AAAE/wAA + C/8BARf/AgIv/wMDT/8GBmn/Cwt9/xERjf8EBH3/AgJF/wEBJP8BAST/AQEk/3Bwv/90dMH/dXXC/2Ji + uf8KCpL/BARk/wUFbv8GBon/CAiR/w0Nk/8SEpX/ExOW/xERlf8PD5T/Dw+U/w8PlP8QEJT/EBCU/xAQ + lP8TE5b/FBSW/xMTlv8MDJP/BgaJ/wUFfv8GBoX/BQV9/wQEZP8DA07/AwNF8wMDRtMDA0/CBARbvwUF + bbwFBX26BgaKtwwMk7QXF5exGxuZrhwcmqsdHZqoHh6bpR8fm6IgIJygISGcnSQknZokJJ2XISGclSEh + nJIhIZyPFhaXjQYGj4kGBomHBgaJhAYGiYIGBomABARefQICL3sDA0d4ExOWdmZmu3ODg8hxnJzTbqqq + 2Wyurtuhq6va6aGh1f+Ojs3/bW2+/zg4pv8aGpn/BQVx/wUFgP88PKj/Kiqg/yAgnP8eHpv/GhqZ/xMT + lv8REZX/ExOW/xISlf8TE5T/CQmL/wQEa/8DA1D/AwNM/wMDS/8CAjP/AQEZ/wEBD/8BAQv+AAAG8AAA + AuoAAAD0AAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD+AAAA/QAAAP0AAAD9AAAA/QAA + Af0AAAH9AAAB/QAAAf0AAAH9AAAA/QAAAP0AAAD9AAAA/QEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + Af8AAAL/AQEE/wICCP8CAg3/AwMT/wQEGP8CAhz/AQEf/wEBIf8BAST/AgIo/wICLf8BARz/AQER/wEB + FP8BARf/AQEZ8wEBGJIBARRDAQEiOQMDSjMFBXkuHR2XLjMzpC4xMaMuHx+bLyAgnC8FBX0vBgaOMFVV + szFKSq4yQUGoMz09njYxMYo9JCRxRhsbV1YXF0JoFRUyfhISJJYMDBitBQUOwQQEDtoFBRP1BgYQ/wQE + Cf8CAgX/AQED/wAAAf8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAH/AAAB/wAAAv8AAAP/AAAD/wAA + BP8AAAT/AAAE/wEBBP8AAAT/AAAD/wAAAv8AAAL/AAAB/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP4AAAH+AQEB/QEBA/sCAgX3BAQJ8wcHD+wKChbkDw8h2hUVMM8eHkPDJydYtyoqbK0nJ3ylIyOJoCYm + lZ4nJ5ueKSmfnwUFe6IDA0ilBARdqB8fm6xOTrCuRUWssUBAqrQ/P6m2PT2oujg4pr0vL6K/Kiqgwx8f + m9YPD5T2GBiY/wUFfP8GBoH/ODiS/yAgdP8SElb/Cws4/wYGIP8CAg//AQEF/wAAAP8AAAD/AAAA/wAA + Bf8AAAz/AQEV/wICKP8DA0v/BgZp/wsLff8REYz/BQV8/wMDQ/8CAiT/AgIk/wICJP9wcMD/dnbD/3V1 + wv9oaLz/Jyeg/wQEa/8EBFn/BQVw/w8Plf8SEpb/FRWX/xUVl/8REZb/Dw+V/w4OlP8MDJT/DQ2U/w0N + lP8NDZT/Dw+V/xERlv8TE5f/DQ2U/wUFff8FBXf/CQmS/wYGiv8EBG3/BARX/wMDRf8DAz/tAwNDyQMD + SroEBFq5BARttwUFfrMGBoyxDg6UrhcXmKsbG5qnHR2bpRwcm6IeHpyfICCdnCEhnZkiIp6XJSWflCUl + n5EjI56OJiafjCQknokYGJmGBweRhAYGi4EGBoh/BgaGfAYGhnoDA1F3AgI5dQQEYnI3N6dvdHTCbpOT + z2ulpddmra3beK6u28Wnp9j+mprT/4CAx/9RUbL/BgaQ/wQEYf8lJZ//WVm2/1VVtP8+Pqr/Jyeg/x0d + m/8TE5f/ERGW/xISlv8TE5f/FRWV/xMTjv8FBXj/AwNR/wMDOf8CAjf/AgIz/wEBG/8BAQz/AQEJ/wAA + BvYAAALtAAAA9AAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP0AAAH8AAAB+gAAAfgAAAH2AAAB9AAA + AvMAAALzAAAC8wAAAvMAAALzAAAB8gEBAfIBAQLyAQEC8wEBAvMEBAb5BgYI/gUFCP8FBQf/AwMG/wEB + BP8BAQT/AQEE/wEBBf8CAgn/AgIM/wMDDv8DAxL/AwMT/wICFP8BART/AQEU/wEBFv8BARr/AQEb/wEB + C/8BAQ7/AQER/wEBFPQBARGVAQENVAEBGkUDAzw4BQVvMRwcki01NaIsLi6jKx4enCwGBoYtBARnLTY2 + pi1vb8AubGy7MFNTqDM5OY05KipyQxoaU1MTEz1nDw8rfg4OH5gLCxWxBwcOyAMDCNkCAgjtAgIK/QIC + Bv8BAQP/AQEB/wAAAf8AAAD/AAAA/wAAAP8AAAH/AAAB/wAAAv8AAAT/AQEG/wEBCP8BAQn/AQEL/wEB + Df8AAAv/AAAM/wMDD/8DAw//AQEO/wAAC/8AAAn/AAAH/wAABf8AAAT/AAAC/QAAAfwAAAD9AAAB/gAA + AP4AAAD/AAAA/wAAAP4AAAH+AQEB/AICA/oDAwb2BQUL8AgIEugNDR3eFBQs0h0dQMUnJ1a4KiprrSkp + faUlJYqgIyOUnSMjmp4kJJ2fBQVuogMDUaUFBXOoMDCkqkdHrq1BQauxOzuoszY2prYvL6O5IyOevCIi + nswZGZnvCwuT/wYGiP8EBGT/LS2a/01NnP8+PoL/IiJd/w4OOv8GBiH/AgIP/wEBBf8AAAD/AAAA/wAA + AP8BAQX/AQEO/wEBF/8BASD/AwM9/wsLbP8PD4D/FBSO/wUFff8DA0T/AgIk/wICJP8CAiT/c3PB/3p6 + xP98fMX/bm6//zw8qf8GBoL/BARY/wQEU/8GBoP/Kyuh/x4em/8ZGZn/FBSX/w8PlP8MDJP/CQmS/wgI + kf8ICJH/CwuT/wwMk/8PD5T/ERGV/xERlf8GBnT/BQVy/xwcmv8HB4v/BgZ3/wUFY/8EBEv/AwM++wMD + O+YDAz2+BARJtAQEWrIFBW6vBgZ/rAcHjakPD5SnGRmZox0dm6AfH5yeHx+cmh8fnJgiIp2VIiKdkiUl + no8nJ5+NJSWeiigooIcoKKCEIiKdgRcXmH8HB498BweIegYGhncGBoN1BgZ5cwQEUHADA0htBgZ8a1dX + tGmFhclnn5/UZKur2mKurtuSq6va5KSk1v+Rkc7/cXHA/wYGd/8FBWf/Kyuh/0RErP9XV7T/Tk6w/zEx + pP8eHpv/EhKW/w8PlP8REZX/GBiY/x8fmf8dHZH/ExOA/wQEX/8CAjX/AgIm/wICKv8CAiL/AQEM/wAA + Cf8AAAb6AAAC8QAAAPQAAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAH7AAAB9wAAAfIAAALsAQEE5wEB + BOMBAQTgAQEE3wAABN8BAQTfAQEE3wEBBd8DAwXfBAQG3wQEBuADAwTfCQkO7Q8PFvsQEBj/Dg4W/wsL + E/8GBg//AwMM/wICC/8CAgr/AgIL/wICDP8CAgz/AgIM/wICDP8CAgr/AQEK/wAACf8AAAr/AQEM/wEB + Df8BAQr/AAAJ/wEBDP8BAQ/0AQELnwAACGoBARJVAgItQQQEWjQfH4QuMzOaKioqoSgcHJopBQVfKQUF + Zik9PakqW1uzK2Vlry5SUpU1MzNzPx4eUlASEjlkDAwnfgoKG5kJCROzBgYLygMDBt0CAgTsAgIF+QEB + BP8AAAL/AAAB/wAAAP8AAAD/AAAB/wAAAf8AAAL/AAAE/wAABv8BAQn/AQEM/wEBEP8CAhT/AgIX/wMD + Gv8DAxz/AQEX/wEBGP8ICCH/BAQf/wEBHP8BARn/AQET/wEBD/8BAQz/AAAI+wAABfQAAAP0AAAC9wAA + AvoAAAH8AAAB/gAAAP4AAAD/AAAA/wAAAP4AAAH9AQEC+wICBPgEBAnyCAgQ6wwMG+ATEynTHR0+xSUl + VLgpKWqsJiZ7pCIiiZ8hIZOcHx+YnRAQlJ4FBWugBQVeowYGhKc7O6ipQECqrTc3pq8rK6GyIiKdtB0d + m8QdHZvnEhKW/hQUl/8EBF3/BQVe/ycnl/86OpL/Pz+C/ysrYf8SEjv/BgYh/wICD/8AAAX/AAAA/wAA + AP8AAAD/AQEF/wICD/8BARz/AQEg/wICLv8EBF//JSWJ/xwckv8GBn//AwNF/wICJP8CAiT/AgIk/3R0 + wf9+fsb/gYHH/3R0wf9CQqv/FRWX/wUFa/8DA0D/BQVe/ywsof80NKX/Hx+c/xQUl/8NDZT/CgqS/wgI + kf8ICJH/BweQ/wcHkP8ICJH/CQmS/wwMk/8KCpL/BQVg/wUFXf8KCpL/CAiR/wYGg/8FBXH/BARW/wMD + Q/8DAzn4AwM23AMDOrQDA0euBARarAUFb6kGBoKmBwePoxISlqAbG5qdHx+cmh8fnJceHpuUIyOekSIi + nY4jI56MJyefiSYmn4YoKKCEKCiggSgooH4iIp18FBSXeQcHjXYGBoZ0BgaEcgYGhm8GBnVsBARQaQQE + WmcaGppmdnbCY5eX0WGoqNldr6/cbq6u27arq9r7oaHV/3t7xP8FBWv/BgZ3/wcHkP8TE5b/OTmn/0dH + rf8xMaT/Ghqa/xAQlf8LC5P/DAyT/xcXmP8qKp7/KiqX/xkZg/8PD2//AwNC/wICHv8CAh7/AgIo/wEB + FP8AAAn/AAAG/QAAA/UAAAD1AAAA/QAAAP8AAAD/AAAA/yQkJP8QEBH9AAAB9wAAAu8AAAPlAAAD2QIC + B9ECAgjJAgIJxQICCMMBAQjDAQEIwgEBCMICAgjCBQUJwgcHCsMHBwrDBQUHwhISGtgeHiz1ISEx/x4e + Lf8XFyj/DQ0h/wYGG/8EBBj/BAQV/wMDE/8DAxH/AwMP/wICDP8CAgj/AQEG/wEBBP8AAAL/AAAD/wAA + BP8AAAX/AAAF/wAABf8AAAj/AQEK9QAABq4AAAWDAQENaQICIVAEBEk9Hx9wMTExjyopKZ0mBweLJgMD + QiYFBWonFhaUKCoqkytERI8xPT11OyUlU0sTEzdhCwskewcHGJgGBg+zBQUKywMDBt8BAQPtAQEC9wEB + Av0AAAH/AAAB/wAAAP8AAAH/AAAB/wEBAv8BAQT/AQEI/wEBC/8BARD/AQEV/wEBGv8CAiD/AgIk/wMD + Kf8EBC7/AwMw/wICIf8CAiH/BQU1/wYGNf8CAjH/AgIp/wICH/8BARj/AQEU+wEBDu0AAAjgAAAH5AAA + B+sBAQbwAQEE9QEBA/kBAQH8AAAB/QAAAP4AAAD/AAAA/gAAAf4BAQH8AgID+QMDB/QHBw/sDAwZ4RMT + KdQdHT3FJSVTtygoaawlJXujHx+HniAgkpskJJqcBweQnQUFa6AFBWyjExOWpj8/qqk0NKWsJyefrRsb + mrkZGZnfHBya+hMTlv8HB4n/AwM6/wUFXf8HB4D/DQ1+/ykpef8nJ1//EhI7/wYGIf8CAg//AAAF/wAA + AP8AAAD/AAAA/wEBBf8DAw//BAQg/wICJ/8CAiP/BARE/yUlif8xMZv/BgaD/wMDRf8CAiT/AgIk/wIC + JP9zc8H/eHjE/3l5xP9vb7//Q0Os/xUVmP8ICIv/BARE/wMDMf8GBnH/Pz+q/ykpof8UFJf/DAyU/wgI + kf8ICJD/CAiR/wgIkP8ICJD/CAiQ/wgIkf8ICJD/CAiL/wUFWv8FBVT/Bwd5/w8Plf8ICI7/Bwd//wYG + Zv8EBE3/AwM8/wMDNPUDAzHPAwM3qwQERqgFBVulBgZyogcHhZ8ICJKcFRWYmR0dm5YgIJ2TIiKekCMj + no0iIp6KIyOehyYmn4UnJ6CCKSmhfyoqoXwqKqF5KyuhdyIinnQREZZyCAiMbwcHiG4HB4hrCAiJaAYG + bWYEBFJjBgZyYUlJr1+JictcpKTXWrCw3Fuyst2EsbHc3q+v3P92dsP/CAiO/yMjnv8SEpb/CAiN/xsb + m/8zM6X/KCig/xcXmf8PD5X/CAiS/wgIj/8JCZL/IiKc/ykpmP8bG4b/EBBy/wUFWf8CAiL/AQEQ/wIC + Gv8CAh3/AAAJ/wAABv8AAAP5AAAB9gAAAP0EBAT/EBAQ/xAQEP8MDAz+ISEh/AAAAvEAAATkAAAE1AAA + BsEBAQqyBAQPpwQEEKADAxCdAgIPnAICD5sCAg+bBAQQmwkJEpwNDRScDQ0TnQoKD5wdHSm4MzNK7Dc3 + Uf8zM03/KSlG/xkZO/8MDDH/CAgr/wcHJv8GBiH/BgYc/wUFF/8EBBH/AgIL/wEBBv8BAQP/AAAB/wAA + Af8AAAH/AAAB/wAAAv8AAAL/AAAE/wAABvcAAAPCAAADnwAACIEBARhjAwM1SR0dWjcrK34sKyuWJgYG + aiMEBEkkBweBJRISiycSEnotJCRqNyUlUkYWFjZdCwsjeAYGFpUEBA6yAwMJywICBd8BAQPuAQEB9wAA + AfwAAAH/AAAA/wAAAP8AAAD/AAAC/wICBf8CAgj/AgIM/wEBEf8BARj/AgIf/wICJ/8DAy7/AwM1/wMD + PP8EBEL/BARG/wQER/8DAzD/AwMt/wQEQv8GBlD/BARI/wMDO/8CAi3/AgIj/wICHO0BARPMAQEPxQEB + EM8BARDYBAQN4AQECukDAwjwAgIE9QEBA/oBAQH8AAAB/gAAAP4AAAD/AAAA/gEBAf0CAgT6AwMH9QYG + DewMDBnhExMo0x0dPcQlJVO2JiZpqyMje6EhIYmcJCSVmigonZsICImcBgZqnwcHeqIdHZulLCyipiMj + nq8YGJnVHByb9h8fnP8dHZv/BQVk/wMDP/8GBnX/Bwd//wYGdf8TE2//HBxb/w4OOv8FBSD/AQEP/wAA + Bf8AAAD/AAAA/wAAAP8BAQX/AwMP/wQEIP8DAzL/AgIl/wICI/8FBWD/Ozug/wgIiv8EBEb/AgIl/wIC + Jf8CAiX/cHDA/25uv/9pab3/YWG5/zw8qf8UFJf/EhKW/wYGaP8DAyn/BAQ9/woKkv8qKqH/Dw+V/wkJ + kf8JCY7/CQmN/wkJjv8JCY7/CQmP/wkJjP8ICIn/CQmL/wkJkP8ICHv/BgZe/wYGaf8JCY3/EBCV/wkJ + i/8HB3n/BgZd/wQERv8DAzj/AwMu8QMDLL8DAzOnBAREoQYGXJ4HB3ObCAiIlw0NlJUaGpqSHx+cjyEh + nYwkJJ6JJSWehiUlnoMlJZ6BJyeffSoqoXsqKqF4KiqhdSwsoXMtLaJwIiKdbhAQlWsJCY1pCQmLZgkJ + i2QICIVhBgZgXwUFWF0ICIlbamq9WJqa0latrdtTtbXeY7W13qq4uN/5jY3N/01NsP9FRa3/Hh6b/wkJ + j/8MDJP/Gxua/xgYmf8TE5b/DAyT/wkJkf8JCY3/CQmM/w4Okv8XF5H/FhaG/xAQdv8MDGb/AwM8/wEB + Ev8BARD/AQEY/wEBCf8AAAb/AAAD+wAAAfkAAAD+GBgY/0BAQP9AQED/EBAQ/gAAAfYAAALpAQEF1wAA + B74BAQmjAQEOjgMDGIAHBxx1BwcdcAUFHHADAxtwAwMbcAcHG28ODh9vFRUgbxcXIXATExttLS1BkE1N + cN9TU3n/Tk50/0FBa/8oKFz/FBRN/w4ORf8MDD7/Cws2/wkJLv8ICCb/BgYd/wQEE/8DAwz/AQEG/wEB + Av8AAAH/AAAA/wAAAP8AAAH/AAAB/wAAAv8AAAP5AAAB1QAAArgAAAWaAQEQeAMDJVgXF0RAJiZoLyMj + hiQGBmAhBgZZIQgIfyMICHgnCgpiMRISSEARETRXCwshcwYGFZIDAwyvAgIHygICBd8BAQLuAQEB9wAA + AfwAAAD+AAAA/wAAAf8AAAH/AAAB/wAAA/8BAQr/BQUS/wICGf8CAiH/AwMq/wMDM/8EBD3/BARG/wUF + T/8FBVP/BQVX/wYGXf8GBmP/BgZW/wQEQ/8EBEn/BgZd/wYGWv8EBEn/AwM5/wMDLPUCAiTGAgIcogIC + G6UCAh6xBgYevQgIGckICBTUBgYP4AQECukDAwfxAgIE9wEBAvsAAAH9AAAA/gAAAP8AAAD+AQEB/QEB + A/oDAwf1BgYN7AwMGeETEyjTHR09xCUlVLUmJmmpJSV8oCcnjZsrK5iZISGamQgIepsGBmmdCAh8oRUV + l6UZGZnIFxeY8SEhnf8lJZ7/Hh6b/wYGWv8FBU3/Bwd1/wgIeP8HB3D/BgZp/w8PVf8JCTf/BAQg/wEB + Dv8AAAX/AAAA/wAAAP8AAAD/AQEF/wICD/8EBCD/BgY2/wMDOf8CAh7/AwM0/wkJif8JCYz/BARD/wIC + Jf8CAiX/AgIl/29vv/9tbb7/Z2e7/1tbtv81Nab/EhKW/xISlv8TE5b/BQVM/wMDKv8GBmP/JCSe/xQU + l/8NDZT/CQmR/wkJkP8JCY//CQmM/wgIh/8ICIX/CQmO/w0NlP8LC5P/CQmN/wcHcf8GBmX/CAh7/xgY + mf8REZX/CQmL/wcHdP8GBlr/BARH/wQEOf8DAyzpAwMptQMDMp8EBESaBgZdmAcHd5QJCYqRERGVjhwc + m4shIZ2IJCSehSQknoImJp+AJiaffScnn3onJ593KCigdSgooHIqKqFwLCyhbSoqoWofH5xoDg6UZQkJ + jGMJCYtgCQmNXggIf1sGBl5aBgZoWDIypFWJictTp6fYUbW13lG4uN90u7vh26Wl1/+Pj83/W1u2/yoq + of8JCZD/CQmO/wkJkv8NDZT/CwuT/wkJkP8JCY//cHCr/4GBgf9GRkb/QEBA/0BAQP9AQED/QEBA/0BA + QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/zQ0NP4xMTH8PT09/UBA + QP84ODnvNzc54jg4Otw5OT3XOzs+1DQ0PKc0NDynMTE7myUlN3ojIzZuGRk1TCQkN0soKDlMIiIwST8/ + W2hjY5HPamqa/2Zmlv9YWI3/Ojp8/x4ea/8UFGH/EhJa/xERUf8PD0f/DAw8/woKL/8HByL/BQUX/wMD + Df8BAQb/AAAC/wAAAf8AAAD/AAAA/wAAAP8AAAH/AAAC+wAAAeQAAAHNAAACrwEBC40DAxtpEBAxSh4e + UzUQEHAmBgZhIAcHcSAHB24iBQVbKwQERDoHBzBPBwcfawUFFIsDAwyrAgIHyAEBBN0BAQLuAAAB9gAA + AfwAAAD+DAwM/xgYGf8lJSX/MTEx/zQ0Nf9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA + QP8yMkj/MjJJ/yQkWP8cHGb/EBBz/wgIdf8GBl7/BQVP/wUFVv8GBmL/BQVQ/wQEQv4DAzfVAwMskQMD + KnwDAzOGBQU2kQ8PM54RESurDw8jugwMG8kICBPXBgYN4wQECO0CAgX1AQED+gEBAf0AAAD+AAAA/wAA + AP4BAQH9AQED+gMDB/UGBg3sDAwZ4BMTKdIdHT7CJSVVsycnbKYlJX+dKCiQlysrmpcNDZKYBwdxmgYG + aZ0ICIK5Ozul8Kampv9lZWX/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/xERXP8FBVD/BQU1/wIC + H/8BAQ7/AAAE/wAAAP8AAAD/AAAA/wEBBf8CAg//BAQg/wYGNv8KClL/BAQ3/wMDJP8GBl3/CQmJ/wQE + Rv8CAiX/AgIl/wICJf9ra73/bGy+/2pqvf9eXrf/NDSl/xERlf8TE5b/FRWX/wkJfP8EBD3/BQVK/wkJ + hP8ODpT/CgqP/woKjv8JCYn/CQmD/wkJgv8JCYf/CgqP/woKkv8LC5L/CgqL/wkJh/8JCYv/Bwds/wcH + aP8JCYj/FxeY/wwMk/8JCYT/Bwds/wYGVv8FBUX/AwMz/wMDJdoDAyWqAwMulwUFQpMGBl6QCAh3jQoK + jIoVFZeHHR2bhCIinYEjI51+JSWefCYmnnkoKJ92KCifcygon3ApKaBtKiqgaysroWkuLqJmKyuhZB0d + m2IODpRfCgqNXAoKjVoKCo9YCAh0VQYGXFMJCX1RWlq1T5iY0U2xsdxKu7vhVbu74Z21td76qqrZ/4SE + yP9QULH/Jyef/xQUlv8NDZP/CgqR/woKj/8KCov/CQmJ/62tzf+0tLT/fX19/z09Pf8xMTH/MDAw/zAw + MP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8vLy//LS0t/yoqKv8oKCj/JiYm/ygoKP8sLCz/MDAw/zMz + M/80NDT/NTU1/zY2Nv83Nzf/OTk5/zs7O/8/Pz//QEBA/0BAQP9AQED/QEBA/0BAQP9AQEHZQUFEpT4+ + TEhWVnpIdnarvHt7svx4eK//amqo/0tLlv8mJoP/GBh4/xYWcv8VFWr/FRVh/xMTVv8PD0b/DAw2/wgI + Jv8FBRj/AwMO/wEBB/8AAAL/AAAA/wAAAP8AAAD/AAAA/wAAAf0AAADvAAAB3QAAAcMAAAWgAQESegoK + JFcXF0E8BgZVKQgIax8REYMgBwdjJgUFRTIEBDFIBgYhYwQEE4MDAwylAgIHwwEBBNsBAQLtAAAB9hQU + Ff0oKCj/PDw8/0BAQP9AQED/Pj4+/zk5Of82Njb/MzMz/zExMf8wMDD/MDAw/zAwMP8wMDD/MDAw/zEx + Mf8zMzP/Nzc3/zs7O/9AQED/QEBA/0BAQP85OUf/KChb/xgYUP8FBUj/BgZR/wYGT/8FBUXwBAQ+nwQE + OGcFBUBiBQVPbBUVVHUeHk+AHR1EjRgYOJ0TEyutDg4gvgoKF84HBxDdBAQK6QICBvMBAQP5AQEB/QAA + AP4AAAD/AAAA/gEBAf0BAQP6AwMG9AcHDusMDBrfFBQq0B4eQb8mJlmvKChxoyYmhJkjI5CWHByWlQkJ + f5cHB2KqBwdl5UdHoP3k5OT/qamp/2pqav80NDT/MDAw/zQ0NP88PDz/QEBA/0BAQP8VFVz/BQVQ/wQE + NP8CAh7/AQEO/wAABP8AAAD/AAAA/wAAAP8BAQX/AQEP/wQEIP8HBzb/DAxT/wYGWf8DAzT/BQVG/wcH + af8FBUL/AwMl/wMDJf8DAyX/ZWW7/2hovP9ra73/X1+4/zY2pv8REZb/EhKW/xQUl/8VFZf/Bwdi/wUF + SP8ICGf/CwuO/woKhP8JCXz/CQl6/woKgf8KCor/CwuO/wsLj/8LC4//CwuQ/wkJf/8JCX3/FxeZ/wkJ + fv8ICGX/CAhy/wsLkf8ODpT/CwuO/woKgf8ICG//Bwdb/wUFRP8DAyr8AwMlzQMDJZ4DAyuPBQVDjAcH + X4oJCXqHCwuNgxYWmIEgIJx+IyOeeyUlnngnJ592KSmgcyoqoXApKaBtLCyhai0tomguLqNlMDCkYjAw + pGAsLKFeHx+cWw8PlVkLC5FXCwuRVAoKilIICGxQCQl3TiwsoUxra71Km5vTSLS03ke2tt9iubng3rCw + 3P6iotb/g4PI/1lZtv8yMqT/Ghqa/w0NlP8LC4//CgqI/woKhv/AwOD/39/f/4uLi/9JSUn/JSUl/xsb + G/8jIyP/LS0t/ywsLP8pKSn/Jycn/yoqKv8tLS3/KCgo/yAgIP8WFhb/FBQU/xMTE/8UFBT/FxcX/xoa + Gv8bGxv/HBwc/x0dHf8eHh7/Hx8f/yAgIP8hISH/JiYm/ysrK/8xMTH/Nzc3/zk5Of8+Pj7/QEBA/0BA + QP9BQUPHdHSmLoSEwKmHh8T4hITC/3h4uv9VVan/LS2V/x0djP8bG4f/GhqA/xoaef8YGG7/FRVe/xER + TP8ODjr/Cgoo/wYGGP8DAw3/AQEG/wAAAv8AAAD/AAAA/wAAAP8AAAD+AAAA9wAAAOkAAAHRAAADsgEB + CYsBARVkBgYqRAQENy4HB10jHh50IQ4OUisJCTY+CAgiWAUFFXgDAw2bAgIHuwEBBNYJCQrtKSkp+zw8 + PP9AQED/PT09/zU1Nf8uLi7/KCgo/zMzM/86Ojr/NjY2/y8vL/8qKir/Kysr/yoqKv8hISH/GRkZ/xoa + Gv8aGhr/HBwc/x4eHv8hISH/JSUl/yoqKv8vLy//NjY2/z4+Pv9AQED/OTlA/yYmPv8MDET+BQVEwwYG + RmgGBk1LBwdfUgwMc1guLnpfMTFwaC0tY3MkJFOAHR1DkRcXNKIQECa1DAwcyAgIEtkFBQrnAwMG8gEB + A/gBAQH9AAAA/gAAAP8AAAD+AQEB/QICBPoDAwf0CAgQ6g4OHNwXFy7MIiJHuygoYasmJnaeHh6GlhQU + jZQLC4ufCQlz2AgIaf5GRpX//v7+/9bW1v94eHj/PT09/xkZGf8eHh7/KSkp/zo6Ov9AQED/GBhh/wgI + Uv8EBDX/AgIe/wEBDv8AAAT/AAAA/wAAAP8AAAD/AQEF/wICD/8EBCD/BgY2/wsLU/8PD23/BgZT/wUF + RP8GBkz/BQU+/wMDJf8DAyX/AwMl/2dnvP9ra73/bGy+/2Fhuf82Nqb/EhKW/xISlv8VFZf/FRWX/woK + iv8HB2D/Bwdg/wkJff8JCX7/CQl+/woKhP8KCor/CgqK/woKi/8KCoz/CwuN/wsLkP8JCXb/CQl+/xYW + mP8REZb/CQl2/wgIZf8JCXb/CgqM/wsLkf8LC5H/Cgp//wgIbv8HB1v/BAQ8/wMDJfYDAyW+AwMlkgMD + KocFBUOFBwdigwkJfX8LC5F9GBiZeSAgnHcjI550JCSecScnn28pKaBsKiqhaSwsomYsLKFkLS2iYTAw + pF4xMaRcMDCkWiwsoVceHptVEhKWUxUVl1AdHZtPCwuSTAoKjEoiIp1IT0+xRoqKy0SmpthBra3bRba2 + 35G0tN74r6/b/5yc0/96esT/T0+x/ywsof8YGJn/CwuS/woKjP8KCon/wsLi//Ly8v+VlZX/R0dH/x0d + Hf8UFBT/Gxsb/yMjI/8jIyP/ISEh/yAgIP8gICD/ISEh/x4eHv8XFxf/ERER/w8PD/8QEBD/EBAQ/xMT + E/8WFhb/FhYW/xQUFP8UFBT/FBQU/xUVFf8UFBT/FBQU/xkZGf8dHR3/IiIi/ygoKPEqKir/MDAw/z09 + Pf9AQED/QUFB4kJCQ9WMjMyWjIzM8ouLyv+AgMb/YGC3/zY2ov8hIZf/HByS/xwcjv8aGoj/GxuB/xoa + dP8WFmP/ExNP/w4OOv8JCSf/BgYX/wEBC/8AAAT/AAAB/wAAAP8AAAD/AAAA/wAAAPsAAADwAAAB3QAA + Ar8BAQebAQEPcwICG04CAiE0BQVCJhgYVSYODjs1CQklTQYGFmwEBA2QAgIHshISFNkwMDD3QEBA/z8/ + P/81NTX/Kysr/yQkJP8dHR3/GRkZ/x4eHv8pKSn/MDAw/ywsLP8lJSX/ISEh/yAgIP8gICD/Gxsb/xQU + FP8ODg7/DAwM/wwMDP8ODg7/EBAQ/xISEv8VFRX/GRkZ/x4eHv8kJCT/LCws/zU1Nf9AQED/QEBA/zIy + QNEaGkhfCAhjQgoKekYeHpBKR0ecT0pKlVU+PoNeMjJwaCkpXnYhIUyHGRk6mhISKq8NDR3DCAgT1gUF + DOUDAwfxAgID+AEBAfwAAAH+AAAA/gAAAP4BAQH9AgIE+QQECfIICBHnEBAg2BoaNcYhIU20IiJlpB0d + epkcHIubISGYxhAQlP8KCoX/R0eg//7+/v/Jycn/dnZ2/zU1Nf8WFhb/EBAQ/xwcHP8wMDD/QEBA/xsb + Yv8MDFT/Bwc2/wICH/8BAQ7/AAAE/wAAAP8AAAD/AAAA/wEBBf8CAg//BAQg/wYGNv8MDFP/Dw9t/wkJ + df8HB1r/BQVE/wMDL/8DAyX/AwMl/wMDJf9ra73/cHC//3FxwP9jY7r/ODim/xUVl/8WFpj/FxeY/xgY + mf8ZGZn/Cgp5/wkJb/8LC4P/DAyR/wwMjf8LC4f/CwuI/wsLiP8LC4n/CwuK/wsLjP8LC4X/CQlr/woK + fv8WFpf/Gxua/wsLjP8JCXD/CAhl/woKdf8LC4n/CwuM/woKe/8JCWz/CAhj/wcHUf8EBCz/AwMl7gMD + JbEDAyWGAwMpggYGRX8ICGV8CwuCegwMk3YcHJpzIyOdcCYmnm4nJ59rKiqgaCoqoGUqKqFjLCyhYSws + oV4vL6NcMjKkWTQ0pVc1NaVUMjKkUisroVAjI51NGBiZSwwMkUkMDJFHISGcRUBAqkOFhclCpKTWP6Wl + 1z2xsdxMtLTe2bW13vyqqtn/k5PP/2trvf8/P6r/Jiae/xYWl/8MDJL/DAyO/8LC4//q6ur/paWl/15e + Xv8RERH/BwcH/wkJCf8LCwv/DAwM/wsLC/8KCgr/CgoK/wwMDP8rKyv/LCws/wwMDP8KCgr/CgoK/wsL + C/8LCwv/DQ0N/w4ODv8ODg7/Dw8P/w8PD/8RERH/EBAQ/xISEv8eHh7/Kioq/zU1Nf86Oj3FMzMz/yws + LP87Ozv/QEBA/0BAQP9FRUmajY3MiI6Oze2Ojs3/hYXJ/2hovP8/P6j/JSWd/yEhmv8fH5j/Hx+U/x8f + j/8eHoX/Gxt2/xcXY/8TE03/DQ04/wgIJP8CAhP/AQEH/wAAAv8AAAD/AAAA/wAAAP8AAAD9AAAA9gAA + AOYAAALMAAAGqQICDYECAhdaAgIZPQMDKTAGBjcxCgopQgcHGWAEBA+EDQ0SrUFBQutcXFz/WFhY/0lJ + Sf88PDz/Ly8v/yUlJf8dHR3/FhYW/xAQEP8NDQ3/EBAQ/xMTE/8RERH/Dg4O/wwMDP8LCwv/ISEh/z09 + Pf84ODj/DQ0N/woKCv8LCwv/DAwM/wwMDP8PDw//ExMT/xAQEP8ODg7/EhIS/xcXF/8eHh7/Jycn/zIy + Mv8+Pj7/QEBA/zk5RbcWFnVNGRmXREdHqUZbW61LTEydUEBAjlc4OH1iLS1ncCUlU4EbGz2VExMsqw4O + H8EJCRXUBgYM4wMDCO4CAgT2AQEC+gEBAf0AAAH+AAAB/gEBAfwCAgT4BQUK7woKFeISEiXRGxs7vyEh + VawkJG+iICCGvRcXkvcMDI7/CwuJ/0lJqf/+/v7/ycnJ/46Ojv9VVVX/CwsL/w0NDf8WFhb/Kysr/0BA + QP8dHWL/DQ1U/wkJOP8EBCD/AQEP/wAABP8AAAD/AAAA/wAAAP8BAQX/AgIP/wQEIP8ICDf/DQ1T/xER + bv8VFYL/CQly/wcHUf8EBDP/AwMl/wMDJf8DAyX/b2+//3Nzwf9zc8H/Z2e8/zw8qf8WFpj/FxeZ/xkZ + mf8ZGZn/Gxua/w0Nkv8MDIv/DQ2T/xYWmP8NDZP/DAyK/wwMh/8MDIj/DAyH/wwMiP8MDIj/Cgpw/wgI + YP8MDI3/DQ2T/wsLgv8KCnX/BwdU/wMDJf8DAyX/BAQp/wUFPv8FBTj/BAQr/wMDJ/8EBCn/AwMl/wMD + Jf4DAyXiAwMlpQMDJXwEBCh7BgZGdwkJaXUMDIZyExOXbyAgnG0mJp9qJyefZygooGQqKqFhLCyiXi0t + olwuLqNaMDCkVzIypFU2NqZTODinUDU1pk4pKaFLFhaYSQ0NkkgNDZBFDQ2PQwwMjEEREZZAbGy+Pqam + 2DuoqNg6sLDcN7Oz3Ye3t9/vs7Pd/6Wl1/+Ghsn/WFi1/zY2pv8iIp3/FxeZ/xERlv/CwuT/7e3t/7W1 + tf98fHz/GBgY/wkJCf8KCgr/DQ0N/xISEv8aGhr/HBwc/yMjI/81NTX/Wlpa/3Z2dv9zc3P/UFBQ/zs7 + O/8qKir/FxcX/zs7O/9TU1P/SkpK/0hISP9JSUn/SkpK/0NDQ/87Ozv/PDw8/z4+Pv9ERET/WVlZ/19f + X/9ZWVn/R0dH/0BAQPFLS1VMjIzMEIyMzHl9fbDriYnE/4aGyv9sbL7/QUGr/ykpof8lJZ7/JCSd/yIi + nP8hIZf/ICCR/x8fhf8cHHb/GBhh/xMTSv8MDDL/AgIc/wEBCv8AAAP/AAAA/wAAAP8AAAD/AAAA/gAA + APkAAADsAAAC1gAAA7YBAQiOBwcUZwICGEkCAhk7AwMePgcHG1MEBA90JSUox01NTftqamr/VVVV/0dH + R/86Ojr/Ly8v/yUlJf8cHBz/FRUV/w8PD/8LCwv/CgoK/w0NDf8iIiL/SUlJ/1lZWf9eXl7/Y2Nj/21t + bf+CgoL/lJSU/46Ojv9vb2//U1NT/zg4OP8WFhb/IiIi/yMjI/8QEBD/EBAQ/xEREf8QEBD/Dw8P/xQU + FP8cHBz/JiYm/zIyMv9AQED/Pz9A9DIyRZMJCWtCDAyMRS4unUc7O55LQ0OVUzk5gl0wMGxqJiZVfBwc + QJEUFC+nDw8hvgoKFtAGBg3gBAQI7AICBfUBAQP6AQEB/QAAAP4AAAH+AQEC/AMDBvYGBg3rDAwZ3BER + KskVFUK4FRViwgsLeu0LC4H/DAyG/wwMiP9ISKD//v7+/9HR0f+jo6P/eXl5/ygoKP8XFxf/FhYW/ysr + K/9AQED/Hh5j/w4OVf8KCjn/BgYh/wICD/8BAQX/AAAA/wAAAP8AAAD/AQEF/wICD/8FBSD/CAg3/w4O + Vf8SEm7/FxeD/wwMif8KCm7/BgY//wMDJf8DAyX/AwMl/3FxwP91dcL/dXXC/2pqvf8+Pqn/FxeY/xkZ + mf8aGpn/Gxua/x0dm/8SEpb/Dg6Q/w8PlP8XF5j/EhKW/w0Njf8NDYX/DQ2F/w0Nhf8NDYb/DQ2I/woK + Zv8JCVz/Cgpp/wgIUf8HB07/CAhW/wgIUv8EBC//BAQl/wQEJf8FBTT/BQU4/wQELP8EBCX/BAQl/wQE + Jf8EBCX/BAQl+gQEJdcEBCWVBAQldQQEKXQHB0pyCgpubw0NiGwWFpdpIyOdZycnn2QrK6FhKyuhXiws + oVsuLqJaMDCjVy4uolQtLaJSLi6iUCcnn00kJJ5LJCSeSSEhnEYWFpdFDg6SQg0NjkANDYw+DQ2HPTg4 + pjuUlNA5rq7bN7Gx3DS2tt9Ft7ffx7a23/iwsNz/m5vT/5iYxP+MjMv/Kyuh/x8fnP8XF5j/xMTk/+3t + 7f+3t7f/gYGB/ygoKP8MDAz/DAwM/w0NDf8SEhL/HBwc/zAwMP9GRkb/X19f/3R0dP+UlJT/paWl/5+f + n/+NjY3/ampq/05OTv9ycnL/jo6O/4qKiv+IiIj/jY2N/5GRkf+NjY3/hoaG/4ODg/+BgYH/gICA/46O + jv+mpqb/o6Oj/3R0dPFKSmQ8OzuoD2Rkugx+fsZpSEhP+4WFu/9ubpf/RkZQ/0REd/8uLpX/JyeY/yYm + nv8lJZ3/IyOc/yUlmP8jI5D/ICCE/x0dcv8XF1v/Dg5B/wMDJP8BAQ7/AAAD/wAAAf8AAAD/AAAA/wAA + AP8AAAD8AAAA8gAAAd4AAALBAQEFmwQEDXMGBhVVAgIUSQICElAUFCBxQUFC20BAQP83Nzf/Pj4+/0BA + QP8zMzP/KCgo/yAgIP8XFxf/FRUV/xkZGf8WFhb/GRkZ/yAgIP81NTX/YWFh/3t7e/+JiYn/kZGR/5aW + lv+cnJz/oqKi/7CwsP+5ubn/tLS0/6ampv+Dg4P/X19f/3h4eP+Ghob/ampq/0hISP8mJib/ExMT/xIS + Ev8SEhL/Dg4O/xQUFP8dHR3/KSkp/zc3N/9AQED/OjpBxBQUVE0KCmVCCwtxRhERjkk1NZRQPDyHWTMz + cGgnJ1h6Hh5DjhcXMaQPDyK6CgoWzgcHD98EBAjsAgIE9QEBAvsAAAH+AAAA/wAAAf0BAQP6AwMI8gUF + D+UGBhzUCAg10AgIWeoLC3L9DAx//wwMh/8NDYr/SUmj//7+/v/R0dH/pKSk/3h4eP8oKCj/GBgY/xkZ + Gf8rKyv/QEBA/yAgZP8QEFb/Cws5/wYGIf8DAxD/AQEF/wAAAP8AAAD/AAAA/wEBBf8CAhD/BQUh/wkJ + Of8PD1b/FBRw/xkZhf8REY7/Cwty/wYGQP8EBCX/BAQl/wQEJf91dcL/eHjD/3h4w/9ra73/QkKr/xsb + mv8bG5r/GhqZ/x0dm/8fH5z/ExOW/w4Okv8VFZf/FxeY/xYWl/8ODpH/DQ2I/wwMgv8MDIP/DAyD/wwM + ff8JCVv/Cgpq/wkJXf8KCmb/Cwtx/w0NjP8ZGZn/EhKW/wsLdP8JCWL/Cgpq/wsLdv8LC2//CAhR/wUF + NP8EBCX/BAQl/wQEJf8EBCX2BAQlywQEJYQEBCVuBAQrbgcHTmsLC3FoDQ2MZRgYmWMkJJ5gKSmgXSws + oVosLKFXLi6iVjAwo1MqKqFQJyefTicnn0wmJp5JJiaeRycnn0UnJ59CICCcQQ4OlD8NDY09ExOWOw0N + hzoODpA3bW2+Naur2jSyst0yuLjgLba233+2tt/ks7Pd/6io2P/Ly9P//v7+/5yc0/8lJZ7/HR2b/8XF + 5f/t7e3/ubm5/4iIiP88PDz/EBAQ/w8PD/8QEBD/GBgY/ycnJ/9CQkL/Z2dn/4mJif+goKD/sbGx/7+/ + v//Hx8f/w8PD/5ycnP+Ojo7/r6+v/7q6uv+6urr/u7u7/76+vv/BwcH/vLy8/7S0tP+wsLD/r6+v/7Cw + sP/FxcX/8PDw/9XV1tKVlaJZKiqhDTQ0pQ1fX2N0TU2Vb1JSjeFDQ0f/QEBA/0BAQP9LS5v/Pz9G/zk5 + V/8mJp7/Jiae/yYmnf8lJZz/JiaY/yMjjv8gIH7/Ghpp/w4OTf8EBCv/AgIQ/wAABP8AAAH/AAAA/wAA + AP8AAAD/AAAA/gAAAPYAAADkAAACygAABKcBAQiABwcQZAICEFs0NDuBfHx873p6ev9DQ0P/JCQk/yUl + Jf8sLCz/IiIi/xsbG/8mJib/MjIy/0BAQP9NTU3/U1NT/1paWv9paWn/f39//5aWlv+rq6v/uLi4/8LC + wv/Jycn/zc3N/9DQ0P/U1NT/2NjY/9nZ2f/V1dX/s7Oz/56env+1tbX/ubm5/6urq/+YmJj/goKC/2Zm + Zv9AQED/FxcX/xUVFf8UFBT/Dw8P/xcXF/8iIiL/MDAw/0BAQP8/P0H0JCRPYwgIUUEICFhECQlnSAsL + dE4nJ39YMzNyZSkpXHYfH0WLFxcyoRAQI7gKChbNBgYN4QMDB+4CAgT4AQEB/QAAAP8AAAD+AQEB/AEB + BPcCAgntAwMW5AUFMe0HB0/7DQ1o/xAQfP8NDYb/DQ2K/0pKrf/+/v7/0tLS/6SkpP95eXn/KSkp/xkZ + Gf8ZGRn/Kysr/0BAQP8eHmT/EBBW/woKOf8GBiH/AwMQ/wEBBf8AAAD/AAAA/wAAAf8BAQX/AwMR/wUF + Iv8KCjr/Dg5X/xUVcv8bG4f/EhKO/wsLdf8GBkP/BAQl/wQEJf8EBCX/eHjE/35+xv99fcb/cHDA/0ZG + rf8iIp3/ICCc/x4enP8hIZ3/IiKd/xISlv8PD5T/FxeY/xYWmP8WFpj/ERGW/w4OjP8NDYP/DQ2B/w0N + gv8LC27/DAx6/w8Pk/8SEpb/FBSX/xcXmP8aGpr/HByb/x4enP8ODo//DAx6/wwMc/8MDHj/DAx6/wwM + dv8LC2z/CAhL/wQEJf8EBCX/BAQl/wQEJfEEBCW7BAQldQQEJWkFBS5nCAhSZAwMd2EODo9fHBybXCcn + n1ksLKJWLi6jUy8vo1IwMKRPLS2iTSwsokopKaFJKSmhRikpoUQpKaFBKSmhPycnnz4WFpg7FhaYOSQk + njcQEJU2DQ1/NDIypDKamtMwsrLdL7u74Sq7u+FCt7ffuLe33/awsNz/1NTs/93d8P9ubr//Ly+j/yIi + nf/Hx+b/7e3t/7m5uf+NjY3/TExM/xQUFP8SEhL/FRUV/yIiIv89PT3/ZGRk/5mZmf/Gxsb/39/f/+jo + 6P/t7e3/8PDw//Hx8f/n5+f/4+Pj/+zs7P/u7u7/8fHx//T09P/19fX/8vLz5O/v7//n5+f/4ODg/9/f + 3//n5+f//v7+//z8/dL6+vyz6entlbCw0xrPz9Gkr6+v/21tq2J7e3/8VVVV/z8/P/9AQED/QEBA/0BA + QP8wMHv/KSma/z09TP8vL4L/Jyef/ygonv8mJpf/IyOJ/x4edf8REVn/BQU0/wICFP8BAQX/AAAC/wAA + AP4AAAD/AAAA/wAAAP4AAAD5AAAB6gAAAdEAAAOyAQEGjwQECnRPT1ObjIyM94qKiv9oaGj/SkpK/yYm + Jv8eHh7/Hx8f/yYmJv80NDT/Q0ND/05OTv9dXV3/cHBw/4SEhP+Xl5f/ra2t/8TExP/a2tr/7Ozs//r6 + +v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////T09P/k5OT/5OTk/97e3v/S0tL/x8fH/7m5 + uf+qqqr/lZWV/3R0dP9JSUn/Ghoa/xcXF/8TExP/ExMT/x0dHf8rKyv/Ozs7/0BAQP8xMU+GCgpjQAkJ + WEMICFNGCgphTQsLbVYkJG5hKytdcyAgRYgXFzGgDw8hugkJFNMFBQvmAgIF8gEBAvsAAAD+AAAA/wAA + Af4AAAL6AQEG9QICFPUEBCr7CQlE/xAQXv8bG3j/GBiG/xYWkP9XV7P//v7+/9LS0v+kpKT/eXl5/yoq + Kv8aGhr/GRkZ/ysrK/9AQED/Hh5k/w8PV/8KCjn/Bwci/wMDEf8BAQb/AAAA/wAAAP8AAAH/AQEG/wIC + Ev8GBiP/Cgo8/xAQWf8YGHT/HR2I/xERjv8MDHf/BwdG/wQEJf8EBCX/BAQl/3x8xfuCgsj+hITJ/3l5 + xP9PT7H/LS2i/yoqof8mJp//Jiaf/yYmn/8XF5j/EhKW/xcXmP8WFpf/FRWX/xUVl/8PD5D/Dg6F/w4O + f/8NDXr/DQ11/xYWl/8QEJX/EhKW/xQUl/8XF5j/GRmZ/x8fnP8hIZz/IiKd/xAQlP8ODob/Dg6D/w4O + hf8ODob/DQ18/wsLaf8ICE//BQUw/wQEJf8EBCX+BAQl7QQEJaUEBCVrBAQlYwQEKWEJCVdeDQ16XBAQ + k1kfH5xWKSmgUy8vo1EvL6NOLy+jTDAwo0ouLqJHLS2iRS0tokMtLaJBLi6iPiwsoTweHps7ExOWOSYm + nzYrK6E1IiKdMw0NfDEODoUva2u9Lqmp2Sy6uuArvb3iJ7y84XW6uuDctbXe/6ur2v+Pj87/Y2O6/z09 + qf8mJp//x8fm/+vr6/+4uLj/j4+P/1lZWf8iIiL/FRUV/xoaGv8uLi7/T09P/4KCgv+/v8H/wMDE/7+/ + wf+/v7//v7+//7+/v//AwMD/wMDA/sPDw/rIyMj0zs7P7NnZ2uHk5ObW7e3vzvr6++T+/v7//v7+//7+ + /v/+/v7//v7+//z8/dL6+vyz/v7+//v7/bP9/f7x/v7+//7+/v/+/v7/5eXl/5KSkv9LS0v/KSkp/zAw + MP87Ozv/MzNi/zc3ZP9AQED/OztY/ygooP8oKJ//KCib/yUlj/8fH33/FBRi/wYGOv8CAhb/AQEG/wAA + Av8AAAD+AAAA/wAAAP8AAAD/AAAA+wAAAe4AAAHXAAACuwAAA51WVlmzm5ub/42Njf9paWn/TU1N/zg4 + OP8dHR3/GBgY/y8vL/85OTn/R0dH/1hYWP9ra2v/goKC/6Ghof/BwcH/4eHh//7+/v/+/v7/4+Pw/7m5 + 3f+Rkc3/X1+3/01NsP9RUbL/UFCx/09Psf9PT7H/S0us/4eHwv+Wlsf/wsLd////////////+Pj4/+vr + 6//e3t7/0tLS/8TExP+xsbH/l5eX/3Jycv8+Pj7/GRkZ/xcXF/8QEBD/Ghoa/ycnJ/83Nzf/QEBA/zY2 + WYYPD4g/DAxrQQkJW0YKCllLCwtmUxoaaWElJVh1Hh5AjBQULKgNDRvFBwcP2wQECO0BAQP3AAAB/QAA + AP4AAAD+AAAB/QEBBfsCAhD9BAQi/woKOP8UFFT/GRlt/xMTff8jI5H/W1uy//7+/v/S0tL/paWl/3t7 + e/8sLCz/Gxsb/xkZGf8sLCz/QEBA/yAgZf8QEFj/Cws7/wYGIv8DAxH/AQEF/wAAAf8AAAD/AAAB/wEB + Bv8CAhL/BgYl/wsLPf8SElz/GRl2/yAgiv8WFpH/DQ16/wgIR/8EBCX/BAQl/wQEJf9/f8bwh4fJ9oyM + zP2Fhcn/YGC4/z4+qf82Nqb/Ly+i/ysrof8pKaD/Hx+b/xoamf8YGJj/FxeX/xcXl/8XF5f/ERGV/xER + kf8YGJj/Jiae/zk5p/8XF5f/ERGU/xUVl/8YGJj/GhqZ/xwcmv8gIJz/IyOd/yQknf8kJJ3/HBya/xIS + lf8SEpX/EhKV/xAQkP8PD4H/DAxp/wgISv8EBCf/BAQl/wQEJf4EBCXoBAQljQQEJWQEBCVdBAQlWgoK + V1gODn1VERGTUyIinFAsLKFNMDCjSzExo0gzM6RGMzOkRDExo0IyMqRAMDCjPjExozsrK6E5FRWXOCEh + nDYxMaM0MTGjMjExozAQEIwvDAxpLRUVlyuSks4ps7PdKL294SO9veE7u7vhq7m54PXQ0Or/19ft/4GB + x/9WVrT/NTWl/8nJ5v/p6en/tra2/46Oj/9fX1//MTEy/xoaG/8iIiP/NDQ0/1JSUv+BgYH/V1ds/wMD + Gf8BAQj/AAAB/wAAAP8AAAD/AAAA/wAAAPoAAADsAAAA0wAAArEBAQWGAgIOWgUFGjcMDDQeGhpsECgo + nwuystwZ6en1R+rq9Ue2tt4Y/Pz90v7+/v////////////7+/rL7+/1T//////Dw8P+2trb/bGxt/z4+ + P/8lJSX/JiYm/zQ0NP9AQED/QEBA/zo6V/8oKJ//KCie/yoqnf8nJ5T/IiKD/xUVaf8HBz//AwMY/wEB + B/8AAAP+AAAB/QAAAP8AAAD/AAAA/wAAAPwAAAHxAAAB3AAAAsRQUFHLpaWl/5CQkP9qamv/TU1O/zY2 + N/8kJCX/FxcY/x8fIP8+Pj7/SkpL/15eX/97e3v/nZ2e/8bGxv/v7+///v7+/9jY4/+MjLn/QECa/x4e + k/8fH5j/JSWd/x0dmv8aGpn/GBiY/xcXl/8XF5f/FxeX/xERlf8REZH/GBiY/xwcmv8iIpz/Wlqi/6Sk + wf/w8PT///////Pz8//k5OT/1tbX/8bGxv+wsLD/jo6O/1xcXf8gICH/Ghob/xMTE/8YGBj/JCQk/zQ0 + NP9AQED/NjZZhR0dmj0QEIpADAxsRAsLY0kMDGJUEBBeZBwcTHoYGDaWEBAitQkJFNAFBQrlAgIE8wAA + AfsAAAD+AAAA/wAAAf4AAAP+AQEL/wQEGf8LCy7/FhZJ/xERX/8bG3j/JiaN/15esv/+/v7/0tLS/6Sk + pf96env/Kyss/xsbHP8YGBj/LCws/0BAQP8lJWj/FRVb/w0NPP8ICCT/BAQS/wEBBv8AAAH/AAAB/wAA + Af8BAQj/AwMU/wcHJ/8MDD//ERFc/xgYdv8hIYr/Hh6U/w8Pgf8JCUv/BAQl/wQEJf8EBCX/goLI7IqK + zOqTk8/yjY3N+21tv/9NTbD/RUWt/z4+qv81Nab/LS2i/yYmn/8jI57/HR2b/x0dm/8fH5z/KSmh/zw8 + qf9AQKv/Ojqo/1ZWtP9KSq//FRWY/xgYmf8ZGZr/HR2b/yAgnf8hIZ3/IyOe/yUln/8mJp//Jyeg/ygo + oP8mJp//JCSe/yMjnv8jI57/FxeY/w8Ph/8MDGv/CAhG/wQEJv8EBCb/BAQm/wQEJtsEBCZ9BAQmXQQE + JlcGBjhUCwthUg8PgFAREZVNIyOeSisrokguLqNFMTGkQzAwpEEvL6M/MTGkPTExpDsqKqE4GRmaNh4e + nDUuLqMzMTGkMTIypC8xMaQuISGdLAwMZyoMDGgoVVW0Jqen2CW3t98ku7vhILq64Wi6uuHW7e33//r6 + /f+jo9f/b2/A/0dHrv/y8vn/5OTk/7Gxsf+Li4v/XFxc/zY2Nv8gICD/Kioq/zY2Nv9HR0f/WFhb/xAQ + PP8EBB//AQEM/wAAAv8AAAD/AAAA/wAAAP8AAAD7AAAA7AAAANMAAAGxAQEFhQEBDFkFBRg2CwsuHBoa + aA4rK6IJLi6jCS8vowgxMaQIMjKkCC8vowjf3/Em9vb7Zf39/rL9/f6T+vr9Q//////29vb/1tbW/6ur + q/9paWn/OTk5/yQkJP8kJCT/NTU1/0BAQP82Nmr/KCiZ/0BAQP8pKZH/JSWV/yEhh/8SEm3/CAhB/wMD + GP8BAQj/AAAD/gAAAf0AAAD/AAAA/wAAAP8AAAD+AAAA8gAAAeFBQUHdr6+v/5mZmf9ubm7/TU1N/zY2 + Nv8rKyv/HBwc/x4eHv84ODj/TU1N/2hoaP+Ojo7/vb29//Dw8P/+/v7/qqq6/1RUgv83N3//MjKO/yMj + k/8fH5j/Hx+b/x4enP8dHZv/Hh6c/xwcm/8dHZv/Hx+c/ykpof88PKn/Pz+q/zU1pv9HR67/Jiaf/wwM + aP8JCVH/BwdC/XBwjuP09Pfq//////Pz8//k5OT/1NTU/8DAwP+ioqL/dHR0/zk5Of8eHh7/FRUV/xYW + Fv8jIyP/NDQ0/0BAQP83N1qEICCdPBQUlUAPD4VCDQ1ySgwMalcfH1trICBDhhQUKqULCxjCBgYO3AIC + B+4AAAL4AAAB/QAAAP8AAAD/AAAC/wEBB/8EBBL/Cgok/wwMOv8SElT/Hh5y/yQkh/9eXrD//v7+/9PT + 0/+lpaX/e3t7/y0tLf8cHBz/GBgY/ywsLP9AQED/JiZp/xYWXP8PDz7/CAgl/wQEE/8CAgf/AAAB/wAA + Af8AAAL/AQEI/wQEFf8HByf/DAxA/xMTXv8YGHf/Hh6K/yEhl/8QEIj/CQlR/wQEJv8EBCb/BAQm+oKC + x+mNjczmlZXQ5JCQzut1dcL5Wlq2/1hYtf9RUbL/Rkat/zo6qP8zM6X/Li6i/ycnn/8tLaL/NDSl/zk5 + p/9ERKz/KSmg/xYWmP9DQ6z/Ozuo/xkZmf8bG5r/HR2b/x4em/8iIp3/JCSe/yYmn/8nJ5//Jyef/ykp + oP8qKqH/Kiqh/yoqof8qKqH/LCyi/yoqof8eHpv/ERGK/w0Naf8ICD//BQUm/wUFJv8FBSb/BQUmxgUF + Jm4FBSZTBQUmUgkJTk4MDGhMDw+BSRISlUYhIZ1EJiafQiwsokAsLKI9LCyiOy8vozksLKI3HR2bNRcX + mDMmJp8yLy+jLy8voy4vL6MsLy+jKy8voykPD30nCgpQJRAQhiOOjs0jsLDcIbm54B26uuEzubngn7i4 + 4Pi1td7/paXX/4ODyP9aWrb//v7+/9/f3/+srKz/h4eH/1tbW/8yMjL/JSUl/zAwMP81NTX/OTk5/yoq + Tf8NDT7/BQUk/wICEP8AAAT/AAAA/wAAAP8AAAD/AAAA+wAAAOwAAADTAAABsAAAA4QBAQpYBQUVNQsL + KRsbG2QNLi6iCDAwowcwMKMHMjKkBzMzpQYzM6UGOTmnBlZWtAWCgsgFlpbQBfz8/kL//////////+vr + 6//T09P/rq6u/2pqav80NDT/Li4u/y0tLf9AQED/QkJ2/zMzg/9AQED/NTVi/yEhlP8cHIf/DQ1t/wcH + P/8DAxf/AQEI/wAABP0AAAH8AAAA/wAAAP8AAAD/AAAA/gAAAPQnJyfrr6+v/ampqf96enr/UlJS/zg4 + OP8uLi7/JCQk/x4eHv8vLy//UlJS/3Nzc/+fn5//0tLS//Ly8v+0tLb0MzNS+CMjWP8zM3X/OjqL/y8v + lP8iIpf/ISGb/x4emv8eHpv/ISGd/yQknv8iIp3/Kyuh/zQ0pf85Oaf/RESs/yYmn/8SEpP/NDSl/xER + kf8LC1v/CQlI/wcHPesHBzuXCAhCINfX43P7+/3k/v7+/+7u7v/e3t7/zMzM/7CwsP+Dg4P/RUVF/yAg + IP8XFxf/FhYW/yMjI/81NTX/QEBA/zc3WYQbG5o7GRmXPxERikQODnhMJCRnXi8vVHceHjeUDg4ftAUF + ENACAgfmAAAD9AAAAfwAAAD/AAAA/wAAAf8BAQT/AwMN/wYGG/8ICC//ERFK/xoaZv8gIH7/W1ur//7+ + /v/T09P/p6en/35+fv8xMTH/Hh4e/xkZGf8sLCz/QEBA/yUlaP8WFlz/Dg4+/wgIJf8EBBP/AgIH/wAA + Af8AAAH/AAAC/wICCf8EBBX/CAgo/w0NQf8VFV//Gxt4/yAgi/8pKZr/ERGP/wsLWP8GBjD/BQUm+AUF + Jup7e8TniYnK5ZOTz+KTk8/efn7G4m9vv/R3d8L/cnLA/2Jiuf9QULH/Rkat/0BAqv8+Pqn/R0et/zY2 + pv8WFpf/EhKO/xERiv8UFJb/Nzem/yoqoP8ZGZn/HR2b/x8fm/8hIZz/IyOd/yUlnv8mJp//Jyef/ycn + n/8qKqD/LS2i/y0tov8tLaL/Kyuh/y0tov8uLqL/Kyuh/xwcmv8REYf/DAxi/wYGM/8FBSb/BQUm/wUF + Jv0FBSaxBQUmYgUFJksFBShMCQlFSQwMXkYQEH1DExOUQiMjnUApKaA9KyuhOyoqoDkqKqA3HByaNRMT + lDImJp8wLy+iLzExoy4wMKMsMDCjKjAwoykyMqQnHByaJQsLWSMKClEiNTWlIZ+f1CCurtsetbXeG7W1 + 3le1td7PsbHc/6en2P+Kisv/X1+4//7+/v/a2tr/qqqq/4eHh/9bW1v/Li4u/ykpKf8yMjL/MjIy/0BA + QP8rK0//ERFD/wsLKf8DAxT/AQEF/wAAAP8AAAD/AAAA/wAAAPwAAADtAAAA0gAAAbAAAAOEAQEJWAQE + FTULCykbHBxkDS8vogcxMaMGMDCjBjIypAY1NaUFNTWlBDk5pwRTU7IDf3/GA5aW0AOYmNED9PT6ffv7 + /fj9/f3/6urq/9TU1P+qqqr/W1tb/0tLS/9NTU3/Pz8//0VFi/84OHH/QEBA/0BAQP8iIon/HByI/w0N + bf8ICD//AwMW/wEBCf8BAQT8AAAB+wAAAP8AAAD/AAAA/wAAAP8NDQ33tra2/rq6uv+FhYX/W1tb/zw8 + PP8yMjL/NDQ0/ycnJ/8sLCz/VlZW/35+fv+qqqr/3d3d/8nJyf1DQ0PjCgoe4hgYRvkoKGb/OjqD/0ND + mP89PaD/PDym/zc3pf8pKaD/ISGc/yMjnf8qKqD/MjKk/0FBq/8zM6T/FRWX/xISjv8REYf/EhKQ/xkZ + mP8ODnL/CgpO/wgIQP8HBzrJCAg8SAkJSRYMDGAeZWWtLevr9p7/////9vb2/+bm5v/T09P/ubm5/4yM + jP9QUFD/Jycn/xwcHP8aGhr/Jycn/zg4OP9AQED/LCxrXhMTkzsQEIRADw9zRxgYbVUuLl1qICA/hg0N + JKYDAxPFAQEJ3gEBBPEAAAP9AAAB/wAAAP8AAAD/AAAC/wICCP8DAxP/Cgon/xERQP8YGFz/Hh52/1pa + pv/+/v7/1NTU/6mpqf+BgYH/NjY2/yAgIP8ZGRn/LCws/0BAQP8aGmH/CwtW/wcHOf8EBCL/AgIR/wEB + Bv8AAAL/AAAB/wAAA/8CAgr/BgYY/w4OLf8aGkn/JSVo/yUlfv8mJo//Ly+d/xMTkv8MDGL/CAhA8QUF + JuIFBSbec3PB5YKCyOKPj83fkpLP3H19xdl9fcXck5PP7JaW0f6Pj87/h4fK/4KCyP97e8X/YmK6/z09 + qf8TE5P/EhKI/xISiP8SEoj/FhaY/yoqof8gIJz/GRmZ/xsbmv8gIJz/IiKd/yQknv8lJZ7/Jiaf/yYm + n/8mJp//KCig/ywsov8tLaL/LS2i/ywsov8uLqL/LS2i/ywsov8pKaD/Ghqa/xERg/8MDFj/BQUm/wUF + Jv8FBSb/BQUm8AUFJp4FBSZXBQUmRQUFJkYHBzFDCwtTQRAQdz8UFJU8JiafOioqoTgpKaA2JiafNBQU + lTIcHJswLS2iLjAwoywxMaQqMTGkKDExpCcxMaQmMTGkJDExpCIREYAhCgpLHw4ObB9sbL4dp6fYHLGx + 3Bizs90ssLDcja2t2/emptf/kZHO/2hovP/+/v7/2dnZ/6urq/+IiIj/W1tb/ysrK/8sLCz/NDQ0/zEx + Mf9AQED/PT1Z/ygoUP8TEy//AwMV/wEBBP8AAAD/AAAA/wAAAP8AAAD9AAAA7gAAANIAAAGwAAACgwEB + BlYDAw8zCAggGRYWUQouLqIEMDCjBC8vowMxMaQDMzOlAjQ0pQI3N6YBT0+xAXp6xAGTk88BmJjRAZSU + 0BC0tN6W6+v2/Pz8/P/p6en/z8/P/52dnf9zc3P/dnZ2/1dXV/8rK3L/NzdW/0BAQP9AQED/KSlk/xQU + hf8ODmz/CAg8/wMDFP8BAQn/AQEE/AAAAfoAAAD/AAAA/wAAAP8AAAD/l5eX/crKyv+UlJT/ZmZm/0RE + RP83Nzf/NTU1/zU1Nf8vLy//RUVF/4WFhf+urq7/zc3N/4eHh/wQEBHpAQEE0gwMLe0ZGVL8LCxy/0VF + kf9PT6T/V1ew/2Rkuv9kZLr/XV23/1dXtf9cXLf/Xl64/0pKr/8tLaL/ExOO/xIShf8SEob/ERGE/xIS + iv8REYD/DAxc/wkJRP8ICDrnCAg5hgkJQR4LC1MaDw9uHBMTjh0rK6Ee19ftZf7+/vL7+/v/6urq/9jY + 2P+/v7//m5ub/2hoaP82Njb/JSUl/x0dHf8qKir/PDw8/0BAQfMlJXBRERF+Ow4OakAMDGBLDQ1YXw4O + P3gGBiaXAwMUuQICDNkBAQr1AQEG/wAAAf8AAAD/AAAA/wAAAf8BAQX/AwMP/wgIIP8ODjf/FhZT/x0d + bv9aWqP//v7+/9vb2/+ysrL/i4uL/0JCQv8lJSX/Gxsb/y0tLf9AQED/Gxte/wsLUf8HBzT/BAQe/wIC + D/8BAQX/AAAB/wAAAf8AAAP/AgIL/wcHGv8WFjP/LS1V/z8/dv9ISJD/TU2h/1ZWsP87O6f7Dw916QgI + O9wFBSbZBQUm3Hx8xeOHh8rfjIzM3YGBx9leXrjWcXHA05eX0dSentTkmZnS+JKSzv+MjMz/iIjK/3V1 + wv9KSq//GRmZ/xQUjf8TE4r/ExOJ/xQUkf8bG5r/IiKd/xoamf8cHJr/Hh6b/yEhnP8jI53/Jiae/yYm + n/8nJ5//Jyef/ygooP8qKqD/LS2i/y0tov8sLKH/Ly+i/y8vov8vL6L/LS2i/ycnn/8WFpf/ERF7/wsL + TP8FBSb/BQUm/wUFJv8FBSbhBQUmjAUFJksFBSZBBQUmQAYGLD4LC1E8EBB1ORUVkzgpKaA1ICCcMxYW + lzEmJp4vLS2iLTAwoysvL6IqLy+iKDExpCYxMaQkMTGkIzExpCIyMqQgNDSlHhAQcx0MDFkcKSmgG6Cg + 1Rq1td4YuLjgGLa23ky2tt7Is7Pd/6ur2f+entT//v7+/9nZ2f+tra3/ioqK/11dXf8qKir/Ly8v/zIy + Mv80NDT/QEBF/zk5cP8pKVH/FRUx/wMDF/8BAQX/AAAA/wAAAP8AAAD/AAAB/gAAAfAAAADSAAAArwAA + AYIBAQRVAQEGMAMDDhYNDS4HLi6iAi8vogEvL6IBLy+iATExowEyMqQB/v7+AP7+/gD///8A////AP// + /wCVldAKkJDOcJiY0ezr6/b/+fn5/+Li4v+/v7//mJiY/5WVlf+MjIz/NTWC/2Rka/9AQED/QEBA/z09 + Q/8REXf/Dg5j/wgIOv8CAhH/AQEJ/wEBBPsAAAH5AAAA/wAAAP8AAAD/Z2dn/87Ozv+ioqL/cXFx/0tL + S/86Ojr/NjY2/zU1Nf8/Pz//ODg4/1JSUv+JiYn/mJiY/0hISP0AAADzAAAB4AQEDNEUFD73IiJg/zIy + ff86OpP/MTGb/0lJrP9ra7z/bGy+/2Jiuf9ZWbX/WFi1/1tbtv9NTbD/KCig/xMTi/8SEoX/EhKE/xIS + f/8QEHb/Dg5l/wsLT/8ICDz+CAg3vAgIOkMKCkYUDQ1eGBERfhoaGpkaNjamHEBAqh2/v+NJ/Pz+5P7+ + /v/t7e3/3d3d/8vLy/+xsbH/hoaG/1BQUP8qKir/ICAg/y4uLv9AQED/PT1FzRISgjcPD207DQ1fRAsL + UFUJCT1tBgYniQQEGbMDAxXiAgIQ/AEBCP8AAAL/AAAA/wAAAP8AAAD/AQED/wMDC/8HBxr/DAwu/xMT + Sf8cHGf/Wlqf//7+/v/i4uL/vb29/5eXl/9PT0//Kioq/xwcHP8tLS3/QEBA/yMjZv8SElf/Cws6/wUF + Iv8CAhD/AQEG/wAAAf8AAAH/AAAD/wEBCv8DAxj/ExMy/zAwVv9ERHn/SkqR/0xMof9SUq73Ozun4BER + ftQJCT7TBQUm1gUFJtmEhMjgiorL3YWFydphYbnXIyOd0zw8qdB4eMPMhYXJzYSEyNt/f8bzfHzF/YWF + yf+Kisv/fHzF/1JSsv8fH5v/FBSQ/xMTi/8TE4j/FRWV/yYmn/8bG5r/HBya/x0dm/8hIZz/IiKd/yUl + nv8lJZ7/Jiaf/ykpoP8pKaD/KSmg/ywsof8sLKH/LCyh/y4uov8vL6L/Li6i/y0tov8rK6H/JCSe/xQU + kv8QEHL/CQk//wUFJv8FBSb/BQUm+gUFJtQFBSZ7BQUmQQUFJjwFBSY7BwcxOQwMVDcREXc0FBSQMhQU + jzEVFZUvLCyhLS8voioxMaQoMDCjJy8voiYxMaQkMjKkIjExpCExMaQfMjKkHTQ0pRwmJp8bDw9qGhAQ + chlnZ7sYr6/cFri44BO6uuAmuLjgf+Xl8/v+/v7/6ur1//7+/v/f39//tra2/5GRkf9hYWL/Kyss/y8v + MP8tLS3/OTk5/ysrXP8SEmL/GRlL/xYWMf8KChn/AQEI/wAAAf8AAAD/AAAA/wAAAf8AAAHzAAAB1AAA + AK4AAACBAAABUwAAAy8CAgcVBwcaBisroQH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD///8AkpLOBY+PzWCQkM7ip6fX//j4/P/w8PH/09PT/7Gxsv+fn5//kJCQ/zIyg/98fHz/QEBA/z09 + Pf9AQED/ISFb/wsLVP8HBy7/AgIP/wEBCf8AAAT6AAAA+AAAAP8AAAD/JCQk/9LS0v/AwMD/hoaG/1pa + Wv9EREX/PDw9/zQ0Nf89PT7/TExM/1RUVf9oaGj/ZWVl/xcXF/8AAAD7AAAA7gEBA9oKChvYHR1M+yoq + bP8xMYX/GBiJ/xAQd/8UFI7/Njam/zk5p/8rK6H/HBya/xwcmv83N6b/UFCx/0xMr/8pKaD/ExOL/xIS + gf8QEHX/DQ1e/wsLUf8KCkb/CAg44wgINnYJCT4dCwtQFA8PbBYUFIwYJyefGDo6pxpCQqsbQ0OrHYmJ + yiz6+v3W//////Ly8v/k5OT/0dHR/66urv9qam7lKCgo/xkZGf8iIiL/MTEx/0BAQP83N1KOEhJ/Nw8P + bj4MDFdMCAg+YAYGLYQGBinBBQUj9AMDFf8BAQr/AAAD/wAAAP8AAAD/AAAA/wAAAf8CAgj/BgYV/wsL + KP8REUL/Ghpf/1lZm//+/v7/6+vr/8fHx/+jo6T/W1tc/y8vMP8dHR3/LS0t/0BAQP8rK2n/Gxtb/xIS + PP8LCyP/BQUR/wEBBf8AAAH/AAAB/wAAA/8BAQn/AwMT/wYGK/8fH1D/Ly9x/zAwhv8sLJPyNTWg2S8v + ocwTE4jMDAxYzwUFJtMFBSbXhobK3YeHytp8fMXXTk6x1BQUh9AUFIrNRESsyWlpvcV5ecTGfn7G04CA + x+yEhMj6jY3N/5KSz/+Bgcf/Tk6x/yMjnv8VFY7/EhJ+/xYWlv8qKqH/Hh6c/xsbmv8cHJv/ICCc/yIi + nf8mJp//Jiaf/ycnoP8oKKD/KSmg/yoqof8sLKL/LS2i/y0tov8sLKL/LS2i/zAwo/8vL6P/LS2i/yoq + of8fH5z/FBSN/w8Pa/8ICDb/BgYm/wYGJv8GBib2BgYmxgYGJmcGBiY4BgYmNwYGJjYICDkzDQ1cMRAQ + ay8QEHAuIiKdLDAwoyowMKQoMTGkJjExpCUwMKMjMDCkITAwpB8xMaQeMjKlHTIypRs1NaYaODinGRQU + jRgPD2oWFhaXFZCQzhS1td4TurrgE+bm9Hv+/v7//v7+/9LS6//n5/T/5+fn/7+/v/+ZmZn/ZWVl/y4u + Lv8vLy//JiYm/zw8PP8pKVv/Dg5f/wwMRf8PDy7/Cwsa/wICCf8AAAH/AAAA/wAAAP8AAAH/AAAC9gAA + AdcAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAWdnZ0AlpaWAGpqagBcXFwAbm5uAICAgACWlpYAnJycAKys + rADZ2dkA/v7+AJKSzwGPj81Sj4/N2JGRz/+4uOD//////+jo6P/Ly8v/oaGh/3Fxcf83N2D/ODg4/ysr + K/8xMTH/Pz8//zExT/8LC03/BAQe/wICD/8BAQn/AQEE+QAAAPkAAAD/AAAA/6SkpP/Pz8//qqqq/3d3 + d/9YWFj/SkpK/z8/P/86Ojr/SUlJ/2JiYv+FhYX/jo6O/ygoKP8AAAD/AAAA+QAAAOkCAgTVEhIt6CMj + V/0vL3X/LS2I/xISgf8PD2T/EBBt/xQUiv8XF5j/Gxua/xYWl/8WFpX/Ghqa/zc3p/9RUbL/SEiu/xgY + mf8TE4D/Dw9l/woKRf8KCkP/CQlA/AgINq8ICDg6CgpFDw0NXBQSEnwVGBiZFjIypRY8PKkXQUGrGUND + rBpERKwbi4vMK/r6/db/////+/v7/+rq6v/Nzc3/mpqa/0pKSv8aGhr/GRkZ/yUlJf83Nzf/QEBB8yAg + fkASEns5DQ1eRAoKRFwJCT2YCQk74wYGLf4EBBz/AgIN/wEBBf8AAAH/AAAA/wAAAP8AAAH/AgIG/wUF + Ef8KCiT/Dw87/xgYWv9XV5f//v7+//Pz8//Gxs3/lpar/2dnZ/8zMzP/Hh4e/y0tLf9AQED/Kipo/xoa + Wf8RETv/Cgoj/wUFEf8BAQX/AAAB/wAAAf8AAAP/AQEI/wICEP8FBSP/DQ1I/yEhafwrK4LuLi6R0zQ0 + n8YcHJrGEhJ9yQ4OYc0HBzDQBgYm1IiIytyKisvYfX3F1VRUs9EVFY3NExOByiAgnMZJSa7DZGS6wHV1 + wr2AgMbJh4fK5IuLy/iYmNH/m5vT/4WFyf9TU7P/FhaU/xISdf8WFpT/NTWl/yYmnv8cHJr/HR2b/yAg + nP8jI53/Jiae/yYmn/8oKKD/KCig/yoqoP8sLKH/LS2i/y4uov8uLqL/LS2i/y0tov8vL6P/Ly+j/zAw + o/8uLqL/KCig/xsbmv8VFYn/Dw9k/wcHMP8GBib/BgYm/wYGJvEGBia1BgYmUQYGJjIGBiY0BgYmMQoK + Qy8ICDcsDAxMLBgYmCowMKMnMDCjJjAwoyQwMKMjMDCjITAwoyAwMKMeMjKkHTExpBswMKMaNDSlGDY2 + phc3N6YXFBSEFRMTexRGRq0ToKDVEri43w/x8fhk9vb63NbW7Pi8vOH/6+v2/+bm5v+5ubn/lZWV/2lp + af8wMDD/LS0t/ygoKP8/Pz//KSla/w4OXf8KCkL/Bwcq/wkJGf8EBAr/AAAC/wAAAP8AAAD/AAAB/wAA + AvoAAALbAAAArgAAAIAAAABSAAAALgAAABQAAAAFQEBAAEBAQABAQEAAQEBAAEpKSgB3d3cArq6uAM7O + zgDe3t4A9PT0AP7+/gD///8Ajo7NR42Nzc2QkM7/jY3N/97e8P/39/f/29vb/6+vr/9vb2//PT09/x8f + H/8fHx//Jycn/zY2Nv9AQED/Dw9L/wMDFf8CAg7/AQEI/wAAA/kAAAD5AAAA/2tra//Kysr/wMDA/6Ki + ov9+fn7/YmJi/1BQUP9AQED/SkpK/1paWv91dXX/iYmJ/zU1Nf8AAAD/AAAA/gAAAPYAAAHlBAQK1BgY + OvUqKmD/NjZ9/zExjv8VFYj/ERFu/xERb/8TE3//FRWN/xYWk/8WFpP/FhaS/xYWk/8YGJj/Pj6p/1RU + s/88PKn/FBSH/wwMT/8HBy7/CAg3/wkJPeIICDdnCQk8GAwMTg8QEGsSFRWLEyYmnxU3N6YVPj6pFkBA + qhdCQqsZRESsGkZGrRuNjcwq+fn8x/r6/db+/v7y8vLy/9nZ2f+urq7/XV1d/ykpKf8dHR3/LS0t/0BA + QP88PEmyExOBNQ4OYT8NDVR0DAxQzQoKRvoICDP/BQUh/wMDEv8BAQf/AAAB/wAAAP8AAAD/AAAA/wEB + BP8EBA//CQkg/w8PNv8WFlT/OzuC/9bW6P/y8vL/z8/P/6+vr/9qamr/NDQ0/yAgIP8vLy//QEBA/xsb + Wf8YGFj/ERE6/woKI/8FBRD/AQEF/wAAAP8AAAD/AAAC/wEBCP8DAxL/BQUj/woKQPsXF1/tJSV40y8v + jsM3N6DBGxuZwxERbcYNDVXKCQk5zQYGJtKIiMvZjY3N1YSEydJgYLnPHBybyxUVhsgXF5XEMDCkwU1N + sL1kZLu5d3fDtYaGyb+Ojs3bmZnS9qSk1/+kpNf/i4vM/yYmn/8UFH7/Pz+q/0RErf8vL6P/ICCd/x4e + nP8fH5z/IiKd/yMjnv8mJp//KSmh/ygooP8pKaH/Kyuh/y0tov8uLqP/Ly+j/y8vo/8vL6P/Ly+j/zAw + o/8wMKP/Ly+j/y0tov8nJ6D/Ghqa/xUVhv8PD1//BgYp/wYGJv8GBib/BgYm7gYGJqAGBiY9BgYmLwYG + Ji4GBiYsBgYmKgcHLCkUFH4nLi6jJTAwpCMwMKQhMTGkIDMzpR8yMqUdMjKlHDMzpRsxMaQZMTGkGDQ0 + pRY0NKUVNDSlFSkpoRQWFo4TGBiZEX5+xhC2tt8P+fn8ar294i68vOHGvLzh/O3t9//n5+f/rKys/3x8 + fP9HR0f/Kysr/yYmJv8pKSn/Pz8//ykpWf8PD13/CgpC/wYGKf8FBRj/BAQK/wAAAv8AAAD/AAAA/wAA + Af8AAAP9AAAD4QAAAbAAAACAAAAAUgAAAC4AAAAUAAAABaCgoADs7OwA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AI6OzT6Ojs3AkJDO/46Ozf+np9n//////+Xl5f+7u7v/b29v/zY2 + Nv8VFRX/FxcX/x8fH/8vLy//QEBA/xwcSP8DAxT/AgIN/wEBCP8AAAP5AAAA+R0dHf/n5+f/4uLi/8jI + yP+mpqb/k5OT/3x8fP9dXV3/UVFR/1paWv9ra2v/gICA/1BQUP8AAAD/AAAA/wAAAP0AAAD0AQEB4QgI + E9kdHUX9Ly9p/0BAh/87O5f/GRmT/xUVg/8UFH//FRWE/xYWi/8WFo//FxeR/xcXkf8XF5L/FxeT/yQk + nv9HR67/TU2x/xgYl/8KCj7/BgYm/wkJO/wKCj2kCQk7MAsLRAsODlsPExN6EBgYlxEsLKITOTmnEz8/ + qhQ/P6oVQECrF0NDrBhFRa0ZR0euGklJrxxJSa8erq7bOv7+/vLm5ub/xcXF/4qKiv87Ozv/HBwc/yUl + Jf82Njb/QEBA/zExWGMREWxRDw9jsg8PWvMMDE3/CQk6/wYGJv8DAxX/AQEJ/wAAAf8AAAD/AAAA/wAA + AP8BAQP/AwMN/wgIHf8PDzP/FxdQ/1dXkv/x8ff/8fHx/9PT0/+5ubn/dXV1/zs7O/8lJSX/MjIy/0BA + QP8aGk3/FxdY/xAQOv8KCiP/BQUQ/wEBBf8AAAD/AAAA/wAAAf8BAQf/AwMT/wUFI/wJCTrvFRVV1yQk + csYxMY3COjqgwB4em8EREWvECwtHxwgIM8sGBibPiYnL1o2NzdOJicvPa2u9zCwsocgXF4rFGBiRwR8f + nL42Nqa6TEywtmVlu7J7e8Wui4vLspSUz8+hodXzra3b/qmp2f9ERKz/FhaJ/2Vlu/9YWLX/QECq/yoq + of8iIp3/IiKd/yUlnv8mJp//KCig/ywsof8rK6H/Kiqh/ywsof8uLqL/Ly+j/y8vo/8wMKP/MDCj/zAw + o/8xMaT/MDCj/zAwo/8wMKP/Ly+j/ygooP8aGpn/FRWD/w8PWf8GBib/BgYm/wYGJv8GBibtBgYmggYG + JjIGBiYrBgYmKgYGJigGBiYnDAxHJScnnyMwMKMhMTGkHzAwox4wMKMdMTGkGzIypBk0NKUYMzOlFzIy + pBUzM6UUNTWlEzQ0pRI0NKURNTWlERkZlw9kZLoOr6/bDvv7/We+vuISvLzhZby84fDu7vj/6+vr/7a2 + tv+AgID/PT09/ycnJ/8dHR3/KSkp/z8/P/8pKVj/Dw9b/wsLQf8HByj/BAQW/wICCf8BAQL/AAAA/wAA + AP8AAAH/AAAD/wEBBOkAAAK1AAAAgAAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCNjc01jY3Ns4+Pzf+QkM7/g4PI//b2+//u7u7/yMjI/4WF + hf85OTn/Ghoa/xISEv8bGxv/Kioq/0BAQP8mJkL/AwMT/wICDP8BAQf+AAAC+QAAAPuioqL/7u7u//X1 + 9f/Y2Nj/wMDA/6Ojo/+Ghob/bm5u/2RkZP9sbGz/e3t7/2FhYf8AAAD/AAAA/wAAAP8AAAD8AAAA8QEB + A98NDR/jISFN/zQ0cP9ERI3/Q0Oc/ycnmv8YGJD/FxeK/xcXiv8XF47/FxeP/xcXj/8XF4//GBiR/xgY + kf8YGJH/IiKd/zo6qP8aGpn/CQk1/wYGJv8KCj3lCgo9WAsLQhMNDU8MERFpDhYWiQ8lJZ4QNDSlETs7 + qBFAQKoSQECqE0BAqhVCQqsVRUWtF0ZGrRhHR60aSEiuG46OzSr8/P7k7u7u/9PT0/+rq6v/Y2Nj/zc3 + N/8hISH/LS0t/z8/P/89PUXOExN2mRISa+sQEGL/Dg5V/woKQf8HByv/BAQY/wICCv8AAAH/AAAA/wAA + AP8AAAD/AQEC/wMDC/8HBxr/DQ0v/xUVTP86On3/8fH3//b29v/g4OD/ysrK/5KSkv9QUFD/MjIy/zY2 + Nv9AQED/GxtQ/xgYWP8QEDr/Cgoj/wUFEP8CAgX/AAAA/wAAAP8AAAH/AgIH/wMDEv0FBR/yDAwy4BgY + UM8nJ3HGMjKLwDs7n74fH5q/ERFrwQoKO8UGBibIBgYmzIqKy9SPj83QjIzMzXZ2wsk7O6jFGBiQwhgY + jr4ZGZS6IiKdtjY2pbNNTbCvZ2e7q39/xqaPj82nmprSvqur2u+0tN3+T0+x/xkZlf+EhMj/cXHA/1lZ + tf8+Pqn/Kyuh/yYmnv8mJp7/Jiae/ygon/8rK6H/LCyh/ywsof8sLKH/Li6i/y8vov8uLqL/Li6i/y4u + ov8uLqL/MDCj/zIypP8wMKP/MTGj/zExo/8wMKP/KCif/xoamP8WFn//DQ1P/wcHJv8HByb/Bwcm/gcH + JukHByZhBwcmLQcHJicHByYlBwcmJAcHJiIZGZUgJyefHjAwoxwwMKMcLy+iGi8vohgwMKMXMzOkFjMz + pBUzM6QTNDSlEjQ0pRExMaMRMDCjEC8vog8YGI4OUFCxDaKi1Qy4uN8Lvr7iCr294hjNzejN+/v9/+rq + 6v+/v7//lZWW/1RUVf8rKyv/HR0e/ykpKf8/Pz//KipY/w8PW/8LC0D/Bwco/wQEFf8BAQj/AAAC/wAA + AP8AAAD/AAAB/wEBA/8BAQXxAQEDvgAAAIAAAABSAAAALgAAABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4Aj4/NLY6OzaiRkc7/kZHO/4eHyf/Gxub/9/f3/9LS + 0v+enp//SkpK/yMjI/8UFBT/GBgY/ycnJ/88PDz/MzM//wMDEf8CAgr/AQEG/gAAAfk7Ozv87u7u//Hx + 8f/g4OD/YGBg/nR0df6kpKX/cHBw/1tbXP9lZWX/dXV1/y4uLv4ODg7+AAAA/wAAAP8AAAD/AAAA+wAA + AO4DAwbeExMt8SYmU/85OXb/SEiR/0VFn/8zM6D/ICCc/xkZlP8YGI7/GBiP/xgYj/8YGI//GBiP/xgY + j/8YGI//GBiO/xcXh/8YGI7/FxeK/wcHJv8HByb/Cgo7nAsLQCMNDU0IEBBfCxQUeQwZGZUNLS2hDjU1 + pQ87O6gPPj6pEEFBqhFBQaoSQkKrE0RErBVGRq0WRkatF0ZGrRnu7veN//////j4+P/h4eH/xcXF/5GR + kf9TU1T/Kyst5CYmJv81NTX/QEBA/yQkaOwUFHX/EhJp/xAQXP8MDEb/CAgu/wQEGv8CAgz/AAAD/wAA + AP8AAAD/AAAA/wEBAv8DAwr/BwcY/wwMLf8TE0j/VVWM//7+/v//////6Ojo/9fX1/+kpLL/dHR1/0pK + Sv88PDz/OjpE/xERYP8ZGVj/ERE7/wsLI/8FBRD/AgIF/wAAAP8AAAD/AAAB/wICBf4EBA74CAga6w8P + MN4cHE/QKytvxDY2i748PJ26Hh6ZuxISar4KCjvCBwcmxQcHJsmMjMzSkJDOzo2Nzcp8fMXGSkqvwx4e + m8AaGpO7GRmQuBoalbQhIZ2xNDSlrU1NsKlpabylgoLIoZWV0J2iotaqs7Pd5mdnvP1LS6//nJzT/42N + zf95ecT/XFy3/z8/qv8vL6P/KSmg/ygooP8pKaD/LS2i/y8vo/8uLqL/Ly+j/y8vo/8vL6P/MDCj/zEx + pP8wMKT/Li6i/y8vo/8xMaT/MzOl/zIypP8yMqT/MjKk/zAwo/8pKaD/GhqX/xUVef8MDEb/Bwcn/wcH + J/8HByf+Bwcn2gcHJ1AHBycmBwcnIwcHJyIHBychEBBZHxoalh0qKqEbMjKkGzExpBkvL6MXLy+jFjAw + pBUwMKQUMTGkEjIypBIxMaQQMDCjEC4uog8aGpQOFxeEDU9PsQyNjcwMr6/cC7294gr19fom+Pj81v7+ + /v/o6Oj/v7+//5qamv9hYWH/MjIy/yQkJP8qKir/Pz8//yoqWf8QEFv/CwtA/wcHKP8EBBX/AgIJ/wAA + Av8AAAD/AAAA/wAAAf8BAQP/AQEG9wEBBccAAACAAAAAUgAAAC4AAAAUAAAABf7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AI+PzSSOjs2akJDO/5GRzv+IiMr/o6PW//// + ///a2tr/srKy/29vb/8uLi7/HBwc/xcXF/8lJSX/OTk5/y8vPP8DAxH/AgIJ/wEBBP0AAAH6srKy//T0 + 9P/Kysr/t7e3/7i4uP+9vb3/gYGB/l5eXv9HR0f/RERE/0hISP8mJib+AAAA/gAAAP8AAAD/AAAA/wAA + APoAAAHsBQUM4hcXNfsoKFf/PT15/0lJk/9ERJ7/Ojqi/zExov8mJp7/GhqV/xkZkf8ZGZD/GRmQ/xkZ + j/8ZGY//GRmP/xgYi/8WFn7/ExNr/xISaP8HByf/Bwcn6gsLPEUMDEcOEBBbCBQUdAsYGIsMHx+cDDAw + ow03N6YOOjqoDj8/qg9BQasRQUGrEkNDrBNERKwURESsFUZGrRZJSa4Yy8voQ///////////7+/v/9jY + 2P+vr6//b29v/z09Pf8eHh7/Kysr/zw8PP87O0n/FhaC/xUVdf8SEmT/DQ1M/wkJMv8FBR3/AgIN/wEB + BP8AAAD/AAAA/wAAAP8AAAH/AgII/wcHF/8MDCv/EhJF/1NTi/////////////r6+v/o6Oj/zc3N/6Gh + of9sbGz/QEBA/yMjV/8TE2//GhpZ/xISO/8LCyP/BQUQ/wICBf8AAAD/AAAA/wAAAP8BAQT8BQUM9AsL + G+oTEzHdHx9QziwscMM1NYq8PDyeuB8fmrkTE2y7Cws9wAcHJ8MHByfHjIzMz4+PzcuNjc3Ie3vExFBQ + scAsLKK8Hh6buBoakrUZGZCxGhqVrR4em6kxMaSmTEywompqvZ2FhcmamJjRl6mp2aBdXbfSW1u396qq + 2f+iotb/lZXQ/39/xv9gYLj/RESs/zU1pf8wMKP/Li6i/y8vo/8xMaT/MTGk/zIypP8yMqT/MDCk/zAw + pP8zM6X/MzOl/zAwpP8uLqL/Ly+j/zExpP8xMaT/MjKk/zQ0pf8yMqT/MDCk/ycnn/8aGpX/FBRy/woK + Of8HByf/Bwcn/wcHJ/sHBye5BwcnRgcHJyEHBycfBwcnHgcHJxwWFn4bGhqXGSoqoRgxMaQXMDCkFS8v + oxQwMKMTMDCjEjExpBEyMqQQMDCjDi4uog4qKqENFxeEDBgYhwtHR60LdHTCCqCg1Qm3t98Ivb3iB729 + 4hXy8vnr6+vr/8PDw/+fn5//ZWVl/zMzM/8lJSX/Kioq/z8/P/8qKln/EBBb/wsLQP8HByj/BAQV/wIC + Cf8AAAL/AAAA/wAAAP8AAAH/AQED/wEBB/wBAQfVAAAChwAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCPj80cjY3NjI+Pzf+Sks//iorL/5OT + z///////39/f/7u7u/+IiIj/OTk5/yIiIv8WFhb/IyMj/zY2Nv9AQED/AgIN/wEBB/8BAQP9Kyss/Pb2 + 9v/X19f/o6Oj/42Njf+MjIz/oqKi/52dnf95eXn/VFRU/0BAQP84ODj/BAQE/QAAAP4AAAD/AAAA/wAA + AP8AAAD5AQEC7AgIEugZGTn/KipZ/zw8eP9FRY3/PT2W/zU1nP83N6D/MzOg/yYmnf8aGpX/GhqS/xkZ + kf8ZGY//GRmP/xgYjP8XF4T/FBRx/w8PVv8NDUj/Bwcn/AcHJ5QLCz8bDg5QCBMTawgYGIkKHx+cCyws + ogszM6UMOTmnDTw8qQ0/P6oOQkKrD0RErBBGRq0RR0etEkVFrRRGRq0VSUmuFklJrxbv7/iM//////X1 + +rjl5ebyxMTE/4yMjP9LS0v/IyMj/yIiIv8yMjL/QEBA/yMjfP8XF4P/ExNr/w4OT/8JCTT/BQUf/wMD + D/8BAQX/AAAA/wAAAP8AAAD/AAAB/wICCP8GBhT/DAwo/xISQv8oKGv/urrW/9fX6v//////19ft//7+ + /v+qqqr/bm5u/0ZGRv8qKlf/JCRp/xoaWf8RETv/Cgoi/wQEEP8BAQX/AAAA/wAAAP8AAAH/AgIF+wcH + DvMPDx7oGho12yQkVMsuLnK/NzeMuDs7nrUfH5q2ExNsuAsLPrwHByfABwcnxIqKzMyPj87IjY3NxXp6 + xcFQULK9NDSmuiwsorYcHJqyGhqSrhoakasaGpKnHByaozAwpJ9LS7Cbamq+l4iIypOUlNCQQECrmVlZ + tsKyst3vsLDc/6mp2f+bm9P/hYXJ/2ZmvP9LS7D/Pj6q/zU1pv80NKX/NTWl/zQ0pP80NKP/NDSj/zEx + ov8xMaL/MTGi/zMzo/8zM6P/MDCh/y8vof8xMaL/MTGi/zAwof8xMaL/NDSj/zMzo/8vL6H/Jyed/xoa + jv8TE2j/CAgt/wcHJ/8HByf/Bwcn8wcHJ54HByc7BwcnGwcHJxwHBycaEBBbGBcXgRccHJkWKSmhFTAw + pBQwMKQSLy+jETAwpBA0NKYPMzOlDjExpA0wMKQNHBybDBUVdAsaGo8KPDypCl5euAmNjc0IsLDcB7y8 + 4ga9veIF9/f71u3t7f/ExMT/oqKi/2pqav82Njb/JiYm/yoqKv8/Pz//Kyta/xERW/8MDED/Bwco/wQE + Ff8CAgn/AAAC/wAAAP8AAAD/AAAB/wEBA/8BAQf/AgIJ4wEBBZQAAABSAAAALgAAABQAAAAF/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AkZHOFY6OzXyQkM74kpLP/4yM + zP90dML//////+Li4v+/v7//l5eX/1RUVP8qKir/FxcX/yIiIv81NTX/QEBA/wICCv8BAQX/AAAC/YeH + h/7+/v7/tra2/4eHh/9sbGz/bW1t/3t7e/95eXn/c3Nz/1lZWf45OTn+EBAQ+wAAAPwAAAD+AAAA/wAA + AP8AAAD/AAAA+AEBA+0LCxnxGxs6/ysrWP85OXL/PDyD/zQ0iv8xMZL/NDSY/zg4nv8yMp//IiKa/xoa + lP8aGpD/GRmM/xkZiv8YGIb/FhZ4/xERYP8NDUj/CQkx/QcHJ98HByc5DQ1FChERXAYXF30HHh6cCDU1 + pgk3N6cKNTWmCzo6qAs8PKkLQUGrDEVFrQ5GRq0OSEiuD0hIrhFGRq0SR0euE0hIrhRKSq8US0uwFvHx + +Yv+/v/x6+vr/8zMzP+cnJz/UlJS/y4uLv8cHBz/Kioq/zw8PP86Olb/JyeM/xgYdP8PD1T/Cgo2/wYG + IP8DAxD/AQEF/wAAAP8AAAD/AAAA/wAAAf8CAgb/BQUT/wsLJv8SEkD/Ghpf/y4ugf81NZT/l5fO/0lJ + rv/y8vn/goKC/0BAQP8yMk3/NTVO/ygoaP8ZGVn/EBA6/wkJIv8EBBD/AQEE/gAAAf8AAAH+AQEC/AMD + B/cKChPvFBQk4yEhPdUtLVzGMzN4uzo6kbU8PKCxICCbsxQUbbYLCz+6BwcnvQcHJ8GNjczKkJDOxo6O + zcN9fcW/UFCyujY2prc1NaazKiqhsBwcl6sbG4+oGhqMoxsbj6AdHZqcMDCkmE1NsJRubr+Qi4vMjB0d + mog4OKeQs7Pds7W13uS0tN78ra3b/6Gh1f+Li8z/bm6//1dXtP9ISK3/QUGo/z4+pP85OaH/Njad/zQ0 + m/8yMpn/MTGZ/y8vmP8vL5j/MTGZ/y8vmP8sLJf/Ly+Y/y8vmP8uLpf/Li6X/zExmf8xMZn/MTGa/y0t + mv8hIZf/GRmG/xISXP8HByf/Bwcn/wcHJ/8HByfnBwcnhwcHJzAHBycXBwcnGAcHJxYSEl8VGRmEFR0d + mhMrK6ESLy+jES4uohAwMKMPMTGkDjMzpQwwMKQMLi6iCxgYfwsUFG0KIyOeCTMzpQlNTbAIeHjDBqKi + 1gW4uOAEvb3iAvz8/cbw8PD/x8fH/6Ojo/9tbW3/ODg4/ycnJ/8rKyv/Pz8//ysrWv8REVv/DAxA/wgI + KP8EBBX/AgIJ/wAAAv8AAAD/AAAA/wAAAf8BAQP/AQEH/wICC+4CAgmlAAAAUgAAAC4AAAAUAAAABf7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AJKSzw+Ojs1ukJDO8ZKS + z/+Ojs3/eHjD//7+/v/k5OT/wMDA/5ycnP9mZmb/MjIy/x4eHv8iIiL/NDQ0/0BAQP8BAQf/AQEE/wAA + Af7Z2dn/4eHh/5+fn/9zc3P/V1dX/1dXV/9dXV3/Wlpa/1lZWf9JSUn/IiIi+gAAAPgAAAD7AAAA/wAA + AP8AAAD/AAAA/wAAAPkCAgXwDQ0d+RoaN/8pKVH/NDRm/zMzcv8tLXn/LS2B/zAwiP81NZH/NjaW/y0t + lf8dHY//GhqI/xkZhP8YGID/FhZ5/xMTZ/8ODk7/Cws8/wkJMPEHByeOBwcnEQ8PTgMUFGoEGhqNBjAw + pAdDQ6wIQUGrCTo6qAo8PKkKQkKrCkhIrgtMTLAMS0uvDUtLrw5KSq8PSEiuEEhIrhFISK4SSUmvEktL + rxTt7fd8/////+7u7v/Pz8//pqam/2VlZf82Njb/HR0d/yMjI/80NDT/QEBA/zIyh/8iInn/ERFa/woK + OP8GBiH/AwMQ/wEBBf8AAAD/AAAA/wAAAP8AAAD/AgIG/wUFEv8KCiT/ERE+/0REe//+/v7/rq7U/1RU + rf8uLqH/UFCw/2Zmbf9AQED/JydV/zQ0Vf8jI2n/FhZY/w4OOf8ICCH+BAQP/AEBBPwAAAH+AQED/AMD + BvgHBw7yDw8b6BsbLtspKUjNODhovzw8grU9PZWxPT2iriEhnLAVFXCzDAxBtwcHJ7sHBye/jo7Nx5GR + zsOOjs3AfHzFvFJSsrc1NaW0ODimsDc3pqwpKaCoHR2WpBsbi6AaGomdHByPmR4emZQxMaSRT0+xjW1t + vokXF3WFHByQga+v24e2tt6juLjf17a23vixsdz/pqbX/5GRzf94eMH/Y2O1/1ZWq/9MTKP/Q0Oa/zo6 + k/81NY7/MTGK/y4uif8sLIj/KyuH/yoqhv8pKYb/KCiG/yoqhv8rK4f/KyuH/ysrh/8rK4f/KyuI/yws + iv8sLI3/KSmP/yQkkf8bG5D/FRVs/wkJLv8ICCf/CAgn/wgIJ9kICCdxCAgnJAgIJxQICCcVCQktExQU + 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 + Pv9HR0f/XV1d/2JiYv8AAAD/cHBw//7+/v/Gxsb/oaGh/4ODg/9QUFD/Ojo6/yoqKv8mJib/NjY2/0BA + QP8AAAC4AAAA2AAAAO4AAAD6AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAH/AQEC/wEBA/8BAQT/AQEE/wEB + BP8BAQX/AQEH/wICCP8EBAv/BQUM/wUFDf8FBQ3/BAQN/wMDDP8CAgr/AgIL/wICCvYCAgnEAAABbwAA + AEQAAAAlAAAAEAAAAAT+/v4A/v7+AP7+/gD+/v4A/v7+ABMTVgEYGGwBIyOcAUBAqgNERKwERkasBkZG + rQdHR60IRUWsCTc3pgoiIpsKICCOCR4ehhIdHYOMHh6E6MjI4v/09PT/1tbW/7m5uf+Ojo7/WVlZ/zw8 + PP8gICD/Kysr/z4+Pv8wME3/FBRU/w8POP8ICCD/AwMP/wEBBP8AAAD/AAAA/wAAAP8AAAH/AgIH/wQE + Ev8HBx7/DAw1/09PhP/+/v7/29vb/7Kysv94eHj/Nzc3/x8fH/8tLS3/Pj4+/0BAQP8jI0qgFBQ3pxAQ + I8MKChjUBwcU2wYGF9cJCSTKEBA3uB8fUqgzM3CcSEiOk1papI9nZ7SObGy6kG5uvpJvb7+Xamq9mktL + r58dHYOiEBBKpgkJJ6oJCSevh4fKuHx8xbRtbb6wVVW0rDAwo6cjI5mjKCigny8vo5w5OaiXPj6plDk5 + qI8zM6WMJSWehyAgjoMcHHuAHh6BeyQknHgtLaJ0MjKkcDk5qGxGRq1pW1u2ZVJSs2Fqar1elpbLXZCQ + tGN0dIxvYGBxmVZWZdlCQk36KCgw/xQUGP8ICAr/BAQF/wICBP8CAgT/AgID/wEBA/8BAQP/AQED/wEB + A/8BAQP/AQED/wEBA/8BAQP/AQEE/wICCP8EBBD/BgYZ/woKLf8SEk7/GRlv/x8fiP8hIY//Hh6G/xgY + Z/8NDTn/CQko/wkJKP8JCSj9CQko5AkJKFUJCSgPCQkoCAkJKAkJCSgIFBRXBx4egwUjI5gDJCSdAiUl + ngIvL6MB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7A8fHx/8zMzP+3t7f/lJSU/1hY + WP80NDT/LS0t/z8/P/9XV3D/QUF4/yAgTv8NDS3/BQUX/wICCP8AAAL/AAAA/wAAAP8BAQL/AQEG/wIC + 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 + /v/n5+f/ysrK/62trf+EhIT/VlZX/zo6Ov8mJib/NTU1/0BAQP8TEzb/CAgf/wQED/8BAQX/AAAA/wAA + AP8AAAD/AAAB/wICB/8FBRP/CQkk/w8PO/8UFFL/VFSK8/7+/v/i4uL/xsbG/6Skpf9mZmf/S0tL/0JC + Qv87Ozv/QEBA/zMzS6EbGzWgEBAgwAoKE9YGBgzlBQUJ6wYGDOgLCxTcEhIizh0dNrwtLVOnPz90llBQ + k4xfX6uHaWm7hmtrvYlnZ7yNTEywkRgYYZQSEkeZDw88nQoKKKGPj82rj4/Np4aGyaNwcMCfSkqvmjIy + pJcxMaSSNDSljjc3poo4OKeGMTGkgiQkjX4gIH16JCSMdigonHIoKJ1uKiqgay4uomYvL6NjLy+jXzEx + pFw1NaVYNDSlVCUlkFEiIoVRJiZ/WSUlYGghIUKAGBgnoA8PFcEJCQvcAwME7wEBAfsAAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQP/BAQM/woKHP8RETL/FRVN/xoa + ZP8eHnT/IiKE/yQkjv8mJpP/JiaU/yYmlf8lJZH/IiKD/xsbaP8PDzz/Cgoo/woKKP8KCij/Cgoo1goK + KGgKCigU/f39AOrq6gDc3NwA1dXVAM7OzgDDw8MAx8fHAOXl5QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /sDy8vL/ysrK/6Kio/9nZ2j/ODg4/yIiIv8uLi//Pz8//1paZv9oaHz/QkJY/xgYMv8JCRn/AwMK/wEB + Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2FhYf/s7Oz/w8PE/5yc + nf+IiIn/e3t8/21tbv9eXl7/UFBQ/1lZWf+FhYX/srKy/wEBBv8CAgn//////+3t7f/Nzc7/sbGx/4uL + i/9gYGH/SEhJ/ywsLf8yMjL/QEBA/xQUFNAAAADgAAAA9AAAAPwAAAD+AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + 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 + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x8fH/+oqKj/ubm5/6Ki + ov+Ojo7/gICA/3t7e/90dHT/ampq/19fX/9TU1P/Y2Nj/46Ojv82Njv/AwMK/wQEEP//////7+/v/9LS + 0v+3t7f/kJCQ/2ZmZv9KSkr/KSkp/zIyMv9AQED/EhIS5gAAAPEAAAD7FRUV/xISEv8CAgL/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABfr6+gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gBaWloAQEBAAGpqagAjI4UGIiKARyIigMQjI4T/JiaP/yoqnv84OKf/QUGr/0BA + qv88PKn/PT2p//7+/v/t7e3/09PT/729vf+jo6P/fn5+/1NTU/8qKir/MzMz/0BAQP8YGC7/BQUU/wIC + Cf8BAQL/AAAA/wAAAP8AAAH/AgIG/wQEEP8ICB79DAws7wsLKqgKCiVjkZGod//////19fX/6enp/9fX + 1/+7u7v/mpqa/3x8kaAvL3FYExNHYQ4ONHsKCiedCgoawAYGDtoDAwfuAQEC+AEBAvkEBAjwCQkR4BQU + IcslJTy0Pj5gnVxciI10dKqDiYnEf46OzYFlZbuEOzuoiSYmjYwbG2eRERFAlQsLKJmQkM6kkpLOoIuL + y5x8fMWYXFy2k0tLr49SUrKKS0uvh05OsII4OKZ+JiaMeiMjgHcpKZVzKyuebioqm2srK5xmLCygYy4u + ol8wMKNcMjKkWDMzpFU0NKVRNzemTS0toUokJIRKHh5uUxcXVWIQEDZ7CgofnQYGEL8EBAjbAgID7wEB + AfsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgT/BwcO/w0N + H/8WFjf/ISFV/y0tdP8vL4n/JyeR/ygokv8oKJP/KSmV/ykplf8pKZb/KSmX/ykpl/8mJoz/ICB0/xUV + Tv8LCyj/Cwso/wsLKP8LCyj0CwsorwsLKCD+/v4A8PDwANjY2ADHx8cAvr6+AL6+vgDx8fEA/v7+AP7+ + /gD+/v4A/v7+AP7+/sD09PT/1NTU/7m5uf+IiIj/R0dH/yQkJP8wMDD/Pz8//01NU+VhYXH4SUlW/y0t + OP8VFR7/BgYL/wEBAv8AAAD/AAAA/wAAAP8AAAH/AQEC/wEBA/8BAQP/AAAC/wAAAv8BAQL/AAAB+gAA + APUAAAD1AAAA9QAAAPYAAAD2AAAA9wAAAPgAAAD5AAAA+gAAAPwAAAD9AAAA/hoaGv6RkZH/p6en/5qa + mv+Ojo7/gYGB/3p6ev93d3f/cnJy/2xsbP9gYGD/WFhY/21tbf9ycnT/AwMJ/wMDC/8FBRH///////Dw + 8P/V1dX/u7u7/5aWlv9qamr/TExM/ygoKP8yMjL/QEBA/xEREe8AAAD3AAAA/RISEv8NDQ3/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAXDw8MA8PDwAP7+ + /gD+/v4A/v7+AP7+/gD+/v4AlJSUAEBAQABAQEAAIyOBOSMjgbYlJYb9JyeO/yoqm/80NKX/Pz+p/0JC + q/9BQar/PT2p/z09qP/+/v7/7u7u/9TU1P+/v7//f3+k/4KCgv9VVVX/LCws/zQ0NP9AQED/GBgn/wQE + EP8CAgb/AAAC/wAAAP8AAAH/AQED/wICCf8FBRP9CAgc7AYGF64GBhd1DQ0vWZmZtHL//////f39//b2 + 9v/9/f3/wMDB83l5qV9OTqo/OjqLSx8fY2ARET16CwsmnAcHGL8GBg7aBAQH7AICBPYCAgT1BQUJ6gsL + FNoWFiXHJyc+sEBAYppcXIiLb2+ogn5+vX5ycsB/UFCxgisrn4cmJoyLHR1rjxISQpMLCyiXk5PPoZGR + zpyIiMqZb2+/lUVFrZAsLKCMLCyeiCwsoIQ0NKWAPz+qfCsrmnckJIN0KSmVcDAwo2ssLJ5oLCyeZCws + n2AuLqJcYWGTjUVFYao9PVmpPT1Ypz4+V6U9PVWjOjpPpDg4Sqg1NUWwMDA9vSsrM84nJyvfJCQm7SIi + I/cgICH9ICAg/yAgIP8gICD/FBQU/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwME/wkJ + D/8QECH/GRk5/yMjVv8wMHX/NzeN/zQ0mv8rK5z/KiqW/ykplf8qKpb/KiqW/yoqmP8rK5n/KCiR/yUl + hv8fH2//ExNG/wsLKf8LCyn/Cwsp/wsLKesLCymaCwspEAsLKQLq6uoA2NjYAM3NzQDQ0NAA/Pz8AP7+ + /gD+/v4A/v7+AP7+/gD+/v7A9PT0/9XV1f+8vLz/kZGR/1BQUP8lJSX/MDAw/z8/P/87Oz7NU1Nh6kZG + Uf8sLDX/Fxcd/wgIDP8BAQL/AAAA/wAAAP8AAAH/AQEC/wICBf8CAgj/AgIJ/wEBBf8BAQX/AQEF/wEB + BfkAAAHkAAAA4AAAAOEAAADiAAAA4wAAAOUAAADnAAAA6QAAAOwAAADuAAAA8TMzM/l4eHj+jo6O/4qK + iv+Ghob/gICA/3x8fP95eXn/eHh4/3R0dP9ubm7/YmJi/1xcXP9xcXH/Kysv/wICCP8DAwr/BAQQ//Pz + 9Pzz8/P/2NjY/7+/v/+cnJz/cHBw/09PT/8pKSn/MTEx/0BAQP8sLCz7Gxsb/RcXF/8SEhL/DQ0N/wgI + CP8EBAT/AgIC/wEBAf8AAAD/AAAA/wAAAP8BAQH/AgIC/wQEBP8FBQX/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFkpKSAMjI + yAD+/v4A/v7+AP7+/gD+/v4A/v7+ANbW1gBAQEAAJCSCKCQkgaElJYXxKCiP/ysrnP81Nab/Pz+q/0JC + q/9CQqv/QkKr/0FBq/9YWLX//v7+/+vr6//Pz8//ubm5/6CgoP97e3v/UVFR/ysrK/81NTX/QEBA/xcX + If8EBAv/AQEE/wAAAf8AAAD/AAAB/wEBBf8DAwz9BQUR6wQEDr0EBBCOCQkgahERO02jo8Fs//////// + ///+/v7/6+vs84WFtFtQULI4Tk6pPUJCjkgxMWpdGBhFeAsLJ5oGBhW+BAQN2QMDCOsDAwXyAwMG7wcH + DuINDRnQFxcrvCUlRKc2NmSSRUWDhVVVnn1mZrR6dXXCfGFhuX8uLqKEJyeNiCAgc4wTE0WQCwsplZGR + zp+Rkc6ah4fKl3FxwJJJSa6OLy+iii0toIUsLJyBLCycfTY2pnkrK5h1IyN9cSkpkG05OadpLS2gZiws + nGEtLZ9er6/TorOzs/92dnb/QUFB/0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/ + P/8/Pz//Pz8//0BAQP9AQED/QEBA/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMD + BP8MDBD/FhYj/x8fO/8pKVn/NDR3/zs7j/8+Pp7/NDSi/ywsnP8rK5b/KiqV/ysrmP8tLZ7/LCya/ysr + lv8pKZD/JSWD/x4eaf8RETz/DAwp/wwMKf8MDCn9DAwp5AwMKXsMDCkMDAwpAezs7ADd3d0A2dnZAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+wPT09P/W1tb/vr6+/5iYmP9ZWVn/Jycn/zAwMP8/Pz//Li4uxTk5 + QtI7O0T5KSkw/xcXG/8JCQz/AQEC/wAAAP8AAAD/AQEB/wICBP8DAwn/BQUP/wYGE/8EBA7/AwMJ/wMD + Cv8DAwr7AQEE0wAAAcQAAADDAAAAxAAAAMYAAADJAAAAzAAAAM8AAADTGBgY4UxMTPZycnL/eHh4/3p6 + ev96enr/e3t7/3p6ev95eXn/e3t7/3t7e/94eHj/cXFx/2pqav9ubm7/VFRU/wICBv8CAgf/AgII/wQE + Df/Ly83y9fX1/9zc3P/FxcX/pKSk/3h4eP9SUlL/Kysr/zAwMP8/Pz//Pz8//zg4OP8yMjL/KCgo/x4e + Hv8UFBT/CwsL/wUFBf8CAgL/AAAA/wAAAP8AAAD/AQEB/wICAv8GBgb/DAwM/wYGBv8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABUBA + QACfn58A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AJSWDFyUlgosmJoblKCiO/ywsm/81NaX/QUGq/0ND + q/9CQqv/QkKr/0JCq/9CQqv/ZWW7//Pz+f/n5+f/ycnJ/7CwsP+VlZX/c3Nz/0xMTP8qKir/NjY2/0BA + QP8KChH/AgIG/wEBAv8AAAH/AAAB/wEBAv8CAgb9AwMK7gICCcwDAwqjBgYUfQwMKVwXF0tDsLDMZv// + /////////v7+/5OTwVdMTK8zUVGyNlBQqjtERI5HMjJqXCIiSHcRESqZBgYWvQMDC9gCAgfoAwMH7QUF + CecLCxTWExMiwSAgOK0vL1OZQUF0iE5OkH5WVqN5XV2xeG5uvnpgYLh9LS2egScniYYjI3qKFRVKjgwM + KZKBgcedh4fKmIKCyJRvb8CQS0uvizAwo4gvL6KCLi6ffy0tm3ssLJl3KSmOch8fbW8kJH5rPj6qZjU1 + pmMuLqFfLi6hW8rK56vw8PD/s7Oz/2JiYv8vLy//JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk + JP8kJCT/JCQk/yQkJP8qKir/NjY2/0BAQP9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8EBAT/Dg4R/xwcJv8pKUD/MjJd/zo6ev8/P5D/QkKg/z8/qP8yMqT/LS2b/ysrl/8uLqD/MzOl/y4u + oP8sLJr/KyuW/ykpkP8lJYL/HBxh/w8PM/8MDCn/DAwp/wwMKfwMDCneDAwpWQwMKQ7+/v4A9fX1AOjo + 6AD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/sD09PT/19fX/8DAwP+dnZ3/ZWVl/zQ0NP8vLy//PT09/ykp + KcwZGR2/Kysy8SQkKf8VFRn/CQkL/wICAv8AAAD/AAAA/wEBAv8DAwf/BgYO/woKGf8KCiP/CAge/wQE + D/8FBRD/BQUR/wMDCsoBAQOjAAAAmgAAAJ0AAACfAAAAogwMDLEiIiLQNzc38FJSUv9jY2P/bm5u/3R0 + dP92dnf/d3d4/3l5ev96env/fX1+/4CAgf+BgYL/fHx9/3t7e/+BgYH/cHBw/wkJCv8BAQT/AQEF/wIC + Bv8DAwn9ysrL9Pn5+f/f3+D/ysrK/6qqq/+BgYL/WFhZ/y8vL/8vLy//PT09/zU1Nf8hISH/Hh4e/xoa + Gv8UFBT/Dg4O/wgICP8EBAT/AgIC/wEBAf8AAAD/AAAA/wAAAP8BAQH/AwMD/wgICP8ICAj/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAA + AAVAQEAAQEBAAHFxcQDV1dUA/v7+AP7+/gAnJ4YBJyeGCyYmhHQnJ4ncKiqR/C4un/88PKn/SEiu/0tL + r/9ISK7/RESs/0NDrP9CQqv/Q0Os/09PsP/z8/n/39/g/8DAwf+lpab/ioqL/2pqa/9GRkb/Kysr/zg4 + OP9AQED/AwMH/wEBA/8AAAH/AAAA/wAAAf8BAQP9AgIG8gEBBdcCAga1BAQNkAgIHGwQEDVNHx9aOLi4 + 1WL//////v7+/9fX5pVGRq0uS0uvMVBQsjRPT6o5RUWORTMzaFkiIkZ0FRUsmAsLGLwEBAzXAgIH5gIC + COgFBQzdDg4ayBsbLrEtLUmcQEBoi1BQiH1aWp92XFyrdFtbs3RdXbd3UFCyeykpjX8iIneDJSV/hxcX + T4sMDCmQYWG5mWJiuZVnZ7yRYmK5jURErIguLpuFLi6bgC0tmXwtLZh4LCyXdCsrkHAdHWJsHR1jaC4u + nWQ9PalgMzOkXDAwoljMzOiq/v7+/7u7vP9iYmT/Ly8w/xsbHP8WFhf/FRUW/xUVFv8VFRb/FRUX/xYW + F/8WFhf/FhYX/xUVFv8RERH/GBgZ/ycnJ/88PDz/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BAQF/w8PEv8hISj/NDRE/0JCZP9ISID/SUmU/0hIov9ISKv/Pz+p/zAwov8uLp3/Ozuo/0JC + q/87O6j/MDCi/y4um/8sLJT/KiqN/yUlfP8aGln/DAwp/wwMKf8MDCn/DAwp/gwMKc0MDClGDAwpDf7+ + /gDx8fEA/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7A9fX1/9jY2P/BwcL/oKCh/29vcP9ERET/LS0t/zo6 + Ov8nJyfUBgYHvRgYHeUbGx/8EhIV/wkJC/8CAgP/AAAA/wAAAP8BAQL/BAQJ/wkJFf8PDyT/EBA1/w8P + M/8GBhX/BwcX/wcHGf8GBhXRAgIIgBcXF4UhISGZMDAwwDo6OuVAQED/QEBA/0VFRf9UVFT/Y2Nj/29v + b/96enr/gICB/4CAgf+Dg4T/g4OE/4eHiP+JiYr/iIiJ/4eHiP+Ojo7/gICA/xgYGf8AAAH/AQEC/wEB + A/8BAQP/AgIG/Zqam/D9/f3/5OTk/8/Pz/+ysrP/i4uM/2BgYf81NTX/LS0t/zo6Ov81NTb/FxcY/xgY + Gf8WFhf/EhIT/wwMDf8HBwj/BAQE/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wICAv8GBgb/BgYG/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAA + ABUAAAAFREREAEBAQABAQEAAWlpaAISEhAAlJX0BJSV+Bygoh1QpKYrSLCyV+TExo/9ERKz/U1Oz/1VV + tP9RUbL/TEyv/0hIrf9ERKz/Q0Os/0JCqv+Vlc7//v7+/9fX1/+4uLn/nJyd/39/gP9hYWL/Pz8//y0t + Lf86Ojr/OTk5/wEBA/8AAAH/AAAA/wAAAf8BAQL+AQEC9QEBA+EBAQTEAwMKowYGFH0MDCVaFhZBQCUl + aTDAwNxd//////r6/OVCQqspQ0OrLEhIrS5OTrAxTk6pNkZGjUM2NmhXJSVHcxYWKpYLCxe7BgYN1wIC + COQCAgjkBAQO1wsLHb4eHjilOjpajlNTfX1fX5pzZGSsb2Jis29fX7VxXV23dFNTs3gmJoB9GhpZgB8f + aIQYGFCIDAwpjUhIrp0sLJSTJSV7jyQkeYsiInKHHx9pgyMjdX4mJoB6KSmJdisrj3IsLJNuHh5kahUV + R2YhIW9iQECrXjw8qVo0NKVXzc3oqf7+/v+zs7T/aGhr/x4eIv8NDRD/CwsP/wsLD/8LCw//CwsO/wsL + D/8LCw//CwsP/wsLD/8LCw7/CgoN/w4OD/8fHx//Nzc3/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wQEBf8QEBL/JCQp/zw8SP9UVGz/YGCL/11dnv9WVqr/T0+v/0hIrv88PKn/Pj6q/0RE + rf9GRq3/RESs/z8/qv80NKX/Ly+c/y0tlv8qKoz/JCR3/xgYUf8MDCn/DAwp/wwMKf8MDCn/DAwprwwM + KTgMDCkJ5eXlAPn5+QD+/v4A/v7+AP7+/gD+/v4A/v7+wPX19f/Z2dn/wsLD/6Ojo/93d3j/VVVV/yoq + Kv80NDT/MjIy7SQkJOInJyjuKior+ygoKv8kJCX/ISEi/yAgIP8gICD/ISEi/yMjJv8mJi3/Kys3/y4u + Qv8rK0X/MzM6/zIyN/8yMjj/PT0+/kBAQP9AQED/QEBA/z4+Pv86Ojr/NjY2/0JCQv9ERET/NTU1/zEx + Mv8/P0D/T09P/15eX/9ra2z/d3d4/4KCg/+NjY7/jY2O/4eHh/+Tk5P/mpqa/zg4Of8BAQH/AAAB/wAA + AP8AAAH/AAAC/wEBA/15eXr0/////+np6f/U1NT/urq6/5SUlf9paWr/PT0+/ysrK/83Nzf/QEBA/woK + Dv8KCg7/CgoN/wkJDP8HBwr/BQUH/wQEBf8CAgP/AQEB/wAAAP8AAAD/AAAA/wAAAP8BAQH/BQUF/wUF + Bf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAA + AC8AAAAWAAAACAAAAAQAAAAFAAAABQAAAAQAAAADGxtcCiIiczoqKo3FLi6a+D4+qv9aWrb/Z2e8/2Zm + u/9fX7j/Vla0/1FRsv9LS6//Rkat/0RErP9BQaj/zs7o//X19f/IyMn/p6eo/4mJiv9vb3D/SkpL/zQ0 + NP8vLy//PDw8/zAwMf8AAAH/AAAA/wAAAf8AAAH+AAAC+AAAAegBAQPRAgIGsgUFDY4LCxtpFRUxSyAg + UjYsLHkqwcHdXP7+/v/IyN15OzufKz8/oS1CQqIvSEimMkxMozdCQoVDNTVlVyYmRXMXFyuWDAwWuwYG + DdYDAwjjAwMK4gQEDtIICBu4Dw8znCgoWoRHR4J1VVWebFtbsGlaWrNsWlq2bldXtHNUVLN2JSV9ehAQ + NX4PDzOCFRVHhwwMKYtDQ6u7JiZ+nxYWR5EQEDSIDw8whA8PM4AVFUV7GxtZeCEhbXMlJXpwKCiEayQk + d2gTEz1kFxdLXzAwn1w+PqlYOTmnVdDQ6qj+/v7/vr7A/4qKjf9QUFT/FBQa/wEBB/8CAgj/AQEH/wAA + Bv8AAAb/AAAG/wEBB/8DAwn/AAAG/wUFCv8SEhT/HR0e/zY2N/8wMDD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8CAgP9Dg4Q/SQkKf5AQEr/X19x/3Z2lf94eKr/b2+0/2Bgtf9PT7H/QkKr/0ZG + rf9HR63/SEiu/0hIrv9HR63/Q0Or/zc3pv8wMJ7/LS2V/yoqiP8iInD/FhZJ/w0NKf8NDSn/DQ0p/w0N + KfcNDSmVDQ0pLA0NKQXo6OgA/v7+AP7+/gD+/v4A/v7+AP7+/sD29vb/2tra/8TExP+mpqb/gICA/2dn + Z/9ISEj/LS0t/zQ0NP86Ojr/Pj4+/z8/P/9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/z8/ + P/8/Pz//Pj4+/z09Pf88PDz/Ojo6/zk5Of83Nzf/NTU1/zMzM/8xMTH/Li4u/ysrK/8oKCj/JiYm/yQk + JP8iIiL/ISEh/ysrK/8+Pj7/VFRU/21tbf+Dg4P/mZmZ/5qamv+Li4v/jo6O/0FBR/8EBAn/AgIE/wAA + Af8AAAD/AAAA/wAAAf8AAAH+Tk5O/f/////u7u7/2tra/8PDw/+goKD/dXV1/0ZGRv8qKir/NTU1/0BA + QP8QEBX/AAAG/wAABf8KCg//EREU/xISFf8RERL/CAgJ/wUFBf8AAAH/AAAA/wAAAP8AAAD/AQEB/wQE + BP8FBQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAA + AFMAAAAxAAAAGwAAABAAAAAPAAAAEgAAABIAAAAQDw8xExwcWzQgIGivLS2R+0tLrv92dsL/jo7N/5OT + z/+Ghsn/b2+//15euP9WVrT/T0+x/0lJrf9HR6v/QUGl//T09P/k5OT/tra2/5SUlP99fX3/YWFh/zIy + Mv8oKCj/MTEx/z8/P/8kJCX/AAAA/wAAAP8AAAH+AAAB+QAAAe4AAAHbAQEFvwQECZ0ICBJ4EREjWB0d + PEAnJ1gyLCxtK7m50V/+/v7/Kip1MSwseDMuLns2MTF9NzY2gTo5OX9ANzdvSjAwVl4lJT55GBgomgwM + Fb0GBgzYBAQI5AQECeAFBRDQCAgatQwMKZcXF0yBLy93ckRElGtNTaJqTk6kbU1NpnBISKZyQkKmdSgo + g3oNDSh9DQ0ogQ0NKIUNDSiJS0uv9S0tkdYaGlStDQ0pkQ0NKYQNDSl+DQ0peQ4OLnUVFUNxGxtWbSEh + aWkmJntlEhI5YQ8PL10mJntaOTmmVTg4plLR0eqn/v7+/8XFx/+ZmZv/ZmZq/y0tM/8XFx3/GRkf/xkZ + H/8YGB7/Fxcd/xYWHP8WFhz/Ghog/xAQF/8HBw3/FhYZ/x8fH/84ODn/MDAw/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB+wgICfUhISX5QEBK/WVldP+EhJv/k5O1/46Owv96esD/WFi0/05O + sP9MTK//SUmu/0lJrv9HR63/SUmu/0lJrv9FRaz/PT2o/zIyof8uLpT/KSmE/yEhaf8TEz7/DQ0p/w0N + Kf8NDSn/DQ0p7A0NKYANDSkdDQ0pAv7+/gD+/v4A/v7+AP7+/gD+/v7A9fX1/9jY2P/BwcH/pqam/4qK + iv96enr/aWlp/0lJSf8rKyv/Ly8v/zExMf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIy + Mv8yMjL/MTEx/zExMf8wMDD/Ly8v/y4uLv87Ozv/QkJC/zU1Nf8pKSn/KCgo/yYmJv8kJCT/IyMj/yIi + Iv8uLi7/Ojo6/0hISP9ZWVn/bGxs/35+fv+QkJD/oKCg/7i4uP+7u7v/jo6Q/y8vQv8MDB//BwcR/wMD + CP8BAQP/AAAA/wAAAP8AAAD/AgIC/wsLC///////8/Pz/+Dg4P/MzMz/rKys/4ODg/9UVFT/KCgo/zIy + Mv8/Pz//JSUp/w0NE/8PDxX/Dw8V/w0NEv8JCQ3/BQUI/wQEBv8EBAX/AwMD/wAAAP8AAAD/AAAA/wEB + Af8FBQX/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABUAAAANgAAACMAAAAdAAAAIQAAACcAAAAoAwMLKBUVRD8cHFuXHBxa/Skpg/9PT67/bGy9/4SE + yP+ZmdH/m5vS/4aGyf9oaLz/W1u1/1JSsf9KSqv/Rkam/3Bwtf/+/v7/5+fn/8DAwP+jo6P/jIyM/2dn + Z/8wMDD/Kioq/zQ0NP9AQED/GBgZ/wAAAP8AAAD+AAAA+gAAAPEAAAHjAQEDygMDBqoGBgyGDAwXZBYW + KkogID86KChQNCcnUzSmprhr/v7+/4yMkNAyMkR/NTVEjD09QdI/P0HpJCRWUCUlTVomJkNsICAzhBUV + IaIMDBPDBgYK2wQEB+UEBAriBwcQ0gsLHbgPDy+bFhZIhScnZXk2NnxzPDyHcjk5h3U0NIh3Li6LeCsr + inklJXd8DAwlfwwMJoQMDCaJDAwlmVRUs/8yMp//Hx9i9A0NKdENDSmfDQ0pfw0NKXUNDSlyDQ0pbg4O + K2sUFEBmGxtWYw4OLF4NDSlaERE3Vy8vlVMvL5VQ0dHqpv7+/v/Fxcf/mZmb/2dna/8uLjT/GBge/xgY + Hv8ZGR//GRkf/xkZH/8WFhz/FBQa/xYWHP8KChH/CQkO/xcXGf8gICH/Ojo7/zAwMP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoCAgLsEBAS4zk5QfBlZXT9ioqe/6Ghvf+pqc7/mJjP/3x8 + xf9lZbv/Vla0/01NsP9JSa7/SEiu/0pKr/9KSq//Skqv/0lJrv8/P6r/MzOi/y4uk/8oKH7/Hh5f/w8P + Mf8NDSn/DQ0p/w0NKf8NDSneDQ0paQ0NKQ4NDSkB/v7+AP7+/gD+/v4A/v7+wPX19f/V1dX/vLy8/6Cg + oP+Hh4f/gYGB/3t7e/9sbGz/VlZW/zs7O/8oKCj/KSkp/ysrK/86Ojr/PDw8/zs7O/85OTn/MTEx/ykp + Kf8pKSn/KSkp/ygoKP8oKCj/KCgo/y4uLv9LS0v/b29v/3R0dP+Dg4P/g4OD/3Nzc/9+fn7/g4OD/4SE + hP+BgYH/fHx8/3l5ef97e3v/g4OD/42Njf+ampr/qqqq/729vf/Hx8f/qamy/0xMbf8nJ0n/ExMv/wsL + HP8FBQ//AgIF/wAAAf8AAAD/AAAA/wICAv8EBAX/0dHR//n5+f/m5ub/09PT/7i4uP+SkpL/ZWVl/y8v + L/8vLy//Ozs7/zY2OP8SEhn/FhYc/xkZH/8XFxv/Dw8T/wgIDP8DAwb/AgIE/wMDBP8AAAD/AAAA/wAA + AP8BAQH/BQUF/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACBAAAAVwAAAD0AAAAwAAAAMAAAADoAAABFAQECSQkJHlYZGVGTHBxb9RQUQP8bG1T/MTGY/zk5 + pP9MTK//dnbB/5WV0P+Sks//cXG//1xctP9PT6z/Rkal/0BAnP95ebP/8vL3/+3t7f/S0tL/urq6/5qa + mv90dHT/PT09/y0tLf83Nzf/QEBA/wgICP8AAAD+AAAA+wAAAPQAAAHnAAAB0QICBLQEBAiRCAgQbg8P + H1MYGC5AHx87OyAgPT8cHDZHjo6aff7+/v+7u7v/Q0ND/0BAQP9AQED/Pj4/7BERM2kUFDFyFxcsgRgY + JZYRERmvCgoPzAUFCOAEBAfpBAQI5QYGDdYLCxm+DQ0qpBISOpEZGUyHICBZgSEhYIIfH2KDHx9igh8f + Y4IfH2OAGhpUgAoKIYQLCyGPCwsirgsLI9xjY7n/Q0Or/ycne/8TEzr+DQ0p8w0NKcwNDSmPDQ0pbw0N + KWkNDSloDQ0pZA0NKWENDSldDQ0pWQ0NKVYcHFdRISFnTs/P46X+/v7/xsbI/5ycn/9ra2//MTE3/xkZ + IP8YGB//Fxce/xgYH/8ZGSD/Fxce/xYWHf8XFx7/BwcP/woKEP8XFxr/ISEi/zw8PP8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AQEB6wICAtIYGBvDWFhk3oyMn/+mpr7/tLTS/7Oz + 2/+jo9b/h4fK/25uvv9cXLb/UFCx/0pKr/9LS6//SUmu/0lJrv9LS6//SEit/0FBqv80NKL/Li6Q/yYm + dv8aGlL/DQ0p/w0NKf8NDSn/KytE/5aWn+0uLkZhDQ0pAv7+/gD+/v4A/v7+AP7+/sD29vb/2trb/8LC + wv+lpab/i4uM/4aGh/+JiYr/hoaH/4CAgf9ycnP/Wlpa/1lZWf9paWr/a2tr/2lpav9paWr/aWlq/2Zm + Zv9fX1//VFRV/0tLTP9GRkf/RERF/0BAQP8+Pj7/VFRV/35+f/+Pj5D/np6f/4+PkP+NjY7/kZGS/5OT + lP+VlZX/kpKT/4yMjf+Dg4T/fX1+/319ff+FhYX/lZWV/62trf+xsbP9mpq1/3R0n/9aWoP/NTVh/xwc + Qf8RESr/CQkX/wMDCf8BAQL/AAAA/wAAAP8AAAD/AgIC/5GRkv//////7Ozs/9vb2//Dw8P/oKCh/3Z2 + d/9CQkL/LCws/zc3N/9AQED/EhIZ/x0dJP8oKC//JSUs/xgYHv8ODhL/BgYK/wEBBP8AAAL/AAAB/wAA + AP8AAAD/AQEB/wYGBv8GBgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACuAAAAggAAAFsAAABFAAAAPwAAAEgAAABbAAAAawMDC3kPDy+kGhpR7BsbUv8MDCj/DQ0p/y0t + jP8zM53/Njai/0xMrv9+fsT/iIjH/29vu/9YWK7/S0uj/0FBmP84OIv/MjJ7//7+/v/w8PD/2NjY/8PD + w/+kpKX/dHR1/01NTv8wMDD/Ozs7/zg4OP8AAAD+AAAA+wAAAPUAAAHqAAAB1wEBA7wDAwebBgYMdwsL + F1gSEiVEGBgwPRkZMkMUFChSEREgYnZ2fZX+/v7/+fn5/4ODg/86Ojr/Pz8//0BAQP8UFCKaCAgakgoK + GZ4NDReuCwsRwQcHC9cEBAbnAgIE7QMDBukFBQvcCQkUyAoKILINDSqjEBAynBERNpkSEjiXEhI5lxMT + PJQUFD6PFRVAhxISOYsKCh6qCgog2QoKIfYKCiD+c3PB/2Fhuf81NaH/Hx9g/w4OKv8ODir5Dg4q7A4O + KsEODiqIDg4qaQ4OKl8ODipdDg4qWw4OKlcODipTDg4qTw8PL0zNzdqk/v7+/8jIyv+fn6L/b29z/zY2 + Pf8dHSX/GRkh/xgYIP8WFh7/Fxcf/xkZIf8WFh7/FhYe/wQEDf8KChD/Fxca/yIiJP8+Pj7/ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QEBAeoBAQHQBQUFryUlKpd2doe9pqa++7i4 + 1f/CwuL/vr7i/6ur2v+Rkc7/dXXC/2BguP9RUbL/TEyw/0pKr/9HR67/SUmu/0lJrv9HR67/QECr/zU1 + of8tLYr/IyNr/xUVQf8ODir/Dg4q/7S0vP/+/v7/tLS85w4OKkT+/v4A/v7+AP7+/gD+/v7A9vb2/97e + 3v/Jycn/r6+w/5WVlv+QkJH/lZWV/5ubnP+jo6T/nZ2e/4yMjf+dnZ7/paWm/6Wlpv+kpKX/o6Oj/6Gh + ov+goKH/nZ2e/5aWl/+MjI3/fX1+/25ub/9hYWL/UFBR/1NTU/9ycnP/oKCh/62trf+Wlpf/lZWW/5WV + lv+Wlpf/mJiZ/5aWl/+Tk5P/i4uM/35+f/9ycnL/bGxs/3Fxcf99fYOikZHD2o+Pwv6EhLT/a2uc/0RE + d/8lJVT/Fxc5/wwMIf8EBA3/AQED/wEBAf8AAAD/AAAA/wAAAP8xMTH///////Ly8v/i4uL/z8/P/6+v + sP+Kiov/V1dX/yoqKv8zMzP/Pj4//yQkKP8SEhr/NjY9/zs7Qf8kJCr/FBQa/wkJDv8DAwf/AAAD/wAA + Af8AAAH/AQEB/wICAv8GBgb/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOsAAADSAAAArwAAAIQAAABgAAAATwAAAFAAAABgAAAAegEBA5QICBm7EBAv6RUVP/4ZGUv/Cwsh/wsL + H/8hIWf/Ly+R/zMzmv87O5//YmKx/21ttP9bW6n/TU2e/0NDk/84OIX/Ly91/2xslP/Hx9P/9fX1/97e + 3v/Ly8v/rq6v/3R0dP9KSkv/NDQ1/z8/P/8kJCT/AAAA+wAAAPUAAAHrAAAB2gEBA8ECAgShBQUKfwkJ + El0PDx9FFRUrOxYWLD4TEyVPDAwYaQkJEYFhYWaw/v7+/+/v7//IyMj/T09P/zo6Ov9AQED/JCQo1AQE + C7cEBAy/BQUMyAUFCdYEBAfkAgIE7wICA/ICAgTuBAQI4wcHDtQHBxXECAgZuQkJG7YJCRu1CQkcswkJ + HLAKCh+oDAwloxAQM7EQEDLXCgoe8QoKHvsKCh3/CQkb/4CAxv96esT/Xl63/y8vj/8UFD3/Dg4q/w4O + Kv8ODir1Dg4q4Q4OKrMODiqADg4qYQ4OKlYODipUDg4qUQ4OKk0ODipKy8vRo/7+/v/Kysz/oaGk/3Jy + eP86OkL/ICAp/xoaI/8YGCH/FRUe/xMTHP8WFh//FRUe/xYWH/8EBA7/CwsS/xcXGf8jIyT/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkBAQHpAQEBzwEBAaoGBgd+Nzc/apCQ + ppm6utXrx8fk/sjI5//AwOP/sbHc/5eX0f98fMX/ZGS6/1VVs/9PT7H/S0uv/0pKrv9ISK7/R0et/0dH + rP8/P6j/NDSd/ysrgf8gIGD/EREy/w4OKv8dHTf/hoaU/x4eOPIODiquDg4qLf7+/gD+/v4A/v7+wPf3 + 9//e3t//ysrK/7Kysv+bm5z/lpaX/56env+mpqb/s7O0/6qqq/+rq6z/w8PD/8fHyP/IyMj/yMjJ/8fH + yP/Gxsb/xcXG/8TExf/CwsP/vr6+/7S0tf+mpqb/lZWW/4GBgv91dXb/hISF/7Cwsf+1tbb/np6f/5yc + nf+bm5z/mpqb/5mZmv+Wlpf/k5OU/4uLjP95eXr/XFxc8EBAQKBDQ0UhkpLKH5WVzseWlsv9j4/C/3l5 + rf9RUYv/Li5n/x4eSP8PDyz/BgYR/wICBf8EBAT/AQEB/wAAAP8AAAD/AAAA/+Dg4P/4+Pj/6enp/9nZ + 2f++vr//mpqb/21tbv8zMzT/Ly8v/zk5Ov88PD3/BAQL/wAACf8SEhv/DQ0V/wYGD/8BAQj/AAAG/wAA + BP8AAAL/AQEB/wEBAv8CAgL/BwcH/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APsAAADsAAAA1AAAALEAAACIAAAAZwAAAFkAAABeAAAAdQAAAZcFBQ7ECAga7QoKIP0ODin/FBQ7/wsL + Iv8ICBr/EREz/yQkbv8qKoH/LS2J/0NDl/9KSpb/Q0OO/zw8hv80NHr/LCxs/yYmXP+dnbD//v7+//f3 + 9//h4eH/xcXF/6enp/9ubm//RUVG/zk5Of9AQED/DAwM/AAAAPYAAADrAAAB2gEBAsICAgSlBAQIhAcH + D2INDRpEFRUqNBgYMTQUFCdBDQ0bWgkJEX8FBQudVFRXyP7+/v/x8fH/3t7e/5ycnP87Ozv/QEBA/zY2 + N/cCAgXUAgIF2AICBt8CAgXlAgIE7gEBAvQBAQL1AQED8gMDBusEBAjhBAQM1wQEDdEEBAzPBAQLzwQE + DMwFBQ/JBwcWzQwMIt4QEC/xDg4r+ggIGf4ICBj/CAgX/wcHFf+IiMr/iIjL/319xf9QULL/JSVu/xER + Mv8ODir/Dg4q/w4OKv4ODirwDg4q1g4OKqYODip3Dg4qWA4OKkwODipKDg4qSMzM0qL+/v7/zs7Q/6Wl + qf93d33/QEBI/yQkLf8cHCb/Gxsl/xcXIf8TEx3/ExMd/xMTHf8TEx3/AAAL/wsLE/8WFhn/JCQl/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD4AQEB6AEBAc0CAgKoAAAAdwoK + DE9OTlpDrq7HesjI5NTLy+j4ycnn/8TE5f+2tt//n5/V/4GBx/9pab3/Wlq2/09Psf9MTLD/SUmu/0hI + rv9HR6v/RUWq/zs7pP8xMZT/KSl7/x0dWP8PDyz/Dg4q/w4OKv8ODir/Dg4q6g4OKpgODioZDg4qA/7+ + /sD39/f/39/f/8vLzP+zs7T/nZ2e/5ubnP+hoaL/ra2t/7q6u/+9vb7/zMzM/9nZ2v/b29z/3Nzd/9zc + 3P/b29z/2tra/9vb2//a2tr/2dnZ/9jY2P/U1NX/z8/P/8fHx/++vr//ubm5/8PDw//Ozs7/xMTF/7W1 + tv+vr7D/qqqq/6Wlpv+hoaH/m5uc/5SUlf+FhYb/aGho/zw8PP9AQECQQEBAEJmZ0hmWltCymJjQ+5OT + yv+Bgbn/XFya/zY2dv8iIlb/EhI1/wgIFv8MDA7/BwcH/wEBAf8AAAD/AAAA/wAAAP+QkJD//////+/v + 7//h4eH/zMzM/6urrP+FhYX/TU1O/ywsLP81NTX/QEBA/yAgI/8AAAf/AAAK/wAACv8AAAr/AAAJ/wAA + B/8AAAb/AAAE/wICA/8DAwP/BAQE/wgICP8GBgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD7AAAA7wAAANcAAAC2AAAAjwAAAHAAAABlAAAAbwAAAIkDAwm7BgYS6wYGEfwGBhH/CAgY/w0N + J/8MDCP/BwcU/wgIGP8WFkH/GxtQ/yAgX/8nJ3T/MTF4/zQ0dP8uLmv/Jydf/yAgUf8aGkH/IyM//9LS + 1f/y8vL/3Nzc/8zMzP+NjY7/ZGRk/0BAQP89PT7/ODg4/wAAAPYAAADrAAAB2wEBAsMCAgSmAwMGhQUF + C2QKChVHExMmLxsbNigZGTIvEREjRAsLFmUHBw2PBAQHsUxMTtn+/v7/9/f3/+zs7P/Nzc3/d3d3/0dH + R/9AQED/CQkK7gEBAuwBAQPvAQEC8QEBAfUBAQH4AQEB+AEBAvYBAQPyAgIF7QICBucCAgXkAgIF5AIC + BeYDAwfnBAQN7AcHFfUKCh/7Dg4q/w0NJ/8HBxT/BgYT/wYGEv8FBQ//i4vM/4+Pzf+Njcz/dHTB/zU1 + nf8hIWD/FxdD/w4OKv8ODir/Dg4q/w4OKv0ODirsDg4qzQ4OKpgODipqDg4qTQ4OKkPOztSh/v7+/9DQ + 0v+srLD/fHyC/0RETf8oKDL/Hx8q/xwcJ/8aGiX/FhYh/xMTHv8TEx7/EREc/wAADP8LCxP/FRUZ/yQk + Jf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAAOcBAQHMAAAApQAA + AHUAAABKCgoLKnFxgSTGxuFgzMzowMzM6PHKyuj/xsbl/7q64P+kpNf/iIjK/29vv/9cXLf/UlKy/0xM + r/9KSqv/R0eo/0VFpP9BQaD/NDSZ/y8viv8oKHP/HR1V/xAQLf8ODir/Dg4q/w4OKv0ODirlDg4qeg4O + KhT9/f3B9vb2/+Dg4P/Nzc3/tra2/5+fn/+dnZ3/qqqq/7Kysv/BwcH/3Nzc/+7u7v/z8/P/8/Pz//Pz + 8//x8fH/8fHx//Dw8P/w8PD/7u7u/+3t7f/s7Oz/6urq/+fn5//k5OT/4eHh/93d3f/j4+P/4+Pj/9jY + 2P/R0dH/y8vL/8PDw/+7u7v/srKy/6enp/+cnJz/hoaG/2BgYP80NDT/PT09/0BAQOBXV2ZBmZnRnZmZ + 0fqWls7/iYnB/2dnpv87O4H/ISFe/xUVPP8RER//Gxsb/wgICP8BAQH/AAAA/wAAAP8AAAD/ICAg//// + ///29vb/6enp/9nZ2f++vr7/m5ub/2hoaP8sLCz/MTEx/zo6Ov88PD3/BAQM/wAACv8AAAv/AAAL/wAA + Cv8AAAn/AAAI/wAABv8EBAb/BAQF/wYGB/8KCgr/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/AAAAPEAAADbAAAAvAAAAJcAAAB6AAAAcQAAAH4CAgamBQUQ4AYGEPsEBAv/AwMI/wQE + Df8ICBj/Cwsg/wUFDv8GBhL/Dw8r/xMTOv8YGEn/Hh5X/yQkWf8mJlT/IyNM/x0dQv9OTmP/zc3N/8bG + yP+RkZb/2NjY/9LS0v/AwMD/ioqK/1ZWVv85OTn/QEBA/yEhIfoAAADrAAAA2gAAAcMBAQKmAgIEhQQE + CWUICBJIDg4eMBwcOh8hIUIeGBgyLA8PH0cJCRNsBQUJmQMDBb9ISEnk//////39/f/4+Pj/2tra/3x8 + fP5GRkb8JiYn+w4OD/oAAAH4AAAB+QAAAfkAAAH5AAAB+QAAAfoAAAH5AQEC9wEBAvUBAQLyAQEC8wEB + AvUBAQP4AgIG+wQEC/0GBhH/CQka/w0NJf8MDCP/BgYR/wUFD/8EBA3/BAQL/42Nzf+Rkc//k5PP/4WF + yf9SUrP/MDCK/yYmb/8dHVX/FBQ7/w8PKv8PDyr/Dw8q/w8PKvwPDyrqDw8qwQ8PKogPDypcysrQo/7+ + /v/Kys3/qqqu/39/hf9GRk//JiYx/xwcKP8ZGSX/GRkl/xYWIv8TEx//FBQg/xMTH/8AAA3/CwsT/xUV + GP8kJCX/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAADmAAAAygAA + AKQAAAB0AAAASAAAACcAAAAQo6O6D8zM6E3MzOiuzMzo6svL6P/IyOf/vr7i/6qq2f+Ojs3/dHTC/19f + t/9SUrD/S0uq/0VFo/9CQpz/Pz+V/zo6kv8xMY7/Li6G/ygoc/8eHlb/EBAt/w8PKv8PDyr/Dw8q/A8P + KuAPDypb+fn6xPf39//g4OD/zs7O/7m5uf+cnJz/mJiY/5ycnP+lpaX/paWl8ba2tuvIyMjzxMTE+dHR + 0f3+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7////////////+/v7/+vr6//f39//09PT/8vLy/+7u + 7v/p6en/5eXl/+Hh4f/c3Nz/1dXV/8vLy/+9vb3/ra2t/5mZmf9tbW3/NDQ0/zY2Nv89PT3/QEBA/2lp + hLSZmdL5mJjQ/46OyP9xcbD/Pj6J/yYmaP8XF0L/NjY5/x8fH/8ICAj/AQEB/wAAAP8AAAD/AAAA/wAA + AP+wsLD//f39//Dw8P/j4+P/zs7O/6+vr/+FhYX/SkpK/y4uLv82Njb/QEBA/yQkKP8AAAv/AAAM/wAA + DP8AAAv/AAAK/wAACv8AAAf/BQUI/wYGB/8KCgr/DQ0N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP0AAAD1AAAA4QAAAMMAAACiAAAAiAAAAIIBAQKWAwMK0QYGEfgFBQ7/AwMI/wEB + A/8CAgb/BgYN/woKGP8GBhH/BQUN/wwMI/8SEjb/FBQ7/xYWPf8XFzr/GBg2/xYWMP8pKT3/tra3/8TE + xP/MzMz/09PT/87Ozv/CwsL/r6+v/3p6ev9OTk7/PDw8/0BAQP8EBATrAAAA2QAAAMEBAQGlAQEDhAMD + B2QGBg1HDAwaMBcXMB4qKlYVJSVMGBgYMCoODhxICAgRbwQECJ8CAgTFRkZH6v///////////v7+/0JC + Qv8ICAj/Dw8P/wAAAP8AAAD/AAAA/gAAAP0AAAH9AAAB+wAAAfoAAAD6AAAB+gAAAfoAAAH6AAAB+wAA + AfwAAAH+AQEC/wEBBP8DAwf/BQUN/wcHFf8LCx//Cgod/wUFD/8EBAv/AwMJ/wICB/+Pj83/k5PP/5aW + 0P+MjMz/aGi8/zs7p/8zM5L/LCx9/yQkZv8cHE//EhI0/w8PKv8PDyr/Dw8q/w8PKv4PDyrrDw8qtrKy + u7z+/v7/xMTH/5+fpP98fIP/Q0NN/yQkMP8cHCj/FhYj/xYWI/8VFSL/ExMg/xMTIP8TEyD/AAAO/wsL + FP8VFRj/JCQl/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAA + AMoAAACkAAAAcwAAAEgAAAAnAAAADwAAAAPMzOgFzMzoOczM6JzNzenlzMzo/snJ5//CwuT/r6/c/5aW + 0P94eML/YGC1/1BQqP9FRZv/Pj6Q/zo6h/82NoT/NTWG/zExi/8vL4j/Kip4/x8fWf9LS2D/k5Of/x4e + N/8PDyr+Dw8qzerq7dH39/f/4eHh/9LS0v+7u7v/lpaW/4CAgP9/f3//eHh4/1NTU8QAAACuAAAAzwAA + AOcAAAD0AAAA+wAAAP4AAAD/AAAA/wICBP8mJiz/SEhW/09PaP+GhqH/nZ29/8fH3v/Q0Oj///////// + ////////+/v7//X19f/x8fH/7e3t/+jo6P/h4eH/1tbW/8jIyP+ysrL/i4uL/1BQUP8vLy//NTU1/zw8 + PP9AQED/dnaZ+5mZ0f+Xl83/enq3/0hIkv8rK23/QEBZ/0pKSv8cHB3/BwcH/wEBAf8AAAD/AAAA/wAA + AP8AAAD/QEBB///////29vb/6+vr/9zc3P/ExMT/oqKi/2pqav8sLCz/MzMz/zw8PP9AQED/DAwW/wAA + DP8AAA3/AAAM/wAADP8AAAv/AAAJ/wYGC/8ICAn/Dg4O/xMTE/8ICAj/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD+AAAA9wAAAOcAAADMAAAAsAAAAZsBAQGbAgIGwwMDCfUCAgf/AgIG/wIC + BP8BAQL/AQED/wMDCP8GBg7/BQUP/wQECv8HBxX/DQ0l/w0NJv8NDST/Dg4h/w4OHv8MDBr/p6ep/8nJ + yf+7u7v/tra2/729vf+6urr/srKy/5ubm/9zc3P/UFBQ/0BAQP8qKir2AAAA1wAAAMAAAACjAAAAggEB + AmEEBAhFCgoULhISJh0lJUwTQECBDi0tWxYYGDAqDQ0aRwcHD28EBAigAgIExkZGRun+/v7//v7+//T0 + 9P8lJSX/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD9AAAA/QAAAPwAAAD6AAAA+wAAAPsAAAD8AAAA/QAA + AP4AAAD/AAAA/wAAAP8BAQL/AgIG/wMDCv8GBhD/CAgX/wcHFf8EBAr/AgIH/wICBf8BAQT/j4/O/5SU + 0P+WltH/jo7N/29vwP9NTbD/Pj6q/zY2mP8wMIj/Kip3/yIiYf8ZGUj/EBAt/w8PKv8PDyr/Dw8q/w8P + Kv+NjZn0/v7+/729wf+Pj5X/a2t0/zs7R/8iIi//GRkn/xQUIv8TEyH/EhIg/xERH/8RER//EREf/wAA + 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 + /v/+/v7/i4uL/zAwMP4AAAD8AAAA/AAAAPwAAAD9AAAA/AAAAPwAAAD8AAAA/QAAAPwAAAH+AAAB/wAA + Af8AAAD/AAAA/wAAAP8AAAH/AAAB/wEBAv8BAQP/AgIF/wICB/8DAwn/AwMI/wICBP8BAQP/AQED/wEB + A/+Tk8//mJjR/5eX0f+Pj83/cXHA/1lZtf9WVrT/S0uv/z4+qP86Op3/ODiX/zU1j/8yMoj/MjKH/yoq + cP8aGkf/EBAr/4eHlf/9/f3/rKyy/3p6g/9ZWWT/Kys5/xISIv8ODh7/DQ0d/w0NHf8NDR3/DQ0d/w4O + Hv8MDBz/AAAQ/wsLFf8UFBj/JCQm/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD3AAAA5gAAAMkAAACjAAAAcwAAAEcAAAAmAAAADwAAAAMAAAAAAAAAAAAAAADNzekCwcHaEMvL + 5UXMzOfNzMzn/cvL5v/GxuT/trbX/5iYwv90dKb/VVWO/0BAev82NnL/NDR2/zc3g/88PJL/QUGg/z4+ + pf9eXqv/y8vd/0dHbf8QECv/EBAr/8PDyv/4+Pj/5ubm/9bW1v+7u7z/hISF/0ZGRv82Njb/QEBA/y8v + L60AAACBAAAArAAAAM4AAADnAAAA9gAAAP4AAAD/AAAA/wEBAfsMDA77JCQp/z4+Sf9WVm3/TU2C/zMz + if80NIv/NDSL/ysrc/8QECv/EBAr/xAQK/8QECvOEBArS////zD////Q/v7+//f39//v7+//4+Pj/87O + z/+ysrP/f3+A/zs7O/8wMDD/Nzc3/z8/P/9PT1r/gIC7/29vof+rq6v/ZGRn/yYmKv8NDRD/BAQF/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAB/wAAAv+QkJL///////X19f/r6+z/29vc/729vf9/f4D/ODg4/zo6 + Ov8gICn/AAAQ/wgIFv8AAA//AAAQ/wAAEP8AABD/AAAO/wgIEf8ODhD/HBwd/yoqKv8SEhL/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAPMAAADmAQED3gUFDe0HBxP/BQUO/wMD + CP8CAgT/AQEC/wAAAP8AAAD/AAAA/wAAAf8AAAH/AQEB/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/7i4 + 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 + t/9AQJ//QkKm/1dXtf9XV7X/V1e1/1hYtf9ZWbb/WVm2/4+Pvv+tra3/VVVb/yEhKv8HBxD/AAAG/wAA + Bv8AAAb/AAAI/wAACv8AAAz/AAAO/wAAEP8AABL/AAAQ/wYGC/8TExf/KCgq/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMkAAACjAAAAcwAAAEcAAAAmAAAADwAA + AAMAAAAAAAAAAAAAAAAAAAADAAAACwAAABQAAAAdAAAAJgAAACoAAAAlAAAAG0VFThuwsMdCzMzln8/P + 6ejPz+n/y8vn/8LC5P+xsd3/lpbR/3p6xP9lZbv/U1Oz/0ZGrf9RUbL/T0+y/9DQ6f/z8/P/4uLi/9bW + 1v/ExMT/hYWF/zIyMv84ODj/QEBA/zMzM6AAAABoAAAAlwAAAMAAAADfAAAA8wAAAP0AAAD/AAAA/wAA + APoAAADrAAAA0RERFL1QUFzVhISa/ZeXt/+NjcL/dnbA/3p6xP9VVbT/MTF7/xYWNv8RESr/EREq+hAQ + KcsMDB4nAwMIEAAAAAsAAAAI9vb2U//////19fX/6urq/9zc3P/Hx8f/nZ2d/1NTU/80NDT/Ojo6/0BA + QP8kJCz/DQ0V/wYGC/8DAwb/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAH/AQED/wMDB/8LCxH/HBwm/zY2 + Qf9ZWWT/fn6I//X19v///////f39//Dw8P9AQED/JCQ1/yIiNv8fHzP/EBAm/wAAF/8AABb/AAAU/wgI + FP8ODhP/ISEk/zw8PP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP/c3Nz/wcHB/1RUVP8sLCz/KSkp/yUl + Jf8bGyD/ExMs/xwcOv8hIUL/ISFF/x4eQP8ZGTf/EhIs/w4OIv8LCxv/CQkX/wkJF/88PEb/Hx8w/01N + XP9ERFP+8PDx//r6+v/n5+f/29vb/8/Pz//Dw8P/u7u7/6+vr/+mpqb/o6Oj/6Ghof95eXl8AAAAIAAA + ABUAAAANAAAABwAAAAMAAAACAAAAAf7+/gD+/v4A/f39/8TExP9/f3//Ozs7/zk5Of85OTn/OTk5/zk5 + Of85OTn/Ojo6/zs7O/89PT3/ampq/6Ojo//U1NT/zc3N/5aWlv9ZWV7/Pj5B/zo6R/89PUX/Pz9D/0BA + QP9AQED/NzdH/zMzPv8NDSD/BwcQ/wICBf8ICAn/CQkL/wQECf8XFyD/VFRU/zAwPv86OkX/OTld/0ND + hf80NIL/OTmR/zk5jv8gIFH/EBAo/xAQKP8QECn/lpbQ/5mZ0v+ZmdL/kZHO/3V1wv9eXrf/Zma7/11d + t/9NTbD/QkKg/09Psf9ZWbX/WVm1/1hYtP9YWLX/WVm1/1patf+Tk8D/t7e3/1lZX/8lJTD/CgoX/wAA + Df8AAAz/AAAN/wAADv8AABD/AAAR/wAAEv8AABP/AAAW/wAAEv8GBgv/ExMX/ykpK/9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAAAHMAAABHAAAAJgAA + AA8AAAADAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAPAAAAFgAAAB0AAAAfAAAAHAAAABUAAAANVlZhDMXF + 3SXQ0OqJ0NDq6NDQ6v3Ozun/xsbm/7e33/+entT/f3/G/1lZtf9sbL3/g4PH/1ZWtP/e3vD/7+/v/+Hh + 4f/X19f/yMjI/4uLi/8/Pz//ODg4/0BAQP8zMzOkAAAAZgAAAJUAAAC+AAAA3QAAAPIAAAD9AAAA/wAA + AP8AAAD6AAAA6wAAANEFBQWxNzc/sIGBlu2enrr/o6PL/5ub0P+Pj83/YGC4/zs7j/8eHkj/EhIq/xER + Kf8RESjoDg4hWgMDBx0AAAAUAAAADwAAAAr////w+Pj4/+7u7v/h4eH/z8/P/7Gxsf9ra2v/MzMz/zk5 + Of9AQED/KSku/wgID/8EBAn/AgIE/wEBAv8AAAD/AAAA/wAAAP8AAAD/AAAB/wEBA/8DAwj/FBQb/zc3 + P/9kZGz/kJCX/6amrf+jo6v/9vb3///////+/v7/cnJy/y8vOv8kJDn/JSU6/x8fNP8NDST/AAAX/wAA + Ff8GBhP/DQ0S/x4eIf83Nzj/JCQk/wAAAP8AAAD/AAAA/wAAAP8AAAD/lpaW/+jo6P+rq67/MjI0/yoq + K/8vLy//Gxsq/x0dPf8oKFL/Ly9e/zIyZf8vL2L/KipZ/yQkTf8dHUT/GBg6/xQUMv8hITT/LS0//zg4 + UP9ubnr+WFhs9YiIkt7+/v7/8PDw/+bm5v/a2tr/zMzM/7u7u/+vr6//q6ur/6enp/+Hh4d0AAAAFgAA + AA4AAAAHAAAABAAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/v/6+vr/v7+//3x8fP85OTn/NDQ0/zQ0 + NP80NDT/NDQ0/zQ0NP82Njb/Ojo6/2pqav9qanb0mZml/tXV1/+qqrT/MjJr/3p6fv9AQED/Pz8//zw8 + PP88PDz/Pj4+/0BAQP87Oz//Dw8k/wgIEv8CAgX/DAwN/wICBf8GBg3/DQ0b/ygoOf8+PkH/Pj5K/0FB + af8/P5H/PDyQ/0tLp/8/P5j/IyNX/xISKv8SEir/EhIq/5aW0P+YmNL/mJjS/5aW0f94eMP/Zma7/2Vl + u/9dXbf/RUWo/0VFpv9TU7P/WVm2/1patv9aWrb/WVm2/1patv9aWrb/rKza//7+/v/IyM7/nJyl/11d + bP8QECf/AAAX/wAAF/8AABf/AAAX/wAAF/8AABf/AAAX/wAAF/8AABT/CAgQ/xQUGP8pKSv/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAAAKMAAABzAAAARwAA + ACYAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAIAAAAFAAAACgAAAA8AAAATAAAAFQAAABIAAAAOAAAACQAA + AAQAAAAB0NDqDtDQ6mnQ0Ori0NDq+87O6f/Jyef/u7vh/5yc0/99fcb/7e32//7+/v/r6/X//v7+/+3t + 7f/e3t//1dXV/8jIyf+Ojo7/QEBA/zg4OP9AQED/Ly8ztwEBA2kAAACSAAAAvAAAANwAAADxAAAA/QAA + AP8AAAD/AAAA+gAAAOsAAADRAAAArRwcIZVycoS/oqK9/7Cw0f+ystv/oqLW/3Z2wv9ERKX/KChf/xER + Kv8RESn/EBAo8g4OI5gEBAkrAQEBHgAAABYAAAAO/Pz8svv7+//w8PD/5OTl/9TU1f++vr//e3t7/zMz + M/84ODj/Pz8//ycnK/8GBgz/AwMG/wEBA/8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAv8BAQT/BgYL/x4e + Jf9XV13/mZmd/4yMjf+xsbP/v7/F/6Skrf/19fb//////7S0tP8kJDD/FhYt/yEhN/8iIjj/ISEz/wQE + Hf8AABb/AwMQ/w0NFP8aGh3/MjIz/zw8PP8EBAT/AAAA/wAAAP8AAAD/AAAA/xAQEP/o6Oj/xcXK/1JS + Wf8kJCb/MjIy/zY2Nv8pKUX/MjJj/zs7dv9AQIH/QUGD/z4+cf89PVf/PT1L/zY2UP8rK1L/QEBA/z4+ + Qf9DQ1X+j4+P/4+Pmc0GBg9p+fn59fj4+P/t7e3/4uLi/9bW1/++vr7/tbW1/6+vr/+WlpZsAAAADgAA + AAgAAAAEAAAAAgAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7/9PT0/9/f3//Dw8T/f3+A/1RU + VP9OTk7/Tk5O/0lJSf8xMTH/MzM0/zc3N/9CQkL/OTlX/yMjVf9wcJH/pKS1/zg4iP+bm7H/Q0ND/zo6 + Ov83Nzf/Nzc3/zo6Ov8/Pz//LS0//xISJv8JCRL/AwMG/wEBAf8DAwb/CAgQ/xYWJP8jIzr/OjpJ/0BA + Tf9HR43/PT2U/0FBnf9RUa//QUGc/yUlWf8SEiz/EhIs/xISLP+VldD/mZnS/6Cg1f+entT/e3vE/15e + uP9gYLj/VFSz/0VFpf9KSq//VFSz/1patv9bW7b/W1u2/1tbtv9cXLb/XFy2/62t2v/+/v7/ycnP/5+f + qf9sbHv/JSU7/wEBG/8AABn/AAAY/wAAGP8AABj/AAAY/wAAGP8AABj/AAAU/wsLFv8UFBj/Kios/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMkAAACjAAAAcwAA + AEcAAAAmAAAADwAAAAMAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAHAAAACgAAAAoAAAAJAAAABwAA + AAQAAAACAAAAAdHR6gHR0eoI0dHqSNHR6s3R0er50NDq/8jI5/+1td7/qKjY/66u2//+/v7//v7+//39 + /f/v7/D/4ODh/9PT1P/Gxsf/ioqL/z8/P/85OTn/QEBA/ykpMuYFBQuAAAABkQAAALoAAADaAAAA8AAA + AP0AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0ICAmFT09biKGhuu63t9T/vr7g/7Oz3f+Ojs3/WVm0/zIy + eP8TEy7/EBAo/xAQJvoPDyTQBQUMPQEBAicAAAAbAAAAEvf394T+/v7/8vLy/+fn5//Y2Nn/xMTF/4iI + if9AQED/ODg4/z4+Pv8yMjT/BAQJ/wICBf8BAQL/AAAB/wAAAP8AAAD/AAAA/wAAAf8AAAL/AgIF/wwM + Ef8vLzX/f3+D/7u7u/8PDw//ubm5/+Dg4/+0tLz/goKP/9ra3v/+/v7/Tk5b/xAQKP8bGzH/KCg6/0BA + QP82Njz/CAgc/wICFP8ODhn/Fxcb/y0tL/9AQED/HBwc/wAAAP8AAAD/AAAA/wAAAP8MDAz/e3t7/4WF + iP9SUln/KCgq/zMzNP89PT3/ODhG/z09Uv9BQVH/QUFK/0BAQP9AQED/QEBA/0BARP89PVT/OTlW/0BA + QP9AQED/Q0ND/4aGhv+wsLHFZWVmUfDw8Mz/////9fX1/+zs7P/p6er/ycnJ/7u7u/+mpqZnAAAABwAA + AAQAAAACAAAAAf39/QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+//X19f/n5+f/2tra/8bG + x/+pqar/nJyd/5iYmf+RkZH/b29w/zIyMv82Njb/Ozs7/z4+V/8wMHP/c3OU/6iorf9lZaz/vr7K/1xc + XP86Ojr/T09P/zMzNP83Nzf/PDw8/0BAQP8jIzD/ISEm/ykpKv8kJCX/Hh4f/zY2N/9AQED/QEBA/0BA + QP9AQED/QEBT/z09k/9HR6f/U1Ow/0JCnf8mJln/EhIs/xISLP8SEiz/lpbR/5+f1f+oqNn/oKDV/3p6 + xP9eXrj/XFy3/0pKrv9NTbD/UVGy/1VVtP9aWrb/W1u3/1tbt/9cXLf/XFy3/11dt/+urtv//v7+/8jI + zv+fn6n/bm5+/zExSP8UFC7/CAgj/wAAG/8AABr/AAAa/wAAGv8AABr/AAAa/wAAFv8LCxb/FBQZ/yoq + LP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAA + AHMAAABHAAAAJgAAAA8AAAADAAAAAAAAAAD6+vowuLi4kAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAgAA + AAIAAAABAAAAAQAAAAEAAAACNDQ7BJWVqA7AwNg9ysrjrszM5e/IyOT/xMTk/8LC5P+yst3/7Oz3//// + ////////9PT0/+jo6P/Z2dr/yMjJ/4eHiP8/Pz//OTk5/0BAQP8oKDL8CgoXwwICBqEAAAC4AAAA2QAA + APAAAAD9AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAgICgSwsM2mSkqirurrW/8bG4//AwOP/pKTX/3R0 + wf8+PpT/HBxD/xERKP8QECb/Dw8k7gkJFVsCAgYuAAAAHgAAABXl5eVZ//////Pz8//p6en/3Nzc/8nJ + yv+Tk5T/SkpK/zg4OP8+Pj7/MTEz/wMDBv8BAQP/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAH/AQED/wUF + Cf8VFRn/RkZK/6urq/9bW1v+AgID/r29vv/t7e//wcHI/4yMmf9ZWWv/q6u0//7+/v/+/v7/m5uc/0tL + Tf9AQED/QEBA/zw8Pv8lJS//Dw8c/xUVGv8rKy3/QEBA/yAgIP8AAAD/AAAA/wAAAP9FRUX/R0dH/8PD + w/9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QUFF/0FBRv8+Pj7/Pz8//0BAQP9AQED/Pz9O/z8/ + YP9AQED/Pj4+/z4+Pv+Dg4P/r6+v/2ZmZij9/f3x/f398f7+/v/7+/v//f39/9DQ0PC6urpTAAAAAgAA + AAHW1tYA6enpAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP/////4+Pj/8PDw/+np + 6f/e3t7/1NTU/9DQ0f/Nzc7/ysrL/8TExf+ampr/VFRU/zk5Of9NTU3/fX2S/6ampv+ysrL/zc3N/83N + zv+CgoL/hYWG/3d3d/9XV1f/Ozs7/zo6Ov9AQED/NTU6/0BAQP9AQED/QEBA/2FhYf+Li4v/lJSU/4OD + g/9YWFj/QEBA/0BAQP9ERJv/TU2p/1RUsf9CQpz/JiZZ/xMTLP8TEyz/ExMs/5qa0v+lpdf/qKjY/5ub + 0v92dsL/XV23/1NTs/9MTK//U1Oz/1NTsv9UVLP/W1u2/1tbtv9bW7b/W1u2/1tbtv9bW7b/rq7b//7+ + /v/Hx87/nZ2o/2trfP8xMUj/HR03/xkZM/8NDSn/AAAd/wAAG/8AABr/AAAb/wAAGv8AABb/CgoW/xQU + Gf8qKiz/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAA + AKMAAABzAAAARwAAACYAAAAPAAAAAwAAAAAAAAAA/v7+QO7u7v+pqakwAAAAAAAAAAAAAAAAAAAAAAAA + AACUlJQA2NjYAPv7+wAAAAACAAAABQAAAAkAAAANQ0NMGZWVqD+5udGWwcHc5MjI4v/MzOb/x8fm/7i4 + 4P+goNX/4eHy//f39//s7Oz/39/f/8zMzf+Hh4j/PT09/zk5Of9AQED/KCgy/wwMG/MGBg7LAQECwgAA + ANkAAADwAAAA/AAAAP8AAAD/AAAA+gAAAOsAAADRAAAArgAAAIEQEBJabW19abe30efHx+L/xsbk/7S0 + 2/+MjMr/Tk6s/ykpX/8SEij/EREm/xAQJPkMDB2HBQULNgAAACIAAAAcxMTEU/7+/v/09PT/6enq/97e + 3//Nzc3/mZma/1BQUP84ODj/Pj4+/zExMv8CAgT/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wIC + Bf8KCg7/ICAk/2BgYf+RkZH/AQEB/gQEB/7AwML/8vLz/8LCyP+NjZn/UVFk/yIiO//i4ub///////7+ + /v/+/v7/tbW1/0FBQf9AQED/PDw+/xAQH/8XFxz/LCwu/0BAQP8QEBD/AAAA/wAAAP8AAAD/ICAg/2Ji + Yv/m5ub/R0dI/0BAQP9AQED/Pz8//zw8Pf87Ozv/Ojo6/zo6Ov85OTn/OTk5/zo6Ov88PDz/Pj4//0FB + c/5oaGz9YWFh/zo6Ov87Ozv/aGho/52dnbMAAAAI/f390f7+/vD+/v7//v7+//39/aDR0dEhzc3NANDQ + 0ADd3d0A8fHxAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD///8A////AP///wD//////Pz8//b2 + 9//y8vL/6urr/+Xl5f/k5OT/4uLi/+Dg4P/d3d3/3Nzc/9DQ0P+AgID/bm5u/52dnf+0tLT/tra3/87O + z/+3t7f/oaGi/729vf+goKH/hoaH/4WFhf+NjY7/hISE/yIiNP+lpaX/o6Oj/62trv/g4OH/+Pj4//r6 + +v/y8vL/ubm5/2tra/9AQED/R0eZ/01Npv9SUq//Q0Ob/yYmWf8TEyz/ExMs/xMTLP+fn9X/paXX/6Oj + 1v+Sks//dXXC/1dXtf9LS63/UVGy/1ZWtP9VVbT/VVW0/1hYtf9ZWbb/Wlq2/1patv9ZWbb/WVm2/6ys + 2v/+/v7/x8fO/52dqP9sbH3/NDRM/yEhO/8hITv/HBw3/xMTL/8EBCL/AAAd/wAAHP8AABv/AAAX/woK + Fv8UFBn/Kios/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH6AAAB6gAA + AcsAAACjAAAAcwAAAEcAAAAmAAAADwAAAAMAAAAAAAAAAP7+/kD+/v7/5eXlMAAAAAAAAAAAAAAAAAAA + AAAAAAAAnp6eAL+/vwAAAAABAAAABAAAAAsAAAATAAAAHAAAACMZGRwqZWVzQ6Ojuoi9vdXWycni/8zM + 5f/Jyef/vLzi/+jo9f/5+fn/7e3t/+Hh4f/Pz8//iIiI/z4+Pv86Ojr/QEBA/ygoMv8MDBz/CAgS8AMD + B9gAAAHdAAAA8AAAAPwAAAD/AAAA/wAAAPoAAADsAAAA1AAAALIAAACHAgIDXTIyOU2hobiivb3X+b+/ + 2v+3t9f/nZ3K/2lpsv8yMnb/EREn/xAQJf8QECT9Dg4hvAYGDkcAAAEvAAAALKKiomT+/v7/9PT0/+rq + 6v/f39//z8/P/56env9UVFT/ODg4/z4+Pv8xMTH/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wEB + A/8FBQj/EREU/y8vMf9tbW3/Ly8v/gICBP0ICAz+wsLF//Hx8v+9vcX/ioqY/1FRZf8iIjz/JSU+/5qa + pf////////////7+/v/+/v7/fX19/zU1Ov8UFCL/Gxsg/zAwMv9AQED/AAAA/wQEBP8cHBz/GBgY/zQ0 + NP9UVFT/qqqq/5mZnf9sbHX/QEBC/19fX/9PT0//QEBA/zw8PP9GRkb/T09P/09PT/9TU1P/XFxc/2Vl + Zf9RUX7fk5OT/7Gxsf9lZWX/SUlJ/2FhYf+RkZGw3NzcAP7+/pD+/v7//v7+//7+/sD+/v4g6urqAOTk + 5ADq6uoA+fn5AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A////AP///wD///8A//////// + ///7+/v/9/f3//Ly8v/w8PD/7+/v/+/v7//u7u7/7e3t/+7u7v/u7u7/6enp/+Tk5P/U1NT/srKy/52d + nf+vr6//gYGB/5qamv/Gxsb/t7e3/6qqqv+6urr/1tbW/+jo6P97e4X/wcHE//7+/v/9/f3/+/v7//7+ + /v/+/v7//v7+/8fHz/+9vb3/aGho/0ZGkv9NTaT/UlKu/0NDmv8lJVb/ExMs/xMTLP8TEyz/mJjR/5eX + 0f+Tk8//i4vM/3FxwP9MTK3/TU2v/1JSsv9WVrT/VVWz/1dXtP9YWLX/V1e1/1hYtf9aWrb/Wlq2/1hY + tf+rq9n//v7+/8bGzf+cnKj/a2t9/zAwSf8cHDj/HR04/x0dOP8fHzr/FhYy/wgIJv8AAB7/AAAd/wAA + F/8KChX/FBQZ/yoqLP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/gEB + A/YCAgTbAQEDsAEBAncAAABHAAAAJgAAAA8AAAADAAAAAAAAAAD+/v4w/v7+YAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANXV1QDV1dUAAAAAAgAAAAgAAAASAAAAHwAAAC8AAAA8AAAAQQYGBz9AQElJlJSmer29 + 08vKyuL4zs7n/8rK5//t7ff/+vr6/+7u7v/j4+P/0tLT/4qKiv8+Pj7/Ojo6/0BAQP8oKDL/DAwc/wgI + E/4FBQvyAQED5wAAAPEAAAD9AAAA/wAAAP8AAAD7AAAA7QAAANgAAAC5AAAAkgAAAGsODhBTW1tnY6am + veGursb8q6vF/5ycvf93d6z/OjqE/xcXNf8PDyP/Dw8h/w0NH+YHBxBqAQEDSwAAAEmCgoJ9/v7+//T0 + 9f/q6uv/4ODh/9HR0v+hoaL/V1dX/zk5Of8+Pj7/MDAx/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wAA + Av8DAwX/CwsO/xwcHv9CQkL/S0tL/wAAAf0EBAf9DQ0V/8XFyv/u7vD/tra//4WFk/9OTmP/ISE8/xgY + NP8gIDv/RkZc/8fHzv////////////7+/v+/v7//RkZK/zExM/8+Pj7/Pj4+/ygoKP9ISEj/VlZW/29v + b/+IiIj/jo6O/5CQkP+Dg4P/a2tt/1ZWV/91dXX/d3d3/3Z2dv+AgID/jY2O/5KSkv+RkZH/mpqa/6Wl + pv+ysrP/pqam/87Oz//i4uL/tra2/4eHh/9ycnL/f39//76+vjD+/v4w/v7+wP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP///wATEywKExMsJv// + //////////////7+/v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//r6+v/39/f/8PDw/+Dg + 4f/R0dL/r6+v/2tra/+Dg4T/xMTF/7e3t/+zs7P/zc3N//r6+v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/f3+D/c3N3/ywsOf9fX3P//v7+/7W1tf9DQ4z/S0uf/1NTrP9CQpn/JSVU/xMTLP8TEyz/ExMs/5yc + 0/+cnNP/l5fR/5GRzv9ra73/S0un/1JSs/9SUrP/VVWz/1dXtP9ZWbb/W1u2/1lZtv9ZWbb/Wlq2/1tb + t/9aWrb/rKza//7+/v/Gxs3/m5un/2hoe/8uLkj/Gxs4/xkZNv8bGzj/Hh46/x0dOf8YGDX/Cgop/wAA + H/8AABj/CgoV/xQUGf8qKiz/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8CAgT+BAQI9QUFC9gFBQycBQUKXQICBCoBAQMQAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADn5+cA6+vrAAAAAAIAAAALAAAAGQAAAC0AAABEAAAAWAAAAGAAAABcAAAATiws + MUiMjJxovr7Uu8zM5fHPz+n/8fH5//n5+v/u7u7/5OTk/9TU1f+MjI3/QEBB/zo6Ov9AQED/Kys4/w0N + HP8JCRP/BQUM/QICBfYAAAH0AAAA/QAAAP8AAAD/AAAA+wAAAPAAAADdAAAAxAAAAKIAAACBAgICaRIS + FF52doaxkpKl9JKSpv+Li6P/dXWZ/0VFg/8eHkT/DQ0e/w0NHf8MDBv6BwcQmwICBHEAAABwbGxspP7+ + /v/09PT/6urr/+Hh4f/U1NX/pKSl/1paW/85OTn/Pj4+/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + Af8BAQT/BwcK/xMTFv8pKSr/RERE/wgICP0CAgP7CQkP/RQUIf/Jyc7/6urs/7Cwuv+AgJD/SEhf/yAg + PP8YGDX/KipF/ygoQ/8dHTn/UFBl/+Dg5P///////v7+/6mprf/+/v7/5ubm/8PDw//Hx8f/09PT/+Hh + 4f/7+/v/+fn5//b29v/z8/P/7+/v/9nZ2f+/v8D/1NTV/9jY2f/U1NT/0NDR/9HR0v/R0dL/0tLT/9bW + 1//c3Nz/39/f/8bGxv/k5OX/6enp/9nZ2v++vr7/mJiY/4KCgv+np6eA5+fnEP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AB0dQQgYGDYiFBQsURQU + LJq+vsXyxsbM/sbGzv/Fxcz/xMTK/8TEyv/ExMr/z8/i/9LS6f/T0+v/1NTs/9XV7P/V1ez/39/w//n5 + +v/x8fH/5ubn/9jY2f+Ghof/dXV1/6ysrf+1tbX/tLS0/7S0wf/Hx9P/yMjQ/8TEyf/BwcT/wMDB/7+/ + wP+/v8D/UFBS/wQECv8JCRX/EhIn/7m5xf+goLn/Pj6G/0tLnP9UVK3/RUWc/ycnV/8UFCz/FBQs/xQU + LP+trdr/tLTd/7a23/+srNr/enrE/1BQsP9dXbf/Y2O6/2BguP9fX7j/Xl63/11dt/9bW7b/WFi1/1lZ + tf9ZWbX/WVm1/6ys2v/+/v7/xsbN/5qap/9paXz/MjJN/x0dOv8ZGTf/GRk3/xwcOf8dHTr/HBw5/xcX + Nf8LCyv/AAAb/woKFv8UFBn/Kiot/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AgIE/wQECf8HBw/7CgoW5QwMGagLCxlZDAwbJg0NHQkUFCwBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5ubmANbW1gAAAAADAAAADQAAAB0AAAA1AAAAUQAAAGoAAAB2AAAAdAAA + AGUAAABMISElOoeHllDAwNerzMzl6vPz+f/4+Pj/7u7u/+Xl5f/W1tf/jo6O/0FBQf86Ojr/QEBA/zMz + Sv8PDyD/CQkT/wUFDP8DAwb9AQEC+wAAAP0AAAD/AAAA/wAAAPwAAADzAAAA5QAAANEAAAC4AAAAnwAA + AIsDAwSAJyctkWVldOVubn79bGx9/2Njef9ISGv/ISFH/woKFv8KChb/CQkV/wYGDc4CAgOiAAAAn2Vl + Zej+/v7/9PT0/+rq6v/h4eH/1NTV/6ampv9eXl7/OTk6/z4+Pv8wMDD/AAAA/wAAAP8AAAD/AAAA/wAA + Af8BAQP/BAQH/w4OEf8fHyH/NTU1/x8fH/4AAAD6BQUI+w4OGP4cHDD/y8vS/+Xl6P+rq7X/fHyM/0pK + Yf8dHTr/GRk3/x4eO/8gID3/EBAv/wAAH/8CAiP/gICQ//Hx8v9TU1v/8vLy///////+/v7//v7+//7+ + /v/+/v7//v7+//39/f/7+/v/+Pj4//X19f/x8fL/7e3t/+rq6v/p6en/5eXm/+Li4//h4eL/4eHi/+Li + 4v/k5OT/5+fn/+Li4//Pz9D/8PDw//X19f/t7e3/29vb/6qqquBdXV1gVVVVAImJiQDBwcEAxcXFAMHB + wQDKysoA4uLiAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAkJFEBICBGBxwcPhwaGjpGGRk4jhkZ + N9QYGDX4GBg2/x0dP/8jI03/Kytf/yoqXf8UFCz/FBQs/zAwav9bW7b/WVm1/1VVs/9VVbP/VVWz/35+ + xf/9/f3/9fX2/+7u7v/o6Oj/xcXG/3l5ef+JiYr/rKyt/6ioqP9cXJD/MDBm/yMjRf8VFSr/CgoV/wQE + Cf8BAQP/AgID/wEBA/8EBAj/BwcQ/w4OH/8bGzz/LS1j/z09g/9NTZv/W1uu/0pKpP8tLWP/FBQt/xQU + LP8UFCz/uLjg/8LC5P/IyOf/xMTl/6Cg1f9ubr//bm6//35+xv99fcX/eHjD/3Jywf9sbL7/ZGS6/15e + uP9bW7f/WVm2/1lZtf+srNr//v7+/8XFzf+amqj/Z2d8/y8vTP8bGzr/GRk5/xkZOf8cHDv/HBw7/xwc + O/8cHDv/GBg4/wAAH/8LCxr/FBQa/yoqLf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEC/wICBP8EBAr/BwcQ/wsLGf8ODiD7EBAl1xISKIATEyoyFBQtEhQULQYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6QDf398AAAAAAwAAAA0AAAAeAAAANgAAAFQAAABwAAAAfgAA + AIAAAAB0AAAAXQAAAEIRERMwZ2dzN8/P3qz+/v7/+Pj4/+7u7v/l5eX/2NjZ/5CQkf9CQkL/Ozs7/0BA + QP86Oln/HR0//wkJFP8FBQz/AwMG/wEBAv4AAAD+AAAA/wAAAP8AAAD9AAAA9wAAAO4AAADhAAAA0AAA + AMAAAACzAAAAqgICA6cvLzXURUVP90hIU/9ERFD/OjpL/x0dPf8LCxj/BgYO/wYGDf8FBQrvAQEDyw0N + DdVycnL//v7+//Ly8v/q6ur/4eHi/9bW1/+lpaX/Xl5e/zo6Ov8/Pz//MDAw/wAAAP8AAAD/AAAA/wAA + Af8AAAL/AgIF/wkJDf8YGBv/Ly8v/y0tLf8AAAD8AQEB9gkJEfwWFib/JiZB//7+/v/f3+T/p6ey/4CA + kv9ISGL/GRk5/xkZOf8cHDv/GRk5/wAAI/8EBCb/Cgos/wAAIv8aGjH/JiYx/3Z2eP////////////// + //////////////Dw8P9gYGD///////z8/P/5+fn/9vb2//Ly8//x8fH/8PDx/+/v7//u7u7/7e3t/+3t + 7v/u7u//8PDw//Ly8v/z8/P/9fX1//7+/v/+/v7/5eXl0N7e3mDHx8cAgoKCAFhYWABlZWUAlJSUAJ6e + ngCPj48Af39/AH9/fwCGhoYAl5eXAM7OzgD+/v4A/v7+ACYmUwEhIUkGHh5CExwcPTYbGzyFGxs81R0d + QPghIUn/IyNN/yYmU/8qKlz/MjJt/zk5ff9AQIz/LCxg/xQULf8fH0T/RUWY/19fuP9XV7X/VFSz/1RU + s/9/f8b///////j4+P/w8PD/7Ozs/+Li4/+Kiov/bm5v/46Ojv+RkZH/YWGP/zk5a/8mJkj/FhYr/wsL + F/8FBQn/AQED/wEBA/8BAQL/AwMH/wcHEP8NDRv/Fxc0/y0tYv9FRYX/WVmg/2lptf9VVbP/Nzd5/x8f + RP8UFC3/FBQt/8PD5PrMzOj80NDq/83N6f+7u+H/mJjR/319xf+Kisv/n5/U/5ub0v+VldD/jIzM/4CA + x/92dsL/bW2+/2Rkuv9gYLj/ra3b//7+/v/Fxc3/mZmo/2dnff8uLkz/Gho6/xoaOv8ZGTn/HBw8/x0d + Pf8cHDz/HBw8/xoaOv8AACL/DQ0f/xQUGv8qKi3/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wICBP8EBAn/BQUL/wgIEP86OkT/w8PH/xISJv8UFCr/FRUszhUVLW8VFS0mFRUtCBUV + LQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+sA+vr6AAAAAAMAAAALAAAAGgAAADAAAABMAAAAZwAA + AHcAAAB9AAAAdgAAAGUAAABPAAAAPQUFBi7s7O2v/v7+//n5+f/w8PD/6Ojo/9vb2/+SkpL/Q0ND/zs7 + O/9AQED/QUFm/yoqXP8TEyn/BgYM/wMDBv8BAQL/AAAA/wAAAP8AAAD/AAAA/gAAAPoAAAD1AAAA7QAA + AOMAAADaAAAA0wAAAM0AAADKCgoL0yIiJ/MqKjD+KSkv/yUlLf8ZGSf/CQkU/wQECP8DAwf/AwMG/AEB + AukTExP8i4uL//j4+P/r6+v/5ubm/+Hh4f/X19f/oqKi/11dXf87Ozv/Pz8//yQkJP8AAAD/AAAA/wAA + Af8AAAL/AQEE/wcHC/8TExb/JiYo/zc3N/8MDAz+AAAA+AMDBfMPDxz+Hx82/zIyU//+/v7/3Nzh/6io + tP+Dg5T/OztX/xgYOf8XFzj/Gho6/wwMLv8BASX/DAwu/wsLLf8AACP/Cwsk/xcXIP8jIyf/V1dX/6ys + rP/g4OD/8PDw/2BgYP8AAAD/AAAA//Dw8P///////v7+//v7+//5+fn/+Pj4//j4+P/4+Pj/+Pj4//n5 + +f/6+vr/+/v7//7+/v/+/v7//v7+//7+/tD+/v6Q/v7+MP7+/gD+/v4A/v7+APHx8QDKysoAtra2AMvL + ywDf398A3NzcALW1tQCXl5cAdHR0AF1dXQBqamoAJydUASEhSQMeHkIMHBw9KBsbO3scHD3cHx9C+yIi + Sv8nJ1T/Li5k/zU1dP87O3//PT2F/0BAi/9DQ5H/RUWW/0dHmv8pKVn/Gxs6/ywsYP9NTab/Wlq2/1VV + s/9TU7L/fX3F///////6+vr/8/Pz/+/v7//u7u7/mpqa/21tbf96enr/fX19/29vk/9HR3L/KipK/xgY + Lf8MDBj/BQUK/wEBA/8BAQL/AQEB/wMDB/8JCRP/Dw8g/xYWMP8qKlv/U1OL/2hop/94eLv/Z2e7/0ND + kf8sLGD/GRk2/xUVLf/Ly+ik0tLrzNLS6+vOzun7w8Pk/7Oz3f+YmNH/iorL/6en2P+3t9//sbHd/6ys + 2v+jo9b/mJjS/46Ozf+Cgsj/d3fD/7a23//+/v7/xMTN/5aWpf9iYnn/KChH/xUVN/8VFTf/ExM1/xYW + OP8XFzn/FhY4/xYWOP8UFDb/AAAi/w4OIf8UFBr/Kiot/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8CAgX/BwcP/wwMGv8ODh//DAwa/w8PIP8SEib/FBQq/xUVLP4VFS32FRUtxxUV + LWoVFS0eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+AP7+/gAAAAACAAAACAAAABMAAAAkAAAAOwAA + AFEAAABgAAAAaQAAAGoAAABiAAAAVQAAAEoDAwQ+BAQFMPf399f6+vr/8vLy/+rq6v/d3d7/kZGR/0RE + RP87Ozv/QEBA/1NTbv87O3P/HR0//woKFv8DAwb/AQEC/wAAAP8AAAD/AAAA/wAAAP4AAAD9AAAA+gAA + APYAAADyAAAA7QAAAOoAAADnAAAA5gAAAOYKCgzyEhIU/BQUF/8SEhb/Dw8T/wYGDf8CAgT/AQED/wEB + A/8FBQX8BwcH/7m5uf/Nzc3/uLi5/7m5uf/AwMH/xMTF/56en/9cXFz/Ozs8/0BAQP8gICD/AAAB/wAA + Af8AAAL/AQEE/wUFCf8PDxP/ISEj/zg4OP8jIyP/AAAA+wAAAfMICA70GRkq/ioqSP89PWf//v7+/9ra + 3/+rq7j/e3uO/zg4Vf8TEzX/FBQ2/xAQM/8AACT/Bwcr/w4OMf8NDTD/AAAk/wsLI/8VFR//JCQo/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP9gYGD////////////g4OD///////7+/v/+/v7//v7+//7+ + /v/+/v7/+Pj51f39/cH+/v6A/v7+UP7+/hD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/f39ANvb + 2wDMzMwA0dHRANbW1gDY2NgA2dnZAMTExACVlZUAeXl5AB8fQwUdHT4jHBw8dRwcPdMfH0L6IiJJ/ycn + Vf8uLmT/NjZ0/z8/iP9ISJv/TU2m/05OqP9LS6H/SEic/0hIm/9HR5n/QUGM/ykpWP8iIkj/NjZ1/1JS + sP9YWLX/U1Oz/319xP//////+/v7//X19f/x8fL/rq7R/6SkpP92dnn/cHCD/3V1gf9ubpL/Tk52/y0t + Tv8ZGS//DQ0Z/wUFCv8CAgP/AQEC/wEBAv8EBAf/DQ0V/xYWKP8aGjn/JydU/05Oiv92dq7/gIC//3Nz + wP9OTqj/OTl8/yYmUv8VFS36zs7pYtPT62fS0ut0zc3pj8PD5LO8vOHYrq7b8YqKy/+entP/vr7i/8HB + 4/++vuL/ubng/7S03f+urtv/pqbX/52d0//IyOb//v7+/8LCy/+Tk6P/XV11/yMjRP8QEDT/EBA0/xAQ + NP8RETT/ExM2/xQUN/8VFTj/FBQ3/wAAI/8ODiH/FBQa/yoqLf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AwMG/wgIEv8REST/GRk1/x8fQf8cHDr/EhIm/xQUKv8VFSz/FRUt/xUV + LfgVFS3pFRUtuhUVLWcVFS0bAAAAAAAAAAAAAAAAAAAAAP7+/gD+/v4AAAAAAQAAAAUAAAAMAAAAFwAA + ACYAAAA2AAAAQgAAAEwAAABUAAAAVgAAAFUAAABTAAAATAAAAD7w8PDL+/v7//Pz8//r6+z/39/g/5CQ + kf9ERET/Ozs8/0BAQP9gYHP/WVmA/ykpT/8REST/BQUK/wEBAv8AAAD/AAAA/wAAAP8AAAD/AAAA/gAA + AP0AAAD8AAAA+wAAAPoAAAD5AAAA+AAAAPcAAAD3AQEB+AQEBf0GBgb/BgYG/wQEBf8DAwX/AQEC/wAA + Af8AAAH/AQEB/y8vL//+/v7/7u7v/8PDxP+ZmZn/fHx9/3d3d/9tbW3/UVFR/zw8PP9AQED/FBQV/wAA + Av8AAAP/AAAF/wMDCf8MDBL/HBwg/zMzNP84ODj/BQUF/QAAAPYBAQPsEBAd+CQkPP84OFv/TEx6//7+ + /v/Z2d//n5+t/15edv8XFzr/AAAm/wcHLP8AACX/AAAm/wcHLP8NDTH/Cwsv/wAAJf8LCyP/FBQd/yQk + KP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIE/yUlK/9JSVT/UFBh+xkZ + NNESEidzCQkSNQMDBxUAAAAF/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A6urqAOHh4QDl5eUA6enpAOTk5ADc3NwAHx9BAx0dPCUcHDxwHR09wh8fQe4iIkj6KChU/y4u + Yf82NnL/QECG/0hImP9QUKn/Vla0/15et/9eXrf/VVWz/09Ppv9KSp3/SUma/0pKnf8/P4X/KSlW/yoq + WP9ERJD/XFy2/1lZtf+AgMf//v7+//v7+//19fb/r6+v/11dlP9DQ1j/Tk5q/0xMn/9QUJ7/W1uR/05O + df8wME3/Ghou/w4OGP8FBQr/AQEC/wEBAv8BAQH/BQUH/w4OFf8dHSv/JCRD/yYmUf89PYD/dnau/4iI + wf99fcP/Wlq18EdHldM1NW+uIiJHisrK51vOzulXz8/qVszM6FbCwuRbu7vhZ7m54H2entSfiorLw7Oz + 3ePFxeX4xMTl/8HB4/+/v+L/vLzh/7m54P+2tt//19ft//7+/v/Cwsz/lZWl/2BgeP8kJEb/EBA1/xER + Nv8SEjf/EhI3/xMTOP8UFDn/FhY7/xcXO/8AACb/Dg4j/xQUG/8qKi3/QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBv8KChL/FBQn/yAgQf8sLF3/MzNp/y8vY/8jI0n/FhYs/xYW + Lf8WFi3/FhYt/xYWLfUWFi3eFhYtrRYWLV4WFi0ZFhYtBQAAAAD+/v4A/v7+AAAAAAEAAAACAAAABgAA + AAwAAAAVAAAAHgAAACcAAAAyAAAAPQAAAEgAAABQAAAAVQAAAFMAAABG7u7uzfz8/P/09PT/7u7u/+Li + 4/+YmJj/R0dH/zw8PP9AQED/YGB0/3Bwi/89PVr/GBgx/wgIEf8BAQP/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP+SkpL/8fHx/+3t7v/l5eX/ysrL/4iIiP9WVlf/OTk5/zo6Ov89PT3/QEBA/wkJ + C/8BAQX/AAAG/wICCv8KChL/GRkf/y4uMf9BQUH/FxcX/gAAAPoAAAHwBAQJ5xYWLv0sLE3/R0dw/1ZW + i//+/v7/2trf/5ycq/9aWnT/Cwsx/wAAJf8AACT/AAAj/wAAJ/8AACj/BgYt/woKMP8AACf/Cwsk/xQU + Hf8kJCj/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICA/8GBgz/CwsX+Q0N + G9gJCRKUBAQIVwAAAC4AAAAUAAAABf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD8/PwAHR09IxwcO2kcHDuzHh4/4yIiR/cnJ1L/Li5g/zY2 + cf8+PoP/SEiW/1FRqf9XV7T/X1+4/2Rkuv9nZ7v/Z2e8/2Fhuf9VVbP/T0+k/0xMnv9MTJ7/TU2g/zs7 + e/8oKFX/MjJp/05Oov9bW7b/hYXJ//7+/v/7+/v/9vb2/25ub/8/P0P/OTlC/0JCaP9NTaL/SUmZ/1NT + jf9NTXP/MjJO/x0dLv8PDxj/BQUI/wEBAv8AAAH/AAAA/wUFBv8ODhX/HBwr/y4uSP8tLV//MzNq+F1d + oOSKisHChYXInWlpvHxQUKhlPz+EWiwsXFXAwONbwsLkVsbG5lPGxuZOvb3iSbi44Ea5ueBIr6/cToeH + yludndRyxMTlksbG5rTCwuTSwcHk7MDA4/u/v+P/vr7j/93d8P/+/v7/wsLM/5SUpf9fX3j/JSVI/xIS + OP8SEjj/EhI4/xISOP8TEzn/FBQ6/xYWO/8WFjv/AAAn/w4OJP8UFBz/Kiot/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwb/CgoS/xUVKP8kJEP/NjZm/0BAg/9FRY//QUGI/zQ0 + bv8fH0H/FhYt/xYWLf8WFi3/FhYt/xYWLfQWFi3XFhYtoBYWLVYWFi0dFhYtBv7+/gD+/v4AAAAAAQAA + AAIAAAAFAAAACQAAAA0AAAATAAAAHAAAACgAAAA2AAAAQgAAAEwAAABNAAAAQ+/v78z8/Pz/9fX1/+/v + 8P/l5eb/nZ2e/0hISP88PDz/QEBA/2Njdf93d4//TU1h/yMjN/8MDBn/AwMG/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8qKir/5ubm/+jo6f/p6er/4+Pk/9vb3P+1tbb/cXFy/zk5Of87Ozv/Pj4+/zg4 + Of8BAQb/AQEJ/wICDP8ICBP/FhYe/ysrMP9FRUb/NDQ0/wAAAPwAAAD0AQEC5wsLFuUdHTz/LS1b/1BQ + gf9TU5b//v7+/9vb4f+np7T/cnKJ/yUlSP8AACf/AAAg/wAAH/8AACX/AAAp/wMDLP8ICDD/AAAn/wsL + JP8UFB3/JCQo/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgP/BAQJ+wYG + DOUEBAi4AQECggAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+ACAgQwUeHj4fHBw7XR0dPKoeHj7bISFG9SYmT/8tLV3/NTVu/z4+ + gf9ISJb/UVGo/1dXtP9eXrj/ZGS7/2dnvP9oaL3/aWm9/2lpvf9pab3/YmK6/1ZWsv9QUKb/Tk6j/09P + pP9KSpv/MzNq/yoqV/86Onj/VFSu/4WFyv/+/v7/+vr6//b29v9paWn/QEBA/0BAQP9BQUv/UlKr/1ZW + of9bW5D/UFB0/zU1Tv8eHi7/Dg4X/wUFCP8AAAH/AAAB/wAAAP8EBAb/DQ0U/hsbKPsqKkDuMjJY0ysr + Wqw7O3uCfX2vY4+PyU5zc8FIV1e0RkZGkUkzM2pNsrLdWrS03lW0tN5StLTeTq6u20msrNpFsbHcQba2 + 3jyWltA4fn7GOLW13kHHx+ZNwcHkY8HB44S/v+Orv7/jyb+/4eLg4O/6/v7+/8LCzP+Tk6X/XV13/yIi + Rv8PDzf/EhI5/xMTOv8TEzr/ExM6/xQUO/8VFTz/FRU8/wAAKP8PDyb/FRUd/yoqLf9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwMG/wsLE/8WFij/JiZE/zk5aP9JSYf/U1Od/1NT + qf9PT6P/QkKI/y4uXv8WFi3/FhYt/xYWLf8WFi3/FhYt/xYWLfUWFi3PFhYtkxYWLUsWFi0dFhYtBv7+ + /gDFxcUAAAAAAQAAAAIAAAAEAAAABgAAAAwAAAAXAAAAJAAAADAAAAA7AAAAPQAAADfx8fHK/Pz8//X1 + 9v/w8PD/5ubn/6CgoP9ISEj/PDw8/0BAQP9qann/fX2S/1lZZ/8wMD7/FBQe/wUFCv8BAQH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8MDAz/vLy8/+bm5v/s7Oz/5+fo/+Hh4v/R0dL/srKy/4CAgf9JSUr/PDw8/z8/ + P/8pKSz/AQEL/wEBDv8GBhT/EhIf/ycnLv9DQ0b/UFBQ/woKCv0AAAD4AAAA6wMDBtwYGCzrJydQ/zMz + af9ISIr/R0eS//7+/v/b2+H/p6e1/3d3jv81NVb/BAQt/wAAI/8AAB3/AAAg/wAAKP8CAiz/Bwcw/wAA + KP8LCyX/ExMc/yQkKP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEC/gIC + BPICAgPWAAAArQAAAIAAAABSAAAALgAAABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4AISFDByAgQh8eHj5RHh49nB8fQNUiIkb3JiZO/ywsW/80NGv/Pj5//0dH + kv9QUKX/V1e0/19fuP9kZLr/Zma7/2dnvP9oaLz/aGi8/2hovP9pab3/amq9/2hovP9hYbn/Vlax/1FR + pv9PT6P/UVGm/0dHkv8xMWT/Li5f/0ZGkP+Fhcn//v7+//r6+v/39/j/oKCg/z8/P/9AQED/QEBA/1tb + nf9kZKb/YmKT/1BQdP8zM0z/HR0s/w4OFv8FBQj/AAAB/wAAAP8AAAD/AwMF/QoKD/YQEBjkGRklxSUl + N5skJEhzKSlUVF9fmUSYmMw+fn7GQWFhuUVLS5tJOTl0TZ6e1Fmfn9VUnZ3UUZiY0k2Rkc9IlJTQRJ6e + 1ECnp9g9oKDVOXd3wzaSks8xvr7iLMHB5Cq/v+MuwcHkPcDA4VW8vN154uLu0f7+/v/Bwcz/kZGk/1xc + eP8gIEb/Dg44/xAQOf8SEjv/ExM8/xMTPP8SEjv/ExM8/xUVPf8AACr/Dg4m/xYWHv8qKi7/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBv8LCxP/FhYo/yYmRf86Omn/TEyJ/1hY + oP9fX7D/X1+4/1hYtP9NTZ7/Ozt5/yUlTP8WFi7/FhYu/xYWLv8WFi7/FhYu/xYWLvIWFi7IFhYuhhYW + LkEWFi4aFhYuBIGBgQBWVlYAq6urAAAAAAEAAAAFAAAADAAAABYAAAAfAAAAKAAAACoAAAAm9fX1x/z8 + /P/29vb/8PDw/+np6f+pqan/V1dX/z09Pf9AQED/cXF7+oeHmv9iYm//PT1H/yAgKP8MDBP/AwMH/wEB + A/8BAQH/AQEB/wEBAf8BAQH+AAAB+wAAAPgAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AQEB+AQE + BfwGBgf/BgYH/wcHCP8SEhL/lpaW/83Nzf/h4eH/7Ozs/+jo6P/k5OT/y8vL/6Kiov9ra2v/Ozs7/z4+ + Pv9AQED/ExMe/wAAEv8EBBf/EBAg/yMjL/86OkD/Wlpa/ysrK/8AAAD6AAAA8AAAAd8JCRDUKChF9Tc3 + Zf85OXX/Nzdv/zExZf/+/v7/29vh/6entf94eI//Nzda/w4OOP8AACv/AAAh/wAAG/8AACL/CQkz/wwM + Nv8AACv/Cwsm/xMTHf8kJCn/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AfsAAAHsAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gAiIkYHHR07HBwcOUgeHj6NISFDzyMjR/gnJ0//LCxa/zMzaf88PHv/RUWO/09P + ov9XV7H/XV24/2Jiuv9lZbv/Z2e8/2lpvf9pab3/aWm9/2lpvf9pab3/aWm9/2lpvf9ra77/aWm9/2Bg + uf9XV7H/UlKo/1JSp/9TU6r/QUGF/y8vYP83N3H/fX29//7+/v/8/Pz/+fn5/+3t7f9AQED/YmKZ/1lZ + f/9YWHz/b2+s/2Rklf9NTXT/MzNO/x4eL/0PDxj8BgYL/AMDBf0DAwT8AgID+wMDBPQFBQfkCAgLyw0N + E6sbGyeFLy9IZy4uX1JHR5BEh4fGP319xkBcXLdESkqXSDY2b0yOjs1XjIzMU4eHyVB+fsVLc3PBR3Jy + wEN+fsY/i4vLPJeX0Th1dcI1aWm8Mpub0i+6uuArvLzhKLi43COtrc4glJSuJubm6539/f3/vr7K/46O + ov9ZWXb/ICBH/w0NOP8NDTj/Dw85/xISPP8TEz3/FBQ9/xMTPf8TEz3/AAAr/w4OJ/8VFR7/Kiou/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwb/CwsU/xcXKf8nJ0b/PT1q/05O + iv9cXKL/Z2e0/2trvP9qar3/Y2O6/1hYsP9JSZL/NTVq/yEhQv8XFy7/Fxcu/xcXLv8XFy7/Fxcu/xcX + LvEXFy7DFxcueRcXLjUXFy4UFxcuAxcXLgHPz88AAAAAAgAAAAYAAAAMAAAAEgAAABcAAAAYAAAAFvn5 + +cT8/Pz/9vb2//Hx8v/q6uv/r6+w/3Fxcf9CQkL/QEBA/2lpcNyMjJ7wbW16/U1NVv8wMDj/Ghoi/w0N + Fv8ICA//BAQI/wICBf8CAgX/AgIF/wICBPsBAQLwAAAA5wAAAOYAAADmAAAA5gAAAOYAAADmAAAA5gEB + AecICAnuEhIU+xYWGP8nJyf/f39//6+vr//Gxsb/4eHh/+rq6v/p6en/5ubn/8/P0P+ampv/XV1d/zw8 + Pf8/Pz//ODg6/wAAFv8DAxz/DAwj/x8fL/82Nj7/VFRV/1JSUv8AAAD8AAAA9AAAAOYDAwXSFBQj0jc3 + XP1NTXz/SUmO/zIyZP8jI0b//v7+/9vb4f+oqLf/fX2T/0FBY/8ZGUL/EBA6/wAAKP8AABv/AAAa/wAA + Kf8lJUv/AQEu/wsLKP8UFB7/JCQp/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+ACEhQgUfHz8YHh47PR0dO4EfHz/KJCRI9ioqVf8vL13/NTVq/z09ef9GRo3/UFCf/1ZW + rP9cXLb/YWG5/2Vlu/9nZ7v/aWm8/2lpvP9qar3/a2u9/2xsvf9ra73/bW2+/21tvv9ubr7/b2+//29v + v/9ra73/Y2O6/1tbtf9ZWbH/Wlq0/1dXrv9FRYr/RkaN/4KCxP///////f39//v7/P/7+/z/S0tL/4CA + v/9iYon/Tk5f/2Fhi/1gYJH2S0t17zMzUOweHi/pDw8Y6AcHC+oEBAXrAgID6QICAugDAwThBAQG0gkJ + Db0RERigIiIwfzs7UWI+Pm9OQUGDQVtbsT5ubr8/UVGiRDw8d0crK1ZLjo7NVoiIylJ/f8ZOcHDASl9f + uEVbW7VCYmK6Pmxsvjt2dsI3c3PBNFhYrjFoaLwul5fRKqSk1yemptQll5e6Jnd3kS7e3uGc+fn6/7u7 + x/+NjaL/V1d1/yAgSP8QEDv/EBA7/xAQO/8RETz/ExM+/xUVP/8UFD7/ExM+/wAALP8ODif/FRUd/yoq + Lv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQH/wsLFP8XFyr/KChG/z09 + bP9QUIv/Xl6k/2hotf9tbb7/b2+//25uv/9qar3/YGC5/1NTpP9ERIf/Nzdt/ykpUf8XFy7/Fxcu/xcX + Lv8XFy7/Fxcu/xcXLvQXFy7DFxcuahcXLiYXFy4PFxcuBAAAAAEAAAACAAAABQAAAAcAAAAJAAAACgAA + AAn7+/vC/f39//f39//y8vL/6enq/5OTk/9paWn/RERE/0BAQP9HR0qkg4OSsHh4hu5gYGr9SEhR/zU1 + Pv8nJzH/HR0r/xERIv8ICA//BQUK/wUFCv8FBQr/BAQI8wICA9gAAADKAAAAyQAAAMkAAADJAAAAyQAA + AMkAAADJBwcI0RsbHulNTU3/eHh4/5SUlP+wsLH/z8/Q/+vr6//q6uv/6urr/+jo6f/W1tf/mpqa/19f + X/8+Pj7/QEBA/xgYIP8BARn/CQkn/xoaMf8xMT//SkpO/2BgYP8ZGRn+AAAA+AAAAOwAAADYBwcMxicn + P9pMTHP/a2uW/2hopv83N2z/Hx8+//7+/v/b2+H/qam4/39/lv9LS2v/JydO/xcXQf8ODjn/AAAi/wAA + FP8AAB7/JiZN/xkZQv8LCyr/FBQe/yQkKf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+ + /gApKVIBGBgvBBcXLhAXFy4uGRkydh0dOsoiIkT1JiZM/y8vXf87O3b/RESH/0pKk/9RUaH/WFiu/11d + uP9iYrr/Zma7/2hovP9pab3/aWm9/2lpvf9pab3/aWm9/2trvf9sbL7/bW2+/25uv/9ubr//b2+//3Fx + wP9zc8H/dHTC/3V1wv9wcMD/bGy+/3Jywf95ecT/b2+//2ZmvP+Tk8////////7+/v/+/v7//v7+/6ys + wv9gYIP8QEBA/0BAQP9AQED/VFR4zkFBZKcfHzCgDAwTqQUFCLgDAwTFAwMFzQQEBs8FBQfPBgYIyQkJ + DLwODhSpFxcgjygoOHI+PllaUlKASUdHjj9MTJg8U1OlPkdHjUI5OXFGLi5cSpKSz1WLi8xRf3/GTW5u + v0lcXLVEV1esQVlZsD1cXLQ6YGC4NmdnvDNSUqEvUlKiLHBwvymKissmiYnDJXV1oihXV3M01NTYovT0 + 9f+2tsT/iIie/1NTc/8fH0n/EhI//xISP/8SEj//EhI//xISP/8UFED/FRVB/xYWQv8AAC7/Dg4o/xUV + Hf8qKi7/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEB/8NDRX/GRkr/yoq + Sf8/P27/UVGN/15epf9oaLX/bm6+/29vv/9xccD/c3PB/3Nzwf9ubr7/bGy+/2Fhqv9GRon/Ly9d/xsb + Nf8XFy7/Fxcu/xcXLv8XFy7/Fxcu/xcXLvsXFy7DFxcuXxcXLh0XFy4HDw8fAwAAAAEAAAACAAAAAgAA + AAIAAAAC/v7+wP39/f/39/j/8vLz/9/f4P9hYWH/Ozs8/z09Pf8/Pz//OTk5jzc3PUZra3ajcHB96mZm + cP5XV2H/S0tW/0JCUP8yMkr/HR04/wwMF/8ICBH/CAgR/wgIEPwHBw3mAgIEswAAAKQAAACjAAAAowAA + AKMAAACjBgYGqiQkJM9OTk77aGho/4GBgf+goKD/wsLC/+Dg4f/r6+z/6+vr/+rq6//q6uv/0tLT/5yc + nf9paWr/RUVF/zg4O/8AABH/AwMX/xISLP8tLUD/R0dQ/2BgYf9ERET/AAAA+wAAAPIAAADhAQEBxxIS + G7w/P1/oX1+J/3Z2pv9XV6b/MTFg/x8fPP/+/v7/29vh/6amt/92dpD/QUFl/yUlTv8ZGUT/DQ07/wAA + Lv8AABb/AAAQ/wAAJf8lJU7/DAwv/xQUH/8kJCn/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABfr6+gD+/v4A/v7+ACIi + QgEmJksDIiJDCRoaMx0XFy5rFxcuzRcXLvYeHjz/JiZL/yoqU/81NWn/SEiN/1lZr/9dXbf/YGC4/2Vl + u/9nZ7z/amq9/2pqvf9qar3/bGy9/2trvf9ra73/amq9/2trvf9sbL3/bW2+/25uvv9vb7//cXHA/3R0 + wf95ecP/f3/G/4SEyP+IiMr/iIjK/4WFyf+Bgcf/fn7G/3h4w/94eMP/mprS//////////////////T0 + +f99fcTwioqn6kBAQP9AQED/QEBA/zY2PmoNDRRICQkNZgoKDoIICAyWCAgLpAcHCqsJCQytCQkNrQwM + EKgPDxWdFBQdjR4eLHkvL0ZjRERnUFtbjENTU6E8UFCdO1NTpD1RUZ9BQUGARS8vXUmVldBVjIzMUIGB + x01wcMBJXV22RFdXq0FZWa49WlqxOltbsjZdXbUzV1eqL1VVpyxfX7gpbm6/JmdnsSZQUIcrOztcOurq + 69Ts7PD/srLB/4WFnP9OTm//HR1I/xMTQP8TE0D/ExNA/xQUQf8UFEH/FRVC/xQUQf8VFUL/AAAv/w4O + Kf8VFR7/Kiou/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FBQf/EBAX/x4e + Lv8wMEz/RUVy/1ZWkf9jY6j/bGy3/3Bwv/9ycsH/c3PB/3Z2w/93d8P/dXXC/76+4v/i4uL/e3uh/0ZG + iv85OXD/JCRH/xgYLv8YGC7/GBgu/xgYLv8YGC7/GBgu/RgYLvQYGC66GBguWRgYLhb+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/sD9/f3/+Pj4//Pz8//W1tf/UlJS/zw8PP89PT3/Pz8//zs7O4oMDA0lIyMnQl1d + Z4d+fordf3+M/3d3hP9xcYH/ZmZ8/09Pcf8rK1X/EBAf/w0NGf8NDRn/DQ0Z9wsLFdECAgR+AAAAdBsb + G5YpKSmwNTU11EBAQP9ERET/W1tb/3l5ef+YmJj/ubm5/9nZ2f/r6+z/7Ozt/+zs7f/s7O3/6+vs/8XF + xv+cnJ3/eXl5/1tbW/8SEiz/AgIZ/wUFFf8VFST/OjpF/1lZXP9aWlr/BwcH/AAAAPYAAADoAAAA0gQE + BrcjIzW9UFB49mhomv9wcK3/SEiO/ycnTP8YGC70/v7+/9vb4v+jo7X/amqH/ysrVP8QED7/ERE//wsL + Ov8JCTj/AAAj/wAADv8AABX/AAAt/w0NMf8TEx3/JCQp/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAX29vYA/v7+AP7+ + /gAdHToDHBw4GRgYLmQYGC7KGBgu9xgYLv4YGC7/GBgu/xgYLv8YGC7/GBgv/yYmS/8+Pnn/VVWn/19f + uf9sbL7/a2u+/21tvv9ra77/amq9/2trvv9ubr//bm6//25uv/9ubr//bm6//3FxwP91dcL/eXnE/35+ + xv+Dg8j/iIjK/4qKy/+Njc3/jY3N/4qKy/+Ghsr/gIDH/319xv97e8X/eHjD/5OT0P////////////// + ///ExOW3XFy0Q6KivkhAQED/QEBA/0BAQP86OkBcHx8tNxcXIE0SEhpfEREYbw8PFnkQEBd/EBAXghIS + GoIUFB5/GBgleB8fMG0pKUBgOjpcUE1NekRjY5w9a2uzOWNjuDtdXbY9VlaoQUVFh0UyMmJJl5fRVIyM + zE+AgMZMcXHASF5et0NYWKtAWlquPFtbsDlbW7E1XFyzMlhYqy9UVKIsWVmsKF5etSZXV6kmPj55LCcn + TDz5+fr16ent/7S0w/+Li6L/VFR2/yIiTf8YGEX/FhZE/xYWRP8WFkT/FRVD/xYWRP8WFkT/FhZE/wAA + MP8ODir/FRUf/yoqLv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BwcJ/xQU + Gv8mJjL/PDxS/1ZWev9mZpj/cHCt/3Z2vP93d8P/c3PB/3FxwP9xccD/a2u9/2hovP/Z2e7//v7+/7i4 + 2P9mZqf/Tk6X/0JCgP8sLFT/IyNF/ycnTP8YGC7/GBgu/xgYLv8YGC7/GBgu9xgYLuQYGC6vGBguVxgY + LhX+/v4A/v7+AP7+/gD+/v7A/f39//n5+f/09PX/6urr/3Fxcv88PDz/PT09/z4+Pv8+Pj6kMzMzUDEx + MVo3NzlrVVVbkXh4gtGEhJD9g4OP/4CAj/93d4r/YGCA/zs7YP8pKTH/KSkx/ywsM/81NTj8PDw99UBA + QP9AQED/QEBA/z8/P/9FRUX/Xl5e/3t7e/+bm5z/u7u8/9nZ2v/t7e7/7e3u/+7u7//u7u//7u7v/9zc + 3P+5ubr/mpqa/4SEhP9AQFL/AQEq/wcHJ/8NDRz/Fxce/zg4Pf9iYmL/Kioq/gAAAPkAAADvAAAA3AAA + AL8KChCoNjZVx1tbjP51dar/b2+z/zs7cv8hIT//GBguuv7+/v/b2+L/pKS2/21tiv8oKFL/Bwc4/wkJ + Of8JCTn/CQk5/woKOv8AABr/AAAP/wAAHf8MDDD/FBQf/yQkKf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAF7OzsABgY + LgIYGC4cGBguYRgYLrcYGC7sGBgu+RgYLv8YGC7/GBgu/xgYLv8YGC7/Gxs1/xwcNf8eHjr/JiZK/y4u + Wf83N2r/TU2V/2Fhuf9ubr//bm6//21tvv9tbb7/b2+//3FxwP9zc8H/dnbC/3l5xP9/f8b/g4PI/4eH + yv+Li8v/jY3N/4yMzP+Li8v/iorL/4eHyv+Fhcn/hYXJ/4ODyP9+fsb/eXnD83R0wdKhodW3//////// + ///+/v7/4eHxPmVluwy0tLT/WVlZ/0BAQP9AQED/QEBGVDExRScnJzY1Hx8tQR0dKUscHClUGxspWBoa + KlodHS9cICAzWyUlPVcsLEhROTldSkpKdkFcXJI6bW2sOHR0vDdqar05X1+4PFdXqEBJSY1DNTVnR5qa + 0lOOjs1Of3/GS3BwwEdgYLhCW1utP1xcsDtcXLA4Xl60NF9ftjFaWqwuV1enK1xcsCddXbIlVlakJTw8 + cyskJEQ7/v7+/+np7v+4uMb/j4+m/1pafP8oKFT/GhpJ/xYWRv8VFUX/FBRE/xMTQ/8VFUX/FhZG/xUV + Rf8AADH/Dg4q/xUVH/8qKi7/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgI + Cf8XFxv/LS02/0hIWP9paYP/f3+k/4yMuv+QkMf/jY3M/4GBx/95ecP/dHTB/3BwwP9tbb7/dnbC/5GR + zv/Pz+n/9/f3/2Vlq/9bW63/RUWE/zY2Zv8+Pnf/RESC/xgYLv8YGC7/GBgu/xgYLv8YGC7+GBgu8hgY + LtgYGC6hGBguUhgYLhIYGC4C/v7+//39/f/6+vr/9vb2//Dw8f+hoaL/YmJi/z09Pf89PT7/Pj4//z8/ + P/9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8/Pz//Pz8//z8/ + P/8/Pz//Pj4+/z8/P/9WVlb/bGxt/4iIiP+oqKn/yMjI/+Hh4v/u7u//7+/w//Dw8f/w8PH/8PDx/+vr + 7P/Ozs//s7Oz/56env91dX7/AAAu/wQEL/8SEjT/HBwt/yMjKf86Ojv/Ojo6/wAAAPwAAADzAAAA5AAA + AMsAAACpGRkooUtLdNhtbZ//hIS4/2Fhsf8wMFz/HR028RsbNG7+/v7/2dnh/6Cgs/9tbYr/Li5Z/wYG + Of8FBTj/Bwc6/wkJO/8LCz3/AAAs/wAAFv8AABb/CQkj/xISHv8kJCn/Pz8//yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABRgY + Lh0YGC5cGBguqRgYLt4YGC70GRkw/ykpTv84OGr/QUF7/zY2Z/8xMV7/PDxz/0hIiv9KSo3/Pj53/zY2 + aP8rK1L/IyND/ygoTf80NGP/RESC/15esv9ycsH/dHTC/3h4w/98fMX/gYHH/4WFyf+Jicv/jIzM/46O + zf+Ojs3/jo7N/46Ozf+Jicv/hobJ/4WFyf+EhMn/g4PI+IKCyOKCgsi8gYHHjHd3w11xccA2vb3iPvr6 + /bb+/v/h/v7+//7+/vDy8vg0uLi4/1lZWv9AQED/QEBA/0VFTU9HR2YaOztXIzMzTSotLUUxLS1GNiws + RzorK0c8Ly9OPjQ0Vj86Ol4+RERuO1BQgDleXpY2bW2sNHh4uzN4eMA1b2+/OGVluztZWao/TU2TQjo6 + bkacnNNSkZHOTYGBx0pwcL9FYGC1QVxcrT5dXbA6Xl6xN2BgtTNhYbgwW1urLVlZqCpeXrEmXV2wJFZW + oyQ/P3cpJiZJOPX19unt7fH/vr7L/5SUqv9iYoP/LS1Z/xwcS/8WFkb/FhZG/xUVRv8SEkP/ExNE/xMT + RP8TE0T/AAAy/w4OK/8VFR7/Kiou/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8ICAn/GBgc/y8vN/9OTlv/dHSI/5GRrP+jo8X/ra3V/6ys2v+iotb/l5fR/4yMzP+Dg8j/fHzF/3Z2 + wv9ycsD/d3fC/5SUz/9jY7r/a2u9/1tbq/9BQXv/RkaD/19fsv9MTI//LS1V/xkZLv8ZGS7/GRku/xkZ + Lv8ZGS79GRku8BkZLs8ZGS6WGRkuTP7+/v/9/f3/+vr6//f39//y8vP/y8vM/5SUlP9lZWb/PT09/z09 + Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+ + Pv89PT7/TU1N/19fX/90dHX/jY2O/6amp/+/v8D/2dna/+7u7//w8PH/8fHy//Hx8v/y8vP/8vLz//Pz + 8//f3+D/xsbH/7S0tP+KipP/ExND/wICNP8LCzT/Hx87/zExP/8wMDT/QEBA/wwMDP8AAAD5AAAA6wAA + ANYAAAC3AwMElC8vSKRgYI/qfX2w/4iIv/9PT5T/KipN/x8fOrYhIT4y/v7+/9fX4P+amq//Z2eG/yoq + Vv8FBTn/BgY6/wYGOv8HBzv/CQk8/woKPf8AACP/AAAV/wYGF/8QEBr/JCQq/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIBAQIwDQ0YKhgY + K1UZGS6cGRku1SAgPPEmJkf/Li5X/zg4af9CQn7/Tk6T/1dXpf9VVaD/S0uN/0lJif9OTpP/UVGY/1NT + nP9UVJ7/TEyP/zo6bv8wMFr/KipQ/ysrUf87O3D/UlKb/3FxwP+Hh8n/iorL/42NzP+Ojsz/jo7N/42N + zP+MjMz/i4vL/4mJyv+IiMr/hYXJ/4ODyO6CgsfRgoLHrIKCx4KDg8hXhITINX9/xiB2dsIOdnbCA4CA + xgH+/v4A/v7+EP7+/uD+/v7//f398Le3t/9UVFT/Pz8//0BAQP9GRk5KYmKaElVVhhZMTHkaSkp2HkhI + cyJKSnYmSkp4J0pKeylPT4MrVlaMK19fmC1paaYtcnKzLXp6vS9/f8MxeXnDM3BwvzdmZrs6WlqpPk5O + k0E+PnZFnZ3TUZOTz0yDg8hJcHDARGBgs0FdXa49Xl6xOWBgszZhYbcyY2O5L11drixcXKwpX1+yJl5e + sSRZWagjSUmJJi4uVjHX19ut8fH0/729yv+Wlqz/amqK/zo6ZP8hIVD/GhpK/xYWR/8WFkf/ExNF/xMT + Rf8TE0X/FhZH/wAAM/8ODiz/FBQe/yoqLv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgYH/RYWGfwuLjX9T09c/3Z2iv+Wlq7/ra3J/7u72//BweP/vLzi/7a23/+urtv/paXX/5ub + 0/+Rkc//hobK/3h4w/9ra77/dHTB/3Jywf9pab3/SUmJ/0BAef9aWqr/aWm9/1lZpv9ISIf/MTFc/xoa + Mv8ZGS//GRkv/xkZL/8ZGS//GRkv8RkZL8nm5ujp/f39//v7+//4+Pn/9fX1//Dw8f/CwsP/mpqa/3R0 + dP9RUVH/PT09/z09Pf89PT7/PT0+/z09Pv89PT7/S0tL/25ubv89PT7/PT0+/19fX/9oaGn/a2ts/2tr + bP9vb2//fX19/5CQkP+hoaL/uLi5/87Oz//i4uP/8fHy//Ly8//z8/T/8/P0//T09f/09PX/9PT1//b2 + 9v/t7e7/2tra/8fHx/+cnKT/JydU/xQURv8ICDr/Fxc7/zAwRv9LS1X/WVlZ/yYmJv8AAAH+AAAA8wAA + AOAAAADEAAAAoA4OFYZJSW+1cnKl+YyMv/96er7/Oztw/yQkQ/AiIkBiJydJE/7+/v/X1+D/m5uw/2lp + iP8qKlf/BgY7/wYGO/8HBzz/Bwc8/woKPv8KCj7/AAAz/wAAHv8FBRT/EBAa/yQkKv8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQEBAoMFBQliDg4aZxYW + KZgYGC7OGRkv8SYmR/8qKlD/NTVj/0BAeP9LS47/Vlah/19fs/9lZbv/a2u+/2Fhtv9ZWaj/V1ej/1lZ + qP9cXKz/Wlqp/1hYpv9ZWaf/XV2u/1JSm/9FRYH/Q0N+/0pKi/9eXrH/enrE/4qKy/+Njc3/i4vM/4qK + y/+IiMv/hobK/oaGyvaFhcnjhITJyIODyKeDg8h5g4PIT4SEyTGFhckZh4fKCP7+/gD+/v4A/v7+AP7+ + /gD+/v5A/v7+0P7+/gD+/v5w/v7+/+7u7v+mpqb/QkJC/z8/P/9AQEHxV1d1G29vtQ5vb7YQcHC4Em1t + sRVvb7MXcHC1GW1trxxvb7Yebm62IG9vtyJ4eMAkenrBJ3x8wSqCgsgsg4PIMHx8xTJycsE2Z2e8OVpa + qj1OTpNBQUF6RZ6e1FCUlM9Mh4fJSHNzwURiYrdAX1+wPF9fsThgYLI1YWG1MmRkuS9gYLMrYGCzKGBg + syVfX7EjXV2tIU9PkyI5OWop2dnem+/v8/+qqrz/fHyZ/1ZWe/8+Pmj/JSVV/xoaTP8YGEv/FRVI/xYW + Sf8VFUj/FBRI/xcXSv8AADX/Dg4t/xUVH/8qKi//QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wICA/gLCw3uISEn6UNDTuhvb4HqlJSs9K6uyvy+vt3/xsbm/8bG5v/FxeX/wsLk/7+/ + 4v+5ueD/sbHc/6Sk1v+Njcz/jIzM/4yMzP+EhMj/xsbm/+jo7f9PT3z/RER//2xsvv9ubr7/ZWW6/1hY + o/9GRoP/MTFc/xwcNP8ZGS//GRkv/xkZL/8ZGS//yMjN+/39/f/7+/v/+vr6//f39//09PX/7Ozt/8zM + zf+tra7/l5eX/4aGh/94eHj/cHBw/25ubv9vb2//cnJy/319fv+0tLX/QkJC/z09Pf+0tLX/v7/A/8bG + x//Gxsb/w8PE/8vLzP/b29z/7Ozt//Pz9P/09PX/9fX2//X19v/19fb/9vb3//b29//39/j/9/f4//n5 + +f/6+vr/6Ojp/9nZ2f+WlqX/KipY/x8fUP8bG03/EhJE/yoqS/9ERFP/WFhb/01NTf8GBgb/AQEB/QAA + AOkAAADQAAAArgAAAIckJDaCYWGPyYODtv+Xl8n/W1ur/y8vWP0kJEO2JiZHJzAwWgT+/v7/2Njh/5+f + tP9ubo7/Li5c/wYGPf8HBz3/CQk//wsLQf8MDEH/DQ1C/w4OQ/8AACn/BgYa/xAQGv8kJCr/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0gEBArQGBgugDw8bqhcX + KdAjI0H1LCxT/zc3Z/8zM2D/PT1x/0lJiP9VVZ7/Xl6u/2Rkuf9pabz/bm6+/3Bwv/9wcL//bGy+/2Zm + u/9pabz/bm6+/25uv/9tbb7/a2u9/25uvv9xccD/dHTB/2hovP9dXaz/X1+w/2trvf94eMP/goLH/4WF + yfqFhcnthITI2oSEyMKEhMidhITIcISEyEiFhckmh4fJDoiIygNZWVkAU1NTAO7u7gD+/v4A/v7+AP7+ + /gD+/v4A/v7+QP7+/v/+/v6g/v7+8P39/f/u7u7/n5+f/z4+Pv8/Pz//QEBA/0ZGTkh6esQNenrEDnt7 + xBB9fcUSfHzFFHx8xRd8fMUYfHzFG3l5wx56esQgfX3FI35+xSZ+fsYpgIDGK4SEyC9/f8Yxd3fDNWho + vDhbW6o8UFCUQENDfESgoNVPlZXQS4iIykd2dsJDZWW7P19fsTtgYLE4YWG0NWFhtDFiYrUuYmK1KmNj + tyhiYrYlY2O3ImFhtCBfX6ofV1eQI5ycoZSrq7H/XV11/yUlRv8ICC//AAAu/wAAN/8HBz7/GRlM/xYW + Sv8XF0v/FRVJ/xMTSP8VFUn/AAA3/w8PLv8VFSD/Kiov/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD1AQEB4QcHCMkcHCCyTU1Zp4KCmLKoqMPJvb3b3MbG5uvHx+b4x8fm/sfH + 5v/Hx+b/xsbm/76+4v+wsNz/rKza/6+v3P+qqtr/oaHW/6ur2v/Z2e7/VVWR/zk5af9aWqb/enrE/3Nz + wf9ra77/YWG0/1RUm/9ERH3/Ly9X/xkZL/8ZGS//GRkv/8XFy//+/v7//Pz8//v7+//5+fn/9/f4//b2 + 9//29vb/9fX2//T09f/t7e7/6Ojp/+Tk5f/i4uP/5OTl/+jo6f/q6uv/9fX2/39/gP+Ghof/9vb3//b2 + 9//29vf/9vb3//b29//29vf/9vb3//b29//39/f/+Pj4//j4+f/4+Pn/+Pj5//j4+f/5+fr/+fn6//v7 + +//8/Pz/+fn5/9zc3/9xcY3/Hx9R/x8fUf8fH1H/ExNH/yEhSv88PFL/T09W/1dXV/8fHx//AQEC/wEB + AvoAAADbAAAAvQAAAJcDAwRwQUFhi3V1p92SksP/iYnH/0JCfP4qKk7tJiZHVSwsUQ7+/v4A/v7+/9nZ + 4v+hobX/cHCQ/zAwXv8JCUD/CAg//wkJQP8LC0L/DQ1D/w0NQ/8PD0X/AAAz/wkJJv8RERz/JCQq/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAB7QICA9sGBgrSDw8c3yAg + O/c0NGH/QkJ7/01Nj/9QUJP/SEiF/1RUnP9dXa3/ZGS5/2pqvf9tbb//cHDA/3Nzwf91dcL/eHjE/3x8 + xf9+fsb/gYHH/4WFyf+Jicv/iIjK/4SEyf9/f8b/e3vF/3h4xP93d8P/cXHA/2lpvf9nZ7z3bW2+6nt7 + xdqEhMm9hITJlISEyWaFhck5hobJF4eHygXp6ekA6+vrAOvr6wDt7e0AZ2dnAEdHRwDOzs4A/v7+AP7+ + /gD+/v4A/v7+AP7+/kD+/v7Q/v7+0P7+/v/8/Pz/+fn5/8fHyP9bW1v/Pz8//0BAQP9HR09IfX3GDX19 + xQ58fMUQfn7GEn9/xhR/f8YWfn7GGH19xhp8fMUdfX3GH35+xiJ+fsYlf3/GKICAxyuAgMcugIDHMXt7 + xTVsbL44X1+wO1RUmz9ISIZDn5/VTpaW0UqIiMpHd3fDQmdnuz5hYbE7YmKzN2NjtTRjY7UwY2O1LWVl + uCpnZ7snZma6JGtrviFwcMAecHC7HV9fiCxoaGysZmZv/zw8Uv8XFzP/BAQg/wAAG/8AAB3/AAAi/wAA + MP8DAz3/GBhN/xgYTf8WFkz/FhZM/wAAOP8PDy//FhYh/yoqL/9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQQEBWgaGh5GaWl6QrGxzmDGxuaOx8fmvcjI + 59zIyOfsycnn9cXF5vy9veL/ubng/7+/4//Dw+T/v7/j/7u74f+1td7/ra3b/4GBx/9HR4L/UFCS/4KC + yP+EhMn/e3vF/3R0wv9qar3/YGCv/1JSlv8/P3T/KytP/xoaL//Gxsz//v7+//39/v/9/f3//Pz8//v7 + +//7+/v/+vr7//r6+//6+vr/+vr6//n5+v/5+fr/+fn6//n5+v/5+fr/+vr6//n5+v+srK3/vb2+//r6 + +//6+vv/+vr7//r6+//6+vv/+vr6//n5+v/6+vr/+vr6//r6+//6+vv/+/v7//v7+//7+/z//Pz9//39 + /f/+/v7//v7+/6iovP83N2X/HR1R/xoaT/8VFUv/DQ1F/xgYRv8wME3/TExZ/2RkZf9DQ0P/AgID/wIC + BP4CAgT2AAAAyQAAAKYAAAB+DAwTX15eiqGEhLjwoKDP/2JitP83N2T3KChKtCkpShU2NmMD/v7+AP7+ + /v/a2uL/oqK3/29vkP8tLV7/CAhB/wkJQv8JCUL/CwtD/w0NRf8ODkb/EBBH/wAAN/8JCSn/EREd/yQk + Kv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wEBAvMFBQnzDQ0Y+hsb + Mv8xMVr/OTlm/zo6a/9TU5n/Xl6r/15erP9lZbj/aWm9/25uv/9ycsH/dnbD/3l5xP99fcb/gYHH/4aG + yv+Kisz/jY3N/46Ozf+Ojs3/j4/O/46Ozf+Kisz/hITJ/39/x/95ecT7dnbD9HR0wutxccDcbGy+uWlp + vYl1dcJRiIjLJo+Pzgv+/v4A/v7+AP7+/gDu7u4A6OjoAOnp6QDq6uoA6+vrAJSUlABAQEAAhYWFAP7+ + /gD+/v4A/v7+AP7+/gD+/v5A/v7+//7+/kD//////f39//z8/P/4+Pn/l5eY/z8/P/9AQED/R0dPSH19 + xgx8fMUNe3vFD3t7xRF/f8cTgIDHFn5+xhd9fcYafX3GHH5+xh9/f8chgIDHJIGByCeBgccqgYHHLYKC + yDB/f8c0cXHAN2ZmujtcXKc+UVGTQpaW0E6Ojs1JgoLIRnd3w0FsbL49amq9OnFxwDZxccAzaWm8MGVl + ty1mZrgqaWm9J25uvyN5ecMhaGh8Vnp6evJ9fX3/d3d9/1xccf86Ol//FxdI/wQEL/8AACP/AAAb/wAA + Fv8AABn/AAAg/wAAKv8AADn/FxdO/xcXTv8AADn/Dg4v/xYWIv8qKi//QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADgAAAAwgAAAJkAAABmAAAAPQAAAB8AAAAKAAAAAMjI + 5xXJyec+yMjneMfH5rTAwOPeurrh9sDA4/nGxub9x8fm/8fH5v/Gxub/xMTl/8LC5P+5ueD/fn7G/1lZ + of95ecT/np7U/42Nzf9+fsb/c3PB/21tvv9hYbD/VFSZ/0VFfP81NWH/ycnQ///////+/v7//v7+//39 + /f/8/P3//Pz9//z8/f/8/Pz//Pz8//z8/P/7+/z/+/v8//v7/P/7+/z/+/v8//z8/P/8/Pz/z8/Q/9LS + 0//8/Pz//Pz8//z8/P/7+/z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz9//39/f/9/f3//v7+//7+ + /v/x8fT/mpqy/zc3Z/8aGlD/GxtR/xwcUf8UFEv/CgpD/w8PQ/8mJkv/Q0NW/11dY/9lZWX/Dg4P/wUF + B/8EBAf+AwMF7gAAALMAAACNAAAAZSoqQF5zc6a+lJTH/ZGRy/9KSoX/MzNb5CoqTEsxMVgG/v7+AP7+ + /gD+/v7/2tri/6Ojuf9wcJL/Kytd/wUFQP8JCUP/CgpE/wwMRf8MDEX/EBBI/xISSv8AADj/Cgor/xIS + H/8kJCr/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf4DAwX+CQkR/xIS + If8bGzL/JiZF/zIyWv9HR4D/Y2Oz/2pqvf9pabz/b2+//3Nzwf93d8P/fHzF/4CAx/+Fhcn/iYnL/4qK + y/+Ojs3/kJDO/5CQzv+Ojs3/jIzM/4qKy/+Jicv/h4fK/YSEyPmAgMfxfHzF2nd3w69zc8FxcHC/Nmlp + vBJmZrgC/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/f39AOzs7ADp6ekA6+vrAOvr6wC3t7cARkZGAHNz + cwD+/v4A/v7+AP7+/gD+/v4A////QP////////////////7+/v/9/f3/+/v8/87Ozv9UVFT/QEBA/0RE + TEdxccAMcHC/DW1tvg9sbL4RcHC/E3R0wRV1dcIXd3fDGX19xRyEhMgeiorLIZCQziSOjs0mh4fKKYKC + yC2EhMgwg4PIM3p6xDZzc8E6XFynPUJCd0GLi8xOhYXJSXx8xUV0dMJBcHDAPXx8xjqNjc02j4/OM4mJ + yzCGhsotiYnLKouLzCdSUmdaSkpQrF1dXvJycnP/ZWVu/05OYf80NFL/Hh5I/wwMP/8CAjj/AAA1/wAA + MP8AACT/AAAd/wAAGf8AABn/AAAh/wAALf8AADz/AAA7/w8PMP8XFyP/Kiow/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAA4AAAAMIAAACZAAAAZgAAAD0AAAAfAAAACgAA + AADJyecCycnnBMjI5wbCwuQQu7vhKr294lnFxeWbx8fm1sfH5vXHx+b/yMjn/8jI5//IyOf/x8fm/7q6 + 4f+Njc3/hYXJ/6qq2f+0tN7/o6PW/5SU0P+IiMr/eHjD/2dnuf9ZWZ//TEyI/9DQ3P////////////7+ + /v/+/v7//v7+//39/v/+/v7//v7+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+/9/f + 4P/f3+D//f3+//39/v/9/f7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/4+Pp/6mp + vv9hYYf/GhpS/xoaUv8cHFP/HBxT/xwcU/8bG1L/FBRN/wkJRf8dHUr/ODhT/1RUX/9ra2v/MzMz/wQE + Bf8ICA3/BgYK/AQEB+IAAACcAAAAdAAAAE1SUnpwhoa61Ken0/9sbL3/QUF18S8vVactLVIKPT1uAv7+ + /gD+/v4A/v7+/9ra4/+jo7r/c3OV/ysrX/8DA0D/BQVC/woKRv8MDEf/DQ1I/xISTP8UFE3/AAA5/woK + Lf8TEyD/JCQr/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL/BQUI/wsL + E/8RER//HR00/y4uU/8/P3L/WFif/3Bwvf90dML/cnLB/3h4xP9/f8f/g4PI/4eHyv+Kisv/jIzM/42N + zf+MjM3/jIzM/4yMzf+Li8z/iYnL/4iIyv+Ghsr/hYXJ8YSEyc6EhMmTg4PJVIGBxyd8fMUOd3fDBnFx + wANoaLwBYmKxAf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AKqq + qgCHh4cA/v7+AP7+/gD///8A////AP///0D////////////////+/v7//v7+//7+/v/19fX/fHx8/0dH + R/9RUVlHaWm8DGdnuQ1kZLQPYWGvEWJisRNnZ7oVamq+F3FxwBl7e8UciYnLHpyc1CGpqdkkqanZJqam + 2CmkpNctpqbYMKKi1jOKiss2Z2e5OkhIgj02NmFBkpLPTYiIykh5ecNFZ2e4QWBgrD12dsI5k5PPNZWV + 0DKOjs0vgYGwOV1dZpRJSUrlQ0ND/0lJSv9NTVT/S0ta/0REXv8xMVX/HBxI/w0NP/8FBTz/AAA7/wAA + Of8AADf/AAA2/wAANv8AAC3/AAAi/wAAHf8AAB7/AAAp/wAALv8ODi3/Fxcj/ysrMP9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQAAAGYAAAA9AAAAHwAA + AAoAAAAAAAAAAAAAAAAAAAAAurrgAr6+4gbDw+UMx8fmFsfH5ijHx+ZNx8fmgMfH5rfHx+bjyMjn+MnJ + 5//Jyef/u7vh/5+f1P+yst3/x8fm/8PD5f+9veL/t7ff/62t2/+goNX/jo7N/3l5xP/Q0On///////// + //////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7/1dXV//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/d3eD/zs7T/4uLmv9lZX//IiJT/w8P + Sv8aGlP/GRlS/xwcVP8aGlP/GhpT/xwcVP8bG1P/FxdQ/xERTP8UFEn/Li5R/0tLXP9mZmr/W1tb/wEB + Av0GBgj+DQ0V/wkJEPoFBQnSAAAAgwAAAFsGBgo7cHCij5ycy+ecnNH/YGCp/z09bNcvL1RKNTVfAk9P + jAH+/v4AW1uiAv7+/v/Y2OL/o6O5/3Jylf8uLmL/AwNB/wMDQf8KCkf/DQ1J/xAQS/8TE03/FhZQ/wAA + O/8KCi//ExMh/yQkK/8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQED/wYG + C/8NDRj/Fxco/yYmRP86Omj/TU2K/2Njr/95ecH/gYHH/4CAx/+EhMn/h4fK/4qKy/+Kisv/jIzM/4uL + y/+Kisv/iIjK/4iIyv+Hh8r/h4fK+IaGyd+FhcmzhYXJeoWFyUeFhckkh4fKFYeHygyIiMoGhYXJAv7+ + /gD9/f0A+Pj4AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDh4eEApqamAM/PzwD+/v4A////AP///wD///8w//////////////////////7+/v/+/v7//v7+/6qq + qv9vb2//YmJtOHp6xAx5ecMNd3fDD3FxwBBsbL4SbGy+FW1tvhZsbL4ZbW2+G3d3wx2WltEgra3bI62t + 2yapqdkppKTXLKWl1y+hodUzjIzMNmdnuDlJSYI9ODhjQZ2d1EyNjc1HdXXCRFpan0BISH48WVmcOXNz + wTV1dcIyq6u3l5GRkvN6enr/W1te/0JCSv85OUf/NTVL/y0tTf8hIU3/FRVM/woKRv8EBEL/AQFC/wQE + RP8AAED/AAA9/wAAOv8AADj/AAA4/wAAOP8AADD/AAAk/wAAIv8AACD/CQkd/xYWIf8tLTL/QEBA/wQE + BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADgAAAAwgAAAJkAAABmAAAAPQAA + AB8AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWRkcwKGhpoGra3ID7m51hu/v9wrxsbkScbG + 5XPIyOeiycnnz8jI5++6uuH/rq7b/8TE5f/MzOj/y8vo/8nJ5//Hx+b/wcHk/7m54P+trdv/pKTX/6en + 2P+Sks//fHyp/2hohv9mZoL/Y2N+/1RUZP9UVGT/VFRk/1RUZP5XV2bzXV1s3W5ue6+Wlp923d3gS/7+ + /kD+/v5A/v7+QPz8/ED+/v5A/v7+QPr6+kFHR08Gj4+UJs/Pz/S5ucD/cHCN/zIyW/8NDTT/AgIn/wAA + K/8AADb/AABB/xMTT/8ZGVT/GRlU/xkZVP8cHFb/GhpU/xUVUP8NDUv/JCRQ/0FBWv9eXmb/a2tr/xoa + Gv4CAgL7CwsP/RMTH/8PDxr3BgYLvQAAAGoAAABFJiZAOoaGu7KlpdP2gIDF/1RUlO06OmWYNTVdEamp + qQDQ0NAA/f39AFtboDj+/v7/19fh/6Ghuf9ycpb/MjJm/wcHRv8ICEf/DQ1L/w0NS/8NDUv/EBBN/xUV + Uf8AAD7/Cwsz/xMTIv8kJCv/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC + A/8ICA//FhYj/yQkPv8zM1r/SEh//11dnf9qarL/fn7D/4yMzP+IiMr/iIjK/4iIyv+Jicv/iIjK/4mJ + y/+IiMr/h4fK/oeHyuuHh8rJh4fKnYeHym6Hh8pDh4fKJ4iIyheKissLi4vMA42NzQGdnZ0Ao6OjAK+v + rwC5ubkAvb29AMnJyQDf398A8vLyAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AN3d3QDT09MA/v7+AP7+/gD///8A////AP///zD///9A////QP///0D8/P1B+Pj6QvLy + 9UTb2+BFq6uyNoaGyQqHh8oLh4fKDIeHyg6EhMkQfn7GEnh4wxRycsEVamq7GF9fqBtbW58dc3PBII+P + zSOQkM4liYnLKIKCyCuDg8gujIzMMpCQzjWAgMc4XV2jPD09bECgoNVLjY3MR3JywENVVZU/PDxoO0FB + cThZWZs04ODui/7+/v/l5eX/kpKh/1pacf85OVX/KSlN/x8fTP8UFEz/ERFO/xsbVv8hIVr/HBxX/xkZ + Vf8YGFT/FhZS/w4OTP8AAEL/AAA+/wAAO/8AADr/AAA6/wAANv8AAC//AAAh/wgIF/8XFyL/Li4z/0BA + QP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAA4AAAAMIAAACZAAAAZgAA + AD0AAAAfAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAGAAAACAAAAAoAAAAKFhYZCXR0 + hA6xscoYxMTiKsnJ50LJyedpxcXllrm54L29veHgycnn9szM6P/MzOj/y8vo/8nJ5//Gxub/wsLk/7y8 + 4f+yst3/n5/U/4CAx/9eXqX/U1OR/1BQi/8+Pm3/IyM8/xsbMP8bGzD/Gxsw/xsbMPwbGzDrGxswyBsb + MIkbGzBBGxswDxsbMAMAAAAAAAAAAAAAAAAAAAADAAAACdLS0prd3d3/jY2j/0tLdf8fH1b/BwdA/wAA + Mf8AAC3/AAAz/wAAQP8cHFf/GxtW/xYWUv8WFlL/FhZS/xQUUf8NDUv/GhpO/zY2Vv9SUmH/b29w/0dH + R/8AAAD6AwMF9xAQFvsaGiz/FBQk8gsLE6QAAABSAAAAMVBQhE6MjMXQh4fI/nFxv/5NTYXKOztmSUBA + bwIAAAAAAAAAAFxcoSReXqWc/v7+/9TU3/+goLj/cHCV/zMzaP8MDEv/DQ1M/w0NTP8NDUz/Dg5M/w8P + Tf8ODkz/AABA/wsLNf8UFCP/JCQr/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAgP/CgoQ/xwcJv8zM0T/RkZm/1lZiP9lZaH/Zmaw/319w/+Njcz/h4fK/4aGyf+Fhcn/hobJ/4aG + yfSGhsnehobJuYaGyZGGhsllh4fJP4eHyieJicoVi4vLBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg4PIAWNj + rAI+PmsFQkJzB2pquAiGhskJhobJC4eHyQyHh8kOh4fKEISEyBJ+fsYUdXXCFWpquRhcXKAaT0+KHFpa + nB9vb78ifX3FJYCAxyh+fsYrfHzFLnt7xDGAgMc0hYXJOG9vvztJSX8/m5vTS4iIykZsbLtDU1ORPzs7 + Zzo5OWM3R0d7NOPj7Zj+/v7/5eXs/6urwv96epz/U1OA/0JCdP9ERHX/Skp6/09Pff9SUn//S0t6/z09 + cP8wMGf/JSVe/x8fWv8dHVj/GBhV/woKSv8AAEH/AAA9/wAAO/8AADn/AAA4/wAAKv8JCRr/GBgi/y8v + M/9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQAA + AGYAAAA9AAAAHwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAIAAAADQAAABMAAAAWAAAAFgAA + ABIAAAAMAAAABwAAAAOYmK4Ey8voDsrK6CLCwuQ8vLzhYMTE5Y/IyOe3y8vo1MrK6OvJyef7yMjn/8jI + 5//Hx+b/xMTl/7294v+zs93/oqLW/5aW0f+Njc3/enrE/19fpv8/P23/Hx82/xwcMP8cHDD/HBww/xwc + MP0cHDDrHBwwwRwcMHocHDA4HBwwEhwcMAMAAAABAAAABsrKykzu7u7/tbXF/2dnjP8tLWL/DQ1J/wIC + Pf8AADn/AAA2/wAANv8AAEL/NDRp/zc3bP8dHVj/ERFQ/w8PTv8JCUn/EBBJ/ykpUv9GRlv/YmJn/2Ji + Yv8GBgb8AAAA9gUFCPAXFyD3IiI7/xwcMewPDxuJAQECPQMDBSJwcK54cnK95F5eov9hYajqSUl/ikBA + cBQAAAAAXl6kAl5epBVhYaiFiorH6f7+/v/Q0Nz/nJy1/25ulP8uLmX/CwtL/wwMTP8NDU3/Dg5N/xAQ + T/8NDU3/DQ1N/wAAQf8LCzf/FRUl/yQkK/8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AgIE/wsLEP8dHSf/NzdG/1FRa/9jY4z/YmKg/2Bgpv96esH/jIzM/4aGyvmDg8jpg4PI0YSE + ybKFhcmIhobKWoaGyjmIiMsgiYnLDYqKzAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIOD + yAGDg8gCWVmbBT8/bgZLS4IIamq4CYODyAuFhckMhobKDoiIyg+GhsoRhYXJE35+xhVxccEXZmaxGlpa + nBxbW58fZmayInBwwCR1dcIndXXCKnR0wi1ubr4xZmayNG5uvzhvb787WFiYP4yMzEp1dcJGXV2gQkRE + dT4vL1I6KipINzAwUjPg4OaY//////Ly9v/a2uT/w8PT/6SkvP+Pj63/i4uq/4yMq/+Ojq3/jo6t/39/ + ov9kZI7/SEh6/zAwZ/8iIl7/Hh5b/x4eW/8YGFf/CgpM/wAAQ/8AAD3/AAA5/wAAN/8AACX/CAgX/xgY + I/8vLzT/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADgAAAAwgAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACAgMcAf3/GAH9/xgCAgMcAgYHHAICAxwB/f8YAf3/GAH19xgB9fcYAfX3FAHl5xABxcb0AZmasAGBg + oQBdXZwAXFyaAFpalwBXV5IAVVWPAB0dMAAdHTAASEh5AFxcmwBZWZUAVVWOAE9PhQBKSn0ARkZ1AEND + cQBAQGsAPT1mADs7YgA4OF4ANTVZATMzVQMnJ0EFHR0wBygoQwgrK0kKKSlGCygoQw0nJ0EOJSU/ECQk + PBIjIzoUIiI5FiAgNhgdHTEbHR0wHB0dMB8dHTAhHR0wJB0dMCcdHTApHR0wLh0dMDIdHTA3HR0wPx0d + MEdxcb3tVFSN5TY2Wt0dHTHQHR0xwB0dMa8dHTGaHR0xhR0dMXIdHTFfHR0xTh0dMT8dHTExHR0xJh0d + MR0dHTEWHR0xEfX19ob39/n/z8/d/56euv9iYpD/Kytp/xkZXf8cHF//Gxte/xoaXf8ZGV3/FRVa/w8P + Vv8AAEv/AAA1/wkJGv8YGCT/MDA0/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD1AAAA4AAAAMIAAACZAAAAZgAAAD0AAAAfAAAACv7+/gD+/v4A/v7+AP7+/gAAAAACAAAACAAA + ABIAAAAcAAAAJgAAAC0AAAArAAAAIwAAABoAAAATAAAAEQAAABYAAAAgAAAAKAAAACwAAAAqAAAAIwAA + ABgAAAAOAAAABwAAAAL+/v4A/v7+AP7+/gD+/v4A/v7+AM3N6QHOzukCzs7qBM3N6QjLy+gTy8voNsvL + 6HHLy+iwysro38rK6PjKyuj/ysro/8rK6P/IyOf/hYXJ/25uuP+Zmc7/lJTF/+/v7/+zs8j/a2uW/0VF + fP8vL2z/IiJi/xoaXf8VFVr/Dw9W/wAAS/8AAET/AAA9/wAAOf8AADz/AAA//wMDQv8QEEX/JydL/zs7 + Tf9LS07/QUFB/wUFBf0GBgf9Dw8V/xERG+0ICA24Dg4WlEZGasVbW5X0VFSNqCYmPxZbW5kacHC7y2tr + tPlpabCwJSU+Mh0dMQFQUIYgg4PIipOTz/qgoNX/lpbR/35+xsm5udx6/v7+/9DQ3v+enrr/YWGQ/wIC + TP8AADf/AAAu/wAANv8AAET/AQFM/wUFT/8AAEv/AABD/woKNv8YGC7/JCQs/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AQEB7AEBAdIBAQGuAAAAgAAAAFIAAAAuAAAAFAAA + AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAfX3GAHt7xQB3d8MAdnbDAHZ2wwBzc8AAcXG9AG9vugBtbbYAamqyAGdnrQBmZqoAYGCgAFRU + jQBJSXoAQEBrAD09ZgA6OmEANjZbADMzVgAdHTEAHR0xAB0dMQA3N10AMzNVADAwUAAtLUsAKChEACQk + PQAiIjgAHx80AB0dMQAdHTEAHR0xAB0dMQEdHTEDHR0xBB0dMQcdHTEHHR0xBx0dMQcdHTEGHR0xBx0d + MQkdHTELHR0xDB0dMREdHTEXHR0xHR0dMScdHTEyHR0xQB0dMU8dHTFgHR0xdB0dMYcdHTGcHR0xsR0d + McIdHTHRg4PI/mpqr/1OToD7Li5M+R4eMfgeHjH1Hh4x8h4eMfAeHjHtHh4x6h4eMeQeHjHbHh4x0B4e + McQeHjG3Hh4xpx4eMZa0tLrA/f39/9DQ3v+goLz/Z2eU/ywsa/8YGF3/Ghpe/xoaXv8bG1//GRle/xcX + XP8TE1n/Dw9X/wAAPv8MDCP/GBgk/zAwNP9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA9QAAAOAAAADCAAAAmQAAAGYAAAA9AAAAHwAAAAr+/v4A/v7+AP7+/gD+/v4AAAAAAQAA + AAYAAAAMAAAAFAAAABsAAAAgAAAAHgAAABgAAAATAAAAEgAAABcAAAAkAAAANQAAAEMAAABJAAAARgAA + ADoAAAApAAAAGAAAAAwAAAAEAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4AysrKAKmpqQDPz+oBzs7pAs3N + 6QfMzOkPy8voGcvL6DTLy+hdy8volMvL6MjLy+jtysro/5qa0f+Vlc7/vb3a/+rq7P/U1N7/goKn/09P + g/82NnL/JSVm/x0dYP8ZGV7/Fxdc/xMTWf8PD1f/AQFN/wAARv8AAEH/AAA//wICQP8JCUL/GxtG/zMz + TP9KSlL/WFhY/xkZGf4AAAD4BQUG9BcXIP4iIjHzEhIcrBAQGHpUVHuzamql7GJioJU/P2gQcXG5PGxs + sexmZqjsaWmtYT4+ZxAeHjEYPj5ldJKSz+ecnNP/l5fR/ISEyK10dL856urzSv7+/v/Q0N7/oKC8/2lp + lv8PD1f/AAA+/wAANv8AADf/AAA//wAARv8AAEn/AABK/wAAQv8JCTP/EREg/yQkLP8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAA + ABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGlprQBmZqcAYWGgAF1dmABaWpQAVlaNAFFRhgBOToAAS0t6AEdHdQBERG8AQUFrAD09 + ZAA2NlkALCxIACIiOAAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4e + MQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEBHh4xAh4eMQYeHjENHh4xFh4eMSAeHjEsHh4xOx4e + MUseHjFdHh4xbx4eMYQeHjGXHh4xqR4eMbgeHjHFHh4x0R4eMdweHjHlHh4x6x4eMe4eHjHxHh4x8x4e + MfYeHjH4Hh4x+pWV0P+EhMn/bW2y/09Pgv8sLEj/Hh4x/x4eMf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/R4e + MfseHjH4Hh4x9R4eMfEeHjHtlJSd9P7+/v/MzNz/np67/2holv8uLm7/GRlf/xkZX/8aGmD/Ghpg/xkZ + X/8YGF//Fxde/xUVXf8AAEX/Dg4t/xgYJP8wMDX/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPUAAADgAAAAwgAAAJkAAABmAAAAPQAAAB8AAAAK/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAADAAAABwAAAAsAAAAQAAAAEgAAABEAAAAOAAAADQAAABIAAAAfAAAANAAAAE4AAABiAAAAagAA + AGUAAABUAAAAOwAAACMAAAARAAAABgAAAAH09PQA/v7+AP7+/gD+/v4A/v7+AL6+vgCenp4A/v7+AP7+ + /gD+/v4A/v7+AMzM6AHMzOgHzMzoEMvL6B3Ly+gyzMzpVMzM6YGcnNGzlZXL3dXV4fzx8fH/np68/15e + j/8+Pnn/KSlr/x4eY/8bG2H/GRlf/xgYX/8XF17/FRVd/xERWv8FBVH/AABK/wAARP8FBUL/ExNE/ykp + SP9AQE7/V1dY/z4+P/8BAQH8AAAA8QICA+QcHCfzMzNI+SUlOq0YGCVmYGCMnnZ2suBwcLSEamqoFHh4 + wndpaa34ZmanqW1tsipVVYwSIiI3YD09ZNKQkM77lJTQ6oaGypJ2dsEra2uvCfv7/EH+/v7/0NDe/6Cg + vf9wcJz/IiJm/wAASP8AAEL/AABB/wAAQ/8AAEf/AABJ/wAASv8AAEP/CQkz/xAQHv8kJCz/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAA + AC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABDQ20AQEBpADs7YQA2NlkAMzNUADAwTwAsLEgAKChCACYmPwAkJDsAISE2AB8f + MwAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjECHh4xBh4e + MQ0eHjEVHh4xHB4eMSYeHjE0Hh4xQR4eMVEeHjFiHh4xcR4eMYEeHjGSHh4xoR4eMa8eHjG7Hh4xyB4e + MdMeHjHZHh4x3x4eMeMeHjHpHh4x7R4eMfEeHjH2Hh4x+B4eMfseHjH+Hh4x/x4eMf8eHjH/Hh4x/x4e + Mf8eHjH/Hh4x/x4eMf+jo9b/mprS/4yMzP9zc7v/UVGE/zo6Xv82Nlj/MTFQ/yUlPP8eHjH/Hh4x/x4e + Mf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/4+PmP/+/v7/yMjZ/5qauv9mZpb/Li5w/xkZYf8ZGWH/Gxtj/xkZ + Yf8ZGWH/GRlh/xkZYf8ZGWH/AABJ/xAQNP8YGCT/MDA1/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD2AAAA4gAAAcUBAQGcAAAAZwAAAD0AAAAfAAAACv7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAQAAAAMAAAAFAAAABgAAAAcAAAAHAAAABQAAAAgAAAASAAAAJQAAAD8AAABfAAAAdgAA + AIAAAAB6AAAAZgAAAEcAAAAqAAAAFQAAAAgAAAAB8fHxAPHx8QD+/v4A/v7+AP7+/gC9vb0Ajo6OAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4Azc3pA83N6QvHx+Ech4e5NbS0zILu7u7/u7vP/3Bw + nP9GRn//MDBx/yIiZ/8cHGP/GRlh/xkZYf8ZGWH/GRlh/xkZYf8ZGWH/FhZf/wcHVf8DA0v/DAxG/x8f + R/82Nkr/S0tR/05OTv8MDAz/AwMF/QMDBe4BAQHSFxch0kBAW/U/P2C6LCxCW2xsmoeCgr7TiYnEcpqa + zRyZmdK3iYnL6ZeX0VSdndMUm5vTT1ZWi8NGRnLya2uu139/xnt3d8EjaWmrA/7+/gDh4epN/v7+/9DQ + 3/+goL7/c3Oe/zExcv8DA1L/AABM/wAASP8AAEj/AABK/wAAS/8AAEv/AABD/wkJM/8QEB//JCQt/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAA + AFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAICA0AB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4e + MQAeHjEAHh4xAB4eMQMeHjEHHh4xDh4eMRQeHjEbHh4xJB4eMS8eHjE8Hh4xSB4eMVUeHjFiHh4xcB4e + MX8eHjGOHh4xnR4eMaoeHjG4Hh4xwh4eMcseHjHSHh4x2R4eMeAeHjHmHh4x7R4eMfEeHjH2Hh4x+R4e + Mf0eHjH/Hh4x/x4eMf8eHjH/Hh4x/x4eMf8hITb/JSU8/ygoQv8tLUn/MDBO/y0tSf8pKUP/JiY9/x4e + Mf8eHjH/Hh4x/x4eMf8eHjH/rq7b/6ys2v+mptj/mJjS/3t7xf9jY6H/X1+a/1tblP9TU4b/RUVw/zU1 + Vf8qKkT/JiY9/yIiN/8fHzL/Hh4x/x4eMf+Ojpj//v7+/8XF1/+YmLn/ZWWW/ysrbv8WFmD/FhZg/xkZ + Yv8bG2P/GRli/xoaY/8bG2P/Ghpj/wAASv8RETb/GBgk/zAwNf9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB+wICA/EEBAbfBwcLxAsLEZ4PDxl7FBQgXBoaKkQeHjEzHh4xKR4e + MSAeHjEYHh4xEh4eMQ0aGisIFhYlBA8PGAIAAAABAAAAAQAAAAEAAAAGAAAAEgAAACcAAABDAAAAZAAA + AH0AAACHAAAAgAAAAGsAAABLAAAALwAAABkAAAANAAAABwAAAAUAAAAFAAAAAwAAAAIAAAABoKCgAHZ2 + dgD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAAAAABAAAABAAAAAvm5ubW3d3l/4mJ + rv9RUYj/NDR1/yMjaf8ZGWL/GRli/xsbY/8ZGWL/Ghpj/xsbY/8aGmP/GRli/xkZYv8SEl7/CAhS/xkZ + TP8uLkr/Q0NO/1RUVP8pKSn/AwME/ggIDP4LCxLzBgYJxwoKEKZERGTbVlaAzFFRcF2Li7J0oKDQw6Wl + 1WO2tt8zqqra45eX0aifn9UgoaHWO5aW0bFvb7PmUVGDx0xMfGdbW5McaGipAmVlow5fX5o1oKDAmf7+ + /v/Q0N//oaG//3NzoP85OXj/FRVf/wcHVv8AAE7/AABL/wAATP8AAEz/AABM/wAARP8JCTP/EBAf/yQk + Lf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4eMQAeHjEAHh4xBB4eMQgeHjEOHh4xEx4eMRkeHjEhHh4xKh4e + MTQeHjE9Hh4xRh4eMVEeHjFeHh4xbB4eMXweHjGMHh4xmx4eMakeHjG2Hh4xvx4eMcgeHjHRHh4x2h4e + MeIeHjHqHh4x8B4eMfUeHjH5Hh4x/h4eMf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/x4e + Mf8jIzn/KSlC/y0tSP8vL0z/MzNS/zc3Wf86Ol//Pz9l/0REb/9ISHX/TU19/1JShf9TU4f/T0+A/0hI + df8zM1L/Hh4x/x4eMf8eHjH/Hh4x/7W13v+3t9//tbXe/66u2/+Xl9H/goLH/4GBx/+AgMb/fX3F/3R0 + uf9lZaH/VVWH/09Pfv9LS3f/R0dy/0REbf9DQ2v/j4+Y//7+/v/Dw9f/lpa4/2Vll/8uLnL/GBhj/xUV + Yf8WFmL/GRlk/xsbZf8aGmX/Ghpl/xsbZf8AAEz/ERE3/xgYJf8wMDX/QEBA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAv8EBAb+BwcL+wwMEvUSEhzrFhYk3hoaKs4dHS+/Hx8xsB8f + MaMfHzGWHx8xiB8fMXkfHzFqHx8xXB8fMU8fHzFDHx8xOh8fMTEfHzEqGxsrJxMTHioKChA2BQUISwIC + BGYBAQJ5AAABgAAAAHgAAABjAAAARwAAAC8AAAAfAAAAFgAAABMAAAARAAAADwAAAAsAAAAGAAAAAwAA + AAGVlZUA/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AAAAAAgAAAAjX19d77+/v/6am + wv9iYpX/Pj58/ywscP8eHmf/FhZi/xYWYv8ZGWT/Gxtl/xoaZf8aGmX/Gxtl/xkZZP8YGGP/EhJf/xQU + Wv8sLFf/Pz9S/1JSVf9BQUH/AAAA+wEBAvcICA34EREb+RQUINkJCQ+MNzdYoFtbkdFoaJduj4+9aKCg + 0q+np9Zds7PdXJ6e1OaDg8dFgIDGLYODyJ2AgMbZf3/Gtm1trVRSUoMUS0t3DllZjS9sbKxqdHS4sp+f + 1O3+/v7/0NDf/6GhwP91daL/PT18/yAgaf8aGmX/DAxb/wAAUf8AAE7/AABO/wAATv8AAEX/CQkz/xAQ + H/8kJC3/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAHx8xAR8fMQEfHzEFHx8xCCIi + Ng0fHzERHx8xFh8fMR0fHzEkHx8xKx8fMTMfHzE7Hx8xRB8fMVAfHzFeHx8xbB8fMXofHzGKHx8xmB8f + MaUfHzGxHx8xvh8fMckfHzHUHx8x3x8fMegfHzHvHx8x9B8fMfsfHzH/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/yEhNP8jIzj/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/MTFO/0lJdf9XV4v/WVmO/11dlP9iYpz/Y2Oe/2hopf9sbKz/b2+x/3R0uf94eL//e3vE/3l5 + wP9vb7L/T09+/yMjOP8fHzH/Hx8x/x8fMf+2tt7/ubng/7m54P+zs97/oKDV/46Ozf+Ojs3/j4/N/4+P + zf+MjMz/goLI/3R0uP9ra6v/aGil/2dno/9mZqH/bW2t/7y83//+/v7/xMTX/5iYuv9lZZj/MDB0/xsb + Zv8YGGT/FRVi/xYWY/8ZGWX/GRll/xoaZf8cHGf/AABN/xEROP8YGCX/MDA1/0BAQP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL/BAQG/wcHDP8MDBT/ExMd/xgYJf8bGyv/Hh4v/x8f + Mf8fHzH/Hx8x/x8fMfwfHzH1Hx8x7h8fMeYfHzHdHx8xzx8fMcEfHzGyHx8xox4eMJccHCyMGBgmhRMT + HoUODhaLCgoQjwgIDYwICAyBCAgNbwoKEFoMDBJIDAwTPQsLETcJCQ4zCAgMLwcHCycHBwsbBwcMEQgI + DAgAAAACh4eHAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AAAAAAQAAAAWtra0s7e3t8svL + 2v97e6f/SkqF/zExdf8lJW3/HR1n/xgYZP8VFWL/FhZj/xkZZf8ZGWX/Ghpl/xwcZ/8ZGWX/FRVi/w0N + XP8lJV7/QUFf/1RUXv9YWFj/FBQU/gAAAfgBAQHsBgYK4BcXJegoKEDyKCg/pScnPmZNTXu1VFSHhXR0 + uGiSks2coqLWXKam14uamtKpiYnLIIeHyoaHh8rQhITIooGBxz9/f8YUamqoKFRUhltTU4Opamqo6oeH + yv2zs939/v7+/9DQ3/+hocD/dXWj/z09ff8fH2n/ISFq/xwcZ/8MDFz/AABS/wAAUP8AAE//AABG/wkJ + M/8QECD/JCQt/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACtAAAAgQEBAlUEBAY0CgoPHRcXJBMfHzESHx8xFx8fMRwfHzEiHx8xJx8fMS4fHzE1Hx8xQB8f + MU0fHzFbHx8xaB8fMXcfHzGIHx8xlx8fMaUfHzG0Hx8xwx8fMdEfHzHdHx8x5x8fMe8fHzH1Hx8x/B8f + Mf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8iIjb/IyM3/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/Hx8x/x8fMf8fHzH/LS1H/zQ0Uv83N1j/PT1h/0FBZ/9FRW3/SEhz/0xMef9SUoP/UVGA/0ND + av81NVP/Li5J/zQ0U/9ERGv/WFiL/29vsP99fcX/hobJ/4WFyf+Ghsn/h4fK/4mJy/+Li8z/jY3N/4+P + zf+Njc3/hYXJ/2Bgmf8sLEb/Hx8x/x8fMf8fHzH/qanZ/7Ky3P+2tt7/tbXe/6Ki1f+QkM3/kJDN/5GR + zv+Sks7/kpLO/4uLy/+AgMb/dna5/3Fxsv9xcbL/cnK0/3x8w//Dw+T//v7+/8TE2P+YmLv/ZWWZ/y4u + dP8bG2j/Gxto/xgYZv8WFmX/GRln/xkZZ/8YGGb/GRln/wAAUP8RETn/GBgl/zAwNf9AQED/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEC/wQEBv8HBwz/DAwU/xMTHf8YGCX/Gxsr/x4e + L/8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hh4v/x0d + Lf0bGyr4GBgm8hYWJOwWFiLlFhYi2hYWJMsXFyW7FxclqhYWI5wUFCCREhIdhxERG3kRERtoExMeVBUV + IT8ZGSctHBwsIB8fMRofHzEWHx8xEx8fMRAfHzENHx8xCh8fMQcfHzEGGRknBQwMFAUAAAAK5ubmt+7u + 8P+Xl7r/WlqS/zs7ff8oKHH/HR1p/xwcaf8bG2j/GBhm/xYWZf8ZGWf/GRln/xgYZv8ZGWf/FhZl/w8P + YP8bG17/ODhi/1VVaP9tbW3/Ojo6/wICA/4EBAf5BgYJ5wUFB8gODhawLy9LzUVFbOE8PF9vS0t3f05O + e41cXJJxfHzDh5eX0WGfn9SlmJjRSoyMzGWIiMrMhITIjX5+xTB5eb8ddXW5T3NztaJmZqHpXV2S+Who + pfGGhsnoubng2/7+/v/Pz9//oKDA/3Nzo/88PH7/ICBr/yEhbP8kJG7/Gxto/wgIW/8AAFT/AABS/wAA + R/8JCTT/EBAg/yQkLf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AO0BAQHWAgIDtwQEBpMJCQ5zEBAZXxgYJlcdHS5aHx8xZx8fMXgfHzGKHx8xnB8fMa4fHzHAHx8xzx8f + Md0fHzHnHx8x8B8fMfgfHzH9Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/MjJQ/zo6XP85OVr/NjZV/zU1VP83N1f/OTla/zw8 + Xv8/P2T/Q0Nq/zo6XP8xMUz/NTVT/0lJc/9aWo7/Xl6U/2Rknf9paab/bm6t/21trP9vb6//dHS2/3h4 + vf97e8L/dHS3/2Njm/9VVYb/T098/1JSgv9dXZP/amqo/3x8w/+Jicr/kZHO/4+Pzf+Pj83/j4/N/5GR + zv+Sks7/kpLO/4uLy/9paaX/MDBM/x8fMf8fHzH/Hx8x/6am2P+mptj/p6fY/6Wl1/+Xl9H/jIzM/5GR + zv+Rkc7/kpLP/5KSz/+Ojs3/iIjK/319xP90dLb/cXGy/25urf+AgMf/xcXl//7+/v/Fxdn/mJi7/2Zm + mv8uLnX/GRln/xsbaf8ZGWf/FhZl/xkZZ/8ZGWf/GBhn/xgYZ/8AAFD/ERE5/xgYJf8wMDX/QEBA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICA/8FBQj/CAgM/w0NFP8TEx7/ISE0/y8v + Sf8yMk//Li5I/ygoPv8iIjX/ICAy/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/x8f + Mf8eHjD/HR0u/xwcLP8bGyv/Gxsq/xsbK/8cHCv/HBwr/xsbKv8ZGSj/GBgl/xcXI/8XFyP6GBgl9Boa + KescHCzgHh4v0B8fMb0gIDKoICAykyAgMn0gIDJoICAyVCAgMkIgIDI0ICAyKR4eLyAXFyQaxsbHZPf3 + 9/+4uND/b2+g/0dHhv8xMXf/IyNu/xsbaf8ZGWf/Gxtp/xkZZ/8WFmX/GRln/xkZZ/8YGGf/FRVl/xIS + Y/8SEl7/LCxh/0tLZf9nZ23/ZmZm/wcHCP4FBQj+DQ0U/hcXJPocHCzcFRUhnhAQGWxGRm6lVFSDu01N + emVKSnN/TEx3eWFhmXt/f8Zujo7Njo+PzkiKisvKhYXJbn9/xiN5eb5Bd3e7oXd3u+V4eL34fX3E8HV1 + uM9ra6ibc3O1W9bW7V/+/v7/0NDg/6Cgwf91daT/Pj6A/yMjbv8iIm3/JSVv/yQkb/8YGGf/AwNZ/wAA + U/8AAEj/CQk0/xAQIP8kJC3/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + Af0CAgL3BAQG8AgIDeoODhboFRUg6BoaKOsdHS7zHx8x+iAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAg + Mv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv8iIjb/Jyc9/yoqQv8tLUf/MDBM/zMz + Uf80NFL/MDBL/ykpQP8iIjX/ICAy/yAgMv8gIDL/IiI2/z4+Yf9PT3v/V1eJ/1lZjf9bW4//XFyR/15e + lP9iYpr/ZWWf/2hopP9sbKn/YWGY/1RUhf9bW4//bm6s/3p6wP99fcT/goLI/4GBx/9+fsX/fX3E/4GB + x/+EhMn/hYXJ/4WFyf+Fhcn/hobJ/3h4vP9sbKr/Y2Ob/2Jim/9nZ6L/c3O0/3x8w/+Fhcn/jIzM/5GR + zv+Rkc7/kpLP/5KSz/+Ojs3/cXGy/zU1VP8gIDL/ICAy/yAgMv+zs93/r6/b/6qq2f+hodX/j4/N/4GB + x/+IiMr/i4vL/5GRzv+Tk87/kZHO/46OzP+Fhcj/enq8/21tp/9ycq//hobI/8XF5f/+/v7/xcXa/5mZ + vf9oaJ3/Ly94/xkZaf8YGGn/Fxdo/xYWZ/8YGGn/GRlp/xkZaf8ZGWn/AABR/xEROf8YGCb/MDA1/0BA + QP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAb/CgoP/w8PGP8VFSD/IyM1/zY2 + U/9ISG//VFSD/1ZWhv9SUn//TEx2/0hIb/9ERGn/QEBj/zs7XP83N1X/MDBK/yEhMv8gIDL/ICAy/yAg + Mv8gIDL/Hx8x/x8fMP8eHi//Hh4u/x0dLv8eHi7/Hh4u/x0dLf8bGyv/GRkn/xcXJP8VFSL/FhYi/xcX + JP8aGij/HBws/x4eL/4fHzH9ICAy/CAgMvsgIDL6ICAy+iAgMvkgIDL0ICAy6iAgMuAfHzHWLy8/zeXl + 5vfd3ej/i4uz/1lZk/8/P4L/Kyt2/yAgbv8bG2v/GRlp/xgYaf8XF2j/FhZn/xgYaf8ZGWn/GBhp/xMT + Zf8LC2D/ISFg/z8/Y/9bW2n/bm5u/ykpKf4BAQH5AwME8Q0NE+whIS/vOTlS9k1NcO5RUXqyPj5gU1pa + i3RbW4yLVFSDcFNTgHNgYJR5dXW1d4SEyGiKisuiiYnKS4iIykaGhsmhhYXI4YeHyeWJicq9iYnKfYiI + ykGDg8gZcnKwCGJimAX5+ftC/v7+/9DQ4P+iosL/dXWm/z4+gf8iIm//JCRw/yQkcP8nJ3L/JSVx/xUV + Z/8AAFn/AABK/wgINP8QECH/JCQu/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AwME/wYGCf4KChD+EBAZ/xYWIv8aGin/HR0u/x8fMf8gIDL/ICAy/yAgMv8gIDL/ICAy/yAg + Mv8gIDL/JCQ3/ygoPv8tLUX/MDBK/zMzT/83N1X/PDxc/0BAY/9ERGn/SEhv/05OeP9SUn//VlaF/1pa + jP9eXpH/YWGW/2Bglf9ZWYn/T096/0REav87O1v/NDRR/z4+YP9SUn//ZGSb/29vrP9zc7P/dXW2/3V1 + tv92drb/eHi6/3l5vP96er3/e3u+/3l5vP9sbKf/ZGSb/2lpo/91dbX/fn7D/4ODyP+EhMj/gYHG/4CA + xv+Fhcj/h4fJ/4iIyv+IiMr/iIjK/4iIyv+Jicr/iYnK/4SEyP99fcL/dHSz/3Nzs/92drf/fHzA/4GB + x/+IiMr/i4vL/5GRzv+Tk87/kZHO/3d3uf89PV//ICAy/yAgMv8gIDL/t7ff/7m54P+4uOD/r6/c/5aW + 0P+Dg8j/h4fK/4qKy/+Ojs3/kJDO/4+Pzf+Pj8z/iorJ/3V1tf9gYJT/e3u+/4SEwf/CwuD//v7+/8bG + 2v+bm77/amqe/zExev8ZGWr/GBhq/xYWaP8XF2n/Fxdp/xAQZP8AAFr/AABY/wAASv8PDzb/GBgm/zAw + Nf9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQH/wwMEv8WFiH/ISEz/zQ0 + Uf+vr8D/p6e//2lpo/9xca7/cnKw/3BwrP9tban/a2ul/2lpov9mZp3/Y2OZ/2Fhlf9aWor/Skpy/zw8 + XP8sLEP/LS1F/z4+X/9HR2//Pj5g/zk5V/85OVn/ODhV/zMzTv8tLUX/JiY7/yAgMv8bGyr/Fxcj/xYW + I/8YGCX/Ghop/xwcLf8eHi//Hx8x/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv4gIDL8Hx8w+p6e + pfz+/v7/qqrI/3JypP9TU5D/PT2C/ysrdv8iInD/HBxs/xkZav8YGGr/FhZo/xcXaf8XF2n/EBBk/wAA + Wf8FBVb/FhZZ/zAwXP9RUWf/fHx+/2BgYP8AAAD6AAAA8QEBAeEDAwTKCgoPrhwcKJlBQV2YYWGPq29v + qrJtbamGaGigcWFhlnhhYZV0bGymcHl5u3GDg8h2h4fKaYmJy4qJicunh4fKkYaGyWGGhsk2hobJHISE + yRGDg8gKf3/FB3V1tA5fX5IWzs7YV/7+/v/Q0OH/o6PD/3Z2pv8/P4P/IyNx/yYmc/8lJXL/JiZz/ygo + dP8iInD/EBBk/wAATv8ICDX/EBAh/yQkLv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wMDBP8GBgn/CgoQ/xAQGf8YGCb/ISEz/ykpQP8wMEr/NDRQ/zk5WP8sLEP/KCg+/zY2 + VP9BQWT/RUVr/0tLc/9QUHv/VVWE/1paiv9eXpD/YmKX/2dnnv9qaqT/b2+r/3Fxr/92drb/eXm7/3t7 + vv9+fsP/gIDF/4GBx/+Cgsf/fn7D/3V1tf9oaKH/XV2P/1hYh/9cXI7/ZWWc/29vq/92drb/eXm7/3x8 + v/98fL//fHy//319wf99fcL/fn7C/39/xP+AgMb/fX3B/3Fxr/9mZp3/WFiH/11dj/91dbT/hITJ/39/ + xf9/f8T/hobJ/4iIyv+Jicv/iYnL/4mJy/+Jicv/iorL/4qKy/+Kisv/iorL/4yMzP+Jicv/hobJ/4KC + yP+Dg8j/h4fK/4qKy/+Ojs3/kJDO/5CQzv97e77/RERp/yAgMv8gIDL/ICAy/7e33/+5ueD/ubng/7S0 + 3v+goNX/jY3N/42Nzf+Njc3/jo7N/4+PzP+MjMr/i4vH/4mJw/9mZp3/ZGSa/3l5s/96erL/vb3Z//7+ + /v+9vdX/enqq/y0tef8AAFb/AABO/wAAR/8AADn/AAA7/wAAP/8AAEP/AABF/wAASf8AAD//DAwr/xgY + Jv8wMDX/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBv8NDRT/Fxck/yUl + Of86Olj/pqa6/2lpmv9ubqn/d3e3/3t7vf97e73/e3u9/3p6vP97e73/e3u9/3p6vP96erz/enq7/3t7 + vv9qaqL/SUlw/zw8Xf9DQ2f/U1N//2Rkmf9mZp3/aGif/2dnnv9jY5n/XFyP/1RUgf9LS3L/QkJm/z09 + Xf85OVj/OTlY/zo6Wv86Olr/OjpY/zc3Vf81NVL/MTFM/y8vSP8uLkf/LCxE/ykpQP8oKD3/JCQ4/0lJ + Vv/+/v7/0dHi/5ycwP95ean/VFSS/yoqdv8AAFn/AABP/wAAT/8AAE7/AABH/wAAOf8AADv/AAA//wAA + Q/8CAkP/CwtF/x4eS/85OVL/V1df/25ubv8QEBD+AwMF/AcHC/UODhXpFxcj1SMjNboxMUubRERof1pa + i29vb6tsd3e3c3R0s3hsbKZvaWmiYXFxrlp7e75kgoLIcIWFyniFhcpvgoLIYH19wFp4eLlYdna1XXV1 + tGl2drZ4d3e3h3d3uJd2drWlc3Owso6Osc/+/v7/0dHi/6OjxP96eqr/QUGG/yUldP8lJXT/JCRz/ycn + df8oKHb/KCh2/x8fcP8AAFb/CQk4/xAQIf8kJC7/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAv8GBgn/CQkO/xERGv8mJjv/NjZT/0VFav9RUX3/W1uM/2Fhlv9mZp7/WlqK/1NT + f/9eXpH/a2uk/29vq/9zc7D/d3e3/3t7vf99fcD/fn7D/4KCyP+EhMn/hobK/4eHyv+IiMv/iorM/4yM + zP+MjMz/jIzN/42Nzf+Njc3/jIzM/4uLzP+Ghsr/fX3A/3Fxrf9oaKD/aWmh/2xspv9xca7/dna1/3l5 + u/97e77/e3u+/3t7vv98fL//fX3B/35+w/9/f8P/gIDF/4GBxv+Dg8n/dHSz/1VVg/9KSnL/U1N//2Zm + nf96erv/gIDF/4WFyf+IiMv/iYnL/4qKy/+Jicv/iorL/4uLzP+Li8z/iorM/4uLzP+Njc3/jIzN/42N + zf+Njc3/jY3N/42Nzf+Njc3/j4/O/5CQzv+Pj87/enq8/0VFa/8hITL/ISEy/yEhMv+4uN//ubng/7m5 + 4P+0tN7/n5/V/46Ozf+Pj83/j4/N/5CQzf+Ojsj/iIjD/4SEvP9zc6//VVWC/2Vlm/9qapv/aWma/7W1 + zf/9/f3/lZW8/z8/hf8NDVb/AAA+/wAAQP8AAEL/AAA8/wAAPv8AAEX/AABN/wAATv8AAE3/AAA8/wkJ + IP8YGCf/MDA2/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAb/DAwR/xcX + JP8mJjr/OTlW/0tLc/9eXo//bGym/3d3tf97e7z/fHy9/3x8vf98fL3/fX2//319v/9/f8L/gIDE/4KC + x/+IiMr/g4PI/3Nzr/9dXY//TU11/0lJb/9UVID/aGif/4KCxv+EhMj/hITH/4KCxP98fLz/dnaz/3Fx + q/9vb6f/b2+n/3Jyrf93d7X/fHy9/39/w/+BgcT/goLG/4KCxv+Cgsf/g4PI/4KCx/9/f8L/fn7A/2tr + pP+amqH/lJSZ/0lJX/8fHz7/DAw1/wMDM/8AADf/AAA1/wAANP8AADf/AABA/wAAQv8AADz/AAA+/wAA + Rf8BAUz/BwdL/xUVRv8pKUb/OztG/0hISP8hISL/AwMF/wkJDf4TExz9IiIx+TQ0S/FISGjkWlqD0mlp + nLt1dbCge3u8in19wHx7e7t3dHSxbW5uqVZycq1DeXm5WYCAw2+Dg8h4hobJfIWFyYeCgsebgIDEr35+ + wcB9fb/PfHy+3H19v+d/f8LvgoLH84uLy/enp9j8/v7+/83N4P+hocT/fHys/0REif8mJnb/JSV1/yUl + df8mJnb/KCh3/yoqef8mJnb/AABe/wkJPf8QECL/JCQu/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8DAwT/CwsQ/xMTHf8rK0H/R0dm/2Fhi/92dqn/hYW+/42Nyv+Rkc7/kpLP/4mJ + y/96err/fHy+/4eHyv+IiMr/iIjK/4mJy/+Li8v/jIzM/4yMzP+MjMz/jY3N/4+Pzf+Ojs3/j4/N/4+P + zf+QkM7/kJDO/4+Pzf+Pj83/j4/N/46Ozf+Ojs3/jIzM/4iIyv9/f8P/dna0/3FxrP9xca3/dHSx/3d3 + tv96err/fHy9/3x8vf98fL3/fHy9/319v/99fb//f3/C/4CAxP+Cgsf/iIjK/4ODyP9zc6//Xl6Q/05O + dv9KSnH/VlaD/2trpP+Fhcn/iIjK/4qKy/+Li8v/i4vL/4qKy/+Li8v/jIzM/4yMzP+MjMz/jIzM/46O + zf+Njc3/jY3M/46Ozf+Pj83/kJDO/5KSz/+Sks7/kJDO/3p6u/86Oln/ISEy/yEhMv8hITL/uLjg/7q6 + 4f+6uuH/tLTe/6Cg1f+QkM7/j4/O/46OzP+Ojsn/iYnD/4GBuP90dKr/TEx1/01Ndf9ZWYP/VFR8/1NT + ef+np7r//f39/5+fw/9lZZ7/Kyt6/wAAWP8EBGL/HBxx/xsbcP8bG3D/GRlv/xMTa/8EBGL/AABY/wAA + P/8ICB7/GBgn/zAwNv9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwME/wkJ + Dv8VFR7/JCQ3/zY2Uv9HR2z/WFiH/2honv9zc6//eXm4/3x8vP98fLz/fX2+/35+wP9/f8H/gIDD/4CA + w/+EhMn/hobK/4SEyf+EhMn/hobK/3Nzr/9gYJL/UVF8/1hYhv93d7X/k5PQ/5yc0/+dndH/m5vO/5mZ + yv+YmMb/mJjF/5qaxf+fn8n/pKTP/6qq1f+vr9r/sbHc/7S03v+0tN7/trbf/7m54P+5ueD/t7fe/6Wl + 1P9xcZX/X19f/z8/Sv8cHC//Cgoi/wMDIv8AAC7/AABB/wAATP8AAE//AABQ/wQEYv8cHHH/Gxtw/xoa + b/8VFWz/BgZj/xISW/8lJU//NjZJ/0RER/84ODj/AgIC/gUFB/wLCxD2FhYf7CMjMts0NEjER0dipltb + f4pvb510fn62bIODxHWAgMN2fn7AdXp6unF2drNgcnKuVXR0sWF5ebhzf3/Bc4SEyXaHh8pviIjLZYqK + zGOLi8xriYnLeYaGyoqEhMmZg4PHp4mJy7ORkc+8t7ff1P7+/v/AwNf/hoay/2Bgm/83N4L/Kip5/yUl + dv8lJXb/JSV2/ygoeP8pKXn/KSl5/wcHY/8KCkT/EBAi/yQkLv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BAQE/wwMEP8cHCb/OTlH/1pab/96epf/lJS2/6Wlzf+urtn/sLDc/7Cw + 3P+pqdn/mJjS/5SU0P+fn9X/np7U/5yc0/+amtP/mprT/5mZ0v+Xl9H/lJTQ/5SU0P+Tk9D/kpLP/5KS + z/+QkM7/kpLP/5GRz/+QkM7/kJDO/5CQzv+Pj87/j4/O/46Ozf+Ojs3/i4vM/4ODyP96err/dHSx/3R0 + sf92drT/eXm4/3t7u/98fLz/fHy8/319vv99fb//fn7A/4CAw/9/f8L/g4PH/4ODyP+AgMP/f3/C/4CA + w/9ra6L/VVWB/0REZ/9ISG7/Zmab/4ODx/+Li8z/jIzN/4yMzP+Li8z/i4vM/4yMzf+MjM3/jY3N/42N + zf+Pj87/j4/O/4+Pzv+QkM7/j4/O/5CQzv+Sks//kpLP/5CQzv9ycq7/IiIz/yEhMv8hITL/ISEy/7i4 + 3/+6uuD/urrg/7W13v+iotX/kZHO/5CQzf+Ojsr/i4vE/4KCuP93d6n/Xl6N/0lJbf9GRmj/QUFf/zw8 + Vv85OVP/nZ2p//7+/v/Fxdv/mprA/2hoov8tLX3/GRlw/xwccv8bG3L/Ghpx/xkZcP8YGHD/ERFs/wAA + Yf8AAET/CAge/xgYJ/8wMDb/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC + Av8HBwr/EhIZ/yIiMP81NU7/R0dq/1hYhf9oaJz/dXWv/319vP+CgsP/hYXI/4iIyv+Jicr/i4uz/4uL + xf+Sks7/lpbQ/5WV0P+UlM//l5fR/5qa0v+cnNP/mprS/4WFyP91dbD/e3u5/46OzP+iotb/sbHa/7Cw + 2v+wsNn/r6/X/66u1f+vr9b/sbHY/7S02/+4uN3/ubnf/7u74f+8vOH/vLzh/7294v+/v+L/vr7i/7Cw + 2v+bm8X/n5+i/5CQnP9nZ5P/QECI/zMzgP8gIHX/FhZv/xUVbv8ZGXD/Ghpx/xcXb/8ZGXD/HBxy/xoa + cf8YGHD/Dw9q/wwMZf8iImD/OTlY/0ZGUP9FRUX/ERER/gEBAvkDAwTvBQUH3AcHCr8LCxGbFRUeeC0t + QWBTU3lbdXWraoSEwYCFhcaJgoLDe4CAwHB/f794fn68cHx8um15ebVveHi1d3p6uHB+frx8f3++iH5+ + vHh/f75ZgIDAO35+vSl9fbwcfHy6Gnt7uCSBgcEuhYXIOszM6HT+/v7/wcHZ/3p6rf86OoX/Bwdl/wAA + X/8NDWn/HBxy/yUleP8lJXj/Jyd5/ycnef8KCmf/CwtL/xERJP8kJC7/Pz8//yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBP8NDRH/ICAo/z09Sf9fX3H/goKZ/52duv+xsdH/u7vf/7+/ + 4/+/v+P/v7/i/7Gx3P+trdr/tbXe/7W13v+0tN7/srLd/7Gx3P+wsNz/rq7b/6ur2v+qqtn/qKjY/6am + 1/+jo9b/oaHV/6Cg1P+fn9T/nJzT/5ub0v+ZmdL/mZnR/5eX0P+VldD/lJTP/5OTz/+QkM3/iYnK/39/ + v/95ebb/eXm1/3l5tv97e7j/fHy6/35+vP9/f77/f3++/4CAwP+BgcH/gYHC/4WFx/+CgsP/gIDA/4CA + wP+BgcH/goLD/3t7uP9cXIv/RkZp/0dHav9cXIr/eXm1/4+Pzf+QkM3/j4/N/46OzP+Njcz/jo7N/4+P + zf+Pj83/j4/N/4+Pzf+QkM7/kZHO/5GRzv+Rkc7/k5PP/5KSz/+Sks//Zmaa/y8vRv8iIjL/IiIy/yIi + Mv+3t9//urrh/7u74f+1td7/oqLW/5CQzv+Ojsz/jIzH/4yMvv+KirP/cnKY/1NTef9AQGD/NDRN/ysr + Pv8kJDX/IyMy/5GRmf/+/v7/xcXb/5mZwf9nZ6L/LS1+/xgYcf8bG3P/Gxtz/xkZcf8ZGXH/GBhx/xYW + cP8ODmv/AABM/woKJf8YGCf/MDA2/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAgL/BgYI/xAQFv8iIi7/NzdL/09Pbf9kZI//dnaq/4aGv/+Rkcv/mJjR/5ub0/+entT/5+f0/729 + vf96eoP/paXS/6mp2f+np9j/p6fY/6io2f+pqdn/rKza/62t2/+rq9r/oKDV/5eX0f+Tk8//m5vT/6ur + 2v+yst3/tLTd/7S03P+1td3/tbXd/7a23f+3t9//t7ff/7q64P+6uuH9urrh+rq64fe3t9/ztrbe77Oz + 2+qjo9Hm19fk9vr6+v+fn8T/YGCd/z8/if8oKHr/GRlx/xUVb/8WFnD/GBhx/xgYcf8YGHH/GBhx/xsb + c/8ZGXH/ExNu/woKaP8aGmT/NjZj/05OYf9eXl7/Li4u/wAAAPoAAADwAQEB3gMDBcYLCxGrHR0rlj09 + W5NgYJCld3exvoODwceHh8eliIjKa4aGyWiDg8R+goLCcIKCw3aDg8R3gIDAd3t7uW96eraIe3u5XX19 + u3N6eraneXm1wnt7uLN7e7mMenq2XXh4tDZ3d7EjcHCnE21towj8/P1B/v7+/83N4P+UlL3/Tk6S/wUF + Zf8AAFv/AABf/wMDZP8QEGz/Fxdw/yIid/8mJnn/DQ1q/wwMUP8UFCr/JCQu/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwT/DQ0R/iEhKP49PUj+YGBx/4ODm/+fn7v/tLTS/7+/ + 4f/Dw+X/xMTl/8XF5f+9veL/t7ff/76+4v+/v+P/v7/j/7+/4//AwOP/wMDj/7+/4/+/v+P/vb3i/729 + 4v+8vOH/urrh/7i44P+3t9//tbXe/7Oz3v+yst3/r6/c/66u2/+rq9r/qanZ/6en2P+lpdf/oqLW/56e + 1P+VldD/jIzM/4aGyf+EhMb/hYXH/4ODxP+Dg8T/g4PE/4KCw/+CgsP/g4PE/4WFyP+Dg8T/goLC/4GB + wf+CgsL/goLC/4ODxP+EhMX/f3+9/2Vll/9NTXP/QEBg/0xMcf9oaJz/e3u4/4KCwv+EhMX/iYnL/4mJ + y/+MjMz/j4/N/5CQzv+Rkc//kZHP/5CQzv+QkM7/kpLP/5qa0v+np9j/n5/U/3NzrP87O1n/IiIz/yIi + M/8iIjP/uLjf/7u74f++vuL/vb3h/6+v2/+jo9b/pqbV/5+fy/+Xl77/goKl/1lZgP8/P13/MDBG/yMj + Mv8YGCP/ExMc/xISGv+JiY3//v7+/8XF2/+ZmcH/Zmai/y4ugP8WFnH/GRlz/xkZc/8YGHP/GRlz/xcX + cv8WFnH/FBRw/wAAVf8MDC7/GBgn/zAwNv9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AwMD/wcHCf8TExj/JiYv/z8/T/9cXHP/d3eW/4qKsv+Zmcb/pKTT/6ur2v+trdr/rq7b//n5 + /P/+/v7/u7u7/52dsv+vr9v/rq7b/62t2/+urtv/rq7b/6+v2/+wsNz/sLDc/7Gx3P+trdv/o6PW/6Ki + 1f2lpdf7q6vZ+bKy3fe0tN70tLTe8bOz3e60tN7qtLTe57W13uS2tt7ctrbe0rW13se1td65s7PdrbKy + 252oqNGNuLjOqvDw8P/W1uX/g4Oz/1FRlf80NIP/ISF4/xYWcf8UFHD/FhZx/xcXcv8XF3L/GRlz/xYW + cf8YGHP/FRVx/w0Na/8SEmf/Kytk/0dHZP9iYmn/W1tb/wUFBfwBAQH1AgIC6AgIDNoYGCTQNTVN1FVV + euRubp3wgICz6oqKwb+OjsZpjY3IJo6OzV6Li8uoh4fJaoaGx3uHh8h1h4fJe4aGyG+Dg8KDfHy4aHt7 + trB/f71PgoLANoSExHCJicq/jIzM6o2NzO2NjczSgYHAn29vpmheXos+zc3YWf7+/v/MzOD/m5vC/21t + pv8tLX//Cgpq/wMDZv8EBGb/DAxr/xISb/8aGnT/Hx93/woKav8MDFP/FhYw/yQkL/8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgID/QsLDfocHCH1NjZA8VlZae5+fpXtnJy37LGx + 0Oy/v+Duw8Pk8cTE5fTFxeX4wMDj+by84fu/v+P+wsLk/8LC5P/Dw+T/w8Pk/8TE5f/FxeX/xcXl/8XF + 5f/FxeX/xcXl/8XF5f/FxeX/w8Pk/8LC5P/CwuT/wsLk/8HB5P/BweP/wMDj/76+4v+9veL/vLzh/7q6 + 4P+5ueD/tLTe/6ys2v+jo9b/np7U/5yc0/+amtL/mJjR/5aW0P+UlM//k5PP/5SUz/+QkM7/jIzM/4qK + y/+IiMr/iIjK/4eHyP+Hh8n/h4fI/4aGx/+EhMT/d3ex/1dXgv9HR2r/TExx/2Bgj/97e7b/goLA/4SE + xP+EhMT/iYnK/46Ozf+Tk8//mZnS/56e1P+jo9b/qanZ/6qq2f+urtv/rKza/5CQzv9paZz/PDxZ/yIi + M/8iIjP/IiIz/7u74f++vuL/wMDj/76+4v+wsNz/o6PW/6Oj0/+Xl8X/iYmz/2trk/9FRWb/LS1C/yIi + Mv8VFR7/DAwR/wgIC/8GBgn/g4OE//7+/v/ExNz/mJjB/2Zmo/8sLID/FhZy/xkZdP8ZGXT/GBhz/xcX + c/8YGHP/FhZy/xUVcv8AAFn/Dw83/xgYKP8wMDb/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wQEBP8KCgz/GBgd/y0tN/9JSVf/Z2d8/4SEoP+Xl7r/pKTN/62t2P+yst3/s7Pe/7Oz + 3v/o6PX//v7+/+Pj8v+xsd3/r6/c/66u3P6urtv9rq7b/K6u2/uurtz6r6/c+LCw3Pixsd33sbHd9a+v + 3O2rq9rjqKjY2Kio2Myrq9q+sLDcrLOz3piyst2EsrLdbrOz3Vi0tN5FtLTeNLS03iW0tN4atLTeEZ6e + xQkkJCwFh4eHHOPj4+T19fX/urrV/3Z2rP9LS5L/LCyA/xsbdf8SEnD/ERFv/xQUcf8WFnL/Fxdz/xcX + c/8WFnL/Fxdz/xIScP8LC2n/ICBm/z09Zf9YWGf/a2tr/yYmJv4BAQH6BAQG9g4OFfYgIDD5OTlV/lRU + d/1ra5X2e3uqzn5+rnJ3d6Uhi4vBG5KSz3iQkM7jj4/OZYqKzGWLi8yJjo7NdIuLzIOMjMxjjIzMp4OD + wTV5ebOJfHy30n9/vGp/f7wZhYXFI46OzXGVldDLlpbR+JCQzv2Dg8L/amqe54WFn8v+/v7/ysrf/5iY + wf9qaqX/Ly+B/xYWcv8XF3P/Fxdz/xcXc/8XF3P/Ghp1/x0dd/8GBmn/DAxT/xcXM/8kJC//Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoBAQHsBQUF1g0ND7khISaaR0dUgnh4 + jXmior56u7vciMPD5JrDw+SuxMTlwMLC5M68vOHZvb3i5cHB5O7BweT1wsLk98PD5PjExOX4xcXm+sXF + 5vvGxub8xsbm/sfH5v7Hx+b/x8fm/8fH5v/Hx+b/x8fm/8fH5v/Hx+b/x8fn/8fH5//Hx+f/x8fm/8fH + 5v/Hx+b/x8fm/8bG5v/Dw+T/vb3i/7i44P+1td//tLTe/7Oz3v+yst3/sbHd/7Cw3P+srNr/p6fY/6Oj + 1v+hodX/np7U/5yc0/+amtP/mZnS/5eX0f+Xl9H/l5fR/5WV0P+Ojs3/fX25/2homv9nZ5j/dHSs/4iI + yf+Pj87/jY3N/4+Pzf+Rkc7/lZXQ/5qa0/+goNX/pKTX/6mp2f+lpdf/pqbY/5mZ0v+BgcD/W1uH/zo6 + Vv8iIjP/IiIz/yIiM/+9veH/wMDj/8HB4/+7u+D/paXX/5GRzf+MjMj/hIS6/3p6p/9nZ4v/RUVi/ygo + Ov8aGiX/DQ0S/wUFBv8CAgL/AQEB/4CAgP/+/v7/xMTc/5iYwf9mZqT/LCyB/xgYdf8YGHX/Ghp2/xoa + dv8YGHX/GBh1/xgYdf8WFnT/AABd/xAQPP8YGCj/MDA2/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAf8GBgf/Dw8S/yAgJv83N0L/VVVl/3Jyif+Ojqr/oKDC/6ur0v+vr9n/s7Pd/7Oz + 3f+0tN7/wMDj/8jI5v+zs93/r6/b96+v2+2vr9vjrq7b2K6u28iurtu0r6/boK+v24qwsNxzsbHcX7Gx + 3Eqystw5srLcLK6u2iGpqdkWq6vZDq6u2giystwHtLTdB7S03Qa0tN4FtbXeBLa23gO2tt4Ct7ffAre3 + 3wE9PUoDEhIWCtzc3Jrq6ur/2NjayKioy/9vb6n/RUWQ/yYmfv8YGHX/ExNy/xIScv8SEnL/FBRz/xgY + df8XF3X/Fxd1/xMTcv8MDG7/GBhq/zIyZv9OTmf/a2tt/01NTf8BAQL+BQUH/g0NE/8cHCn/MjJJ/0tL + av1dXYHbYGCEh1FRcDg5OVAShoa/KY+Py52Pj831k5PPgpWVzySOjsyhkZHOgpaW0GSQkM2XkJDNXJaW + 0JWPj82Zf3+5FXx8tqN8fLXhdXWrkHV1qyZ/f7kIiorJI5KSznWamtLZnJzT/pOTz/+bm8X+/v7+/8bG + 3f+VlcD/ZWWj/y4ugv8VFXT/FBRz/xcXdf8ZGXb/Gxt3/x8fef8eHnn/BQVq/wwMU/8TEyn/JCQv/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEBAQGuAgICgQcH + CFUPDxIyLS01GnNzhgzFxeUHxcXlCcXF5Q/ExOUXvb3iIr294S3CwuM6wsLkTMLC5GHDw+R2xMTkjcXF + 5aLFxeW2xcXlysXF5drGxuXkxsbm78bG5vjGxub/xsbm/8fH5v/Hx+b/yMjm/8jI5//Jyef/ycnn/8nJ + 5//Kyuf/ysrn/8rK5//Kyuf/ysrn/8jI5v/FxeX/wsLk/8LC5P/CwuT/wsLk/8TE5P/Dw+T/vr7i/7q6 + 4P+4uN//t7ff/7W13v+0tN7/s7Pd/7Ky3P+wsNz/sLDc/7Cw3P+urtr/rKza/6mp2P+ZmdH/iIjG/4KC + vv+MjMz/mZnR/6Cg1P+dndP/nJzT/5yc0/+bm9L/mprS/5iY0f+Vlc//lZXP/5qa0v+fn9T/kJDN/2Fh + jv88PFj/IyMz/yMjM/8jIzP/v7/j/8PD5f/FxeX/wcHk/66u2/+amtL/lZXL/4mJvP95eab/aGiJ/0dH + YP8oKDr/GRki/w0NEP8DAwT/AQEB/wAAAP9/f3///v7+/8TE3P+Xl8L/ZWWk/ysrgv8XF3f/FhZ2/xoa + eP8aGnj/GBh3/xkZeP8ZGXj/FhZ2/wAAX/8QED7/GBgo/zAwNv9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAQL/BwcJ/xQUGP8nJy//QUFO/19fc/17e5T4k5Oy8KWlyOaurtXYsbHbybOz + 3bezs92ltbXekLa233+0tN5tsLDcW6+v3Euvr9xAr6/cM6+v3Civr9wgr6/cGbCw3BWwsNwTsbHdELOz + 3Q6zs90KtLTeCLS03ge0tN4FsbHcA6ys2gH+/v4A/v7+AMHBwQDT09MA/v7+AP7+/gD+/v4A/v7+AP7+ + /gAAAAABAAAABrq6uj3n5+f/5eXl/46OnLGNjbz/XV2f/zk5i/8gIHz/Fxd3/xMTdP8TE3T/ERFz/xMT + dP8WFnb/FhZ2/xQUdf8NDXH/Dw9t/ycnaf9ERGf/YWFr/2lpaf8ODg7/BAQG/wsLEP8ZGST/LCw//j4+ + VehCQlmoODhMXykpOC1ISGQdiIjASJCQzbKQkM7nkZHOppiY0RuZmdJgj4/NxpOTz2OcnNNglZXQrJGR + zlqbm9NkmZnS5IiIxjWFhcIwhYXCsXx8tOR2dqypenqyPHt7sweFhcISlpbRL6am2H+vr9zV0dHq+/7+ + /v/Dw9v/kZG+/2Jiov8sLIP/FhZ2/xYWdv8YGHf/FhZ2/xkZeP8eHnv/HBx5/wQEa/8LC0z/EBAk/yQk + L/8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABSAAAALgAAABQAAAAFAAAAAMfH5gHHx+YCyMjmA7+/4wW8vOEHw8PkCMPD5QvExOUOxcXlEMXF + 5RPGxuYVx8fmGsfH5h/Hx+Ypx8fmNcbG5kHGxuZNxsbmXsbG5m/Hx+aAxsbmk8fH5qfHx+a5yMjmycjI + 59nIyOfjyMjn7cnJ5/bJyef8ycnn/8nJ5//Jyef/yMjn/8bG5v/FxeX/xsbm/8jI5//Jyef/x8fm/8LC + 5P/BweP/wMDj/8DA4/+/v+P/v7/j/7+/4/+/v+P/v7/j/8DA4//AwOP/v7/j/7+/4/++vuL/u7vh/7S0 + 3v+pqdn/oqLW/6Wl1/+urtv/tLTe/7Oz3f+yst3/srLd/7Cw3P+srNr/qKjY/6Oj1v+hodX/pqbY/5qa + 0v9nZ5b/QEBe/yYmOP8jIzP/IyMz/8LC5P/Ly+j/0dHr/8/P6v+/v+P/ra3a/6am0/+amsX/h4eu/3Bw + kP9RUWn/Ly9E/yAgK/8UFBj/CQkL/wYGB/8DAwT/gICB//7+/v/ExNz/l5fC/2RkpP8rK4P/FhZ3/xQU + dv8WFnf/GRl5/xcXd/8YGHj/GBh4/xkZef8AAGD/EBA//xgYKP8wMDb/QEBA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB/gYGCPsODhLyHBwh5C0tNstCQlGrW1tuiXd3kGuSkrFQqanNO7Cw + 1jG0tN4ns7PeIra23x23t98YtLTeFLKy3Q+wsNwMsbHdCbGx3Qaxsd0DsbHdAujo6ADExMQAu7u7AMnJ + yQDX19cA8PDwAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+APb29gDc3NwA9PT0AP7+/gD+/v4A/v7+AP7+ + /gAAAAABAAAAAwAAAAvl5eXV7Ozs/7u7zv+Njbj/aGim/0VFk/8tLYT/HBx6/xYWd/8TE3X/FBR2/xMT + df8TE3X/FRV2/xQUdv8PD3P/CQlt/x0dav85OWj/VVVo/25ubv80NDT/AwME/wkJDv8VFR7+IiIu8ikp + NsslJTCOHx8nWRERFy9LS2cpiYnAZJKSzsKVldHok5PQupOT0Cubm9MXmprStI2NzbySks9Bnp7UZZaW + 0b6QkM5hnJzUOJyc1OiOjs2YjIzMHY+PzkWJice/hobD64aGw7p5ebBVdXWqC4KCvgacnNQZs7PdQOjo + 9cX+/v7/wMDa/5CQvv9fX6H/KiqD/xQUdv8WFnf/GBh4/xcXd/8YGHj/Gxt6/xoaef8CAmv/CQlC/xAQ + JP8kJC//Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADJyecBycnnA8nJ5wfIyOcJyMjnDMjI5xDIyOcVyMjnGcjI5x3IyOcjyMjnJ8jI + 5y7IyOc5yMjnRcjI51LIyOdfyMjnbsjI537JyeeOycnnncjI563Hx+a9xsbmysXF5tjHx+bjyMjn7MXF + 5vPDw+X6wsLk/8LC5P/CwuT/wsLk/8LC5P/CwuT/w8Pl/8PD5f/ExOX/xcXm/8XF5v/Gxub/xsbm/8TE + 5f/ExOX/wsLk/7q64f+1td//t7ff/7u74f+/v+P/wcHk/8TE5f/Fxeb/wsLk/7+/4/+7u+H/trbf/7Oz + 3f+qqtr/dHSp/0pKbP88PFj/IyMz/yMjM//Hx+b/1NTs/9vb7//a2u//zs7p/7y84f+1tdv/qanN/5aW + uf+AgJ7/Y2N7/z4+Vv8sLDz/IiIq/xYWG/8QEBP/CwsO/4ODhP/+/v7/xMTd/5eXw/9lZab/Li6H/xcX + ef8WFnn/FhZ5/xYWef8XF3n/GBh6/xgYev8ZGXr/AABi/xAQQf8YGCn/MDA2/0BAQP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf0CAgPzBAQF4AkJC8QNDRCcFRUZbh0dI0crKzQnSUlYEnFx + iAVeXnAC/v7+AP7+/gD+/v4A29vbALy8vADGxsYA+fn5AP7+/gD+/v4A/v7+AP7+/kD+/v7/29vb/83N + zQDU1NQA39/fAPLy8gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/f39AP7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAgAAAAfW1tZ77e3t/8PD2f9/f7H/VVWZ/zw8j/8tLYb/Hh5+/xYWef8UFHj/ExN3/xMT + d/8TE3f/ExN3/xUVeP8UFHj/Cwty/xQUbf8uLmn/S0to/2hobf9bW1v/AgID/wcHCf4PDxT6FRUc5xUV + G74SEhaNBgYHWgMDBDZSUm46hYW8fIqKyNGPj83vlZXQyJKSz0yVldAInJzTXpmZ0uONjcyVkpLPKp6e + 1HKXl9HOkZHObJ6e1B6fn9TAkZHO446OzUmUlNAZkpLPXJiY0c+WltDzg4O+yGpqmmthYY0VdHSoApmZ + 0gf29vuQ/v7+/7y82f+MjLz/W1ug/ygog/8WFnn/FhZ5/xQUeP8TE3f/Fxd5/ygog/9DQ5P/GRl6/wsL + Tv8TEyv/JCQw/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAysroAMrK5wDKyugAysrnAMrK5wDKyugAysrnAMrK + 6ADKyugBysroBMvL6AfKyugLysroDsrK6BTKyugaysroIMrK6CfKyuguycnnNcXF5j3Dw+VIxcXlVcbG + 5mTFxeVxxMTlgMPD5I/CwuSdwsLkq8LC5LbCwuTDwsLk0MPD5NvExOXkxMTl7MXF5fLFxeX4xsbm/8fH + 5v/Hx+b/yMjm/8fH5v/FxeX/wMDj/7294v+9veL/vb3i/8LC5P/Ly+j/z8/q/83N6f/Ly+j/yMjn/8XF + 5f/CwuT/v7/j/46Ozf9YWH//TU1v/ywsQP8kJDP/z8/q/9XV7f/Y2O7/2Nju/87O6f++vuL/ubne/6+v + 1P+hocT/jo6s/3d3kP9WVnD/OztU/zIyQf8pKTL/Hx8m/xUVGv6Ghof//v7+/8TE3f+WlsP/Y2Om/yws + hv8ZGXv/GRl7/xcXev8UFHj/FhZ6/xcXev8XF3r/GBh7/wAAZP8QEEL/GBgp/y8vNv9AQED/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD8AAAA7wAAANgAAAC2AAAAiwAAAFsAAAA1AAAAGQAA + AAjz8/MA+fn5AP7+/gD+/v4A/v7+APf39wC6uroAmZmZAKysrADo6OgA/v7+AP7+/gD+/v4A/v7+oP7+ + /mDz8/MA9fX1AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A+Pj4AP7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAQAAAAWDg4Md6enp8s/P3v+Fhbr/SkqX/ycnf/8XF3j/FRV4/xQUeP8SEnj/ExN4/xUV + ef8WFnr/FhZ6/xMTeP8REXf/Dw91/w0NcP8kJGz/QEBo/1paaP9qamr/Gxsb/wQEBv0ICAv2CwsO4QkJ + C74DAwSQAQECZgUFB0NSUm9Mf3+1k4ODvN2EhL74jo7L1JeX0WWXl9ERmZnSHZ2d1L6ZmdLtjY3KZ5OT + zx2fn9WDmprT25WV0HuhodYSo6PWgZaW0PeQkM6bl5fRJKCg1RqlpddxpaXX25eX0fh1dafYUFBzf0JC + XyVYWH0H/v7+gP7+/v+5udf/iYm7/1paoP8sLIb/JSWC/zAwiP85OY7/RkaV/0lJl/9RUZv/Tk6a/wAA + av8JCUX/EhIq/yQkMP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjI5wDHx+YAyMjnAMjI5wDJyecAycnnAMnJ + 5wDKyugAy8voAMzM6ADMzOkAzc3pAM3N6QDNzekAzc3pAM3N6QDNzekAzc3pAMrK6ADFxeUAxMTlA8bG + 5gfIyOcMx8fmEMfH5hXGxuYdxMTlJcPD5S/Dw+U4w8PlQMPD5ErDw+VXw8PlZMTE5XPFxeWCxcXlkcbG + 5qHGxuauyMjnusnJ58PJyefMyMjn1sbG5uDDw+TowMDj77+/4/TCwuT4zc3p/dLS6//Q0Or/zs7p/83N + 6f/Ly+j/ysro/8nJ5/+pqdn/ZWWR/1FRdP9JSWj/JCQ0/9fX7f/b2+//2dnu/9PT7P/Kyuf9vr7i+bm5 + 3vaxsdbzp6fL7peXueqEhKLobGyG5klJZ+c7O1HoNDRA6SYmL+sZGR/ti4uN+P7+/v/Fxd7/mJjE/2Rk + qP8rK4f/GBh9/xkZff8YGH3/FRV7/xQUev8WFnv/GRl9/xoafv8AAGj/Dw9G/xYWKP8tLTX/QEBA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAO4AAADWAAAAtAAAAIgAAABYAAAAMwAA + ABgAAAAH8fHxAPT09AD29vYA/Pz8AP7+/gD+/v4A9PT0ANjY2ADExMQA29vbAP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A8PDwANzc3AD+/v4A/v7+AP7+ + /gD+/v4A/v7+AAAAAAMAAAAK5eXlt+7u7/+ZmcX/WVmh/y8viv8LC3D/BQVr/wkJdP8MDHb/ERF5/xMT + ev8WFnv/GRl9/xoafv8WFnv/Dg53/wgIc/8aGm//Nzdr/1JSaf9tbW3/QEBA/wICA/0EBAX1BAQF4QIC + A8IAAACcAgICdQwMD1RKSmdcdHSkqXp6rep+frT+iIjB35SU0HydndMYnZ3TDpqa0mGamtLwlpbQ2o6O + ykGUlM8anp7Uk5ub0ueXl9GKoqLVC6am10SamtLtjY3I4JKSzlagoNUOqqrZI7Oz3YawsNzpl5fR/WFh + iekvL0KSJCQ0Nfb294X+/v7/vr7a/4+Pv/9eXqT/KyuH/yQkg/8wMIr/OjqQ/0RElf89PZH/Pz+T/yIi + gv8AAF7/CAg5/xERKP8kJDD/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6uuAAurrgALy84QC8vOEAvb3iAL+/ + 4gDAwOMAwsLkAMTE5QDGxuUAx8fmAMnJ5wDKyucAysroAMvL6ADMzOgAzc3pAMzM6ADGxuYAw8PkAMXF + 5QDIyOYAycnnAMnJ5wDJyecAycnnAMbG5gDGxuUAxcXlAMTE5QDExOUAxMTlAsTE5QfExOUMxMTlEsTE + 5RjFxeUhx8fmLMnJ5zjKyuhDy8voUMrK517IyOduxsbmfMXF5YvExOWaxMTlqMzM6LfS0uvC0dHqy87O + 6dLNzenZzc3p4czM6OfMzOjtvb3i8nx8sPZZWX/5XV2E/To6Uv/e3vHn4eHy49ra797OzunXwsLkzLm5 + 4MC3t9+0sLDYqqiozp6YmLqUgoKfjmpqgotDQ12MKio8lCEhK50VFRqrCwsOvI+PkOf+/v7/xcXe/5mZ + xv9mZqr/LS2K/xcXfv8ZGX//GRl//xgYfv8XF37/FhZ9/xYWff8aGn//AABt/w8PTf8TEyf/KCgy/0BA + QP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAADtAAAA1QAAALIAAACFAAAAVgAA + ADEAAAAXAAAABvDw8ADx8fEA8vLyAPf39wD9/f0A/v7+AP7+/gD+/v4A6OjoANvb2wDl5eUA/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDi4uIA/v7+AP7+ + /gD+/v4A/v7+AAAAAAIJCQ0Ivb2+UfDw8P+5udf/bW2t/0JClv8lJYX/AgJt/wAAaP8HB3X/DAx4/xIS + e/8UFHz/FhZ9/xkZf/8cHIH/Fxd+/w0NeP8SEnP/Kytt/0hIav9kZGz/YmJi/wcHB/0BAQL2AQEB5QAA + AMwAAACqAgIChBQUGmdFRWFva2uYv3Z2p/Z6eqz/gIC265GRzpKhodUmpqbYBqGh1SqYmNLElZXR/JSU + 0KyRkc4nl5fRIJyc1KKZmdLwlpbRmqGh1QipqdkboKDV0YiIwPmHh8Chk5PQK6Oj1wS5ueAsw8Plnrq6 + 4fSWltH/TExr+CUlNKfS0tWh/v7+/8LC3f+Tk8P/X1+m/yYmhv8SEnv/EhJ7/xAQev8LC3f/Dg55/xoa + f/8mJob/AABp/wgIPf8RESj/JCQw/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD7AAAA7AAAANIAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqqraAKio2QCpqdkAqqrZAKqq + 2QCqqtoAra3bAK6u2wCxsd0AtLTeALa23wC5ueAAu7vhAL294gC/v+MAwcHkAMPD5ADBweQAu7vhAL6+ + 4gDDw+UAxcXmAMbG5gDHx+YAyMjnAMjI5wDHx+YAx8fmAMXF5QDDw+UAw8PkAMPD5QDDw+UAxMTlAMPD + 5QHDw+QCxMTlA8jI5wTMzOkEz8/qBM/P6gXOzukIzMzpDcrK5xHLy+gXzMzpH8fH5ijKyuczz8/qP8/P + 6k3Nzelbzc3pas3N6XvMzOmLzMzpm8bG5qmRkc61YWGJwWdnks1UVHfX4ODxieHh8nrX1+1syMjnXry8 + 4VC1td5EtbXeOq6u1TSdncEvhoalL2dnfzFMTF05Ly8/QxcXIFUSEhlpDw8TgggIC5yXl5ja/v7+/8XF + 3/+Zmcb/Z2er/y4ui/8YGH//GBh//xkZgP8ZGYD/GRmA/xYWfv8UFH3/FhZ+/wAAcP8MDFX/EhIt/yEh + L/87Oz3/HBwc/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA7AAAANMAAACwAAAAgwAA + AFUAAAAwAAAAFgAAAAbu7u4A8PDwAPPz8wD5+fkA/v7+AP7+/gD+/v4A/v7+AP7+/gD9/f0A7e3tAOvr + 6wD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A3NzcAP7+ + /gD+/v4AJSU0AyEhLgkeHioVWVlhNubm5una2uf/iIi9/1NToP84OJH/IyOG/wAAbv8AAGf/BAR0/w4O + ev8UFH3/GRmA/xwcgf8cHIH/HR2C/xUVff8LC3b/ICBw/z09a/9ZWWr/bW1t/ycnJ/4AAAD3AAAA6wAA + ANYAAAC3AgIDlBQUG3hLS2iHa2uW2XV1pP16eqr/eHip9oODuaadndMyra3bAays2hWgoNVrlpbQ+pCQ + yv6QkMt2l5fRF5yc0yudndSul5fR9JKSzqeentQOra3aCaen2J6WltDygoK35Hp6rGONjcYNr6/bB8rK + 5zbQ0Oq9wsLk+5aW0P89PVX/oaGo3/7+/v++vtz/lZXE/2Njqf8tLYv/HByB/xwcgf8WFn7/EBB7/wkJ + d/8ICHb/GxuB/wAAaf8HBzn/EBAl/yQkMP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAB/QEBAfICAgLaAgICtQICA4gCAgNXAgICMAICAhUAAAAFAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSk1wCgoNUAn5/UAJ+f + 1ACfn9QAnp7UAJ+f1ACfn9QAoKDVAKGh1QCjo9YApKTXAKam2ACoqNgAqqrZAKys2gCurtsArKzaAKys + 2gCxsdwAtbXeALe33wC6uuAAvLzhAL6+4gC/v+MAwMDjAMHB5ADAwOMAvr7iALy84QC7u+EAvLzhAL29 + 4QC9veIBu7vhA76+4gXFxeUHz8/qCdTU7ArT0+sL0tLrDc/P6g7MzOgQzs7pEc/P6hHKyucTycnnFM3N + 6RbOzukXz8/qGc7O6RzOzukgzs7pJs7O6SrJyecypKTWO11dg0VVVXhRYWGIX93d8EPd3fA/0tLrPIGB + kV5vb35pa2t7Z3R0iFmvr9kwp6fOLpiYvC+GhqYwdHSPM1NTazghIS9FFhYeVhYWHmsODhOFoqKjzf7+ + /v/GxuD/nJzJ/2trrv8xMY//GRmC/xgYgf8XF4H/GBiB/xkZgv8XF4H/FhaA/xcXgf8CAnX/CQlf/xMT + O/8bGyz/MjI4/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADSAAAArwAA + AIEAAABTAAAALwAAABUAAAAF7OzsAO7u7gDw8PAA9vb2AP39/QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDr6+sA4ODgAO3t7QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AMDBDASUl + NAMlJTQGJSU0CSUlNBkkJDI8IiIwdJqan9r09PT/paXO/2Zmq/9DQ5j/Ly+N/yEhhv8AAG//AABm/wAA + c/8SEn7/GBiB/yIih/8kJIj/JSWI/yIih/8WFoD/GRl4/zQ0cP9PT2v/bGxu/05OTv8AAAD6AAAA8QAA + AN8AAADEAQEBoQ8PFIlAQFmhbW2Z7Hx8rf+BgbX/enqp/np6qb+Pj8g8rKzaA7W13gSrq9oznZ3UyJCQ + yf+Hh7zvkZHKRZ+f1Qqmptc1oaHVuZaW0fiMjMOzmJjRF6ys2gW1td5eqKjY6ImJwP9oaJGtZ2eQMZWV + 0AHCwuQK19ftQNjY7t3IyOf9lZXQ/5eXoP/+/v7/uLjY/4yMwP9iYqn/NDSQ/ysri/8rK4v/ICCF/xYW + gP8NDXv/BAR2/wEBdf8AAGL/BgYv/xAQJv8kJDD/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAf8DAwT+BgYI+AkJDOMLCw+0CwsPdQoKDT4LCxAdFBQcCyUlNAMmJjUBAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiotYAn5/VAJ2d + 1ACentQAnp7UAJ2d1ACdndQAnZ3UAJ2d1ACdndQAnp7UAJ6e1ACfn9QAoKDVAKGh1QCgoNUAn5/UAKGh + 1QChodYAo6PWAKWl1wCnp9gAqKjYAKqq2QCtrdsArq7bALCw3ACyst0As7PdALKy3QCurtsAq6vaAKmp + 2QCqqtkAq6vaAamp2QSrq9oFuLjfB8nJ5wnS0usK0dHrC8/P6g3NzekPysrnEM7O6RPOzukUxsbmFsXF + 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 + NJsmJjRjJiY0MSYmNBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1t + lwB5eagAhYW4AI6OxACUlM0Al5fRAJqa0gCbm9MAm5vTAJ2d1ACentQAnp7UAJ6e1ACfn9UAn5/UAJub + 0wCcnNMAn5/UAJ+f1ACfn9QAoKDVAKCg1QCgoNUAoKDVAKCg1QChodYAoKDVAKGh1QCgoNUAoKDVAKCg + 1QCdndQAlpbQAIiIvQB/f7ABeHimBHFxnAZ2dqMIiIi9CZqa0gqkpNcLp6fYDaqq2Q+qqtkRtLTeE7S0 + 3hSrq9oXqKjZGqen2ByqqtkerKzaIbCw3CSzs90ntrbfKri44Cy1td4wrKzaM15egTcmJjQ6JiY0Pqen + p/+hobH/YmKG/zExU/8aGjH/GBgr/x0dLf8mJjL/MzM5/0BAQP9AQEHeOTlEbjIyREgqKjpEDg4UQA0N + ET8LCw9Dy8vNo/7+/v/Ozub/paXQ/3d3t/9AQJv/JCSM/xwciP8bG4f/FxeF/xMTg/8TE4P/ExOD/xAQ + gf8DA3n/ExNv/ygoXv8zM0j/Ozs9/zQ0NP8kJCT/CAgI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA + AOkAAADPAAAAqgAAAHwAAABOAAAAKwAAABMAAAAE5+fnAOjo6ADp6ekA7e3tAPLy8gD6+voA/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A9/f3AOXl5QDGxsYAoKCgACYmNAEmJjQLJiY0IyYmNE0mJjR8JiY0qiYm + NM0mJjTjJiY08CYmNPomJjT/MzNF/zs7Uv+Ojpv//v7+/7Oz1/96erj/Y2Os/1JSpP9BQZv/MjKT/ygo + jv8WFoX/AABX/wAAT/8CAnr/LCyQ/09Po/9lZa7/Z2ev/0xMof87O47/WFh9/3V1e/9iYmL/AAAA+wAA + APIAAADhAQEBygYGCcYWFh3fJSUz9jo6UP9lZYv/f3+u/3JynfRwcJt9hIS1HKio2AT+/v4Ara3aHKGh + 1YaWls/0enqo/1tbffRnZ45Om5vSDf7+/gC6uuBZrKza1YeHuv9VVXXVXFx/PZqa0gHFxeUCzs7pecLC + 5OWUlMv/NzdL5SYmNH8qKjoN/v7+ANHR6gPi4vIZ5OTzlvDw+PX+/v7/vb3c/3Z2t/8PD3z/AABL/wAA + Uv8AAGv/AAB0/wAAdv8AAHb/AAB3/wAAdv8AAGr/Bwc7/xAQJ/8kJDH/Pz8//yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICA/8FBQj/BwcJ/wwMEf8TExr/Ghoj/x8fK/8jIzD/JSUz/yYm + NPkmJjTuJiY04SYmNMomJjSkJiY0dyYmNEcmJjQeJiY0CCYmNAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAwMEIAPz9XAFBQbwBiYocAcnKdAH5+rgCLi78AkZHHAJeX0ACamtIAnJzTAJ2d0wCentQAnp7UAJ2d + 0wCentQAnp7UAJ+f1ACfn9QAoKDUAKGh1QChodUAoqLVAKCg1QChodUAoqLWAKKi1QCiotYAoaHVAKGh + 1QChodUAoaHVAJ2d0wCUlMsBh4e6An5+rgR4eKYGeXmmCIODswmQkMYLmprSDJ6e1A2goNUPoaHVEamp + 2ROsrNoVpqbXF6Gh1RqdndMcm5vSHpub0iGdndMkoKDVJ6Oj1iqlpdctoqLVMJqa0jN1daE4JiY0OyYm + ND/s7PL/m5vL/2pqsf8sLJD/Gxt2/xsbcv8hIWj/HR0//x0dLv8tLTb/QEBA/z8/QPYuLjV8JSUzUw0N + EkgODhM7Dw8UN9fX2Jn+/v7/0NDm/6ys1P98fLr/RESd/ygoj/8fH4r/HByJ/xoaiP8WFoX/ExOE/xMT + hP8MDID/BQV1/xgYZ/8uLlj/NjZD/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APkAAADoAAAAzQAAAKgAAAB5AAAATQAAACoAAAASAAAABObm5gDl5eUA5OTkAOXl5QDo6OgA8PDwAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAnJzUHJyc1FycnNTQnJzVaJyc1hicnNbInJzXPJyc14ycn + NfQnJzX9Jyc1/ykpOP8zM0b/Pj5V/05ObP9jY4L/9fX3/9fX6v+cnMv/jIzC/4SEv/90dLf/WFio/0BA + m/8xMZT/KCiP/wAAWf8AADz/AABg/x8fiv89PZr/UFCk/19fq/9eXqv/YGCg/3R0hv98fHz/HR0d/QAA + APYAAADoAQEC1gYGCdUQEBXpGRki+SwsO/9JSWP/amqQ/2trkvJubpagfX2qI6Cg1Qb+/v4AsLDcBaSk + 1kqcnNPKjY3A/2Njh/xLS2fZZWWKJaSk1gbAwOMBvr7iZrCw3N18fKr/RUVe3EZGYE7s7OwA5ubmANTU + 7ETOzunTsLDc/1BQbfonJzXBJyc1Pv7+/gCtrdoB3NzvAeTk8y709PrV/v7+/7y83P+Bgb7/NTWW/wAA + Y/8AAFr/AABq/wAAdP8AAHb/AAB2/wAAd/8AAHb/AABr/woKTf8QECf/JCQx/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwT/DAwR/xYWHv8NDRH/ExMa/xoaJP8gICv/JCQx/yYm + NP8nJzX/Jyc1/ycnNf8nJzX9Jyc18icnNeInJzXNJyc1rCcnNYAnJzVVJyc1MCcnNRUnJzUGAAAAAAAA + AAAAAAAAJyc1ACcnNQAnJzUAJyc1ADg4TABLS2YAXV1/AG5ulgB9faoAiIi6AJKSxwCZmdEAmprSAJmZ + 0ACentQAoKDVAKGh1QCiotUAoaHVAKGh1QCiotUAoqLWAKOj1gCiotYAo6PWAKSk1gCkpNYApKTWAKSk + 1gCkpNYApKTWAKSk1gCjo9YAnp7UAZSUygKKirwFhIS0BoWFtgiLi70KlJTKC5qa0gyentQOoaHVD6Ki + 1hGoqNgUq6vaFamp2RimptcaoaHVHJyc0x+ZmdEimZnRJZub0iecnNMrnZ3TLZmZ0DGNjcA0fn6sOCcn + NTsnJzU/7Oz1/7m52/+0tNn/f3+9/1tbq/9kZK//YmKu/0xMo/8pKXD/Gxst/y4uN/9AQED/Pz8/9isr + Mn8YGCFODw8UOxMTGS7g4OGT/v7+/8rK5P+pqdP/f3+9/0ZGoP8mJpD/HByK/xkZif8ZGYn/FhaH/xMT + hv8UFIb/DAyC/wUFcf8ZGVr/KipH/zIyOf8wMDD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD4AAAA5wAAAMwAAACnAAAAdwAAAEsAAAApAAAAEQAAAAPs7OwA4eHhAN/f3wDd3d0A3NzcANvb + 2wDr6+sA/v7+AP7+/gAnJzUCJyc1DicnNSQnJzU+Jyc1YicnNY8nJzW4Jyc11ScnNewnJzX8Jyc1/ycn + Nf8nJzX/Kys7/zg4TP9FRV7/VFRy/2Fhg/9ycpv/oqKw//v7/P+pqdP/jIzD/4iIwv+GhsH/i4vD/35+ + vf9VVaj/Ojqa/y0tk/8AAGP/AAAn/wAANv8AAHj/AwN+/w4Og/81NZf/ZGSv/4qKs/+UlJT/RUVF/gAA + APkAAADuAgID4Q0NEeEODhPxFRUd/CcnNf9QUG3/X1+B/19fgfNhYYW3cnKcL5aWzAX+/v4A/v7+AKio + 2SCentSUlpbM8nt7qP9KSmT1Pz9WqWdnjRCtrdsBxcXlBMPD5HSzs97mfHyp/zc3S+EvL0Fg/f39AOzs + 7ADX1+0c1dXts8TE5fh9far/Jyc16CcnNYknJzUO////AP///wDi4vIF+fn8o/7+/v+9vd3/hIS//0JC + nv8AAG7/AABg/wAAaf8AAHD/AAB0/wAAdv8AAHf/AAB4/wAAbP8JCU3/EBAn/yQkMf8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/xAQEv8hISj/Jyc1/xMTGv8aGiT/ICAr/yQk + Mf8mJjT/Jyc1/ycnNf8nJzX/Jyc1/ycnNf8nJzX/Jyc1/ycnNfonJzXqJyc10ScnNbQnJzWKJyc1Xicn + NTsnJzUfJyc1CycnNQInJzUAJyc1ACcnNQAnJzUAJyc1ACcnNQAxMUMARUVeAFdXdgBqapEAe3unAIGB + rwCOjsEAmZnQAJ2d1ACgoNUAoaHWAKKi1gChodYAoqLWAKSk1wCkpNcApKTXAKSk1wCkpNcApKTXAKSk + 1wCkpNcApKTXAKSk1wClpdcApaXXAKOj1wGentQCl5fNBo6OwgeMjL4Ij4/DCpaWzAubm9MMnp7UDqCg + 1RChodYSpqbYFKqq2hWrq9oYq6vaGqen2B2hodYfnZ3UIpub0yWbm9MonZ3UK52d1C6ZmdAyi4u9NXx8 + qTk9PVM8Jyc1QP7+/v/Y2Oz/y8vl/52dzv+Pj8b/mZnL/5CQx/+NjcX/bW21/zMzdP8kJDL/PDw+/0BA + QP82NjizJSUyUCkpODoXFx8p6Ojpjv7+/v/Bwd//nJzN/3l5u/9CQp//JCSQ/xwcjP8WFon/FhaJ/xUV + if8TE4j/ExOI/woKg/8GBm7/GRlQ/yIiNf82Njv/MDAw/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+AAAAOYAAADLAAAApQAAAHUAAABJAAAAKAAAABAAAAAD/f39AOrq6gDc3NwA1dXVAM7O + zgAnJzUCJyc1BycnNRUnJzUqJyc1QycnNWsnJzWYJyc1vycnNd8nJzX1Jyc1/ycnNf8rKzr/Ly9A/zMz + Rf82Nkr/QEBW/01NaP9dXX7/bGyS/3p6pf+GhrX/jIyx/4iIiP+np8X/aWmz/0dHov9ERKH/UFCn/3l5 + u/+Hh8L/amq0/0BAnv8uLpX/AABv/wAAIP8AACD/AABz/wQEef8REXP/Ly95/3BwqP+wsL7/h4eH/wgI + CPsAAAD0AwMD6QwMEeodHSf5Hh4p/xkZI/8tLTz/YGCB/1paefdZWXnGY2OGS4KCrwKurtsB/v7+ALGx + 3AakpNdXnp7U0JKSxv9kZIj/NTVI7Do6Tmpvb5YI/v7+AMnJ5wnGxuaDuLjg7X19qf8rKzvlJyc1dP7+ + /gD9/f0A2NjuB9nZ7ofQ0OrpqanZ/y0tPPsnJzXLJyc1Pv7+/gD+/v4A/v7+AP39/ob+/v7/vr7e/4eH + w/9ISKL/AAB1/wAAaP8AAG3/AABy/wAAdv8AAHn/AAB6/wAAev8AAG7/CQlO/xAQKP8kJDL/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8RERP/JiYr/0FBSv9VVWz/OTlN/yAg + K/8kJDH/JiY0/ycnNf8nJzX/Jyc1/y8vQP8rKzv/Jyc1/ycnNf8nJzX/Jyc1/ycnNf8nJzX/Jyc18ycn + NdwnJzW6Jyc1kicnNWUnJzU/Jyc1JycnNRQnJzUHJyc1AScnNQAnJzUAJyc1ACcnNQAnJzUALS08AEBA + VwBVVXMAaGiNAHh4ogCFhbQAkZHEAJqa0QCentQAoaHVAKOj1gCjo9YApKTXAKWl1wClpdcApKTXAKWl + 1wCkpNcApKTWAKWl1wClpdcApqbXAKam2ACmptcBpaXXA6Gh1QadndMHlpbLCZSUyAqYmM0Mm5vSDZ6e + 1A6goNUQoqLWE6am1xSqqtkWrKzaGa6u2xusrNodqKjYIKGh1SOentQmnZ3TKZ6e1CyentQvmZnPMouL + vDV8fKg5b2+WPD4+VED/////+Pj8/+Pj8f/Q0Of/ycnk/8nJ5P+1tdr/qqrU/6Sk0f9tbbX/T09s/z09 + Pv9AQED/NDQ3qiUlMlEyMkQ6SkpkKO7u8Y79/f7/tLTa/4iIw/9lZbL/OTmc/yIikP8ZGYz/FBSJ/xMT + if8SEoj/ERGI/xERiP8HB4P/BgZp/xYWRv8eHi//ODg8/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPgAAADmAAAAygAAAKQAAAB0AAAASAAAACcAAAAQAAAAA/7+/gD6+voAJyc1BScn + NQ0nJzUaJyc1LCcnNUgnJzVzJyc1oicnNc4nJzXsJyc1/CcnNf8qKjn/MjJD/zo6Tv9CQlr/TExn/1dX + dv9fX4H/ZWWI/2trkP90dJz/gYGu/4uLvf+UlMj/mprL/42Nk/9VVVr/SEhp/zExfP8TE3r/CQmD/woK + hP9HR6P/cHC3/2dns/88PJ3/KyuV/wUFgv8AACD/AAAg/wEBWP8KCnP/Hh5s/zw8a/9/f5j/rq6u/yoq + Kv4AAAD3AQEB8AgICvIYGCH+LS09/zk5Tf8dHSf/JCQx/1hYePtXV3XTXFx8ZnFxmAf+/v4A/v7+AP7+ + /gCpqdkgo6PXoKGh1vSPj8L/T09q/isrOto5OU0xenqlBf7+/gDNzekQx8fmkbi44PN6eqX/Jyc16icn + NYf+/v4A/v7+APr6+gDb2+9Z1tbt1MHB5P9eXn7/Jyc17ScnNZYnJzUMLCw7Af7+/gD+/v6A/v7+/7+/ + 3/+Njcb/WFir/wEBgP8BAXL/AwN0/wQEef8FBX3/BASA/wMDfv8BAX3/AABx/wkJTv8QECj/JCQy/z8/ + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/EhIT/ygoK/9GRk3/aGh1/4WF + m/+Li7P/bm6T/zIyRP8nJzX/Jyc1/ycnNf8nJzX/MTFD/0REW/89PVL/Jyc1/ycnNf8nJzX/Jyc1/ycn + Nf8nJzX/Jyc1/ycnNf4nJzXqJyc1yScnNZ0nJzVuJyc1RCcnNSknJzUYJyc1CycnNQMnJzUAJyc1ACcn + NQAnJzUAJyc1ACkpOAA+PlQAU1NvAGdniwB4eKIAhoa1AJGRwwCamtAAn5/VAKKi1gCkpNcApaXYAKWl + 1wClpdgApaXYAKWl2ACmptgAp6fYAKen2QCnp9kAp6fYAaen2ASmptgHo6PXB5+f1QmZmc8KmJjNDJyc + 0w2fn9UPoaHWEaGh1hOkpNcVqqraFq6u2xmvr9wcr6/cHq6u2yCoqNkjoqLWJp+f1Smfn9Usn5/VL5mZ + zjOLi7s2fX2pOmpqjz1TU29B9fX6vf7+/v/+/v7///////7+///y8vj/39/v/8zM5v/FxeL/qqrV/52d + sf+Ghob/YWFjxyMjMF0tLT1KODhLOEtLZCnv7/KO9PT5/6Cg0P9ubrf/Tk6o/ysrlv8YGI3/FBSL/xIS + iv8REYn/EBCJ/w0Nh/8ODoj/AQGB/wcHZv8VFUH/Hx8v/zk5PP8wMDD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMoAAACjAAAAcwAAAEgAAAAmAwMDEBsbIwkoKDUOKCg1Fygo + NSwoKDVPKCg1gCgoNbYoKDXjKCg1+ygoNf8oKDX/LS09/zU1R/8+PlP/SUli/1VVcv9gYIH/a2uQ/3Z2 + nv+AgKz/ioq5/5CQwf+QkML/kJDB/5OTxv+ams7/m5vO/7a2zf+jo6P/Ly88/xUVK/8XF2L/BgZf/wEB + dv8AAH//JSWT/09PqP9ISKX/Li6Y/yIikv8cHI//AAAt/wAAIP8CAi//EhJd/ysrYP9JSWT/iYmL/2lp + af8AAAD6AQEB9QQEBvgMDBD/Gxsk/zQ0Rv9NTWj/ISEr/yQkMP5ERFziV1d0fWBggRL+/v4A/v7+AP7+ + /gCAgKsFfn6pYHx8ptd2dp7/VVVy/ygoNfYoKDW3MjJDDnt7pQL+/v4AysroGMXF5aC3t9/4enqk/ygo + Ne8oKDWYKCg1AZWVyAH+/v4A3NzvL9nZ7rnQ0Or+m5vQ/ygoNf0oKDXbKCg1PCgoNQVXV3QB/v7+gP7+ + /v+/v9//k5PK/2Vls/8ZGY3/CgqB/xAQg/8YGIr/HByO/xwcj/8SEor/BweE/wEBc/8JCU7/EBAo/yQk + Mv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/hISE/4oKCv+SEhO/29v + eP+Tk6L/qqrA/7S00v+ystr/j4+//2Bggf9ISGD/OztQ/0JCWf9SUm7/WVl3/0xMZf8oKDX/KCg1/ygo + Nf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg19igoNdwoKDWxKCg1eigoNUooKDUmKCg1FSgo + NQ0oKDUGKCg1AigoNQAoKDUAKCg1ACgoNQAqKjgAPT1SAFFRbQBkZIYAdHSbAIODsACPj8AAmJjNAKCg + 1QCiotYApKTXAKam2ACnp9gApqbYAKio2ACpqdkAqanZAaio2AKnp9gEp6fYB6am2AilpdcJoaHVC52d + 0wycnNINnp7UD6Cg1RGgoNUToqLWFqqq2Revr9wZr6/cHLCw3B6wsNwhra3bJKam2CeiotYpoKDVLaCg + 1TCcnNE0jY2+N4ODsDtycpk+VlZzQr294k/g4PF33d3wddvb73LY2O5v5OTyhf/////v7/f/5+fz/+rq + 9P/n5+f/qamswCwsO1U1NUZNQUFXQEdHXjNQUGop2trdkdTU5v+Dg8L/WVmv/0NDpP8kJJX/EhKM/w4O + iv8NDYn/DQ2J/w0Nif8NDYn/Dg6K/wAAgv8HB2X/FRU9/yAgMP86Oj3/MDAw/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAAAHQCAgNLBgYILRMTGRwlJTEtKCg1XCgo + NZooKDXQKCg18igoNf8oKDX/KCg1/y4uPv83N0n/QUFW/01NZv9ZWXf/ZmaI/3Nzmf+AgKr/jIy6/5OT + xP+Zmcz/nZ3S/6Gh1f+jo9b/pKTX/6Ki1v+fn9T/oaHT/6enzf/Y2Nj/n5+3/yAgNv8MDCf/BQUy/wIC + SP8AAFX/AABl/wAAfP8fH5L/JiaV/yEhk/8XF47/FBSN/wAAS/8BASH/BAQj/xQUPP8pKUH/RkZO/2Vl + Zf8PDw/8AgIC+QcHCvsPDxT/Ghoj/y8vPv9LS2T/XV18/ywsO/8mJjLxJyczkicnMx7+/v4A/v7+AP7+ + /gD+/v4AT09pGlNTbq9OTmj3OjpN/ygoNf8oKDXpKCg1hP7+/gD+/v4A/v7+AMPD5CDDw+Suurrh/Xx8 + pf8oKDXzKCg1qigoNQV4eKAB/v7+AN3d8A/b2++Q19ft8r294v9GRl7/KCg19CgoNaQoKDUPKCg1Av7+ + /oD+/v7/wcHg/5eXzP9ubrj/MDCa/yEhlP8vL5j/Pz+f/0hIpv8/P6L/KyuX/xYWjf8DA3n/CQlR/xAQ + KP8kJDL/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAfsLCwv2JCQn+UhI + Tf1xcXn+mZmk/7a2xv/Fxdr/ycnk/8LC5P+2tt//rKza/5OTxP+Bgaz/gYGs/4WFsf+IiLX/NjZI/ygo + Nf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf4oKDXxKCg1zSgo + NZMoKDVUKCg1KCgoNREoKDUHKCg1BSgoNQIoKDUAKCg1ACgoNQAoKDUAKCg1ADg4SgBLS2MAX19/AHJy + mACBgawAjY27AJeXyQCfn9QApKTXAKam2ACoqNgAqanZAKqq2gGqqtkCqanZBamp2QeoqNkIqanZCaen + 2AukpNcNoKDVDqGh1RCiotYSoKDVFKOj1haurtsXsbHcGrCw3B2xsd0fsrLdIrKy3SWtrdsnp6fYKqOj + 1i6iotYxnZ3SNJOTwzeQkMA7f3+qP2FhgUO5ueBPtrbfS7Gx3EepqdlDo6PWP6Cg0zv+/v7z//////7+ + /v/+/v7/2trfoEBAVENAQFVCTU1mPVVVcTVwcIFJo6OsYdTU1rCzs9T/cHC6/1JSrP9AQKP/JSWW/xUV + jv8NDYr/CAiI/woKif8JCYj/CwuJ/wwMiv8AAIL/CQll/xUVO/8hITH/PDw+/yQkJP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAAAKQEBAV/Dw8UcR0dJoslJTG8KCg04Sgo + NfcoKDX8KCg1/ioqOP8xMUH/OztO/0ZGXf9SUm3/XV18/2lpi/91dZv/g4Ot/4+Pvv+amsz/oKDU/6Oj + 1v+lpdf/paXX/6am1/+np9j/qKjY/6ur2f+qqtj/pqbV/6Cgzv/GxtH/zMzU/39/tP8bG0H/BgYk/wIC + Iv8AACH/AAAx/wAATP8AAGj/AwOF/xwckv8dHZL/FhaP/xAQjP8BAWz/AwMi/wkJJf8WFiz/LS04/0tL + S/8wMDD+AQEC/AYGB/0ODhL/HBwl/zc3Sf9ZWXX/ZmaH/2Vlhv9hYYH+MTFBpiYmMzAoKDUC/v7+AP7+ + /gD+/v4A/v7+AHBwlGlvb5PgZmaH/0VFW/8oKDX/KCg12SgoNUr+/v4A/v7+AP7+/gC8vOEuvLzhu7i4 + 3/9+fqf/KCg19igoNbkoKDUNXFx5Af7+/gDe3vAB3NzvY9ra7tzPz+n/iIi0/ygoNf8oKDXtKCg1QSgo + NQr+/v6A/v7+/8XF4/+entD/dna9/0dHpv9HR6b/XFyw/3Fxu/97e77/Zma1/0NDpP8jI5X/BQV8/wkJ + Uf8QECn/JCQy/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AQEB6wwM + DNszMzbdbGx08pqapf+6usf/zs7e/9jY6v/V1ez/zMzo/8DA4/+0tN7/r6/b/7Ky3f+zs93/sbHc/5aW + xv9HR17/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygo + Nf4oKDX7KCg1+SgoNd4oKDWuKCg1cCgoNTYoKDUSKCg1ACgoNQAoKDUAKCg1ACgoNQAoKDUAKCg1ACgo + NQA0NEQAR0deAFpadwBra44Ae3ujAIuLuACZmcoAoqLVAKWl1wCoqNgBqanZA6mp2QWpqdkHqanZCKmp + 2QmqqtkLqKjYDaSk1g6iotUQo6PWEp2dzxScnM4Wp6fYF6ur2hqurtsdsrLdH7S03iK1td4lsrLdKKys + 2iumptcuoqLVMZmZyjSRkb83l5fIO4aGsj9tbZFDuLjfULGx3EyqqtpIoqLWRJeXyD+vr9VI/Pz+5/7+ + /v/y8ve0r6/GT2FhfzVPT2g1XV17NGtrjjH5+frY/v7+//7+/v/9/f7/r6/Z/3d3vv9VVa7/PT2j/ygo + mf8dHZT/FhaQ/w0NjP8ICIr/BQWI/wgIiv8HB4n/AACB/woKY/8VFTn/IiIy/z09P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AQEB6gQEBdwKCg3XFBQa3BwcJecjIy7xJycz9ykp + Nf0tLTz/NTVG/0BAVf9MTGT/VlZx/2FhgP9vb5P/fX2l/4qKtv+UlMT/m5vN/6Gh1P+lpdf/qKjZ/6mp + 2f+pqdn/qanZ/6mp2f+qqtr/q6va/6ys2/+urtv/rq7a/6am1P+0tM//2NjY/5mZv/9VVab/Gxtu/wMD + I/8AACL/AAAi/wAAIv8AACL/AABU/wkJiv8fH5X/IiKW/x8flf8UFI//BgaI/wgIM/8RESn/JCQ0/09P + U/9ISEj/AQEB/QQEBf4KCg7/FhYd/ykpNv8/P1P/VFRv/2hoif9zc5j/lpbGuYuLuEBeXnwI/v7+AP7+ + /gD+/v4Ara3bAqKi1hubm829mprL946OvP9TU27/KSk2+ikpNrspKTYf/v7+AP7+/gD+/v4AurrhOra2 + 38Wurtv/goKr/ykpNvkpKTbFKSk2FkNDWQL+/v4A/v7+AN3d8D7b2++/19ft/7W13/8yMkH/KSk2+ykp + NqgpKTYc/v7+gP7+/v/Q0Oj/q6vX/4eHxv9gYLT/aGi3/4ODw/+cnND/oaHF/4CAwv9RUaz/KSmZ/wYG + f/8JCVL/EBAp/yQkMv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOoBAQHRCgoKtDMzNqKCgou7t7fE7tDQ3//d3e3/39/x/9ra7//S0uv/xcXm/7q64f+8vOH/xcXm/8TE + 5f/CwuT/vb3i/6ur2v+pqdn/paXX/5yczv+Kirf/dnac/2FhgP9OTmb/PT1R/ysrOf8pKTb/KSk2/ykp + Nv8pKTb/KSk2/ykpNv8pKTb8KSk29SkpNu0pKTbcKSk2uSkpNokpKTZSKSk2IikpNgcpKTYCKSk2ACkp + NgApKTYAKSk2ACkpNgApKTYALi49AEBAVQBTU24AaGiKAH5+pgCNjboAmprLAaKi1gSmptgGqKjZCKmp + 2QiqqtkKq6vaC6ys2g2pqdkOpaXXEKOj1xKamssUnJzOF6Gh1RikpNcap6fYHaur2iCwsNwitLTeJbW1 + 3imyst0rq6vaLqOj1jKOjrs1l5fIOJiYyTyHh7JAcnKWRMLC5FG5ueBMr6/bSaSk10STk8FA8/P4w/7+ + /v/S0upcoKDSM5OTwTF2dpoudHSZLIeHsSqIiLQo//////7+/v/+/v7/9vb7/8DA4f+Ojsn/ZGS2/0FB + pv8oKJr/ISGX/x8flv8ZGZP/EBCP/woKjP8HB4r/BASJ/wAAgP8KCmD/FBQ2/yMjMv8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/AMDBPkICAr4Dg4S+BYWHfseHif+JSUx/zQ0 + RP9BQVb/T09o/1tbeP9paYr/d3ec/4ODrP+Njbn/l5fG/6Cg0/+lpdf/qKjY/6mp2f+pqdn/qanZ/6ur + 2v+rq9r/rKza/6ys2v+srNr/ra3b/6+v2/+urtv/ra3b/6qq1/+lpdD/0tLV/7e3y/9vb6//NTWb/xMT + j/8DA2//AAAy/wAAIv8AACL/AAAi/wAAIv8AADz/AABx/wwMjf8lJZj/HR2V/w4OjP8VFUf/Gxsu/zEx + Of9eXl7/ExMT/gMDBP4ICAv/EhIX/yEhLP8vLz3/MzND/0BAVf9aWnb/f3+n0J2dylF0dJgP/v7+AP7+ + /gD+/v4A/v7+AKys2galpddvoqLV55+f0P9/f6f/OjpM/ykpNuwpKTaRKSk2CP7+/gD+/v4A/v7+AMHB + 40q3t9/No6PW/2Zmhv8pKTb8KSk20SkpNiEuLjwD/v7+AP7+/gDe3vAe3Nzvmtvb7/nLy+j/cnKV/ykp + Nv8pKTbtKSk2VPPz9If+/v7/29vu/7q63/+Zmc7/c3O9/3h4v/+Njcn/ubnX/aOjyf95eb7/SEio/yAg + lf8FBXz/CQlR/xAQKf8kJDP/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APkAAADqAAAA0AEBAa0LCwuDNTU4aIqKk3DIyNap3d3s5uHh8vzg4PH/3Nzv/9TU7P/IyOb/xcXl/83N + 6f/Kyuj/ycnn/7q64P+vr9v/rq7b/62t2/+srNr/qqrZ/6Oj1v+VlcT/hYWv/3V1mv9lZYX/VVVw/0RE + Wv8yMkH/KSk2/ykpNv8pKTb/KSk2/ykpNv8pKTb/KSk2/ikpNvYpKTbqKSk22ykpNsEpKTaXKSk2Zykp + NjkpKTYXKSk2BykpNgApKTYAKSk2ACkpNgApKTYAKSk2ACkpNgA/P1IAVFRuAGlpigJ6eqAEiYm0BpeX + xgigoNMJpKTXCqio2Ayrq9oOq6vaD6mp2RCmptcSqKjYFaur2heqqtkZqanZG6mp2R6pqdkgra3bI7Ky + 3Sa1td4ptbXeLLKy3TCmptcyoKDSNqSk1jmZmck9hoavQHFxlETHx+ZSv7/jTbe330qtrdtFmprKQff3 + +s/39/rOnp7PN6Wl2DOamsowgICoLZWVxCqamsoomZnIJu7u9JT29vjM+fn65//////Z2e3/rKzY/3t7 + wv9KSqv/KCic/yAgmP8iIpn/JCSa/x8fl/8WFpP/EBCQ/wkJjf8AAIH/Cgpd/xQUM/8kJDP/Pz9A/yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAv8EBAX/CQkL/w8PE/8XFx7/Hh4n/y8v + Pv9YWHT/cHCS/39/pv+MjLf/l5fG/6Cg0v+mptj/qKjZ/6qq2v+rq9r/q6va/6ys2v+srNv/rKza/6ur + 2v+srNv/ra3b/66u3P+vr9z/r6/c/7Cw3P+vr9z/rKza/6qq2v+lpdb/wMDR/dbW1/+IiLj/SEih/xwc + k/8HB4n/AACA/wAAfv8AAGr/AABL/wAAJf8AACL/AAAi/wAAMP8AAEf/AQFm/wgIhf8cHIb/Kytd/ygo + Nf9AQED/NjY2/wMDBP8HBwr/EREW/x8fKP8rKzj/MDA//ysrOP8vLz3/RUVa44qKtWeWlsQXd3ecAf7+ + /gD+/v4A/v7+AK+v3AWpqdkkqKjZyamp2filpdf/bW2O/ykpNv8pKTbZKSk2YSkpNgH+/v4A/v7+AP7+ + /gDGxuZZvLzi1J6ez/9CQlf/KSk2/ykpNtwpKTYtKSk2BP7+/gD+/v4A39/xCt3d8Gzc3PDn1tbt/62t + 2/8pKTb/KSk2/ykpNqni4uOU/v7+/+bm8//Hx+X/pqbWwH9/w/90dL7/eXnB/4CAw/95eb//Wlqu/zQ0 + mv8WFpD/BAR6/wkJUf8QECr/JCQz/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD5AAAA6gAAAM8AAACrAAAAfQMDA1AmJik1mJijOtfX52Xi4vKs4uLy4+Dg8vzd3fD/19ft/9LS + 6//V1ez/1tbt/9XV7P/CwuT/ubng/7Oz3v+wsNz/r6/c/6+v3P+urtv/qqra/6Wl1/+amsr/jIy4/4OD + q/94eJ7/a2uN/1tbd/9JSWD/NzdJ/ykpNv8pKTb/KSk2/ykpNv8pKTb/KSk2/ykpNv8pKTb7KSk27ikp + NtspKTbEKSk2nikpNnIpKTZJKSk2JikpNg4pKTYAKSk2ACkpNgApKTYAKSk2ACkpNgEpKTYDOjpMBU5O + ZwdkZIMJd3ecCYaGsAuVlcQMoaHUDqen2A+np9gRpqbYE7Cw3BWyst0YsbHdGbGx3Ryxsd0frq7bIa6u + 2yOxsd0ntLTeKrm54C21td8wp6fYM62t2zeoqNk6mJjIPoaGsEFwcJNFyMjmU8HB4064uN9Lr6/bR6Gh + 0UKVlcE/lpbDO5ubyTinp9g0i4u0MXx8oS2fn84roaHQJ52dyyWDg6ooY2OAL0lJXjnW1tmh6en1/76+ + 4f+EhMf/MDCh/wAAcf8AAFn/AABg/wAAaf8AAHD/AAB2/wAAev8AAHz/AABy/wkJTf8QECr/JCQz/0BA + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL/BAQF/wsLD/8VFRv/Fxce/x4e + J/86Okv/e3ug/5ycyv+oqNj/rKza/66u2/+wsNv/sLDb/6+v2/+vr9v/rq7b/66u2v+urtr/rq7b/6+v + 2/+vr9v/sLDb/7Oz3f+0tN3/srLc/7Cw3P+urtv/rKza/6mp2P+np9j5sbHU6dfX1/+lpcX/Xl6r/yoq + nP8VFZT/BweO/wAAhP8AAH//AACA/wAAf/8AAH//AABf/wAAR/8AAD//AAA9/wMDSv8NDV3/JSVl/zw8 + XP83Nzz/ODg4/wcHB/8GBgj/EBAU/yAgKv8xMUD/NzdG/zMzQv8vLz3+Li477z4+UIOBgacddnaZBOLi + 4gDn5+cA5eXlALS03QGsrNoRqKjYcamp2fKurtr/qKjY/1xceP8qKjb+Kio2wCoqNjT+/v4A/v7+AP7+ + /gD+/v4AxsblaMPD5Nytrdr/ODhJ/yoqNv8qKjbkKio2PioqNgb+/v4A/v7+AODg8QLe3vBF3d3wx9vb + 7//IyOb/XFx4/yoqNv8qKjbpxMTHsP7+/v/o6PT/x8fmwKOj1dB4eMH/YGC2/1dXsv9VVbL/UFCv/zc3 + of8fH5P/DAyL/wICev8JCVL/EBAq/yQkM/8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+QAAAOgAAADOAAAAqQAAAHsAAABOAAAAKwAAABOxsb0S5OTzMePj82/j4/K34uLy5OHh + 8f3g4PH/4eHy/+Li8v/i4vL/0tLr/8rK5//CwuP/urrg/7W13v+ystz/sLDc/7Cw3P+vr9v/q6vZ/6Sk + 1P+amsf/kpK9/4+Puf+Ghq7/fHyh/3Bwkf9hYX7/SEhd/yoqNv8qKjb/Kio2/yoqNv8qKjb/Kio2/yoq + Nv8qKjb/Kio2/yoqNvUqKjbiKio2yCoqNqgqKjZ6Kio2UCoqNjEqKjYYKio2ByoqNgIqKjYBKio2Ayoq + NgYqKjYIKio2CTY2RglKSmALYWF+DXZ2mQ+IiLAQjo64Ep+fzhSsrNoWsLDbGLGx3Bmystwcs7PdH7Ky + 3CKxsdwksrLcJ7W13iu8vOEur6/bMaam1zSystw4qanZO5mZxj+Ghq5CcXGSR8jI51PCwuRPurrgTLGx + 3EikpNVDmprHQJmZxjycnMo5oaHQNX9/pDGHh64uoKDQK6Cg0CicnMomhYWtKGhohy1SUmo12dndnre3 + w/9RUX3/HBxV/wUFPP8AACT/AAAj/wAAJf8AADH/AAA8/wAASP8AAFX/AABh/wAAYv8HBzz/EREr/yUl + NP9AQED/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgID/wgICv8TExn/JiYx/z4+ + UP87O0z/Q0NX/3R0lv+pqdf/tLTe/7W13v+1td7/tLTe/7Oz3f+yst3/sbHc/7Cw3P+vr9z/r6/b/7Cw + 3P+xsd3/s7Pd/7Oz3v+1td7/tLTe/7Cw3P+trdr/qqrZ/6io2Pulpdbko6PTvNjY2+/FxdL/eHi0/z09 + o/8fH5r/ICCa/xcXlv8EBI7/AACG/wAAgv8AAH//AAB//wAAf/8AAID/AACA/wICbf8JCWD/GRlf/zMz + X/9TU2X/QEBA/xUVFf8EBAX/DAwQ/xwcJP8yMkD/QEBT/0BAU/87O0z/NjZF8TY2RqVGRlskdHSWBpqa + mgCvr68AysrKAMnJyQCwsNwHqqraM6qq2dCurtv9srLd/5mZxv9MTGL/Kio29CoqNpkqKjYV/v7+AP7+ + /gD+/v4A/v7+AMbG5nfGxubjvb3i/0lJX/8qKjb/Kio26SoqNlEqKjYH/v7+AP7+/gD+/v4A39/xKt7e + 8KDd3fD/1dXs/6Cg0P8qKjb/Kio2/6mprtb+/v7/3Nzv/7W13v+Pj8z/XV22/z8/qP8xMaL/LS2g/ysr + n/8bG5j/DQ2O/wUFh/8AAHj/CQlR/xAQKv8kJDP/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD+AAAA/QAAAPYAAADkAAAAyAAAAKMAAAB1AAAASQAAACgAAAARAAAABAAAAADk5PMQ5OTzOePj + 83zj4/PC5OTz6ejo9f/p6fX/5ub0/97e8P/Z2e7/0tLr/8rK6P/BweT/urrh/7a23/+0tN7/s7Pd/7Gx + 3P+urtv/qKjZ/6Cgz/+Zmcb/lZXB/5OTvv+Pj7n/iYmx/4GBp/9vb4//ODhJ/yoqNv8uLjz/RkZb/z4+ + UP8rKzf/Kio2/yoqNv8qKjb/Kio2/yoqNv8qKjb8Kio27CoqNtMqKjatKio2hCoqNlcqKjY3Kio2ISoq + NhAqKjYHKio2BioqNgcqKjYKKio2CyoqNg00NEQPRkZbEFZWcBJ3d5oUjY22Fp6ezBmoqNgara3bHbCw + 3CCyst0is7PdJbS03ii3t98rurrgLqmp2TKtrds1s7PdOaqq2TyYmMVAhYWsQ29vkEfIyOZUw8PkULu7 + 4EyystxIpqbVRKGh0EGoqNg9oaHPOpKSvDaAgKQylZW/L5+fzCydncoplpbAJ4ODqCdsbIoqUlJqL93d + 4JnQ0NT/X1+L/yUlZ/8JCVn/AABL/wAAR/8AAE7/AABW/wAAXP8AAGT/AABq/wAAcf8AAG//CQlD/xIS + K/8nJzX/QEBA/xgYGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBP8LCw//Gxsj/zEx + P/9QUGf/Xl55/11dd/9oaIf/mJjD/7q64P+8vOH/u7vg/7m53/+3t9//tLTd/7Oz3f+ystz/srLc/7Ky + 3P+zs93/tbXe/7a23v+1td7/s7Pd/7Cw3P+srNr/qanY/aen1+qkpNTGoaHOgtjY4J7k5OT/lZXB/1BQ + qP8iIpz/EBCV/yEhnP8fH5z/FhaY/wgIkv8AAIn/AACD/wAAgP8AAH7/AAB+/wAAe/8GBnX/FRVw/zIy + dP9WVnf/enp8/0pKSv8DAwT/CQkM/xcXHv8qKjb/Pj5Q/0hIXP9ISF3/RERY9T4+ULs5OUgyOjpLB7Ky + sgC+vr4AysrKAOTk5ACzs90BrKzaGKqq2XqsrNr8sLDc/7Cw2/96ep3/OztL/yoqNuAqKjZtKio2Bf7+ + /gD+/v4A/v7+AMjI5gLGxuWGx8fm6sHB4/9mZoP/Kio2/yoqNuwqKjZnKio2B/7+/gD+/v4A/v7+AODg + 8RPe3vB13t7w9Nra7//BweP/RkZb/yoqNv+ZmZ71/v7+/8rK5/+ZmdH/Z2e8/zY2pv8gIJz/Gxua/xoa + mv8cHJr/FxeY/wgIkf8AAIj/AAB2/wgIS/8QECv/JCQz/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD+AAAA/AAAAPgAAADuAAAA2QAAALwAAACWAAAAagAAAEIAAAAjAAAADwAAAAMAAAAAAAAAAAAA + AADl5fMP5eXzPuXl84no6PXP6Oj17eXl8/3j4/L/4eHy/9/f8P/Z2e7/0tLr/8nJ5//BweP/u7vh/7e3 + 3/+0tN3/s7Pd/7Cw2/+rq9n/oaHQ/5ubx/+YmMP/lZW//5SUvv+Skrz/kpK7/3h4mv9ZWXL/UFBm/2tr + if+QkLn/fn6i/2Vlgv9KSmD/MTFA/yoqNv8qKjb/Kio2/yoqNv8qKjb/Kio2/yoqNvgqKjbgKio2uyoq + No4qKjZhKio2PCoqNiMqKjYVKio2DioqNgsqKjYMKio2DyoqNhAqKjYTOTlJFU9PZhdlZYIZenqdG42N + tR6dncohqanYI7Ky3Ca5ueApt7ffLLKy3C+qqtkztLTdNrS03Tqqqtk9mJjEQYODqURubo1Iy8vddsPD + 5FG8vOFNs7PeSaen1kWoqNhCqKjXPqCgzjuFhas3g4OoNJGRujCSkrwtjY20KoKCpihwcJEnW1t1J0pK + Xynl5eeU/v7//87O6v+hodb/XV24/w8Pl/8AAIX/AACE/wAAhf8AAIX/AACF/wAAhf8AAIX/AAB0/wsL + Tf8TEyz/KCg1/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAb/Dg4R/x4e + Jv8yMkH/TExi/2trif97e53/dnaX/3p6m/+wsNz/ysro/8XF5f+/v+P/u7vh/7i43/+2tt//trbf/7W1 + 3/+2tt//t7ff/7W13/+0tN7/sbHd/66u2/+srNr9qanZ8aam1talpdOMm5vIO7S0vjPr6+v/vb3Z/2xs + t/8xMaT/Dw+N/w0Nlf8dHZ3/Hh6d/x0dnf8YGJr/CgqU/wAAjP8AAIP/AAB+/wAAev8DA3P/DAxl/x8f + XP9BQWj/dnaE/4aGhv8ODg//BwcJ/xISF/8kJC3/ODhI/0VFWP9LS2D/TU1j+kxMYs1ERFdOAAAABAAA + AAHq6uoA6+vrAOvr6wDu7u4Ar6/cB6ur2j2rq9rQrq7b/7Ky3f+mptb/W1t1/y0tOv8qKjbGKio2Rv7+ + /gD+/v4A/v7+AP7+/gDHx+YHxsbmlsbG5vC+vuL/d3eY/yoqNv8qKjbvKio2fCoqNgn+/v4A/v7+AP7+ + /gDh4fIF39/xS97e8dnd3fD/0dHr/4uLsv8qKjb/r6+z//r6/P+4uOD/fX3H/z4+q/8QEJT/CQmN/wQE + kf8QEJf/HByc/x8fnf8aGpv/BgaT/wAAd/8HB0T/EREv/yQkNP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/QAAAPkAAADyAAAA4wAAAMsAAACsAAAAhgAAAFwAAAA4AAAAHQAAAAwAAAACAAAAAAAA + AAAAAAAAAAAAAOXl9AHl5fQL5+f0Pebm9Jjk5PPb5OTz8+Tk8/3j4/P/4uLy/97e8f/Z2e7/0tLr/8rK + 5//BweT/u7vh/7i43/+1td7/srLd/6ys2v+kpNP/mprF/5SUvv+Rkbr/jY21/4uLs/+Skrz/jIy0/3V1 + lv9vb47/paXU/8DA4/+zs93/np7L/4CApP9jY3//SEhd/zExP/8qKjb/Kio2/yoqNv8qKjb/Kio2/yoq + Nv8qKjb+Kio28SoqNtEqKjagKio2ayoqNkAqKjYlKio2GCoqNhQqKjYRKio2EyoqNhUqKjYXKio2Gjs7 + TBxQUGcfZ2eFIX5+oiSenssnqqrZKqys2i2iotAwqKjXNLOz3Teyst07qqraPpmZxUKDg6hFbW2MSdzc + 64HDw+VSvr7jT7S03kuoqNdGn5/LQ5+fyz+Pj7g8d3eZOHt7njV7e50xd3eYLm1tiythYX0oVVVsJkZG + WSQ5OUkk5+fokf7+///Kyuj/oaHW/2xswP8lJaH/AQGR/wAAi/8AAIf/AACF/wAAhf8AAIb/AACG/wAA + c/8LC0r/ExMt/ykpNv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BQUH/w8P + E/8eHib/MDA9/0REV/9WVm7/enqc/3l5nP9SUmn/WVlz/7W13//S0uz/ysro/8HB5P+8vOL/urrh/7q6 + 4f+5ueH/uLjg/7a23/+zs97/sLDc/62t2/+rq9r4qqra46en15mkpNM0cXGRDAAAAArg4ODF4uLo/46O + zf9WVrb/Kiqk/woKlv8YGJv/Gxud/xwcnf8cHJ3/HByd/xcXm/8LC5b/AACM/wAAf/8CAnX/Bwdm/xMT + Uf8iIkP/PT1N/3Fxcf9ISEj/BQUH/w4OEv8dHSX/MDA+/z8/Uf9ISF3/TU1j/k9PZdpNTWNpDAwPCAAA + AALp6ekA6enpAOvr6wDr6+sAsrLeAa2t2x2srNuEra3b/7Ky3v+1td//jo62/0dHW/8rKzf8Kys3pCsr + NyP+/v4A/v7+AP7+/gD+/v4Ax8fnD8XF5qTExOX0uLjg/1lZcv8rKzf/Kys38isrN5IrKzcK/v7+AP7+ + /gD+/v4A/v7+AN/f8S/e3vGv3t7x/9nZ7/+4uOD/NTVE/8rKzf/x8fj/tLTf/39/yP9BQa3/CQmV/wEB + j/8AAJD/DAyW/xwcnf8nJ6L/Kiqj/x8fnv8CAnv/CQlU/xYWO/8kJDT/Pz9A/yEhIf8AAAD/AAAA/wAA + AP8AAAD/AQEB/wAAAPwAAAD2AAAA6wAAANkAAAC+AAAAnAAAAHYAAABPAAAALwAAABgAAAAJAAAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXl9AHl5fQH5OTzQeTk86Pk5PPj5OTz+uTk8//k5PP/4uLy/9/f + 8f/Z2e//0dHr/8nJ5//CwuT/vLzi/7i44P+zs97/rq7c/6Wl0/+Xl8L/jo62/4WFq/97e57/d3eZ/46O + tv+BgaX/UVFo/1ZWbv+yst7/z8/q/8PD5f+0tN7/paXT/42Ntf93d5n/Xl55/0dHW/8zM0L/Kys3/ysr + N/8rKzf/Kys3/ysrN/8rKzf/Kys3/ysrN/8rKzfoKys3vSsrN4IrKzdMKys3KSsrNxgrKzcVKys3Fysr + NxsrKzccKys3HysrNyJBQVQlV1dwKGxsiit3d5kueHiaMZGRujWlpdM4q6vaPKGhzz+Tk7xDf3+jRmtr + ikrz8/m21tbrab+/4k+zs91LoaHMRpGRuEOJia4/cXGPPGtriDhjY341WlpzMVNTaS9KSl0rQEBRKDc3 + RiUuLjohKSk1Guzs7Yz+/v7/yMjn/5+f1v9ubsL/MTGo/xQUm/8ICJb/AACQ/wAAif8AAIb/AACH/wAA + h/8AAHL/CwtH/xQULf8pKTb/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUF + B/8QEBT/Hx8n/y8vPP8/P0//RUVY/1hYb/93d5f/Pz9Q/ysrN/9KSl3/zc3p/9XV7P/Kyuf/w8Pk/8DA + 4/+9veL/urrg/7a23v+zs93/sLDc/66u2/+srNrnq6vYnqur2Tyrq9kIZ2eDBRMTGAnJyclr5eXl/6ur + 1f9ra8D/VFS2/xgYnv8bG57/Gxue/xsbnv8cHJ//HByf/xwcn/8cHJ//GBid/woKl/8AAIr/BQV1/xAQ + W/8cHEX/JCQ0/zw8Pv84ODj/BAQF/wsLDv8XFx3/Kio1/zk5Sf9ERFf/S0tf/05OZOZNTWKBMzNCFRwc + IwQAAAAB7OzsAOjo6ADp6ekA6urqALCw3AStrdtIrq7b1LGx3P+2tt7/sbHc/3FxkP85OUj/Kys36ysr + N3UrKzcL/v7+AP7+/gD+/v4A/v7+AMnJ5xjGxuayw8Pk+LS03f9DQ1X/Kys3/ysrN/QrKzenKys3C/7+ + /gD+/v4A/v7+AP7+/gDg4PEa39/xft/f8f/d3fD/zc3p/3Nzkv/Kys3/7u74/7i44P+Hh83/T0+1/yAg + of8TE5v/CgqX/w4Omf8cHJ//LCyl/z09rP8vL6f/Dg6D/xISa/8YGED/JCQ0/z8/QP8iIiP/AgIC/wEB + Af8BAQH/AQEB/wEBAf8BAQL+AQEC+AAAAOYAAADQAAAAsgAAAJAAAABrAAAARgAAACgAAAAUAAAACAAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4vIB5OTzAeXl8wTl5fMR5eXzR+Xl9Kjl5fTr5eXz/+Xl + 8//l5fP/4+Pz/9/f8f/Z2e7/0tLr/8rK5//CwuT/vb3i/7e33/+xsdz/pqbS/5SUu/+CgqX/cnKQ/2Bg + ev9nZ4L/fn6g/0BAUf8rKzf/SEhb/8zM6P/T0+v/xcXl/7q64P+yst3/qqrX/5qaw/+IiKz/dnaW/2Ji + fP9MTGH/ODhH/ysrN/8rKzf/Kys3/ysrN/8rKzf/Kys3/ysrN/0rKzf6Kys37isrN9IrKzegKys3ZSsr + NzcrKzcdKys3FisrNxorKzcgKys3JSsrNygsLDgrMjI/LkpKXjFgYHo1dnaWOISEpzyCgqQ/eXmaQ29v + jEdfX3lL4+Pygs3N6F+2tt9Qp6fTTIaGqkh1dZREZGR+QFRUaj1PT2Q5QkJUNjo6SjI2NkQuLi46KCsr + NyQrKzcmKys3NisrN1i0tLnF/v7+/8fH5/+dndb/a2vB/zExqf8dHaD/GRme/w0Nmf8AAJP/AACL/wAA + h/8AAIj/AABy/wsLRf8UFC3/Kio2/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8GBgf/EREW/yIiK/8yMj//QEBR/0hIW/9TU2n/cnKR/3p6mv8rKzf/Kys3/19feP/R0ev/0tLr/8XF + 5v/AwOP/u7vh/7a23/+yst3/sLDc/66u2+StrdugrKzaTK2t2xiurtwIAAAAAQAAAAV/f38d4ODg8sfH + 3P9/f8n/Xl68/zMzqv8EBJL/HByg/xoan/8aGp//HByg/xwcoP8cHKD/HByg/xkZnv8TE5z/AwOT/w0N + e/8bG1v/JiZB/zMzOv9AQED/CwsL/wgICf8TExf/IiIs/zMzQf9AQFH/R0da/0xMYe9NTWKXQ0NUKh8f + KAcAAAAB/v7+AP39/QDu7u4A6OjoAOrq6gCvr9wjrq7ck7Cw3Pq0tN7/uLjg/5+fyv9ZWXH/Li46/ysr + N84rKzdOKys3Av7+/gD+/v4A/v7+AP7+/gDLy+ghyMjnvsTE5fy0tN7/SEhb/ysrN/8rKzf4Kys3uysr + Nw8rKzcB/v7+AP7+/gD+/v4A39/xCt/f8VLf3/Hs39/x/9fX7f+vr9z/ysrN/+7u+P+2tuD/iIjN/1JS + tv8hIaL/Fxee/xERm/8TE5v/ICCh/zIyqf9OTrX/LS2m/xsbhv8aGnb/GhpC/yQkNP8/P0D/JSUm/wYG + CP8DAwT/AQEB/wEBAf8BAQL/AgIC/wMDBP4DAwTzAgID1QEBAbAAAACMAAAAaAAAAEQAAAAoAAAAFAAA + AAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eX0AuXl9Arm5vQf5eX0U+Xl + 9Knm5vTu5ub0/+bm9P/l5fT/4+Pz/9/f8f/a2u//0tLr/8rK6P/CwuT/u7vh/7Oz3v+mptL/jIyx/3V1 + lP9kZH//YWF7/3l5mv97e5v/Kys3/ysrN/9WVm3/y8vo/83N6f+/v+P/urrh/7a23/+yst3/ra3b/6Wl + 0f+amsP/jIyx/3t7nP9nZ4P/U1Np/z4+Tv8rKzf/Kys3/ysrN/8rKzf/Kys3/ysrN/8rKzf6Kys38ysr + N+orKzfXKys3tSsrN4QrKzdVKys3NSsrNyYrKzckKys3JysrNy4rKzcyKys3Njo6SjlLS149TU1hQExM + YERJSVxIQkJUTMTE5Vq2tt9VpaXQUYKCpE1lZX9JUFBkRjw8TEE6Okk+MzNAOCwsNzIsLDczLCw3Oyws + N1EsLDdzLCw3nCwsN8EsLDfcmpqf9f7+/v/Hx+j/nZ3X/2xsw/80NKv/ISGk/yEhpP8cHKL/ExOe/wQE + mP8AAJD/AACL/wAAcv8KCkX/FBQu/yoqN/9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgYH/xISFv8lJS7/ODhH/0pKXP9TU2n/YWF6/3d3lv+Rkbj/RkZY/ywsN/8sLDf/q6vY/9LS + 6//CwuT/u7vh/7a23v+yst3/sLDc566u26atrdpYrq7bJLCw3A2xsdwB/v7+AAAAAAMAAAAK2NjYqenp + 6v+bm9b/YmK+/09Ptv8MDJv/AACV/xoaof8ZGaD/GBig/xoaof8cHKL/Gxuh/xsbof8XF5//Dw+c/wkJ + lv8aGn//Li5h/zg4Sv9AQED/ISEh/wUFB/8ODhH/HBwj/ysrN/85OUf/Q0NU/0pKXvhLS16rRERWPSws + OAwAAAAC/v7+AP7+/gD+/v4A/v7+APPz8wCxsdwHr6/bVa+v3NSyst3/trbf/7Oz3f+AgKH/RERW/yws + N/8sLDeqLCw3Lv7+/gD+/v4A/v7+AP7+/gD+/v4AzMzoLsrK58rIyOb/urrg/1dXbv8sLDf/LCw3+iws + N8wsLDcXLCw3A/7+/gD+/v4A/v7+AN7e8APe3vAx3t7wxd/f8f/b2+//xMTl/9XV2//t7fj/tLTg/4iI + zv9SUrf/IyOk/xgYoP8TE57/Ghqh/yoqqP8+PrD/VVW5/z09p/8rK5n/IiJ9/xwcQ/8kJDT/QEBA/ysr + LP8QEBL/CgoN/wUFB/8CAgL/AgIC/wICA/8DAwT/BAQG/QYGB/AFBQbKAgICmwAAAHEAAABMAAAALQAA + ABgAAAAJAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ub0A+bm + 9A7m5vQq5ub0Xubm9K/n5/Tu5+f0/ubm9P/l5fT/4+Pz/9/f8f/Z2e7/0NDq/8fH5v+/v+L/tbXe/6Oj + zf+IiKz/dHSS/3Jyj/98fJz/j4+z/z8/T/8sLDf/LCw3/4iIrP/IyOf/vb3i/7m54P+2tt//tbXe/7Oz + 3f+xsdz/r6/b/6ur2P+mptH/nJzF/4+Ps/9+fp//aWmE/1FRZf87O0r/LCw3/ywsN/8sLDf/LCw3/yws + N/8sLDf/LCw3/SwsN/QsLDfoLCw32iwsN74sLDeXLCw3bywsN00sLDc5LCw3MSwsNzIsLDc4LCw3Piws + N0EsLDdFLCw3SSwsN020tN5bj4+0V3NzkFNcXHROQ0NVSSwsN0QsLDdALCw3QywsN1AsLDdmLCw3hCws + N6gsLDfHLCw33CwsN+0sLDf5Ly88/5qaof/+/v7/xsbo/5yc1/9ra8P/MDCr/xwco/8dHaT/HR2k/x8f + pf8WFqH/CAib/wAAk/8AAHX/CgpF/xQULv8qKjf/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wYGB/8SEhb/JiYv/z4+Tv9WVmz/ZGR+/3Fxjv+Ghqj/nJzE/66u2/9HR1r/LCw3/0JC + U/+0tN7/vLzh/7a23/2yst7psbHdsa+v3GWvr9wtsLDcD7Ky3QL+/v4A/v7+AAAAAAEAAAAFwMDATe3t + 7f++vuT/fn7L/1JSuf8tLar/AgKV/w4Onv8ZGaL/GRmi/xcXof8YGKL/GRmi/xoao/8ZGaL/Fhah/wkJ + nP8UFI//Li59/0NDZ/9SUlj/ODg4/wMDBP8KCgz/FhYc/yUlL/8zM0D/PDxM/0VFWP5ISFzBQ0NVUS8v + OxQAAAADAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4AsLDcKK6u26CwsNz3s7Pe/7e33/+mptH/ZGR+/zU1 + Qv8sLDf2LCw3gCwsNxb+/v4A/v7+AP7+/gD+/v4A/v7+AMzM6D7Ly+jTy8vo/8HB5P9vb4z/LCw3/yws + N/wsLDfYLCw3ISwsNwX+/v4A/v7+AP7+/gD+/v4A3t7wHd7e8Y/f3/H/3d3w/9HR6//k5O3/7Oz3/7W1 + 4f+IiM//UlK5/yIipv8YGKL/FBSg/yQkpv9BQbL/Skq1/0pKq/E7O4vsOjqq/ycnfv8dHUL/JSU1/0BA + QP8zMzX/ICAj/xkZHf8QEBT/CQkL/wQEBv8DAwT/AwME/wQEBf8GBgj9CAgK8AgICccEBAWOAAAAWgAA + ADcAAAAeAAAADQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5+f0BOfn9A/n5/Qw5+f0befn9Lfn5/Tq5+f0/efn9P/m5vT/4+Pz/9/f8f/X1+7/zs7q/8XF + 5v+5ueH/qKjT/4+PtP+EhKf/iIir/5GRt/+cnMT/LS05/ywsN/8sLDf/iYmt/7m54P+2tt//tbXf/7S0 + 3v+zs97/srLd/7Gx3f+xsd3/sbHd/7Cw3P+trdn/p6fS/5ycxP+OjrP/c3OQ/0dHWf9YWG7/V1du/0dH + Wv8vLzv/LCw3/ywsN/8sLDf/LCw3/ywsN/8sLDf4LCw36ywsN9ssLDfELCw3oywsN4AsLDdiLCw3TSws + N0IsLDdBLCw3QywsN0ksLDdPqanTW319nFZcXHNSQkJSUSwsN1YsLDdiLCw3dSwsN5MsLDe2LCw3zyws + N+MsLDf0Ly87/jU1Qv89PU3/RkZY/09PY/+srLf//v7+/8bG6P+bm9f/aGjC/y4uq/8bG6T/GRmj/xsb + pP8eHqX/HR2l/xgYo/8KCp3/AAB//woKRv8UFC7/Kio3/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8GBgf/EhIW/yYmL/9BQVD/YWF5/3l5l/+Hh6n/mprA/6ur1v+xsd3/nJzD/1BQ + ZP9BQVH/fHya+7Oz3eezs966srLdcrKy3TSyst0Os7PeA/7+/gD+/v4A/v7+AP7+/gAAAAADAAAACu7u + 7uPk5PT/lJTU/2Fhv/9BQbP/DAye/wAAlv8QEJ//GBij/xkZo/8ZGaP/GBij/xkZo/8ZGaP/Fxei/xER + oP8ODpn/JSWI/0BAd/9bW23/Y2Nj/xcXGP8HBwn/EREV/x8fJ/8tLTn/ODhH/0FBUv9GRlfXQUFSZDIy + Ph0AAAAFAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4AsLDcCKys12KtrdnXsrLd/7e33/+3t9//kJCz/1FR + Zf8sLDf/LCw33iwsN1QsLDcH/v7+AP7+/gD+/v4A/v7+AP7+/gDNzelOzMzo2c3N6f/IyOb/iYms/yws + N/8sLDf+LCw34ywsNywsLDcH/v7+AP7+/gD+/v4A/v7+AN7e8Q/e3vFZ39/x99/f8f/Z2e7/7e33/+zs + 9/+1teH/h4fP/1FRuf8iIqf/GBij/xMTof8rK6r/Njau/zw8sP85OaX/PDyo/y4upv8hIXn/GxtA/yUl + Nf9AQED/Pz9A/zc3O/8rKzH/Hx8l/xYWG/8LCw7/BgYH/wMDBP8DAwT/BAQG/wgICv4LCw7xCwsOxAcH + CX0AAABBAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5+f0Aefn9BDn5/Q55+f0e+fn9MHn5/Tq5+f1/ufn9P/m5vT/4+Pz/97e + 8P/W1u3/zc3p/8LC5P+0tN7/oaHJ/5mZv/+bm8H/np7G/4CAoP8sLDf/LCw3/0JCU/+wsNz/trbf/7W1 + 3v+0tN7/s7Pe/7Oz3f+yst3/srLd/7Oz3f+zs93/s7Pd/7Ky3f+wsNz/rq7Z/4WFpv98fJv/lJS5/5CQ + s/+Hh6n/bGyH/1NTaP89PU3/LCw3/ywsN/8sLDf/LCw3/ywsN/8sLDf/LCw3/SwsN/IsLDfiLCw3zSws + N7AsLDePLCw3ciwsN2AsLDdVLCw3ULKy3WKKiqtoZGR8ckFBUYUtLTehLS03vi0tN9g7O0TwLS03/TIy + Pv88PEv/RERV/0tLXv9UVGj/YGB3/2xshv95eZb/wsLS//7+/v/Gxun/mprX/2lpxP8yMq//HR2m/xkZ + pf8ZGaX/HBym/x0dpv8cHKb/Fxek/wAAjP8LC07/FBQv/yoqN/9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BgYH/xISFv8nJy//Q0NR/2ZmfP+FhaL/mpq9/6enz/+trdf/r6/Z/6ys + 1f+cnML8amqE6WNje8KVlbmAtrbfPLa23w22tt8C7u7uAP7+/gD+/v4A/v7+AP7+/gAAAAACAAAABu3t + 7Yn+/v7/sLDg/21txf9DQ7X/KCiq/wEBmf8EBJ3/Dw+h/xgYpP8ZGaX/GRml/xkZpf8aGqX/GRml/xQU + ov8JCZ7/HByR/zg4gP9UVHT/b29v/zs7O/8FBQb/DQ0Q/xkZH/8nJzD/MzM//z09TP9ERFToQEBPezEx + PCYAAAAIAAAAAv7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AKqq0ymqqtOrsbHc97e33/+6uuH/s7Pe/3d3 + k/9CQlL/LS03/y0tN7ctLTc0LS03AYWFhQD+/v4A/v7+AP7+/gD+/v4Azs7pYM7O6d7Pz+r/zMzo/5+f + xv8tLTf/LS03/y0tN+0tLTc3LS03CP7+/gD+/v4A/v7+AP7+/gDg4PEG39/xMuDg8d3g4PH+3d3w//Ly + +f/s7Pf/tLTh/4aGz/9QULr/IyOp/xcXpP8WFqT/Hh6n/ygoq/8kJKn/JSWc/yoqqv8eHp//Ghp1/xoa + P/8lJTX/QEBA/0tLTv5MTFH/QEBG/y8vNv8hISj/FRUb/wsLDv8FBQb/AgID/wMDA/8GBgf/CwsN/w8P + E/ISEha/DQ0QaQMDBCwCAgMTAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5/UA6Oj1AOjo9RXo6PVD6Oj1iejo9cno6PXs6Oj1/+jo + 9f/n5/T/5OTz/97e8P/X1+3/zMzo/76+4v+zs93/p6fP/6Ojy/+kpMz/jIyt/zQ0QP8tLTf/dXWS/7q6 + 4P+3t9//tbXe/7S03v+0tN7/s7Pe/7S03v+0tN7/tbXe/7W13v+vr9r/srLd/6amzv+Dg6P/r6/a/7Gx + 2/+srNX/ra3X/6Ojyv+SkrX/goKh/3Jyjf9XV2z/QkJR/y0tN/8tLTf/LS03/y0tN/8tLTf/LS03/y0t + N/8tLTf6LS037C0tN9QtLTe7LS03nS0tN4G0tN6Tl5e6rnh4lMtYWGzmLS03+C0tN/9UVFz/tLS5/0ZG + V/9RUWX/XV1z/2lpgf9yco3/fX2a/4mJqf+Vlbj/n5/F/9PT5//+/v7/xcXo/5qa2P9nZ8T/Ly+u/xsb + pv8ZGab/GRmm/xwcp/8cHKf/HByn/xwcp/8AAJT/DQ1b/xQUL/8qKjf/QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYGB/8SEhb/KCgw/0VFUv9paXz/iYmj/56ev/+pqdH/qqrS/6io + 0P6lpcztpKTKzYuLrI1ra4RCeXmWD/7+/gD+/v4A6+vrAO/v7wD+/v4A/v7+AP7+/gAAAAACAAAABb29 + vSv+/v7/2dnw/46O0v9TU7z/ODiy/w4Oof8HB5//Cgqg/w8Pov8WFqX/GBil/xgYpf8ZGab/GBil/xcX + pf8REaP/ExOY/y4uhv9LS3j/aGhx/15eXv8LCwz/CQkL/xQUGf8hISj/LCw3/zg4RP5AQE7yPz9Olikp + My4JCQsNAAAABAAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AK6u1weqqtJtra3W3bS03v+6uuD/urrg/6Gh + x/9hYXj/NjZD/y0tN/0tLTeJLS03Hl9fXwBAQEAAbGxsAP7+/gD+/v4A/v7+AM/P6XLPz+rj0NDq/87O + 6f+srNT/Li45/y0tN/8tLTf1LS03Ry0tNwv+/v4A/v7+AP7+/gD+/v4A3d3wAeDg8Rng4PGs4ODx+9/f + 8f/09Pr/7Oz3/7Oz4f+FhdD/VVW9/yIiqf8VFaT/Fhal/xoapv8bG6b/Dg6c/xQUov8bG6b/Dw+a/xMT + cv8aGkL/JSU1/0BAQP9OTlH6XV1h/1NTWP9AQEf/LS00/x0dI/8QEBT/CAgK/wMDA/8CAgL/BAQF/wkJ + C/8PDxL/FhYb9RoaIL4WFhtXDw8SHg0NEAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTzAOfn9ADo6PUA6Oj1AOjo9RXo6PVK6Oj1lejo + 9dXp6fXx6en1/+jo9f/n5/T/4+Pz/97e8P/U1Oz/x8fm/7u74P+0tN7/q6vT/6amzf9tbYb/MTE9/0hI + WP+amr//ubng/7a23v+0tN7/tLTe/7S03v+0tN7/tLTd/7e33/+2tt7/ra3W/7Cw2v+Hh6f/nZ3C/8PD + 5P++vuL/urrg/7q64P+3t9//srLc/6ur0/+kpMr/mJi7/4qKq/90dI//RUVV/y0tN/8tLTf/LS03/y0t + N/8tLTf/LS03/y0tN/8tLTf/LS03/y0tN/ctLTfkvLzi87Cw2f6Wlrn/fHyY/1RUaP8tLTj/lpab/0pK + WP9wcIr/fHyZ/4mJqf+UlLb/m5vA/6KiyP+pqdH/rq7W/7Oz3P/a2u7//v7+/8XF6f+Zmdj/Z2fF/y4u + r/8aGqj/Ghqo/xkZqP8cHKn/HR2p/xwcqf8cHKn/AACY/w4OZP8UFC//Kio3/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8GBgf/ExMW/ykpMP9FRVL/aGh8/4iIo/+dnb//qqrR/6mp + 0fOlpczco6PJmaKiyESkpMsQ/v7+AP7+/gD+/v4A9PT0ANvb2wD+/v4A/v7+AP7+/gAAAAABAAAABAAA + AAv29vbG/v7+/8HB6P+AgM//WVnA/y0tr/8JCaH/DQ2j/wsLov8NDaP/Fham/xcXp/8WFqb/Fham/xQU + pv8PD6T/DQ2f/yMjj/9AQH7/Xl5z/25ubv8oKCj/CQkL/xAQFP8bGyL/KCgx/zMzP/87O0n1Pj5NtyMj + KzYRERUTAAAABgAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCtrdUlra3VuLGx2/i3t9//vLzh/7i4 + 4P+Kiqr/UFBj/y0tOP8tLTjwLS04XC0tOA20tLQAQEBAAEBAQAB/f38A/v7+AP7+/gDPz+qF0NDq6dHR + 6//Pz+r/srLb/zs7Sf8tLTj/LS04+i0tOFotLTgO/v7+AP7+/gD+/v4A/v7+AP7+/gDf3/EP4ODxa+Dg + 8vbg4PH/9fX6/+zs+P+zs+L/iorT/1RUvv8WFqb/FRWm/xYWpv8XF6f/Bweh/wICnf8ICKH/Cgqi/wMD + l/8PD3b/HR1L/yYmNv9AQED/RUVG7l5eY/lbW2D/S0tQ/zU1PP8hISf/FBQX/woKDP8EBAT/AwMD/wUF + Bv8ICAr/Dg4S/xcXHP8eHib6IyMryiIiKlEjIysWLS04AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra7wDh4fIA5eXzAOfn9QDo6PUA6en1Aunp + 9RLp6fVM6en1punp9ePp6fX16en1/ujo9f/n5/T/4+Pz/9zc8P/R0ev/xMTl/7q64f+ystv/p6fO/19f + df88PEr/YmJ5/6ioz/+4uOD/tbXf/7S03v+0tN7/tLTe/7S03v+5ueD/trbf/66u1/+UlLb/cHCK/729 + 4v/Nzen/zMzo/8XF5f++vuL/u7vh/7i44P+2tt//tbXf/7W13v+xsdv/qanQ/46Or/9aWm//OTlH/0RE + VP9hYXf/U1Nm/0VFVf8tLTj/LS04/y0tOP8tLTj/LS04/8XF5f/AwOP/ubng/6qq0P+Jiaj/YGB2/zw8 + Sv9BQU//gYGe/7W13v+ystv/tbXe/7W13v+1td7/tbXe/7W13v+1td7/2tru//7+/v/ExOj/lpbX/2Ji + xP8oKK7/FRWn/xUVp/8TE6b/Fhan/xcXqP8WFqf/Fhan/wAAlf8ODmL/FBQv/yoqN/9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYH/xMTFv8pKTD/RUVS/2dnfP+FhaL/m5u9+6mp + z+2srNKoqKjORKWlyw7+/v4A/v7+AP7+/gD+/v4A+/v7ANPT0wDg4OAA/v7+AP7+/gD+/v4AAAAAAwAA + AAmmpqYx/v7+//7+/v++vuf/j4/V/2pqxv8kJK3/Dg6k/w4OpP8NDaT/DQ2k/xERpf8TE6b/FBSn/xMT + pv8NDaT/Bweh/xkZk/81NYP/U1N3/3Bwcv9NTU7/Dg4R/xAQE/8XFx3/IyMr/y4uOP83N0P5OztJzSIi + KUQNDRAZAAAACQAAAAP+/v4A/v7+AP7+/gD+/v4A/v7+ALm54AGxsdkDr6/Xd7Gx2uS1td7/urrg/729 + 4f+urtX/dHSP/0VFVP8tLTj/LS04zi0tODctLTgC0NDQAFxcXABAQEAAQEBAANLS6wHQ0OoB0NDqltDQ + 6u7S0uv/z8/q/7S03f9CQlH/LS04/y0tOPstLThuLS04Ef7+/gD+/v4A/v7+AP7+/gD+/v4A3NzvB+Dg + 8TPh4fLo4eHy//b2+//t7fj/u7vl/5ub2v9aWsH/Li6w/yMjrP8fH6v/FRWn/wAAnf8GBqH/DQ2k/w8P + pf8HB57/GBiA/ysrXv8yMkH/QEBA/zExMdxISEzmUlJW/kdHSv80NDn/Hx8j/xISFf8JCQv/AwME/wMD + BP8JCQz/DQ0Q/w4OEv8XFxz/Hx8m/yUlLv8pKTPeKys1XC0tOBUtLTgDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzOgA1NTsANzc7wDi4vIA5ub0AOjo + 9QDp6fUA6en1Aunp9Qzp6fVP6en1s+rq9erp6fX76en1/+np9f/m5vT/4eHy/9jY7v/MzOj/wcHk/7i4 + 3/+hocb/YWF3/0xMXf95eZT/srLb/7e33/+1td7/srLb/7S03P+3t9//u7vg/7a23/+wsNj/ZWV8/25u + h/++vuL/x8fm/83N6f/Kyuf/wcHk/7y84f+4uN//t7ff/7i43/+6uuD/vLzh/7u74f+3t9//lpa5/1xc + cP9OTmD/f3+c/6CgxP+GhqX/WVlt/y0tOP8tLTj/LS04/y0tOP/Nzen/y8vo/8nJ5//Dw+X/trbf/6Cg + xP9vb4j/Q0NS/2xshf++vuP/wcHk/7y84v+5ueD/t7fg/7e33/+2tt//trbf/9ra7v/+/v7/wsLo/5OT + 1/9dXcP/IyOu/xAQp/8QEKf/EBCn/xERp/8TE6j/FBSo/xUVqf8AAJj/Dg5h/xQUMP8qKjj/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYGB/8TExb/KCgw/0NDUf9lZXv/gYGd85GR + sruUlLZRk5O0ELOz3AWwsNcB/v7+AP7+/gD+/v4A/v7+AO7u7gDBwcEA+Pj4AP7+/gD+/v4AAAAAAQAA + AAYAAAARAAAAIt/f37b+/v7/y8vs/6io3/93d83/Nja1/xQUqP8NDab/Cwul/w4Opv8QEKf/Dw+n/xAQ + p/8PD6f/CQmk/xAQmv8pKYX/RkZ1/2NjcP9jY2T/ExMW/xUVGf8ZGR//ICAn/yoqNP8zMz/9OTlF2yoq + M2MGBggfCAgKDgAAAAQAAAAB/v7+AP7+/gD+/v4A/v7+AP7+/gCwsNgCsrLaIbOz3Mi2tt/6uLjg/7u7 + 4f+7u+H/nJy//2Rkev87O0n/Li44/y4uOJkuLjgiLi44AdPT0wDi4uIAQkJCAEBAQADT0+wB0dHrBtDQ + 6qjR0evy09Ps/9DQ6v+2tt//RkZW/y4uOP8uLjj7Li44gy4uOBT+/v4A/v7+AP7+/gD+/v4A/v7+ANzc + 8APg4PES4uLyw+Li8vj39/v/9fX7/8/P7f+wsOL/dXXM/01Nvf9BQbn/MTGz/xMTqP8KCqX/EBCn/xoa + qv8eHqz/HR2r/zU1k/9KSnj/WVlk/0hISP8lJSXeGRkazjU1N/I3Nzn/Kios/xgYG/8ODhD/BwcI/wIC + A/8EBAT/DQ0Q/xcXHP8aGiD/Fxcc/x8fJv8mJi7/Kio0/i0tN+guLjh7Li44HQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwcHkAMfH5wDOzuoA1tbtAN7e + 8ADj4/MA5+f0AOjo9QHq6vYB6ur2Berq9hTq6vZV6ur2t+rq9vDq6vb/6ur2/+jo9f/l5fT/39/x/9XV + 7f/Ly+j/wcHk/6iozv9oaID/YGB2/5aWuP+6uuH/uLjg/7e33/+2tt//urrh/7y84v+4uOD/m5u+/0JC + UP9xcYr/qqrQ/7i44P/FxeX/ycnn/8LC5P+8vOL/ubng/7e34P+3t+D/u7vh/8HB5P/BweT/vLzi/7m5 + 4f+Dg6H/TExd/21thv+7u+H/u7vh/4qKqf87O0j/Li44/y4uOP8uLjj/0tLr/9LS6//R0ev/zs7p/8PD + 5P+3t9//qanO/1NTZf88PEn/jY2s/8fH5v/BweP/urrh/7i44P+2tt7/tbXc/7a23f/a2u3//v7+/8LC + 6f+Vldj/YGDG/yQksP8QEKn/ERGp/xISqf8SEqn/ExOq/xQUqv8WFqv/AACb/w4OZ/8UFDH/Kio4/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8GBgf/EhIW/ycnL/8/P0z4U1Nl01ZW + aYZHR1c+RkZUGC8vOAS8vOEB/v7+AP7+/gD+/v4A/v7+AP7+/gDT09MA1NTUAP7+/gDx8fEAAAAAAQAA + AAQAAAAMAAAAGwAAADNqamp0/v7+/93d8v+3t+X/hobT/0xMvv8ZGaz/Cgqn/woKp/8ODqj/ERGp/w8P + qP8NDaj/Cgqn/wsLof8fH5D/Ojp7/1dXcP9sbGz/NjY4/wkJC/8UFBn/JSUu/yoqNP8xMTz/NjZC4y8v + OYMQEBMsAAAAEQAAAAcAAAAC/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AoaHFB7W13IC2tt7subng/7y8 + 4f+8vOH/srLZ/4aGpP9VVWj/MjI9/y4uOPsuLjhkLi44EtXV1QDc3NwA4+PjALm5uQBAQEAA09PsAdHR + 6w7R0eq20tLr99PT7P/R0er/uLjg/0tLW/8uLjj/Li44/C4uOJkuLjgY/v7+AP7+/gD+/v4A/v7+APf3 + 9wDb2+8B39/xCOHh8oni4vLv9/f7///////m5vb/zc3t/6mp4P+GhtP/a2vJ/0FBuv8dHa7/ISGv/yMj + r/8uLrP/Ojq4/0xMuf9nZ6b/e3uR/35+fv9UVFT5FBQU3AQEBNQSEhLjICAi+R0dHv8SEhP/CgoL/wUF + Bf8CAgL/BQUF/w8PEv8eHiT/Kioz/y0tNv8gICb/JiYu/yoqNP8tLTf+Li446i4uOJkuLjgwLi44AgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL6+4gDAwOMAw8PlAMnJ + 5wDQ0OoA2NjuAN/f8QDk5PMA6Oj1AOnp9QDq6vYD6ur2DOrq9iTq6vZf6ur2t+rq9vHq6vb/6en1/+jo + 9f/j4/P/3d3w/9XV7P/MzOj/sbHX/3R0jf97e5b/ra3T/7q64f+6uuD/ubng/7294v++vuL/u7vh/3Fx + iv9KSlr/kZGx/6mpzv+srNH/vLzh/8PD5f/AwOP/vLzh/7m54P+3t9//s7Pa/7e33/+/v+P/wcHk/76+ + 4v+7u+H/rq7U/1VVZ/89PUr/i4uq/8bG5v+pqc7/UFBi/y4uOP8uLjj/Li44/9XV7f/U1Oz/0tLr/9DQ + 6v/Gxub/u7vh/7q64f+Dg6D/MzM+/01NXv+4uOD/wcHk/7q64f+3t9//s7Pa/7Ky2f+zs9r/2dns//7+ + /v/Cwun/lJTZ/19fxv8lJbH/EhKq/xISqv8SEqr/EhKq/xMTq/8UFKv/Fhas/wAAnP8ODmf/FRUy/yoq + OP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYH/xERFP0eHiTvISEoxyAg + J4sZGR5SCgoLKAAAAA8AAAAD/v7+AP7+/gD+/v4A+vr6AP7+/gDv7+8AxMTEAP7+/gD39/cA0tLSAAAA + AAIAAAAHAAAAFAAAACkAAABHAAAAbdXV1eXy8vr/xcXq/5GR1/9aWsT/Kiqz/w0Nqf8JCaf/DQ2p/xAQ + qv8NDan/Bwem/wYGo/8XF5f/MTGC/01Nc/9oaGz/W1td/yAgJ/8LCw3/Dw8S/ygoMf80NED/NDRA6zAw + O5sYGB09AAAAFwAAAAoAAAADAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4Am5u9B5+fwiuwsNbUurrh+r29 + 4v/AwOP/vLzi/6Cgw/9zc4z/Skpa/y4uOP8uLjjjLi44Oi4uOAfh4eEA39/fAOPj4wDo6OgAx8fHANPT + 7ALS0usX0tLrw9PT7PnU1Oz/0dHr/7q64f9QUGL/Li44/y4uOP0uLjitLi44G/7+/gD6+voA/v7+AO7u + 7gDk5OQA/v7+AN7e8QTg4PFL4uLy4/j4/P///////////+7u+f/Z2fH/wsLp/6am3/9ra8r/ODi3/zo6 + uf9ERLz/VVXC/29vy/+Pj8j/o6O1/5aWlv9XV1f8BwcH7wAAAOkAAADnAwMD6gkJCvQODg/9CgoL/wYG + B/8DAwT/AQEB/wUFBv8QEBP/ISEp/zQ0P/9ERFP/QUFQ/ycnL/8rKzT/LS03/y4uOP8uLjjsLi44rS4u + OEcuLjgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9veIAvr7jAL+/ + 4wDBweQAxcXmAMvL6ADS0usA2trvAOHh8gDl5fQA6Oj1AOrq9gDq6vYE6ur2Eurq9jDq6vZs6ur2uerq + 9vTq6vb/6en2/+fn9f/j4/P/3t7x/9PT7P+4uOD/h4ek/5WVtv+7u+H/vb3i/7y84v/AwOP/wMDj/7u7 + 4f9sbIP/X19z/5SUtP+iosX/p6fL/7i44P+9veL/vLzi/7u74f+5ueD/t7ff/7Ky2P+xsdf/ubnh/7y8 + 4v+9veL/u7vh/7u74f+Dg6D/MzM+/01NXv+4uOD/s7Pa/1RUZv8uLjj/Li44/y4uOP/X1+3/1tbt/9TU + 7P/R0er/xsbm/7y84f+8vOH/vb3h/2BgdP82NkH/fn6Y/8LC4/+9veH/u7vg/7m53/+3t9z/trbb/9jY + 6v/+/v7/wsLq/5SU2v9eXsf/IiKy/w8Pq/8SEqz/ExOt/xMTrf8TE63/FBSt/xUVrf8AAJ3/Dg5o/xUV + NP8qKjj/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf0JCQvxCQkL1AcH + CaoDAwR1AAAARwAAACYAAAAPAAAAA/7+/gD+/v4A/v7+APb29gD6+voAxcXFAPHx8QD+/v4A/v7+AAAA + AAEAAAAEAAAADjs7OzwzMzNUAAAAXgAAAIZnZ2fH/////9jY8f+iot//YmLI/zo6uv8WFq7/Cgqp/wwM + qv8NDav/CQmp/wMDpv8ODpv/JiaI/0FBdf9dXWz/ZWVl/0lJVf8/P0z/Ghof/xERFf8hISf/OjpG8TMz + Pq8eHiVPAAAAHgAAAA4AAAAFAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4Au7vgAaenyRSjo8SEq6vO9b+/ + 4v/Dw+T/xcXl/76+4v+UlLL/ZmZ7/0VFU/8vLzj+Ly84tS8vOCAvLzkC8/PzAOXl5QDl5eUA5eXlAOXl + 5QDU1OwC09PrItPT68/U1Oz81dXs/9LS6/+7u+H/VVVm/y8vOP8vLzj+Ly84wS8vOCAvLzgB9vb2APr6 + +gDAwMAA/v7+AP7+/gDf3/EC4eHyHeLi8sf4+Pz+/////////////////////+3t+f/W1vD/ra3i/25u + zP9aWsX/dnbO/5mZ2v/AwOL/2dnZ/6Ojo/45OTn9AAAA+wAAAPkAAAD3AAAA9wAAAPcBAQH5AwMD/QMD + A/8CAgL/AQEB/wAAAP8FBQb/EhIU/yQkK/89PUn/VlZn/2Njd/9WVmj/Li44/y4uN/8vLzj/Ly84/y8v + OPAvLzi9Ly84Xi8vOBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDjAMDA + 4wDAwOMAwMDjAMLC4wDExOQAyMjmAM7O6QDV1ewA3NzvAOPj8gDn5/QA6en1AOrq9gDr6/YF6+v2Fevr + 9jjr6/Z46+v2wevr9vDq6vb/6en1/+fn9P/k5PP/29vv/8LC5P+pqcz/vLzh/8TE5f/BweP/wsLk/8PD + 5P+zs9f/d3eP/4eHo/+Pj6z/lpa1/56evv+urtL/ubnf/7u74P+7u+D/uLjd/7a23P+5ud//urrg/7u7 + 4P+8vOH/vLzh/7y84f+8vOH/vb3h/2BgdP82NkH/fn6Y/7Gx1f9ZWWv/Ly84/y8vOP8vLzj/1tbt/9bW + 7f/W1u3/0tLr/8fH5v+9veL/vb3i/76+4v+fn7//Tk5e/19fc/+pqcv/vLzh/7e33f+2ttv/r6/T/6io + yv/S0uP//v7+/8LC6v+Tk9n/Xl7H/yEhsv8ODqz/EBCt/xISrf8TE67/ExOu/xISrf8TE67/AACe/w4O + aP8VFTT/Kio4/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL5AQEC6AEB + AcoAAACjAAAAcwAAAEcAAAAmAAAADwAAAAP+/v4A/v7+AP7+/gD29vYA09PTAKmpqQD+/v4A/v7+AP7+ + /gAAAAACAAAACWtra25WVlb/UlJS9UxMTKoAAACfAAAAw+Tk5Pvv7/n/vLzn/3Nzz/88PLz/Nja5/xsb + sP8VFa7/ERGt/wgIqf8JCaH/GxuR/zY2e/9RUW3/aGho/1tbY/9YWGr/UFBg/zY2Qv8YGB3/HR0j9zEx + Or8kJCxgBQUHJwAAABIAAAAHAAAAAvr6+gD+/v4A/v7+AP7+/gD+/v4A/v7+ALq63wm1tdo8pKTG26am + yP68vOH/xsbm/8bG5v+7u+H/hYWg/1dXaf87O0f/Ly84+i8vOHcvLzgT/v7+AP7+/gD09PQA6OjoAOLi + 4gDf398A1dXsA9PT7C7T0+zZ1dXs/9bW7f/T0+v/vb3i/1tbbf8vLzj/Ly84/i8vONIvLzgoLy84A/b2 + 9gDQ0NAAnZ2dAP7+/gD///8A4ODxAeHh8gfg4PGb+Pj8+//////i4vL/2dnu/56ev/+rq7H/8vL6/9vb + 8v+4uOb/oKDe/7y82//7+/3/+Pj4/42NjfMTExP1AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAA + AP8AAAD/AAAA/wAAAP8AAAD/BQUG/xISFP8lJSv/Pj5K/1lZa/9qan//bm6E/2Jidv9ERFL/Ly84/y8v + OP8vLzj/Ly849i8vOM4vLzhxLy84HS8vOAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLC + 5ADBweQAwcHjAMDA4wDAwOMAwcHkAMPD5QDFxeUAycnnAM/P6gDX1+0A3t7wAOTk8wDo6PUA6ur2AOvr + 9gDr6/YE6+v2Fevr9kDr6/aI6+v2yevr9u/q6vb/6ur2/+jo9f/f3/H/y8vo/8TE5f/IyOf/yMjn/8bG + 5v/Gxub/p6fJ/5OTsP+vr9P/np6//52dvf+np8n/tLTY/7q64P+6ut//t7fc/7Ky1v+vr9P/t7fd/729 + 4v+9veL/vb3i/7y84v+9veL/vb3i/76+4v+fn7//Tk5e/19fc/+IiKT/VVVm/y8vOP8vLzj/Ly84/9XV + 7P/V1ez/1tbt/9PT6//IyOb/vr7i/76+4v++vuL/v7/i/319lv9cXG7/hISe/7W12f+pqcr/n5++/5yc + u/+lpcb/19fo//7+/v/Cwuv/k5Pb/2Bgyf8jI7X/DQ2t/w0Nrf8PD67/EhKv/xMTr/8UFLD/ExOv/wAA + nv8ODmr/FRUz/yoqOP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAA + AOYAAADJAAAAowAAAHMAAABHAAAAJgAAAA8AAAAD/v7+AP7+/gD+/v4A9/f3AJOTkwCwsLAA/v7+AP7+ + /gAAAAABAAAABpqamj2UlJT/ZWVl/05OTv9ubm7/YmJi0QAAANVlZWXy/////9zc8/+iot//V1fG/1FR + xP9WVsb/NTW7/yEhtP8MDK3/FRWb/y0tg/9GRnD/YGBn/15eYf9kZHj/ZWV5/1pabP9OTl3/LCw1+h4e + JMkfHyVrDg4RLgAAABYAAAAKAAAAAwAAAAH39/cA/v7+AP7+/gD+/v4A/v7+ALa22gG0tNccvb3hia+v + 0v2np8f/sLDT/8PD5P/CwuT/ra3O/3p6kv9QUGD/NjZA/y8vOOwvLzg/Ly84Cv7+/gD+/v4A/v7+AO/v + 7wDi4uIA3t7eANXV7ATU1Ow+1NTs4tbW7f/X1+3/09Pr/7+/4v9iYnX/Ly84/y8vOP8vLzjfLy84Mi8v + OAb39/cAjY2NAJqamgD+/v4A/v7+AP///wD+/v4A4+PyZ/j4/Pf/////3t7w/9jY7v+fn77/tbW///// + ///5+f3/8PD6//Hx8v66urrrq6ur1ygoKMo9PT3oKioq+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUFBv8TExX/JiYs/z4+Sv9VVWb/cXGH/4mJpP+Njaj/eXmQ/09P + Xv8vLzj/Ly84/y8vOP8vLzj7Ly843y8vOIYvLzgqLy84BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADCwuQAwsLjAMLC5ADCwuMAwcHjAMHB4wDBweMAwsLkAMTE5QDHx+YAy8voANLS6wDZ2e4A4ODxAOXl + 8wDo6PUA6+v2AOvr9gDs7PYA7Oz2Gezs9kzr6/aU6+v20Ovr9vHr6/b/6en1/+Hh8v/a2u//19ft/87O + 6f/Hx+b/xcXl/5aWs/+lpcb/v7/i/7e32/+1tdn/u7vg/7294f+9veH/vLzh/7e32/+urtD/q6vN/7Ky + 1f+7u+D/vb3h/7294v++vuL/vr7i/76+4v++vuL/v7/i/319lv9cXG7/YmJ1/09PXv8vLzj/Ly84/y8v + OP/W1u3/19ft/9fX7f/U1Oz/ycnn/7+/4/+/v+P/wMDj/8DA4/+xsdT/e3uT/3x8lP+hocD/oqLC/6Ki + wv+qqsv/sbHU/9bW6P/+/v7/w8Pr/5aW3P9hYcr/JSW2/xAQr/8QEK//EBCv/xERsP8TE7D/FRWx/xQU + sf8AAJ//Dg5r/xUVM/8qKjj/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APcAAADlAAAAyQAAAKMAAABzAAAARwAAACYAAAAPAAAAA/7+/gD+/v4A/v7+ANvb2wBnZ2cAxMTEAP7+ + /gAAAAABAAAAAwAAAAvi4uLjvr6+/4uLi/9dXV3/Z2dn/76+vv9WVlbsEhIS9vDw8P/19fv/0dHw/4qK + 2P9tbc7/hobX/2trzv88PL7/ExOw/yQkkP8+Pnb/VlZp/2JiYv9gYG7/bW2D/2trgP9gYHP/VlZn/kVF + UtUkJCtsEBAULwAAABcAAAAMAAAABQAAAAH19fUA9PT0AP7+/gD+/v4A/v7+AP7+/gCzs9YKt7fbR76+ + 4tm/v+P/s7PW/6Wlxf+qqsz/tbXY/5mZt/9wcIb/RkZT/y8vOfkvLznMLy85HDU1PwP+/v4A/v7+AP7+ + /gD+/v4A7OzsAN7e3gDW1u0F1dXsUtXV7OfW1u3/19ft/9PT7P/AwOP/amp//y8vOf8vLzn/Ly856S8v + OT0vLzkI2NjYAFxcXACdnZ0A/v7+AP7+/gD+/v4A/v7+AObm9DP5+fzy/v7+//f3+//t7ff/pKTE/6am + uP/////////////////IyMr/GRke2QcHCLQAAADDn5+f81dXV/84ODj/HBwc/ygoKP8YGBj+AAAA/gAA + AP0AAAD9AAAA/QAAAP0BAQH+AQEB/wEBAf8FBQb/ExMU/ycnLP9BQUv/YmJ0/39/mP+Rka7/m5u5/5iY + tf+BgZr/Wlps/y8vOf8vLzn/Ly85/y8vOf8vLznyLy85mi8vOTYvLzkNLy85AQAAAAAAAAAAAAAAAAAA + AAAAAAAAwMDjAMLC5ADCwuQAw8PlAMLC5ADCwuQAwsLkAMPD5QDDw+UAw8PlAMXF5gDIyOcAzc3pANTU + 7ADa2u8A4eHyAObm9ADp6fUA6+v2AOzs9wDs7PcA7Oz3G+zs9lbr6/ai6ur22urq9vPp6fX/5+f1/+bm + 9P/f3/H/2Nju/87O6v+kpMT/srLV/8fH5v/BweT/v7/j/7+/4//AwOP/wMDj/7+/4/+8vOD/s7PW/7Cw + 0v+0tNf/vLzh/76+4v+/v+P/v7/j/7+/4/+/v+P/wMDj/8DA4/+xsdT/e3uT/1lZav88PEj/Ly85/y8v + Of8vLzn/19ft/9nZ7v/Z2e7/1dXs/8rK5//AwOP/wcHj/8HB4//BweP/wsLk/5ycuv+Pj6r/qanJ/7u7 + 3v+3t9n/rq7P/7Cw0f/W1ub//v7+/8LC6/+Wltz/YmLM/ygouf8SErL/EhKy/xISsv8SErL/EhKy/xQU + s/8VFbP/AACj/w4ObP8UFDP/Kio5/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD3AAAA5QAAAMkAAACjAAAAcgAAAEcAAAAmAAAADwAAAAL+/v4A/v7+AP7+/gCjo6MAfX19APr6 + +gD+/v4AAAAAAgAAAAft7e2J/v7+//T09P/ExMT/fn5+/2tra/+jo6P/8PDw/gICAv2AgID///////Ly + +//Ly+7/kJDb/4+P2v+YmN7/YWHM/yUltf84OIf/Tk5s/2VlZf9WVlz/ZGR3/21tgv9paX3/YmJ1/1tb + bOlMTFttICAmKAAAABMAAAAMAAAABgAAAAL+/v4A+vr6APT09AD5+fkA/v7+AP7+/gC3t9oBr6/QI7m5 + 3JLAwOP/w8Pk/8LC5P+rq8z/kJCr/4uLpf98fJT/VlZn/zAwOf8wMDnyMDA5lTAwOQv+/v4A/v7+AP7+ + /gD+/v4A/v7+APz8/ADo6OgA1tbtBtXV7GbW1u3q19ft/9fX7f/T0+z/wcHj/3Bwhf8wMDn/MDA5/zAw + OfIwMDlKMDA5C52dnQBnZ2cAycnJAP7+/gD+/v4A/v7+AP7+/gDl5fQS+vr86f7+/v/n5+f/3Nzm/76+ + 4v9/f5f/rKy6/////////////////3Nzd/lAQELYkJCQ4/7+/v90dHT/QEBA/0BAQP9AQED/ICAg/gAA + APoAAAD4AAAA9gAAAPQAAAD0AAAA9QQEBPsEBAT+BwcI/xQUFf8qKi3/R0dN/2Zmdf+EhJv/l5ez/6Ki + wf+mpsX/np68/319lf88PEf/MDA5/zAwOf8wMDn/MDA5/zAwOf4wMDmzMDA5RTAwORAwMDkDAAAAAAAA + AAAAAAAAAAAAAK+v0AC9veEAwcHjAMPD5ADExOUAw8PkAMPD5ADExOUAxMTlAMTE5QDExOUAxcXlAMfH + 5gDKyucAz8/qANXV7ADc3O8A4uLyAOfn9ADq6vYA6+v2AOzs9gDr6/YD6+v2Guvr9lvr6/ax6+v26evr + 9vjr6/b/5+f0/+bm9P/i4vL/ycnn/8HB4//Ly+j/ycnn/8bG5f/ExOX/wsLk/8HB4//BweP/wMDj/729 + 4P+4uNv/u7ve/7+/4v/AwOP/wMDj/8DA4//AwOP/wcHj/8HB4//BweP/wsLk/5ycuv9ra3//QkJO/zAw + Of8wMDn/MDA5/9nZ7v/a2u//2trv/9fX7f/Ly+j/wcHk/8LC5P/CwuT/wsLk/8PD5f+9veD/tLTW/76+ + 4v/CwuT/vr7h/7Ky1P+vr8//1dXl//7+/v/Dw+v/lpbd/2Jizf8oKLr/ExOz/xMTs/8TE7P/FBSz/xQU + s/8VFbT/FBSz/wAApP8ODm3/FRU1/yoqOf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA9wAAAOUAAADIAAAAogAAAHEAAABGAAAAJQAAAA8AAAAC/v7+AP7+/gD+/v4AmZmZAJ6e + ngD29vYAAAAAAQAAAASRkZEc/Pz88v7+/v/+/v7//f39/52dnfpHR0fpUFBQ+Ofn5/9QUFD/ISEh//// + ////////+vr9/9bW8f+srOT/p6fi/4WF1/9ERLf/TU1+/1xcZP9XV1j/Tk5b/2Fhc/9mZnn/ZmZ5/2Nj + dfVdXW96PDxIHQAAAAsAAAAIAAAABQAAAAIAAAAB/v7+AP7+/gD39/cA9/f3AP7+/gD+/v4Ar6/QB6ys + zVK9veDdubnc/7Ky0/+jo8L/eXmP/zAwOf8wMDn/MDA5/zAwOf8wMDn/MDA56DAwOVMwMDkH/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A+vr6ANfX7QfW1u1819ft7djY7v/Y2O7/09Ps/8LC5P94eI7/MTE7/zAw + Of8wMDn7MDA5WTAwOQ+UlJQAgoKCAMzMzAD+/v4A/v7+AP7+/gD+/v4A5eX0Afv7/d7+/v7/kpKS/83N + 2P/R0ev/lJSv/3Z2jf+Pj57/o6Om/8nJy//Hx8n/1dXW++/v7//u7u7/fHyV/y8vOv85OT7/QEBA/yEh + IfgAAADtAAAA6QAAAOQAAADhAAAA4QAAAOQBAQHpCQkK+A0NDv4YGBn/LS0v/0tLT/9sbHf/iYme/52d + uv+np8b/rKzM/6mpyf9/f5b/WFho/21tgf9FRVL/MDA5/zAwOf8wMDn/MDA5/zAwOcwwMDlaMDA5EjAw + OQIAAAAAAAAAAAAAAABYWGkAkZGsALm53ADBweQAxMTlAMTE5QDExOUAxMTlAMXF5gDFxeYAxcXmAMXF + 5gDFxeYAxsbmAMjI5wDMzOkA0dHrANfX7QDe3vAA4+PzAOjo9QDq6vYA6+v2Aezs9wLs7PcF7Oz3F+zs + 917s7PfD6+v28Onp9fzq6vb/6+v2/+Pj8//U1Oz/09Ps/9fX7f/R0ev/zMzo/8fH5//FxeX/xMTl/8PD + 5f/CwuT/wMDj/7+/4//AwOP/wcHk/8HB5P/BweT/wcHk/8LC5P/CwuT/wsLk/8PD5f+9veD/j4+q/1FR + YP8wMDn/MDA5/zAwOf/Z2e7/2trv/9ra7//X1+3/zMzo/8LC5P/Dw+T/w8Pk/8PD5f/ExOX/wcHj/7u7 + 3f/AwOP/wsLk/8HB4/+3t9j/ra3N/9TU4//+/v7/xcXt/5ub4P9oaND/LS29/xgYt/8WFrb/Fha2/xYW + tv8VFbb/Fha2/xYWtv8AAKb/Dg5u/xUVNf8qKjn/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPcAAADkAAAAxwAAAKAAAABvAAAARQAAACQAAAAOAAAAAv7+/gD+/v4A9vb2AKio + qADQ0NAA3d3dAAAAAAIAAAAJ6urqi/7+/v/+/v7/9/f395mZmc8PDw/NCAgK7wYGB/6np6f/gICA/wEB + Af+goKD/sLCw/4CAgP+wsLD/2trz/7S05/+iouL/a2u9/2Nje/9jY2P/Pz9G/0tLWf9aWmv/X19w/2Bg + cvNiYnScXFxsFDAwOAUAAAADAAAAAgAAAAEAAAAB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AKur + yiicnLiel5ey/4SEnP9+fpX/fn6V/3Jyhv85OUT/MDA5/zAwOf8wMDn/MDA5/DAwOdIwMDkhMDA5BP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDX1+0H19ftkdfX7fDZ2e7/2dnu/9TU7P/ExOX/gICX/zg4 + Qv8wMDn/MDA5/zAwOWkwMDkToqKiALi4uADDw8MA7e3tAP7+/gD+/v4A/v7+AOfn9AH8/P3S8vLy/3Bw + cf/d3en/4ODx/8LC5P+AgJf/eHiO/0VFUv8mJi3/Hx8k/yQkJ/nk5OT/r6/F/3Bwrf8hITb/LS06/0BA + QP8iIiLuAAAA1wAAANAAAADKAAAAxQAAAMUAAADJAAAA0gUFBeESEhL2HBwd/TExMv9NTVH/cXF5/5CQ + oP+jo73/rq7O/6+vz/+vr8//gICX/2lpff9oaHv/MjI8/zAwOf8wMDn/MDA5/zAwOf8wMDn+MDA53jAw + OXkwMDkaAAAAAAAAAAAAAAAAMDA5ADAwOQBeXm8ApKTCAMLC5ADExOUAxcXlAMXF5QDGxuYAxsbmAMbG + 5gDGxuYAxsbmAMbG5gDHx+YAyMjnAMrK6ADOzukA0tLrANjY7gDf3/EA5OTzAOjo9QLr6/YE7Oz3Bu3t + 9wft7fcH7Oz3Guvr9mfq6vbH6ur29ezs9//s7Pb/5OTz/97e8P/h4fL/3t7w/9jY7v/R0ev/zMzo/8jI + 5//Gxub/xMTl/8PD5P/BweP/wMDj/8HB4//CwuT/wsLk/8LC5P/Dw+T/w8Pk/8PD5f/ExOX/wcHj/5WV + sP9TU2L/MDA5/zAwOf8wMDn/29vv/9vb7//b2+//2Nju/83N6f/Dw+X/xMTl/8TE5f/Fxeb/xcXm/8LC + 5f+/v+H/w8Pl/8PD5f/Dw+X/vb3g/7Gx0f/T0+L//v7+/8bG7f+cnOD/bW3S/zIywP8aGrn/Fha4/xUV + t/8UFLf/ExO3/xUVt/8WFrj/AACn/w4Obv8VFTX/Kio5/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD2AAAA4wAAAMYAAACfAAAAbQAAAEMAAAAjAAAADQAAAAH+/v4A/v7+AOXl + 5QDMzMwA8PDwAAAAAAEAAAAGg4ODH/z8/PL6+vr0tra2snNzc7OGhobpSkpK+zIyMv8QEBH/AQEC/woK + Cv+Pj4//AQEB/wEBAf8AAAD/AAAA//z8/v/IyO7/r6/m/4+Pu/92dnb/SkpN/zY2QP9HR1T/VFRj/1lZ + avRcXG22WFhoJHV1igOHh6AB6urqAPHx8QC8vLwAtbW1AO7u7gD+/v4A/v7+AP7+/gD+/v4A/v7+ALW1 + 1gidnblgm5u33oyMpf+WlrH/o6PA/8HB5P/Fxeb/trbX/2VleP8wMDn/MDA5/zAwOfIwMDmoMDA5BzAw + OQL+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A2NjuCNfX7qXY2O7z2dnv/9nZ7//T0+z/xcXm/4iI + of8+Pkn/MDA5/zAwOf8wMDl6MDA5GMXFxQDu7u4A19fXAPX19QD+/v4A/v7+AP7+/gD+/v4A/f3+yPf3 + 9/9YWFj/X19h/+bm9P/T0+z/paXD/4qKo/9cXG3/Jycu/yEhJ/8ZGR7+urq7/JGRtv9XV6P/KSlU/yYm + OP9AQED/JSUl3gAAALYAAACtAAAApAAAAJ4AAACfAAAApwAAALQBAQHICQkK3xwcHfMyMjX9T09S/3V1 + e/+YmKT/q6vB/7a21P+0tNX/pqbE/3V1i/+Hh5//b2+D/2pqff9cXGz/VFRj/zAwOf8wMDn/MDA5/zAw + OfwwMDnlMDA5mDAwOS0AAAAAAAAAADAwOQAwMDkAMDA5ADAwOQBhYXIAp6fGAMXF5gDGxuYAx8fmAMfH + 5wDHx+cAx8fnAMfH5wDHx+cAyMjnAMjI5wDIyOcAysroAMrK6ADNzekA0tLrANjY7gLe3vED5OTzBunp + 9Qfs7PcJ7Oz3Cevr9grs7PcR6+v2L+rq9nPs7PfH7e339urq9v/n5/T/6en1/+bm9P/j4/P/3t7w/9fX + 7v/R0ev/zMzp/8nJ5//Gxub/xMTl/8LC5f/BweT/wsLl/8PD5f/Dw+X/xMTl/8TE5f/Fxeb/xcXm/8LC + 5f+amrb/WFho/zAwOf8wMDn/MDA5/9zc7//d3fD/3Nzv/9jY7v/Ozun/xcXl/8bG5f/GxuX/x8fm/8jI + 5v/ExOT/wcHi/8XF5f/FxeX/xcXl/8PD5P+4uNf/1dXj//7+/v/Jye//n5/i/3Fx1P82NsL/HBy6/xYW + uf8WFrn/FRW4/xISt/8TE7j/ExO4/wAAp/8ODm7/FRU1/yoqOf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9gAAAOIAAADFAAAAnQAAAGsAAABBAAAAIQAAAAwAAAAB2NjYAPz8 + /AC6uroAz8/PAAAAAAEAAAADAAAAC7CwsEXU1NSZKysrYJycnLr39/f/nJyc/0JCQv9AQED/PDw8/wUF + Bv8sLCz/ioqK/2xsbP8AAAD/AAAA/0BAQP//////4uL2/8rK7/+zs7n/ZWVm/y0tNP85OUP/RkZR/09P + XflVVWPIUlJgSDk5QgiEhJsB29vbANfX1wD+/v4A2traAK+vrwDFxcUA/f39AP7+/gD+/v4A/v7+AP7+ + /gCrq8gvq6vIq7W11PnDw+T/ysrn/8vL6P/Jyef/xsbl/7e31v93d4v/NDQ9/zExOf8xMTnkMTE5cTEx + OQExMTkB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A0dHqAdfX7QvZ2e642tru9tvb7//a2u7/1NTs/8fH + 5v+Rkan/RkZS/zExOf8xMTn/MTE5jDExOR3T09MA/v7+APX19QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /sP+/v7/bW1t/0BAQP9/f4P/4eHx/83N6P+wsM//fX2S/0FBTP8kJCr/LCww/9fX1/99fa7/QECM/yoq + Yf8kJDf/Pz9A/ykpKcoAAACMAAAAggAAAHgAAAByAAAAdAAAAH8AAACTAAAArQMDA8cSEhLcLi4w8VFR + VP93d3z/np6m/7W1xf+/v9j/wcHh/5ubtv+ior7/wMDg/8PD5P++vt//s7PR/5ubtv9zc4f/Pj5I/zEx + Of8xMTn/MTE5/TExOeoxMTmtMTE5QzExOQIxMTkBMTE5ADExOQAxMTkAMTE5AD8/SgB5eY0AtrbVAMjI + 5gDJyecAycnnAMnJ5wDJyecAycnnAMrK5wDKyucAysrnAMrK5wDKyucAysrnAMzM6AHPz+oD1NTsBNra + 7gbg4PEI5eXzCefn9Avp6fUL7Oz3DO3t9w/q6vUd6+v2QO3t94Ds7PbI6+v2+Ozs9//s7Pb/6ur2/+jo + 9f/k5PP/3t7w/9jY7f/S0uv/zc3p/8rK5//Hx+b/xMTl/8TE5P/ExOX/xcXl/8bG5f/GxuX/x8fm/8jI + 5v/ExOT/nJy2/1paav8xMTn/MTE5/zExOf/d3fD/3d3w/93d8P/Z2e7/zs7p/8bG5v/Hx+b/yMjn/8jI + 5//Jyef/xsbm/8TE5f/Gxub/xcXm/8XF5v/Fxeb/wMDh/9nZ6P/+/v7/yMjv/6Cg4/92dtf/QkLH/yEh + vv8aGrz/Fha6/xYWuv8TE7r/ExO6/xMTuv8AAKv/Dg5v/xQUNf8qKjn/QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADhAAAAwwAAAJsAAABpAAAAPwAAACAAAAALAAAAAdvb + 2wDc3NwAnZ2dALKysgAAAAACAAAAB7e3t4mUlJReAAAAR0RERov+/v7/1tbf/3FxjP80NEH/OTk+/0BA + QP8ZGRn/MDAw/1VVVf+Ghob/AAAA/wAAAP9QUFD///////7+/v/t7e3/pqam/zY2Ov8wMDn/PT1H/0ZG + UvxMTFjWTExZaDMzPBYAAAAD+Pj4AMvLywDZ2dkA/v7+AP7+/gDLy8sAr6+vAMvLywD09PQA/v7+AP7+ + /gC3t9YLsbHPbr+/4N7BweH/ysro/8zM6P/Ly+j/yMjn/8XF5v+ursv/fHyR/0FBS/8xMTn/MTE50TEx + OTv+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AMnJ5wPQ0OsU1tbtyNra7vjc3O//29vv/9TU + 7P/IyOf/l5ew/05OW/8xMTn/MTE5/zExOaAxMTkjwcHBAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v7A/v7+/5SUl/9AQED/QEBA/6iosP/Y2O7/wMDb/4mJnP9paXf/KSkw/3p6fP/Q0Ob/bW21/zAw + fv8gIE7/JCQ4/z8/QP8uLi6zAAAAXwAAAFYAAABNAAAASQAAAE8AAABeAAAAdwAAAJkAAAC3BQUFyBwc + HdhJSUzweHh8/6GhqP+9vcj/ysrc/8fH4/+0tNL/yMjn/8TE5f/ExOX/xMTl/8PD5P+5udj/paXB/4CA + lv9NTVr/MTE5/zExOf8xMTn/MTE58TExOcAxMTlWMTE5DjExOQIxMTkAMTE5ADExOQAxMTkAMTE5AGdn + eAClpcEAxsbmAMrK6ADKyugAysroAMrK6ADKyugAysroAMrK6ADKyugAy8voAMrK6ADLy+gCzMzoBc3N + 6QbR0esH1tbtCdnZ7grd3fAM5ub0DOrq9g7s7PcP6ur2D+jo9RTs7Pcm7Oz3TOzs947t7ffP7e33+O3t + 9//t7ff/6+v2/+jo9f/j4/P/3d3w/9fX7f/R0ev/zc3p/8jI5//Gxub/xcXl/8fH5v/Hx+b/yMjn/8jI + 5//Jyef/xsbm/6GhvP9bW2v/MTE5/zExOf8xMTn/3d3w/97e8P/e3vD/29vv/9DQ6v/IyOb/yMjm/8jI + 5v/Jyef/ysrn/8jI5v/Hx+b/x8fm/8fH5v/Hx+b/yMjm/8fH5v/i4vL//v7+/76+7P+QkN//Z2fT/0VF + yf8lJcD/Ghq9/xgYvP8VFbv/Fha7/xUVu/8UFLv/AACs/w4OcP8VFTb/Kio5/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAA4QAAAMMAAACaAAAAZwAAAD4AAAAfAAAAC+Xl + 5QD+/v4A9/f3AKCgoAAAAAABAAAABaqqqoesrKz/f3+AeYWFhqjV1db36+vv/4+Px/9GRob/JSVH/ycn + Of85OT7/NDQ0/yQkJP9AQED/aGho/wAAAP8AAAD/gICA///////+/v7/8fHx/4eHiP8mJiz/NDQ9/0BA + Sv9GRlHkRkZQhjExOSYAAAAHAAAAAeXl5QC4uLgA2dnZAP7+/gD+/v4A8fHxAMHBwQCvr68AysrKAPHx + 8QD9/f0Ay8voMsnJ57XExOT4ycnn/8zM6P/Nzen/y8vo/8jI5v/Dw+L/oaG7/25ugP9CQk3/MTE59jEx + Oa8xMTkX/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDQ0OoFz8/pHtHR6tXV1ez72dnu/9ra + 7v/U1Oz/ycnn/52dtv9UVGL/MTE5/zExOf8xMTmyMTE5KZycnADr6+sA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+4P7+/v++vs3/SEhI/0BAQP+Tk5r/hYWN/0BAQP9AQED/QEBA/3Jycv+goKn/pqbd/2Vl + xP8xMYr/IyNU/yUlOP9AQED/MzMznwAAADgAAAAyAAAALAAAACwAAAA2AAAASgAAAGkAAACPAAAAsgAA + AMIICAnFLy8x0XFxdvGioqj/w8PK/9bW4v/d3ez/29vv/8zM6P/Hx+b/xsbm/8fH5v/Hx+b/xsbm/8HB + 4f+vr8z/jY2j/1paaP8xMTn/MTE5/zExOf8xMTn5MTE5zzExOWgxMTkdMTE5BjExOQAxMTkAMTE5ADEx + OQAyMjoAY2NzAJiYsQDAwOAAycnnAMvL6ADLy+gAy8voAMvL6ADMzOgAzMzoAMzM6ADMzOgCzMzoBMzM + 6AbMzOgHzc3pCc/P6grOzukL1dXsDd7e8A3j4/MO6Oj1EOjo9BLi4vIT6Oj1E+3t9xju7vct7u73WO7u + 96Du7vfW7u739e7u9//t7ff/6+v2/+jo9f/j4/L/3d3w/9bW7f/R0er/y8vo/8nJ5//Jyef/yMjm/8jI + 5v/Jyef/ysrn/8jI5v+oqMT/XFxr/zExOf8xMTn/MTE5/97e8P/f3/H/39/x/93d8P/S0uv/ycnn/8nJ + 5//Jyef/ycnn/8nJ5//Jyef/ysro/8nJ5//Kyuj/y8vo/83N6f/Pz+r/5ub0//39/v+UlOH/Ozu8/w4O + nv8AAJr/AACv/wcHuf8ZGb7/Fha9/xcXvf8VFb3/ExO8/wAArf8PD3P/FhY4/yoqOf9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQAAAGYAAAA9AAAAHwAA + AArT09MA/v7+AP7+/gDHx8cAAAAAA2VlZRitra3xoqKi8yEhJm+Ghonh3t7e/6Wl2f9bW8L/JyeW/xoa + Yv8dHTz/LS06/0BAQP8UFBT/QEBA/1paWv8AAAD/AAAA/4CAgP///////v7+//Dw8P8vLzL/KCgu/zU1 + Pv8/P0nvQEBKozAwOD0AAAAOAAAABAAAAAHAwMAApaWlAPLy8gD9/f0A39/fAMjIyACPj48AQEBAAEBA + QABHR0cA19ftCs/P6nrLy+jiyMjn/83N6f/Pz+r/zs7p/8zM6P/Jyef/vr7d/5SUrP9hYXH/OjpE/zIy + OucyMjqCMjI6Bf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A2NjuBtbW7SjV1e3g19fu/dvb + 7//b2+//1NTs/8nJ5/+ior3/WFhm/zIyOv8yMjr/MjI6wjIyOi4yMjoBvr6+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/v/+/v7/4OD2/5KSmP9paWz/aGhs/0BAQP8+Pj//NTU9/zo6SP9YWHD/e3ul/4qK + 1f9xcdb/R0eq/zAwZP8pKTn/QEBA/zk5OZAAAAAcAAAAGQAAABcAAAAcAAAAKwAAAEUAAABoAAAAkQAA + ALQAAADEAAAAwBERErVXV1rHoKCm9cTEy//a2uT/5+fy/+Xl9P/T0+z/zMzp/8rK6P/Jyef/ysro/8rK + 6P/Jyef/x8fm/7m51/+bm7P/a2t8/zIyOv8yMjr/MjI6/zIyOv8yMjrdMjI6fzIyOisyMjoJMjI6ADIy + OgAyMjoAMjI6AEVFUAB2dokAs7PPAMvL6ADMzOgAy8voAMvL6ADLy+gAzMzpAMzM6QHNzekBzc3pA8zM + 6QXNzekHzc3pCMzM6QnKyugLzMzpDNHR6w3V1ewO2dnvD9/f8RHi4vIT2trvFNvb7xbq6vYY7u74GO7u + +Brv7/gz7+/4ae/v+Kzv7/jc7u749u7u9//t7ff/6+v2/+fn9f/i4vL/29vv/9XV7f/Q0Ov/zc3p/8vL + 6P/Kyuj/ysro/8nJ5//Jyef/rq7K/2Bgb/8yMjr/MjI6/zIyOv/e3vD/4ODx/+Dg8f/d3fD/0tLr/8rK + 5//Kyuf/y8vo/8rK5//Kyuf/y8vo/8zM6P/Nzen/z8/q/9DQ6v/Ozun/zc3p/+Pj8v/9/f7/kZHg/zc3 + sf8KCnv/AABc/wAAWv8AAGz/AACV/wMDuf8YGL//GBi//xYWvv8AAK//Dw90/xUVOP8qKjr/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAADgAAAAwQAAAJgAAABlAAAAPQAA + AB4AAAAK2NjYAPX19QD+/v4AAAAAAQAAAAaQkJCnoqKi/42Nj8ltbXHdo6Ol/rS00f9ycs//ODjH/xMT + rP8SEoP/ISFa/yYmOf9AQED/GBgY/zw8PP9FRUX/AAAA/wAAAP8wMDD///////7+/v93d3n/GRke/ycn + Lf8zMzv4NzdAvioqMFoAAAAbAAAACgAAAALp6ekAr6+vAJ6engC0tLQAi4uLAIWFhQCTk5MAjY2NAFFR + UQBAQEAAQEBAAMnJ5zLIyObBycnn+s3N6f/Q0Or/0NDq/83N6f/MzOj/ycnn/7W10f+FhZr/VFRh/zMz + O/8yMjrSMjI6U/7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+ANra7gfa2u8029vv6t7e + 8P/g4PH/4ODx/9nZ7v/MzOj/paW+/1tbav8yMjr/MjI6/zIyOtEyMjo3MjI6AqurqwDt7e0A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v7//f3+/+Li9//Q0OD9y8vW/1hYWP9aWmD/U1Nq/0lJcv9LS4D/Xl6b/4OD + wf+fn+T/lpbi/2trtP9BQWr/Li47/0BAQP88PDx3AAAACwAAAAsAAAAPAAAAGwAAADAAAABOAAAAdAAA + AJ0AAAC9AAAAygAAAMMDAwOsJycol4yMkcbExMr53d3l/+np8v/p6fX/3d3w/9PT6//Ozun/y8vo/8vL + 6P/Ly+j/y8vo/8vL6P/Jyef/wMDe/6Wlv/94eIv/Pz9J/zIyOv8yMjr/MjI6/zIyOusyMjqVMjI6ODIy + Og0yMjoAMjI6ADIyOgAyMjoAV1dlAJ6etwDOzukA0tLrAM3N6QDLy+gAy8voAMvL6ADMzOgBzMzoAszM + 6ATMzOgGzc3pCM3N6QnLy+gKycnnC8zM6A3OzukOz8/qD9LS6xHV1ewS2truFNPT6xXIyOYX2dnuGuvr + 9hzu7vce7+/4He/v+CDv7/g87+/4de/v+Lnv7/jk7+/4+O7u+P/t7ff/6ur2/+Xl9P/g4PH/2trv/9XV + 7P/R0er/zs7p/8zM6P/Ly+j/y8vo/7Ozz/9jY3P/MjI6/zIyOv8yMjr/3d3w/9/f8f/g4PH/3t7x/9XV + 7f/Pz+r/0dHr/9DQ6//Nzen/zMzp/83N6f/Q0Or/0dHr/9PT7P/Ozun/w8Pi/76+2//e3u3//v7+/7S0 + 6v9xcdn/EBC5/wAAef8AAFL/AABD/wAATf8AAGP/AACB/wAAsv8XF8D/AACx/w8Pdf8VFTj/Kio6/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAA3wAAAMAAAACXAAAAZAAA + ADwAAAAeAAAACu3t7QDm5uYAAAAAAQAAAAS7u7xLtLS0/66urv9wcHbkra2v/83N1v+Li9P/S0vO/ygo + xf8ICLr/CwuW/x4eaP8hITf/Ozs+/ygoKP8UFBT/AAAA/wAAAP8AAAD/AAAA/6CgoP/AwMD/CwsN/xUV + GP8iIif9KCgu2R0dInsFBQU1AAAAGAAAAAgAAAAB1tbWAJubmwC2trYAn5+fAK6urgDBwcEA8fHxAP7+ + /gD+/v4AysroAbu72Qe5udaGx8fm6MvL6P/Pz+r/0dHr/8/P6v/Nzen/y8vp/8jI5/+pqcP/dnaI/0hI + U/8yMjr9MjI6tjIyOij+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDa2u8K2dnvRNra + 7/Lb2+//3Nzw/93d8P/Z2e7/zs7p/6Ghuv9ZWWb/MjI6/zIyOv8yMjrfMjI6QjIyOgXBwcEA4uLiAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+//j4/f/a2vX/0tLy+7Ozx/+VlaL/oqK7/5WV0P98fNb/dnbZ/4eH + 3v+xsen/zs7y/83N8f+goM3/W1t5/zQ0PP9AQED/PDw8NAAAAAYAAAAMAAAAFgAAACkAAABEAAAAZQAA + AIsAAACxAAAAzAAAANMAAADIAAAAqwkJCoRNTU94vb3D1d3d5frr6/P/7u73/+bm9P/c3PD/09Ps/87O + 6v/Nzen/zMzp/83N6f/Nzen/zMzp/8vL6P/IyOf/sLDL/4WFmv9NTVn/MjI6/zIyOv8yMjr/MjI69zIy + Oq8yMjpGMjI6DjIyOgEyMjoAMjI6ADIyOgBYWGUAt7fTAM/P6gDNzekAyMjnAMnJ5wDLy+gBzMzpAs3N + 6QPNzekFzc3pB83N6QnLy+kKyMjnC87O6QzOzuoOzs7qD87O6hDPz+oS0NDrFNPT7BXS0usXpaW/GZ6e + txvY2O4d6ur2IOzs9yHu7vgk7+/4I/Dw+Cfw8PhC8PD4f/Dw+Mfw8Pjv7+/4++7u9//r6/b/6Oj1/+Xl + 9P/h4fL/3t7x/9nZ7//T0+z/zs7q/83N6f+4uNX/bW1+/zs7RP8yMjr/MjI6/9zc8P/e3vD/4ODx/9/f + 8f/Y2O7/1tbt/9vb7//c3O//2trv/9nZ7v/a2u7/2tru/9XV7P/Ozun/wcHe/7q61v+/v9v+3t7r+/7+ + /v+1tev/dnbb/zAwyP8AAK//AACQ/wAAbv8AAFn/AABM/wAAS/8AAGT/AACI/wAAm/8PD3b/FhY5/yoq + Ov9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA8wAAAN4AAAC/AAAAlQAA + AGMAAAA7AAAAHQAAAAn+/v4A4ODgAAAAAAIhISYL8/Pzyunp6f/b29v/YWFq/+zs7P++vuv/cXHZ/z09 + y/8iIsT/Bwe9/wcHm/8YGGb/HR03/zc3Pf80NDT/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AwME/wkJ + Cv8RERT/GRkd8BMTFaQGBgdcAAAAMgAAABgAAAAHAAAAAbu7uwDPz88A+vr6AP7+/gD+/v4A/v7+AP7+ + /gD+/v4Aw8PgAbe30gS1tc8tvLzZ0snJ5/3Ozun/0dHq/9DQ6v/Ozun/zc3p/8zM6P/Dw+D/mZmw/2Zm + dv89PUb/MjI67zIyOowyMjoN/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A2trvDdnZ + 7ljY2O731dXs/9DQ6v/Q0Or/z8/q/8rK5/+amrH/T09b/zIyOv8yMjr/MjI66DIyOk4yMjoJ+fn5APb2 + 9gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/v/u7vr/yMjw/7a27P+pqeH/sLDO/9nZ8v/Pz/H/w8Pu/7u7 + 7P++vu7/19f0/2xsef88PET/rKzC/2xsg/83Nz3/QEBA/z09PYgAAAASAAAAHAAAACsAAABDAAAAYQAA + AIMAAACnAAAAxwAAANsAAADcAAAAzAAAAK0AAACAExMUWYWFimfc3OTj7Oz0/fDw+f/t7ff/5eXz/9vb + 7//T0+z/z8/q/83N6f/Nzen/zc3p/83N6f/Nzen/zc3p/8rK5/+2ttH/kJCm/1xcav8yMjr/MjI6/zIy + Ov8yMjr/MjI6zDIyOlkyMjoNMjI6AjIyOgAyMjoAMjI6AExMWACamrIAuLjTALW1zwC1tdABwMDdAsvL + 6APNzekFzs7pB87O6QjOzukJysrnCszM6QzPz+oNz8/qDs/P6hDPz+oRz8/qE9DQ6hXQ0OoX0tLrGLq6 + 1hpzc4QckJCmH9fX7SHl5fQj6Oj1Juzs9inu7vcr7+/4K/Dw+C7w8PhF8PD4ifDw+Nrv7/j47e33/uzs + 9v/q6vX/6ur1/+rq9f/n5/T/4+Pz/9/f8f/d3fD/09Pr/4aGmv8yMjr/MjI6/zIyOv/f3/H/4ODy/+Hh + 8v/e3vH/09Ps/9XV7f/e3vD/3t7x/9zc8P/Z2e//2Nju/9fX7v/V1e3/z8/q/8XF4/+8vNj/ubnU2eXl + 78T+/v7/ubns/39/3f9BQc3/AAC5/wAAo/8AAKH/AACi/wAAh/8AAGT/AABW/wAAWP8AAGD/CgpR/xQU + NP8qKjr/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPIAAADdAAAAvQAA + AJMAAABhAAAAOQAAABwAAAAJ/v7+AAAAAAEAAAAFyMjKe/7+/v/+/v7/6enr/+fn6f/19fv/qKjo/2Zm + 1/85Ocv/HR3D/wcHvv8DA5z/FBRi/xsbNv8zMzz/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wMD + BP8JCQv/ERET+wwMDsYFBQaJAQEBVgAAADEAAAAXAAAABwAAAAHHx8cA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+ALm51AG1tdAItbXPkcDA3PDMzOn/0dHr/9HR6//Q0Ov/zs7q/83N6f/Ly+n/ubnV/4qK + nv9YWGX/MzM7/zMzOtgzMzpgMzM6Af7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+ANzc + 8A/a2u9t19fu99PT7P/MzOn/wsLf/8DA3P++vtr/nZ20/1BQXP8zMzr/MzM6/zMzOvEzMzpdMzM6Dv7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7/5ub4/7297f+mpuj/mJjj/7+/5//5+fz//v7+//v7 + /f/y8vv/6+v5//T0/P/19fj/mZmg/52drv+AgJn/NjY9/0BAQP84ODmZAAAAKQAAADYAAABKAAAAZAAA + AIMAAACjAAAAwQAAANoAAADnAAAA4wAAAM8AAACtAAAAgAMDA1MgICE1x8fOdOzs9Onx8fn/8PD5/+zs + 9//k5PP/2trv/9PT7P/Q0Ov/z8/q/87O6v/Ozur/zs7q/87O6v/Ozur/y8vp/7y82P+cnLP/amp6/zMz + Ov8zMzr/MzM6/zMzOv4zMzrdMzM6ejMzOg8zMzoAMzM6ADMzOgAzMzoAR0dRAIKClQCenrYApKS8Aaqq + xAK6utYDy8voBc/P6gfNzekIzMzpCdDQ6grQ0OsM0NDrDdDQ6g7Q0OoQ0NDrEdDQ6xPQ0OsV0NDrF9HR + 6xjR0esbmpqxHWpqeh+qqsQi3d3wI+Pj8ybm5vQp6ur2LO3t9y7v7/gx8PD4M/Dw+Dfw8PhO7+/4k+7u + +N/s7Pf76ur2/+zs9//u7vj/7e33/+np9v/l5fT/4eHy/9fX7v+Vlav/MzM6/zMzOv8zMzr/4eHy/+Li + 8v/h4fL/2dnu/76+2f/Dw9//1dXt/9fX7f/U1Oz/0dHr/93d5f/BwdH/1dXs/9PT7PnNzenavb3Ylra2 + z13u7vOj/v7+/8HB7/+NjeL/VFTT/xMTw/8AALP/AACq/wAApf8AAKT/AACl/wAAjf8AAGv/AABL/wYG + Mf8UFDX/Kio6/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAADxAAAB3AAA + AbwBAQGRAAAAXwAAADgAAAAbAAAACAAAAAEAAAADZmZuSb+/v/r6+vr//v7+/729wf/a2tz/6en5/6Sk + 6P9qatn/Pz/O/x4exv8ODsL/AgKj/xISY/8aGjb/MjI8/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8FBQX/CwsN/goKDOEEBAWtAgICfgAAAFAAAAAtAAAAFQAAAAcAAAAB/v7+AP7+/gD9/f0A/v7+AP7+ + /gD+/v4A/v7+AP7+/gC7u9YHtbXPNbe30d7Dw9/9zs7q/9TU7P/S0uv/z8/q/83N6f/Nzen/ysrn/66u + xv95eYr/S0tW/zMzOv8zMzq8MzM6OdPT0wD9/f0A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDd3fAS29vvg9nZ7vjW1u3/0NDq/8jI5P+5udT/ubnU/6amvv9hYW//MzM6/zMzOv8zMzr4MzM6aTMz + OhL+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+/+jo+f/KyvH/s7Pr/5+f5//c3PT/+fn8/9zc + 7v/a2uz/+/v8//////////////////f3/P/i4vf/ra3W/1BQXP9AQED/MzM0tAICAk0AAABaAAAAbwAA + AIkAAAClAAAAwQAAANgAAADqAAAA8AAAAOcAAADQAAAArQAAAIAAAABSCgoLMGRkZyLp6fCK8vL56PLy + +f/w8Pj/6+v2/+Pj8//a2u//1NTs/9DQ6v/Pz+r/z8/q/8/P6v/Pz+r/0NDq/8/P6v/Nzen/xMTg/6am + vv92dof/OjpC/zMzOv8zMzr/MzM6+zMzOuQzMzqYMzM6IDMzOgQzMzoAMzM6ADMzOgBERE0Ae3uMAJiY + rgGhobgDqKjABre30QbLy+gIyMjkCczM6ArR0esL0dHrDdHR6w7R0esQ0dHqEtHR6xLR0esU0dHrFtHR + 6xjR0esa0tLrHM7O6R5/f5Iha2t7JLm51CXb2+8o39/xK+Tk8y7p6fUw7Oz3NO7u9zfv7/g67+/4Pe/v + +Ebu7vhj7e33n+vr9t3u7vf68PD4/+7u+P/r6/b/5ub0/+Hh8v/Z2e7/trbP/1hYZP8zMzr/MzM6/+Li + 8//j4/P/4uLy/9nZ7/+vr8j/oqK5/87O6v/T0+z/0tLs/9PT7P/+/v7/2Nja/8/P6N3U1Oyl0tLrcMjI + 5FO4uNJG7e3yof7+/v/FxfD/mJjl/2Rk2P8rK8r/Dg7D/wAAv/8AALP/AACs/wAAqP8AAKj/AACd/wAA + a/8GBjH/FBQ1/yoqOv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA8QEB + AdwBAQG8AQEBkgICAmEAAAA5AAAAHAsLDApHR1EHU1NfUIiIjdycnJz/y8vL//7+/v9gYGn/s7O2/+Tk + +P+iouf/bW3a/0JC0P8fH8f/EBDD/wMDp/8UFGj/Gho2/zMzPP9AQED/AAAA/wAAAP8BAQH/AQEB/wIC + Av8EBAX/CAgJ/goKC+4EBAXEAQECmgAAAG4AAABGAAAAJwAAABEAAAAF/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gDQ0OsBwsLeF7e30ZW6utX4xcXh/9LS6//V1e3/0dHr/87O6v/Ozur/zc3q/8TE + 4P+fn7b/a2t6/0BASf8zMzr3MzM6lDMzOhrDw8MA9/f3AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A3t7xFd3d8Jnc3PD62dnv/9XV7f/Ozur/urrV/7a2z/+lpbz/bm59/zMzOv8zMzr/MzM6/zMz + OnozMzoX/v7+AP7+/gD+/v4A/v7+AP///wD///8A////AP/////z8/z/39/3/8fH8f+9ve7/+Pj4/+/v + +P/b2+3/u7vV/+Xl7v/////////////////9/f7/7u77/9XV9P+QkJ//QEBA/y4uMNgFBQaCAAAAgwAA + AJgAAACuAAAAxQAAANkAAADpAAAA9AAAAPYAAADpAAAA0QAAAK0AAACAAAAAUgUFBS8LCwwV0tLYJvLy + +Z3y8vnt8vL5//Dw+P/q6vb/4uLy/9ra7//U1Oz/0dHr/9DQ6//Q0Ov/0NDr/9HR6//R0ev/0NDr/87O + 6v/JyeX/rq7H/4KClP9HR1H/MzM6/zMzOv8zMzr9MzM66jMzOq8zMzo7MzM6CjMzOgAzMzoAMzM6ADo6 + QwFycoMDlJSpBaKiuQerq8QHqKjACaGhuArQ0OsL0tLrDNLS6w3S0uwP0tLrEdHR6xLS0usU0tLrFdLS + 6xfS0uwa0tLsG9PT7B7T0+wgs7PNIm5ufiV6eosnycnlKtjY7i3b2/Av4ODyMuXl9Dbp6fU56+v3PO3t + 9z/u7vhB7u74R+3t91Xt7fd17+/4q/Dw+d/w8Pj77u74/+zs9//o6PX/3t7x/8XF4f96eov/MzM6/zMz + Ov/k5PP/5eX0/+Xl9P/f3/H/zc3p/6+vx//Ly+b/0NDq/9DQ6v/Ozun57Oz18/7+/v/i4u+w0dHrYNXV + 7U/S0utJxcXgSOjo7aL+/v7/xcXx/5ub5v9qatv/MjLN/x0dyP8YGMf/CgrD/wAAu/8AALD/AACq/wAA + pf8AAIT/CQlC/xUVNf8rKzv/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAA + APIBAQHeAgICwAEBApcCAgNnAgICPwkJCiM1NTwcWVllY3JyfM65ubn/fX19/4GBgf+5ubr/QUFK/9fX + 2P/Z2fb/mZnm/2lp2v8/P9D/HBzI/wkJw/8HB6f/Ghpu/yEhPv83Nz7/PDw8/wAAAP8AAAD/AQEB/wMD + BP8GBgf/CQkK/gsLDPMFBQXNAQEBpwAAAIEAAABaAAAANwAAAB0AAAAMAAAABP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A0NDqDM7O6UbBwdvju7vV/76+2P/S0uv/1tbt/9LS6//Ozur/zs7q/87O + 6f+7u9X/jo6i/1xcaP83Nz7/MzM64jMzOmczMzoHzMzMAPr6+gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AN/f8Rje3vGu3t7x+93d8P/Y2O7/0NDq/7u71f+2ts//pqa9/3Fxgf8zMzr/MzM6/zMz + Ov8zMzqJMzM6Hv7+/gD+/v4A/v7+AP7+/gD///8A////AP///wD///////////Dw+//k5Pj/8fH7//7+ + /v/09Pr//v7+//b2+v/Hx9D/urrH/9LS2P/39/j////////////6+v3/7+/v/2BgYP8qKiv0BwcIugEB + AbEAAAC+AAAAzwAAAN4AAADrAAAA9QAAAPsAAAD5AAAA6gAAANEAAACtAAAAgAAAAFIAAAAuAAAAFGtr + bgny8vk58vL5sfLy+fPy8vn/7+/4/+rq9v/h4fL/2dnu/9TU7P/S0uv/0dHr/9LS6//S0uv/0tLr/9LS + 6//R0ev/0NDq/83N6f+2ts//jY2h/1RUX/8zMzr/MzM6/zMzOv8zMzr0MzM6vjMzOlQzMzoSMzM6ADMz + OgEzMzoDMzM6BWhodgeUlKgIpqa8CXJyggp5eYoLz8/qDNLS6w3S0usP0tLrENLS6xLS0usU0tLrFdLS + 6xfS0usZ0tLrG9LS6x3T0+wf09PsItPT7CSfn7UncHB/KYWFmCzCwtwv1dXtMdjY7jTc3PA34eHyO+Xl + 8z7p6fVB6+v2ROzs90jt7fdJ7e33Ue/v+GPw8PiF8PD5t/Dw+OPv7/j97e33/+Xl9P/Q0Or/jo6i/0lJ + U/8zMzr/5ub0/+np9f/q6vb/5eXz/9XV7P/Dw9z/yMjj/83N6PvMzOblyMjiv8PD3Y3d3euSwcHaWczM + 51PU1OxR2NjuTdPT60rj4+ej/v7+/8bG8f+cnOf/amrb/zIyzv8eHsn/Hh7J/xgYyP8KCsT/AAC7/wAA + rP8AAKH/AAB6/wcHNP8WFjb/LCw7/0BAQP8MDAz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP0AAADzAQEB4gICAsYBAQKfAgICcQYGB0wnJyxETk5YfVpaZtfHx8r+09PT/2Jidv8xMTz/Wlpi/4uL + jv+UlJb/xcXx/4SE4f9ZWdf/LCzN/wkJxP8FBbX/EBCV/yMjZ/8rK0L/Pz9A/ywsLP8BAQH/AgIC/wMD + A/8GBgb/CwsN/g0ND/QICAnRAAAAqgAAAIoAAABmAAAARQAAACgAAAAUAAAABwAAAAL+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4Azs7pAtDQ6iLQ0OqYz8/q/8nJ5P+/v9n/2Njt/9fX7f/T0+v/z8/q/8/P + 6v/Ly+X/rq7E/3x8jP9OTlj/NDQ6/zQ0OsM0NDpCNDQ6AbCwsADa2toA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AOHh8gHg4PEd39/xweDg8fzf3/H/29vv/9LS6/+9vdb/t7fP/6mpv/91dYT/NDQ6/zQ0 + Ov80NDr/NDQ6mTQ0OiWrq6sA/v7+AP7+/gD+/v4A/v7+AP///wD///8A/////////////////v7+//7+ + /v/4+Pv08vL5//7+/v/09Pf/l5eo/3Nzgv9ycn//WFhi/39/hv/Ly83///////7+/v+Kior/JiYn/gcH + B+UBAQHWAAAA2wAAAOYAAADvAAAA9gAAAPsAAAD+AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAA + ABQAAAAF8/P5CfPz+U3z8/nC8/P5+fLy+f/v7/j/6Oj1/+Dg8f/Z2e7/1NTs/9LS6//S0uv/0tLr/9PT + 6//T0+v/09Pr/9LS6//R0er/z8/p/7y81f+Xl6v/YGBt/zQ0Ov80NDr/NDQ6/zQ0Ovs0NDrLNDQ6ZzQ0 + Oh40NDoENDQ6BDQ0OgY0NDoIYGBtCY2NoAlYWGQKWlpmDLi40A3T0+sO09PrENPT6xHT0+sT09PrFdPT + 6xbT0+sY09PrG9PT6x3T0+se1NTsIdTU7CPU1Owm0NDqKJ+ftCp8fI0uoaG2MdPT6zPV1ew219ftOdra + 7j3d3fBA4eHyQ+Xl80bo6PRK6en1Tevr9lDt7fdT7+/4WvDw+G7w8PiS8PD4xu/v+Onq6vb72dnu/6Oj + uf9iYm//NDQ6/+jo9f/s7Pf/7u73/+np9f/Y2O7/yMji+8fH4erHx+HLxMTenMHB2na/v9hivr7XXby8 + 1Fq5udFWzc3nU9fX7k/Y2O5M4eHlo/7+/v/FxfL/m5vo/2lp3P8xMc//HBzK/xwcyv8cHMr/GBjK/woK + xv8AALr/AACo/wAAc/8HBzP/Fxc2/y4uPP9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD9AAAA9QEBAecBAQHOAQECqgUFBoQaGh11Pz9HoFNTXuaLi5P/6+vr/6+v2/9ZWZj/ICA4/ykp + Ov9oaHz/d3eG/7Ky5/9/f+H/VFTX/yYmzf8ICL7/Dg6i/xwce/8sLFj/NTVB/0BAQP8ZGRn/AgID/wYG + Bv8GBgf/CgoL/hERE/UNDQ7SAQECpQAAAIgAAABpAAAASgAAAC8AAAAaAAAADAAAAAQAAAAB/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AMPD3A7KyuRT0dHr4NTU7P/R0ev/ra3D/9ra7//Y2O7/1NTs/9HR + 6//Q0Or/xsbg/6KiuP9ubn3/Q0NM/zQ0O/00NDucNDQ7JqampgCOjo4AmpqaANnZ2QD+/v4A/v7+APHx + 8QDo6OgA8fHxAP7+/gDh4fID4eHyJODg8dLh4fL94eHy/9/f8f/V1e3/wsLb/7u70/+srMP/enqK/zY2 + Pf80NDv/NDQ7/zQ0O6c0NDssZWVlAM/PzwD+/v4A/v7+AP7+/gD///8A////AP///2D///////////7+ + /tD4+Pxf7Oz3tezs9v/r6/L/0dHb/6Wlt/92doX/YmJt/0RETP8vLzX/Hx8j/1xcXv/v7/D/g4OD/yMj + JP8EBAX5AQEC8AAAAO8AAAD1AAAA+QAAAPwAAAD+AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAA + AC4AAAAUAAAABQAAAADz8/oR8/P6YPPz+tLz8/r/8vL5/+7u+P/o6PX/4ODx/9jY7v/U1Oz/09Ps/9PT + 7P/U1Oz/1NTs/9TU7P/U1Oz/1NTs/9PT7P/R0ev/w8Pc/6Kit/9ubn3/NDQ7/zQ0O/80NDv/NDQ7/zQ0 + O9Y0NDt9NDQ7KjQ0Owk0NDsGNDQ7CTQ0OwpYWGMKRkZPCzQ0Ow17e4sO1NTsD9TU7BHU1OwS1NTsFNTU + 7BbU1OwX1NTsGdTU7BzU1Owe1NTsH9TU7CLV1ewk1NTsJ9TU7CrR0esrnp6zL6yswzLU1Ow11dXtN9bW + 7TvX1+4+2NjuQdvb70Xe3vFI4eHyTOTk80/m5vRT6en1Vuzs91ru7vhc7+/4YvDw+Hjw8Pih7Oz30N/f + 8e24uND7bm58/zs7Q//r6/b/7+/4//Dw+P/q6vX72trv8MzM5dfFxd2pw8Pbf8HB2Wu+vtZnurrRZLe3 + zmGysshdra3DWaurwVXNzeZR1tbtTtra3aX+/v7/xcXy/5qa6P9oaN3/MTHQ/xwcy/8cHMv/HBzL/xsb + y/8WFsr/BQXG/wAAtv8AAHz/CAgz/xcXN/8vLzz/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/gAAAPgBAQHuAQEB2AMDBL0QEBKrLCwxxUZGTvRgYGn/3d3f/9LS6v9+ftn/SUnJ/yMj + Zv8bGzf/MTFL/56ezf+1te7/mJjo/3p64P9TU9f/JyfO/yEhrP8vL3b/ODhQ/0BAQP80NDT/AgID/wUF + Bf8JCQr/CwsM/xAQEvcRERTTBQUFngAAAHwAAABiAAAASAAAAC8AAAAdAAAADwAAAAYAAAAB9PT0AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AMXF3gLBwdkqwcHZntHR6v/W1uz/wsLa/4eHmP/Z2e7/2Njt/9bW + 7f/T0+v/0NDq/7291f+SkqT/X19q/zg4P/80NDvwNDQ7cTQ0OxCpqakAi4uLAI6OjgCwsLAA3d3dAPLy + 8gDu7u4A3t7eANnZ2QDp6ekA4uLyBuHh8i/h4fLf4uLy/+Li8v/h4fH/2Nju/87O5/++vtb/sLDG/4GB + kf88PEP/NDQ7/zQ0O/80NDu2NDQ7NGVlZQCdnZ0A/v7+AP7+/gD+/v4A////AP///wD///8A////AP// + /wD+/v4A7e33GOzs93zr6/X+4eHq/83N1f+kpLP/fHyK/1ZWX/82Njz/Hx8i/xAQEv8ICAn/sbGx/4eH + h/8hISL/AgIC/wEBAfwAAAD7AAAA/AAAAP4AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAA + AFIAAAAuAAAAFAAAAAUAAAAAAAAAAPPz+hzz8/p38/P65fPz+v/y8vn/7u73/+fn9P/f3/H/2Nju/9XV + 7P/U1Oz/1NTs/9TU7P/U1Oz/1NTs/9TU7P/U1Oz/1NTs/9LS6//KyuT/rKzC/3x8i/9AQEj/NDQ7/zQ0 + O/80NDv/NDQ74zQ0O5Q0NDs1NDQ7DjQ0Owk0NDsLNDQ7CzQ0Oww0NDsOSEhRD9PT6xDU1OwS1dXsFNTU + 7BbU1OwX1NTsGdTU7BvV1ewd1dXsH9XV7CHV1ewk1dXsJtXV7CjU1Ows1NTsLq2twzHAwNg01dXsNtbW + 7TnW1u0919ftQNfX7UPY2O5H2truStzc707e3vBR4ODxVePj8ljm5vRd6ur1Yezs92Tu7vdm7+/4a+zs + 94Ti4vKvz8/p2Xp6ifFDQ0v87e33//Hx+f3w8Pn26en239vb77bS0uuJx8fgdL+/13G8vNNvuLjOa7Cw + xmerq8Fjpqa6X6GhtluhobVXp6e8U9LS61Db292m/v7+/8XF8v+Zmen/aGje/zAw0v8cHM3/GxvN/xoa + zf8ZGcz/GRnM/xERy/8BAcf/AACO/wgINv8YGDf/Ly88/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP4AAAD7AAAA8wEBAeQJCQrZHx8j5jQ0O/1HR0//paWq//T09P+ioun/Wlra/yoq + 0P8cHK7/FBRD/xwcOP9hYY//srLi/7m57/+lpev/gIDj/05O2P87O7L/QUFy/z8/Rv88PDz/DQ0N/wMD + A/8HBwj/CwsN/w8PEPoSEhXZBwcIngAAAHQAAABYAAAAQAAAACwAAAAbAAAAEAAAAAgAAAAD4uLiAOLi + 4gD6+voA/v7+AP7+/gD+/v4A/v7+AP7+/gDExNwNwcHZX8PD2+PNzeb/2Nju/8HB2f+YmKv/2dnu/9jY + 7v/X1+7/1tbt/9HR6/+wsMb/gYGR/1FRW/80NDv/NDQ70zQ0O0g0NDsEx8fHAKmpqQCmpqYAuLi4ANTU + 1ADp6ekA8/PzAOvr6wDc3NwA19fXAOLi8wji4vI84uLy6uLi8//j4/P/4eHy/9vb7//T0+z/ycni/7e3 + zv+JiZr/QkJK/zQ0O/80NDv/NDQ7xTQ0OzyRkZEAcXFxANHR0QD+/v4A/v7+AP///wD///8A////AP// + /wD+/v4A/v7+AO3t9wzt7fdJ6+v189/f6P/Ly9P/pKSw/3t7hv9PT1j/Li4z/xcXGf8HBwj/ERER/+/v + 7/+UlJT/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAA8/P6I/Pz+ozz8/rz8/P6//Ly+f/u7vf/5ub0/97e + 8f/Z2e7/1tbt/9XV7f/V1e3/1tbt/9XV7f/V1e3/1dXt/9bW7f/V1e3/1NTs/8/P6f+1tcz/iYma/1BQ + Wf80NDv/NDQ7/zQ0O/80NDvxNDQ7rjQ0O0I0NDsPNDQ7CzQ0Oww0NDsONDQ7DzQ0OxCVlagR0tLsE9XV + 7RXW1u0X1dXtGdXV7RrV1e0c1dXtHtXV7SHV1e0j1tbtJdbW7SjV1e0r1dXtLs7O5y+ursMz1NTsNtbW + 7TnX1+0819fuP9fX7kLY2O5F2NjuSdnZ7kza2u9Q29vwU93d8Ffe3vBb39/xX+Li8mPm5vRn6ur2a+zs + 927q6vZw4eHydtLS7I+JiZq6QkJL4u/v+Pzx8fno8PD4vujo9ZPc3O+A1NTse8/P53q9vdR2tLTJca2t + wm2lpbhpnp6xZpqarGGYmKpdm5utWpycrlawsMVT0tLUp/7+/v/ExPL/mZnp/2Zm3v8tLdL/GRnN/xwc + zv8bG87/GhrO/xkZzf8VFc3/Dw/L/wAAov8LC0n/GBg3/zAwPP9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAfkEBATzERET+CIiJv80NDr/XFxj//Hx8f/R0fP/f3/j/0pK + 1/8nJ9D/EBDM/xcXhv8YGED/ODhb/5mZwP+goLj/x8fy/6Gh6v9oaN7/T0+m/0ZGYf84ODj/DAwM/wEB + Af8EBAT/CQkK/wwMDv4ODhDlCQkKqwAAAHgAAABWAAAAOwAAACYAAAAXAAAADQAAAAcAAAADAAAAAdnZ + 2QDJyckA9vb2AP7+/gD+/v4A/v7+AP7+/gDGxt4BwsLZMMLC2arGxt3/z8/n/9bW7f+SkqP/gICQ/9nZ + 7v/Y2O7/2dnu/9fX7f/T0+v/p6e7/3Jyf/9HR0//NTU7/zU1O6g1NTst/v7+AOXl5QDNzc0AwcHBAMrK + ygDW1tYA4+PjAOvr6wDy8vIA7OzsAODg4ADj4/IL4uLyR+Li8vPj4/P/5OTz/+Li8v/c3O//1tbt/9PT + 7P/Bwdj/jo6f/0lJUv81NTv/NTU7/zU1O9I1NTtFNTU7AX9/fwCOjo4A/f39AP7+/gD+/v4A/v7+AP// + /wD///8A/v7+AP7+/gDt7fcD7e33Jenp89Pg4Oj9ysrR/6amr/96eoP/TU1U/ywsMP8VFRf/BgYH/2Bg + YP/+/v7/ioqK/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAPT0+gL09Pon9PT6qfT0+v3z8/r/8vL5/+3t + 9//m5vT/39/x/9ra7v/X1+3/1tbt/9fX7f/X1+3/1tbt/9bW7f/W1u3/1tbt/9bW7f/V1ez/09Pr/729 + 0/+Wlqj/XV1o/zU1O/81NTv/NTU7/zU1O/k1NTvNNTU7UzU1Ows1NTsMNTU7DjU1OxA1NTsRTk5YE7u7 + 0RXR0eoX1dXsGdbW7RvW1u0c1tbtHtbW7SDW1u0j1tbtJdbW7SfW1u0q1tbtLdbW7S+9vdMxvb3UNdfX + 7TjX1+0719ftPtfX7UHY2O5E2NjuR9jY7kzZ2e5O2dnuUtra7lbb2+9a29vvXdvb72Hc3O9l39/xaeLi + 8m3m5vRx5eX0dt3d8HnLy+N7hoaWgkNDS5bv7/jF8fH5n+/v+I3o6PWH3NzwhNXV7YDT0+x7v7/Wd62t + wXOjo7ZvmZmra5SUpmeTk6Vjk5OlX5aWqFuZmatXjIycVM7Oz6j+/v7/wsLy/5aW6P9lZd7/LCzS/xgY + zv8aGs//GhrP/xsbz/8ZGc7/FxfO/xMTzf8AAK7/Dg5b/xgYN/8wMDz/QEBA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4BAQH9BQUG/Q8PEf8eHiH/MjI4/8TExv/19fX/tLTu/3Jy + 4P9JSdj/LS3S/xUVzf8UFMT/IiJ1/ywsT/9kZHz/Xl5l/9jY6v/CwvL/iYnm/1lZl/88PEv/ICAg/wAA + AP8BAQH/BAQF/wkJCv8KCgvxCAgIwQEBAYwAAABjAAAAQAAAACUAAAAUAAAACgAAAAUAAAADAAAAAf7+ + /gDKysoAqampAOzs7AD+/v4A/v7+AP7+/gD+/v4Aw8PaCsHB2GvCwtnmyMjg/9LS6//MzOX/Xl5q/2Ji + bf/Z2e7/2dnu/9nZ7//Z2e7/09Ps/5ycr/9iYm7/PDxE/zU1O/01NTt4NTU7F/7+/gD+/v4A6+vrANra + 2gDT09MA2dnZAOHh4QDo6OgA7u7uAO7u7gDx8fEA4+PzDuPj81bj4/P85OTz/+Tk8//i4vL/3Nzw/9jY + 7v/X1+7/0NDo/5ycrv9PT1n/NTU7/zU1O/81NTvgNTU7UTU1OwS+vr4Ag4ODAKampgD8/PwA/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A7u74Ae7u+BXn5/GZ4ODo+snJ0f+mpq3/enqB/0xMU/8qKi//ExMV/wYG + B/+/v7//xMTE/2JiYv8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAADz8/oB9PT6B/T0+jD09PrN9PT6/fPz + +v/y8vn/7e33/+Xl9P/f3/H/2trv/9jY7v/X1+7/2Nju/9jY7v/X1+7/19fu/9fX7v/X1+7/19fu/9bW + 7f/U1O3/xsbd/6GhtP9vb3z/NTU7/zU1O/81NTv/NTU7/TU1O+M1NTt0NTU7EjU1Ow01NTsQNTU7EjU1 + OxOFhZUVr6/EF8vL4xnV1e0b1tbtHNfX7h/W1u0h19fuJNfX7iXX1+4o19fuK9fX7i7U1O0wqKi8M8zM + 5DbY2O452NjuPNnZ7j/Z2e9D2dnvRtnZ70nZ2e9N2dnvUNra71Ta2u9X2trvW9vb8F/a2u9j2dnvZ9nZ + 72vb2/Bv3t7xc97e8XfW1u17r6/DgHR0goM8PESI7u73nO/v+JPt7feP5ub0i9vb74bV1eyD09PrfsPD + 2XqsrMB2nJyucpSUpW6RkaFqkpKjZpSUpWGWlqdempqrWpycrlfNzc+p/f3+/7+/8v+Tk+n/YWHf/ysr + 1P8ZGdD/GRnQ/xoa0P8aGtD/GRnQ/xgY0P8WFs//AAC0/xERZ/8ZGTj/MDA9/0BAQP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/AQEB/wQEBf8LCw3/GBgb/2dnav/w8PD/4uL3/6Ki + 6/9wcOL/TEzb/zIy1f8ZGdD/CwvK/yUlq/86Onj/Skph/5KSlv9/f3//4uL5/6ys7f9jY5P/MzM+/zw8 + PP8EBAT/AQEB/wQEBP8GBgf5BAQF2gICAq0AAACAAAAAVQAAADIAAAAZAAAACgAAAAMAAAAB/v7+AP7+ + /gD+/v4Avr6+AJ6engD+/v4A/v7+AP7+/gD+/v4A/v7+AMLC2DjDw9m2x8fd/M7O5v/V1ez/1dXt/0xM + VP9MTFT/2dnu/9ra7v/a2u//2dnu/87O5v+SkqP/WFhi/zU1O/81NTvmNTU7TTU1Owj+/v4A/v7+AP7+ + /gDx8fEA4eHhAN/f3wDi4uIA5ubmAOnp6QDs7OwA8PDwAOTk8xPj4/Nn5OTz/+Xl8//l5fP/4uLy/9zc + 8P/Z2e7/2dnu/9bW7f+ursH/W1tl/zU1O/81NTv/NTU76TU1O181NTsJ/v7+AL29vQCRkZEAwcHBAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDu7vgM4+PsWN7e5fbIyM//pqas/3l5f/9LS1H/Kiou/xMT + Ff9WVlf/oqKi/25ubv9AQED/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAPT0+gH09PoL9PT6Q/T0 + +tv09Pr79PT6//Ly+f/s7Pf/5eX0/9/f8f/b2+//2dnu/9jY7v/Z2e7/2Nju/9jY7v/Y2O7/2Nju/9jY + 7v/Y2O7/2Nju/9bW7f/MzOP/ra3B/3x8iv9AQEf/NTU7/zU1O/81NTv9NTU76zU1O5Q1NTsrNTU7ETU1 + OxM1NTsVNTU7F3d3hBilpbcbxcXbHdXV7B7X1+0g19ftI9fX7SbY2O4o2NjuK9fX7S3X1+0wtbXKM56e + sDTX1+042NjuO9nZ7j7a2u9B2trvRdvb70na2u9M2trvT9vb71Pb2+9W29vvWtvb717c3O9i29vvZtra + 72rY2O5t19ftctjY7nbW1u16vb3SfY+Pn4JfX2qGNTU7i+3t95nt7feV6ur2kuTk843a2u+Izc3lhc3N + 5IDIyN59t7fMeKOjtXSTk6Rwjo6ebJGRoWiTk6Rkl5eoYZmZqlybm6xZzMzOqvj4/f+6uvH/jY3o/1tb + 3v8pKdT/GRnR/xkZ0f8bG9H/GRnR/xkZ0f8ZGdH/FxfR/wICtv8SEmz/Gho4/zIyPf9AQED/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAB/wEBAf8DAwP/CQkK/x8fIf/d3d3/8vLy/8PD + 8v+MjNP/cXHi/1FR3P82Ntf/HR3S/wYGzf8aGrb/QUGo/01Ncf+QkJn/UFBQ/+3t7v/OzvT/dnaf/zs7 + R/9AQED/MDAw/wEBAf8DAwP+AwMD7wEBAc8AAACnAAAAewAAAFAAAAAtAAAAFQAAAAYAAAAB8fHxAP7+ + /gD+/v4A/v7+AL29vQCOjo4A/v7+AP7+/gD+/v4A/v7+AMXF2w3Cwth7xMTa5cvL4v/U1Oz/1tbt/9XV + 7f82Njz/OjpA/9nZ7//a2u//2trv/9jY7v/Dw9n/iIiX/1FRWv81NTv/NTU7vTU1Oy8/P0YC/v7+AP7+ + /gD+/v4A/v7+APX19QDn5+cA5eXlAObm5gDn5+cA6+vrAO7u7gDk5PQX5OTzeOTk9P/l5fT/5eX0/+Li + 8//c3PD/2dnv/9vb8P/e3vH/2dnv/5OTpP9NTVb/NTU7/zU1O/A1NTtuNTU7Dv7+/gD+/v4AtbW1AMPD + wwD+/v4A/v7+APv7+wD09PQA7OzsAOrq6gDr6+sA7+/4BtPT2yvd3eTfyMjO/aWlq/94eH7/S0tQ/ykp + LP8mJif/nZ2d/4GBgf9AQED/QEBA/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAA9PT6AvT0 + +g709Ppk9PT64PT0+v709Pr/8fH5/+zs9//l5fT/39/x/9vb8P/Z2e//2dnv/9nZ7//Z2e//2dnv/9nZ + 7//Z2e//2dnv/9nZ7//Y2O7/19fu/9LS6f+1tcr/kZGh/2hodP81NTv/NTU7/zU1O/81NTvsNTU7qTU1 + O0U1NTsaNTU7FDU1Oxg1NTsaa2t3HJubrR7AwNYg1NTsItfX7iXY2O4n2NjuKtjY7i3Y2O4v2NjuMaCg + sjWlpbg32trvOtnZ7z3a2u9B29vwRNvb8Efc3PBL29vwTtvb8FLc3PBV3NzwWdzc8Fzc3PBg3NzwZNzc + 8Gjc3PBs2trvcNfX7nXV1e14xMTafZ2dr4Bycn+ESkpTiTU1O43r6/ad6ur2mOfn9ZTi4vKQ2dnui8jI + 3YfHx9yDycnef8LC13uxscR3mpqrc5CQn2+Pj55rkZGhZpWVpWOZmalfm5usW8vLzKzw8Pv/tbXw/4eH + 5/9UVN3/JSXU/xYW0f8WFtH/GRnS/xsb0v8ZGdL/GhrS/xYW0f8EBLb/FBRr/xsbOf8zMz3/ODg4/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/AgID/wYGB/+Hh4f/6Ojo/8fH + 6/+amur/XFyb/2dn4f9KStv/MzPX/x0d0/8DA83/Dw+y/y0toP8+Pm3/goKW/52dnf+fn5//7e37/5qa + uP9XV2T/QEBA/0BAQP8RERH/AgIC+QEBAeYAAADJAAAAowAAAHcAAABMAAAAKgAAABMAAAAF7u7uAO7u + 7gDz8/MA/v7+AP7+/gCgoKAAdnZ2AP7+/gD+/v4A/v7+AP7+/gDIyN08xMTZv8bG2/vOzuX/1tbt/9bW + 7f/T0+n/NjY7/zY2O/9BQUj/ycne/9ra7//X1+3/r6/C/3h4hf9KSlL/NjY7/zY2O4c2Njsc/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A9vb2AOjo6ADn5+cA5+fnAOnp6QDt7e0A4+PzHOLi8ovj4/P/5OTz/+bm + 9P/l5fT/4uLy/+Hh8v/k5PP/5ub0/+Pj8//Cwtf/a2t2/zY2O/82Njv3NjY7fTY2OxT+/v4A/v7+AMjI + yADZ2dkA/f39AOrq6gDQ0NAAtbW1AKCgoACUlJQAkZGRAO/v+AKxsbcT1tbdt8TEy/ehoan/d3d8/0tL + T/8wMDT/hoaG/5KSlf9TU2P/NTU+/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD19foC9fX6FfX1+oT19frl9fX6//T0+v/x8fn/6+v2/+Tk8//f3/H/29vv/9ra7//a2u//2trv/9ra + 7//Z2e7/1dXs/9HR5//X1+3/2Nju/9vb7//e3vD/3t7x/93d8P/a2u//vLzQ/1paY/82Njv/NjY7/zY2 + O/A2Nju5NjY7WzY2OyQ2NjsXNjY7HDY2Ox5eXmgglZWlIrm5zCXR0ecn2NjuKdjY7izZ2e4v2dnuMdfX + 7TSLi5o3hoaVOqamuDzDw9g/2dnuQ9zc8Ebd3fBJ3d3wTd3d8FDd3fBU3d3wV9zc8Fvd3fBf3d3wY93d + 8Gbd3fBr3d3wbtzc8HPa2u931tbte7q6zn+NjZyDYWFrhzo6QIs2NjuQ6ur2n+np9Zvm5vSX4ODxk9nZ + 7o7ExNmKx8fbhsrK3oLKyt59v7/Teqmpu3WUlKRykJCfbZKSoWmUlKRml5emYZ+fr17j4+PM6Oj6/6+v + 7/+Dg+j/UFDe/yUl1v8YGNT/FRXT/xYW0/8ZGdT/GxvU/xoa1P8UFNP/BQW0/xUVaf8cHDn/NTU+/zAw + MP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wICAv8uLi//6Ojo/8jI + 5/+NjeX/amrj/19f4P9LS93/ODja/ygo1/8ZGdT/BATQ/wcHtP8ZGYT/LS1j/35+pP/V1dX/QEBA//7+ + /v/MzNL/i4uM/1NTU/80NDX/BgYG/AEBAfAAAADbAAAAvQAAAJgAAABtAAAARAAAACUAAAAQAAAABO3t + 7QDu7u4A8vLyAP39/QD+/v4ApqamAJWVlQD+/v4A/v7+AP7+/gDW1uwOzMzhh8fH2+fLy+D/09Po/9bW + 7P/U1Or/1NTp/1VVXv82Njv/NjY7/zY2O/96eof/0NDm/5mZqP9kZG//Pj5F/zY2O/Q2NjtVUFBYDv7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD09PQA6+vrAOjo6ADp6ekA6+vrAN3d8CHf3/Cf4ODx/+Li + 8v/k5PP/4uLy/9/f8P/f3/H/4+Py/+bm9P/j4/L/r6/A/0ZGTf82Njv/NjY7/TY2O4w2Njsb/v7+APPz + 8wDR0dEA/v7+APr6+gDZ2dkArKysAH5+fgBeXl4AS0tLAEVFRQBKSkoAg4OIC8rK0X+/v8jvoKCo/3R0 + ev9LS1D/eHh4/5GRlf9gYIP/Ly9K/y0tPP9AQED/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD19fol9fX6m/X1+ur19fr/8/P5/+3t9//i4vL/2tru/8rK3v+rq73/hoaU/4qK + mP+UlKT/nZ2t/6Cgsf+qqrz/vb3Q/83N4v/Y2O7/3Nzv/97e8P/h4fH/4eHy/9vb7/+EhJH/NjY7/zY2 + O/82Njv/NjY79zY2O8k2NjtvNjY7MDY2Oxs2NjsfNjY7IlRUXSSJiZcmtbXIKdDQ5ivY2O0u2dnuMdra + 7jTS0uc2pKS1OZKSoTyHh5U/ioqYQqSktUXPz+RI3NzvTN/f8VDf3/BT3t7wV97e8Fre3vBe3t7wYd7e + 8GXe3vBp3t7wbd7e8HHe3vB13d3wetnZ7n28vM+CiYmXhlpaY4o2NjuONjY7k+np9qHp6fWd5ub0meHh + 8pTZ2e6QxsbajMfH24jKyt6Ey8vggMjI3Hy3t8p3n5+vdJOToXCSkqFrk5OiaJaWpWTq6u66/v7+/+Pj + +v+wsPD/hYXp/1FR3/8nJ9f/GxvV/xgY1P8VFdT/FhbU/xkZ1f8ZGdX/EhLT/wYGs/8VFWX/HR05/zY2 + Pv8wMDD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/u7u7/9nZ + 6P+SkuX/Xl7h/0VF3f89Pdv/MzPZ/ygo1/8gINb/FRXU/wcH0f8DA7v/Dg51/yYmbf9vb6j/v7/L/1pa + Wv/c3Nz/3d3d/6mpqf94eHj/Dg4P/AEBAfEAAADhAAAAygAAAKwAAACHAAAAXgAAADoAAAAfAAAADQAA + AAPr6+sA7e3tAPHx8QDz8/MA/v7+AIKCggCHh4cA/v7+AP7+/gD+/v4A19ftPdHR58rOzuP70NDm/9XV + 6v/V1er/0NDm/9nZ7v/c3PD/gICN/zY2PP82Njz/NjY8/zY2PP82Njz/NjY8/zY2PP82NjzXNjY8LzY2 + PAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+APPz8wDo6OgA6enpAOvr6wDg4PIm4uLysePj + 8//k5PP/4uLy/9ra7/+0tMf/wMDU/93d8P/j4/P/39/x/7Gxw/9OTlb/NjY8/zY2PP82NjyaNjY8I/7+ + /gDi4uIA8fHxAP7+/gD5+fkAzc3NAJOTkwBZWVkAQEBAAEBAQABAQEAAQEBAAGtrbgmvr7VJwMDG4aOj + qP5ubnL/aWlp/35+hP9gYIv/Ojp1/xwcOf8oKDv/QEBA/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA7u73Ae7u9zjv7/it7+/48e3t9//p6fX/4eHy/9LS5/+6usz/p6e4/46O + nf+Pj57/n5+v/7Cwwv+0tMb/sbHD/7a2yf+0tMb/rq6//6iouf/AwNT/3d3w/+Hh8v/c3PD/ubnL/3R0 + gP82Njz/NjY8/zY2PP82Njz8NjY82DY2PIY2Njw7NjY8ITY2PCI2NjwlR0dOKICAjSqursAty8vgL9nZ + 7jLa2u812trvONra7zvZ2e4+vr7RQZ2drUSLi5lHj4+eS6enuE7GxtpS29vvVd7e8Vng4PFc39/xYN/f + 8WTe3vFo39/xa9/f8W/f3/F039/xd9/f8Xzc3PB/xsbahIuLmYhYWGGMNjY8kDY2PJTk5POk5eXzn+Xl + 85vi4vKX2trvk8fH2o/GxtmKy8vehszM4ILMzOB+v7/SequrvHaZmahykZGfbZOToWqWlqRm0NDYiv7+ + /v/m5vr/t7fy/42N6v9VVeD/JibY/xsb1v8bG9b/GBjV/xYW1f8ZGdb/GRnW/w8P1P8GBrH/FRVk/x0d + Ov83Nz7/MDAw/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ZGRk/+Xl + 5f+iouL/YGDi/zo62/8nJ9j/Hx/W/x0d1/8cHNb/GRnW/xQU1f8MDNP/AAC2/wgIaP8iInv/YGCm/6Wl + uf+QkJD/goKC/+Dg4P+8vLz/UlJT/gEBAfMAAADjAAAAzwAAALQAAACUAAAAcAAAAEsAAAAtAAAAFwAA + AAkAAAAC6urqAOvr6wDt7e0A8fHxAN/f3wBYWFgAbGxsAP7+/gDb2+8B2dnuDNfX7JPW1uvr19fs/9jY + 7f/W1ur/09Pn/87O4v/Z2e7/3d3w/93d8P/Q0OX/Tk5W/zY2PP82Njz/NjY8/zY2PP82Njz9NjY8ozY2 + PBn+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A7u7uAOjo6ADo6PUB5+f0LOfn + 9MLm5vT/5eXz/+Hh8v/Q0OX/k5Oh/5GRn//Fxdn/3t7w/93d8P+0tMX/U1Nb/zY2PP82Njz/NjY8pzY2 + PCz9/f0A0NDQAP7+/gD+/v4A/v7+ANDQ0ACQkJBATU1NMEBAQABAQEAAQEBAAEBAQABFRUcHdnZ5J4yM + kNleXl/+Wlpa/15ebP9SUoL/OTmL/yAgbv8VFTj/JSU7/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6PUE7e33TPDw+MDy8vn48vL5//Dw+P/p6fX/5eX0/+Pj + 8v/f3/H/3d3w/93d8P/c3O//2tru/8nJ3P+6usz/rq6//6Cgr/+Li5j/kZGf/8XF2P/e3vD/3t7w/9nZ + 7v+trb3/dXWA/zk5P/82Njz/NjY8/zY2PP82NjznNjY8nDY2PEU2NjwmNjY8JzY2PCo8PEIseHiEL6ur + vDHMzOA02NjtN9ra7jrb2+893NzvQNzc70Pa2u5Gvb3PSqOjsk2WlqRQm5uqVKurvFfBwdRb2truXt7e + 8GLg4PFm39/xat/f8W7f3/Fy4ODxduDg8Xrg4PF+3t7wgtDQ5YaQkJ6KVlZejzY2PJI2NjyX4+PzpuHh + 8qLf3/Ge3NzwmcvL3pW/v9GRx8fajMjI24nLy96Fy8vegcXF2Hy4uMp5pKS0dZSUonCPj51ti4uZaays + vGXz8/fE7e38/76+9P+UlOz/XV3j/ygo2v8ZGdf/GxvY/xkZ1/8WFtf/GRnX/xkZ1/8PD9b/Bgaz/xUV + aP8cHDr/NTU+/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/FBQU/87O + zv+/v+L/c3Pg/zw83f8kJNn/FRXX/w0N1v8ODtX/ERHW/xMT1v8TE9b/EBDW/wEBnP8HB2v/JyeX/11d + pv+enrL/vb29/zY2Nv/i4uL/zc3N/w4ODvgAAADnAAAA1AAAALgAAACYAAAAdgAAAFQAAAA1AAAAHgAA + AA8AAAAFAAAAAevr6wDs7OwA7u7uAPHx8QD09PQATU1NAFdXVwDc3PAB2trvBdfX6zvX1+zY2trv/dvb + 8P/b2/D/19fr/83N4f/CwtX/29vv/97e8f/e3vH/3t7x/97e8f+QkJ7/Nzc8/zc3PP83Nzz/Nzc8+Dc3 + PGM3NzwP/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP39/QDs7OwA6en1Aujo + 9TPo6PXS6Oj1/+bm9P/h4fL/xMTX/4WFkf9xcXz/kZGf/8LC1f/R0eX/qKi4/1RUXP83Nzz/Nzc8/zc3 + PLM3Nzw10NDQANDQ0AD+/v4A/v7+AP7+/gDt7e0AsrKy/2tra/9AQED/QEBA4EBAQMBAQEDAQEBA0UBA + QP9AQED/TExX/01NbP9CQn3/MjKP/x0dlP8SEm7/EhI4/yQkO/8/P0D/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2+wz29vtd9vb70/b2+/319fv/8/P6/+7u + +P/o6PX/4uLz/9/f8f/e3vH/3d3x/9zc8P/Z2e7/xMTX/66uv/+amqn/fX2J/3FxfP+RkZ//wsLV/9nZ + 7v/Z2e7/x8fa/6iouP95eYX/Q0NJ/zc3PP83Nzz/Nzc8/zc3PPM3Nzy4Nzc8Tzc3PC03NzwsNzc8Ljc3 + PDF4eIMzqKi4N8LC1TnU1Og83NzwP93d8ELd3fBG3d3wSd3d8Ezd3fBP19frU8LC1VewsMFZrq6/Xre3 + yWHKyt1l2trvadzc8Gzf3/Fw4ODydODg8nng4PJ84ODygd/f8YXa2u+JmZmojVdXYJE3NzyVNzc8menp + 9anl5fOk4eHyodzc7526usqYqKi4lLS0xY+8vM2MxsbYh8vL3YPGxtl/wMDSfLGxwXebm6pzhoaScJCQ + nWu2tsdo7e3ysvT0/f/ExPX/mpru/2Nj5f8sLNv/GRnY/xgY2P8XF9j/FhbY/xgY2P8ZGdj/ERHX/wQE + uv8UFHL/GRk5/zAwPf8wMDD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4SE + hP+6usD/iYnZ/0xM4P8oKNv/GRnY/w4O1v8MDNb/Dg7W/w8P1/8TE9f/FRXX/xUV2P8JCY//ExN8/z09 + qf9vb6r/ra2v/7Kysv8AAAD/OTk5/zo6OvwAAADtAAAA2wAAAMEAAACeAAAAeQAAAFcAAAA5AAAAIQAA + ABEAAAAIAAAAAufn5wDp6ekA6+vrAO7u7gDw8PAA8fHxAEBAQABEREQA19fqAtPT5wzV1eih2tru8tzc + 8P/e3vD/3t7w/9vb7//AwNL/xsbY/93d8P/f3/H/39/x/9/f8f/e3vD/0tLl/3V1f/9AQEX/Nzc8/jc3 + POc3NzwvNzc8B/7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AOnp + 9Qbo6PU+6Oj14Onp9f/o6PX/4+Py/8rK3P+UlKH/fX2J/4yMmf+qqrr/urrL/52drP9SUln/Nzc8/zc3 + PP83Nzy/Nzc8Pra2tgDl5eUA/v7+AP7+/gD+/v4A/v7+AOrq6v+srKz/a2tt/zc3Pv80ND7/NDQ+/zIy + Pf8tLT3/NjZV/zs7c/83N4//KSmg/xkZq/8LC6D/Cwtt/xAQOP8kJDv/Pz9A/yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb7Ffb2+2/29vvo9vb7//X1 + +//y8vn/7e33/+fn9P/i4vL/4ODx/9/f8f/e3vD/3d3w/9XV6P++vs//pqa1/4+Pnf99fYn/jIyZ/6qq + uv/Fxdf/0tLm/9DQ4//Dw9X/qKi4/4GBjf9RUVj/Nzc8/zc3PP83Nzz/Nzc8+zc3PNg3NzxhNzc8Mzc3 + PDA3NzwzNzc8NmpqdDmXl6U8urrLPtnZ7ULd3fBF3t7wSN7e8Eve3vBP3t7xUt/f8Vbf3/FZ3d3wXdvb + 72HLy91kysrcaM7O4WvY2Otv3Nzvc97e8Hff3/F84ODxf+Hh8oTg4PGH3NzwjKWltJBbW2OUNzc8mDc3 + PJzr6/ar6ur2pufn9aPh4fKexcXXmqqquZayssKRuLjIjr+/0InExNaGxMTWgcXF1368vM16l5eldXd3 + gnGqqrluubnKauzs8bP6+v7/yMj2/5+f7/9qaub/Ly/d/xkZ2f8YGNn/FhbZ/xcX2f8XF9n/EBDY/wAA + z/8CAqn/EBBy/xQUOf8pKTz/PDw8/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/1FR + Uf+ysrL/fHym/1BQvf8qKtz/HBza/xMT2P8MDNf/DQ3X/w4O1/8NDdf/EBDX/xUV2f8WFs7/GRl5/yQk + Z/9FRXj/dXWI/52dnf9LS0v/AAAA/wAAAP4AAAD4AAAA6AAAANAAAACwAAAAiAAAAGEAAABAAAAAJQAA + ABIAAAAJAAAABAAAAAHo6OgA5+fnAOjo6ADs7OwA8PDwAPHx8QBAQEAAQEBAANLS5QnR0eQ+09Pn6tzc + 8P/e3vH/4ODy/+Dg8v/X1+r/ra28/9zc8P/f3/H/39/x/9/f8f/f3/H/3d3x/8DA0v9nZ3D/Nzc8/zc3 + PPg3Nzy/Nzc8Ejc3PAL+/v4A/f39APj4+AD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDq6vYJ6en2TOnp9unq6vb/6en2/+Xl9P/b2+//qqq5/5ubqf+iorH/sbHB/7a2x/+YmKb/UlJZ/zc3 + PP83Nzz/Nzc8yzc3PEiioqIAycnJAP7+/gD+/v4A/v7+AP7+/kD+/v7/29vr/3h4rv8/P3T/IiJI/xwc + O/8iIkz/Jydl/ygoff8jI5n/Gxu1/xERyP8ICMz/AgKx/wgIcP8QEDj/JCQ7/z8/QP8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAA + AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2+wL29vsf9vb7g/b2 + +/v29vv/9fX7//Ly+f/t7ff/5+f1/+Li8//g4PL/39/x/9/f8f/d3fH/09Pn/7y8zf+np7b/m5up/6Ki + sf+xscH/wMDR/8vL3f/OzuH/zs7h/8PD1f+urr7/jY2a/19faP83Nzz/Nzc8/zc3PP83Nzz+Nzc86Tc3 + PIA3Nzw9Nzc8Mjc3PDc3Nzw7WFhgPYuLmEG9vc5E2dnsRt7e8Urf3/FN39/xUN/f8VPf3/FX39/xW9/f + 8V/f3/Fj4ODyZt/f8Wre3vFt3d3wcd3d8XXe3vF539/xfuDg8oHh4fKG4eHyit7e8Y6vr7+SVVVcljc3 + PJo3Nzye6+v2rerq9qno6PWm4+PzodjY6py8vMyZvLzMlL29zZHAwNCMwsLTicDA0YTDw9SBw8PUfImJ + lXiLi5d1trbGcLq6ym3s7PC0/v7//8DA9f9/f+v/Li7e/wAAyv8AALf/AACm/wAAhf8AAIr/AACU/wAA + nf8AAJz/AQGM/wsLbf8QEDj/IiI7/zw8P/9AQED/MDAw/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0N + Df/IyMj/qqrF/1tbq/8rK6X/ERG9/wgI2f8NDdn/CgrZ/wwM2f8MDNn/CQnY/wsL2P8aGs//LCyr/zMz + dv87O1z/RkZQ/1RUVP9BQUH/AAAA/wAAAP8AAAD8AAAA8wAAAOEAAADFAAAAoAAAAHUAAABNAAAALgAA + ABcAAAAJAAAABAAAAAH+/v4A7OzsAOjo6ADo6OgA6+vrAO7u7gD09PQAZWVlAN3d8AHX1+ka1NTnqNjY + 6vne3vD/4ODx/+Li8v/j4/P/wsLT/76+zv/f3/H/4ODx/+Dg8f/g4PH/4ODx/9zc7/+wsL//Xl5n/zc3 + PP83NzzvNzc8fjc3PAlAQEYBubm5AL29vQDJyckA39/fAPLy8gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A6ur2Durq9lnq6vbx6ur2/+rq9v/n5/X/4ODx/8HB0v+xscD/srLB/7i4yP+5ucj/mpqo/1ZW + Xf83Nzz/Nzc8/zc3PNY3NzxUxMTEAN7e3gD+/v4A/v7+AP7+/gD+/v5A/v7+/8jI9v91den/NDS//xsb + kf8XF33/FxeK/xUVnf8REbD/DAzI/woK2f8WFtr/FRXa/wAAx/8JCXX/EBA4/yQkO/8/P0D/ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/QAAAO0AAADRAAAArQAAAIAAAABSAAAALgAA + ABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb7Bfb2 + +yr29vuf9vb7//b2+//19fv/8vL5/+zs9//m5vT/4+Pz/+Hh8v/g4PH/4ODx/97e8f/U1Of/wMDQ/7Gx + wP+yssH/uLjI/8DA0f/IyNn/zc3f/9HR4//Nzd7/xcXW/7S0xP+YmKX/bGx2/zg4Pf83Nzz/Nzc8/zc3 + PP43NzzrNzc8nzc3PFA3Nzw4Nzc8PDc3PEBQUFdDjIyYRrq6yknX1+lN3t7xUN/f8VPg4PFW4ODxWuDg + 8V7g4PFh4ODxZuDg8Wng4PFt4ODycOHh8nXh4fJ44eHyfeHh8oDh4fKE4eHyieHh8oze3vGRs7PClEpK + UJk3NzydNzc8oezs9rDr6/ar6Oj1qOTk86TW1uifvLzLnL+/zpfAwNCTxsbWj8TE1IvAwNCHwcHRg6ys + uX98fIZ7pqa0eLi4x3O6uslw6+vvtf39/v+Wlu7/QEDh/w0Nt/8AAI7/AACT/wAAmP8AAIv/AACO/wAA + n/8AALD/AACw/wEBmf8KCnj/Dg45/x4eO/82Nj7/QEBA/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP+JiYn/zs7T/4aG1f9DQ8f/Fxer/wYGof8AALn/AADX/wYG2f8HB9n/CAjZ/wQE2f8TE8//Kiq6/0VF + n/9hYYz/bW1z/1NTU/8hISH/AAAA/wAAAP8AAAD+AAAA+gAAAO0AAADXAAAAtwAAAI4AAABiAAAAPAAA + ACAAAAANAAAAAwAAAAH+/v4A/v7+APf39wDq6uoA5+fnAOjo6ADr6+sA/v7+AP7+/gDb2+0O19foUdnZ + 6uzf3/D/4ODx/+Li8v/j4/L/4ODx/7Cwvv/a2uv/4ODx/+Dg8f/h4fH/4eHx/+Dg8f/R0eL/nZ2p/1hY + X/84ODz/ODg84Tg4PEA4ODwGu7u7AM/PzwDT09MA0NDQANbW1gDT09MAzMzMAMXFxQDi4uIA/v7+AP7+ + /gD+/v4A/v7+AOvr9hLq6vZn6+v2+evr9v/r6/b/6Oj1/+Li8v/Z2er/x8fY/7+/zv/AwM//vr7N/6Cg + rf9dXWX/ODg8/zg4PP84ODzhODg8YTg4PAP+/v4A/v7+AP7+/gD+/v4A/v7+QP7+/v+2tvP/e3vr/0VF + 4/8SEtv/BQXO/wQE0f8DA9j/DQ3a/xYW2/8fH93/Jibe/yUl3v8AANb/CQmA/xAQOP8kJDv/Pz9A/yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf4BAQHxAAAA0gAAAK0AAACAAAAAUgAA + AC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2 + +wH39/sJ9/f7Nff3+7739/v79vb7//X1+v/x8fn/6+v2/+bm9P/j4/L/4eHy/+Hh8f/g4PH/39/x/9jY + 6f/Hx9j/v7/O/8DAz//FxdX/ysra/87O3//S0uP/0dHi/87O3//Hx9j/u7vK/6Ghrv96eoT/SEhO/zg4 + PP84ODz/ODg8/zg4PO04ODy0ODg8Zjg4PEA4ODxBODg8Rk5OVUmJiZRMuLjHUNTU5lPf3/BW4ODxWeHh + 8V3h4fFh4eHxZOHh8Wnh4fFs4eHxcOHh8XPh4fF34eHye+Li8n/i4vKD4uLyh+Li8ozi4vKP39/xlJqa + p5c/P0SbODg8oDg4PKTs7Pez6+v2r+np9avl5fSn2dnqor6+zZ69vcyawMDPlsXF1ZLExNSOwMDPibW1 + xIZ1dX+ChoaRfrKywXq3t8Z2urrJc+fn67f9/f7/n5/x/2Vl6P8rK9//AADJ/wQE2v8cHN3/Gxvd/xsb + 3f8ZGd3/ExPc/wAA2f8CArT/DQ2L/xQUTP8gIDv/Nzc+/0BAQP9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP9LS0v/wcHB/5iYzf9aWtX/Kirc/wwMyf8CAqj/AACm/wAAxP8EBNr/BATa/wMD2f8FBdb/GRnG/zMz + pf9JSX//R0dR/zIyMv8JCQn/AAAA/wAAAP8AAAD+AAAA/AAAAPUAAADkAAAAygAAAKYAAAB8AAAAUQAA + AC8AAAAWAAAACAAAAAH+/v4A/v7+AP7+/gD+/v4A8fHxAObm5gDp6ekA6+vrAP7+/gDf3/EC2dnqJ9jY + 6ajc3O7/4ODy/+Li8v/j4/P/4+Pz/6+vvf+6usn/4ODy/+Hh8v/h4fL/4uLy/+Li8v/g4PH/wcHR/4iI + k/9OTlT/ODg8+Dg4PMQ4ODwYODg8A/7+/gD+/v4A/v7+AOvr6wDa2toAzMzMALu7uwCioqIAqampAOfn + 5wD+/v4A/v7+AP7+/gDr6/YX6+v2d+vr9v/s7Pf/7Oz2/+np9f/k5PP/4eHy/97e8P/Ozt//xMTU/8DA + z/+kpLH/YmJq/zg4PP84ODz/ODg86jg4PG84ODwI/v7+AP7+/gD+/v4A/v7+AP7+/lD+/v7/rq7z/2lp + 6P80NOH/ExPc/xUV3P8lJd//IiLe/yQk3v8kJN7/KCjf/ykp3/8pKd//Bwfa/woKjf8QEDn/JCQ8/z8/ + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AwMD9wICAtcAAACtAAAAgAAA + AFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPHx + +QH19fsD9vb7BPf3+wz39/tG9/f70ff3+/r29vv/9fX6//Dw+f/r6/b/5ub0/+Pj8//i4vL/4uLy/+Li + 8v/h4fL/3t7w/87O3//ExNT/xMTU/8fH1//MzNz/z8/g/9HR4v/R0eL/0dHi/83N3f/BwdH/rKy6/4aG + kf9bW2L/ODg8/zg4PP84ODz/ODg88Tg4PMU4ODx5ODg8Szg4PEU4ODxMQkJIToWFkFK0tMNV0dHiWd/f + 8Vzh4fJg4eHyY+Li8mfi4vJr4uLybuLi8nLi4vJ24uLyeuLi8n7i4vKC4uLyhuPj84rj4/OO4uLykt7e + 8JZlZW6aRUVLnjg4PKI4ODyn7e33tuzs9rHq6vWu5ub0qdra6qW/v86hv7/Nnb+/zprDw9KVwsLRkcDA + z42jo7CKj4+ahaKiroGzs8F9trbEebm5x3bq6u+4/v7+/8XF9v+amvD/aGjp/y0t4f8ZGd7/HBze/xsb + 3v8aGt7/GRne/xgY3f8NDdz/AwPI/xISnf8dHV//IyM8/zMzN/80NDT/GBgY/wAAAP8AAAD/AAAA/wAA + AP8VFRX/kZGR/5mZtv9pacv/NzfZ/xYW3f8JCdz/AADE/wAAqP8AALD/AADM/wYG2/8BAdr/BgbV/xoa + vP8vL5D/NTVY/xoaHP8QEBD/AAAA/wAAAP8AAAD/AAAA/QAAAPgAAADtAQEB2QEBAboBAQKUAAAAaQAA + AEIAAAAkAAAAEAAAAAUAAAAB/v7+AP7+/gD+/v4A/v7+APz8/ADq6uoA5OTkAN7e3gD+/v4A3d3uEdra + 6l/b2+vo4ODx/+Li8v/j4/P/5eXz/+Hh8f/FxdT/19fo/+Hh8v/i4vL/4uLy/+Pj8v/i4vL/3d3u/7Cw + vf93d4H/R0dN/zg4PO04ODyWODg8Bjw8QAH+/v4A/v7+AP7+/gD9/f0A5OTkAMvLywCzs7MAkZGRAIOD + gwCpqakA4uLiAP7+/gD+/v4A7Oz2Huzs9ofs7Pb/7e33/+zs9v/p6fX/5eXz/+Pj8v/i4vL/4ODx/9PT + 4//Hx9b/qqq3/2lpcP84ODz/ODg8/zg4PPE4ODx+ODg8D/7+/gD+/v4A/v7+AP7+/gD+/v6A/v7+/7m5 + 9P9ubur/JCTg/wAAx/8AAMb/AADX/w0N3P8cHN7/JSXf/yUl3/8nJ+D/Jyfg/woK2/8LC5r/ERE8/yQk + PP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wQEBPwEBAThAQEBsAAA + AIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTzAejo + 9QLt7fcD8vL5Bfb2+wb39/sH9/f7Dvf3+2X39/vc9/f7+/b2+//09Pr/8PD4/+vr9v/n5/T/5OTz/+Pj + 8v/j4/L/4+Py/+Li8v/g4PH/09Pj/8rK2f/Kytn/y8va/87O3f/Pz9//0tLi/9TU5P/S0uL/0NDg/8fH + 1/+zs8H/mJik/2Nja/84ODz/ODg8/zg4PP84ODz2ODg80zg4PIs4ODxXODg8Szg4PFE4ODxVhYWPWLKy + wFzS0uJf4ODxY+Hh8mfi4vJq4+PybuPj8nHj4/J14+PyeePj8n3j4/KB4+PyhePj8onj4/ON4+PykeTk + 85XNzdyZfX2GnVhYX6E4ODylODg8qe3t97js7Pez6ur2sOfn9Kzd3e2nvr7MpL29y5+/v86cz8/fl+Li + 85Td3e2PubnHjKuruIiwsL2DsrLAgLa2w3y4uMZ46enuuv7+/v/Fxff/mZnx/2dn6v8tLeL/GBjf/xsb + 4P8bG+D/GRnf/xkZ3/8YGN//ExPf/wMD1/8WFrH/JiZ2/yMjPP8qKi//AAAA/yAgIP8wMDD/MDAw/xAQ + EP8EBAT/TU1N/319jP9mZq3/QEDK/xwc3P8ICN3/AQHb/wAA1P8AALz/AACt/wAAt/8AAMn/AADT/wUF + 0f8VFbz/JyeL/ykpTf80ND7/QEBA/0BAQP8kJCT/AAAA/gAAAPsAAADyAQEB4gEBAcgCAgKlAwMDfgIC + AlUDAwMzBQUFGgAAAAoAAAAD/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A8vLyANjY2ADi4uIA4eHyA9vb + 6zDY2Oms3d3u/+Pj8//m5vT/6+v3/+rq9v/j4/P/4ODx/+Li8v/i4vP/4+Pz/+Pj8//j4/P/4+Pz/9PT + 4/+cnKj/ZWVt/z8/Q/84OD3fODg9Xv7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+APf39wDc3NwAwMDAAKam + pgCRkZEAoqKiAMXFxQDl5eUA9/f3AOzs9yTs7PeW7Oz3/+3t9//t7ff/6ur2/+Xl9P/k5PP/5OTz/+Pj + 8//h4fL/09Pj/7Ozwf9zc3v/ODg9/zg4Pf84OD32ODg9jjg4PRX+/v4A/v7+AP7+/gD+/v4A/v7+gP7+ + /v/Bwfb/jo7w/1BQ5/8AANv/AADG/wAAzP8AANX/AwPc/xAQ3v8XF9//IiLh/yYm4f8NDd7/DAyk/xQU + R/8kJDz/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8EBAX+BwcH7gQE + BLkAAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PzAeTk + 8wLm5vQD6ur2BO/v+Abz8/oH9vb7CPf3/Af39/wU9/f8hff3/OP39/z+9vb7//T0+v/v7/j/6ur2/+fn + 9P/l5fT/5OTz/+Tk8//k5PP/4+Pz/+Hh8v/V1eX/zs7d/87O3f/Q0OD/0NDg/9LS4v/T0+P/1dXl/9XV + 5f/T0+P/z8/f/7m5x/+amqb/bm53/z4+Qv84OD3/ODg9/zg4Pfo4OD3hODg9njg4PWE4OD1TODg9Vzg4 + PVpZWWBekZGcYbe3xGXU1ORp4eHybeLi83Hj4/N05OTzeOTk83zk5POA5OTzg+Pj84fk5POM5ub0j+rq + 9pTp6faX4eHynJaWoaBgYGekODg9qDg4Pazt7fe67e33tuzs9rPq6vWu5eXzquHh8afk5POi5OTznuXl + 85rl5fOXvr7Lkqenso+urrqKs7PAhrKyv4O0tMF+t7fEe+np7bv+/v7/xcX3/5mZ8f9mZuv/Li7j/xYW + 4P8ZGeD/GRng/xgY4P8ZGeD/Fxfg/xMT4P8EBN3/FhbC/yoqlP8qKlH/KSk2/y8vM/8/P0D/QEBA/0BA + QP9AQED/MzMz/05OXv9UVIn/QECw/yMjzv8MDNz/AgLa/wAA2v8AANz/AADX/wAAxP8AALP/AACd/wAA + pv8EBMn/EhLW/yQkrP8wMHL/MjJH/0BAQP9AQED/PDw8/wwMDP0AAAD2AQEB6gEBAdUCAgK1BAQEjwUF + BmYGBgdBERESJRQUFRIWFhcGAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AOzs7ADDw8MA/v7+AOPj + 8xHj4/Nr5eXz6efn9P/r6/b/7u73/+7u9//m5vT/3t7u/+Li8v/j4/P/4+Py/+Pj8//j4/P/5OTz/+Pj + 8v/FxdP/ioqU/1dXXf85OT39OTk9xzk5PS3+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A9PT0ANnZ + 2QDAwMAAs7OzALu7uwDMzMwA3d3dAOrq6gDt7fcr7e33pu3t9//t7ff/7e33/+rq9v/m5vT/5eXz/+Xl + 8//l5fP/5OTz/+Hh8f++vsv/fHyF/zk5Pf85OT3/OTk9+zk5PZw5OT0d/v7+AP7+/gD+/v4A/v7+AP7+ + /oD+/v7/wMD3/5KS8P9gYOr/Kyvj/xAQ3/8KCt7/AwPd/wQE3v8MDN//EhLf/xoa4P8fH+H/Cgre/wwM + qf8WFlD/JCQ8/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/BAQF/wkJ + CvgJCQrNAQEBgwAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAANnZ6QHj4/IB4+PzAePj + 8wLk5PME5eXzBefn9Afr6/YI8PD4CfT0+gr39/sK9/f8Bfj4/CT4+Pyc+Pj87Pf3/P/29vv/9PT6/+/v + +P/q6vb/5+f0/+Xl9P/l5fP/5eXz/+Xl8//k5PP/4uLy/9TU4//Pz93/z8/e/9DQ3//R0eD/09Pi/9TU + 4//X1+f/3t7t/9bW5v/MzNr/vLzJ/6Ghrf98fIX/S0tR/zk5Pf85OT3/OTk9/zk5Pe85OT2wOTk9bjk5 + PV05OT1dOTk9YVNTWWSKipRosbG+bMnJ12/e3u5z4+Pzd+Xl83vn5/R+6Oj1g+np9Ybr6/aK6+v2j+zs + 95Lt7feX5ub0ms/P3Z6Xl6GiYGBmpzk5Pao5OT2v7u73ve7u97nt7fe16ur1sebm863j4/Kp5OTzpOPj + 8qHk5PKdysrXmZ2dp5WMjJWRqqq1jbe3w4mysr6FtLTAgbm5xX3p6e28/v7+/8TE9/+YmPL/Zmbr/yws + 5P8WFuH/GRnh/xkZ4f8YGOH/Fxfh/xgY4f8TE+D/Bgbf/xAQ0f8jI7P/Ly+C/yYmSf8lJTz/JiY8/ycn + Pf8mJjz/JiY8/ygoRP83N2//MzOV/yMjt/8QEM//BATZ/wAA2f8AANn/AADb/wIC3v8ODuD/AwPX/wUF + q/8JCaH/ERGy/yAgx/80NMb/Rkab/1FRcv9OTk7/QEBA/xQUFP4AAAD5AQEB8AEBAd4CAgLCBAQEnwcH + B3cMDA1SFBQVMicnKRs1NTgMZGRrBK+vuwGTk50B/v7+AP7+/gD+/v4A/v7+AP7+/gDY2NgA2dnZAOTk + 8gPk5PI35eXzs+fn9P/q6vX/7Oz2/+3t9v/o6PT/2trp/8XF0v/j4/L/5eXz/+Tk8v/k5PL/5eXz/+Xl + 8//i4vH/t7fD/3t7g/9KSk//OTk98jk5PaE5OT0O/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD09PQA3NzcAMvLywDMzMwA09PTAN3d3QDm5uYA7e33Mu3t97Xu7vf/7u73/+7u9//q6vX/5+f0/+bm + 8//m5vP/5ubz/+bm8//l5fP/zs7b/4eHkP85OT3/OTk9/zk5Pf85OT2rOTk9Jv7+/gD+/v4A/v7+AP7+ + /gD+/v6A/v7+/8DA9/+RkfH/X1/q/yoq4/8VFeH/Fhbh/xcX4f8XF+H/Fxfh/xcX4f8aGuH/HR3i/wYG + 3/8MDKj/FxdU/yQkPP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wQE + Bf8KCgv+Dg4P5QcHB5IAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAANLS4AHV1eMC5OTyA+Tk + 8wPl5fMF5eXzBuXl8wfn5/QI6en1Ce3t9grx8fkL9fX6DPf3+wz4+PwG+Pj8Ofj4/LH4+Pz19/f7//b2 + +//z8/r/7+/3/+rq9f/n5/T/5ubz/+bm8//m5vP/5ubz/+Xl8//f3+7/0tLg/8/P3f/S0uD/0tLg/9PT + 4f/W1uT/2dno/9jY5//U1OL/0tLg/8zM2f+/v8z/qam0/4aGj/9dXWP/OTk9/zk5Pf85OT3/OTk9/Dk5 + PcU5OT19OTk9ZTk5PWQ5OT1nWlpga5eXoW+5ucVy1tbkduTk8nnm5vN+5+f0genp9YXq6vWJ7Oz2jevr + 9pHr6/aV6Oj0meHh8J2ysr6hkpKcpWJiaKk5OT2tOTk9se/v+MDv7/i87e33uOrq9bTe3uywu7vHrLa2 + wqi5ucWkxcXSoNDQ3pyysr6YkpKblaurtpDAwM2MtrbBibW1wIS3t8OB6Ojsvv7+/v/ExPf/mJjy/2Zm + 7P8sLOX/GBji/xgY4v8aGuL/Ghri/xgY4v8YGOL/Fhbi/woK4P8JCdz/FRXK/yAgrf8jI4T/HR1c/xUV + Q/8SEjr/ExM+/xcXTP8eHmj/ICCJ/xkZp/8PD7//BgbP/wAA1v8AANb/AADY/wAA2v8FBd//Hh7i/yQk + 5P8iItn/KyvD/zU1sf9BQa3/UFCl/2Jimv+Cgpb/eHh4/1xcXP8AAAD8AQEB9QEBAeYBAQLOBQUFrwcH + B4gMDA1hFhYXPyYmKSVJSU0Ufn6GCqmptAXU1OIDtrbCApqapAH+/v4A/v7+AP7+/gD+/v4AxsbGAPn5 + +QDk5PMP4+PyeOTk8+zl5fP/5ub0/+fn9f/o6PX/6en1/+Xl8//Ly9j/4+Py/+bm9P/l5fT/5eXz/+Xl + 9P/l5fP/2Njn/6WlsP9qanH/Pz9D/zk5PeE5OT1y/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+APf39wDk5OQA2traANvb2wDh4eEA7u74Ae7u9znu7vfF7u74/+/v+P/u7vf/6+v2/+fn + 9f/n5/T/5+f0/+fn9P/n5/T/5+f0/+Hh8P+bm6X/QEBF/zk5Pf85OT3/OTk9tzk5PTH+/v4A/v7+AP7+ + /gD+/v4A/v7+gP7+/v/Bwff/kZHx/2Bg6/8oKOT/Fhbi/xUV4v8UFOL/Fxfi/xkZ4v8bG+L/Hx/j/x4e + 4/8FBeD/DAym/xMTRP8kJDz/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8EBAX/CgoL/xEREvQRERK3AQEBVAAAAC4AAAAUAAAABQAAAAAAAAAA5ub0AeXl9AHS0uACz8/dA+Tk + 8wXl5fMF5ub0B+bm9Ajm5vQJ5+f0Cujo9Qrq6vYL7u73DPPz+Q329vsN9/f8Dvj4/Av4+PxL+Pj8w/j4 + /P339/z/9vb7//Pz+v/u7vj/6ur2/+jo9f/n5/T/5+f0/+fn9P/n5/T/5eX0/+Dg7v/T0+H/0tLg/9PT + 4f/T0+H/19fl/9jY5//T0+H/09Ph/9TU4v/U1OL/zs7b/8XF0v+ysr7/lJSd/2pqcf8/P0T/OTk9/zk5 + Pf85OT3/OTk92jk5PYw5OT1rOTk9aTk5PW5YWF1ympqkdb6+ynna2ul95eXzgebm9ITm5vSJ5ub0jObm + 9JDm5vSV5+f0mOnp9Zzm5vSguLjEpJCQmahnZ26sOTk9sDk5PbTw8PjB7+/4ve7u+Lrr6/a25OTzssHB + zq67u8eqtLTAprOzv6LGxtOfr6+7moqKk5ejo62SyMjVjrq6xouzs7+GtrbBg+fn67/+/v7/xMT4/5eX + 8v9lZez/Kyvl/xcX4/8WFuP/Ghrj/xoa4/8YGOP/GRnj/xcX4/8PD+L/CAjh/wgI2v8ODs3/EhK5/xER + n/8NDYX/Cwt3/wsLd/8LC4H/DQ2T/wwMqP8ICLj/BATH/wEB0f8AANX/AADW/wAA1v8FBdP/Dw/Z/yIi + 3f86Otn/V1fd/3R05f98fMr/f3+y/3t7lP+Dg4b/kZGR/5GRkf8tLS3+AAAA+AEBAe0BAQLZAwMDvAYG + BpgLCwtwEhITTCIiJC85OT0Zb293D6SkrwnV1eMG1NTiBNHR3wO/v8wC/v7+AP7+/gD+/v4AwcHBANPT + 0wD+/v4A5OTzP+Xl87/l5fT/5ub0/+fn9P/n5/T/5ub0/+fn9P/l5fP/w8PQ/9zc6v/n5/T/5ub0/+Xl + 8//l5fT/5OTz/8vL2P+UlJ3/XV1j/zk5Pf85OT3LOTk9Qv7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAEAAAAB39/fAO7u+AHu7vdC7u730+7u+P/u7vj/7u73/+rq + 9v/n5/T/5+f0/+fn9P/n5/T/5+f0/+fn9P/l5fT/sLC8/09PVP85OT3/OTk9/zk5PcA5OT0+/v7+AP7+ + /gD+/v4A/v7+AP7+/oD+/v7/wcH3/5GR8f9eXuv/KCjl/xYW4/8WFuP/Fhbj/xgY4/8WFuP/GRnj/x4e + 5P8cHOP/BATg/wsLl/8QEDr/JCQ8/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQL/BAQF/woKC/8SEhP9GBga3g0NDWkAAAAuAAAAFAAAAAUAAAAAAAAAAOXl9AHm5vQC09PhA8vL + 2ATk5PMG5eXzBubm9Afm5vQI5+f0Cefn9Arn5/UK6Oj1C+vr9g3v7/gO8/P6Dvb2+w/4+PwQ+Pj8FPj4 + /F34+PzV+Pj8//f3/P/19fv/8vL5/+3t9//q6vb/6Oj1/+fn9P/n5/T/5+f0/+fn9P/l5fP/29vp/9PT + 4f/S0uD/1tbk/97e7P/Y2Of/1NTi/9PT4f/T0+H/1dXj/9PT4f/Q0N7/x8fV/7i4xP+goKv/f3+H/1VV + W/85OT3/OTk9/zk5Pf45OT3nOTk9ozk5PXQ5OT1uOTk9dFFRV3eVlZ98wsLPf+Dg74Pm5vSH5+f0i+fn + 9I/m5vST5eX0l+Xl9Jrn5/Sf5eX0oq+vu6eHh5CqbGxzrjk5PbI5OT228PD4xfDw+cDw8Pm97e33uefn + 9bXMzNmxwcHOrbi4xKmwsLylra25opycpp1wcHiaiYmRls/P3ZHDw9COuLjEirW1wYfl5enB/v7+/8TE + +P+Xl/P/ZGTt/ysr5v8WFuT/FBTj/xYW5P8ZGeT/Fxfk/xgY5P8XF+T/FRXj/xAQ4/8KCuL/Bgbi/wIC + 4f8CAtr/AgLM/wEBu/8BAbP/AQG0/wEBuv8BAcH/AADI/wAAzv8AANT/AADV/wAA1v8AANP/CQnP/xwc + 0f85Ocr/X1/F/4qKzP+wsNL/z8/T/8jIyP+RkZH/VVVV/y4uLv8AAAD+AAAA+gEBAfIBAQHiAwMDyAYG + BqcLCwuBERESWx8fITo0NDciYWFnE52dpwy8vMgJ2NjnB9nZ6AbW1uQF1tbkBNHR3wK+vssB9vb2ANzc + 3AD09PQA5eX0D+bm9Ifn5/Xs6Oj1/+jo9f/p6fb/6Oj1/+bm9P/l5fT/19fl/6mptP/Dw9D/6en2/+jo + 9f/n5/X/5ub0/+Pj8v++vsv/h4eQ/1RUWf85OT34OTk9qDk5PR3+/v4A/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAADAAAABQAAAAcAAAAJAAAACgAAAAgAAAAGAAAABAAAAALHx84G7u74T+7u+N/v7/j/7+/4/+7u + +P/r6/b/6Oj1/+fn9f/o6PX/6Oj1/+jo9f/o6PX/5+f1/8PD0P9jY2n/OTk9/zk5Pf85OT3JOTk9Sv7+ + /gD+/v4A/v7+AP7+/gD+/v6A/v7+/8DA9/+RkfL/Xl7s/ygo5v8UFOP/FBTj/xYW5P8YGOT/Fxfk/xgY + 5P8bG+T/Ghrk/wIC4f8JCYP/EBA6/yQkPP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AgIC/wQEBf8KCgv/EhIU/xsbHfIcHB6kAQEBLwMDAxUAAAAFAAAAALu7xwHl5fQC5+f1BNjY + 5gXGxtMH39/tCObm9Qjn5/UJ6Oj1Cujo9Qrp6fYL6en2DOnp9g3q6vYO7Oz3D/Dw+RD09PoR9/f8Evj4 + /BL4+Pwj+Pj8c/j4/OX4+Pz/9/f8//X1+//x8fn/7e33/+rq9v/o6PX/6Oj1/+jo9f/o6PX/5+f1/+Xl + 9P/Z2ej/1NTi/+Hh7//m5vT/4eHw/9jY5//U1OL/1dXj/9bW5P/U1OL/1dXj/9HR3//MzNn/wMDN/62t + uf+RkZr/ZWVs/z09Qf85OT3/OTk9/Tk5Pe05OT27OTk9hTk5PXU5OT17TExRf5OTnYLMzNmH5+f1iujo + 9Y7o6PWR5+f1lufn9Zrm5vSe5ub0otzc6qWUlJ6pbW10rXBweLE5OT21OTk9ue/v+Mfw8PjD8PD5wO/v + +Lzq6va42NjmtMjI1LC9vcissrK9qKyst6ShoaqgYWFnnWNjaZmzs72UzMzYkb6+yo20tL+J5OTowv7+ + /v/ExPj/l5f0/2Vl7v8uLuj/Fxfm/xYW5f8WFuX/Fhbl/xcX5v8YGOb/GBjm/xgY5v8WFuX/Fhbl/xUV + 5f8VFeX/Fhbl/xAQ5f8BAeP/AADV/wAAzv8AAM7/AADQ/wAA0v8AANT/AADV/wAA1/8AANf/AQHS/w0N + zv8lJcH/SUm2/3R0r/+JiZn/c3Nz/0VFRf8cHBz/AAAA/wAAAP8AAAD/AAAA/AEBAfcBAQHqAwMD0wUF + BbUJCQqQEBASahsbHUctLTArT09UGYqKkhC+vsoM1dXiCtvb6Qnh4e4I4ODtB9/f7Abh4e4F4ODtA8/P + 3ALFxdECyMjUAdjY5kfn5/XH6en1/erq9v/r6/b/6ur2/+jo9f/n5/T/5ub0/9vb6f+amqT/nJym/+fn + 9P/p6fX/6Oj1/+fn9P/c3On/sLC7/3d3fv9LS0//Ojo95zo6PXw6Oj0I/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAADAAAABwAAAAwAAAASAAAAFgAAABgAAAAVAAAAEAAAAAoAAAAFxMTLC+/v+F3v7/jp7+/4//Dw + +P/u7vj/6+v2/+np9f/o6PX/6Oj1/+jo9f/o6PX/6en1/+jo9f/R0d7/dnZ9/zo6Pf86Oj3/Ojo90jo6 + PVfNzc0A/v7+AP7+/gD+/v4A/v7+gP7+/v+9vff/iory/1dX7f8kJOf/ExPl/xYW5f8WFuX/FBTl/xMT + 5f8XF+b/KCjn/0ND6v8ZGeb/CwuZ/xMTR/8kJD3/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wICAv8FBQX/CgoL/xMTFP8cHB78JCQm2hcXGU0KCgoYCgoKBj8/QwKamqQE2NjlBefn + 9Qbd3eoHvr7KCNPT4Ano6PUJ6en1Curq9gvr6/YL6+v2DOvr9g3q6vYP6ur2EOvr9hHu7vcR8fH5EvX1 + +xT39/wV+Pj8Fvj4/DD4+PyK+Pj88fj4/P/39/z/9fX7//Hx+f/t7ff/6ur2/+np9f/p6fX/6en1/+np + 9f/o6PX/5eXz/97e6//n5/X/6Oj1/+fn9f/l5fP/2tro/9XV4v/V1eL/1dXi/9XV4v/T0+D/09Pg/8/P + 2//Hx9P/urrF/5+fqP98fIT/VFRZ/zo6Pf86Oj3+Ojo98To6Pcs6Oj2WOjo9fDo6PYFAQESFmJiiiuPj + 8Y3p6fWR6en1lOjo9Zjo6PWd5+f0oebm9KXg4O2ohISMrElJTrBVVVq0Ojo9uDo6Pbzu7vfJ7Oz2xurq + 9cPp6fW/4uLvur29yLe2tsCzsbG7r62tt6uqqrSnqKixo2RkaaA+PkGccXF4l87O2ZTExM+QtrbAjePj + 58P+/v7/xMT5/5aW9P9jY+//LCzp/xkZ5/8ZGef/Fxfm/xQU5v8WFub/Fxfm/xcX5v8YGOf/GBjn/xcX + 5v8ZGef/GRnn/xkZ5/8ZGef/EhLm/wEB5P8AANb/AADQ/wAA0f8AANL/AADT/wAA1f8AANb/AADX/wIC + 1v8ODsT/Jyev/0ZGnP9ISGT/Dg4O/xYWFv8bGxv/ISEh/ykpKf8ODg7/AAAA/QEBAfoBAQHvAgIC3QUF + BsIICAmgEBARehgYGlUqKiw3SkpOInl5gBWpqbMNz8/aC9bW4gvf3+sK5+f0Cejo9Ano6PQI6Oj0B+jo + 9Abh4e0Ez8/bA76+yRO4uMKTwMDL69nZ5v/o6PX/6en1/+np9f/o6PT/5+f0/+Tk8f/j4/D/np6m/3Nz + ev+trbf/6+v2/+rq9f/o6PT/0tLe/6Kiq/9vb3X/R0dL/zo6Pc46Oj1SOjo9Af7+/gD+/v4A/v7+AP7+ + /gAAAAABAAAABQAAAAwAAAAVAAAAHwAAACcAAAApAAAAJAAAABsAAAASAAAACcbGzBHv7/hr8PD48fDw + +P/w8Pj/7+/4/+vr9v/p6fX/6en1/+np9f/p6fX/6en1/+rq9f/p6fX/2trn/4WFjf86Oj3/Ojo9/zo6 + Pds6Oj1k+fn5AP7+/gD+/v4A/v7+AP7+/oD+/v7/urr4/4aG8v9SUu3/IiLo/xgY5/8lJej/MDDp/zk5 + 6v9GRuv/SUns/1FR7f9OTuz/AADe/wkJhv8SEkP/JCQ9/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8DAwP/BQUF/woKC/8TExT/HR0e/yYmKPMoKCqWExMUHhYWFwg6Oj0FdnZ8BsPD + zgfn5/QI4+PwCbCwugm7u8UK6en1Curq9gvs7PcM7u73De7u9w7t7fcP7Oz2EOvr9hHr6/YT7Oz2E+/v + 9xTy8vkW9vb7F/j4/Bj5+fwa+fn8O/n5/KT5+fz8+Pj8//f3+//19fr/8fH5/+3t9//r6/b/6ur1/+rq + 9f/q6vX/6en1/+jo9f/p6fX/6en1/+np9f/p6fX/6en1/+fn9P/d3en/19fj/9bW4v/U1OD/09Pf/9bW + 4v/V1eH/1NTg/9DQ3P/FxdH/tLS+/5eXoP9vb3b/QkJG/zo6Pf86Oj32Ojo92Do6PaQ6Oj2FOjo9iDo6 + PY10dHqQt7fBlM7O2Zjb2+ib4uLvoObm86Pn5/So5ubzq4WFja86Oj2zOjo9tzo6Pbo6Oj2+7+/4zezs + 98na2ufGw8POwbe3wb2np7G6qamztamps7Orq7WuqKiyq6amsKeGho2jOjo9n0NDR5uxsbqYxMTPk7u7 + xo7m5urL/v7+/8XF+f+YmPT/ZGTv/ysr6f8YGOf/GRno/xgY5/8VFef/FBTn/xYW5/8ZGej/Ghro/xoa + 6P8YGOf/GBjn/xkZ6P8aGuj/Gxvo/xoa6P8QEOf/AADh/wAA1P8AANH/AADU/wAA1P8AANX/AADY/wAA + 2f8BAc//Cwu6/x8fpf81NYv/RERv/0NDUP9AQED/QEBA/0BAQP9AQED/ICAg/wAAAPsBAQH0AwMD5gUF + Bs4KCguvDw8QiRcXGWQnJylEPz9CKmdnbRqWlp4SuLjCD8vL1g3T098M39/rC+np9Qrq6vYK6+v2Cevr + 9gjp6fYH4+PwBtXV4QPFxdBLsrK80Kamr/20tL7/1NTg/+fn9P/o6PX/5OTx/+Xl8v/j4+//4uLu/8TE + z/9qam//e3uC/+np9f/r6/b/6en1/8vL1v+amqL/bGxy/0hITP06Oj2xOjo9Lv7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAQAAAAcAAAARAAAAHgAAACwAAAA3AAAAOgAAADQAAAAnAAAAGQAAAA3IyM8Y8PD4efDw + +fjx8fn/8fH5/+/v+P/s7Pf/6ur2/+rq9v/q6vb/6ur2/+rq9v/q6vb/6ur2/9/f6/+KipL/Ojo9/zo6 + Pf86Oj3jOjo9cjo6PQL+/v4A/v7+AP7+/gD+/v6A/v7+/76++P+NjfP/WVnu/yQk6f8WFuf/JCTp/zAw + 6v86Ouv/RETs/z096/8/P+v/IiLo/wAAwf8ICG//ERFA/yQkPf8/P0D/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BAQE/wUFBf8KCgv/ExMU/x0dHv8nJyn8Li4w3SgoKkAlJScOOjo9BlBQ + VQimprAI39/rCejo9QqioqsLlZWeDOjo9Qzs7PcM7+/4DvLy+Q7z8/oP8fH5Ee7u+BLt7fcT7Oz3FOzs + 9xXt7fcW8PD4GPPz+hn39/sa+Pj8G/n5/CD5+fxI+fn8xPn5/Pv5+fz/9/f8//T0+v/x8fn/7u73/+zs + 9//r6/b/6+v2/+rq9v/p6fb/6ur2/+rq9v/q6vb/6ur2/+rq9v/q6vb/6en1/+Li7v/Z2eX/1dXh/9PT + 3//U1OD/1NTg/9fX4//Z2eX/2dnl/9bW4v/Pz9r/ubnD/5CQmP9cXGH/Ojo9/zo6Pfo6Oj3hOjo9sDo6 + PZI6Oj2QOjo9k2hobpebm6OburrEn8/P26Pe3uqn4uLuq+Tk8a6oqLKzOjo9tjo6Pbo6Oj29Ojo9wvHx + +c/v7/jL6+v2yNjY48S2tr/ApKStvaiosbioqLG1qamysaamr66mpq+ppqavpjw8P6I6Oj2ehISLmsLC + zJbJydOf8fH24/7+/v/Fxfn/mZn1/2Zm8P8tLer/Fxfo/xkZ6P8ZGej/GBjo/xcX6P8WFuj/Fhbo/xoa + 6f8aGun/GRno/xkZ6P8bG+n/Gxvp/xsb6f8eHun/Gxvp/w0N5/8AAOH/AADV/wAA1P8AANX/AADV/wAA + 2P8AANj/AADM/wgIvf8WFq//JyeY/zIyeP8yMlb/MDA+/z8/QP9AQED/QEBA/wgICP0BAQH3AgIC7AQE + BdgJCQm7Dw8QmBkZGnMnJyhQOjo9NVtbYCGIiI8WpqavEb+/yQ/CwswOysrUDdra5gzq6vYL7e33C+7u + 9wrt7fcJ6ur2COTk7wfV1eAT0NDboczM1u/Cwsz/xcXQ/9nZ5P/l5fH/5eXx/+Li7f/j4+7/4uLt/+Pj + 7v/l5fH/dHR6/1lZXf/GxtD/6+v2/+fn8/++vsj/n5+n/4ODif9eXmPxQUFEhj4+QRP+/v4A/v7+AP7+ + /gD+/v4A/v7+AAAAAAIAAAAJAAAAFQAAACYAAAA3AAAARAAAAEcAAABAAAAAMAAAAB8AAAAQyMjPHu/v + 94jx8fn98fH5//Hx+f/v7/j/7Oz2/+vr9v/r6/b/6+v2/+vr9v/r6/b/6+v2/+vr9v/e3un/hoaN/zs7 + Pv86Oj3/Ojo96jo6PYA6Oj0H/v7+AP7+/gD+/v4A/v7+gP7+/v+9vfj/k5P0/11d7/8jI+n/EBDo/xIS + 6P8SEuj/EBDo/wsL5/8ODuf/Ghrp/yYm6v8AANb/CAh0/xERQP8kJD3/Pz9A/yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8HBwj/CgoL/xMTFP8dHR7/Jycp/y8vMvoyMjSNMDAyHDo6 + PQc6Oj0Ih4eOCczM1grq6vULoKCoDG9vdA22tr8N7Oz2De/v+A/x8fkP9PT6EPT0+hLy8vkT7u73FO3t + 9xbs7PYW7Oz2GO7u9xnx8fkb9PT6HPf3+x75+fwe+fn8JPn5/Fr5+fzW+fn8+vn5/P/39/v/9PT6//Dw + +P/t7ff/7Oz2/+vr9v/q6vX/6ur2/+vr9v/r6/b/6+v2/+vr9v/r6/b/6+v2/+vr9v/q6vX/5eXx/9nZ + 5P/T097/0tLd/9HR3P/S0t3/1NTf/9jY4//i4u3/6ur1/+rq9f/Z2eX/pqav/2lpbv86Oj3/Ojo9/To6 + Pe06Oj2+Ojo9nzo6PZdBQUSadHR6npubo6K5ucKmz8/Zqdra5q7j4+6xycnTtTo6Pbg6Oj28Ojo9wDo6 + PcTx8fnR8fH5zu7u+Mvi4u3GsbG6w5ycpL+jo6y7pqavuKensLSmpq+xpKStraKiqqlLS0+lOzs+oTw8 + P5+2tr+pxcXP1PX1+vv+/v7/xcX5/5mZ9f9nZ/D/Li7r/xgY6f8YGOn/GRnp/xkZ6f8ZGen/Fhbp/xQU + 6f8WFun/GBjp/xkZ6f8ZGen/Gxvq/xwc6v8dHer/Hx/q/x8f6v8aGun/CQno/wAA3v8AANb/AADV/wAA + 2f8AAOH/AADa/wAA0P8EBMX/DAy2/xQUoP8eHn//IyNY/yYmPf85OT//QEBA/yAgIP8BAQH6AgIC8QQE + BeEICAnIDg4OpxkZGoMnJylePz9CQF1dYiqBgYcbnp6mFbe3wBG3t8AQuLjBELe3wA/Fxc8O6ur2De7u + +Azw8PgL7e33Cuvr9gnk5PAI2dnkTNXV4N7W1uH+z8/a/83N1//T097/29vn/97e6f/g4Ov/4eHs/+Li + 7f/j4+7/5OTv/4aGjf87Oz7/cHB2/+np9f/ExM7/qKix/5aWnv+AgIf/cXF32WFhZlpVVVoE/v7+AP7+ + /gD+/v4A/v7+AP7+/gAAAAACAAAACQAAABYAAAAnAAAAOAAAAEYAAABJAAAAQgAAADEAAAAgAAAAEM3N + 1Cjv7/eX8vL5//Ly+f/y8vn/8PD4/+3t9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/3Nzo/5SU + m/9EREf/Ozs+/zs7PvE7Oz6POzs+Dv7+/gD+/v4A/v7+AP7+/oD+/v7/uLj4/4qK9P9gYPD/KCjr/xcX + 6f8cHOr/HBzq/xYW6f8QEOn/CQno/wgI6P8bG+r/AADV/wcHbP8QEDv/JCQ9/z8/QP8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/CgoK/wsLC/8TExT/HR0f/ygoKv8wMDP/NjY43TY2 + OUE7Oz4NOzs+CWtrcQuvr7gL5OTvDKiosQ1EREcOYmJnDuHh7A/q6vYQ7Oz3EfHx+RL09PoU8/P6FfDw + +Bbu7vgY7e33GOzs9xrt7fcb7+/4HfLy+R719fsg+Pj8Ifn5/CP5+f0k+fn9d/n5/d/5+fz8+Pj8//f3 + +//09Pr/8PD5/+7u+P/s7Pf/6+v3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+vr + 9v/p6fX/2dnl/8/P2v/Oztj/zMzW/8vL1f/JydP/1tbh/+vr9v/t7ff/7e33/+Hh7P+trbX/cnJ4/zw8 + P/87Oz7/Ozs+9js7Psw7Oz6pOzs+n0lJTaFzc3mlmZmhqbi4wazOztix2trmtMPDzbg7Oz67Ozs+vzs7 + PsM7Oz7H8vL51PHx+dDu7vjN6ur2ybW1vsWXl5/Cn5+nvqKiq7ukpK23pKSts6Ghqa+fn6esbW1zqDs7 + Pqg7Oz62gYGI4ZeXn//h4eb//v7+/8bG+f+cnPb/a2vx/zEx7P8ZGer/GBjq/xcX6v8YGOr/GRnq/xcX + 6v8WFur/Fxfq/xgY6v8WFur/Fhbq/xgY6v8ZGer/Ghrq/xsb6v8dHev/HBzr/xUV6v8EBOj/AADc/wAA + 1/8AAOP/BQXo/wAA4/8AANf/AADL/wMDvv8JCaj/ExOE/x8fXv8lJT7/PDw//zg4OP8FBQX8AgIC9gMD + A+cGBgbSDQ0NtRYWF5IkJCZtOjo9TF1dYjSIiI8kp6ewGra2wBWysrsTra22EqmpshGfn6cQpKStD8fH + 0Q7s7PcO7e33DOzs9wvq6vYL4+PuFtzc6K/c3Oj13t7p/9jY4//V1eD/09Pe/9PT3v/Y2OP/29vn/9/f + 6v/g4Ov/4ODr/+Pj7v+trbb/Ozs+/zs7Pv+kpK3/hoaN/3Nzef9iYmf/UFBU/15eYrdzc3k4/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4AAAAAAgAAAAgAAAATAAAAIQAAADAAAAA7AAAAPgAAADgAAAAqAAAAGwAA + AA3X194u8fH5pfLy+f/y8vn/8vL5//Dw+P/t7ff/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/6+v2/+Tk + 7/+ioqr/TExQ/zs7Pv87Oz72Ozs+njs7PhX+/v4A/v7+AP7+/gD+/v6A/v7+/7W1+P96evP/TEzv/yIi + 6/8eHuv/Kyvs/ysr7P8gIOv/Fhbq/w0N6f8EBOj/AQHo/wAAxP8GBlf/EBA7/yQkPf8/P0D/ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/w0NDv8LCwv/ExMU/x0dH/8oKCr/MDAz/zY2 + Of85OTyLOzs+IDs7PglSUlYLhoaNDcfH0Q6trbUPOzs+EDs7PhDV1eAR5OTwEubm8hPs7PcU8fH5FvLy + +hfw8PgY7u74Gezs9xrs7Pcc7Oz3He3t9x/v7/gg8vL6Ivb2+yT4+Pwm+fn8Jvn5/Sz5+f2V+fn95/n5 + /P74+Pz/9vb7//Pz+v/v7/j/7e33/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs + 9//s7Pf/6+v3/+np9f/Y2OP/y8vV/8TEzv++vsj/s7O8/7e3wP/R0dz/7Oz3/+3t9//s7Pf/2dnk/6ur + s/92dnz/V1dc/zs7Pv87Oz78Ozs+2js7PrQ7Oz6mT09TqHV1e6yZmaGvt7fAs8vL1be5ucO7SkpOvjs7 + PsI7Oz7FOzs+yfPz+dfy8vnT8PD40Ozs98y7u8TImJifxZyco8Gfn6e+oKCoup+fp7afn6eynZ2krpyc + o687Oz7COzs+7js7Pv9ubnP/zs7R//7+///IyPr/n5/2/29v8v82Nu7/HR3s/xkZ6/8YGOv/Fhbr/xcX + 6/8ZGev/Fhbr/xYW6/8XF+v/Fxfr/xkZ6/8YGOv/Fxfr/xgY6/8ZGev/HBzr/x0d7P8cHOv/EhLr/wAA + 6P8AAOH/DQ3q/xYW6/8MDOr/AADm/wAA1/8CAsX/CQmv/xgYjf8qKmj/OjpP/0RERP8VFRX+AQEB+AMD + A+4GBgbcCgoLwRMTFKAhISN8NTU3WlVVWT6AgIYrsbG5H83N1hnOztgWurrDFaqqshOfn6cTkJCWEoyM + kxGfn6cQ0tLcD+jo8w7q6vUM5OTuD+Hh60/i4uzv6ur1/+zs9v/p6fT/3t7o/9TU3v/S0tz/1dXf/9nZ + 5P/c3Of/3t7o/+Dg6v/g4Or/4eHr/0FBRP87Oz7/Ozs+/09PU/9EREf/Ozs+/zs7Pv07Oz6PcHB2Hf7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AAAAAAEAAAAGAAAADQAAABgAAAAjAAAAKwAAAC0AAAAoAAAAHgAA + ABMAAAAK5eXrNfLy+bHy8vn/8vL5//Ly+f/w8Pj/7e33/+3t9//t7ff/7e33/+3t9//t7ff/7Oz2/+zs + 9v/o6PP/rKy0/1VVWf87Oz7/Ozs++zs7Pqw7Oz4d/v7+AP7+/gD+/v4A/v7+gP7+/v+5ufn/dHTz/yoq + 7P8AAOP/EhLr/zg47v9AQO//Kyvt/xwc6/8QEOr/Bgbq/wAA6f8AAMf/BQVI/xAQPP8kJD3/Pz9A/yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8RERL/CwsL/xMTFP8dHR//KCgq/zAw + M/82Njn/Ojo93zs7Pko7Oz4POzs+DE9PUw6bm6IPubnCEDs7PhE7Oz4RpaWtEuDg6hTl5fAV6+v2Fu/v + +Bfw8PgZ7+/4Gu7u9xvt7fcc7Oz3Huzs9iDs7Pch7u73IvDw+CTz8/on9vb7Kfj4/Cr5+fwp+vr9Ovr6 + /ar6+v3x+fn8//j4/P/29vv/8vL5//Dw+P/u7vf/7e33/+3t9//t7ff/7e33/+3t9//t7ff/7e33/+3t + 9//t7ff/7e33/+3t9//s7Pb/5+fy/9PT3f/Cwsv/tra//6Wlrf+fn6b/qamx/9XV3//s7Pb/7Oz3/+vr + 9v/S0tz/rq62/5iYn/9wcHb/Ozs+/zs7Pv87Oz7oOzs+vzs7PqxVVVmud3d8spiYn7a2tr65qKiwvnBw + dcE7Oz7FOzs+yDs7Psz09PrY9PT61fLy+tLu7vjOxMTNypycpMebm6LDnZ2lwJ2dpbydnaW5nZ2ltJ2d + pbehoanSSkpN9Ts7Pv87Oz7/ampv/8XFyP/+/v//ysr6/6Gh9/9ycvP/Ojrv/yAg7f8aGuz/GBjs/xUV + 7P8TE+z/Fhbs/xUV7P8WFuz/GBjs/xcX7P8XF+z/GBjs/xoa7P8ZGez/Ghrs/xwc7P8dHez/Hx/t/xkZ + 7P8NDev/EBDr/xgY7P8aGuz/Fxfs/xAQ6/8AAOn/BQXN/xMTqv8pKYf/Pj5m/1JSVP82Njb/AQEB+wIC + AvIFBQXkCQkJzBEREa0bGx2KMTEzaEtLTklzc3gyoaGoJczM1R3b2+UZ29vmF8rK0xWysroUoaGpFJWV + nBOPj5YSoaGpEcHByhDV1d8P29vmDt3d6CPg4Oq75ubw/O3t9//u7vj/7e34/+jo8//Z2eP/1tbg/9XV + 3//Z2eP/2trl/93d6P/f3+n/39/p/+Hh6/9xcXb/Ozs+/zs7Pv87Oz7/Ozs+/zs7Pv87Oz7qOzs+YmRk + aQr+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAAAAABAAAABAAAAAgAAAAPAAAAFgAAABsAAAAcAAAAGQAA + ABMAAAAMAAAABurq8j/y8vq+8/P6//Pz+v/y8vr/8PD5/+7u+P/t7fj/7e34/+3t+P/t7fj/7e34/+3t + 9//t7ff/7Oz3/7S0vf9dXWL/Ozs+/zs7Pv87Oz65Ozs+KP7+/gD+/v4A/v7+AP7+/oD+/v7/vb35/39/ + 9P8cHOz/AACv/wAAqf8AANz/ExPs/w4O6/8ICOv/AgLq/wAA6v8AAOf/AADQ/wUFTP8QEDz/JCQ9/z8/ + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/EhIS/xQUFf8TExT/HR0f/ygo + Kv8wMDP/NjY5/zo6Pf87Oz6XOzs+KDs7Pgs7Oz4PZGRpELCwuBE7Oz4SOzs+ElxcYBO+vscU1dXfFt3d + 6Bft7fgY7u74Gu7u+Bvu7vgd7e33Hu3t9yDt7fch7e33I+3t+CTu7vgm8fH5KPT0+ir39/ws+fn8Lvn5 + /Sz6+v1Q+vr9u/r6/fn5+f3/+Pj8//b2+//z8/r/8PD5/+7u+P/u7vj/7u74/+7u+P/u7vj/7u74/+7u + +P/u7vj/7u74/+7u+P/u7vj/7e34/+3t9//l5e//zMzV/7m5wv+rq7P/np6m/6amrf/Bwcr/39/p/+zs + 9//s7Pf/5+fy/9HR2//S0tz/sLC4/3Bwdf9KSk3/Ozs+/zs7PvE7Oz7PQkJFtFxcYLR6eoC5m5uivJGR + mMBgYGXDOzs+xzs7Pso7Oz7O9PT62/T0+tjz8/rV8PD40c7O186goKfKnJyjxp6epcOfn6a/oaGouqKi + qcKlpazfrKyz95eXnf87Oz7/Ozs+/zs7Pv+5ubv//v7//87O+/+lpfj/d3f0/0BA8P8kJO7/HBzt/xsb + 7f8XF+3/ExPs/xMT7P8TE+z/ExPs/xQU7f8WFu3/Fxft/xgY7f8ZGe3/GRnt/xkZ7f8aGu3/HBzt/x0d + 7f8XF+3/EBDs/xkZ7f8aGu3/Gxvt/xsb7f8YGO3/Cgrs/w4Ozf8hIZ3/Nzd0/0pKWv9JSUn/CwsL/QIC + AvcDAwTqCQkJ1g4OD7oZGRqYKiosdUVFSFZqam8+mJidLMHBySHc3OUd5OTtG+Tk7RnZ2eMYxcXNFrCw + txalpasVpqatFLOzuxPFxc0S0NDZD9fX4Bjb2+Vi4+Ps9ezs9v/v7/j/8PD4/+/v+P/t7ff/4uLr/9nZ + 4v/X1+D/2dnj/9zc5v/f3+j/4ODp/+Dg6f/i4uv/wMDJ/zs7Pv87Oz7/Ozs+/zs7Pv87Oz7/Ozs+xTs7 + Pj5KSk0C/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AAAAAAIAAAAEAAAABwAAAAoAAAAMAAAADQAA + AAsAAAAIAAAABQAAAAPv7/ZH8/P6yvPz+v/z8/r/8/P6//Hx+f/u7vj/7u73/+7u9//u7vj/7u74/+7u + 9//u7vf/7u74/+3t9/+9vcX/Z2ds/zs7Pv87Oz7/Ozs+xDs7PjX+/v4A////AP7+/gD+/v6A/v7+/76+ + +v+Ghvb/Kiru/wAAqv8AAH3/AACf/wAAz/8AAOL/AADl/wAA5f8AAOf/AADl/wAAzv8HB2z/EBA8/yQk + Pv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/xISEv8iIiT/ExMU/x0d + H/8oKCr/MDAz/zY2Of86Oj3/Ozs+3Ts7Plw7Oz4UOzs+EDs7PhKBgYcTUlJVFDs7PhQ7Oz4VhYWLF5iY + nxixsbgZ29vlG+3t9xzu7vge7u73H+3t9yDt7fci7e33JO3t9ybt7fcn7u73KfDw+Cvy8vkt9fX7L/j4 + /DH5+fwz+vr9Nfr6/Wf6+v3J+vr9//r6/f/4+Pz/9vb7//Pz+v/w8Pn/7+/4/+/v+P/v7/j/7u74/+/v + +P/v7/j/7+/4/+/v+P/v7/j/7+/4/+7u+P/u7vj/7u73/+Dg6f/KytL/urrC/7Kyuf+ysrn/wsLK/9nZ + 4v/o6PL/7e33/+3t9//m5vD/7Oz2/9vb5f+urrX/goKI/11dYf9EREf+Ozs+9T8/QtxOTlG9ZmZruoGB + h796en/DTU1Qxjs7Pso7Oz7NOzs+0fX1+t719frb9PT62PLy+dTc3OXQp6etzaGhp8mfn6XGoaGowqWl + q86qqrDor6+2+bq6wf/Fxcz/PDw+/zw8Pv88PD7/np6f//7+///Q0Pv/rKz5/3x89f9ERPH/KCjv/x8f + 7v8cHO7/Ghru/xYW7v8TE+3/ExPt/xER7f8SEu3/FBTt/xYW7v8WFu7/FRXu/xUV7v8VFe7/Fhbu/xkZ + 7v8ZGe7/CQnt/xER7f8ZGe7/GRnu/xoa7v8ZGe7/FBTt/wkJ7P8cHMP/NTWU/0lJbP9VVVX/JiYm/gEB + AfkDAwPwBwcH3w0NDcYXFxinJiYohD09QGNhYWVIjIyRNLe3vijY2N8i5ubuH+Xl7R3l5e0c4uLqGtTU + 3BnCwskYuLi/F7u7whbJydAV0dHZE9XV3RLY2OA13t7nuefn8P/u7vf/8PD4//Hx+P/w8Pj/7+/4/+7u + 9//h4en/29vk/9nZ4v/c3OX/39/o/+Dg6P/f3+j/4uLq/+Li6v88PD7/PDw+/zw8Pv88PD7/PDw+/zw8 + Ppg8PD4lPDw+Af7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AAAAAAQAAAAIAAAACAAAAAwAA + AAMAAAADAAAAAgAAAAF6en0C8/P6UfT0+tb09Pr/9PT6//Pz+f/x8fj/7+/4/+/v9//v7/f/7+/3/+7u + 9//v7/f/7+/4/+/v+P/u7vf/xMTL/29vc/88PD7/PDw+/zw8Psw8PD5E////AP///wD+/v4A/v7+gP7+ + /v/AwPr/hob2/0JC8f8AAOD/AACo/wAAr/8AAM3/AADg/wAA5P8AAOT/AADm/wAA5f8AAM//CgqN/xAQ + PP8kJD7/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8SEhL/KSkr/xMT + FP8eHh//KSkq/zExM/83Nzn/Ozs9/zw8Pvk8PD6kPDw+Mzw8Pg48PD4UUFBTFW1tcRY8PD4XPDw+GG9v + cxmPj5Qar6+2G9jY4B3u7vce7+/4IO/v+CLv7/ci7u73JO3t9ibu7vco7u73Ke7u9yzv7/cu8PD4MPPz + +TL29vsz+Pj8Nvr6/Df6+v1A+/v9evv7/df6+v3/+vr8//j4/P/19fv/8/P5//Hx+P/w8Pj/8PD4/+/v + +P/v7/j/8PD4//Dw+P/w8Pj/8PD4//Dw+P/v7/j/7+/4/+/v+P/u7vf/29vk/8vL0v/AwMj/w8PK/83N + 1f/a2uP/5ubu/+7u9//u7vf/7u73/+/v9//u7vf/2dni/7u7wv+Tk5j/bGxw/1RUV/9KSk34TU1Q5Vtb + XslubnLCYmJmxjw8Psk8PD7NPDw+0Dw8PtT19fvg9fX73fT0+9ry8vrX5+fx07S0vNCnp67MpKSryqam + rdetrbTvs7O7/Ly8w//Gxs7/0NDZ/5CQlv88PD7/PDw+/52dnv/+/v7/ysr7/6qq+f9/f/b/Rkby/yYm + 8P8cHO//GRnv/xkZ7/8WFu//ExPu/xQU7v8TE+7/EhLu/xER7v8UFO7/FBTu/xQU7v8UFO7/ExPu/xYW + 7/8ZGe//EBDu/w0N7v8TE+7/Fhbv/xcX7/8XF+//FBTu/w8P7v8UFNn/Ly+w/0tLif9hYWv/Tk5O/wEB + AfsCAgP0BgYG5gsLC9AVFRa0IyMkkjc3OnBXV1tUfn6DPqiory/Ly9Mn3NzlI+Tk7SHj4+wg4+PsHuPj + 7Bze3ucb1dXeGtDQ2RnOztcY0tLbF9TU3RPW1t8i2dnjcuDg6fDs7Pb/7+/4//Dw+f/w8Pn/8PD5//Dw + +f/v7/j/7Oz2/9/f6P/c3Ob/3Nzm/9/f6P/f3+j/39/o/+Hh6v/f3+j/gICF/zw8Pv88PD7/PDw+/zw8 + PvU8PD5rPDw+FEJCRQOFhYsCxsbOAu3t9wHu7vgB7u74Af7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A9PT6BPPz+l7z8/rh9PT6//T0+v/z8/r/8fH5/+/v+P/v7/j/7+/4/+7u + +P/u7vj/7+/4/+/v+P/v7/j/7+/4/8vL1P93d3z/PDw+/zw8Pv88PD7TPDw+VP///wD///8A/v7+AP7+ + /oD+/v7/wMD7/4qK9v9ISPL/BATt/wAAvv8AALf/AADI/wAA1/8AAN7/AADi/wAA5P8AAOX/AADP/wkJ + i/8QEDz/JCQ+/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/EhIS/ykp + Kv8xMTP/Hh4f/ykpKv8xMTP/Nzc5/zs7Pf88PD7/PDw+3Tw8Pmo8PD4ZPDw+FDw8Phd3d3wYPDw+GTw8 + PhqFhYsbxMTMHdTU3R3l5e4f7u74Ie/v+CLv7/kk7+/5Je/v+Cfu7vgp7Oz2K+rq9Czt7fcu7u74MO/v + +DLx8fk18/P6Nvb2+zn5+fw7+vr9PPr6/U36+v2P+vr95fr6/f/5+f3/9/f8//X1+//y8vr/8fH5//Dw + +f/v7/n/7+/5/+/v+f/w8Pn/8PD5/+/v+f/w8Pn/7+/5/+/v+f/v7/n/7+/4/+3t9//d3eb/z8/Y/8vL + 1P/R0dr/3Nzm/+Xl7v/q6vT/7u74/+7u+P/v7/j/7+/4/+7u+P/k5O3/xcXN/52do/95eX7/ZGRo/1tb + XvtcXGDtZWVp1FNTV8o8PD7MPDw+0Dw8PtM8PD7W9fX74/X1++D19frd8/P62u/v+NbGxs3Ttra906+v + tuCwsLf0uLi//r+/xv/JydD/0tLa/9nZ4v/k5Oz/uLi//1ZWWf+dnZ7//v7+/8TE+/+fn/j/fHz2/0ND + 8v8kJPD/HBzw/xYW7/8WFu//FRXv/xMT7/8TE+//ExPv/xMT7/8SEu//FBTv/xQU7/8UFO//Fhbv/xYW + 7/8TE+//EBDv/xMT7/8TE+//FBTv/xYW7/8YGPD/FRXv/w4O7/8NDej/IyPA/0BAl/9dXXv/aWlp/xkZ + Gf0CAgL2BAQE6woKCtkSEhK/Hx8hnzIyNX5OTlFgc3N4R56eozfCwskt2triJ+Dg6CTj4+sk4+PrIuPj + 6yDl5e0f5OTsHebm7h3p6fIb5+fvGt3d5hjY2OAX2NjgQ93d5r3m5u7/7+/4//Dw+f/x8fn/8fH5//Hx + +f/x8fn/8fH5//Dw+P/r6/T/4eHp/93d5v/f3+f/3t7m/9/f5//g4Oj/29vk/8LCyf9gYGP/PDw+/zw8 + Pv88PD7aPDw+Qzw8Pgk8PD4GWFhbBb29xATw8PgD8PD4A/Dw+AOWlpwCSEhLAoCAhQHe3uYB5OTsAf7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+APX1+gn09Pps9PT66vT0+v/09Pr/8/P6//Hx+f/w8Pj/8PD4/+/v + +P/w8Pj/8PD4//Dw+P/w8Pj/8PD4/+/v+P/R0dn/gICF/zw8Pv88PD7/PDw+2jw8PmT+/v4A/v7+AP7+ + /gD+/v6A/v7+/8DA+/+Njff/UlLz/w8P7/8AAMf/AADD/wAAy/8AANP/AADa/wAA3/8AAOP/AADk/wAA + zv8JCYv/EBA9/yQkPv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/xIS + Ev8pKSr/S0tN/1tbXv8wMDL/MTEz/zc3Of87Oz3/PDw+/zw8Pvk8PD6yPDw+PDw8PhI8PD4ZVVVZGkhI + Sxs8PD4cfn6CHuDg6B/m5u4g6+v0Ie/v+CTw8Pgl8PD5J/Dw+Sjw8Pkq8PD4LO/v+C7u7vcv7Oz1Mevr + 9DPv7/g28PD4OPLy+Tn19fo89/f8Pvn5/UH6+v1C+/v9WPv7/aH7+/3x+vr9//n5/P/39/z/9fX7//Pz + +v/x8fn/8fH5//Dw+f/w8Pn/8PD5//Dw+f/w8Pn/8PD5//Dw+f/w8Pn/8PD5//Dw+P/w8Pj/7+/4/+fn + 7//a2uP/2Njg/93d5v/k5Oz/6Ojx/+7u9//v7/j/8PD4//Dw+f/w8Pn/8PD4/+zs9f/NzdX/qKiu/4mJ + jv91dXr/bGxw/2lpbfJOTlHcPDw+0zw8PtM8PD7WPDw+2fb2++X29vvi9fX63/T0+tzx8fjZ2Njg28zM + 0+fAwMb5vr7E/8XFy//KytH/0tLZ/9jY4P/f3+b/4eHo/9zc5P/c3OT/3Nzf//7+/v+9vfr/j4/4/2tr + 9v87O/P/IiLx/xkZ8f8UFPD/ExPw/xIS8P8REfD/ERHw/xER8P8QEPD/EhLw/xQU8P8UFPD/FBTw/xYW + 8P8WFvD/DAzw/wkJ8P8TE/D/FBTw/xQU8P8WFvD/Fhbw/xAQ8P8ICO3/GhrP/zY2pv9RUYH/bW1u/0BA + QP8CAgL5BAQE8AgICeAQEBDJHBwdrC8vMIxHR0pta2tvUpWVmT+7u8Iz0tLZLeHh6Cnh4egn4+PqJeTk + 6yTl5ewi5eXsIefn7h/u7vYe8PD4HfDw+Bzm5u0Y29vjKdra4oLh4ejv7Oz0//Hx+P/x8fn/8fH5//Hx + +f/y8vn/8vL5//Ly+f/y8vn/8fH4/+np8f/h4ej/4ODn/97e5v/e3ub/39/m/9bW3f+srLL/bGxw/zw8 + Pv88PD7/PDw+rTw8Pik8PD4GPDw+Bzw8PgdRUVQGn5+kBuPj6gXw8PgFxsbMBFFRVARmZmkD5ubtA+zs + 9ALw8PgC8PD4AfLy+QH09PoB9fX6AfX1+wH19foP9fX6fPX1+vH19fr/9fX6//T0+v/y8vn/8PD4//Dw + +P/w8Pj/8PD4//Hx+P/x8fj/8fH4//Hx+P/x8fj/2Njg/4mJjv88PD7/PDw+/zw8PuE8PD5zPDw+ATw8 + PgFNTVAB/v7+gP7+/v+/v/r/j4/4/11d9f8iIvH/AADZ/wAA0f8AAND/AADU/wAA2f8AAN3/AADg/wAA + 4v8AAM7/CQmI/xAQPf8kJD7/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQE + Bf8SEhL/KSkq/0lJS/9ubnL/kJCV/319gf83Nzn/Ozs9/zw8Pv88PD7/PDw+4Dw8Pnk8PD4cPDw+Gjw8 + PhxQUFMdPDw+HlxcXx/o6PAh8PD4IvDw+CTw8Pgm8fH4J/Hx+Cnx8fkq8fH5LPHx+S7x8fkw8fH4MfDw + +DTv7/c27e31OPDw+Dvx8fk88/P5Pvb2+0H4+PxD+vr9Rfv7/Uj7+/1i+/v9t/v7/fj6+v3/+fn8//f3 + +//19fr/8/P5//Ly+f/y8vn/8fH5//Hx+f/x8fn/8fH5//Hx+f/x8fn/8fH5//Hx+f/x8fj/8fH4//Hx + +P/w8Pj/6ury/+Dg5//e3ub/5OTr/+np8f/t7fX/7u72//Dw+P/x8fj/8vL5//Hx+f/x8fn/8PD4/9XV + 3P+xsbf/lpab/4aGiv95eX3/U1NW9jw8PuU8PD7bPDw+2Dw8Ptv29vvn9vb75Pb2++L09Prf8vL54ufn + 7u/i4un+19fe/9DQ1//S0tn/19ff/9zc5P/h4ej/7Oz0/+/v9//i4un/3Nzk/+7u8v/+/v7/tLT6/39/ + 9/9cXPX/MDDz/xgY8f8UFPH/EhLx/xER8f8QEPH/DQ3x/w4O8f8NDfH/DQ3x/xAQ8f8REfH/ERHx/xER + 8f8UFPH/ExPx/woK8f8NDfH/ExPx/xMT8f8TE/H/FRXx/xIS8f8MDPD/ERHc/yoqtf9ISJD/Y2N1/2Ji + Yv8ICAj7AwMD9AgICOYODg/SGhobtyoqLJlCQkV5X19jXYqKj0mvr7U6zs7UMtvb4i7j4+or5OTrKeLi + 6Sjk5Osm5eXsJebm7SPq6vIh8fH5IfHx+R/x8fkd6uryG+Li6U/g4OfE5ubt//Hx+f/y8vn/8vL5//Hx + +f/y8vn/8/P6//Pz+v/z8/r/8/P6//Ly+v/x8fn/5+fu/+Li6f/i4un/4uLp/+Hh6P/X197/p6et/2Bg + ZP88PD7/PDw+/Tw8Pnk8PD4aPDw+Bzw8Pgk8PD4ISkpMCHNzdwikpKkHxsbMB8rK0QdZWVwGSUlLBru7 + wQXt7fUF8fH5BPHx+QTt7fUD39/mA+rq8gLy8voD8/P6FvT0+ov09Pr29PT6//T0+v/z8/r/7e31/9HR + 2P/f3+b/8fH5//Hx+f/y8vn/8vL5//Ly+f/y8vn/8vL5/+Dg5/+UlJn/PDw+/zw8Pv88PD7oPDw+gzw8 + PgM8PD4DRkZIA/39/YH+/v7/vr77/42N+P9lZfb/MTHz/wAA7f8AAOH/AADZ/wAA2P8AANj/AADc/wAA + 3v8AAOH/AADN/wkJh/8QED3/JCQ+/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8FBQX/ExMT/ywsLf9OTlH/cnJ2/5SUmv+pqa//mZmf/2FhZf88PD7/PDw+/zw8Pvo8PD68PDw+QTw8 + Phg8PD4ePDw+Hzw8PiA8PD4hurrAJPHx+STx8fkm8fH5KN3d5Cqpqa8sj4+TLZuboC+qqrAxt7e9M8HB + xzTGxs03y8vSOdDQ1zvS0tk+0tLZP/Hx+UL09PpE9/f7R/n5/En6+v1L+/v9T/v7/W37+/3Q+/v9+/r6 + /f/5+f3/9/f8//X1+//09Pr/8/P6//Ly+v/y8vr/8vL6//Ly+v/y8vr/8vL6//Ly+v/y8vn/8vL5//Ly + +f/y8vn/8vL5//Hx+f/t7fX/5eXs/+Pj6v/o6O//6ury/+np8f/t7fX/8vL5//Pz+v/z8/r/8/P6//Ly + +v/x8fn/19fe/7i4vv+kpKn/lZWa/2VlaP88PD76PDw+7Tw8PuE8PD7e9vb76fb2++b29vvk9fX76PLy + +vTx8fn/8fH5/+3t9f/j4+r/3Nzk/93d5P/g4Of/6Ojw//Ly+f/y8vn/8fH5/+fn7v/v7/L//f3+/6ys + +v96evf/WVn2/ysr8/8SEvL/Dg7y/w0N8v8NDfL/DQ3y/w0N8v8ODvL/DAzy/w0N8v8NDfL/Dw/y/w8P + 8v8QEPL/EBDy/w0N8v8PD/L/EBDy/xIS8v8SEvL/ExPy/xMT8v8PD/L/Cwvr/yAgxP88PJz/WVl9/2xs + bP8oKCj8AwMD9QcHCOoMDA3YFxcYwCYmJ6M+PkCFWlpdaX9/g1Knp61CxcXMONbW3jPc3OQw3t7lLuHh + 6Czi4ukr4uLpKeTk6yfo6PAl8PD4JPHx+SPx8fki8PD4Huvr8y7o6PCR6enx8e3t9f/x8fn/8vL5//Hx + +f/v7/f/8vL6//Pz+v/z8/r/8/P6//Pz+v/z8/r/8vL5//Dw+P/l5ez/4uLp/+Li6f/j4+r/3Nzk/6am + rP9fX2P/PDw+/zw8Pu48PD5KPDw+EDw8PgphYWUKmZmeCqWlqwmpqa8Jubm/CcvL0gnf3+YJcHB0CDw8 + Pgg8PD4HPDw+Bzw8Pgc8PD4GPDw+BmJiZgaRkZUFvr7EA9/f5h7w8Pia8fH5/PLy+f/y8vn/8fH5/8/P + 1v+hoab/tra8/+3t9f/x8fn/8vL5//Ly+f/y8vn/8vL5//Ly+f/l5ez/np6j/0RERv88PD7/PDw+7jw8 + PpQ8PD4HPDw+BTw8PgX8/PyC/v7+/729+/+Njfj/Y2P3/zQ09P8ODvL/AADx/wAA5f8AANz/AADa/wAA + 3f8AAOD/AADj/wAAzv8JCYj/EBA9/yQkPv8/P0D/IiIi/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CQkJ/xgYGf8xMTP/VFRX/39/g/+hoaX/tLS5/7Cwtf+IiI3/PT0//zw8Pv88PD7/PDw+5Tw8 + Pog8PD4fPDw+IDw8PiE8PD4jPDw+JDw8PiY8PD4nPDw+KDw8Pis8PD4sPDw+Ljw8Pi88PD4xTU1PNF9f + YzZzc3c3h4eMOZycoTy1tbs+tbW7QJycoUK9vcNE8vL5R/X1+0n39/xM+fn8T/r6/VD7+/1U+/v9evv7 + /eP7+/39+vr9//n5/P/39/v/9fX7//Pz+v/y8vr/8vL5//Ly+f/y8vr/8vL6//Ly+v/y8vr/8vL6//Ly + +f/y8vn/8vL5//Ly+f/y8vn/8fH5//Dw+P/m5u3/6Ojv/+rq8v/l5ez/6Ojw//Ly+v/z8/r/8/P6//Pz + +v/z8/r/8vL6//Hx+f/Y2OD/wMDG/6+vtf95eX3/PDw+/zw8Pv08PD7zPDw+5/f3++z29vvp9vb77vX1 + +/r09Pr/8/P5//Pz+f/z8/n/8vL5/+fn7f/e3uT/2Njf/+bm7P/z8/r/8/P6//Pz+v/y8vn/9PT3//39 + /v+vr/v/gYH4/11d9/8uLvT/FRXz/w0N8/8ICPL/Cgrz/wkJ8v8LC/P/DAzz/wwM8/8NDfP/DAzz/w0N + 8/8ODvP/Cgrz/wIC8v8MDPP/EBDz/xMT8/8TE/P/EhLz/xAQ8/8ODvP/Bwfy/xgY1f8xMan/Tk6H/2xs + cf9QUFD8BQUG8AkJCegNDQ3aFhYXxiQkJaw5OTuPVVVYdHZ2elyenqNKwMDGPtLS1zjd3eQ129viM9vb + 4jHd3eQv4eHnLuPj6Szk5Ooq6urxKPLy+Sby8vkm8vL5JO7u9R7r6/Jc7u71zvLy+f/y8vn/8/P5//Pz + +f/o6O7/3t7k//Ly+f/z8/n/8/P5//T0+v/09Pr/9PT6//T0+v/z8/n/6urx/+Dg5v/X197/2dng/9bW + 3f+enqL/X19i/z09Pv49PT7LPT0+Kj09Pgw/P0AM9PT1Z/f394XY2Nkq2dngCvLy+Qrz8/oK8/P6Ctra + 4QptbXAJPT0+CT09Pgk9PT4IPT0+CGJiZQinp6wI4ODmCPPz+QT09Pon9PT6qfT0+v/09Pr/9PT6//Pz + +v/e3uT/oKCl/5OTl/+7u8D/6+vy//Pz+f/z8/n/8/P5//Pz+f/z8/n/6+vy/6mprv9OTlD/PT0+/z09 + PvM9PT6jPT0+Dz09PgY9PT4H+vr6hP7+/v++vvz/jo75/2Fh9/8xMfT/Fhbz/w8P8/8BAfL/AADl/wAA + 3/8AAN3/AADg/wAA4/8AAM3/CQmG/xAQPf8kJD7/Pz9A/ygoKP8PDw//Dw8P/w8PD/8ODg//Dg4P/w4O + D/8ODg7/Dw8P/xQUFP8kJCX/Pz9B/2BgY/+JiY3/sLC1/8TEyf/Dw8n/pqar/2Zmaf89PT7/PT0+/z09 + Pv09PT7NPT0+Qz09Ph49PT4kQ0NFJj09Pic9PT4pPT0+Kj09Piw9PT4uTU1PL2VlaDFvb3Iye3t/NYiI + jDeTk5c5np6jOqqqrz22trs/z8/VQcbGzESZmZ1FkJCUSMHBxkvz8/pN9vb7T/j4/FL6+vxV+/v9V/v7 + /Vb7+/2T+/v97Pv7/f/6+v3/+fn8//f3+//19fv/9PT6//Pz+v/z8/n/8/P5//Pz+v/z8/r/8/P6//Pz + +f/z8/n/8/P5//Pz+f/z8/n/8/P5//Pz+f/y8vn/7+/2/+np7//q6vH/3d3k/9vb4v/y8vn/8/P5//Pz + +f/09Pr/9PT6//T0+v/z8/r/8vL5/9fX3v/Dw8j/hYWJ/z4+P/89PT7/PT0+/z09Pvn39/zu9/f79fb2 + +/329vv/9PT6//Pz+v/09Pr/9PT7//T0+v/z8/r/3t7k/8fHzf/w8Pf/9PT7//T0+//09Pv/9PT6//n5 + /P/+/v7/t7f7/4eH+f9dXfj/MTH1/x0d9P8WFvT/DQ30/wgI8/8FBfP/CAjz/wcH8/8ICPP/Cgrz/woK + 8/8MDPT/DAz0/wEB8/8HB/P/DAz0/w8P9P8SEvT/ExP0/xER9P8NDfT/CAjz/w8P5P8nJ7z/RESU/2Bg + eP9paWn/GRkZ5w0NDt8SEhLVGhoaxiYmJ7E3NzmXUVFUfXFxdGaUlJlTtLS6RczM0z7b2+A53t7kN97e + 5DXc3OIz29vhMd7e5DDk5Oou5+ftLO/v9irz8/op8/P6KPLy+STu7vUw7u71ofPz+vP09Pr/9PT6//T0 + +v/z8/r/3t7k/9vb4f/l5ev/6enw//Dw9//z8/r/9PT6//X1+//19fv/9PT7//Pz+v/e3uT/xMTK/9vb + 4f/IyM7/i4uP/1hYWv89PT/8PT0/kD09Pxk9PT8MSUlLDfn5+ZX9/f3D8vLzOcHBxwvs7PMK9fX7Cvb2 + +wr29vsK9vb7CvT0+gr09PoJ8/P6CfPz+gn09PsI9vb7CPf3/Aj39/wE9/f8M/f3/Lb39/z/9/f8//f3 + +//19fv/8vL5/8LCyP+Wlpr/jo6S/7+/xP/z8/r/9PT6//T0+v/09Pr/9PT6//Hx+P+zs7j/Wlpc/z09 + P/89PT/3PT0/sD09Pxc9PT8GPT0/CPr6+oT+/v7/vb38/42N+v9dXfj/Li71/xoa9P8ZGfT/Dg70/wAA + 8f8AAOT/AADh/wAA4f8AAOT/AADN/wkJhv8QED7/JCQ+/z8/QP8yMjL+JSUm/yUlJv8lJSb/JSUl/yUl + Jf8kJCX/JCQl/yMjJP8lJSb/Ozs9/1RUV/90dHf/mZmd/7y8wP/V1dv/2trg/7+/xf+JiY3/Pj5A/z09 + P/89PT//PT0/7T09P5Y9PT8gPT0/JoeHiyjIyM4pyMjOK/Pz+iz09Pou8/P6MO/v9jLi4ug019feNdXV + 2zfV1dw51tbdO9bW3TzY2N8/2NjfQtvb4UTd3eNGurq/SI6OkkuLi49NxsbMUPX1+1L39/xV+fn8V/r6 + /Vr7+/1d+/v9X/z8/qv7+/7v+/v9//r6/f/5+fz/9/f8//b2+//19fv/9PT6//T0+v/09Pr/9PT6//T0 + +v/09Pr/9PT6//T0+v/09Pr/9PT6//T0+v/09Pr/9PT6//Pz+v/v7/b/6urx/9jY3//b2+H/5eXr/+np + 8P/w8Pf/8/P6//T0+v/19fv/9fX7//T0+v/v7/b/0NDW/4SEiP9TU1X/PT0//z09P/89PT//+Pj8+fj4 + /P74+Pz/9/f7//X1+//09Pr/9fX6//X1+//19fv/9fX6/+Dg5f/i4uf/9fX6//X1+//19fv/9fX7//X1 + +//6+vz//v7+/7u7/P+Kivr/Xl74/zEx9v8hIfX/Hx/1/xkZ9f8QEPX/Cgr0/wcH9P8EBPT/Bgb0/wcH + 9P8JCfT/CQn0/wcH9P8JCfT/Cwv0/wsL9P8LC/T/DQ31/xAQ9f8PD/X/Cgr0/wkJ7f8cHMv/OTmh/1VV + gf9ubm7/Pj4+6BMTE80bGxzIICAhvSwsLa48PD2bUlJUhG9vc22RkZVcsbG2TsrKz0XW1tw/3NzhPN3d + 4jve3uM439/kNtzc4TTc3OEz4+PoMerq8DD09Pot9PT6LPT0+ivv7/Uj7e3zafDw9tX09Pr/9fX6//X1 + +//19fr/9PT6//T0+v/09Pr/9PT6//T0+v/09Pr/9PT6//T0+v/19fr/9fX7//X1+//19fr/39/k/9vb + 4f/k5On/t7e7/3p6ff9MTE3/PT0/9T09P1c9PT8VPT0/DlpaXA6Dg4YOoKCkDZ2doQ2WlpoMubm9DPX1 + +gz29vsM9/f7C/X1+wv09PoL9fX6CvX1+gr19foK9vb7Cvj4/Ar4+PwK+Pj8BPj4/D74+Py/+Pj8//j4 + /P/39/v/9fX7/+7u9P/l5er/wsLH/4yMj/+Pj5L/09PZ//X1+v/19fr/9fX6//X1+v/09Pr/vr7D/2Rk + Zv89PT//PT0/+j09P709PT8hPT0/Bj09Pwn5+fmF/v7+/76+/P+Ojvr/XV34/ysr9v8cHPX/Hh71/xoa + 9f8NDfX/AADw/wAA5v8AAOL/AADk/wAAzP8JCYf/EBA+/yQkP/8/P0D/QEBA/EZGRv9GRkb/RUVG/0VF + Rv9EREb/RERG/0VFR/9BQUL/SEhJ/1xcXv9xcXT/jY2R/62tsf/Jyc7/3t7i/+rq8P/d3eL/q6uv/2Rk + Zv89PT//PT0//z09P/w9PT/YPT0/Sj09PydmZmkqaWlsLKOjpy7h4eYv9PT6MfX1+jP19fo19PT6N+rq + 8Djf3+Q62NjePdXV2z/W1txA2NjeQ9jY3kXZ2d9H2trgStvb4Uy5ub1OhYWIUY2NkFPc3OFW9vb7Wfj4 + /Fz5+fxe+/v9Yfv7/WL8/P1x/Pz+vfz8/fL7+/3/+vr9//n5/P/39/z/9vb7//X1+//19fr/9fX6//X1 + +v/19fr/9fX6//X1+v/19fr/9fX6//X1+v/09Pr/9fX6//X1+v/19fr/9PT6/+/v9f/09Pr/9PT6//T0 + +v/09Pr/9PT6//T0+v/09Pr/9fX6//X1+//19fv/9fX6/9vb4f+oqK3/bW1w/z09P/89PT//PT0///n5 + /P/5+fz/+fn8//j4/P/29vv/9PT6//X1+v/19fv/9vb7//X1+v/i4uf/9fX6//X1+v/19fv/9fX7//X1 + +//19fv/+vr9//7+/v++vvz/jo76/2Bg+f8vL/f/ICD2/yIi9v8kJPb/Hx/2/xYW9v8QEPb/CQn1/wcH + 9f8EBPX/Bgb1/wQE9f8EBPX/Bwf1/woK9f8MDPX/DQ32/xAQ9v8QEPb/DQ32/wYG9P8VFdj/Li6v/0tL + i/9paXT/X19f8hEREbUXFxeyJycoqzo6PKJJSUuVW1tehHR0d3ORkZRhsLC0VMfHzEvV1dtF2trgQdvb + 4T/c3OE+3NzhO97e4znd3eI33NzhNuTk6TTs7PIz9PT6MPT0+i7x8fcr7u70OvDw9q709Pry9fX6//X1 + +v/19fv/9fX6//T0+v/19fr/9fX7//X1+v/19fr/9fX6//X1+v/19fr/9fX6//X1+//29vv/9fX6/+Dg + 5f/09Pr/39/k/6SkqP9sbG//QUFD/D09P9w9PT8wPT0/ElZWWBF4eHsQlZWZEJycoA+QkJMPd3d6Dn19 + gA61tbkO9fX7Dff3+w309PoN9PT6DfT0+gz09PoM9fX6DPf3+wv4+PwL+Pj8C/j4/AX4+PxK+Pj8yfj4 + /P/4+Pz/9/f7//X1+v/q6vD/4+Po/+Xl6v+qqq//gICD/5eXm//W1tz/9fX6//X1+v/19fv/9fX6/8vL + 0P9wcHP/PT0//z09P/49PT/KPT0/LT09PwY9PT8L+fn5hf7+/v++vvz/jY36/1hY+f8oKPf/HR32/x4e + 9v8fH/b/Ghr2/woK9f8AAO7/AADm/wAA5f8AAMz/CQmF/xAQPv8kJD//Pz9A/1JSU/ZxcXL/cXFy/3Bw + cv9vb3L/b29x/29vcf9ubnH/aGhq/3d3ev+Dg4X/lJSY/6qqrv/Cwsf/1tbc/+bm6//v7/T/8/P5/9LS + 1/+MjI//PT0//z09P/89PT//PT0/8z09P6E9PT8xPT0/LT09Py92dnkxwcHGMu3t8zT19fo29fX6OPX1 + +jr09Po78fH3PeTk6UDX191C1NTaQ9XV20bW1txI1dXbStfX3U3Z2d9P29vhUqKiplR6en1XlJSYWeLi + 51z29vte+Pj8Yfr6/WT7+/1m+/v9aPz8/YT8/P3L/Pz9+Pv7/f/6+v3/+fn8//f3+//29vv/9fX7//X1 + +v/19fr/9fX6//X1+v/19fr/9fX6//X1+v/19fr/9fX6//X1+v/19fr/9fX6//T0+v/x8ff/9fX6//X1 + +//19fr/9fX6//X1+v/19fr/9fX6//X1+v/19fv/9vb7//X1+v/g4OX/zc3S/3p6ff89PT//PT0//z09 + P//5+f3/+fn9//n5/f/5+f3/9/f8//b2+//29vv/9vb7//f3/P/09Pr/3Nzh//b2+//29vv/9vb7//b2 + +//29vv/9vb7//r6/f/+/v7/v7/8/4aG+/86Ovj/AADN/wAAnf8AAKv/AAC5/wAAx/8AAND/AADX/wAA + 2/8AAOD/AADe/wAA0v8AAOT/BQX2/wcH9v8KCvb/DQ32/w8P9/8QEPf/EBD3/woK9v8ODuf/JCS//0FB + l/9eXnz/a2tr/09PT7QsLCyZICAhljAwMpBZWVuIcXF0foaGiXGenqFltra6WsvLz1LZ2d5L29vfSNzc + 4UXd3eJC3NzhQdvb4D/e3uM939/kO+Dg5Tnn5+w38/P5NvX1+zTz8/kx7u70LO7u9HTy8vje9fX7/vb2 + +//29vv/9vb8//X1+//19fv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9/f8//T0 + +v/Z2d7/9fX7/9HR1/+RkZX/Xl5g/z09P/Y9PT+vPT0/G0dHSRNubnETm5ueErW1uRKrq68RkpKWEX19 + gBB1dXgQnJyfEPb2+w/39/wP9fX7D/X1+w719fsO9fX7Dvb2+w739/wN+fn8Dfn5/Q35+f0H+fn8WPn5 + /NP4+Pz/+Pj8//j4/P/29vv/6Ojt/+Hh5v/j4+j/19fc/6SkqP+CgoX/qamt//X1+//29vv/9vb8//b2 + +//a2t//gYGE/z09P/89PT//PT0/1D09Pz09PT8GPT0/Dfj4+Ib+/v7/vr78/42N+/9WVvn/Jyf3/x8f + 9/8eHvf/Hx/3/x8f9/8WFvf/BAT2/wAA6/8AAOf/AADP/wkJiP8QED7/JCQ//z8/QP9jY2Ppn5+h+6Cg + ov+goKL/n5+h/56eof+enqH/nJyg/46Okv+kpKf/ra2w/7i4vP/Hx8v/1tbb/+Tk6P/s7PH/8/P4//X1 + +v/z8/n/vb3C/2RkZv89PT//PT0//z09P/09PT/jPT0/Wj09PzI9PT8yS0tNNJ+fozXc3OE39fX7Ofb2 + +zv29vs99vb7Pvb2+0H19ftD6enuRdra30fU1NpK1tbcTNTU2k7V1dtR1tbcU9nZ3lXPz9RYm5ueW3x8 + f12pqa1g9vb7Y/j4/GX5+f1o+vr9avv7/m38/P5x/Pz+lfz8/tf8/P78+/v9//r6/f/5+f3/+Pj8//f3 + /P/29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//b2+//09Pr/9fX7//b2 + +//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//f3/P/09Pr/3Nzh/9zc4f9+foH/PT0//z09 + P/89PT//+vr9//r6/f/6+v3/+vr9//j4/P/39/v/9/f7//f3+//39/v/4+Pn/+zs8f/39/v/9/f7//f3 + +//39/v/9/f7//f3+//e3uD/ra2t/1VVlf8hIYL/Bwds/wAAQv8AAD7/AABC/wAAVv8AAGr/AAB//wAA + lv8AAKr/AADE/wAAw/8AAKP/AAC6/wAA8v8ICPb/Cgr2/wwM9v8NDfb/DQ32/wsL9v8JCe//HR3Q/zg4 + pv9VVYT/cXFx/2hoacxkZGaHYGBihDw8PoE1NTZ8WlpcdpOTl3Czs7dnxMTIX9PT2Fje3uNT5OToTuPj + 50vh4eVJ3d3hRtvb30Xa2t5D29vfQN7e4j7j4+c96urvO/X1+jn29vs28PD1NOzs8UHv7/S99vb79fb2 + +//39/v/9/f7//f3+//29vv/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3 + +//i4ub/5+fr//Pz+P++vsL/fn6B/1BQUv8+Pj/uPj4/dD4+PxVSUlQVf3+CFbe3uxTU1NkUx8fLE6mp + rBOTk5YSkJCTEr6+whL39/sS9vb7Efb2+xH29vsQ9vb7EPb2+w/39/sP+Pj8D/n5/Q/6+v0P+vr9C/n5 + /Wb5+f3c+fn9//n5/P/4+Pz/9vb7/+bm6v/g4OT/4eHl/+Pj5//a2t7/m5ue/4uLjv/ExMj/9/f7//f3 + /P/39/z/6urv/5KSlf8+Pj//Pj4//z4+P9s+Pj9OPj4/Bz4+Pw/29vaH/v7+/8HB/f+Skvv/WVn5/zAw + +P8gIPf/Hh73/x8f9/8iIvf/Hx/3/xAQ9/8AAPX/AADp/wAAz/8JCYj/EBA+/yQkP/8/P0D/ampr1MLC + w+7Gxsf/xsbH/8XFx//Dw8f/w8PH/7W1uP+8vMD/yMjL/83N0f/U1Nj/3d3g/+fn6v/t7fH/8vL2//b2 + +v/39/v/9vb7/+fn6/+hoaT/QEBB/z4+P/8+Pj//Pj4/+z4+P6Y+Pj9CPj4/NT4+Pzd5eXs4xMTIO+7u + 8z329vs/9/f7Qff3+0L39/tE9/f7R/b2+0nu7vNL4ODkTdjY3E/U1NlS1dXaVNXV2lbX19xZ2treXNLS + 11+UlJdhhoaJZMbGymf39/xp+fn8bPr6/W/7+/1y/Pz+dPz8/nz8/P6i/Pz+4/z8/v/7+/3/+vr9//n5 + /P/4+Pz/9/f8//f3+//39/v/9/f7//f3+//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/8vL3//f3 + +//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/4+Pn/+zs8f/f3+P/fn6B/z4+ + P/8+Pj//Pj4///r6/f/6+v3/+vr9//r6/f/4+Pz/9/f8//j4/P/39/v/9vb7/+Tk6P/29vv/9/f7//f3 + +//39/v/9/f7//f3+//39/v/4eHj/7e3t/9ZWZ3/JSWS/woKlP8AAIP/AAB8/wAAiP8AAJX/AACh/wAA + rf8AALn/AADF/wAA3v8AANT/AACk/wAAlv8AAL//AADw/woK9/8NDff/DQ33/woK9/8GBvb/FRXe/zAw + t/9MTJD/aWl2/21tbe97e36Df3+BeYSEhnVvb3FzVlZYb1tbXWuRkZRn3NzgYObm6lvt7fJX8fH2VO3t + 8lDn5+tO4+PnTN/f40nd3eFI2treRtjY3EPc3OBB5OToQO7u8z7z8/g88vL3Oe7u8zfs7PF78vL36Pb2 + +//39/v/9/f7//f3+//09Pn/9vb7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/z/+Pj8//f3 + +//29vv/4uLm//b2+//n5+v/q6uu/25ucP9EREX+Pj4/3T4+P0E+Pj8XYWFjF5OTlhfJyc0W5ubqFt7e + 4hXHx8sUrq6xFKOjphPb298T9vb7E/T0+RL19foS9vb7Evb2+xH29vsR9/f7Efj4/BD5+fwQ+vr9EPn5 + /Q/5+f12+vr95Pr6/f/5+f3/+Pj8//b2+//j4+f/29vf/9zc4P/d3eH/4eHl/8XFyf+jo6b/paWo/+Hh + 5f/4+Pz/+Pj8//b2+/+np6r/R0dJ/z4+P/8+Pj/gPj4/YD4+Pwk+Pj8Q9fX1iP7+/v/Ly/3/mJj7/1ZW + +v8kJPj/ExP4/xUV+P8fH/j/JCT4/yUl+P8fH/j/DQ33/wAA7/8AAM3/CAh8/xAQPv8kJD//Pz9A/2lp + abrd3d/c4uLj/+Li5P/h4eP/4ODi/97e4f/Pz9P/3t7i/+Hh5P/k5Of/6Ojr/+zs8P/w8PT/8/P3//X1 + +f/39/v/9/f7//f3+//29vv/09PY/4WFiP8+Pj//Pj4//z4+P/8+Pj/oPj4/az4+Pz4+Pj85SkpMO56e + oT3b298/9vb7Qvb2+0T39/tF9/f7R/f3+0r39/tM9vb7TfLy91Dh4eVT19fcVdLS11jQ0NVa0tLXXNTU + 2V/a2t5ivr7CZJycn2ehoaRq6Ojsbfn5/G/6+v1x+vr9dfv7/Xj8/P56/Pz+h/z8/rP8/P7u/Pz9//v7 + /f/6+v3/+fn8//j4/P/39/v/9/f7//f3+//39/v/9vb7//b2+//29vv/9vb7//f3+//29vv/6urv//b2 + +//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f8//j4/P/39/v/9vb7/+Tk6P/29vv/4ODk/35+ + gf8+Pj//Pj4//z4+P//6+v3/+/v9//v7/f/6+v3/+fn8//j4/P/4+Pz/+Pj7/+7u8v/s7PD/+Pj7//j4 + +//4+Pv/+Pj7//j4+//4+Pv/+Pj7//v7/f/+/v//yMj9/5yc/P9dXfr/EBD4/wAA5v8AAOP/AADl/wAA + 5v8AAOX/AADm/wAA5v8AAOj/AADq/wAAxv8AAJn/AACR/wAAw/8KCvj/DQ34/w0N+P8JCfj/Dg7p/yYm + xP9ERJ7/Y2OC/3Fxcf+BgYOZjo6RdYmJi3OJiYtwlZWXbJGRlGl5eXplenp8Y9TU2F729vlc9fX5Wvj4 + +1f39/tU7u7yUujo61Dk5OdN39/iTNzc30nc3N9H3t7hRejo60Px8fVB8/P3P/Dw9D3v7/NK8PD0yfb2 + +vn39/v/+Pj7//j4+//39/v/9/f7//j4+//4+Pv/+Pj7//j4+//4+Pv/+Pj7//j4+//4+Pv/+Pj8//j4 + /P/4+Pv/7u7y/+np7f/29vr/19fb/5mZnP9iYmP/Pj4/9z4+P74+Pj8jRUVGGnBwchqoqKoZ2dncGO3t + 8Rjt7fEX4+PmF87O0ha9vcAV6OjsFff3+xXz8/cU8/P3FPT0+BT39/sT9/f7E/j4+xP5+fwS+vr8Evr6 + /RH6+v0V+vr9hPr6/ez6+v3/+vr9//n5/P/4+Pv/5OTn/9jY3P/V1dn/z8/T/83N0f/Z2dz/09PX/7a2 + uf+zs7b/+Pj7//r6/P/5+fz/xcXI/1lZW/8+Pj//Pj4/5D4+P3I+Pj8KPj4/Eu3t7Wv+/v7/1dX9/6Cg + /P9bW/r/Gxv4/wYG8/8AAPf/Cgr4/xYW+f8hIfn/IiL5/xoa+f8EBPj/AADK/wcHbf8REUL/JCQ//z8/ + QP9iYmOj8fHywfT09v709Pb/9PT1//Ly9f/w8PP/6Ojs//Hx9P/x8fT/8vL1//T09//19fj/9vb5//f3 + +v/4+Pv/+Pj7//j4+//4+Pv/+Pj7//b2+v/Fxcj/bW1v/z4+P/8+Pj//Pj4//z4+P60+Pj9RPj4/PD4+ + Pz52dnhBvr7BQ+np7UX39/tH9/f7Sff3+0v39/tO+Pj7UPj4+1L39/tU9fX5VuXl6FnV1dlczc3RXsrK + zmDHx8pjxsbJZtTU2GjNzdFrsLCzbrOztnD4+Px0+/v9dvv7/Xn7+/18/Pz9f/z8/oH8/P6Q/Pz+wvz8 + /vf8/P3/+/v9//r6/f/5+fz/+Pj8//j4+//4+Pv/+Pj7//f3+//39/v/9/f7//f3+//39/v/9vb6//Pz + 9//4+Pv/+Pj7//j4+//4+Pv/+Pj7//j4+//4+Pv/+Pj7//j4/P/4+Pz/+Pj7/+7u8v/s7PD/+Pj7/9/f + 4v9/f4H/Pj4//z4+P/8+Pj//+/v9//v7/f/7+/3/+/v9//r6/f/5+fz/+fn8//j4/P/r6+//+Pj8//j4 + /P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/8/P3//v7+/8nJ/v+fn/3/bGz7/yUl+v8BAfn/AADu/wAA + 5/8AAOT/AADk/wAA5v8AAOb/AADn/wAA6P8AAOn/AADG/wAAj/8AAJH/AADX/woK+f8JCfn/Cgrz/x4e + 1v86Oqz/WlqL/3h4eP+CgoLFn5+hd5OTlXSFhYdxenp8bnR0dmyWlphpgoKEZkVFRmRQUFFh5eXoX/r6 + /Vz5+f1a+Pj8V/b2+lXr6+9S5ubpUODg40/e3uFM4ODjSuTk50jt7fFG8vL2RPLy9kHw8PRG8fH1gfb2 + +vX4+Pz/+Pj8//n5/P/5+fz/8PD0//j4/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+Pj8/+vr7//19fn/7u7y/8bGyv+IiIr/V1dY/z4+P+w+Pj+QPj4/GFFRUh1/f4Ecurq9G+bm + 6Rv09Pga8vL2GvHx9Rnn5+sY29veGOPj5hjv7/MX8vL2FvPz9xb09PgW9/f7Ffj4/BX5+fwV+vr9Ffv7 + /RX7+/0T+/v9G/v7/ZT7+/3y+/v9//v7/f/6+v3/+fn8//Ly9v/c3N//z8/S/8PDxv+0tLf/rq6x/9DQ + 0/+9vcD/eXl7/4KChP/5+fz/+/v9//f3+/9xcXP/Pj4//z4+P+o+Pj+GPj4/DD4+PxTy8vKK/v7+/+Dg + /v+zs/3/enr8/zc3+v8ODvn/BAT5/wIC+f8LC/n/GRn6/yIi+v8iIvr/Fhb6/wAAzP8JCYb/FRVS/yQk + P/8/P0D/WVlZlP39/pv9/f7z/f3+//z8/v/7+/3/+fn8//j4/P/4+Pz/+fn8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/4+Pz/7Ozw/7Cws/9XV1j/Pj4//z4+P/8+Pj/qPj4/ej4+ + P0Y+Pj9CTExNRJycnkbZ2dxI+Pj8Svj4/Ez4+PxO+Pj8Ufj4/FP4+PxV+Pj8V/j4/Fr39/tc5OTnX9HR + 1GHExMhkuLi7ZqurrmmlpahryMjMbrOztnFxcXN0gYGDd/n5/Xn8/P59/Pz+gPz8/oL8/P6F/Pz+iP39 + /pj9/f7S/Pz+/Pz8/v/7+/3/+vr9//r6/f/5+fz/+fn8//n5/P/4+Pz/+Pj8//j4/P/4+Pz/+Pj8/+jo + 7P/4+Pz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//j4/P/r6+//+Pj8//j4 + /P/g4OP/f3+B/z4+P/8+Pj//Pj4///v7/f/7+/3//Pz+//v7/f/6+v3/+fn8//n5/P/39/v/+Pj8//j4 + /P/4+Pz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz//Pz9//7+///Ly/7/paX9/3d3/P88PPv/Hx/7/xMT + +v8FBfr/AADz/wAA8P8AAPD/AADx/wAA8P8AAPL/AADz/wAA9f8AALr/AACO/wAApf8BAeD/Dg76/xgY + 6v81NcL/VFSc/3V1gv99fX3wvLy/hrGxtHuXl5l4f3+BdmpqbHNTU1RwW1tdbXx8fmo+Pj9oPj4/ZT4+ + P2P6+v1g+vr9Xvn5/Fv4+PxZ7OzwV+bm6VTg4ONT3d3gUOHh5E7o6OxM8fH1SvPz90jv7/NG7+/zWvHx + 9dT4+Pz++Pj8//n5/P/5+fz/8fH1/+3t8f/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//f3+//4+Pz/+Pj8/+Pj5v+ysrX/eHh6/0pKS/8+Pj/ePj4/Xz4+PxlfX2EfkZGTH8jI + zB7r6+8e9fX5HPPz9xzz8/cb8/P3G+jo7Brh4eQa7OzwGvDw9Bnw8PQZ8vL2GPT0+Bj39/sX+fn8F/r6 + /Rf7+/0X+/v9FPv7/ST7+/2i+/v99/v7/f/7+/3/+vr9//n5/P/4+Pz/7e3x/9TU1/+8vL//pKSn/4uL + jf+UlJb/tra5/1xcXv8+Pj//ZWVn//r6/f/5+f3/kJCS/z4+P/8+Pj/vPj4/mj4+PxE+Pj8W8PDwi/7+ + /v/q6v7jxMT+45CQ/f9SUvv/Li77/yIi+/8YGPr/Fxf6/x8f+/8oKPv/MzP7/x8f+/8AANb/Cwut/xgY + Yf8kJD//Pz9A/1NTU479/f51/Pz+4Pz8/v/8/P7/+/v9//r6/f/5+fz/+Pj8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//j4/P/d3eD/kZGT/z4+P/8+Pj//Pj4//z4+ + P7g+Pj9dPj4/Qz4+P0h0dHZKvb3ATOvr7074+PxQ+Pj8Uvj4/FT4+PxX+Pj8Wfj4/Fv4+Pxe+Pj8YPb2 + +mPi4uVlyMjMaLGxtGuampxtgYGDcImJi3OoqKt1VFRVeD4+P3toaGp9+/v9gfz8/oT7+/2H+/v9ifz8 + /o38/P6Q/Pz+ofz8/ub8/P7+/Pz+//v7/f/6+v3/+fn9//n5/P/5+fz/+Pj8//j4/P/4+Pz/+Pj8/+bm + 6f/o6Oz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/39/v/+Pj8//j4 + /P/4+Pz/3t7h/35+gP8+Pj//Pj4//z4+P//8/P3//Pz+//z8/v/8/P3/+vr9//r6/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//r6/P/6+vz/+vr8//r6/P/6+vz/+vr8//39/v//////19f+/7y8/v+Wlv3/Zmb8/1VV + /P9SUvv/SUn7/z09+/8zM/v/LS37/y8v+/8tLfv/LS37/y4u+/8vL/v/JSX7/wcH5/8GBr7/CgrW/x8f + +v81Nef/WFi9/3l5mf+EhIT/s7O1o9LS1IHFxch+rKyue4uLjHlra212V1dYc1JSU3B0dHZtd3d5az4+ + P2k+Pj9mSEhJZPr6/WL6+v1e+fn8XO7u8Vrk5OdX39/hVt7e4FPj4+VR7OzvT/Ly9U3y8vVJ8fH0UvLy + 9ZH4+Pv9+fn8//n5/P/5+fz/+fn8/97e4P/5+fz/+vr8//r6/P/6+vz/+vr8//r6/P/5+fz/+fn8//r6 + /P/6+vz/+vr8//n5/P/5+fz/+fn8//b2+f/V1df/oaGj/2lpa/9AQEH8Pj4/xj4+PzlAQEEfbGxuIaOj + pSHV1dcg7+/yH/b2+R/39/oe9fX4Hfb2+R3l5egc3t7gHOnp7Bvs7O8b7+/yGvLy9Rr19fga+Pj7Gfr6 + /Bn7+/0Y+/v9GPv7/RX7+/0v+/v9sfv7/fv7+/3/+/v9//v7/f/6+vz/+vr8//n5/P/p6ez/yMjL/6en + qf+QkJH/jIyN/6+vsf+xsbP/Pj4//z4+P/9mZmf/+vr8/7W1t/8+Pj//Pj4/8j4+P6s+Pj8XPj4/GO/v + 74z/////6ur+/83N/v+oqP3/d3f9/11d/P9YWPz/U1P8/1BQ+/9SUvv/UlL7/1tb/P8wMPv/CAj1/xUV + 4f8nJ4z/JydD/0BAQP9TU1OO/f3+U/39/sf9/f7//f3+//z8/f/7+/3/+vr8//n5/P/6+vz/+vr8//r6 + /P/6+vz/+vr8//r6/P/6+vz/+vr8//r6/P/6+vz/+vr8//r6/P/5+fz/9/f6/7a2uP9mZmf/Pj4//z4+ + P/8+Pj/tPj4/ij4+P04+Pj9KS0tMTZycnk/Y2NpR+Pj7U/n5/FX5+fxX+fn8Wvn5/Fz5+fxf+fn8Yfn5 + /GP5+fxm9fX4aN3d32u7u75um5udcYWFhnOAgIF2oKCieaGho3s+Pj9+Pj4/gXp6fIT7+/2H/Pz9ivv7 + /Y38/P2Q/Pz+k/39/pb9/f6q/f3+7/z8/v/8/P3/+/v9//v7/f/6+v3/+vr8//n5/P/5+fz/+fn8/+/v + 8v/X19n/+fn8//r6/P/6+vz/+vr8//r6/P/6+vz/+fn8//n5/P/6+vz/+vr8//r6/P/5+fz/+fn8//n5 + /P/5+fz/+fn8/9/f4f9/f4D/Pj4//z4+P/8+Pj///Pz+//z8/v/8/P7/+/v+//r6/f/5+f3/9PT4//n5 + /f/5+f3/+fn9//n5/f/5+f3/+fn9//n5/f/5+f3/+fn9//n5/f/8/P7//////+jo/v/U1P7/t7f+/5SU + /f+Jif3/iIj9/4aG/f+Dg/3/fn79/3h4/f90dP3/cnL9/3Jy/f9xcf3/cHD9/29v/f9oaP3/Ozv8/zEx + 4P9GRuj/a2vj/4+PwP+goKD/pqanxdDQ04nNzdCFy8vOg729wIChoaR9goKEemhoanhoaGl1d3d5cpGR + lHA+Pj9sPj4/aj4+P2iLi41m+vr9Y/Ly9mHk5Ode3t7hW9vb3lrb295X4uLlVejo7FPu7vJR7+/zT/Hx + 9W309PjW+fn9//n5/f/5+f3/+fn9/9zc3//g4OP/+vr9//r6/f/6+v3/+vr9//n5/f/5+f3/9/f7//n5 + /f/5+f3/+fn9//n5/f/09Pj/+fn9//n5/f/w8PT/xMTH/42Nj/9aWlv/Pj4/8D4+P6I+Pj8oSUlKJXd3 + eSWxsbQk39/iI+/v8yLy8vYi8vL2IfX1+SDw8PQg3d3gH9vb3h/k5Ogf6entHuzs8B3v7/Md8vL2HPT0 + +Bv5+f0c+/v+G/v7/hv7+/4W+/v+Ovv7/r77+/7/+/v+//v7/v/7+/7/+vr9//n5/f/5+f3/+fn9/+Dg + 4/+/v8L/paWo/6Ojpv+ysrX/zMzP/1paW/8+Pj//Pj4//3h4ev+1tbj/Pj4//z4+P/c+Pj+7Pj4/Hj4+ + Pxrt7e2N//////Ly/v/d3f7/xMT+/6Sk/v+Skv3/kJD9/46O/f+Njf3/hYX9/4GB/f9+fv3/YWH9/1lZ + /f9SUvz/UVHD/1JSdv9AQED/VlZWkf39/jv9/f6o/f3++/39/v/8/P7/+/v+//r6/f/5+f3/+fn9//n5 + /f/5+f3/+fn9//n5/f/5+f3/+fn9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//n5/f/MzM//j4+R/0xM + Tf8+Pj//Pj4//T4+P8M+Pj9rPj4/Sz4+P1FwcHJTuLi7VeXl6Vf4+Pxa+fn9XPn5/V75+f1g+fn9Y/n5 + /WX5+f1o+fn9a/n5/W3t7fFv0tLVcrKytXWXl5p3lZWYe6Ojpn28vL+AUFBRgz4+P4U+Pj+Iu7u+i/v7 + /o77+/6R+/v+lPz8/pj8/P6a/Pz+nvz8/rz8/P7y/Pz+//z8/v/7+/7/+vr9//r6/f/5+f3/+fn9//f3 + +//Pz9L/3d3g//r6/f/6+v3/+vr9//r6/f/5+f3/+fn9//f3+//5+f3/+fn9//n5/f/5+f3/9PT4//n5 + /f/5+f3/+fn9//n5/f/b297/enp8/z4+P/8+Pj//Pj4///z8/v/8/P7//Pz+//z8/v/7+/3/9fX4//j4 + +//6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3//f3+///////4+P//5eX+/8/P + /v+7u/7/tLT+/7S0/v+0tP7/tLT+/7Oz/v+xsf7/rq7+/6ys/v+rq/7/qan+/6io/v+mpv7/o6P+/5WV + /f+Fhf3/h4fe/6io0//Pz8//t7e369HR047Q0NKMzMzOiczMzobJycuDuLi7gZ+foX6Hh4l7fX1/eIOD + hXWSkpRzoqKkcD8/P24/Pz9rPz8/aYyMjmfh4eNk2dnbYdbW2F/X19ld2dnbW+Hh5Fnn5+pW6urtU+3t + 8F/w8POg9vb5+Pr6/f/6+v3/+vr9//r6/f/ExMb/9vb5//v7/f/7+/3/+/v9//r6/f/6+v3/6urt/9jY + 2v/o6Ov/+fn8//r6/f/19fj/+Pj7//r6/f/6+v3/5ubp/7a2uf99fX//TExN/z8/P98/Pz94Pz8/JVRU + VSiCgoQnuLi7J+Hh4ybt7fAl7e3wJO/v8iTx8fQj5+fqI9nZ2yLh4eQi4+PmIeTk5yHq6u0g6urtIOjo + 6x/t7fAe+vr9Hvv7/R78/P4e/Pz+GPz8/kj8/P7I/Pz+//z8/v/8/P7/+/v9//v7/f/6+v3/+vr9//r6 + /f/39/r/39/h/8TExv+6ur3/wcHD/9DQ0v/f3+H/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz/5Pz8/xz8/ + Pyg/Pz8d6+vrj//////8/P//6+v+/9fX/v/ExP7/u7v+/7q6/v+1tf7/s7P+/7Ky/v+wsP7/qan+/6Gh + /v+jo/7/nJz9/56e8P+amqz/a2tr/11dXZT9/f4v/f3+gv39/uv9/f7//f3+//z8/v/7+/3/+vr9//r6 + /f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/3t7g/7q6 + vf94eHn/Pz8//z8/P/8/Pz/rPz8/mj8/P1g/Pz9TSEhIVpOTlVnPz9Fa7e3wXfj4+1/6+v1i+vr9ZPr6 + /Wb6+v1p+vr9a/r6/W76+v1w9/f6c+jo63bQ0NJ4t7e6e62tr36ysrWAwMDCg8/P0YY/Pz+JPz8/jD8/ + P4+7u76S+/v9lPv7/Zj7+/6b/Pz+nvz8/qH9/f6n/f3+zf39/vb8/P7//Pz+//v7/v/7+/3/+vr9//r6 + /f/t7fD/vr7A//X1+P/7+/3/+/v9//v7/f/6+v3/+vr9/+rq7f/Y2Nr/6Ojr//n5/P/6+v3/9fX4//j4 + +//6+v3/+vr9//r6/f/6+v3/29vd/3h4ef8/Pz//Pz8//z8/P//9/f7//Pz+//z8/v/8/P7/+/v9/93d + 3//39/n/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//39/v////////////// + ///09P//7e3+/+zs/v/s7P7/7Oz+/+zs/v/s7P7/7Oz+/+vr/v/r6/7/6ur+/+rq/v/p6f7/6Oj+/+fn + /v/m5v7/6+v+//X19f/Gxsb/y8vL+dLS053U1NWT1NTVkNPT1I3R0dKKzMzNh8rKy4W8vL6Cp6epgJeX + mH2VlZZ5nJydeKOjpXV7e3xyPz8/bz8/P20/Pz9rwMDBaNfX2GbU1NVj1dXWYtzc3l/m5uhc6ursWuzs + 7lnv7/F99PT22Pv7/f/7+/3/+/v9//v7/f/b29z/0NDR//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9/+fn + 6f/a2tv/3d3f/+fn6f/f3+H/3d3f//f3+f/6+vz/9vb4/9ra2/+np6n/cHBx/0RERP8/Pz/LPz8/VT8/ + PyhjY2Qrk5OUK8XFxiri4uQp6+vtKOvr7Sfs7O4n7u7wJt/f4SXX19gl5eXnJOLi5CTf3+Ej4eHjIuLi + 5CLl5eci7+/xIfv7/SH8/P4h/Pz+IPz8/hr8/P5W/Pz+0P39/v/9/f7//Pz+//z8/f/7+/3/+/v9//v7 + /f/7+/3/+/v9//v7/f/m5uj/1tbX/9PT1P/a2tv/4ODi/7a2uP8/Pz//Pz8//z8/P/8/Pz//Pz8/+z8/ + P9M/Pz8zPz8/H+Xl5YL////////////////19f//7+///+3t/v/s7P7/6+v+/+vr/v/s7P7/6+v+/+np + /v/o6P7/6en+/+3t/v/+/v7/39/f/6Ojo/+SkpKI/f3+Kv39/mH9/f7R/f3+//39/v/9/f7//Pz+//v7 + /f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9/+jo + 6v/b29z/oaGj/1VVVf8/Pz//Pz8//D8/P84/Pz94Pz8/VT8/P1tycnNdtra4X+Li5GH29vhk+/v9Zvv7 + /Wj7+/1r+/v9bfv7/W/7+/1y+/v9dPr6/Hf4+Pp66+vtfNjY2X/Hx8iCxMTFhcvLzIjS0tOLqqqsjT8/ + P5A/Pz+TWVlZlvT09pn7+/2c/Pz9n/z8/qL9/f6l/f3+p/39/rL9/f7b/f3++P39/v/8/P7//Pz9//z8 + /f/7+/3/1NTV/87Oz//7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/n5+n/2trb/93d3//n5+n/39/h/93d + 3//39/n/+/v9//v7/f/7+/3/+/v9/9zc3v94eHn/Pz8//z8/P/8/Pz///f3+//39/v/9/f7//Pz+//T0 + 9v+/v8D/4+Pl//n5+//7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3//f3+//7+ + ///+/v///v7///39/v/9/f7//f3+//39/v/9/f7//f3+//j4+P/29vf/9fX2//Pz8/7x8fH48vLy7fLy + 8uvz8/Pq9PT06vX19en29vbozMzM6MLCw6/R0dKa09PUl9PT1JTU1NWS1NTVj9LS04zQ0NGJzMzNhsLC + w4SurrCBoKCifZ6eoHyjo6V5p6epdoiIiXM/Pz9yPz8/b2xsbWzb29xq1tbXZ9bW12bd3d9j5eXnYejo + 6lzs7O5r8fHzr/f3+ff7+/3/+/v9//v7/f/7+/3/wsLD//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7 + /f/7+/3/+/v9//f3+f/s7O7/xcXG/7+/wP/j4+X/9vb4/+zs7v/Ly8z/l5eY/2NjZP8/Pz/2Pz8/rD8/ + Pz1GRkYtb29wLqKipC7Ozs8t4+PlLOfn6Svo6Oor5uboKujo6inc3N0o3d3fKOjo6ijf3+En0NDRJ9XV + 1ibf3+Em4+PlJfDw8iT7+/0k/Pz+I/z8/iP8/P4c/Pz+Zfz8/tf9/f7//f3+//z8/v/8/P3/+/v9//v7 + /f/7+/3/+/v9//v7/f/7+/3/+/v9/+3t7//e3uD/3Nze/+Dg4v/k5Ob/u7u9/z8/P/8/Pz//Pz8//z8/ + P/4/Pz/ePz8/Qj8/PyI/Pz8j8PDwoPz8/Mn+/v7J/v7+yf39/cn9/f3J/f39yvz8/Mr6+vrK/f39yv39 + /cr9/f3K/v7+yv39/sv9/f3L/v7+y/7+/svg4OCk/f3+L/39/iz9/f5N/f3+sv39/v/9/f7//f3+//z8 + /v/8/P3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//r6 + /P/39/n/8fHz/8LCw/9ycnP/Pz8//z8/P/8/Pz/tPz8/pz8/P2I/Pz9eUVFRYpubnGPR0dJl7u7waPr6 + /Gr7+/1s+/v9b/v7/XH7+/1z+/v9d/v7/Xn7+/18+/v9fvr6/IHx8fOD3t7ghtHR0onOzs+M0tLTj9jY + 2ZG5ubuUQEBAlz8/P5qdnZ+d+/v9oPv7/aP8/P2m/Pz+qfz8/qz9/f6u/f3+v/39/uT9/f77/f3+//z8 + /v/8/P3/+/v9/8fHyP/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/39/n/7Ozu/8XF + xv+/v8D/4+Pl//n5+//7+/3/+/v9//v7/f/c3N3/eHh5/z8/P/8/Pz//Pz8///39/v/9/f7//f3+//39 + /v/8/P7/r6+w/8HBwv/v7/H//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7/9fX3/+rq7P/8/P7//Pz+//b2+P/g4OL/1NTW/8/P0PzJycrpwsLDxMLC + w7TCwsOyxsbHr8rKy63Pz9Cp0NDRp9LS06TS0tOg0tLTndLS1JrS0tSY1NTWldbW2JLW1tiP09PVjdLS + 1IrS0tOHxMTFhLGxsoGlpaZ/paWmfKWlpnqmpqd3Xl5fdT8/QHM/P0Bwn5+gbdzc3mva2txp39/hZubm + 6GXq6uxi7u7wivLy9Nz8/P7//Pz+//z8/v/8/P7/zMzN/+Hh4//9/f7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+/9PT1f+vr7D/wMDB/+rq7P/k5Ob/vLy9/4eHiP9XV1j/Pz9A5z8/ + QIo/P0AzT09QMn19fjGvr7Ax0tLTMOHh4y/k5OYu5eXnLd/f4S3S0tQsysrLK+Xl5yvs7O4r3NzeKtHR + 0inT09Up3NzeKOPj5Sfx8fMn/Pz+J/39/ib9/f4m/f3+H/39/nX9/f7d/f3+//39/v/9/f7//f3+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7/8fHz/+Pj5f/j4+X/4uLk/9zc3v9paWr/Pz9A/z8/ + QP8/P0D/Pz9A5j8/QFE/P0AkPz9AJmBgYSavr7Am3d3fJ/Dw8ift7e8o2trcKeHh4ymurq8pz8/QKvz8 + /iv8/P4r/Pz+LPz8/i34+Pou8vL0L/f3+S/8/P4v/f3+Mf39/jH+/v8x/v7/P/7+/5D+/v/3/v7///7+ + ///9/f7//f3+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//X1 + 9//q6uz//Pz+//z8/v/Z2dv/mpqb/1hYWf8/P0D/Pz9A/T8/QNc/P0CCPz9AYD8/QGV3d3hmurq7aeTk + 5mv4+Ppu/Pz+cPz8/nL8/P51/Pz+d/z8/nr8/P58/Pz+f/z8/oL8/P6F/Pz+h/Ly9Iri4uSN1dXXj9XV + 15LV1deV19fZmI2Njpo/P0CeXl5foNDQ0aT8/P6n/Pz+qfz8/qz9/f6v/f3+sv39/rX9/f7J/f3+7f39 + /v39/f7//f3+/+bm6P/x8fP//f3+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/T09X/r6+w/8HBwv/v7/H//Pz+//z8/v/8/P7/2trc/3Z2d/8/P0D/Pz9A/z8/QP/9/f7//f3+//39 + /v/9/f7//Pz+/7u7vP+bm5z/w8PE//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+/9vb3f/V1df//Pz+//z8/v/v7/H/2trc/8nJyv7Dw8TwxMTF0MHB + wrvDw8S5xsbHtsfHyLPMzM2xz8/QrdHR0qvS0tOo0tLTpdDQ0aLS0tOf09PVnNPT1ZnU1NaW19fZlNfX + 2ZHU1NaO19fZjNTU1onGxseGtLS1hKioqYGioqN+oKChfJ+foHpHR0h3Pz9AdFVVVnG6urtv4eHjbuPj + 5Wvm5uhn6enrde/v8bz19ff4/Pz+//z8/v/8/P7/4eHj/6Kio//8/P7//f3+//39/v/9/f7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/09Pb/u7u8/5qam/+6urv/4ODi/7Gxsv98fH3/Tk5P/z8/ + QNM/P0BrPz9AMltbXDaKios1ubm6NdTU1jTd3d8z4ODiMuPj5THd3d8wuLi5L7S0tS/v7/Eu8fHzLtra + 3C3T09Us0dHSK9bW2Cvg4OIr8fHzKvz8/in9/f4p/f3+Kf39/iT9/f6E/f3+5f39/v/9/f7//f3+//39 + /v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/y8vT/5ubo/+Dg4v/Y2Nr/srKz/z8/ + QP8/P0D/Pz9A/z8/QOs/P0BjPz9AJz8/QClVVVYppaWmKtfX2Sry8vQq6ursK9ra3Cy8vL0si4uMLPz8 + /i39/f4u/f3+L/z8/i/8/P4w/Pz+MfLy9DLz8/Uz/Pz+M/39/jT9/f41/v7/Nv7+/zj+/v9v/v7/4v7+ + ///+/v///f3+//39/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/c3N7/19fZ//z8/v/8/P7/6enr/76+v/9+fn//Pz9A/z8/QP8/P0DxPz9AtT8/QGo/P0BoVVVWa5ub + nG3S0tRw8fHzcvv7/XT8/P53/Pz+efz8/nz8/P5//Pz+gPz8/oP8/P6G/Pz+ifz8/ov8/P6O9fX3kePj + 5ZPY2NqX09PVmdLS05zS0tOfdnZ3oktLTKR/f4Co4uLkq/z8/q78/P6x/Pz+s/39/rb9/f65/f3+vf39 + /tP9/f7y/f3+//z8/v/Ozs///f3+//39/v/9/f7//f3+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7/9PT2/7u7vP+bm5z/w8PE//z8/v/8/P7//Pz+/9vb3f92dnf/Pz9A/z8/QP8/P0D//v7+//7+ + ///+/v///v7///7+/v/9/f7/xsbH/76+vv/9/f7//v7+//7+/v/9/f7//f3+//39/v/9/f7//f3+//39 + /v/9/f7//f3+//39/v/9/f7//f3+//39/v/y8vP/7+/w//7+/v/9/f7//f3+//b29//f3+D12trb2N/f + 4MLh4eK/5+fovO3t7rrw8PG28fHytPHx8rHz8/Sv9fX2q/b296j29vel9fX2ovT09aD29ved9vb3mvj4 + +Zf5+fqV9vb3kvj4+Y/4+PmM8fHyieLi44fNzc6Fv7/Agry8vH+3t7d9pKSke11dXnhQUFF2nZ2dc/r6 + +3H9/f5v/f3+bP39/pn9/f7j/f3+//39/v/9/f7//f3+/7m5uf+9vb3//f3+//7+/v/+/v7//v7+//7+ + /v/+/v7//f3+//39/v/9/f7//f3+//7+/v/+/v7//f3+//39/v/ExMX/ra2t/9jY2f/Z2dr/kpKS/19f + YP1AQEG5Pz9AUk9PUDhzc3Q5o6OjOMzMzTji4uM36OjpNuvr7DXt7e407u7vM7OzszKzs7Mx/f3+MfX1 + 9jHp6eow5OTlL9vb3C7g4OEu6urrLv39/i39/f4s/v7+LP7+/iz+/v4q/v7+lP7+/uv+/v7//v7+//7+ + /v/+/v7//f3+//39/v/9/f7//f3+//7+/v/9/f7//v7+//7+/v/9/f7//f3+//39/v/9/f7//f3+/+Dg + 4f+FhYX/Pz9A/z8/QP8/P0DuPz9Adz8/QCk/P0AsW1tcLKmpqS3n5+gt/f3+LfPz9C7q6usvhISEL5GR + kTD9/f4w/f3+Mf7+/jL9/f4y/f3+M/39/jT9/f41/Pz9Nv39/jb9/f43/v7+OP7+/zn+/v84/v7/Wv7+ + /8L+/v///v7///7+///+/v7//v7+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39 + /v/9/f7/9PT1//Pz9P/+/v7//f3+//39/v/9/f7/z8/Q/5GRkf9UVFX/Pz9A/z8/QOI/P0CKPz9AallZ + Wm6dnZ1x2trbc/39/nb9/f54/f3+e/39/n39/f5//f3+g/39/oX9/f6H/f3+iv39/o39/f6P/f3+kv39 + /pX9/f6X/f3+mvb2953z8/Sg8PDxo97e36aUlJSof39/q8HBwq79/f6x/f3+tP39/rb+/v66/v7+vP7+ + /r/+/v/F/v7/2/7+/vj9/f7/8/P0//7+/v/+/v7//v7+//7+/v/+/v7//v7+//39/v/9/f7//f3+//39 + /v/+/v7//v7+//39/v/9/f7/xsbH/76+vv/9/f7//v7+//7+/v/9/f7/oKCg/0ZGR/8/P0D/Pz9A//7+ + ///+/v///v7///7+///+/v///v7+//39/v/g4OH//f3+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//f3+//39/v/+/v7//v7+//39/v/9/f75/f3+4f39 + /sv9/f7G/f3+xP39/sD9/f6+/f3+uv39/rj9/f61/f3+s/39/q/9/f6s/f3+qv39/qb9/f6l/f3+of39 + /p79/f6c/f3+mf39/pb9/f6U/f3+kf39/o39/f6M/f3+if39/oby8vOE7e3ugvDw8X/V1dZ9n5+ferm5 + uXf9/f52/v7+cv7+/n3+/v7J/v7++v7+///+/v///v7///7+/v+9vb3//Pz9//7+/v/+/v7//v7///7+ + ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//f3+/8nJyv/Ozs///Pz9/8fH + yP+Hh4fxZGRll2BgYUV2dnc9nZ2dPMzMzTzu7u88/Pz9O/39/jr9/f45/f3+OP39/jeoqKg2paWlNf39 + /jT9/f40/f3+NP39/jP09PUy8/P0Mv39/jH9/f4x/v7+MP7+/jD+/v4v/v7/MP7+/6P+/v/x/v7///7+ + ///+/v///v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/9/f7/7e3u/4KCgv8/P0D/Pz9A8T8/QIo/P0AuRUVGL319fjDDw8Qw/f3+Mf39/jH9/f4y4eHiM2Rk + ZTOoqKgz+Pj5NP39/jX9/f41/v7+Nv39/jf9/f44/f3+Of39/jr9/f46/v7+O/7+/jz+/v89/v7/PP7+ + /07+/v+d/v7///7+///+/v///v7///7+///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//39/v/9/f7//v7+//7+/v/+/v7//v7+//39/v/8/P3/yMjJ/46Ojv9hYWL1T09Qw1xc + XXCJiYlzxsbHdv39/nj9/f56/v7+fP7+/n/+/v6C/v7+hP7+/of+/v6J/v7+i/7+/o7+/v6R/v7+k/7+ + /pb+/v6Z/v7+m/7+/p/9/f6h/f3+pP39/qf9/f6q/f3+rNnZ2rDd3d6y/f3+tf7+/rj+/v66/v7+vv7+ + /sH+/v/D/v7/xv7+/8z+/v7j/Pz9/v39/v/+/v7//v7+//7+///+/v///v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//39/v/g4OH//f3+//7+/v/+/v7//v7+/+Tk5f+FhYX/Pz9A/z8/ + QP////////////////////////////7+///+/v///v7///z8/f/+/v/////////////+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v/+/v7/6P7+ + /9P+/v/M/v7/yf7+/8b+/v/D/v7/wf7+/77+/v+7/v7/uP7+/7b+/v+z/v7/sP7+/63+/v+q/v7/qP7+ + /6T+/v+i/v7/n/7+/53+/v+a/v7/l/7+/5T+/v+S/v7/kP7+/43+/v+K/v7/iP7+/4b+/v+D/v7/gP7+ + /374+Pl7/v7/ef///3T///+n////6v/////////////////////+/v//7+/w//7+///+/v///v7///// + //////////////7+///+/v///v7///7+///+/v///v7////////+/v///v7///7+///+/v//urq7/9/f + 4P/29vf/t7e4246Oj3mLi4xBoaGiQcfHyEDz8/Q//v7/P/7+/z3+/v88/v7/PP7+/zv+/v86ubm6Oays + rTjx8fI3/v7/N/7+/zf+/v82/v7/Nf7+/zX+/v80/v7/M/7+/zP///8y////Mv///zj///+w////9f// + ///////////////////+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///j4+T/enp6/0BAQPNAQECfQEBAMnNzczKnp6gz5eXmM/7+/zT+/v80/v7/Nbu7 + vDWCgoM27OztNv7+/zf+/v84/v7/OP7+/zn+/v86/v7/O/7+/zz+/v89/v7/Pf7+/z7+/v8/////QP// + /0H///9I////fP////L//////////////////////v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///u7u//w8PE/6Wl + pu2jo6SRwcHCdvLy83n+/v97/v7/fv7+/4D+/v+D/v7/hf7+/4f+/v+K/v7/jP7+/4/+/v+S/v7/lf7+ + /5f+/v+a/v7/nf7+/5/+/v+i/v7/pP7+/6f+/v+q/v7/rf7+/7D+/v+z/v7/tv7+/7j+/v+8/v7/vf// + /8H////E////xv///8n////M/v7/0/7+/+v+/v/////////////////////////////+/v///v7///7+ + ///+/v///v7///7+/////////v7///7+///+/v///v7///z8/f/+/v////////7+///+/v//wcHC/3Fx + cf9AQED////////////////////////////+/v///v7///7+///+/v///v7//////////////v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7/7/7+ + /9z+/v/T/v7/0P7+/83+/v/K/v7/x/7+/8X+/v/C/v7/v/7+/7z+/v+6/v7/t/7+/7T+/v+x/v7/rv7+ + /6z+/v+p/v7/pv7+/6T+/v+h/v7/nv7+/5z+/v+Z/v7/lv7+/5T+/v+R/v7/j/7+/4z+/v+K/v7/h/7+ + /4X+/v+C/v7/gP7+/3z///+I////1P////r////////////////+/v///v7///7+///+/v///v7///7+ + ///////////////////+/v///v7///7+///+/v///v7///7+/////////v7///7+///+/v///v7//9ra + 2//Kysv//v7//+jo6cG+vr9lvr6/RNDQ0Ubx8fJE/v7/Q/7+/0P+/v9C/v7/Qf7+/0D+/v8//v7/Pv7+ + /z3W1tc86enqPP7+/zv+/v87/v7/Ov7+/zn+/v85/v7/OP7+/zf+/v83////Nv///zT///9C////vf// + //j////////////////+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7//9nZ2v92dnb3QEBAtExMTDiZmZo209PUN/7+/zf+/v84/v7/OP7+ + /znExMU5tbW2Ov7+/zr+/v87/v7/PP7+/zz+/v89/v7/Pv7+/z/+/v9A/v7/Qf7+/0H+/v9C/v7/Q/// + /0T///9F////Rv///2b////X///////////////////////////+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///x8fL55+fozff3+ID+/v9+/v7/gP7+/4P+/v+F/v7/iP7+/4r+/v+M/v7/j/7+/5H+/v+U/v7/l/// + /5n///+b////nv///6H///+k////p////6n+/v+s/v7/r/7+/7L+/v+0/v7/t/7+/7r+/v+9/v7/wP7+ + /8L////F////yP///8r////N////0P7+/9P+/v/b/v7/9P///////////////////////////v7///7+ + ///+/v///v7///7+///+/v////////7+///+/v///v7///7+///+/v///v7////////+/v///v7///X1 + 9v+srK3/YmJi//////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////9v// + /+L////Z////1v///9P////Q////zf///8r////I////xf///8P////A////vf///7r///+3////tf// + /7H///+w////rf///6r///+o////pf///6L///+f////nf///5n///+Y////lf///5P///+Q////jv// + /4v///+J////hv///4T///9/////sv///+////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////2NjY//7+/vn///+k+fn5Wfr6+kn///9J////SP///0b///9G////Rf///0T///9D////Qv// + /0H///9A////P/X19T////8/////Pv///z3///88////PP///zv///86////Ov///zn///83////Tf// + /8j////8//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4ODg+I+Pj8V4eHhAt7e3Of///zn///86////O/// + /zv///885ubmPP///z3///89////Pv///z////9A////QP///0H///9C////Q////0T///9E////Rv// + /0f///9I////Sf///0n///9b////sP////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////P///+g////hP///4T///+H////if///4v///+O////kP///5P///+V////l/// + /5r///+d////n////6L///+l////p////6r///+s////sP///7L///+1////uP///7r///+9////wP// + /8P////F////yP///8v////N////0P///9P////W////2P///+P////5//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7+/v/62trf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP + /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAAAAAAAA + EAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAA + AAAAAA8AAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAD8AAAAA + AAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAH/ + AAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAA + AAAf/wAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAA + AAAAAAAAH/8AAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAA/8AAAAAAAA + AAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAD/wAAAAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAP/AAA + AAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAA + D/AAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAA + AAAAAA+AAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAADAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAOAAAAAAAAA + MAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAA + A4AAAAAAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAA + AAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAP/gAAAA + AAAAAAAAAAADH+AAAAAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAMfwAAAAAAAAAAAAAAAAAAAAg// + 4AAAAAAAAAAAAAAAAz/AAAAAAAAAAAAAAAAAAAAAf/+AAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAA + AAD//gAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAA + AAAAAAAP/8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAA/wAAAAAAA + AAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAA///AAAAAAAAAAAAAAAAAAAAcAA + AAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAA + AAAYAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAD/wAAAAAAAAAAAAA + AAAAAAAAAIAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAOAAAA + AAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAIAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAB//wAAAAAAAAAAAAAEAAAA + AAAAAAAAAAGAAAAAAAAAA///AAAAAAAAAAAAAAQAAAAAAAAAAAAAAYAAAAAAAAAD//8AAAAAAAAAAAAA + B4AAAAAAAAAAAAABAAAAAAAAAD///wAAAAAAAAAAAAAH4AAAAAAAAAAAAAcAAAAAAAAB////gAAAAAAA + AAAAAAfAAAAAABwAAAAABgAAAAAAAD/////4AAAAAAAAAAAAB4AAAAAAAAAAAAAIAAAAAAAB//////gA + AAAAAAAAAAAHgAcAAAAAAAAAAAAAAAAAAA///////AAAAAAAAAAAAAeAACAAAAAAAAAAAAAAAAAB//// + ///8AAAAAAAAAAAAB4AABwAAAAAAAAAgAAAAAA////////wAAAAAAAAAAAAHgAAD4AAAAAAAAAAAAAAA + D////////AAAAAAAAAAAAAeAAAPgAAAAAAAAAAAAAAAP///////8AAAAAAAAAAAAB4AAAfwAAAAAAAAA + AAAAAA////////wAAAAAAAAAAAAHgAAB/8AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAfAAAH//AAA + AAAAAQAAAAAP////gAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAA///AAAAAAAAAAAAAAAAAAAAAAA + B/4AAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAD// + +AAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAH/j//4AAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAA + B//P//AAAAAAAAAAAAAAAA//////AAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAD///////4AAAAAAA + AAAAAAf////gAAAAAAAAAAAAAAAP///////8AAAAAAAAAAAAB////4AAAAAAAAAAAAAAAA////////wA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAA////////AAAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAD//// + ///8AAAAAAAAAAAAB///gAAAAAAAAAAQAAAAAAB///////wAAAAAAAAAAAAH//gAAAAAAAICAAgAAAAA + AAP/////+AAAAAAAAAAAAAf/wAAAAAAABAAMCAAAAAAAAH/////4AAAAAAAAAAAAB/wAAAAAAAAMAAwG + AAAAAAAAB/////gAAAAAAAAAAAAHwAAAAAAAAAgEDAcAAAAAAAAAf///+AAAAAAAAAAAAAYAAAAAAAAA + OAQOAQAAAAAAAAAP///4AAAAAAAAAAAAAAAAAAAAAABwBAIAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA + AAAAAPAcAgAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAAAAAA8BwCAAAAAAAAAAAAH//wAAAAAAAAAAAA + AAAAAAAAAAHAHAMAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAA8AcAwAAAAAAAAAAAAAf8AAAAAAA + AAAAAAAAAAAAAAADgBwDAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAcAPAMAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAADwA8A4AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeADgDgAAAAAAOAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAB4AeAOAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAB4A8AAAAAA + D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AHgDwAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAeAHA + AAAAAA/4AAAAAAAAAAAAAAAAAAAAAAgAAAAA+AD4AcAAAAAAD/4AAAAAAAAAAAAAAAAAAAAAMAAAAAD4 + APgB4AAAAAAP/4AAAAAAAAAAAAAAAAAAAADwAAAAAfAA+AHgAAAAAA//4AAAAAAAAAAAAAAAAAAAA+AA + AAAD8AD4AeAAAAAAD//8AAAAAAAAAAAAAAAAAAAfwAAAAAPgAfgB4AAAAAAP//8AAAAAAAAAAAAAAAAA + AH+AAAAAB+AB+AHwAAAAAAf//4AAAAAAAAAAAAAAAAAB/4AAAAAPgAHgAfAAAAAAA///4AAAAAAAAAAA + AAAAAAH/AAAAAA+AAeAB8AAAAAAD///gAAAAAAAAAAAAAAAAA/4AAAAAH4AD4AHwAAAAAAD///wAAAAA + AAAAAAAAAAAH/gAAAAAfAAPgAfgAAAAAAH///wAAAAAAAAAAAAAAAAf8AAAAAD4AA+AA+AAAAAAAP/// + wAAAAAAAAAAAAAAAB/wAAAAAfgAH4AD4AAAAAAAP///wAAAAAAAAAAAAAAAH+AAAAAB8AAfgAP4AAAAA + AAf///4AAAAAAAAAAAAAAAfwAAAAAPwAB+AA/gAAAAAAAf///4AAAAAAAAAAAAAAB/AAAAAB+AAP4AD+ + AAAAAAAA////wAAAAAAAAAAAAAAH4AAAAAH4AA/gAP4AAAAAAAB////AAAAAAAAAAAAAAAfgAAAAA/gA + D+AA/gAAAAAAAH///8AAAAAAAAAAAAAAB8AAAAA/8AAP4AD/AAAAAAAAP///gAAAAAAAAAAAAAAHgAAA + AH/wAA/AAP8AAAAAAAAH//8AAAAAAAAAAAAAAAeAAAAA/+AAP8AA/wAAAAAAAAP//wAAAAAAAAAAAAAA + DwAAAAD/4AA/wAD/AAAAAAAAAf/+AAAAAAAAAAAAAAAPAAAAAP/AAD/AAH8AAAAAAAAA//gAAAAAAAAA + AAAAAA4AAAAB/8AAf8AAfwAAAAAAAAB/+AAAAAAAAAAAAAAADAAAAAH/AAB/wAB/AAAAAAAAAB/wAAAA + AAAAAAAAAAAMAAAAAf4AAH/AAH8AAAAAAAAAD+AAAAAAAAAAAAAAAAgAAAAB/gAAf8AAfwAAAAAAAAAP + 4AAAAAAAAAAAAAAAAAAAAAH+AAD/wAB/AAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAA/wAAP/AAH8AAAAA + AAAAAcAAAAAAAAAAAAAAAAAAAAAD/AAA/8AAfwAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAP4AAD/gAB/ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAf+AAH8AAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAH8AAB + /4AAf/AAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAH/gAB/8AAAAA4AAAAAAAAAAAAAAAAAAAAAAAAA + D+AAA/+AAD/wAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD/4AAP/AAAAAOAAAAAAAAAAAAAAAAAAAA + AAAAAH/gAAP/gAA/+AAAAA8AAAAAAAAAAAAAAAAAAAAAAAAA/8AAA/+AAD/4AAAAD4AAAAAAAAAAAAAA + AAAAAAAAAAH/wAAH/4AAP/gAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAf+AAAf/gAA//AAAAA/wAAAAAAAA + AAAAAAAAAAAAAAAB/4AAB/+AAD/8AAAAD/AAAAAAAAAAAAAAAAAAAAAAAAH+AAAP/wAAPzwAAAAP+AAA + AAAAAAAAAAAAAAAAAAAAAfwAAA//AAA/AAAAAA/8AAAAAAAAAAAAAAAAAAAAAAAD/AAAD/8AAD8AAAAA + D/4AAAAAAAAAAAAAAAAAAAAAAAP8AAAP/wAAPgAAAAAP/gAAAAAAAAAAAAAAAAAAAAAAB/gAAA//AAA+ + AAAAAA//AAAAAAAAAAAAAAAAAAAAAAAP+AAAH/8AAB4AAAAAD/8AAAAAAAAAAAAAAAAAAAAAAB/wAAAf + /wAAHgAAAAAP/gAAAAAAAAAAAAAAAAAAAAAAH/AAAB//AAAeAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAA/ + 4AAAf/8AAB4AAAAAD/AAAAAAAAAAAAAAAAAAAAAAAD/gAAB//wAAHgAAAAAPgAAAAAAAAAAAAAAAAAAA + AAAAH8AAAH//AAAeAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAPwAAA//4AAB4AAAAADAAAAAAAAAAAAAAA + AAAAAAAAAA/AAAD8AgAAHgAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA4AAAPgAAAAeAAAAAAgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAA8AAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAHgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAA4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAO + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPw + AAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAD/AAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAADgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD8AAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmAvatars.Designer.cs b/SLBot/bot/GUI/frmAvatars.Designer.cs new file mode 100644 index 0000000..46bac0b --- /dev/null +++ b/SLBot/bot/GUI/frmAvatars.Designer.cs @@ -0,0 +1,121 @@ +namespace bot.GUI +{ + partial class frmAvatars + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAvatars)); + this.lstAvatars = new bot.GUI.AvatarList(); + this.lblCurrentSim = new System.Windows.Forms.Label(); + this.lblAvatars = new System.Windows.Forms.Label(); + this.btnClose = new clControls.clImageButton(); + this.SuspendLayout(); + // + // lstAvatars + // + this.lstAvatars.BackColor = System.Drawing.Color.Black; + this.lstAvatars.Client = null; + this.lstAvatars.ForeColor = System.Drawing.Color.White; + this.lstAvatars.FullRowSelect = true; + this.lstAvatars.Location = new System.Drawing.Point(24, 25); + this.lstAvatars.MultiSelect = false; + this.lstAvatars.Name = "lstAvatars"; + this.lstAvatars.Size = new System.Drawing.Size(458, 210); + this.lstAvatars.Sorting = System.Windows.Forms.SortOrder.Ascending; + this.lstAvatars.TabIndex = 0; + this.lstAvatars.UseCompatibleStateImageBehavior = false; + this.lstAvatars.View = System.Windows.Forms.View.Details; + this.lstAvatars.OnAvatarAdded += new bot.GUI.AvatarList.AvatarCallback(this.lstAvatars_OnAvatarAdded); + this.lstAvatars.OnAvatarRemoved += new bot.GUI.AvatarList.AvatarCallback(this.lstAvatars_OnAvatarRemoved); + // + // lblCurrentSim + // + this.lblCurrentSim.AutoSize = true; + this.lblCurrentSim.BackColor = System.Drawing.Color.Transparent; + this.lblCurrentSim.ForeColor = System.Drawing.Color.White; + this.lblCurrentSim.Location = new System.Drawing.Point(31, 9); + this.lblCurrentSim.Name = "lblCurrentSim"; + this.lblCurrentSim.Size = new System.Drawing.Size(91, 13); + this.lblCurrentSim.TabIndex = 1; + this.lblCurrentSim.Text = "Current simulator: "; + // + // lblAvatars + // + this.lblAvatars.AutoSize = true; + this.lblAvatars.BackColor = System.Drawing.Color.Transparent; + this.lblAvatars.ForeColor = System.Drawing.Color.White; + this.lblAvatars.Location = new System.Drawing.Point(31, 238); + this.lblAvatars.Name = "lblAvatars"; + this.lblAvatars.Size = new System.Drawing.Size(92, 13); + this.lblAvatars.TabIndex = 2; + this.lblAvatars.Text = "{0} avatars found."; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(458, 3); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 3; + this.btnClose.Text = "Close"; + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // frmAvatars + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAvatars"); + this.ClientSize = new System.Drawing.Size(508, 258); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.lblAvatars); + this.Controls.Add(this.lblCurrentSim); + this.Controls.Add(this.lstAvatars); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmAvatars"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmAvatars"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmAvatars_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmAvatars_MouseMove); + this.Load += new System.EventHandler(this.frmAvatars_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private bot.GUI.AvatarList lstAvatars; + private System.Windows.Forms.Label lblCurrentSim; + private System.Windows.Forms.Label lblAvatars; + private clControls.clImageButton btnClose; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmAvatars.cs b/SLBot/bot/GUI/frmAvatars.cs new file mode 100644 index 0000000..0efa05b --- /dev/null +++ b/SLBot/bot/GUI/frmAvatars.cs @@ -0,0 +1,103 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmAvatars.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Windows.Forms; +using OpenMetaverse; +using System.Drawing; + +namespace bot.GUI +{ + public partial class frmAvatars : Form + { + SecondLifeBot _client; + private Point mouse_offset; + + public frmAvatars(SecondLifeBot Client) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + _client = Client; + lstAvatars.Client = _client; + Client.Network.SimChanged += Network_OnCurrentSimChanged; + lblCurrentSim.Text = String.Format(bot.Localization.clResourceManager.getText("frmAvatars.lblCurrentSim"), _client.Network.CurrentSim.Name); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmAvatars"); + } + + void Network_OnCurrentSimChanged(object sender, SimChangedEventArgs e) + { + lblCurrentSim.Text = String.Format(bot.Localization.clResourceManager.getText("frmAvatars.lblCurrentSim"), _client.Network.CurrentSim.Name); + } + + private void frmAvatars_Load(object sender, EventArgs e) + { + lstAvatars.InitializateAvatars(); + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmAvatars.Text"), _client.ToString()); + } + + private void lstAvatars_OnAvatarAdded(TrackedAvatar trackedAvatar) + { + lblAvatars.Text = String.Format(bot.Localization.clResourceManager.getText("frmAvatars.lblAvatars"), lstAvatars.Items.Count); + } + + private void lstAvatars_OnAvatarRemoved(TrackedAvatar trackedAvatar) + { + lblAvatars.Text = String.Format(bot.Localization.clResourceManager.getText("frmAvatars.lblAvatars"), lstAvatars.Items.Count); + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + void frmAvatars_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + void frmAvatars_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + } +} diff --git a/SLBot/bot/GUI/frmAvatars.resx b/SLBot/bot/GUI/frmAvatars.resx new file mode 100644 index 0000000..813b23d --- /dev/null +++ b/SLBot/bot/GUI/frmAvatars.resx @@ -0,0 +1,3570 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOwwAADsMBx2+oZAAA9UFJREFUeF7s/eezZVe1 + 5Ytmbr/M9jsz5ZXee59Spry3IGGEAGGEEQIESEJICHkhIe8A4eGYOuVu3apbce+Neue5uhHPRLxPL+L9 + QeO1X+t9zDX3zp2pTClFceB8GLHcXNOO0Vs3rfe+opQV5VyMV59/uDzxxC/Ln/7hv5T/9s//R/kv//Wf + yz/+038uf/y7/1j+8Kf/0Izf//E/FEb7O97//o//vvn+97l9bPvvy+/+8O/8Gv9hf0v3yX8Xj6X7X+5z + /Q/7/+3v/2359W//TXn/1//g19/oM9//4U9Lj7v42Iv3W8/tFK+6F9yPOpZeC9c9uI6l9+gD9t3cl9Nt + d/J9P/m+DO4v1x/34Ez+99e3TftZ1Hl4qvsxmJ9/mfeBtfS7P8Qa4Rp+87t/W371m3/U0Fz/XYw692O9 + xbP/7e/jtf6PtVE/t9dcew394v0/lXfe+1155bX3yre+/XB59LGnys9efa/87JX3yks/e7s889wr5Ykn + Xyjff/iJ8p3vPlp+8tRL5YWfvlF++tJb/v2nL79VXtH2b7z5q/LW27/2eF3vX3v9l+X1N973ti+8+Ib2 + //Pypn/7ZXn19V/ov++UZ597tfz4Jy+WL973tfKV+79Vnn7mZ+W551/zb6+/9b7HG2/9yvv/6ctxrFdf + +4X3xfm+9c5vfO5vv/tbvf6+/PJXf19+/ss/lfd+8Yccf/T3/M4xX+Wc3ny/vPzKu+XFn77p4z+r63vu + eV5f9bGff+F1n/OLeX0vv/KOtn/H94R9vPXOb8u7P/+9j831cX4+j3d/p2P/sfzi/b/TefydnlXKpt/9 + k+UV43d/CDl18jMJObt4Xp5Odv1lztu/NdljbPj7/1jAgjfe/n357g+eK1ddf09ZOP9gWbFiy0fGaqH9 + uQH8up8D+68u19301fL0c29psv59eefnfyyvvvErLfLXyrPPv67vXys/efrl8vxPtdD0/WtvasG+9Zvy + yuvva8H9QovnN1qcP9d4z9+99savy5vvsBhYZBrv/cH7fPs9Fp6G3r/zcwSMvnv3D+UtD22vUf/3hvbP + sTjOm+/8Lsbbv9UN1aLV9y+/+vPy4svv6BxfL08+9bPy/ItvSaC8VZ578U399gstwN/6+HGsPB7HPGnU + 3+P8YvwhBuelfXDM5np1fRz/pVd+LsHzjo77pgTD2xIECK+4frZlvCpBwL3g/z5/CQOucXAPBscenOfS + 75Y756Xf5XnrfDln3+/mXp/J//86tmnmV32GeT/ifi9zjaf6ftl58ue7R56DuSaYO8yplzXfmF/MeQZz + z68/e9fr74236xr5Xcy3/PyKwO3Fl97x5/YaY52xnl4TKDN3mcM/efpn5Uc/frHc87mvlH37D5fPff7+ + 8vCjT5fvfu9H5f6vf6fc+4X7y6c+84Vy6+13lxtvut2fv/HA9/37Iz98pvzw8efKj554QYrBTz0ef/LF + 8sMfPVce1z4ffeyZ8r3vP6H9PVWeevbVkCnPoES8VB7T/x78zg/LTbd8otx08516/2j53g9+rP0+7v+x + X/bx2I+eL9/X9/z2yA+flpLwkscTGnx+SNt//+Eny+M6hx898bx/e0rHeFKyi9/533ce+pHGY7qe75Zv + fusH5RFdH8f75rceLt/SOfD7QzpP9sO5cvzH8prYz9NSCLifL1kReq8898IbHi9INvp7fcf95Jm1ZSXP + xM8on4PXqUazTnO9DmTQEln5P3hOLrt+/vWcLFdYS089+1a5+7PfKhu2HC0rh1eX0ZVrPjLQV3w+54DP + jjdevKGsHLmkXLz+cNl76JZy4MhtZdf+68uOPVd7bN99pcZVZc/BG8u+w7eU/YwjtzZj36Gby+79Nwx+ + 1/8PHr29HDx2x6Jx6NidpT3avx/Q9h5Hbtd+byv7dB4MzsXj6G3xvY699+BNPtbOfdeUnXuvLnsO3Khx + g87heg+2YXv21xzjMh2boXOqo/nNx2X/t+q/N/v/Ps4hHSf3u2v/dWX3gev1na5V3/F5575r/cr5cFy2 + 339Y90X/5fzYtu6rvjb3hXPLwXnu9/XdqvNgnOr+6dxb17D0/sbnOz18n+s1/w28Nte8dM6d6tqZB3+B + 96U+U+aB55Xnn9YWrxrMddYb85t5vGgO5xpiXtX1sp/1lHPL3zfraTDnmbfsm/nMWHPBpjI7f0HZvO1o + 2bLjsrJp27GyYfPBsn7T/nLp+j3+/YKLtui7A/5t264TlhHIip17tQ+NHXuu8nc7915Tdu27rmzbeUXZ + uvO43l+b6/Q6f8/vW3eeKOdfvNX75D3/Y1tkzg5tvx05pO226fNWhva1bdcVPtcde/T9Lm2vzwz+s13f + 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 + sPy++/8fFfFV5v2V+3AAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmChat.Designer.cs b/SLBot/bot/GUI/frmChat.Designer.cs new file mode 100644 index 0000000..5435e28 --- /dev/null +++ b/SLBot/bot/GUI/frmChat.Designer.cs @@ -0,0 +1,206 @@ +namespace bot.GUI +{ + partial class frmChat + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.rtbChat = new System.Windows.Forms.RichTextBox(); + this.lstChatters = new System.Windows.Forms.ListBox(); + this.edtInput = new System.Windows.Forms.TextBox(); + this.cmbBots = new System.Windows.Forms.ComboBox(); + this.lblChat = new System.Windows.Forms.Label(); + this.btnClose = new clControls.clImageButton(); + this.cmbFromLanguage = new System.Windows.Forms.ComboBox(); + this.lblToLanguage = new System.Windows.Forms.Label(); + this.cmbToLanguage = new System.Windows.Forms.ComboBox(); + this.chkAutoTranslate = new System.Windows.Forms.CheckBox(); + this.SuspendLayout(); + // + // rtbChat + // + this.rtbChat.BackColor = System.Drawing.Color.Black; + this.rtbChat.ForeColor = System.Drawing.Color.White; + this.rtbChat.Location = new System.Drawing.Point(206, 58); + this.rtbChat.Name = "rtbChat"; + this.rtbChat.ReadOnly = true; + this.rtbChat.Size = new System.Drawing.Size(590, 381); + this.rtbChat.TabIndex = 0; + this.rtbChat.Text = ""; + // + // lstChatters + // + this.lstChatters.BackColor = System.Drawing.Color.Black; + this.lstChatters.CausesValidation = false; + this.lstChatters.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.lstChatters.ForeColor = System.Drawing.Color.White; + this.lstChatters.Location = new System.Drawing.Point(12, 58); + this.lstChatters.Name = "lstChatters"; + this.lstChatters.Size = new System.Drawing.Size(188, 381); + this.lstChatters.TabIndex = 1; + this.lstChatters.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.lstChatters_DrawItem); + this.lstChatters.SelectedValueChanged += new System.EventHandler(this.lstChatters_SelectedValueChanged); + // + // edtInput + // + this.edtInput.BackColor = System.Drawing.Color.Black; + this.edtInput.CausesValidation = false; + this.edtInput.ForeColor = System.Drawing.Color.White; + this.edtInput.ImeMode = System.Windows.Forms.ImeMode.On; + this.edtInput.Location = new System.Drawing.Point(50, 449); + this.edtInput.Name = "edtInput"; + this.edtInput.Size = new System.Drawing.Size(746, 20); + this.edtInput.TabIndex = 3; + this.edtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.edtInput_KeyPress); + // + // cmbBots + // + this.cmbBots.BackColor = System.Drawing.Color.Black; + this.cmbBots.CausesValidation = false; + this.cmbBots.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbBots.ForeColor = System.Drawing.Color.White; + this.cmbBots.FormattingEnabled = true; + this.cmbBots.Location = new System.Drawing.Point(50, 31); + this.cmbBots.Name = "cmbBots"; + this.cmbBots.Size = new System.Drawing.Size(177, 21); + this.cmbBots.Sorted = true; + this.cmbBots.TabIndex = 4; + this.cmbBots.SelectionChangeCommitted += new System.EventHandler(this.cmbBots_SelectionChangeCommitted); + // + // lblChat + // + this.lblChat.AutoSize = true; + this.lblChat.BackColor = System.Drawing.Color.Transparent; + this.lblChat.Font = new System.Drawing.Font("Lucida Handwriting", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblChat.ForeColor = System.Drawing.Color.White; + this.lblChat.Location = new System.Drawing.Point(46, 9); + this.lblChat.Name = "lblChat"; + this.lblChat.Size = new System.Drawing.Size(51, 19); + this.lblChat.TabIndex = 33; + this.lblChat.Text = "Chat"; + // + // btnClose + // + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Location = new System.Drawing.Point(772, 9); + this.btnClose.Name = "btnClose"; + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 5; + this.btnClose.TabStop = false; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // cmbFromLanguage + // + this.cmbFromLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbFromLanguage.FormattingEnabled = true; + this.cmbFromLanguage.Location = new System.Drawing.Point(356, 31); + this.cmbFromLanguage.Name = "cmbFromLanguage"; + this.cmbFromLanguage.Size = new System.Drawing.Size(121, 21); + this.cmbFromLanguage.Sorted = true; + this.cmbFromLanguage.TabIndex = 34; + this.cmbFromLanguage.SelectionChangeCommitted += new System.EventHandler(this.cmbFromLanguage_SelectionChangeCommitted); + // + // lblToLanguage + // + this.lblToLanguage.AutoSize = true; + this.lblToLanguage.BackColor = System.Drawing.Color.Transparent; + this.lblToLanguage.ForeColor = System.Drawing.Color.White; + this.lblToLanguage.Location = new System.Drawing.Point(484, 34); + this.lblToLanguage.Name = "lblToLanguage"; + this.lblToLanguage.Size = new System.Drawing.Size(19, 13); + this.lblToLanguage.TabIndex = 36; + this.lblToLanguage.Text = "to:"; + // + // cmbToLanguage + // + this.cmbToLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbToLanguage.FormattingEnabled = true; + this.cmbToLanguage.Location = new System.Drawing.Point(509, 31); + this.cmbToLanguage.Name = "cmbToLanguage"; + this.cmbToLanguage.Size = new System.Drawing.Size(121, 21); + this.cmbToLanguage.Sorted = true; + this.cmbToLanguage.TabIndex = 37; + this.cmbToLanguage.SelectionChangeCommitted += new System.EventHandler(this.cmbToLanguage_SelectionChangeCommitted); + // + // chkAutoTranslate + // + this.chkAutoTranslate.AutoSize = true; + this.chkAutoTranslate.BackColor = System.Drawing.Color.Transparent; + this.chkAutoTranslate.ForeColor = System.Drawing.Color.White; + this.chkAutoTranslate.Location = new System.Drawing.Point(233, 33); + this.chkAutoTranslate.Name = "chkAutoTranslate"; + this.chkAutoTranslate.Size = new System.Drawing.Size(117, 17); + this.chkAutoTranslate.TabIndex = 38; + this.chkAutoTranslate.Text = "Auto-translate from:"; + this.chkAutoTranslate.UseVisualStyleBackColor = false; + this.chkAutoTranslate.CheckedChanged += new System.EventHandler(this.chkAutoTranslate_CheckedChanged); + // + // frmChat + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmChat"); + this.ClientSize = new System.Drawing.Size(841, 481); + this.Controls.Add(this.chkAutoTranslate); + this.Controls.Add(this.cmbToLanguage); + this.Controls.Add(this.lblToLanguage); + this.Controls.Add(this.cmbFromLanguage); + this.Controls.Add(this.lblChat); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.cmbBots); + this.Controls.Add(this.edtInput); + this.Controls.Add(this.lstChatters); + this.Controls.Add(this.rtbChat); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "frmChat"; + this.Text = "frmChat"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmChat_Load); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmChat_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmChat_MouseMove); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.RichTextBox rtbChat; + private System.Windows.Forms.TextBox edtInput; + private System.Windows.Forms.ComboBox cmbBots; + private clControls.clImageButton btnClose; + private System.Windows.Forms.Label lblChat; + private System.Windows.Forms.ListBox lstChatters; + private System.Windows.Forms.ComboBox cmbFromLanguage; + private System.Windows.Forms.Label lblToLanguage; + private System.Windows.Forms.ComboBox cmbToLanguage; + private System.Windows.Forms.CheckBox chkAutoTranslate; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmChat.cs b/SLBot/bot/GUI/frmChat.cs new file mode 100644 index 0000000..0c6016f --- /dev/null +++ b/SLBot/bot/GUI/frmChat.cs @@ -0,0 +1,1083 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmChat.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.GUI +{ + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.Data; + using System.Drawing; + using System.Text; + using System.Windows.Forms; + using OpenMetaverse; + using clControls; + using System.Threading; + using System.IO; + using Claunia.clUtils; + + public partial class frmChat : Form + { + public delegate void InputSendCallback(SecondLifeBot client,InstantMessage im,Simulator simulator,DateTime timestamp); + + public event InputSendCallback OnInputSend; + + private bool isGroupIM; + private string groupName; + private UUID messageID; + ManualResetEvent GetGroupNameEvent = new ManualResetEvent(false); + ManualResetEvent JoinGroupChatEvent = new ManualResetEvent(false); + + private LanguageCodes _langCodes; + + public delegate void RealOnIMReceivedCallback(bot.Chat.structInstantMessage message); + + public delegate void RealOnChatReceivedCallback(bot.Chat.structGeneralChat chat); + + RealOnIMReceivedCallback RealOnIMReceived; + RealOnChatReceivedCallback RealOnChatReceived; + + private bool AutoTranslate; + private string FromLanguage; + private string ToLanguage; + private string translatedString; + + private struct Chat + { + public SecondLifeBot client; + public bool isGeneralChat; + public bool isGroupChat; + public string fromAgentName; + public UUID fromAgentUUID; + public StringBuilder chat; + } + + private List chats; + + private Point mouse_offset; + + public frmChat() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + + this.Text = bot.Localization.clResourceManager.getText("frmChat.Text"); + this.lblChat.Text = bot.Localization.clResourceManager.getText("frmChat.Text"); + this.chkAutoTranslate.Text = bot.Localization.clResourceManager.getText("frmChat.chkAutoTranslate"); + this.lblToLanguage.Text = bot.Localization.clResourceManager.getText("frmChat.lblToLanguage"); + + this.Icon = bot.Localization.clResourceManager.getIcon(); + + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmChat"); + + bot.Chat.Initialize(this); + bot.Chat.OnIMReceived += new bot.Chat.OnIMReceivedCallback(this.receivedIM); + bot.Chat.OnChatReceived += new bot.Chat.OnChatReceivedCallback(this.receivedChat); + _langCodes = new LanguageCodes(); + chats = new List(); + RealOnIMReceived = new RealOnIMReceivedCallback(Real_receivedIM); + RealOnChatReceived = new RealOnChatReceivedCallback(Real_receivedChat); + + AutoTranslate = false; + chkAutoTranslate.Checked = AutoTranslate; + ToLanguage = ""; + FromLanguage = ""; + cmbFromLanguage.Enabled = false; + cmbToLanguage.Enabled = false; + } + + private void receivedIM(bot.Chat.structInstantMessage message) + { + this.Invoke(RealOnIMReceived, message); + } + + private void receivedChat(bot.Chat.structGeneralChat chat) + { + this.Invoke(RealOnChatReceived, chat); + } + + + private void searchForClient(SecondLifeBot client) + { + bool found = false; + + for (int i = 0; i < cmbBots.Items.Count; i++) + { + if (cmbBots.Items[i].ToString() == client.ToString()) + { + found = true; + break; + } + } + + if (!found) + { + cmbBots.Items.Add(client.ToString()); + } + + return; + } + + private void Real_receivedChat(bot.Chat.structGeneralChat chat) + { + bool found = false; + string strMessage; + string translateMessage; + + if (chat.type == ChatType.StartTyping || chat.type == ChatType.StopTyping) + return; + + if (chat.client.Account.LoginDetails.BotConfig.HaveLuck == true && chat.sourceType == ChatSourceType.Object) + doIHaveLuck(chat); + + searchForClient(chat.client); + + for (int i = 0; i < chats.Count; i++) + { + if (chats[i].isGeneralChat == true) + { + if (chats[i].client == chat.client) + { + found = true; + strMessage = "[" + chat.timestamp.Hour.ToString("00") + ":" + chat.timestamp.Minute.ToString("00") + "] "; + switch (chat.type) + { + case ChatType.Whisper: + strMessage += chat.fromName + " " + bot.Localization.clResourceManager.getText("frmChat.Whispers") + " "; + break; + case ChatType.Shout: + strMessage += chat.fromName + " " + bot.Localization.clResourceManager.getText("frmChat.Shouts") + " "; + break; + default: + strMessage += chat.fromName + ": "; + break; + } + if (chat.message == "") + break; + if (!AutoTranslate) + { + strMessage += chat.message; + chats[i].chat.AppendLine(strMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(chat.client.ToString(), bot.Localization.clResourceManager.getText("frmChat.Chat"), strMessage, false); + } + } + else + { + translateMessage = Utilities.TranslateText(chat.message, FromLanguage, ToLanguage); + translateMessage = strMessage + bot.Localization.clResourceManager.getText("frmChat.Translated") + translateMessage; + strMessage += chat.message; + chats[i].chat.AppendLine(strMessage); + chats[i].chat.AppendLine(translateMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(chat.client.ToString(), bot.Localization.clResourceManager.getText("frmChat.Chat"), strMessage, false); + LogChat(chat.client.ToString(), bot.Localization.clResourceManager.getText("frmChat.Chat"), translateMessage, false); + } + } + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == chat.client.ToString()) + if (lstChatters.SelectedItem != null) + if (lstChatters.SelectedItem.ToString() == bot.Localization.clResourceManager.getText("frmChat.Chat")) + rtbChat.Text = chats[i].chat.ToString(); + break; + } + } + } + + if (!found) + { + Chat newchat = new Chat(); + + newchat.chat = new StringBuilder(); + + newchat.client = chat.client; + newchat.fromAgentName = bot.Localization.clResourceManager.getText("frmChat.Chat"); + newchat.fromAgentUUID = UUID.Zero; + newchat.isGeneralChat = true; + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == chat.client.ToString()) + lstChatters.Items.Add(bot.Localization.clResourceManager.getText("frmChat.Chat")); + + strMessage = "[" + chat.timestamp.Hour.ToString("00") + ":" + chat.timestamp.Minute.ToString("00") + "] "; + switch (chat.type) + { + case ChatType.Whisper: + strMessage += chat.fromName + " " + bot.Localization.clResourceManager.getText("frmChat.Whispers") + " "; + break; + case ChatType.Shout: + strMessage += chat.fromName + " " + bot.Localization.clResourceManager.getText("frmChat.Shouts") + " "; + break; + default: + strMessage += chat.fromName + ": "; + break; + } + + if (!AutoTranslate) + { + strMessage += chat.message; + newchat.chat.AppendLine(strMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(newchat.client.ToString(), bot.Localization.clResourceManager.getText("frmChat.Chat"), strMessage, false); + } + } + else + { + translateMessage = Utilities.TranslateText(chat.message, FromLanguage, ToLanguage); + translateMessage = strMessage + bot.Localization.clResourceManager.getText("frmChat.Translated") + translateMessage; + strMessage += chat.message; + newchat.chat.AppendLine(strMessage); + newchat.chat.AppendLine(translateMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(newchat.client.ToString(), bot.Localization.clResourceManager.getText("frmChat.Chat"), strMessage, false); + LogChat(newchat.client.ToString(), bot.Localization.clResourceManager.getText("frmChat.Chat"), translateMessage, false); + } + } + + chats.Add(newchat); + } + } + + private void doIHaveLuck(bot.Chat.structGeneralChat chat) + { + if (chat.sourceType != ChatSourceType.Object) + return; + + // This should work for almost all lucky chairs + if (chat.fromName.ToLowerInvariant().Contains("lucky") && chat.fromName.ToLowerInvariant().Contains("chair")) + { + if (chat.message.StartsWith("Looking for a winner whose name begins with....", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.SitLuckyChair"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("siton " + chat.id.ToString(), UUID.Zero, false); + } + } + else if (chat.message.StartsWith("I'm looking for a player whose name begins with", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(48, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(48, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.SitLuckyChair"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("siton " + chat.id.ToString(), UUID.Zero, false); + } + } + } + + // Identical strings than a lucky chair, strangely, it is sit based. Would you sit on your presents on RL? + if (chat.fromName.ToLowerInvariant().Contains("lucky") && chat.fromName.ToLowerInvariant().Contains("present")) + { + if (chat.message.StartsWith("Looking for a winner whose name begins with....", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.SitLuckyPresent"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("siton " + chat.id.ToString(), UUID.Zero, false); + } + } + else if (chat.message.StartsWith("I'm looking for a player whose name begins with", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(48, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(48, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.SitLuckyPresent"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("siton " + chat.id.ToString(), UUID.Zero, false); + } + } + } + + if (chat.fromName.ToLowerInvariant().Contains("lucky") && chat.fromName.ToLowerInvariant().Contains("santa")) + { + if (chat.message.StartsWith("This is a special Christmas present for somebody whose name begins with", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.SitLuckySanta"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("siton " + chat.id.ToString(), UUID.Zero, false); + } + } + } + + // This should work for almost all lucky boards + if (chat.fromName.ToLowerInvariant().Contains("lucky") && chat.fromName.ToLowerInvariant().Contains("board")) + { + if (chat.message.StartsWith("Looking for a winner whose name begins with....", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(chat.message.Length - 2, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.TouchLuckyBoard"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("touch " + chat.id.ToString(), UUID.Zero, false); + } + } + else if (chat.message.StartsWith("I'm looking for a player whose name begins with", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(48, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(48, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.TouchLuckyBoard"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("touch " + chat.id.ToString(), UUID.Zero, false); + } + } + else if (chat.message.StartsWith("Now looking for a winner whose name begins with...", StringComparison.InvariantCultureIgnoreCase)) + { + if (chat.message.Substring(51, 1).ToLowerInvariant() == chat.client.ToString().Substring(0, 1).ToLowerInvariant() + || chat.message.Substring(51, 1).ToLowerInvariant() == "?") + { + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("frmChat.TouchLuckyBoard"), chat.client.ToString(), chat.id.ToString(), chat.message); + chat.client.DoCommand("touch " + chat.id.ToString(), UUID.Zero, false); + } + } + } + } + + private void Real_receivedIM(bot.Chat.structInstantMessage message) + { + bool found = false; + string strMessage; + string fromAvatarName = ""; + string translateMessage; + + if (message.message.Dialog != InstantMessageDialog.StartTyping && message.message.Dialog != InstantMessageDialog.StopTyping) + { + searchForClient(message.client); + + messageID = message.message.IMSessionID; + + isGroupIM = isGroup(message.message, message.client); + + if (message.isReceived) + { + lock (chats) + { + for (int i = 0; i < chats.Count; i++) + { + if (chats[i].client == message.client) + { + if (!isGroupIM) + { + if (chats[i].fromAgentUUID == message.message.FromAgentID) + { + found = true; + if (message.message.Timestamp == DateTime.Parse("01/01/0001 0:00:00")) + { + strMessage = "[" + message.timestamp.Hour.ToString("00") + ":" + message.timestamp.Minute.ToString("00") + "] "; + } + else + { + strMessage = "[" + message.message.Timestamp.Hour.ToString("00") + ":" + message.message.Timestamp.Minute.ToString("00") + " " + bot.Localization.clResourceManager.getText("frmChat.Offline") + "] "; + } + + switch (message.message.Dialog) + { + case InstantMessageDialog.MessageFromAgent: + fromAvatarName = message.message.FromAgentName; + strMessage += message.message.FromAgentName + ": "; + break; + case InstantMessageDialog.MessageFromObject: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.Object"), + message.message.FromAgentName, + fromAvatarName, + message.message.RegionID.ToString(), + message.message.Position.ToString()); + break; + case InstantMessageDialog.TaskInventoryOffered: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.TaskInventoryOffered"), + message.message.FromAgentName, + fromAvatarName, + message.message.RegionID.ToString(), + message.message.Position.ToString()); + break; + case InstantMessageDialog.GroupNotice: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.GroupNotice"), + message.message.FromAgentName, + fromAvatarName); + break; + case InstantMessageDialog.RequestTeleport: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.Teleport"), + message.message.FromAgentName, + message.message.RegionID.ToString(), + message.message.Position.ToString()); + break; + case InstantMessageDialog.FriendshipAccepted: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.FriendshipAccepted"), + message.message.FromAgentName); + break; + case InstantMessageDialog.FriendshipDeclined: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.FriendshipDeclined"), + message.message.FromAgentName); + break; + case InstantMessageDialog.InventoryAccepted: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.InventoryAccepted"), + message.message.FromAgentName); + break; + case InstantMessageDialog.InventoryDeclined: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.InventoryDeclined"), + message.message.FromAgentName); + break; + case InstantMessageDialog.InventoryOffered: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.InventoryOffered"), + message.message.FromAgentName); + break; + default: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.Unhandled"), + message.message.FromAgentName, + message.message.RegionID.ToString(), + message.message.Position.ToString(), + message.message.Dialog.ToString()); + break; + } + + if (!AutoTranslate) + { + strMessage += message.message.Message; + chats[i].chat.AppendLine(strMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), fromAvatarName, strMessage, false); + } + } + else + { + translateMessage = Utilities.TranslateText(message.message.Message, FromLanguage, ToLanguage); + translateMessage = strMessage + bot.Localization.clResourceManager.getText("frmChat.Translated") + translateMessage; + strMessage += message.message.Message; + chats[i].chat.AppendLine(strMessage); + chats[i].chat.AppendLine(translateMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), fromAvatarName, strMessage, false); + LogChat(message.client.ToString(), fromAvatarName, translateMessage, false); + } + } + + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == message.client.ToString()) + if (lstChatters.SelectedItem != null) + if (lstChatters.SelectedItem.ToString() == fromAvatarName) + rtbChat.Text = chats[i].chat.ToString(); + break; + } + } + else + { + if (chats[i].fromAgentUUID == message.message.IMSessionID) + { + found = true; + strMessage = "[" + message.timestamp.Hour.ToString("00") + ":" + message.timestamp.Minute.ToString("00") + "] "; + + strMessage += message.message.FromAgentName + ": "; + + if (!AutoTranslate) + { + strMessage += message.message.Message; + chats[i].chat.AppendLine(strMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), chats[i].fromAgentName, strMessage, false); + } + } + else + { + translateMessage = Utilities.TranslateText(message.message.Message, FromLanguage, ToLanguage); + translateMessage = strMessage + bot.Localization.clResourceManager.getText("frmChat.Translated") + translateMessage; + strMessage += message.message.Message; + chats[i].chat.AppendLine(strMessage); + chats[i].chat.AppendLine(translateMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), chats[i].fromAgentName, strMessage, false); + LogChat(message.client.ToString(), chats[i].fromAgentName, translateMessage, false); + } + } + + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == message.client.ToString()) + if (lstChatters.SelectedItem != null) + if (lstChatters.SelectedItem.ToString() == groupName) + rtbChat.Text = chats[i].chat.ToString(); + break; + } + } + } + } + } + } + else + { + for (int i = 0; i < chats.Count; i++) + { + if (chats[i].client == message.client) + { + if (chats[i].fromAgentUUID == message.message.FromAgentID) + { + found = true; + strMessage = "[" + message.timestamp.Hour.ToString("00") + ":" + message.timestamp.Minute.ToString("00") + "] "; + strMessage += message.client.ToString() + ": "; + strMessage += message.message.Message; + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), message.message.FromAgentName, strMessage, false); + } + chats[i].chat.AppendLine(strMessage); + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == message.client.ToString()) + if (lstChatters.SelectedItem != null) + if (lstChatters.SelectedItem.ToString() == message.message.FromAgentName) + rtbChat.Text = chats[i].chat.ToString(); + break; + } + } + } + } + + if (!found) + { + Chat newchat = new Chat(); + + newchat.chat = new StringBuilder(); + + if (!isGroupIM) + { + if (message.message.Timestamp == DateTime.Parse("01/01/0001 0:00:00")) + { + strMessage = "[" + message.timestamp.Hour.ToString("00") + ":" + message.timestamp.Minute.ToString("00") + "] "; + } + else + { + strMessage = "[" + message.message.Timestamp.Hour.ToString("00") + ":" + message.message.Timestamp.Minute.ToString("00") + " (offline)] "; + } + + switch (message.message.Dialog) + { + case InstantMessageDialog.MessageFromAgent: + fromAvatarName = message.message.FromAgentName; + strMessage += message.message.FromAgentName + ": "; + break; + case InstantMessageDialog.MessageFromObject: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.Object"), + message.message.FromAgentName, + fromAvatarName, + message.message.RegionID.ToString(), + message.message.Position.ToString()); + break; + case InstantMessageDialog.TaskInventoryOffered: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.TaskInventoryOffered"), + message.message.FromAgentName, + fromAvatarName, + message.message.RegionID.ToString(), + message.message.Position.ToString()); + break; + case InstantMessageDialog.GroupNotice: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.GroupNotice"), + message.message.FromAgentName, + fromAvatarName); + break; + case InstantMessageDialog.FriendshipAccepted: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.FriendshipAccepted"), + message.message.FromAgentName); + break; + case InstantMessageDialog.FriendshipDeclined: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.FriendshipDeclined"), + message.message.FromAgentName); + break; + case InstantMessageDialog.InventoryAccepted: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.InventoryAccepted"), + message.message.FromAgentName); + break; + case InstantMessageDialog.InventoryDeclined: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.InventoryDeclined"), + message.message.FromAgentName); + break; + case InstantMessageDialog.InventoryOffered: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.InventoryOffered"), + message.message.FromAgentName); + break; + case InstantMessageDialog.RequestTeleport: + fromAvatarName = message.message.FromAgentName; + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.Teleport"), + message.message.FromAgentName, + message.message.RegionID.ToString(), + message.message.Position.ToString()); + break; + default: + if (!message.client.key2Name(message.message.FromAgentID, out fromAvatarName)) + { + fromAvatarName = bot.Localization.clResourceManager.getText("frmChat.Unknown"); + } + strMessage += String.Format(bot.Localization.clResourceManager.getText("frmChat.Unhandled"), + message.message.FromAgentName, + message.message.RegionID.ToString(), + message.message.Position.ToString(), + message.message.Dialog.ToString()); + break; + } + + if (!AutoTranslate) + { + strMessage += message.message.Message; + newchat.chat.AppendLine(strMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), fromAvatarName, strMessage, false); + } + } + else + { + translateMessage = Utilities.TranslateText(message.message.Message, FromLanguage, ToLanguage); + translateMessage = strMessage + bot.Localization.clResourceManager.getText("frmChat.Translated") + translateMessage; + strMessage += message.message.Message; + newchat.chat.AppendLine(strMessage); + newchat.chat.AppendLine(translateMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), fromAvatarName, strMessage, false); + LogChat(message.client.ToString(), fromAvatarName, translateMessage, false); + } + } + + newchat.client = message.client; + newchat.fromAgentName = fromAvatarName; + newchat.fromAgentUUID = message.message.FromAgentID; + newchat.isGeneralChat = false; + newchat.isGroupChat = false; + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == message.client.ToString()) + lstChatters.Items.Add(fromAvatarName); + } + else + { + strMessage = "[" + message.timestamp.Hour.ToString("00") + ":" + message.timestamp.Minute.ToString("00") + "] "; + + strMessage += message.message.FromAgentName + ": "; + + if (!AutoTranslate) + { + strMessage += message.message.Message; + newchat.chat.AppendLine(strMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), groupName, strMessage, false); + } + } + else + { + translateMessage = Utilities.TranslateText(message.message.Message, FromLanguage, ToLanguage); + translateMessage = strMessage + bot.Localization.clResourceManager.getText("frmChat.Translated") + translateMessage; + strMessage += message.message.Message; + newchat.chat.AppendLine(strMessage); + newchat.chat.AppendLine(translateMessage); + if (Program.getWriteChatToFileSetting()) + { + LogChat(message.client.ToString(), groupName, strMessage, false); + LogChat(message.client.ToString(), groupName, translateMessage, false); + } + } + + newchat.client = message.client; + newchat.fromAgentName = groupName; + newchat.fromAgentUUID = message.message.IMSessionID; + newchat.isGeneralChat = false; + newchat.isGroupChat = true; + if (cmbBots.SelectedItem != null) + if (cmbBots.SelectedItem.ToString() == message.client.ToString()) + lstChatters.Items.Add(groupName); + } + chats.Add(newchat); + } + } + + return; + } + + void OnGroupNames(Dictionary groupNames) + { + if (groupNames[messageID] != "") + { + isGroupIM = true; + groupName = groupNames[messageID]; + } + + GetGroupNameEvent.Set(); + } + + private void frmChat_Load(object sender, EventArgs e) + { + foreach (KeyValuePair kvp in _langCodes.LangCodes) + { + cmbFromLanguage.Items.Add(kvp.Key); + cmbToLanguage.Items.Add(kvp.Key); + } + cmbFromLanguage.SelectedIndex = 0; + cmbToLanguage.SelectedIndex = 0; + } + + private void lstChatters_SelectedValueChanged(object sender, EventArgs e) + { + if (lstChatters.SelectedItem != null) + { + for (int i = 0; i < chats.Count; i++) + { + if (chats[i].client.ToString() == cmbBots.SelectedItem.ToString()) + { + if (chats[i].fromAgentName == lstChatters.SelectedItem.ToString()) + { + rtbChat.Text = chats[i].chat.ToString(); + break; + } + } + } + } + } + + private void edtInput_KeyPress(object sender, KeyPressEventArgs e) + { + string translatedMessage; + + if (lstChatters.SelectedItem != null) + { + if (e.KeyChar == '\r') + { + if (this.OnInputSend != null) + { + for (int i = 0; i < chats.Count; i++) + { + if (chats[i].fromAgentName == lstChatters.SelectedItem.ToString() && chats[i].client.ToString() == cmbBots.SelectedItem.ToString()) + { + if (chats[i].isGeneralChat) + { + string RealChat; + int RealChannel; + + if (edtInput.Text.StartsWith("/")) + { + RealChat = edtInput.Text.Split(" ".ToCharArray())[0]; + RealChat = RealChat.TrimStart("/".ToCharArray()); + if (Int32.TryParse(RealChat.TrimStart("/".ToCharArray()), out RealChannel)) + { + RealChat = edtInput.Text.Substring(1 + edtInput.Text.Split(" ".ToCharArray()).Length); + } + else + { + RealChat = edtInput.Text; + RealChannel = 0; + } + } + else + { + RealChat = edtInput.Text; + RealChannel = 0; + } + + if (AutoTranslate) + { + translatedMessage = Utilities.TranslateText(RealChat, ToLanguage, FromLanguage); + translatedMessage = "(" + translatedString.ToUpperInvariant() + ") " + translatedMessage; + chats[i].client.Self.Chat(RealChat, RealChannel, ChatType.Normal); + chats[i].client.Self.Chat(translatedMessage, RealChannel, ChatType.Normal); + } + else + chats[i].client.Self.Chat(RealChat, RealChannel, ChatType.Normal); + + break; + } + else + { + if (chats[i].isGroupChat) + { + if (chats[i].client.Self.GroupChatSessions.ContainsKey(chats[i].fromAgentUUID)) + { + chats[i].client.Self.InstantMessageGroup(chats[i].fromAgentUUID, edtInput.Text); + break; + } + else + { + JoinGroupChatEvent = new ManualResetEvent(false); + chats[i].client.Self.GroupChatJoined += OnGroupChatJoin; + chats[i].client.Self.RequestJoinGroupChat(chats[i].fromAgentUUID); + JoinGroupChatEvent.WaitOne(15000, false); + chats[i].client.Self.GroupChatJoined -= OnGroupChatJoin; + + if (AutoTranslate) + { + translatedMessage = Utilities.TranslateText(edtInput.Text, ToLanguage, FromLanguage); + translatedMessage = "(" + translatedString.ToUpperInvariant() + ") " + translatedMessage; + chats[i].client.Self.InstantMessageGroup(chats[i].fromAgentUUID, edtInput.Text); + chats[i].client.Self.InstantMessageGroup(chats[i].fromAgentUUID, translatedMessage); + } + else + chats[i].client.Self.InstantMessageGroup(chats[i].fromAgentUUID, edtInput.Text); + + break; + } + } + else + { + InstantMessage im = new InstantMessage(); + + im.Message = edtInput.Text; + im.FromAgentID = chats[i].fromAgentUUID; + im.FromAgentName = chats[i].fromAgentName; + im.Dialog = InstantMessageDialog.MessageFromAgent; + + if (AutoTranslate) + { + translatedMessage = Utilities.TranslateText(edtInput.Text, ToLanguage, FromLanguage); + translatedMessage = "(" + translatedString.ToUpperInvariant() + ") " + translatedMessage; + chats[i].client.Self.InstantMessage(chats[i].fromAgentUUID, edtInput.Text); + chats[i].client.Self.InstantMessage(chats[i].fromAgentUUID, translatedMessage); + } + else + chats[i].client.Self.InstantMessage(chats[i].fromAgentUUID, edtInput.Text); + + this.OnInputSend(chats[i].client, im, null, DateTime.Now); + break; + } + } + } + } + } + this.edtInput.Text = string.Empty; + } + } + } + + // I do not see whay this should do nothing here. + void OnGroupChatJoin(object sender, GroupChatJoinedEventArgs e) + { + JoinGroupChatEvent.Set(); + return; + } + + private void cmbBots_SelectionChangeCommitted(object sender, EventArgs e) + { + if (cmbBots.SelectedItem != null) + { + lstChatters.Items.Clear(); + + for (int i = 0; i < chats.Count; i++) + { + if (chats[i].client.ToString() == cmbBots.SelectedItem.ToString()) + { + lstChatters.Items.Add(chats[i].fromAgentName); + } + } + } + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Hide(); + } + + private bool isGroup(InstantMessage message, SecondLifeBot imClient) + { + GetGroupNameEvent = new ManualResetEvent(false); + + isGroupIM = false; + groupName = ""; + + imClient.key2Name(message.IMSessionID, out groupName, out isGroupIM); + + if (isGroupIM) + return true; + else + return false; + } + + private void lstChatters_DrawItem(object sender, DrawItemEventArgs e) + { + string colorName; + Rectangle rect = e.Bounds; + string myObject = lstChatters.Items[e.Index].ToString(); + if (e.State == DrawItemState.Selected) + { + e.Graphics.FillRectangle(Brushes.White, rect); + } + else + { + e.Graphics.FillRectangle(Brushes.Black, rect); + } + + if (myObject == bot.Localization.clResourceManager.getText("frmChat.Chat")) + { + colorName = "Red"; + } + else + { + if (e.State == DrawItemState.Selected) + { + colorName = "Black"; + } + else + { + colorName = "White"; + } + } + + SolidBrush myBrush = new SolidBrush(Color.FromName(colorName)); + + e.Graphics.DrawString(myObject, e.Font, myBrush, rect.X + 1, rect.Y + 2); + + myBrush.Dispose(); + } + + private void frmChat_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmChat_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + private void LogChat(string BotName, string AvatarName, string msg, bool isGroup) + { + StreamWriter chatFile; + string filename; + + msg = "[" + DateTime.Now.Year.ToString("0000") + "/" + DateTime.Now.Month.ToString("00") + "/" + DateTime.Now.Day.ToString("00") + "]" + msg; + + if (!Directory.Exists("./logs")) + Directory.CreateDirectory("./logs"); + if (!Directory.Exists("./logs/" + BotName)) + Directory.CreateDirectory("./logs/" + BotName); + if (isGroup) + if (!Directory.Exists("./logs/" + BotName + "/groups")) + Directory.CreateDirectory("./logs/" + BotName + "/groups"); + + if (isGroup) + filename = "./logs/" + BotName + "/groups/" + AvatarName + ".txt"; + else + filename = "./logs/" + BotName + "/" + AvatarName + ".txt"; + + if (File.Exists(filename)) + chatFile = File.AppendText(filename); + else + chatFile = File.CreateText(filename); + + chatFile.WriteLine(msg); + chatFile.Close(); + } + + private void cmbFromLanguage_SelectionChangeCommitted(object sender, EventArgs e) + { + if (cmbFromLanguage.SelectedItem != null) + { + _langCodes.LangCodes.TryGetValue(cmbFromLanguage.SelectedItem.ToString(), out FromLanguage); + translatedString = Utilities.TranslateText("translated", "en", FromLanguage); + } + } + + private void cmbToLanguage_SelectionChangeCommitted(object sender, EventArgs e) + { + if (cmbToLanguage.SelectedItem != null) + { + _langCodes.LangCodes.TryGetValue(cmbToLanguage.SelectedItem.ToString(), out ToLanguage); + } + } + + private void chkAutoTranslate_CheckedChanged(object sender, EventArgs e) + { + if (chkAutoTranslate.Checked) + { + cmbFromLanguage.Enabled = true; + cmbToLanguage.Enabled = true; + AutoTranslate = true; + } + else + { + cmbFromLanguage.Enabled = false; + cmbToLanguage.Enabled = false; + AutoTranslate = false; + } + } + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmChat.resx b/SLBot/bot/GUI/frmChat.resx new file mode 100644 index 0000000..c7e0d4b --- /dev/null +++ b/SLBot/bot/GUI/frmChat.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmConsole.Designer.cs b/SLBot/bot/GUI/frmConsole.Designer.cs new file mode 100644 index 0000000..eacc904 --- /dev/null +++ b/SLBot/bot/GUI/frmConsole.Designer.cs @@ -0,0 +1,118 @@ +namespace bot.GUI +{ + partial class frmConsole + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConsole)); + this.edtInput = new System.Windows.Forms.TextBox(); + this.rtbConsole = new System.Windows.Forms.RichTextBox(); + this.btnClose = new clControls.clImageButton(); + this.lblConsole = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.btnClose)).BeginInit(); + this.SuspendLayout(); + // + // edtInput + // + this.edtInput.Anchor = System.Windows.Forms.AnchorStyles.None; + this.edtInput.BackColor = System.Drawing.Color.Black; + this.edtInput.ForeColor = System.Drawing.Color.Lime; + this.edtInput.Location = new System.Drawing.Point(26, 327); + this.edtInput.Name = "edtInput"; + this.edtInput.Size = new System.Drawing.Size(376, 20); + this.edtInput.TabIndex = 0; + this.edtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.edtInput_KeyPress); + // + // rtbConsole + // + this.rtbConsole.Anchor = System.Windows.Forms.AnchorStyles.None; + this.rtbConsole.BackColor = System.Drawing.Color.Black; + this.rtbConsole.ForeColor = System.Drawing.Color.Lime; + this.rtbConsole.Location = new System.Drawing.Point(26, 31); + this.rtbConsole.Name = "rtbConsole"; + this.rtbConsole.ReadOnly = true; + this.rtbConsole.Size = new System.Drawing.Size(376, 290); + this.rtbConsole.TabIndex = 1; + this.rtbConsole.Text = ""; + // + // btnClose + // + this.btnClose.BackColor = System.Drawing.Color.Transparent; + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Location = new System.Drawing.Point(378, 4); + this.btnClose.Name = "btnClose"; + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 2; + this.btnClose.TabStop = false; + this.btnClose.Text = "X"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // lblConsole + // + this.lblConsole.AutoSize = true; + this.lblConsole.BackColor = System.Drawing.Color.Transparent; + this.lblConsole.Font = new System.Drawing.Font("Lucida Handwriting", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblConsole.ForeColor = System.Drawing.Color.White; + this.lblConsole.Location = new System.Drawing.Point(22, 9); + this.lblConsole.Name = "lblConsole"; + this.lblConsole.Size = new System.Drawing.Size(75, 19); + this.lblConsole.TabIndex = 3; + this.lblConsole.Text = "Console"; + // + // frmConsole + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmConsole"); + this.ClientSize = new System.Drawing.Size(426, 349); + this.Controls.Add(this.lblConsole); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.rtbConsole); + this.Controls.Add(this.edtInput); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "frmConsole"; + this.Text = "frmConsole"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmConsole_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmConsole_MouseMove); + ((System.ComponentModel.ISupportInitialize)(this.btnClose)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox edtInput; + private System.Windows.Forms.RichTextBox rtbConsole; + private clControls.clImageButton btnClose; + private System.Windows.Forms.Label lblConsole; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmConsole.cs b/SLBot/bot/GUI/frmConsole.cs new file mode 100644 index 0000000..cd0036e --- /dev/null +++ b/SLBot/bot/GUI/frmConsole.cs @@ -0,0 +1,150 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmConsole.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.GUI +{ + using bot; + using bot.license; + using bot.GUI; + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.Data; + using System.Drawing; + using System.Text; + using System.Windows.Forms; + using clControls; + using System.IO; + + public partial class frmConsole : Form + { + public delegate void InputSendCallback(string message); + + public event InputSendCallback OnInputSend; + + public delegate void OutputSendCallback(string message); + + public event OutputSendCallback OnOutputSend; + + public delegate void RealOnConsoleWriteCallBack(string message); + + private Point mouse_offset; + + RealOnConsoleWriteCallBack RealOnConsoleWrite; + + public frmConsole() + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + + bot.Console.Initialize(this); + bot.Console.OnConsoleWrite += new bot.Console.ConsoleWriteCallback(this.Program_OnConsoleWrite); + this.Text = bot.Localization.clResourceManager.getText("frmMain.tabConsole"); + lblConsole.Text = bot.Localization.clResourceManager.getText("frmMain.tabConsole"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmConsole"); + RealOnConsoleWrite = new RealOnConsoleWriteCallBack(Real_OnConsoleWrite); + } + + private void Program_OnConsoleWrite(string msg) + { + try + { + this.Invoke(RealOnConsoleWrite, msg); + } + catch + { + } + } + + private void Real_OnConsoleWrite(string msg) + { + if (msg != null) + { + this.rtbConsole.AppendText(string.Format("{0}\n", msg)); + this.rtbConsole.Update(); + this.rtbConsole.ScrollToCaret(); + + if (Program.getWriteConsoleToFileSetting()) + { + StreamWriter consoleFile; + + if (File.Exists("./console.log")) + consoleFile = File.AppendText("./console.log"); + else + consoleFile = File.CreateText("./console.log"); + + consoleFile.WriteLine("(" + DateTime.Now.ToString() + "): " + msg); + consoleFile.Close(); + } + } + } + + private void edtInput_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == '\r') + { + if (this.OnInputSend != null) + { + this.OnInputSend(string.Format("Console> {0}", this.edtInput.Text)); + } + this.OnOutputSend(this.edtInput.Text); + this.edtInput.Text = string.Empty; + } + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Hide(); + } + + private void frmConsole_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmConsole_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + } +} diff --git a/SLBot/bot/GUI/frmConsole.resx b/SLBot/bot/GUI/frmConsole.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/SLBot/bot/GUI/frmConsole.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmCrasher.cs b/SLBot/bot/GUI/frmCrasher.cs new file mode 100644 index 0000000..a0a5084 --- /dev/null +++ b/SLBot/bot/GUI/frmCrasher.cs @@ -0,0 +1,942 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmCrasher.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using OpenMetaverse; +using OpenMetaverse.Packets; +using System.Text; +using System.Windows.Forms; + +namespace bot.GUI +{ + + public class frmCrasher : Form + { + // Fields + private Button buttonFieldCopy; + private Button buttonFieldCreate; + private Button buttonFieldDelete; + private Button buttonLogin; + private Button buttonSendPacket; + private Button buttonTypeDataDelete; + private Button buttonTypeDataDown; + private Button buttonTypeDataUp; + private CheckBox cbAgentIDMe; + private ComboBox cbFieldType; + private CheckBox cbIDRandom; + private CheckBox cbLoginStart; + private ComboBox cbType; + private GridClient client; + private System.ComponentModel.IContainer components = null; + private Dictionary CustomFields = new Dictionary(); + private GroupBox groupBox1; + private GroupBox groupBox2; + private GroupBox groupBox3; + private Label label1; + private Label label2; + private Label label3; + private Label label4; + private Label label5; + private ListBox lbFieldNames; + private ListBox lbTypeData; + private byte[] MyTypeData = new byte[0]; + private TextBox tbAgentID; + private TextBox tbColorA; + private TextBox tbColorB; + private TextBox tbColorG; + private TextBox tbColorR; + private TextBox tbDuration; + private TextBox tbFieldInput; + private TextBox tbFieldName; + private TextBox tbID; + private Dictionary TypeDataFields = new Dictionary(); + + // Methods + public frmCrasher(SecondLifeBot lol) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.client = lol; + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.InitializeComponent(); + } + + private void buttonFieldCopy_Click(object sender, EventArgs e) + { + if (this.lbFieldNames.SelectedItem != null) + { + string str = this.lbFieldNames.SelectedItem.ToString(); + this.TypeDataFields.Add(this.TypeDataFields.Count, new object[] { str, this.CustomFields[str] }); + this.RefreshTypeDataFields(); + } + } + + private void buttonFieldCreate_Click(object sender, EventArgs e) + { + string text = this.tbFieldInput.Text; + string str2 = this.cbFieldType.Text.ToLower(); + byte[] bytes = new byte[0]; + switch (str2) + { + case "byte": + try + { + bytes = new byte[] { byte.Parse(text) }; + } + catch + { + MessageBox.Show("Invalid value for byte."); + return; + } + goto Label_0277; + + case "lluuid": + UUID lluuid; + try + { + lluuid = new UUID(text); + } + catch + { + MessageBox.Show("Bad UUID"); + return; + } + bytes = lluuid.GetBytes(); + goto Label_0277; + + case "llvector3d": + case "llvector3": + { + string[] strArray = text.Trim(" <>".ToCharArray()).Split(",".ToCharArray()); + if (strArray.Length == 3) + { + double[] numArray = new double[3]; + for (int i = 0; i < 3; i++) + { + try + { + numArray[i] = double.Parse(strArray[i]); + } + catch + { + MessageBox.Show("Something's wrong with value " + ((i + 1)).ToString() + " for the vector."); + return; + } + } + switch (str2) + { + case "llvector3d": + bytes = new Vector3d(numArray[0], numArray[1], numArray[2]).GetBytes(); + break; + + case "llvector3": + bytes = new Vector3((float)numArray[0], (float)numArray[1], (float)numArray[2]).GetBytes(); + break; + } + goto Label_0277; + } + MessageBox.Show("Need three comma separated values to make a vector."); + return; + } + case "utf8encoding": + bytes = new UTF8Encoding().GetBytes(text.ToCharArray()); + goto Label_0277; + + case "null-terminated utf8encoding": + { + char[] chars = new char[text.ToCharArray().Length + 1]; + chars[text.ToCharArray().Length] = '\0'; + bytes = new UTF8Encoding().GetBytes(chars); + goto Label_0277; + } + } + MessageBox.Show("Invalid type."); + return; + Label_0277: + if (this.CustomFields.ContainsKey(this.tbFieldName.Text)) + { + MessageBox.Show("A custom field with that name already exists."); + } + else + { + this.CustomFields.Add(this.tbFieldName.Text, bytes); + this.RefreshCustomFields(); + } + } + + private void buttonFieldDelete_Click(object sender, EventArgs e) + { + if (this.lbFieldNames.SelectedItem != null) + { + this.CustomFields.Remove(this.lbFieldNames.SelectedItem.ToString()); + this.RefreshCustomFields(); + } + } + + private void buttonLogin_Click(object sender, EventArgs e) + { + + } + + private void buttonSendPacket_Click(object sender, EventArgs e) + { + UUID lluuid; + UUID agentID; + byte num; + float num2; + this.RefreshTypeDataFields(); + byte[] buffer = new byte[4]; + if (this.cbIDRandom.Checked) + { + lluuid = UUID.Random(); + } + else + { + try + { + lluuid = new UUID(this.tbID.Text); + } + catch + { + MessageBox.Show("Invalid ID for EffectBlock."); + return; + } + } + if (this.cbAgentIDMe.Checked) + { + agentID = this.client.Self.AgentID; + } + else + { + try + { + agentID = new UUID(this.tbAgentID.Text); + } + catch + { + MessageBox.Show("Invalid AgentID for EffectBlock."); + return; + } + } + try + { + num2 = float.Parse(this.tbDuration.Text); + } + catch + { + MessageBox.Show("Invalid Duration for EffectBlock"); + return; + } + try + { + buffer = new byte[] { byte.Parse(this.tbColorR.Text), byte.Parse(this.tbColorG.Text), byte.Parse(this.tbColorB.Text), byte.Parse(this.tbColorA.Text) }; + } + catch + { + MessageBox.Show("Invalid Color for EffectBlock"); + return; + } + switch (this.cbType.Text.ToLower()) + { + case "text": + num = 0; + break; + + case "icon": + num = 1; + break; + + case "connector": + num = 2; + break; + + case "flexibleobject": + num = 3; + break; + + case "animalcontrols": + num = 4; + break; + + case "animationobject": + num = 5; + break; + + case "cloth": + num = 6; + break; + + case "beam": + num = 7; + break; + + case "glow": + num = 8; + break; + + case "point": + num = 9; + break; + + case "trail": + num = 10; + break; + + case "sphere": + num = 11; + break; + + case "spiral": + num = 12; + break; + + case "edit": + num = 13; + break; + + case "lookat": + num = 14; + break; + + case "pointat": + num = 15; + break; + + default: + MessageBox.Show("Invalid Type for EffectBlock."); + return; + } + ViewerEffectPacket packet = new ViewerEffectPacket(); + packet.AgentData.AgentID = this.client.Self.AgentID; + packet.AgentData.SessionID = this.client.Self.SessionID; + packet.Effect = new ViewerEffectPacket.EffectBlock[] { new ViewerEffectPacket.EffectBlock() }; + packet.Effect[0].AgentID = agentID; + packet.Effect[0].Color = buffer; + packet.Effect[0].Duration = num2; + packet.Effect[0].ID = lluuid; + packet.Effect[0].Type = num; + packet.Effect[0].TypeData = this.MyTypeData; + this.client.Network.SendPacket(packet); + } + + private void buttonTypeDataDelete_Click(object sender, EventArgs e) + { + int selectedIndex = this.lbTypeData.SelectedIndex; + if (selectedIndex != -1) + { + this.TypeDataFields.Remove(selectedIndex); + Dictionary dictionary = new Dictionary(); + int key = 0; + foreach (KeyValuePair pair in this.TypeDataFields) + { + dictionary.Add(key++, pair.Value); + } + int count = this.TypeDataFields.Count; + this.TypeDataFields.Clear(); + for (key = 0; key < count; key++) + { + this.TypeDataFields.Add(key, dictionary[key]); + } + this.RefreshTypeDataFields(); + } + } + + private void buttonTypeDataDown_Click(object sender, EventArgs e) + { + int selectedIndex = this.lbTypeData.SelectedIndex; + if ((selectedIndex != -1) && (selectedIndex < (this.TypeDataFields.Count - 1))) + { + object[] objArray = this.TypeDataFields[selectedIndex + 1]; + this.TypeDataFields[selectedIndex + 1] = this.TypeDataFields[selectedIndex]; + this.TypeDataFields[selectedIndex] = objArray; + this.RefreshTypeDataFields(); + this.lbTypeData.SelectedIndex = selectedIndex + 1; + } + } + + private void buttonTypeDataUp_Click(object sender, EventArgs e) + { + int selectedIndex = this.lbTypeData.SelectedIndex; + if (selectedIndex > 0) + { + object[] objArray = this.TypeDataFields[selectedIndex - 1]; + this.TypeDataFields[selectedIndex - 1] = this.TypeDataFields[selectedIndex]; + this.TypeDataFields[selectedIndex] = objArray; + this.RefreshTypeDataFields(); + this.lbTypeData.SelectedIndex = selectedIndex - 1; + } + } + + private string BytesToHex(byte[] hval) + { + char[] chArray = new char[hval.Length * 2]; + char[] chArray2 = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + for (int i = 0; i < hval.Length; i++) + { + chArray[i * 2] = chArray2[(hval[i] >> 4) & 15]; + chArray[(i * 2) + 1] = chArray2[hval[i] & 15]; + } + return new string(chArray); + } + + + + protected override void Dispose(bool disposing) + { + if (disposing && (this.components != null)) + { + this.components.Dispose(); + } + base.Dispose(disposing); + } + + private void Form1_Load(object sender, EventArgs e) + { + this.CustomFields.Add("*Self.GlobalPosition", new byte[0]); + this.CustomFields.Add("*Self.GlobalPosition+<0,0,2>", new byte[0]); + this.CustomFields.Add("*Vector3d.Zero", new byte[0]); + this.CustomFields.Add("*Self.AgentID", new byte[0]); + this.CustomFields.Add("*UUID.Zero", new byte[0]); + this.RefreshCustomFields(); + } + + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmCrasher)); + this.cbLoginStart = new System.Windows.Forms.CheckBox(); + this.buttonLogin = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.tbFieldName = new System.Windows.Forms.TextBox(); + this.buttonFieldCreate = new System.Windows.Forms.Button(); + this.cbFieldType = new System.Windows.Forms.ComboBox(); + this.tbFieldInput = new System.Windows.Forms.TextBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.buttonTypeDataDelete = new System.Windows.Forms.Button(); + this.buttonTypeDataDown = new System.Windows.Forms.Button(); + this.buttonTypeDataUp = new System.Windows.Forms.Button(); + this.lbTypeData = new System.Windows.Forms.ListBox(); + this.buttonFieldCopy = new System.Windows.Forms.Button(); + this.buttonFieldDelete = new System.Windows.Forms.Button(); + this.lbFieldNames = new System.Windows.Forms.ListBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.cbAgentIDMe = new System.Windows.Forms.CheckBox(); + this.cbIDRandom = new System.Windows.Forms.CheckBox(); + this.tbColorR = new System.Windows.Forms.TextBox(); + this.tbColorG = new System.Windows.Forms.TextBox(); + this.tbColorB = new System.Windows.Forms.TextBox(); + this.tbColorA = new System.Windows.Forms.TextBox(); + this.tbDuration = new System.Windows.Forms.TextBox(); + this.cbType = new System.Windows.Forms.ComboBox(); + this.tbAgentID = new System.Windows.Forms.TextBox(); + this.tbID = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonSendPacket = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.SuspendLayout(); + // + // cbLoginStart + // + this.cbLoginStart.AutoSize = true; + this.cbLoginStart.Location = new System.Drawing.Point(7, 48); + this.cbLoginStart.Name = "cbLoginStart"; + this.cbLoginStart.Size = new System.Drawing.Size(92, 17); + this.cbLoginStart.TabIndex = 8; + this.cbLoginStart.Text = "Start Location"; + this.cbLoginStart.UseVisualStyleBackColor = true; + // + // buttonLogin + // + this.buttonLogin.Location = new System.Drawing.Point(234, 18); + this.buttonLogin.Name = "buttonLogin"; + this.buttonLogin.Size = new System.Drawing.Size(75, 23); + this.buttonLogin.TabIndex = 3; + this.buttonLogin.Text = "Login"; + this.buttonLogin.UseVisualStyleBackColor = true; + this.buttonLogin.Click += new System.EventHandler(this.buttonLogin_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.tbFieldName); + this.groupBox1.Controls.Add(this.buttonFieldCreate); + this.groupBox1.Controls.Add(this.cbFieldType); + this.groupBox1.Controls.Add(this.tbFieldInput); + this.groupBox1.Location = new System.Drawing.Point(13, 173); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(320, 83); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "New TypeData Field"; + // + // tbFieldName + // + this.tbFieldName.Location = new System.Drawing.Point(133, 47); + this.tbFieldName.Name = "tbFieldName"; + this.tbFieldName.Size = new System.Drawing.Size(95, 20); + this.tbFieldName.TabIndex = 3; + this.tbFieldName.Text = "Name"; + // + // buttonFieldCreate + // + this.buttonFieldCreate.Location = new System.Drawing.Point(234, 45); + this.buttonFieldCreate.Name = "buttonFieldCreate"; + this.buttonFieldCreate.Size = new System.Drawing.Size(75, 23); + this.buttonFieldCreate.TabIndex = 2; + this.buttonFieldCreate.Text = "Create"; + this.buttonFieldCreate.UseVisualStyleBackColor = true; + this.buttonFieldCreate.Click += new System.EventHandler(this.buttonFieldCreate_Click); + // + // cbFieldType + // + this.cbFieldType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.cbFieldType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.cbFieldType.FormattingEnabled = true; + this.cbFieldType.Items.AddRange(new object[] + { + "UUID", + "Vector3", + "Vector3d", + "UTF8Encoding", + "Null-terminated UTF8Encoding", + "Byte" + }); + this.cbFieldType.Location = new System.Drawing.Point(7, 47); + this.cbFieldType.Name = "cbFieldType"; + this.cbFieldType.Size = new System.Drawing.Size(120, 21); + this.cbFieldType.TabIndex = 1; + this.cbFieldType.Text = "Type..."; + // + // tbFieldInput + // + this.tbFieldInput.Location = new System.Drawing.Point(7, 19); + this.tbFieldInput.Name = "tbFieldInput"; + this.tbFieldInput.Size = new System.Drawing.Size(302, 20); + this.tbFieldInput.TabIndex = 0; + this.tbFieldInput.Text = "Data"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.buttonTypeDataDelete); + this.groupBox2.Controls.Add(this.buttonTypeDataDown); + this.groupBox2.Controls.Add(this.buttonTypeDataUp); + this.groupBox2.Controls.Add(this.lbTypeData); + this.groupBox2.Controls.Add(this.buttonFieldCopy); + this.groupBox2.Controls.Add(this.buttonFieldDelete); + this.groupBox2.Controls.Add(this.lbFieldNames); + this.groupBox2.Location = new System.Drawing.Point(13, 262); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(320, 256); + this.groupBox2.TabIndex = 2; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "TypeData Builder"; + // + // buttonTypeDataDelete + // + this.buttonTypeDataDelete.Location = new System.Drawing.Point(268, 225); + this.buttonTypeDataDelete.Name = "buttonTypeDataDelete"; + this.buttonTypeDataDelete.Size = new System.Drawing.Size(41, 23); + this.buttonTypeDataDelete.TabIndex = 6; + this.buttonTypeDataDelete.Text = "Del"; + this.buttonTypeDataDelete.UseVisualStyleBackColor = true; + this.buttonTypeDataDelete.Click += new System.EventHandler(this.buttonTypeDataDelete_Click); + // + // buttonTypeDataDown + // + this.buttonTypeDataDown.Location = new System.Drawing.Point(216, 225); + this.buttonTypeDataDown.Name = "buttonTypeDataDown"; + this.buttonTypeDataDown.Size = new System.Drawing.Size(46, 23); + this.buttonTypeDataDown.TabIndex = 5; + this.buttonTypeDataDown.Text = "Down"; + this.buttonTypeDataDown.UseVisualStyleBackColor = true; + this.buttonTypeDataDown.Click += new System.EventHandler(this.buttonTypeDataDown_Click); + // + // buttonTypeDataUp + // + this.buttonTypeDataUp.Location = new System.Drawing.Point(164, 225); + this.buttonTypeDataUp.Name = "buttonTypeDataUp"; + this.buttonTypeDataUp.Size = new System.Drawing.Size(46, 23); + this.buttonTypeDataUp.TabIndex = 4; + this.buttonTypeDataUp.Text = "Up"; + this.buttonTypeDataUp.UseVisualStyleBackColor = true; + this.buttonTypeDataUp.Click += new System.EventHandler(this.buttonTypeDataUp_Click); + // + // lbTypeData + // + this.lbTypeData.FormattingEnabled = true; + this.lbTypeData.Location = new System.Drawing.Point(164, 20); + this.lbTypeData.Name = "lbTypeData"; + this.lbTypeData.ScrollAlwaysVisible = true; + this.lbTypeData.Size = new System.Drawing.Size(145, 199); + this.lbTypeData.TabIndex = 3; + // + // buttonFieldCopy + // + this.buttonFieldCopy.Location = new System.Drawing.Point(83, 225); + this.buttonFieldCopy.Name = "buttonFieldCopy"; + this.buttonFieldCopy.Size = new System.Drawing.Size(69, 23); + this.buttonFieldCopy.TabIndex = 2; + this.buttonFieldCopy.Text = ">>"; + this.buttonFieldCopy.UseVisualStyleBackColor = true; + this.buttonFieldCopy.Click += new System.EventHandler(this.buttonFieldCopy_Click); + // + // buttonFieldDelete + // + this.buttonFieldDelete.Location = new System.Drawing.Point(7, 225); + this.buttonFieldDelete.Name = "buttonFieldDelete"; + this.buttonFieldDelete.Size = new System.Drawing.Size(70, 23); + this.buttonFieldDelete.TabIndex = 1; + this.buttonFieldDelete.Text = "Delete"; + this.buttonFieldDelete.UseVisualStyleBackColor = true; + this.buttonFieldDelete.Click += new System.EventHandler(this.buttonFieldDelete_Click); + // + // lbFieldNames + // + this.lbFieldNames.FormattingEnabled = true; + this.lbFieldNames.Location = new System.Drawing.Point(7, 20); + this.lbFieldNames.Name = "lbFieldNames"; + this.lbFieldNames.ScrollAlwaysVisible = true; + this.lbFieldNames.Size = new System.Drawing.Size(145, 199); + this.lbFieldNames.TabIndex = 0; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.cbAgentIDMe); + this.groupBox3.Controls.Add(this.cbIDRandom); + this.groupBox3.Controls.Add(this.tbColorR); + this.groupBox3.Controls.Add(this.tbColorG); + this.groupBox3.Controls.Add(this.tbColorB); + this.groupBox3.Controls.Add(this.tbColorA); + this.groupBox3.Controls.Add(this.tbDuration); + this.groupBox3.Controls.Add(this.cbType); + this.groupBox3.Controls.Add(this.tbAgentID); + this.groupBox3.Controls.Add(this.tbID); + this.groupBox3.Controls.Add(this.label5); + this.groupBox3.Controls.Add(this.label4); + this.groupBox3.Controls.Add(this.label3); + this.groupBox3.Controls.Add(this.label2); + this.groupBox3.Controls.Add(this.label1); + this.groupBox3.Location = new System.Drawing.Point(13, 12); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(320, 153); + this.groupBox3.TabIndex = 3; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "EffectBlock Misc"; + // + // cbAgentIDMe + // + this.cbAgentIDMe.AutoSize = true; + this.cbAgentIDMe.Checked = true; + this.cbAgentIDMe.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbAgentIDMe.Location = new System.Drawing.Point(58, 49); + this.cbAgentIDMe.Name = "cbAgentIDMe"; + this.cbAgentIDMe.Size = new System.Drawing.Size(41, 17); + this.cbAgentIDMe.TabIndex = 14; + this.cbAgentIDMe.Text = "Me"; + this.cbAgentIDMe.UseVisualStyleBackColor = true; + // + // cbIDRandom + // + this.cbIDRandom.AutoSize = true; + this.cbIDRandom.Checked = true; + this.cbIDRandom.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbIDRandom.Location = new System.Drawing.Point(30, 23); + this.cbIDRandom.Name = "cbIDRandom"; + this.cbIDRandom.Size = new System.Drawing.Size(66, 17); + this.cbIDRandom.TabIndex = 13; + this.cbIDRandom.Text = "Random"; + this.cbIDRandom.UseVisualStyleBackColor = true; + // + // tbColorR + // + this.tbColorR.Location = new System.Drawing.Point(115, 127); + this.tbColorR.Name = "tbColorR"; + this.tbColorR.Size = new System.Drawing.Size(45, 20); + this.tbColorR.TabIndex = 12; + this.tbColorR.Text = "255"; + this.tbColorR.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // tbColorG + // + this.tbColorG.Location = new System.Drawing.Point(166, 127); + this.tbColorG.Name = "tbColorG"; + this.tbColorG.Size = new System.Drawing.Size(45, 20); + this.tbColorG.TabIndex = 11; + this.tbColorG.Text = "255"; + this.tbColorG.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // tbColorB + // + this.tbColorB.Location = new System.Drawing.Point(217, 127); + this.tbColorB.Name = "tbColorB"; + this.tbColorB.Size = new System.Drawing.Size(45, 20); + this.tbColorB.TabIndex = 10; + this.tbColorB.Text = "255"; + this.tbColorB.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // tbColorA + // + this.tbColorA.Location = new System.Drawing.Point(268, 127); + this.tbColorA.Name = "tbColorA"; + this.tbColorA.Size = new System.Drawing.Size(45, 20); + this.tbColorA.TabIndex = 9; + this.tbColorA.Text = "255"; + this.tbColorA.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // tbDuration + // + this.tbDuration.Location = new System.Drawing.Point(201, 100); + this.tbDuration.Name = "tbDuration"; + this.tbDuration.Size = new System.Drawing.Size(113, 20); + this.tbDuration.TabIndex = 8; + this.tbDuration.Text = "10"; + this.tbDuration.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // cbType + // + this.cbType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.cbType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.cbType.FormattingEnabled = true; + this.cbType.Items.AddRange(new object[] + { + "Text", + "Icon", + "Connector", + "FlexibleObject", + "AnimalControls", + "AnimationObject", + "Cloth", + "Beam", + "Glow", + "Point", + "Trail", + "Sphere", + "Spiral", + "Edit", + "LookAt", + "PointAt" + }); + this.cbType.Location = new System.Drawing.Point(201, 73); + this.cbType.Name = "cbType"; + this.cbType.Size = new System.Drawing.Size(113, 21); + this.cbType.TabIndex = 7; + this.cbType.Text = "Type..."; + // + // tbAgentID + // + this.tbAgentID.Location = new System.Drawing.Point(102, 47); + this.tbAgentID.Name = "tbAgentID"; + this.tbAgentID.Size = new System.Drawing.Size(212, 20); + this.tbAgentID.TabIndex = 6; + this.tbAgentID.Text = "00000000-0000-0000-0000-000000000000"; + // + // tbID + // + this.tbID.Location = new System.Drawing.Point(102, 21); + this.tbID.Name = "tbID"; + this.tbID.Size = new System.Drawing.Size(212, 20); + this.tbID.TabIndex = 5; + this.tbID.Text = "00000000-0000-0000-0000-000000000000"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(6, 130); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(31, 13); + this.label5.TabIndex = 4; + this.label5.Text = "Color"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(6, 103); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(47, 13); + this.label4.TabIndex = 3; + this.label4.Text = "Duration"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(6, 76); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(31, 13); + this.label3.TabIndex = 2; + this.label3.Text = "Type"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(6, 50); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(46, 13); + this.label2.TabIndex = 1; + this.label2.Text = "AgentID"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 24); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(18, 13); + this.label1.TabIndex = 0; + this.label1.Text = "ID"; + // + // buttonSendPacket + // + this.buttonSendPacket.Location = new System.Drawing.Point(13, 525); + this.buttonSendPacket.Name = "buttonSendPacket"; + this.buttonSendPacket.Size = new System.Drawing.Size(320, 23); + this.buttonSendPacket.TabIndex = 4; + this.buttonSendPacket.Text = "Send Packet"; + this.buttonSendPacket.UseVisualStyleBackColor = true; + this.buttonSendPacket.Click += new System.EventHandler(this.buttonSendPacket_Click); + // + // frmCrasher + // + this.ClientSize = new System.Drawing.Size(345, 560); + this.Controls.Add(this.buttonSendPacket); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.groupBox2); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "frmCrasher"; + this.Text = "ViewerEffectTypes"; + this.Load += new System.EventHandler(this.Form1_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.ResumeLayout(false); + + } + + + + private void RefreshCustomFields() + { + this.lbFieldNames.Items.Clear(); + foreach (KeyValuePair pair in this.CustomFields) + { + this.lbFieldNames.Items.Add(pair.Key); + } + } + + private void RefreshTypeDataFields() + { + string str; + byte[] bytes; + this.lbTypeData.Items.Clear(); + int num = 0; + foreach (KeyValuePair pair in this.TypeDataFields) + { + str = (string)pair.Value[0]; + if (str == "*Self.GlobalPosition") + { + bytes = this.client.Self.GlobalPosition.GetBytes(); + } + else if (str == "*Self.GlobalPostion+<0,0,2>") + { + Vector3d vectord = new Vector3d(this.client.Self.GlobalPosition.X, this.client.Self.GlobalPosition.Y, this.client.Self.GlobalPosition.Z + 2.0); + bytes = vectord.GetBytes(); + } + else if (str == "*Vector3d.Zero") + { + bytes = Vector3d.Zero.GetBytes(); + } + else if (str == "*Self.AgentID") + { + bytes = this.client.Self.AgentID.GetBytes(); + } + else if (str == "*UUID.Zero") + { + bytes = UUID.Zero.GetBytes(); + } + else + { + bytes = (byte[])pair.Value[1]; + } + num += bytes.Length; + this.lbTypeData.Items.Add(str); + } + this.MyTypeData = new byte[num]; + int dstOffset = 0; + foreach (KeyValuePair pair in this.TypeDataFields) + { + str = (string)pair.Value[0]; + if (str == "*Self.GlobalPosition") + { + bytes = this.client.Self.GlobalPosition.GetBytes(); + } + else if (str == "*Self.GlobalPostion+<0,0,2>") + { + bytes = new Vector3d(this.client.Self.GlobalPosition.X, this.client.Self.GlobalPosition.Y, this.client.Self.GlobalPosition.Z + 2.0).GetBytes(); + } + else if (str == "*Vector3d.Zero") + { + bytes = Vector3d.Zero.GetBytes(); + } + else if (str == "*Self.AgentID") + { + bytes = this.client.Self.AgentID.GetBytes(); + } + else if (str == "*UUID.Zero") + { + bytes = UUID.Zero.GetBytes(); + } + else + { + bytes = (byte[])pair.Value[1]; + } + Buffer.BlockCopy(bytes, 0, this.MyTypeData, dstOffset, bytes.Length); + dstOffset += bytes.Length; + } + } + + // Nested Types + private delegate void BoolInvoker(bool param); + } + + + + +} diff --git a/SLBot/bot/GUI/frmCrasher.resx b/SLBot/bot/GUI/frmCrasher.resx new file mode 100644 index 0000000..67c8894 --- /dev/null +++ b/SLBot/bot/GUI/frmCrasher.resx @@ -0,0 +1,5052 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + FwARERkAExMbABUVHQAXFx4AGRkgABwcIgAeHiQAICAnACIiKAAlJSsAJiYuACcnMAAoKDMAJiY4ACMj + OgAhIToAHBw5ABgYNwATEzQAERE0AA0NMwAKCjQACQk3AAkJOgALC0EACwtIAA0NTgAQEFQAEBBZABAQ + XwAREWYAEhJrABIScQATE3YAEBCCAA4OkgAMDKIACwuuAA4OsAAUFLAAGhqhAB4elgAgII8AIiKLACUl + jgAnJ5AAKiqUAC0tlQAvL5gAMjKUADQ0jwA1NYUAMzN4ADIyZwAzM2IAMzNeADMzWgAzM1UAMjJQADIy + SAAzM0MANTVDADg4QwA6OkEAOztCAD09QwA/P0UAQUFHAEJCTABERE0ARkZOAElJUABLS1QATk5WAFFR + WQBTU1wAVVVhAFZWZABWVmcAWFhpAFhYaQBZWWkAWlpqAFxcawBdXWwAX19uAGJicABlZXEAaWlyAGtr + dABubnYAcHB6AHNzfABycn8Ac3OAAHNzggBzc4UAcnKHAHFxigBwcI0AbW2PAGpqkQBoaJAAZWWQAGJi + jwBgYI8AXV2OAFlZjQBUVI4AUlKQAFFRlQBQUJwATk6kAE9PqQBPT68AUFC0AFFRuwBRUcMAUlLJAFVV + yQBaWsQAYWHEAGVlwwBra8IAbm7BAHFxwQB0dL0Adna5AHd3tgB3d7IAd3euAHh4qwB4eKYAeXmiAHp6 + ngB7e5oAe3uVAHx8kQB9fZAAf3+PAICAjQCCgo4AhISOAIaGjQCHh40AiYmPAIqKkgCMjJQAjo6WAI+P + lwCRkZkAlZWcAJeXngCZmZ8AnJyiAJubpACZmaUAl5eoAJKSrQCOjrEAi4uyAIiItwCGhrkAhoa7AIWF + vgCEhMUAhITLAISEzgCGhtAAh4fRAIqK0QCOjtQAkZHSAJSU1ACXl9EAmJjQAJmZ0ACamtEAm5vRAJ6e + zQCiosgApKTHAKamxwCoqMUAq6vCAKyswQCtrb8Arq6/ALCwwACyssIAs7PDALOzxgC0tMwAtbXSALa2 + 0gC4uNEAubnOALu7zAC9vc8Avr7QAMHB0QDDw9IAxcXYAMbG2wDIyN4AzMzdAM7O3gDR0d8A09PjANXV + 5ADW1ugA2dnrAN7e7wDh4fEA4+PyAOXl8gDm5vMA6Oj0AOnp9ADr6/UA7Oz1AO7u9QDv7/YA7+/3APHx + 9wDy8vgA8/P4APX1+QD29vkA9/f6AP///wD5+fsA+vr8APz8/AD8/P0AAAAAAP39/QD9/f0APC8vKzAw + K38+LiwFBQQFBScnAAAAJwYGBSouPDMnBSmCNTUxMjo1ALg6MwkBAREkBQUAAAwIBwUHCS1AQCoHLIM0 + NDMoAAAAAJBbU2Vpm0QtAg4dVWdmTy0mAz1nDwcrj4M7OzwnAAAA2XAeHQAAoyEMXV18hUWgai4FInIQ + JzCKi4pDQz0nAAAAowgCAADUHWdqEz08LADIXycTsCMLMYs8i3sqLS4AAACrJgEAALJnbhYEIycAAACh + JBN0JUpGjEAAHwICMi0AAKwXAgICbG6iDgICAgAAQ68UFKkVSURFAHkUEwqAQygA0B4aGlSeTqkYAQMC + AEaLqQ8YACZMAEUjcRQSA2nFRFbQoKfKrHgVplsEAQIAJnmnBABrAwcJkYJqDBICAACzkaoDHn+nohRP + qAcLDAQZzlsAAFsGCiS3ipoKEgIAAADSzgcSeU7MCBeoZFtuaawAAKysq21qR8vFsiUSB00AAADQGQIM + UqwPHWghXW4AAABIgIzRWRd/AACgJREKd3oiAM5aGx3bohBXeScIAgAhRo24t85OIAAAAEkoEgFp08CV + 4c3Z4KxLFHt4KQ0Kfre4kQAA8AAAAAChfCsRAgAAAADVwZ1HKRlKAHUrDQ0AAAAAAAAAAAAAtHqWLxID + FyMJAAAAdi8hTgC2lSsOAgAAICAfTEpYfEnTdXYvEAN2wJOys5oxLht2AL6ULwwRs8XFw7y8tLfEfdVb + eTMTAwAAAAAAgTMgWADAxZMxDgMAAAAAAADY1d6YsVqWNBUCAAAAUnc9RxiVsbCsjjANDx8AAAAAAAAA + AADeAJQzEANWmMLFMjAcYgB2AK+1PwkRrMl2UxwAAAAAAAAAlDQODpndx4U2IBsAmQBo3480FQIAAO/X + mplkVgAAsaa9NQ4PdAAAQj0bANNcAGUAx0MbERcAAADj0tPLslbh2b02EAIAAG6SYAAArwAAZQDicgsb + oE4AAAAA5N7ec+XmuTURAgCyR1cAAOWcAOlnAN6xFQ7a2lsAAAAA6u2l5du+Ng4CZ7hIAgAA4l8A8mwA + /6wbAgD84WwAAAAAANblALk5CxmIhFgAAOauAADxpAAAYBECAADr354AAAAAAOXbuzcWRTlLAwAA8cgA + APelAIs4DwIAAPrp465VAPWs4qy9OTk3QhQAAOfjnAAA89AAjzkNAgAAAPru7dZnrajjrLo5OTktVQAA + 785kAAD235+KNwgKUAAAAPrz6+WpXfX5vDc3OVkAAPT81gAAAOrfbok3UW6nAAAAAP/19f+i+f/TiIi0 + AADy9/ujAAAA8sxtv4jZ//dnAAAA6/z1/6z3+//79PXjAPr89KwAAAD/754AAAD//+DKAOvn//z61wAA + OAABADAAB4AAAAOGAAABxgEAAcYDgCDAAwBAQAIJAAAAEAMAADADgADAAcADgMBAAgHAAAA3g8BD/wBw + gwAAAIAAA+ED8AOAAf9AAoAfwAUDAwGJQcADG0DwAjJAeAAyQj5AZmMfAGZDBADGQ4AAxgHAAY4B4AMO + AOABDjhAKAAAADAAAABgAAAAAQAEAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA + gACAAAAAgACAAICAAADAwMAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAQAAABABEQAAAA + AAAAAAABAAAAEBEQAACBERERERhxEQAAAAAAAAAQAAAAARERABCBEREBEQB4EQAAABAAAAAAAAAAABER + AACBEREAAAAHGAAAiIEQAAAAgAABAAGAAACBEREQAAAAeAiId4EQAIiIh4gAAAGAABCIgRERAAAAdwAA + AHiACIiBERBwAABwABGBeBEREAAABwAAAAcAiAAREAAHAAB4ABGBGHgREQAABwAAAAeAiAAREAAHgQCI + ABGBEIgAARAABxAAAAeIgAAAAAAIgACAAIGBEAAAARAABxAAAAiHgAAAAAAIgAB4AIGBCBAAAREABwAA + AIiIgAAAAAAYcABwAIEQCAAACIEQD4AACIgIcAAAAAiHgACAAAGACIAACHgRF4d3d4gAeAAAAAEXgABw + AACBGBAAAAeBh4AIh4iAhwAAAACHgACAAACIiAAAAAB3h4AIEHgABxAAAAh3AICAABB4hwAAAAAHf4AI + gIcACIgIgRjwAHiIiIF4hxAAAAAAj4AAgIcACIiHd/cACId3iIEHdxAAAQAAB4AAAHgABwAAgAABiIF4 + ABgABxAACIgAB4gACPgAiAAAAAAYiIh4AAAACBAACHeBD3iIf3EAiBAAAIiIiID4AAAAgQAAAAd3d3f/ + eBEIBxAACIhwAAD3AAAIeBAAAAAAB3iIEBAIBxEACAAAAAAAAACBF4EAAAAAAAB4EQCAhxAAAAAAAAAA + AAB4hxEAABAAAACBEQEIhxAAAAABEYiIiIh3iBEACIiIiIgREBgIdxEACHd3eIiIh3h4CBEACHd3AAgR + EIB4dxEAAAd3d3d3d3h3CBEAAAAAAIERAHdwdxEAAAAAAAAAB3iICIEQAAAACIEQCAd4BxEAAAAAAAAA + AAB3hxEAAACIiBEQEICAhxEACIgAAAAAAAAABxEACId3cREAAICAh4EAAPd4gQAAAAAACBEACHd3gRAA + BwCA9xEAAAD3eIiAAACBhxEACIAIERAACACA9xEQAAAA94d3iAB4dxEACAAHERAAeACAD4gAAAAAD3d3 + d4h3dxEAAACIiIAHgA+AD3gACIAAAA93d3h3dxEAAAiAeAAHgA+AB4gAB3gAAAAP93h3dxEAAAcQAAB3 + gA+AD3cACPeAAAAAD/j3BxEAAIgQAAB3EA+AD/iAAP93EAAAAPfwBxkACBiAAAd3AA9wAHgAAA/3eAAA + AAD3BxkACJiAAAd4AAdxAIgAAAD3d4AAAPj3B5kAiZAAAPf4AA9wB5kAAAAPd3gAAPj3dxkRmYAAAP9w + AA/4B5kAAAAP/3+AgPj3hxmZkQAAB/eAAA/4B5kAAAAA///3iHj3hxmZkQAAD/cAAH/4B5kAAAAAD//3 + +Ij3dxmZkQAA//cAAP/4B5kACAAAAP///3j/95mZEAAP//cAAPd3B5mIj4AAAP////j/9xmRgAAP//gA + AP94hxmP/3AAAA////j///d3dwD//3gAAP/4F/d///iA94////j///////////AAAP//gAAP//9w//// + //cAAAAeAAAAAAAAABwAAAAAADAAHAAAAAAA+AAICAAAAAD8AAAGAAAAAHwcABIAAAAAPh4AOAAAAAAe + HgB4AAAAEB4MAHgAAAAYDgAAeAAAACAGAABwEAAAYAIAAGBSAAAgAAAAAMAAAABgAAABwAAAAHAEAAMA + AAAAeAAABwAAAAA8AAAOAAAAgB4AAHgAAADgBgAAYAMAAOAAAAAATwAAwGAAIAfPAACAfgAgP/8AAAB/ + wEB/8AAAAADAgAAAAAAAAACAAAAAAAADgQBgAAAAAH8AQH/4AAAgfAIgH/8AAABgBUAD/wAA4AANQEB/ + AADgABtAcAcAAAAYG0B8AAAAADgzYD4AAAAAcGJgH4AAAABg5mEH4AAAAGDGYQP4AAAgAcYgQfwAAGAD + jjBg/wAAIAOOMHA8AAAgBw4geBwAAAAHHiB4BAAAAA4eIDwAAAAAHhwgPgAAAAAcHCAfAAAAADg8IB8A + AAAAeDwAD4AAAAAwPAAEAAAAAAB8HgQAAAAoAAAAMAAAAGAAAAABAAgAAAAAAIAKAAAAAAAAAAAAAAAA + AAAAAAAAAAACAAEBAQABAQEAAAABAAAAAQAAAAAAAAAAAAAAAAABAQIAAwMHAAQECAAFBQkACAgLAAoK + DQAMDBAADAwUAAsLGQAJCRoACAgdAAYGIAAGBiMABQUtAAQENgAEBDsABQU+AAgIPgALCz0ADQ01ABER + LgAUFCQAFhYeABcXHAAXFx0AGBgiABkZIwAaGiQAGxslABwcKAAdHSkAICAoACEhJgAjIycAJCQqACcn + MAAoKDMAKio0AC4uNgAwMDcAMzM4ADU1OQA4ODwAOjo+ADk5QwA5OUcANjZNADQ0VgAwMFcAKytbACUl + XQAeHl4AGhpcABUVXQAQEF0ADQ1fAA0NZgAODm0ADw9xABAQeAAREYEAERGJABERkQAREZYADw+cAA4O + qQANDcIADAzUABAQ2QATE9EAFxfCAB0dpwAgIJsAIyOTACcnkQAqKpgAKyuiACwsqwAvL7wAMjK/ADc3 + uQA5OakAOzumAD8/owBFRaIATk6mAFFRqABSUqcAVFSjAFBQnABNTYkAR0d4AEZGbgBFRWYARkZhAEZG + WgBHR1IASkpRAE1NUwBRUVQAVFRWAFZWWQBYWF0AWlpjAF1dawBfX3AAYWF4AGNjegBlZXoAaGh6AGpq + dgBsbHUAbm52AG9vdgBxcXcAdHR9AHZ2gAB4eIAAfHyBAH5+hACAgIYAgoKIAIeHjACJiY4AiYmTAImJ + mACIiJ4Ah4ejAISEpACBgaMAfX2iAHp6oQB4eKEAdXWiAHJyowBubqQAamqpAGdnrQBnZ7MAamq2AG9v + uwBzc7sAdXW9AHd3vQB7e70AfX3AAICAwgCCgsQAhITEAIaGxgCHh8cAiYnJAIqKygCLi8kAjIzJAI2N + yQCNjcoAj4/LAJGRzACTk8sAlZXHAJWVwgCUlLcAlJSyAJSUrgCVlaoAlpaiAJeXngCZmZ8Am5unAJyc + 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 + YdO1tbhQ7+/xZaurrXXo6Omt/Pz+//X1+P/+/v7/np6g8vf399z7+/zt////7fz8+uDz8/C29fXxk9XV + 1n7Pz89z+vr72vz8/e309PXtoqKjoNra2ynu7u8l/f39aP///+3u7u/tgYGBrdTU0UD///5I////av// + /+z////tz8/P7qqqq4////906OjpjuHh4p7////N/Pz97fr6++27u7vcAAAAAAAAAAAAAAAAAAAAAAAG + AQAAgAEAAAAAAAAAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAAAAAABAADwAAAAAAAAAAAAAAAAAAAAfAAA + AAAAAAIAAAABgAAAAEAAEAAwAAIAAAAiAAAAQgEAAAQBAAAEAAAAAAAAAAAAAAAAAAAoAAAAMAAAAGAA + AAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAISF+3AICRe0EBEjtBQVK7QICPugBAT3PBARSwgYG + V7YEBE2pAAAwnBUVYIo+PpaxFxdd7wAAQO0EBEXtAgJJ7QEBMecAAA6sAAASuQAAD7oAAAnKBQUUyAUF + IugBARftAQEl7QMDQO0BASq6CAhjOQsLhkIPD4VFGBiKQRUVa5wCAintAAAT7QAAD+0AABDtAAAU7AMD + LbQLC1OVAgJCnRAQWq0WFmu6Dw9exQYGTtcAACLsAAAQ7QICMe0BAS/cWVm28gkJj/8SEpz/ExOd/woK + iv8CAl3sCQmEvxwcpLMfH6GkDQ2OlgYGZYWBgcCBjY3V7xcXk/8bG53/BgaR/wAARf8AAAD2AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAL/AQEk/wMDLv8AACC2FxeBKSwsqTM4OJw5GBhIeg8PH+0AAAn/AAAB/wAA + Av8AAAL/AAAA/wMDCPoVFTPYHx95rBgYfqY+Pqi2MzOwyRgYlvoMDDP/AAAA/wgIV/8FBUzyX1+57Q8P + c/8PD4v/CQmS/woKhf8ICGz+AgJCyQ8Ph5UlJaSLKSmjfQwMi28iIoVYra3bmEdHq/8UFJn/JSWI/xQU + OP8NDQ79EhIS/woKDeAKChSxDw8XnzIyTeUQEDn/AwMR/wAAAP8AAALTDg5OPxgYgBsVFTVxBAQC6AgI + B/8KChH/Cgor/wcHQP8DAzPvAwMawAQEBfIAAAD/EBAd4SEhdaQZGY+bLS2P4x0dbP8NDTH/AAAA/wcH + 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 + r0X6+v//4+Px/0tLUdugoJgtoaH/8AwM6/8aGsf/Ghoj/wAAAP8EBATwEhITLMXF0gDq6vkG7+/4APn5 + /H/x8fr/5eXz/9ra6P/c3Oz/mpql/zo6P9lMTFF90tLfePb2/5h9fYWd4uLsuKensLR/f4CZxcXo3jEx + 7f8SEuj/Fhbv/wcH4/8AANr/LCyi/zg4L/8AAADQTExRNNPT3gTp6fUJ0tLew+Hh7v+0tL7/nZ2m+y4u + MTIAAAADAAAAH4yMkGr8/P//8fH9/2JiaOihoZg5n5//7hQU8f8bG8L/GRkf/wAAAP8KCgr/Kystf6en + sADi4uwO8fH7EfPz+hH6+v2r8PD5/+np9v/o6PT/39/r/8HBy/9qam/wSkpOq8LCzKJpaW+r5OTsw6Sk + rMd/f3/ioqK+/0BA9/8QEOz/GRnt/xgY7f8ODvP/ICCk/xAQCvU5OTtzyMjQFry8xAbd3edc6Ojy/+Pj + 7v+kpKv/PT1AyoiIjgEuLjADFhYXDaGhpX7+/v//9/f//3BwdvOXl45GkpLz7AQE2v8ICL7/Ghoe/wAA + AP8RERL/LCwu5U5OUiOTk5oP9/f/HfPz/SD6+v8y+vr+0fHx+f/v7/n/6+v1/8vL1P/l5e//kZGX/Vxc + X9RUVFi29PT61dXV3Pjd3d7/w8Po/zIy/P8KCvX/EBDz/xAQ9f8bG+v/LS1Q/x0dF7CtrbM47e31IOrq + 8SDo6PDX8vL6//Dw+P/Dw8n/ODg5l6iorQqhoacDtLS5APHx9pDj4+r/+Pj+/4SEiPpgYFdUkZH16gAA + 5P8GBr3/Ghog/wAAAP8tLS7/bm5y/y8vMZBlZWgTu7vBKcPDyzPZ2d82+fn8Xvr6/ery8vr/8/P6/+7u + 9f/p6fH/+Pj//76+xP9JSUzd+fn97PX1+//9/fz/yMjx/xISw/8AANT/AQHo/wYG+/83N533Q0M4q6Cg + pGLh4eY85+fsKPT0+oD19fr/9PT5//z8//+np6v9VFRWUrS0txLk5OoM7e3xAf39/6TX19z/19fc/6Sk + p/9cXFNqkZH36QcH/v8AALj/Tk5U/nl5ef+amp3/4ODl/1ZWWPNYWFpH2trfMtzc4UPDw8lPzs7SU/// + /436+v359fX7//f3/P/z8/n/9fX6//7+//9ycnXv/Pz+7fj4+//+/v3/1tby/zY22v8aGuL/FRXc/zAw + 1f+RkZWrbGxqZL29wFzs7O9O6+vvT/X1+eT39/r/+fn8//z8//9xcXLigoKEIunp7RXt7fEX/f3/DP39 + /7fr6+7/q6ut/5OTlf9sbGSIsLD88TAw//8XF8b/goKM5v////n7+/7//////8LCxP8yMjOyrKyuQP// + /1Xi4uZimJibcMXFx3f///+5+/v9//T0+P/19fj/+fn8//////97e33t+Pj58u7u8P/9/f7//f3//+fn + ///T0/T/xsbq5srK2NDX19SQr6+xgnJyc3XBwcJf9vb4rO/v8P/5+fr/8PDy/9jY2v9MTE22qqqsJenp + 6inf3+El+Pj6Iv7+/9H8/P7/6Ojp/4KCg/9CQkKg0tLZk93d9ara2vqr3NzggP///+L8/P///f3///z8 + /v9ycnL9SkpLfezs7mb9/f562trbiJSUlpfg4OKj////4PHx8v/4+Pr/7e3v//Pz9P94eHry/f393Pf3 + +O3+/v/t/v7/7f///e38/PfU+vr0r/39+qH7+/yY/f3+i+Tk5Xzm5ud9////4fn5+u3////t////7eLi + 4u2urq917OztMevr6zb19fYw/f3+N////9H+/v/t////7fHx8u15eXqjzs7NHPHx7Sf///8r////LP// + /7D+/v/t/v7/7f///+3v7/Dvs7O0v+/v8HD///+C////kPX19p3v7/Cq////uP///+L////t/f3+7fr6 + ++3Dw8TcAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAACAAAAP//AAAMAAAA + //8AAAwAIAD//wAIAAAoAP//AAQAADAA//8AAAAAIAD//wAAAAAAAP//AAAAAAAA//8AAAAAAID//wAg + AAAAAP//AAAAAAIA//8AGAAABAD//wAAAAAQAP//AAAAAAAA//8AAAAAAAD//wAAAAABwP//ACAAAA/4 + //8AAwAAOAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wA/AAA+AP//ADAAAAf4//8AAAAAAOD//wAA + AAAAAP//AAAIAEAA//8AABAAMAD//wAQAgAcAP//ACAiAA8A//8AIEIgA8D//wAAwgABAP//AACEAACA + //8AAYQwAAD//wABBAAgAP//AAIEADAA//8AAgwAKAD//wAAAAAgAP//AAAAAAAA//8AAAQAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAAABAAAAAgAAAQAgAAAAAAAAIAQAAAAAAAAA + AAAAAAAAAAAAAAEBZf8AAD//AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT7AAAk9AAAJPAAACTuAAAk7AAA + JOoAACTnAAAk5gAAJOMAACTgAAAk3gAAJNsAACTaAAAk1wAAJNUAACTSAAAk0AAAJM0AACTLAAAkyAAA + JMUAACTDAAAkwAAAJL4AACS8AAAkuQAAJLYAACS0AAAksQAAJK8AACStAAAkqgAAJKcAACSlAAAkowAA + KKEAACufAAArrwAAJ/MAACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACP/AAAj3gAAH4cAABxyAAAZeAAAFnwAAByAAAAlggEBKIIBASmCAQEpgQEBKIABASh/AQEnfgAA + I34AAB19AAAWfgAAE38AAB6EAAAjjAAAG5YAABieAAAVpAAAFqUAABugAAAilQAAKYoAACt8AQE7sQAA + M+8AACH/AAAd/wAAHf8AAB7/AAAe/wAAHv8AAB//AAAg/wAAIP8AACH/AAAi/wAAI/8AACP/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJPgAACR7AAAkUAAAJE0AADBOAQFITgEB + VU8BAVdQAQFWUAEBUlEBAVJRAQFRUgEBUVMBAVFUAQFOVQAARFYBAUxXAQFSWAEBUVkBAVFZAQFQWgEB + UFsBAVFdAQFWXgEBXl8BAWBgAQFPYgAAOX0AACTuAAAj/wAAI/8AACL/AAAh/wAAIf8AACD/AAAf/wAA + Hv8AAB3/AAAd/wAAHP8AABz/AAAc/wAAHP8AABv/AAAb/wAAG/8AABz/AAAc/wAAHP8AABz/AAAd/wAA + Hv8AAB7/AAAf/wAAIP8AACH/AAAi/wAAIuYAACKzAAAjnwAAJKEAACSjAAAkpQAAJKgAACSpAAAkrAAA + JK8AACSyAAAktAAAJLcAACS5AAAkuwAAJL4AACTAAAAkwwAAJMYAACTIAAAkywAAJM0AACTPAAAk0gAA + JNUAACTXAAAk2QAAJNwAACTeAAAk4AAAJOMAACTlAAAk5wAAJOoAACTrAAAj7gAAIvEAACD1AAAf/AAA + Hv8AAB3/AAAc/wAAG/8AABv/AAAb/wAAHP8AAB3/AAAe/wAAH/8AACH/AAAi/wAAI/8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8BAYb/AQFl/wAARv8AACj/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJPgAACTtAAAk7AAA + JOoAACTnAAAk5QAAJOMAACTgAAAk3gAAJNwAACTZAAAk1wAAJNQAACTSAAAkzwAAJM0AACTKAAAkyAAA + JMUAACTCAAAkwAAAJL0AACS7AAAkuAAAJLYAACSzAAAksAAAJK4AACSrAAAkqQAAKaYBAVmkAQFQoQEB + TaABAVGdAQFXmgEBW5sBAVrKAQFO/gAAPP8AACj/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAA + JP8AACT/AAAj/wAAIvQAAB2eAAAXfgAAEoYAABCOAAAXlQAAH5kAACGaAAAimgAAIpoAACKZAAAhmAAA + IZgAACCXAAAelwAAGZcAABWaAAAaoAAAGagAABOyAAARuwAAD8AAAA/AAAATugAAGrACAiGjAQEklgAA + O7cBAUPvAQE2/wAAJf8AABj/AAAZ/wAAGf8AABr/AAAb/wAAHP8AAB3/AAAe/wAAH/8AACH/AAAi/wAA + I/8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACT/AAAk/wAAJP8AACTxAAAkbAAAJEsAACRKAAA9SgEB + W0sBAWpMAQFtTAEBa00BAWhOAQFnTgEBZk4BAWdPAQFpUAEBYVEBAWBSAQFpUwEBaVQBAWlVAQFpVQEB + aFYBAWhYAQFuWQEBeFoBAYRcAQF7XQEBa2MBAVGcAAA7+QAAK/8AACH/AAAf/wAAHv8AAB3/AAAc/wAA + G/8AABn/AAAY/wAAF/8AABf/AAAW/wAAFv8AABb/AAAW/wAAFv8AABb/AAAW/wAAFv8AABb/AAAX/wAA + GP8AABn/AAAa/wAAG/8AABz/AAAd/wAAHvwAAB7JAAAfpgAAIKAAACagAAApoQAAKKMAACSkAAAkpgAA + JKkAACSsAAAkrgAAJLAAACSzAAAktQAAJLgAAC26AQFVvQAAR8AAADrCAAAyxQAAK8cAACbKAAAkzQAA + JM8AACTSAAAk1AAAJNcAACTZAAAk3AAAJN4AACTgAAAk4wAAJOUAACToAAAj6QAAIu0AACDxAAAe+QAA + HP8AABn/AAAX/wAAFv8AABb/AAAW/wAAFv8AABb/AAAX/wAAGf8AABz/AAAe/wAAIP8AACL/AAAj/wAA + JP8AACT/AAAk/wAAJP8AACT/Hx+c/wICif8CAnL/AQFV/wEBMv8BAST/AQEk/wEBJP8BAST/AQEk/wEB + JP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST+AQEk8gEB + JOkBASTmAQEk5AEBJOIBASTgAQEk3QEBKNsBASvYAQEt1QEBL9MBATPQAQE1zgEBNMsBATXJAQE3xgEB + OcMBATrAAQE5vgEBNLwBASu5AQEktgEBJLQBASSxAQEkrwEBJKwBASSpAQEkpgEBJKQBASSiAQFUnxAQ + lZ0CAoibAgKBmAICiJUCAo+UBgaRoAICiu0CAnr+AQFj/wEBSf8BATT/AQEl/wEBJP8BAST/AQEk/wEB + JP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEBJP8BAST/AQEk/wEB + JP8BAST/AQEk/wEBIv8BASD/AQEbuwAAEpIAAAyYAAAKpwAAD7EAABS3AAAVuQAAFroAABW5AAAVuQAA + FbkAABW4AAAVuAAAFLcAABK4AAAQuwAAEL8AAA/GAAAMzgAACtUAAAnYAAAJ2QEBC9MFBRDKCAgVwAkJ + F7YNDSrHCgo/8wEBPP8AADD/AAAk/wEBGP8BARP/AQEU/wEBFf8BARb/AQEY/wEBGv8BARz/AQEe/wEB + IP8BASL/AQEj/wEBJP8BAST/AQFX/wEBQf8BAST/AQEk/wEBJP8BAST+AQEk6QEBJF8BASRGAQEoRQEB + TkYCAnBGAgKARwICg0cCAoFIAgJ/SQICf0kCAn1KAgJ9SwICekwCAnBMAgKATQICgk4CAoJPAgKBUAIC + gFECAoFSAgKEUwICjVQVFZVWExOSWAMDhFwCAnhqAgJqxwEBWfwBAUT/AQEy/wEBIf8BARr/AQEY/wEB + Fv8BARX/AQET/wAAEv8AABH/AAAQ/wAAD/8AAA//AAAP/wAADv8AAA7/AAAP/wAAD/8AAA//AAAP/wAA + EP8AABH/AQES/wEBE/8BARX/AQEW/wEBGP8BARnoAQEYuQEBI6cBATWkAQFFowEBT6EBAVChAQFJoQEB + QKIBATmkAQEypwEBK6kBASesAQE2rwEBK7EBASSzAQEktgEBWrgICJK7AgJ5vgEBY8EBAVfDAQFQxgEB + S8gBAUbLAQFDzgEBQtABAT7TAQE91QEBO9gBATraAQE53QEBNuABATLiAQEw5AEBK+cBASbrAQEe9gEB + G/4BARf/AQEU/wAAEf8AAA//AAAP/wAADv8AAA//AAAP/wAAEf8BART/AQEX/wEBG/8BAR//AQEh/wEB + I/8BAST/AQEk/wEBJP8BAST/AQEk/0FBq/83N6b/Jiaf/wICi/8BAWL/AQFL/wEBS/8BAT//AQFC/wEB + Q/8BAUX/AQFI/wEBSf8BAUn/AQFK/wEBSv8BAUv/AQFL/wEBSf8BAUn/AQFH/wEBQ/8BAT3/AQE3/wEB + M/0BASvtAQEp5AEBM+EBATzfAQFD3QEBS9oBAVHYAQFV1QEBWNIBAVvQAQFezQEBYMoBAWDIAQFhxgEB + ZMMBAWTAAQFkvQEBZroBAWS4AQFetQEBUrMBAUWwAQE5rgEBL6sBASSoAQEopQEBOqMBASShAQEkngEB + JJwtLaKZU1Ozlzw8qJQ/P6qST0+xj1pato5ZWbbBSkqv+C0tov8CAo//AgJ0/wEBXP8BAU3/AQFI/wEB + RP8BAUL/AQFD/wEBQv8BAUP/AQE1/wEBOP8BAUj/AQFH/wEBR/8BAUf/AQFI/wEBSf8BAUv/AQFM/wEB + S/8BAUT/AQEy/wEBI/8BASL/AQEf/wEBGtcAAA+nAAAIqwAABr4AAAnKAAAL0gAADNQAAA3VAAAN1QAA + DNQAAAzUAQEN1AAADNQAAAzTAAAL1AAACtYAAAjZAAAI3gAABuQAAAXoAAAE6wAABesCAgbnBAQI4QYG + C9oHBw3SDAwX2BQULPURETD/Bwcu/wEBKP8AACD/AAAc/wAAG/8AABr/AAAY/wAAFf8BART/AQEX/wEB + Gv8BAR3/AQEg/wEBIv8BASP/AQEk/wICe/8CAon/AQFd/wEBL/8BAST/AQEk/QEBJOEBASRUAQEkQQEB + OUIBAWBCAgKEQwkJkkMMDJNECQmSRQYGkUUGBpFFBgaRRgYGkUcCAoJIAgKESRAQlUoPD5VLDQ2UTA8P + lU0QEJVNExOWThoamFArK5xTNzecVioqj1okJIJhFxd3fg8PfOkCAmr/AQFW/wEBRf8BATX/AQEq/wAA + JP8AACD/AAAd/wAAGv8AABj/AAAW/wAAFP8AABP/AAAS/wAAEv8AABL/AAAQ/wAAD/8AABH/AAAS/wAA + Ev8AABT/AAAV/wAAFv8AABb/AAAW/wAAF/8AABn8AAAb1gAAIrwBATK0AQFErgEBVqoCAmamAgJwpAIC + cKMCAmqhAQFgogEBU6QBAUemAQE5qAEBPKsBAUytAQEksAEBJLMBASS1NjamuEpKr7sbG5q+AgKKwAIC + gcMCAnvFAgJ2yAICc8sCAnHNAgJv0AICbdICAmzVAQFp1wEBaNoBAWPdAQFf3gEBW+IBAVPkAQFL8gEB + Nv0BASz/AQEp/wAAH/8AABj/AAAT/wAAEv8AABH/AAAS/wAAFf8AABn/AAAf/wEBKP8BASv/AQE1/wEB + PP8BAUL/AQE0/wEBJP8BAST/AQEk/wEBJP9kZLr/bm6+/2lpvP9NTbD/EBCV/wMDg/8DA3z/AgJ3/wMD + fP8DA3v/AwN8/wMDgf8DA4H/AwOB/wMDgf8DA4D/AwOB/wMDg/8DA4P/AwOB/wMDf/8DA3z/AgJ3/wIC + bv8CAmb/AgJW+gICUOgCAlnfAgJg2wICatkCAnXXAwN+1AMDg9EDA4XOAwOJzAMDjMkDA43GAwONxAMD + jcEDA4+/BQWQvAQEj7kFBZC2BASPtAMDjrEDA4evAwN5qwICZqkCAlSmAgJIpAEBRqECAlqeAgJdnAEB + JJkBASSXAQFBlGJiuZN4eMOQcXHAjYODyIqSks+ImJjRlZWV0OOJicv8dHTB/05OsP8lJZ7/AwON/wMD + gv8DA3z/AwN5/wICdf8CAnT/AgJv/wICYv8DA3v/AwOA/wMDgf8DA4H/AwN//wMDgf8DA3//AwN8/wMD + gv8DA3//AwN9/wICY/8BATn/AQEh/wEBHv8BARjtAAAOvAAABroAAATPAAAF3QAABeYAAAbpAQEG6QIC + BukBAQbpAQEG6QICBukCAgbpAQEG6AEBBukBAQXqAAAF7QAAA+8AAALzAAAC9gAAAvcAAAL3AQEC9AIC + BPADAwXsBAQG6AcHCugRERr5ExMf/xISH/8NDR7/BgYd/wEBG/8BARz/AQEe/wEBIP8BASL/AQEi/wAA + If8BASL/AQEm/wICOv8CAkH/AQEi/wEBI/8BAS3/Ly+h/x4emv8CAl3/AQEy/wEBJPsBASTWAQEkSgEB + KD0CAkk+AgJyPhAQlT8pKaA/KyuhQCgon0AlJZ5BICCcQR8fm0ISEpZDAwOJRCUlnkUxMaRGMzOlRzIy + pEcwMKNIMDCiSiwsnkswMJtPSEieUkREkVk9PYFhNTVycDExcqEtLXj7Hx9o/xUVWf8KCkv/AQE7/wEB + MP8BASj/AQEj/wEBHv8BARv/AQEY/wAAFf8AABP/AAAR/wAAEP8AABD/AAAQ/wAAD/8AAA7/AAAP/wAA + EP8AABH/AAAT/wAAFP8AABb/AAAW/wAAF/8BARn/AQEZ8wEBGdcBASHLAQEwxQkJQb4WFlK3Hx9isSUl + cawnJ36nISGFpA4OhaMDA3yiAgJspAICYqQCAl6mAgJyqQICcqwBASSvAQEksQICVbNpaby2b2+/uUtL + r7w8PKi+MzOlwS0tocQoKJ/HJSWeyCMjncwiIp3PICCc0RwcmtQZGZnXERGV2QYGkNwDA4jeAwN96gMD + cPsCAlT/AgJR/wEBPP8BASr/AQEc/wAAFP8AABD/AAAP/wAAD/8AABT/AQEc/wEBKv8BATj/AQFK/wIC + X/8DA2z/AwN2/wICZv8BATT/AQEk/wEBJP8BAST/d3fC/4CAxv9+fsX/Zma7/zw8qP8TE5b/AwOM/woK + kv8REZX/EBCV/xAQlf8UFJb/FhaX/xcXmP8XF5j/FhaX/xYWl/8XF5j/GhqZ/xsbmv8XF5j/EhKW/wkJ + kv8DA4z/AwN//wICav8CAmP0AgJm4gICbNgCAnXWAwOA0wMDi9AHB5HNCwuTyhMTlsgZGZnFHByawhwc + msAcHJq9Hh6buh8fm7gfH5u1ICCcsh4em7AcHJqtGhqZqg4OlKcDA4alAgJ1ogICZqACAmadAgJwmgMD + f5gBATyVAQEkkwEBJJADA4GOeHjDi3R0wYmIiMqGnJzThKen2IGqqtm6pqbX8Zqa0v+Dg8j/Y2O6/z4+ + qf8iIp3/FRWX/wsLk/8DA4//AwON/wICd/8DA3//HR2a/yAgnP8fH5v/GhqZ/xcXmP8REZX/AwOO/xAQ + lf8VFZb/FhaV/wwMkP8DA3X/AgJY/wEBMP8BARz/AQEX+gAADdEAAAXJAAAC2wAAAuwAAAL1AAAC9wAA + AvgBAQL4AQEC+AEBAvgBAQL4AQEC+AEBAvgBAQL4AAAB+AAAAfkAAAH6AAAB/AAAAf0AAAH9AAAB/QAA + AfsBAQL6AQEC9wICAvYCAgP1BwcK/AkJDf8KCg7/CQkO/wYGDv8EBA7/AwMQ/wICEv8DAxX/AQEb/wEB + Iv8BASf/AQEt/wEBOP8BAUn/AgJe/wEBLf8BASD/AQEh/wICZf8xMZ//AgJm/wEBO/8BAST4AQEkxwEB + JEABATA5AgJQOgMDejodHZo6MzOlOzMzpTw0NKU8MDCjPSoqoD0mJp4+AwOMPwoKkkA/P6pBRESsQkND + rEM/P6pDOzulRTQ0n0YnJ5JLPDySUENDh1k+PnZjNjZibi0tV4cxMWLILCxi/yUlU/8cHEX/EhI2/wkJ + Kv8FBSH/BAQb/wMDFv8DAxL/AgIP/wICDP8CAgr/AgIJ/wEBCP8BAQf/AQEH/wEBBv8AAAb/AAAG/wAA + Bv8BAQf/AQEI/wEBCf8AAAr/AAAL/wAADP8AAA3/AAAO/gAADe8AAA/kAAAW3QUFH9cODizPFxc5yB8f + ScAmJlm4LCxosTExeKsvL4SnICCIowYGhqIDA32iAwN/owMDiaUTE5anAgJVqgEBJKwBASSvCQmSsnt7 + xLVhYbm4Vla0ulBQsb1MTLDAR0etw0VFrMVCQqvIQkKry0NDrM1CQqvQPT2p0zc3ptUsLKHYHx+a4RgY + kfcDA3T/AgJm/xUVXP8ODj7/CAgn/wQEFv8CAgv/AQEG/wAABv8BAQb/AQEL/wMDFf8FBSb/AQE3/wYG + Vf8NDW7/Dg6B/w8Pjf8DA33/AQFG/wEBJP8BAST/AQEk/2pqvf9pab3/YmK6/1lZtf80NKX/BASN/wQE + j/8LC5P/ERGW/w8Plf8SEpb/FBSX/xMTl/8UFJf/FhaY/xYWmP8UFJf/EhKW/xQUl/8XF5j/FxeY/xMT + l/8NDZT/BASP/wQEf/8DA2v/AwNl/gMDYO0DA2DbAwNo0wMDc9ADA33NBASHygQEjscMDJPFFBSXwhkZ + mb8aGpq8GhqauhoamrcdHZu0Hh6bsiAgnK4gIJysGxuaqRsbmqYZGZmjCwuToQQEhp4DA3ibAwNzmQMD + eJYEBICUBASJkQEBLY8BASSMAQEkigQEiIdbW7aFdXXCgpGRzn+iotZ7qanZjqmp2dmhodb7kpLP/3V1 + wv9PT7H/LCyi/xgYmf8NDZT/CAiS/wQEh/8DA27/BASN/yAgnP8oKKD/Hx+c/xAQlf8PD5X/BASH/wMD + fP8EBIX/BASN/wsLjv8EBIT/BAR4/wMDXf8CAjb/AQEa/wEBFf8AAA3jAAAE1AAAAuIAAAHzAAAA/QAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP4AAAD+AAAA/gAAAP4AAAD9AQEB/gEBAf4CAgL/AgID/wICA/8CAgP/AQEE/wEBBf8BAQf/AQEK/wIC + EP8BARn/AQEh/wEBKv8BATT/AgJC/wICUv8DA2D/AQEe/wEBHv8BAR//AgJK/wMDVf8BATD/AQEj9wEB + I7cBASM7AQEuNwICUTYDA3s3HByaNy8vozgwMKQ5MTGkOS4uozosLKI6FxeYOwQEgTwgIJw8Q0OsPUtL + rz5DQ6w/NTWjQTIynEQaGolHDg53TiIiblgsLGNkKipSdCEhQIQeHj2mIiJM6B8fRf8YGDf/EBAq/wkJ + H/8EBBb/AgIR/wICDP8BAQn/AQEH/wEBBf8AAAP/AAAC/wAAAf8AAAH/AAAB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAB/wAAAf8AAAH/AAAC/wAAA/8AAAP/AAAE/wAABfwAAAT1AAAH8AAADOwEBBHmCQkZ4A4O + I9kUFC7RGho8yB8fSr8mJly2LCxtrisre6kdHYKlDAyEogQEh6EJCY+iFxeXoyQknqcCAkWpAQEkrAEB + K68ICJKyVVW0tE9PsbdLS6+6SUmuvEVFrcBDQ6zCQECrxUBAq8hAQKvLPDypzTY2ps8uLqPTJSWf2x0d + mvAODoz/AwNo/wkJa/8UFFj/Dw87/wcHIv8CAg//AAAF/wAAAP8AAAD/AAAA/wAABP8BAQ//AQEe/wEB + NP8GBlL/DAxt/w0Nf/8REY3/AwN9/wICRf8BAST/AQEk/wEBJP9lZbv/YWG5/1hYtf9MTLD/FhaY/wQE + f/8EBI7/BASQ/woKk/8ODpT/EhKW/xUVl/8TE5f/ExOX/xQUl/8WFpj/FBSX/xISlv8TE5f/FRWX/xYW + mP8UFJf/Dw+V/wgIkv8EBID/AwNu/wMDa/8DA176AgJW5QICWdMDA2HMAwNuyQMDfMYEBInDBQWQwRAQ + lb4XF5i7GhqauBoamrYbG5qzHR2bsB4em60gIJyqISGdqCAgnKUeHpuiGxuanxoamp0ODpSaBASKlwQE + gZUEBICSBASFkAQEiY0DA3GKAQEkiAEBJIYCAkSDMzOlgGNjun6Dg8h7nJzTeqen2Harq9quqKjZ7J+f + 1P+Jicv/Zma8/0BAq/8gIJz/Dw+V/wsLk/8DA3b/AwN1/wgIkv8XF5j/IyOd/xcXmP8ODpT/CwuT/wQE + hf8DA33/BAR+/wQEgv8EBHn/AwNy/wMDcv8CAlr/AQE2/wEBF/8BARP/AAAM8AAABd0AAAHlAAAB9AAA + AP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/AAAC/wEB + BP8BAQn/AgIS/wEBHP8BASX/AQEv/wEBOf8CAkX/AgJP/wICRf8BARn/AQEb/wEBHP8CAjn/AQEo/wEB + IfUBASGoAQEgOQEBLjQCAlIzAwN+Mx0dmzQuLqM0MTGkNS4uozUsLKI2LCyiNgQEiTcEBIk4KyuhOTo6 + qDlGRq06OzumPDAwmz8pKYxFExNzSw4OXlcVFU9mGRlBeBYWM4wSEiiiExMryBYWNfkSEir/DQ0f/wgI + Fv8EBA//AQEJ/wEBBv8AAAT/AAAC/wAAAf8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAH9AAAB/AAAA/oBAQX3AgII8wUF + DO4ICBLoCwsa4RAQJNkVFTDPGxs/xSIiUbspKWSyKip0qiEhgKUZGYeiGBiQoR8fmKElJZ6jBASNpAEB + NagBASSrAgJZrTw8qbBNTbCzSUmutkZGrbhFRa28Q0OsvkFBq8E/P6rEPT2pxzc3p8kxMaTMJSWf1B8f + nOghIZv+BAR9/wMDbf8MDGz/Dg5U/w0NOf8FBSD/AQEP/wAABf8AAAD/AAAA/wAAAP8AAAT/AAAN/wEB + G/8BATP/AgJP/wcHav8MDH7/ERGN/wQEff8CAkX/AQEk/wEBJP8BAST/cHC//3FxwP9tbb7/U1Oz/wUF + jP8EBG7/BQWC/wUFj/8ICJH/DQ2T/xISlv8VFZf/EhKW/xAQlf8SEpb/EhKW/xISlv8SEpb/ExOW/xUV + l/8VFZf/FBSX/w8PlP8JCZL/BQWD/wQEef8EBHP/AwNg/wMDTPcDA0rdAwNSygMDXsYEBG3DBAR8wAUF + ib4KCpK7FRWXuBkZmbUbG5qyGxuarx0dmq0eHpuqICCcpiAgnKQgIJyhISGdniAgnJweHpuZHh6blhQU + l5QFBY6RBQWGjgUFhYwFBYiJBQWKhgQEeIQCAjGCAQEpfwQEc31WVrR6dXXCd5CQznakpNdxq6vahKys + 2s+mptf7mJjR/3x8xf9VVbT/JSWe/xISlv8FBYj/BARs/wUFj/8MDJP/DAyT/xgYmP8XF5j/EhKW/xER + lf8SEpb/BgaQ/wUFjf8FBYP/BARn/wMDXv8DA2P/AwNV/wICNf8BARj/AAAR/wAADPkAAAXmAAAB5wAA + APQAAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAB/wAA + Af8BAQT/AQEI/wICDv8DAxf/AgIf/wEBJv8BASv/AgIx/wICOf8CAj//AgI6/wEBFf8BARf/AQEZ/wEB + IP8BAR7zAQEemgEBGzoCAio2AwNQMQQEfTEeHpsxMTGkMTIypDIjI50yJyefMxMTljMEBH00IiKdNS8v + ozUxMaQ2OzulODc3nTssLIlCJSV2SiAgYFcaGkpoGBg4fBISKZEKChumCAgYwAsLHuQNDSD+CQkX/wYG + D/8DAwn/AQEF/wAAAv8AAAH/AAAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAH+AAAB/QEB + A/sCAgX4AwMI9AYGDO4JCRPnDAwc3xISKNUYGDfLICBJwCcnXbYrK3GsJyd/ph8fiKIgIJKgJSWboSoq + oKENDZOkAwNLpwICP6oFBYSsUVGysEtLr7JERKy1Q0OruEFBq7o/P6q+PT2pwDg4p8QxMaTFKCigzBcX + mN4WFpf7EBCT/wQEcf8ODn//Cwtr/wcHUf8JCTf/BQUg/wICD/8BAQX/AAAA/wAAAP8AAAD/AAAE/wAA + C/8BARf/AgIv/wMDT/8GBmn/Cwt9/xERjf8EBH3/AgJF/wEBJP8BAST/AQEk/3Bwv/90dMH/dXXC/2Ji + uf8KCpL/BARk/wUFbv8GBon/CAiR/w0Nk/8SEpX/ExOW/xERlf8PD5T/Dw+U/w8PlP8QEJT/EBCU/xAQ + lP8TE5b/FBSW/xMTlv8MDJP/BgaJ/wUFfv8GBoX/BQV9/wQEZP8DA07/AwNF8wMDRtMDA0/CBARbvwUF + bbwFBX26BgaKtwwMk7QXF5exGxuZrhwcmqsdHZqoHh6bpR8fm6IgIJygISGcnSQknZokJJ2XISGclSEh + nJIhIZyPFhaXjQYGj4kGBomHBgaJhAYGiYIGBomABARefQICL3sDA0d4ExOWdmZmu3ODg8hxnJzTbqqq + 2Wyurtuhq6va6aGh1f+Ojs3/bW2+/zg4pv8aGpn/BQVx/wUFgP88PKj/Kiqg/yAgnP8eHpv/GhqZ/xMT + lv8REZX/ExOW/xISlf8TE5T/CQmL/wQEa/8DA1D/AwNM/wMDS/8CAjP/AQEZ/wEBD/8BAQv+AAAG8AAA + AuoAAAD0AAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD+AAAA/QAAAP0AAAD9AAAA/QAA + Af0AAAH9AAAB/QAAAf0AAAH9AAAA/QAAAP0AAAD9AAAA/QEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + Af8AAAL/AQEE/wICCP8CAg3/AwMT/wQEGP8CAhz/AQEf/wEBIf8BAST/AgIo/wICLf8BARz/AQER/wEB + FP8BARf/AQEZ8wEBGJIBARRDAQEiOQMDSjMFBXkuHR2XLjMzpC4xMaMuHx+bLyAgnC8FBX0vBgaOMFVV + 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 + l6UZGZnIFxeY8SEhnf8lJZ7/Hh6b/wYGWv8FBU3/Bwd1/wgIeP8HB3D/BgZp/w8PVf8JCTf/BAQg/wEB + Dv8AAAX/AAAA/wAAAP8AAAD/AQEF/wICD/8EBCD/BgY2/wMDOf8CAh7/AwM0/wkJif8JCYz/BARD/wIC + Jf8CAiX/AgIl/29vv/9tbb7/Z2e7/1tbtv81Nab/EhKW/xISlv8TE5b/BQVM/wMDKv8GBmP/JCSe/xQU + l/8NDZT/CQmR/wkJkP8JCY//CQmM/wgIh/8ICIX/CQmO/w0NlP8LC5P/CQmN/wcHcf8GBmX/CAh7/xgY + mf8REZX/CQmL/wcHdP8GBlr/BARH/wQEOf8DAyzpAwMptQMDMp8EBESaBgZdmAcHd5QJCYqRERGVjhwc + m4shIZ2IJCSehSQknoImJp+AJiaffScnn3onJ593KCigdSgooHIqKqFwLCyhbSoqoWofH5xoDg6UZQkJ + jGMJCYtgCQmNXggIf1sGBl5aBgZoWDIypFWJictTp6fYUbW13lG4uN90u7vh26Wl1/+Pj83/W1u2/yoq + of8JCZD/CQmO/wkJkv8NDZT/CwuT/wkJkP8JCY//cHCr/4GBgf9GRkb/QEBA/0BAQP9AQED/QEBA/0BA + QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/zQ0NP4xMTH8PT09/UBA + QP84ODnvNzc54jg4Otw5OT3XOzs+1DQ0PKc0NDynMTE7myUlN3ojIzZuGRk1TCQkN0soKDlMIiIwST8/ + W2hjY5HPamqa/2Zmlv9YWI3/Ojp8/x4ea/8UFGH/EhJa/xERUf8PD0f/DAw8/woKL/8HByL/BQUX/wMD + Df8BAQb/AAAC/wAAAf8AAAD/AAAA/wAAAP8AAAH/AAAC+wAAAeQAAAHNAAACrwEBC40DAxtpEBAxSh4e + UzUQEHAmBgZhIAcHcSAHB24iBQVbKwQERDoHBzBPBwcfawUFFIsDAwyrAgIHyAEBBN0BAQLuAAAB9gAA + AfwAAAD+DAwM/xgYGf8lJSX/MTEx/zQ0Nf9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA + QP8yMkj/MjJJ/yQkWP8cHGb/EBBz/wgIdf8GBl7/BQVP/wUFVv8GBmL/BQVQ/wQEQv4DAzfVAwMskQMD + KnwDAzOGBQU2kQ8PM54RESurDw8jugwMG8kICBPXBgYN4wQECO0CAgX1AQED+gEBAf0AAAD+AAAA/wAA + AP4BAQH9AQED+gMDB/UGBg3sDAwZ4BMTKdIdHT7CJSVVsycnbKYlJX+dKCiQlysrmpcNDZKYBwdxmgYG + aZ0ICIK5Ozul8Kampv9lZWX/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/xERXP8FBVD/BQU1/wIC + H/8BAQ7/AAAE/wAAAP8AAAD/AAAA/wEBBf8CAg//BAQg/wYGNv8KClL/BAQ3/wMDJP8GBl3/CQmJ/wQE + Rv8CAiX/AgIl/wICJf9ra73/bGy+/2pqvf9eXrf/NDSl/xERlf8TE5b/FRWX/wkJfP8EBD3/BQVK/wkJ + hP8ODpT/CgqP/woKjv8JCYn/CQmD/wkJgv8JCYf/CgqP/woKkv8LC5L/CgqL/wkJh/8JCYv/Bwds/wcH + aP8JCYj/FxeY/wwMk/8JCYT/Bwds/wYGVv8FBUX/AwMz/wMDJdoDAyWqAwMulwUFQpMGBl6QCAh3jQoK + jIoVFZeHHR2bhCIinYEjI51+JSWefCYmnnkoKJ92KCifcygon3ApKaBtKiqgaysroWkuLqJmKyuhZB0d + m2IODpRfCgqNXAoKjVoKCo9YCAh0VQYGXFMJCX1RWlq1T5iY0U2xsdxKu7vhVbu74Z21td76qqrZ/4SE + yP9QULH/Jyef/xQUlv8NDZP/CgqR/woKj/8KCov/CQmJ/62tzf+0tLT/fX19/z09Pf8xMTH/MDAw/zAw + MP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8vLy//LS0t/yoqKv8oKCj/JiYm/ygoKP8sLCz/MDAw/zMz + M/80NDT/NTU1/zY2Nv83Nzf/OTk5/zs7O/8/Pz//QEBA/0BAQP9AQED/QEBA/0BAQP9AQEHZQUFEpT4+ + TEhWVnpIdnarvHt7svx4eK//amqo/0tLlv8mJoP/GBh4/xYWcv8VFWr/FRVh/xMTVv8PD0b/DAw2/wgI + Jv8FBRj/AwMO/wEBB/8AAAL/AAAA/wAAAP8AAAD/AAAA/wAAAf0AAADvAAAB3QAAAcMAAAWgAQESegoK + JFcXF0E8BgZVKQgIax8REYMgBwdjJgUFRTIEBDFIBgYhYwQEE4MDAwylAgIHwwEBBNsBAQLtAAAB9hQU + Ff0oKCj/PDw8/0BAQP9AQED/Pj4+/zk5Of82Njb/MzMz/zExMf8wMDD/MDAw/zAwMP8wMDD/MDAw/zEx + Mf8zMzP/Nzc3/zs7O/9AQED/QEBA/0BAQP85OUf/KChb/xgYUP8FBUj/BgZR/wYGT/8FBUXwBAQ+nwQE + OGcFBUBiBQVPbBUVVHUeHk+AHR1EjRgYOJ0TEyutDg4gvgoKF84HBxDdBAQK6QICBvMBAQP5AQEB/QAA + AP4AAAD/AAAA/gEBAf0BAQP6AwMG9AcHDusMDBrfFBQq0B4eQb8mJlmvKChxoyYmhJkjI5CWHByWlQkJ + f5cHB2KqBwdl5UdHoP3k5OT/qamp/2pqav80NDT/MDAw/zQ0NP88PDz/QEBA/0BAQP8VFVz/BQVQ/wQE + NP8CAh7/AQEO/wAABP8AAAD/AAAA/wAAAP8BAQX/AQEP/wQEIP8HBzb/DAxT/wYGWf8DAzT/BQVG/wcH + af8FBUL/AwMl/wMDJf8DAyX/ZWW7/2hovP9ra73/X1+4/zY2pv8REZb/EhKW/xQUl/8VFZf/Bwdi/wUF + SP8ICGf/CwuO/woKhP8JCXz/CQl6/woKgf8KCor/CwuO/wsLj/8LC4//CwuQ/wkJf/8JCX3/FxeZ/wkJ + fv8ICGX/CAhy/wsLkf8ODpT/CwuO/woKgf8ICG//Bwdb/wUFRP8DAyr8AwMlzQMDJZ4DAyuPBQVDjAcH + X4oJCXqHCwuNgxYWmIEgIJx+IyOeeyUlnngnJ592KSmgcyoqoXApKaBtLCyhai0tomguLqNlMDCkYjAw + pGAsLKFeHx+cWw8PlVkLC5FXCwuRVAoKilIICGxQCQl3TiwsoUxra71Km5vTSLS03ke2tt9iubng3rCw + 3P6iotb/g4PI/1lZtv8yMqT/Ghqa/w0NlP8LC4//CgqI/woKhv/AwOD/39/f/4uLi/9JSUn/JSUl/xsb + G/8jIyP/LS0t/ywsLP8pKSn/Jycn/yoqKv8tLS3/KCgo/yAgIP8WFhb/FBQU/xMTE/8UFBT/FxcX/xoa + Gv8bGxv/HBwc/x0dHf8eHh7/Hx8f/yAgIP8hISH/JiYm/ysrK/8xMTH/Nzc3/zk5Of8+Pj7/QEBA/0BA + QP9BQUPHdHSmLoSEwKmHh8T4hITC/3h4uv9VVan/LS2V/x0djP8bG4f/GhqA/xoaef8YGG7/FRVe/xER + TP8ODjr/Cgoo/wYGGP8DAw3/AQEG/wAAAv8AAAD/AAAA/wAAAP8AAAD+AAAA9wAAAOkAAAHRAAADsgEB + CYsBARVkBgYqRAQENy4HB10jHh50IQ4OUisJCTY+CAgiWAUFFXgDAw2bAgIHuwEBBNYJCQrtKSkp+zw8 + PP9AQED/PT09/zU1Nf8uLi7/KCgo/zMzM/86Ojr/NjY2/y8vL/8qKir/Kysr/yoqKv8hISH/GRkZ/xoa + Gv8aGhr/HBwc/x4eHv8hISH/JSUl/yoqKv8vLy//NjY2/z4+Pv9AQED/OTlA/yYmPv8MDET+BQVEwwYG + RmgGBk1LBwdfUgwMc1guLnpfMTFwaC0tY3MkJFOAHR1DkRcXNKIQECa1DAwcyAgIEtkFBQrnAwMG8gEB + A/gBAQH9AAAA/gAAAP8AAAD+AQEB/QICBPoDAwf0CAgQ6g4OHNwXFy7MIiJHuygoYasmJnaeHh6GlhQU + jZQLC4ufCQlz2AgIaf5GRpX//v7+/9bW1v94eHj/PT09/xkZGf8eHh7/KSkp/zo6Ov9AQED/GBhh/wgI + Uv8EBDX/AgIe/wEBDv8AAAT/AAAA/wAAAP8AAAD/AQEF/wICD/8EBCD/BgY2/wsLU/8PD23/BgZT/wUF + RP8GBkz/BQU+/wMDJf8DAyX/AwMl/2dnvP9ra73/bGy+/2Fhuf82Nqb/EhKW/xISlv8VFZf/FRWX/woK + iv8HB2D/Bwdg/wkJff8JCX7/CQl+/woKhP8KCor/CgqK/woKi/8KCoz/CwuN/wsLkP8JCXb/CQl+/xYW + mP8REZb/CQl2/wgIZf8JCXb/CgqM/wsLkf8LC5H/Cgp//wgIbv8HB1v/BAQ8/wMDJfYDAyW+AwMlkgMD + KocFBUOFBwdigwkJfX8LC5F9GBiZeSAgnHcjI550JCSecScnn28pKaBsKiqhaSwsomYsLKFkLS2iYTAw + pF4xMaRcMDCkWiwsoVceHptVEhKWUxUVl1AdHZtPCwuSTAoKjEoiIp1IT0+xRoqKy0SmpthBra3bRba2 + 35G0tN74r6/b/5yc0/96esT/T0+x/ywsof8YGJn/CwuS/woKjP8KCon/wsLi//Ly8v+VlZX/R0dH/x0d + Hf8UFBT/Gxsb/yMjI/8jIyP/ISEh/yAgIP8gICD/ISEh/x4eHv8XFxf/ERER/w8PD/8QEBD/EBAQ/xMT + E/8WFhb/FhYW/xQUFP8UFBT/FBQU/xUVFf8UFBT/FBQU/xkZGf8dHR3/IiIi/ygoKPEqKir/MDAw/z09 + Pf9AQED/QUFB4kJCQ9WMjMyWjIzM8ouLyv+AgMb/YGC3/zY2ov8hIZf/HByS/xwcjv8aGoj/GxuB/xoa + dP8WFmP/ExNP/w4OOv8JCSf/BgYX/wEBC/8AAAT/AAAB/wAAAP8AAAD/AAAA/wAAAPsAAADwAAAB3QAA + Ar8BAQebAQEPcwICG04CAiE0BQVCJhgYVSYODjs1CQklTQYGFmwEBA2QAgIHshISFNkwMDD3QEBA/z8/ + P/81NTX/Kysr/yQkJP8dHR3/GRkZ/x4eHv8pKSn/MDAw/ywsLP8lJSX/ISEh/yAgIP8gICD/Gxsb/xQU + FP8ODg7/DAwM/wwMDP8ODg7/EBAQ/xISEv8VFRX/GRkZ/x4eHv8kJCT/LCws/zU1Nf9AQED/QEBA/zIy + QNEaGkhfCAhjQgoKekYeHpBKR0ecT0pKlVU+PoNeMjJwaCkpXnYhIUyHGRk6mhISKq8NDR3DCAgT1gUF + DOUDAwfxAgID+AEBAfwAAAH+AAAA/gAAAP4BAQH9AgIE+QQECfIICBHnEBAg2BoaNcYhIU20IiJlpB0d + epkcHIubISGYxhAQlP8KCoX/R0eg//7+/v/Jycn/dnZ2/zU1Nf8WFhb/EBAQ/xwcHP8wMDD/QEBA/xsb + Yv8MDFT/Bwc2/wICH/8BAQ7/AAAE/wAAAP8AAAD/AAAA/wEBBf8CAg//BAQg/wYGNv8MDFP/Dw9t/wkJ + df8HB1r/BQVE/wMDL/8DAyX/AwMl/wMDJf9ra73/cHC//3FxwP9jY7r/ODim/xUVl/8WFpj/FxeY/xgY + mf8ZGZn/Cgp5/wkJb/8LC4P/DAyR/wwMjf8LC4f/CwuI/wsLiP8LC4n/CwuK/wsLjP8LC4X/CQlr/woK + fv8WFpf/Gxua/wsLjP8JCXD/CAhl/woKdf8LC4n/CwuM/woKe/8JCWz/CAhj/wcHUf8EBCz/AwMl7gMD + JbEDAyWGAwMpggYGRX8ICGV8CwuCegwMk3YcHJpzIyOdcCYmnm4nJ59rKiqgaCoqoGUqKqFjLCyhYSws + oV4vL6NcMjKkWTQ0pVc1NaVUMjKkUisroVAjI51NGBiZSwwMkUkMDJFHISGcRUBAqkOFhclCpKTWP6Wl + 1z2xsdxMtLTe2bW13vyqqtn/k5PP/2trvf8/P6r/Jiae/xYWl/8MDJL/DAyO/8LC4//q6ur/paWl/15e + Xv8RERH/BwcH/wkJCf8LCwv/DAwM/wsLC/8KCgr/CgoK/wwMDP8rKyv/LCws/wwMDP8KCgr/CgoK/wsL + C/8LCwv/DQ0N/w4ODv8ODg7/Dw8P/w8PD/8RERH/EBAQ/xISEv8eHh7/Kioq/zU1Nf86Oj3FMzMz/yws + LP87Ozv/QEBA/0BAQP9FRUmajY3MiI6Oze2Ojs3/hYXJ/2hovP8/P6j/JSWd/yEhmv8fH5j/Hx+U/x8f + j/8eHoX/Gxt2/xcXY/8TE03/DQ04/wgIJP8CAhP/AQEH/wAAAv8AAAD/AAAA/wAAAP8AAAD9AAAA9gAA + AOYAAALMAAAGqQICDYECAhdaAgIZPQMDKTAGBjcxCgopQgcHGWAEBA+EDQ0SrUFBQutcXFz/WFhY/0lJ + Sf88PDz/Ly8v/yUlJf8dHR3/FhYW/xAQEP8NDQ3/EBAQ/xMTE/8RERH/Dg4O/wwMDP8LCwv/ISEh/z09 + Pf84ODj/DQ0N/woKCv8LCwv/DAwM/wwMDP8PDw//ExMT/xAQEP8ODg7/EhIS/xcXF/8eHh7/Jycn/zIy + Mv8+Pj7/QEBA/zk5RbcWFnVNGRmXREdHqUZbW61LTEydUEBAjlc4OH1iLS1ncCUlU4EbGz2VExMsqw4O + H8EJCRXUBgYM4wMDCO4CAgT2AQEC+gEBAf0AAAH+AAAB/gEBAfwCAgT4BQUK7woKFeISEiXRGxs7vyEh + VawkJG+iICCGvRcXkvcMDI7/CwuJ/0lJqf/+/v7/ycnJ/46Ojv9VVVX/CwsL/w0NDf8WFhb/Kysr/0BA + QP8dHWL/DQ1U/wkJOP8EBCD/AQEP/wAABP8AAAD/AAAA/wAAAP8BAQX/AgIP/wQEIP8ICDf/DQ1T/xER + bv8VFYL/CQly/wcHUf8EBDP/AwMl/wMDJf8DAyX/b2+//3Nzwf9zc8H/Z2e8/zw8qf8WFpj/FxeZ/xkZ + mf8ZGZn/Gxua/w0Nkv8MDIv/DQ2T/xYWmP8NDZP/DAyK/wwMh/8MDIj/DAyH/wwMiP8MDIj/Cgpw/wgI + YP8MDI3/DQ2T/wsLgv8KCnX/BwdU/wMDJf8DAyX/BAQp/wUFPv8FBTj/BAQr/wMDJ/8EBCn/AwMl/wMD + Jf4DAyXiAwMlpQMDJXwEBCh7BgZGdwkJaXUMDIZyExOXbyAgnG0mJp9qJyefZygooGQqKqFhLCyiXi0t + olwuLqNaMDCkVzIypFU2NqZTODinUDU1pk4pKaFLFhaYSQ0NkkgNDZBFDQ2PQwwMjEEREZZAbGy+Pqam + 2DuoqNg6sLDcN7Oz3Ye3t9/vs7Pd/6Wl1/+Ghsn/WFi1/zY2pv8iIp3/FxeZ/xERlv/CwuT/7e3t/7W1 + tf98fHz/GBgY/wkJCf8KCgr/DQ0N/xISEv8aGhr/HBwc/yMjI/81NTX/Wlpa/3Z2dv9zc3P/UFBQ/zs7 + O/8qKir/FxcX/zs7O/9TU1P/SkpK/0hISP9JSUn/SkpK/0NDQ/87Ozv/PDw8/z4+Pv9ERET/WVlZ/19f + X/9ZWVn/R0dH/0BAQPFLS1VMjIzMEIyMzHl9fbDriYnE/4aGyv9sbL7/QUGr/ykpof8lJZ7/JCSd/yIi + nP8hIZf/ICCR/x8fhf8cHHb/GBhh/xMTSv8MDDL/AgIc/wEBCv8AAAP/AAAA/wAAAP8AAAD/AAAA/gAA + APkAAADsAAAC1gAAA7YBAQiOBwcUZwICGEkCAhk7AwMePgcHG1MEBA90JSUox01NTftqamr/VVVV/0dH + R/86Ojr/Ly8v/yUlJf8cHBz/FRUV/w8PD/8LCwv/CgoK/w0NDf8iIiL/SUlJ/1lZWf9eXl7/Y2Nj/21t + bf+CgoL/lJSU/46Ojv9vb2//U1NT/zg4OP8WFhb/IiIi/yMjI/8QEBD/EBAQ/xEREf8QEBD/Dw8P/xQU + FP8cHBz/JiYm/zIyMv9AQED/Pz9A9DIyRZMJCWtCDAyMRS4unUc7O55LQ0OVUzk5gl0wMGxqJiZVfBwc + QJEUFC+nDw8hvgoKFtAGBg3gBAQI7AICBfUBAQP6AQEB/QAAAP4AAAH+AQEC/AMDBvYGBg3rDAwZ3BER + KskVFUK4FRViwgsLeu0LC4H/DAyG/wwMiP9ISKD//v7+/9HR0f+jo6P/eXl5/ygoKP8XFxf/FhYW/ysr + K/9AQED/Hh5j/w4OVf8KCjn/BgYh/wICD/8BAQX/AAAA/wAAAP8AAAD/AQEF/wICD/8FBSD/CAg3/w4O + Vf8SEm7/FxeD/wwMif8KCm7/BgY//wMDJf8DAyX/AwMl/3FxwP91dcL/dXXC/2pqvf8+Pqn/FxeY/xkZ + mf8aGpn/Gxua/x0dm/8SEpb/Dg6Q/w8PlP8XF5j/EhKW/w0Njf8NDYX/DQ2F/w0Nhf8NDYb/DQ2I/woK + Zv8JCVz/Cgpp/wgIUf8HB07/CAhW/wgIUv8EBC//BAQl/wQEJf8FBTT/BQU4/wQELP8EBCX/BAQl/wQE + Jf8EBCX/BAQl+gQEJdcEBCWVBAQldQQEKXQHB0pyCgpubw0NiGwWFpdpIyOdZycnn2QrK6FhKyuhXiws + oVsuLqJaMDCjVy4uolQtLaJSLi6iUCcnn00kJJ5LJCSeSSEhnEYWFpdFDg6SQg0NjkANDYw+DQ2HPTg4 + pjuUlNA5rq7bN7Gx3DS2tt9Ft7ffx7a23/iwsNz/m5vT/5iYxP+MjMv/Kyuh/x8fnP8XF5j/xMTk/+3t + 7f+3t7f/gYGB/ygoKP8MDAz/DAwM/w0NDf8SEhL/HBwc/zAwMP9GRkb/X19f/3R0dP+UlJT/paWl/5+f + n/+NjY3/ampq/05OTv9ycnL/jo6O/4qKiv+IiIj/jY2N/5GRkf+NjY3/hoaG/4ODg/+BgYH/gICA/46O + jv+mpqb/o6Oj/3R0dPFKSmQ8OzuoD2Rkugx+fsZpSEhP+4WFu/9ubpf/RkZQ/0REd/8uLpX/JyeY/yYm + nv8lJZ3/IyOc/yUlmP8jI5D/ICCE/x0dcv8XF1v/Dg5B/wMDJP8BAQ7/AAAD/wAAAf8AAAD/AAAA/wAA + AP8AAAD8AAAA8gAAAd4AAALBAQEFmwQEDXMGBhVVAgIUSQICElAUFCBxQUFC20BAQP83Nzf/Pj4+/0BA + QP8zMzP/KCgo/yAgIP8XFxf/FRUV/xkZGf8WFhb/GRkZ/yAgIP81NTX/YWFh/3t7e/+JiYn/kZGR/5aW + lv+cnJz/oqKi/7CwsP+5ubn/tLS0/6ampv+Dg4P/X19f/3h4eP+Ghob/ampq/0hISP8mJib/ExMT/xIS + Ev8SEhL/Dg4O/xQUFP8dHR3/KSkp/zc3N/9AQED/OjpBxBQUVE0KCmVCCwtxRhERjkk1NZRQPDyHWTMz + cGgnJ1h6Hh5DjhcXMaQPDyK6CgoWzgcHD98EBAjsAgIE9QEBAvsAAAH+AAAA/wAAAf0BAQP6AwMI8gUF + D+UGBhzUCAg10AgIWeoLC3L9DAx//wwMh/8NDYr/SUmj//7+/v/R0dH/pKSk/3h4eP8oKCj/GBgY/xkZ + Gf8rKyv/QEBA/yAgZP8QEFb/Cws5/wYGIf8DAxD/AQEF/wAAAP8AAAD/AAAA/wEBBf8CAhD/BQUh/wkJ + Of8PD1b/FBRw/xkZhf8REY7/Cwty/wYGQP8EBCX/BAQl/wQEJf91dcL/eHjD/3h4w/9ra73/QkKr/xsb + mv8bG5r/GhqZ/x0dm/8fH5z/ExOW/w4Okv8VFZf/FxeY/xYWl/8ODpH/DQ2I/wwMgv8MDIP/DAyD/wwM + ff8JCVv/Cgpq/wkJXf8KCmb/Cwtx/w0NjP8ZGZn/EhKW/wsLdP8JCWL/Cgpq/wsLdv8LC2//CAhR/wUF + NP8EBCX/BAQl/wQEJf8EBCX2BAQlywQEJYQEBCVuBAQrbgcHTmsLC3FoDQ2MZRgYmWMkJJ5gKSmgXSws + oVosLKFXLi6iVjAwo1MqKqFQJyefTicnn0wmJp5JJiaeRycnn0UnJ59CICCcQQ4OlD8NDY09ExOWOw0N + hzoODpA3bW2+Naur2jSyst0yuLjgLba233+2tt/ks7Pd/6io2P/Ly9P//v7+/5yc0/8lJZ7/HR2b/8XF + 5f/t7e3/ubm5/4iIiP88PDz/EBAQ/w8PD/8QEBD/GBgY/ycnJ/9CQkL/Z2dn/4mJif+goKD/sbGx/7+/ + v//Hx8f/w8PD/5ycnP+Ojo7/r6+v/7q6uv+6urr/u7u7/76+vv/BwcH/vLy8/7S0tP+wsLD/r6+v/7Cw + sP/FxcX/8PDw/9XV1tKVlaJZKiqhDTQ0pQ1fX2N0TU2Vb1JSjeFDQ0f/QEBA/0BAQP9LS5v/Pz9G/zk5 + V/8mJp7/Jiae/yYmnf8lJZz/JiaY/yMjjv8gIH7/Ghpp/w4OTf8EBCv/AgIQ/wAABP8AAAH/AAAA/wAA + AP8AAAD/AAAA/gAAAPYAAADkAAACygAABKcBAQiABwcQZAICEFs0NDuBfHx873p6ev9DQ0P/JCQk/yUl + Jf8sLCz/IiIi/xsbG/8mJib/MjIy/0BAQP9NTU3/U1NT/1paWv9paWn/f39//5aWlv+rq6v/uLi4/8LC + wv/Jycn/zc3N/9DQ0P/U1NT/2NjY/9nZ2f/V1dX/s7Oz/56env+1tbX/ubm5/6urq/+YmJj/goKC/2Zm + Zv9AQED/FxcX/xUVFf8UFBT/Dw8P/xcXF/8iIiL/MDAw/0BAQP8/P0H0JCRPYwgIUUEICFhECQlnSAsL + dE4nJ39YMzNyZSkpXHYfH0WLFxcyoRAQI7gKChbNBgYN4QMDB+4CAgT4AQEB/QAAAP8AAAD+AQEB/AEB + BPcCAgntAwMW5AUFMe0HB0/7DQ1o/xAQfP8NDYb/DQ2K/0pKrf/+/v7/0tLS/6SkpP95eXn/KSkp/xkZ + Gf8ZGRn/Kysr/0BAQP8eHmT/EBBW/woKOf8GBiH/AwMQ/wEBBf8AAAD/AAAA/wAAAf8BAQX/AwMR/wUF + Iv8KCjr/Dg5X/xUVcv8bG4f/EhKO/wsLdf8GBkP/BAQl/wQEJf8EBCX/eHjE/35+xv99fcb/cHDA/0ZG + rf8iIp3/ICCc/x4enP8hIZ3/IiKd/xISlv8PD5T/FxeY/xYWmP8WFpj/ERGW/w4OjP8NDYP/DQ2B/w0N + gv8LC27/DAx6/w8Pk/8SEpb/FBSX/xcXmP8aGpr/HByb/x4enP8ODo//DAx6/wwMc/8MDHj/DAx6/wwM + dv8LC2z/CAhL/wQEJf8EBCX/BAQl/wQEJfEEBCW7BAQldQQEJWkFBS5nCAhSZAwMd2EODo9fHBybXCcn + n1ksLKJWLi6jUy8vo1IwMKRPLS2iTSwsokopKaFJKSmhRikpoUQpKaFBKSmhPycnnz4WFpg7FhaYOSQk + njcQEJU2DQ1/NDIypDKamtMwsrLdL7u74Sq7u+FCt7ffuLe33/awsNz/1NTs/93d8P9ubr//Ly+j/yIi + nf/Hx+b/7e3t/7m5uf+NjY3/TExM/xQUFP8SEhL/FRUV/yIiIv89PT3/ZGRk/5mZmf/Gxsb/39/f/+jo + 6P/t7e3/8PDw//Hx8f/n5+f/4+Pj/+zs7P/u7u7/8fHx//T09P/19fX/8vLz5O/v7//n5+f/4ODg/9/f + 3//n5+f//v7+//z8/dL6+vyz6entlbCw0xrPz9Gkr6+v/21tq2J7e3/8VVVV/z8/P/9AQED/QEBA/0BA + QP8wMHv/KSma/z09TP8vL4L/Jyef/ygonv8mJpf/IyOJ/x4edf8REVn/BQU0/wICFP8BAQX/AAAC/wAA + AP4AAAD/AAAA/wAAAP4AAAD5AAAB6gAAAdEAAAOyAQEGjwQECnRPT1ObjIyM94qKiv9oaGj/SkpK/yYm + Jv8eHh7/Hx8f/yYmJv80NDT/Q0ND/05OTv9dXV3/cHBw/4SEhP+Xl5f/ra2t/8TExP/a2tr/7Ozs//r6 + +v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////T09P/k5OT/5OTk/97e3v/S0tL/x8fH/7m5 + uf+qqqr/lZWV/3R0dP9JSUn/Ghoa/xcXF/8TExP/ExMT/x0dHf8rKyv/Ozs7/0BAQP8xMU+GCgpjQAkJ + WEMICFNGCgphTQsLbVYkJG5hKytdcyAgRYgXFzGgDw8hugkJFNMFBQvmAgIF8gEBAvsAAAD+AAAA/wAA + Af4AAAL6AQEG9QICFPUEBCr7CQlE/xAQXv8bG3j/GBiG/xYWkP9XV7P//v7+/9LS0v+kpKT/eXl5/yoq + Kv8aGhr/GRkZ/ysrK/9AQED/Hh5k/w8PV/8KCjn/Bwci/wMDEf8BAQb/AAAA/wAAAP8AAAH/AQEG/wIC + Ev8GBiP/Cgo8/xAQWf8YGHT/HR2I/xERjv8MDHf/BwdG/wQEJf8EBCX/BAQl/3x8xfuCgsj+hITJ/3l5 + xP9PT7H/LS2i/yoqof8mJp//Jiaf/yYmn/8XF5j/EhKW/xcXmP8WFpf/FRWX/xUVl/8PD5D/Dg6F/w4O + f/8NDXr/DQ11/xYWl/8QEJX/EhKW/xQUl/8XF5j/GRmZ/x8fnP8hIZz/IiKd/xAQlP8ODob/Dg6D/w4O + hf8ODob/DQ18/wsLaf8ICE//BQUw/wQEJf8EBCX+BAQl7QQEJaUEBCVrBAQlYwQEKWEJCVdeDQ16XBAQ + k1kfH5xWKSmgUy8vo1EvL6NOLy+jTDAwo0ouLqJHLS2iRS0tokMtLaJBLi6iPiwsoTweHps7ExOWOSYm + nzYrK6E1IiKdMw0NfDEODoUva2u9Lqmp2Sy6uuArvb3iJ7y84XW6uuDctbXe/6ur2v+Pj87/Y2O6/z09 + qf8mJp//x8fm/+vr6/+4uLj/j4+P/1lZWf8iIiL/FRUV/xoaGv8uLi7/T09P/4KCgv+/v8H/wMDE/7+/ + wf+/v7//v7+//7+/v//AwMD/wMDA/sPDw/rIyMj0zs7P7NnZ2uHk5ObW7e3vzvr6++T+/v7//v7+//7+ + /v/+/v7//v7+//z8/dL6+vyz/v7+//v7/bP9/f7x/v7+//7+/v/+/v7/5eXl/5KSkv9LS0v/KSkp/zAw + MP87Ozv/MzNi/zc3ZP9AQED/OztY/ygooP8oKJ//KCib/yUlj/8fH33/FBRi/wYGOv8CAhb/AQEG/wAA + Av8AAAD+AAAA/wAAAP8AAAD/AAAA+wAAAe4AAAHXAAACuwAAA51WVlmzm5ub/42Njf9paWn/TU1N/zg4 + OP8dHR3/GBgY/y8vL/85OTn/R0dH/1hYWP9ra2v/goKC/6Ghof/BwcH/4eHh//7+/v/+/v7/4+Pw/7m5 + 3f+Rkc3/X1+3/01NsP9RUbL/UFCx/09Psf9PT7H/S0us/4eHwv+Wlsf/wsLd////////////+Pj4/+vr + 6//e3t7/0tLS/8TExP+xsbH/l5eX/3Jycv8+Pj7/GRkZ/xcXF/8QEBD/Ghoa/ycnJ/83Nzf/QEBA/zY2 + WYYPD4g/DAxrQQkJW0YKCllLCwtmUxoaaWElJVh1Hh5AjBQULKgNDRvFBwcP2wQECO0BAQP3AAAB/QAA + AP4AAAD+AAAB/QEBBfsCAhD9BAQi/woKOP8UFFT/GRlt/xMTff8jI5H/W1uy//7+/v/S0tL/paWl/3t7 + e/8sLCz/Gxsb/xkZGf8sLCz/QEBA/yAgZf8QEFj/Cws7/wYGIv8DAxH/AQEF/wAAAf8AAAD/AAAB/wEB + Bv8CAhL/BgYl/wsLPf8SElz/GRl2/yAgiv8WFpH/DQ16/wgIR/8EBCX/BAQl/wQEJf9/f8bwh4fJ9oyM + zP2Fhcn/YGC4/z4+qf82Nqb/Ly+i/ysrof8pKaD/Hx+b/xoamf8YGJj/FxeX/xcXl/8XF5f/ERGV/xER + kf8YGJj/Jiae/zk5p/8XF5f/ERGU/xUVl/8YGJj/GhqZ/xwcmv8gIJz/IyOd/yQknf8kJJ3/HBya/xIS + lf8SEpX/EhKV/xAQkP8PD4H/DAxp/wgISv8EBCf/BAQl/wQEJf4EBCXoBAQljQQEJWQEBCVdBAQlWgoK + V1gODn1VERGTUyIinFAsLKFNMDCjSzExo0gzM6RGMzOkRDExo0IyMqRAMDCjPjExozsrK6E5FRWXOCEh + nDYxMaM0MTGjMjExozAQEIwvDAxpLRUVlyuSks4ps7PdKL294SO9veE7u7vhq7m54PXQ0Or/19ft/4GB + x/9WVrT/NTWl/8nJ5v/p6en/tra2/46Oj/9fX1//MTEy/xoaG/8iIiP/NDQ0/1JSUv+BgYH/V1ds/wMD + Gf8BAQj/AAAB/wAAAP8AAAD/AAAA/wAAAPoAAADsAAAA0wAAArEBAQWGAgIOWgUFGjcMDDQeGhpsECgo + nwuystwZ6en1R+rq9Ue2tt4Y/Pz90v7+/v////////////7+/rL7+/1T//////Dw8P+2trb/bGxt/z4+ + P/8lJSX/JiYm/zQ0NP9AQED/QEBA/zo6V/8oKJ//KCie/yoqnf8nJ5T/IiKD/xUVaf8HBz//AwMY/wEB + B/8AAAP+AAAB/QAAAP8AAAD/AAAA/wAAAPwAAAHxAAAB3AAAAsRQUFHLpaWl/5CQkP9qamv/TU1O/zY2 + N/8kJCX/FxcY/x8fIP8+Pj7/SkpL/15eX/97e3v/nZ2e/8bGxv/v7+///v7+/9jY4/+MjLn/QECa/x4e + k/8fH5j/JSWd/x0dmv8aGpn/GBiY/xcXl/8XF5f/FxeX/xERlf8REZH/GBiY/xwcmv8iIpz/Wlqi/6Sk + wf/w8PT///////Pz8//k5OT/1tbX/8bGxv+wsLD/jo6O/1xcXf8gICH/Ghob/xMTE/8YGBj/JCQk/zQ0 + NP9AQED/NjZZhR0dmj0QEIpADAxsRAsLY0kMDGJUEBBeZBwcTHoYGDaWEBAitQkJFNAFBQrlAgIE8wAA + AfsAAAD+AAAA/wAAAf4AAAP+AQEL/wQEGf8LCy7/FhZJ/xERX/8bG3j/JiaN/15esv/+/v7/0tLS/6Sk + pf96env/Kyss/xsbHP8YGBj/LCws/0BAQP8lJWj/FRVb/w0NPP8ICCT/BAQS/wEBBv8AAAH/AAAB/wAA + Af8BAQj/AwMU/wcHJ/8MDD//ERFc/xgYdv8hIYr/Hh6U/w8Pgf8JCUv/BAQl/wQEJf8EBCX/goLI7IqK + zOqTk8/yjY3N+21tv/9NTbD/RUWt/z4+qv81Nab/LS2i/yYmn/8jI57/HR2b/x0dm/8fH5z/KSmh/zw8 + qf9AQKv/Ojqo/1ZWtP9KSq//FRWY/xgYmf8ZGZr/HR2b/yAgnf8hIZ3/IyOe/yUln/8mJp//Jyeg/ygo + oP8mJp//JCSe/yMjnv8jI57/FxeY/w8Ph/8MDGv/CAhG/wQEJv8EBCb/BAQm/wQEJtsEBCZ9BAQmXQQE + JlcGBjhUCwthUg8PgFAREZVNIyOeSisrokguLqNFMTGkQzAwpEEvL6M/MTGkPTExpDsqKqE4GRmaNh4e + nDUuLqMzMTGkMTIypC8xMaQuISGdLAwMZyoMDGgoVVW0Jqen2CW3t98ku7vhILq64Wi6uuHW7e33//r6 + /f+jo9f/b2/A/0dHrv/y8vn/5OTk/7Gxsf+Li4v/XFxc/zY2Nv8gICD/Kioq/zY2Nv9HR0f/WFhb/xAQ + PP8EBB//AQEM/wAAAv8AAAD/AAAA/wAAAP8AAAD7AAAA7AAAANMAAAGxAQEFhQEBDFkFBRg2CwsuHBoa + aA4rK6IJLi6jCS8vowgxMaQIMjKkCC8vowjf3/Em9vb7Zf39/rL9/f6T+vr9Q//////29vb/1tbW/6ur + q/9paWn/OTk5/yQkJP8kJCT/NTU1/0BAQP82Nmr/KCiZ/0BAQP8pKZH/JSWV/yEhh/8SEm3/CAhB/wMD + GP8BAQj/AAAD/gAAAf0AAAD/AAAA/wAAAP8AAAD+AAAA8gAAAeFBQUHdr6+v/5mZmf9ubm7/TU1N/zY2 + Nv8rKyv/HBwc/x4eHv84ODj/TU1N/2hoaP+Ojo7/vb29//Dw8P/+/v7/qqq6/1RUgv83N3//MjKO/yMj + k/8fH5j/Hx+b/x4enP8dHZv/Hh6c/xwcm/8dHZv/Hx+c/ykpof88PKn/Pz+q/zU1pv9HR67/Jiaf/wwM + aP8JCVH/BwdC/XBwjuP09Pfq//////Pz8//k5OT/1NTU/8DAwP+ioqL/dHR0/zk5Of8eHh7/FRUV/xYW + Fv8jIyP/NDQ0/0BAQP83N1qEICCdPBQUlUAPD4VCDQ1ySgwMalcfH1trICBDhhQUKqULCxjCBgYO3AIC + B+4AAAL4AAAB/QAAAP8AAAD/AAAC/wEBB/8EBBL/Cgok/wwMOv8SElT/Hh5y/yQkh/9eXrD//v7+/9PT + 0/+lpaX/e3t7/y0tLf8cHBz/GBgY/ywsLP9AQED/JiZp/xYWXP8PDz7/CAgl/wQEE/8CAgf/AAAB/wAA + Af8AAAL/AQEI/wQEFf8HByf/DAxA/xMTXv8YGHf/Hh6K/yEhl/8QEIj/CQlR/wQEJv8EBCb/BAQm+oKC + x+mNjczmlZXQ5JCQzut1dcL5Wlq2/1hYtf9RUbL/Rkat/zo6qP8zM6X/Li6i/ycnn/8tLaL/NDSl/zk5 + p/9ERKz/KSmg/xYWmP9DQ6z/Ozuo/xkZmf8bG5r/HR2b/x4em/8iIp3/JCSe/yYmn/8nJ5//Jyef/ykp + oP8qKqH/Kiqh/yoqof8qKqH/LCyi/yoqof8eHpv/ERGK/w0Naf8ICD//BQUm/wUFJv8FBSb/BQUmxgUF + Jm4FBSZTBQUmUgkJTk4MDGhMDw+BSRISlUYhIZ1EJiafQiwsokAsLKI9LCyiOy8vozksLKI3HR2bNRcX + mDMmJp8yLy+jLy8voy4vL6MsLy+jKy8voykPD30nCgpQJRAQhiOOjs0jsLDcIbm54B26uuEzubngn7i4 + 4Pi1td7/paXX/4ODyP9aWrb//v7+/9/f3/+srKz/h4eH/1tbW/8yMjL/JSUl/zAwMP81NTX/OTk5/yoq + Tf8NDT7/BQUk/wICEP8AAAT/AAAA/wAAAP8AAAD/AAAA+wAAAOwAAADTAAABsAAAA4QBAQpYBQUVNQsL + KRsbG2QNLi6iCDAwowcwMKMHMjKkBzMzpQYzM6UGOTmnBlZWtAWCgsgFlpbQBfz8/kL//////////+vr + 6//T09P/rq6u/2pqav80NDT/Li4u/y0tLf9AQED/QkJ2/zMzg/9AQED/NTVi/yEhlP8cHIf/DQ1t/wcH + P/8DAxf/AQEI/wAABP0AAAH8AAAA/wAAAP8AAAD/AAAA/gAAAPQnJyfrr6+v/ampqf96enr/UlJS/zg4 + OP8uLi7/JCQk/x4eHv8vLy//UlJS/3Nzc/+fn5//0tLS//Ly8v+0tLb0MzNS+CMjWP8zM3X/OjqL/y8v + lP8iIpf/ISGb/x4emv8eHpv/ISGd/yQknv8iIp3/Kyuh/zQ0pf85Oaf/RESs/yYmn/8SEpP/NDSl/xER + kf8LC1v/CQlI/wcHPesHBzuXCAhCINfX43P7+/3k/v7+/+7u7v/e3t7/zMzM/7CwsP+Dg4P/RUVF/yAg + IP8XFxf/FhYW/yMjI/81NTX/QEBA/zc3WYQbG5o7GRmXPxERikQODnhMJCRnXi8vVHceHjeUDg4ftAUF + ENACAgfmAAAD9AAAAfwAAAD/AAAA/wAAAf8BAQT/AwMN/wYGG/8ICC//ERFK/xoaZv8gIH7/W1ur//7+ + /v/T09P/p6en/35+fv8xMTH/Hh4e/xkZGf8sLCz/QEBA/yUlaP8WFlz/Dg4+/wgIJf8EBBP/AgIH/wAA + Af8AAAH/AAAC/wICCf8EBBX/CAgo/w0NQf8VFV//Gxt4/yAgi/8pKZr/ERGP/wsLWP8GBjD/BQUm+AUF + Jup7e8TniYnK5ZOTz+KTk8/efn7G4m9vv/R3d8L/cnLA/2Jiuf9QULH/Rkat/0BAqv8+Pqn/R0et/zY2 + pv8WFpf/EhKO/xERiv8UFJb/Nzem/yoqoP8ZGZn/HR2b/x8fm/8hIZz/IyOd/yUlnv8mJp//Jyef/ycn + n/8qKqD/LS2i/y0tov8tLaL/Kyuh/y0tov8uLqL/Kyuh/xwcmv8REYf/DAxi/wYGM/8FBSb/BQUm/wUF + Jv0FBSaxBQUmYgUFJksFBShMCQlFSQwMXkYQEH1DExOUQiMjnUApKaA9KyuhOyoqoDkqKqA3HByaNRMT + lDImJp8wLy+iLzExoy4wMKMsMDCjKjAwoykyMqQnHByaJQsLWSMKClEiNTWlIZ+f1CCurtsetbXeG7W1 + 3le1td7PsbHc/6en2P+Kisv/X1+4//7+/v/a2tr/qqqq/4eHh/9bW1v/Li4u/ykpKf8yMjL/MjIy/0BA + QP8rK0//ERFD/wsLKf8DAxT/AQEF/wAAAP8AAAD/AAAA/wAAAPwAAADtAAAA0gAAAbAAAAOEAQEJWAQE + FTULCykbHBxkDS8vogcxMaMGMDCjBjIypAY1NaUFNTWlBDk5pwRTU7IDf3/GA5aW0AOYmNED9PT6ffv7 + /fj9/f3/6urq/9TU1P+qqqr/W1tb/0tLS/9NTU3/Pz8//0VFi/84OHH/QEBA/0BAQP8iIon/HByI/w0N + bf8ICD//AwMW/wEBCf8BAQT8AAAB+wAAAP8AAAD/AAAA/wAAAP8NDQ33tra2/rq6uv+FhYX/W1tb/zw8 + PP8yMjL/NDQ0/ycnJ/8sLCz/VlZW/35+fv+qqqr/3d3d/8nJyf1DQ0PjCgoe4hgYRvkoKGb/OjqD/0ND + mP89PaD/PDym/zc3pf8pKaD/ISGc/yMjnf8qKqD/MjKk/0FBq/8zM6T/FRWX/xISjv8REYf/EhKQ/xkZ + mP8ODnL/CgpO/wgIQP8HBzrJCAg8SAkJSRYMDGAeZWWtLevr9p7/////9vb2/+bm5v/T09P/ubm5/4yM + jP9QUFD/Jycn/xwcHP8aGhr/Jycn/zg4OP9AQED/LCxrXhMTkzsQEIRADw9zRxgYbVUuLl1qICA/hg0N + JKYDAxPFAQEJ3gEBBPEAAAP9AAAB/wAAAP8AAAD/AAAC/wICCP8DAxP/Cgon/xERQP8YGFz/Hh52/1pa + pv/+/v7/1NTU/6mpqf+BgYH/NjY2/yAgIP8ZGRn/LCws/0BAQP8aGmH/CwtW/wcHOf8EBCL/AgIR/wEB + Bv8AAAL/AAAB/wAAA/8CAgr/BgYY/w4OLf8aGkn/JSVo/yUlfv8mJo//Ly+d/xMTkv8MDGL/CAhA8QUF + JuIFBSbec3PB5YKCyOKPj83fkpLP3H19xdl9fcXck5PP7JaW0f6Pj87/h4fK/4KCyP97e8X/YmK6/z09 + qf8TE5P/EhKI/xISiP8SEoj/FhaY/yoqof8gIJz/GRmZ/xsbmv8gIJz/IiKd/yQknv8lJZ7/Jiaf/yYm + n/8mJp//KCig/ywsov8tLaL/LS2i/ywsov8uLqL/LS2i/ywsov8pKaD/Ghqa/xERg/8MDFj/BQUm/wUF + Jv8FBSb/BQUm8AUFJp4FBSZXBQUmRQUFJkYHBzFDCwtTQRAQdz8UFJU8JiafOioqoTgpKaA2JiafNBQU + lTIcHJswLS2iLjAwoywxMaQqMTGkKDExpCcxMaQmMTGkJDExpCIREYAhCgpLHw4ObB9sbL4dp6fYHLGx + 3Bizs90ssLDcja2t2/emptf/kZHO/2hovP/+/v7/2dnZ/6urq/+IiIj/W1tb/ysrK/8sLCz/NDQ0/zEx + Mf9AQED/PT1Z/ygoUP8TEy//AwMV/wEBBP8AAAD/AAAA/wAAAP8AAAD9AAAA7gAAANIAAAGwAAACgwEB + BlYDAw8zCAggGRYWUQouLqIEMDCjBC8vowMxMaQDMzOlAjQ0pQI3N6YBT0+xAXp6xAGTk88BmJjRAZSU + 0BC0tN6W6+v2/Pz8/P/p6en/z8/P/52dnf9zc3P/dnZ2/1dXV/8rK3L/NzdW/0BAQP9AQED/KSlk/xQU + hf8ODmz/CAg8/wMDFP8BAQn/AQEE/AAAAfoAAAD/AAAA/wAAAP8AAAD/l5eX/crKyv+UlJT/ZmZm/0RE + RP83Nzf/NTU1/zU1Nf8vLy//RUVF/4WFhf+urq7/zc3N/4eHh/wQEBHpAQEE0gwMLe0ZGVL8LCxy/0VF + kf9PT6T/V1ew/2Rkuv9kZLr/XV23/1dXtf9cXLf/Xl64/0pKr/8tLaL/ExOO/xIShf8SEob/ERGE/xIS + iv8REYD/DAxc/wkJRP8ICDrnCAg5hgkJQR4LC1MaDw9uHBMTjh0rK6Ee19ftZf7+/vL7+/v/6urq/9jY + 2P+/v7//m5ub/2hoaP82Njb/JSUl/x0dHf8qKir/PDw8/0BAQfMlJXBRERF+Ow4OakAMDGBLDQ1YXw4O + P3gGBiaXAwMUuQICDNkBAQr1AQEG/wAAAf8AAAD/AAAA/wAAAf8BAQX/AwMP/wgIIP8ODjf/FhZT/x0d + bv9aWqP//v7+/9vb2/+ysrL/i4uL/0JCQv8lJSX/Gxsb/y0tLf9AQED/Gxte/wsLUf8HBzT/BAQe/wIC + D/8BAQX/AAAB/wAAAf8AAAP/AgIL/wcHGv8WFjP/LS1V/z8/dv9ISJD/TU2h/1ZWsP87O6f7Dw916QgI + O9wFBSbZBQUm3Hx8xeOHh8rfjIzM3YGBx9leXrjWcXHA05eX0dSentTkmZnS+JKSzv+MjMz/iIjK/3V1 + wv9KSq//GRmZ/xQUjf8TE4r/ExOJ/xQUkf8bG5r/IiKd/xoamf8cHJr/Hh6b/yEhnP8jI53/Jiae/yYm + n/8nJ5//Jyef/ygooP8qKqD/LS2i/y0tov8sLKH/Ly+i/y8vov8vL6L/LS2i/ycnn/8WFpf/ERF7/wsL + TP8FBSb/BQUm/wUFJv8FBSbhBQUmjAUFJksFBSZBBQUmQAYGLD4LC1E8EBB1ORUVkzgpKaA1ICCcMxYW + lzEmJp4vLS2iLTAwoysvL6IqLy+iKDExpCYxMaQkMTGkIzExpCIyMqQgNDSlHhAQcx0MDFkcKSmgG6Cg + 1Rq1td4YuLjgGLa23ky2tt7Is7Pd/6ur2f+entT//v7+/9nZ2f+tra3/ioqK/11dXf8qKir/Ly8v/zIy + Mv80NDT/QEBF/zk5cP8pKVH/FRUx/wMDF/8BAQX/AAAA/wAAAP8AAAD/AAAB/gAAAfAAAADSAAAArwAA + AYIBAQRVAQEGMAMDDhYNDS4HLi6iAi8vogEvL6IBLy+iATExowEyMqQB/v7+AP7+/gD///8A////AP// + /wCVldAKkJDOcJiY0ezr6/b/+fn5/+Li4v+/v7//mJiY/5WVlf+MjIz/NTWC/2Rka/9AQED/QEBA/z09 + Q/8REXf/Dg5j/wgIOv8CAhH/AQEJ/wEBBPsAAAH5AAAA/wAAAP8AAAD/Z2dn/87Ozv+ioqL/cXFx/0tL + S/86Ojr/NjY2/zU1Nf8/Pz//ODg4/1JSUv+JiYn/mJiY/0hISP0AAADzAAAB4AQEDNEUFD73IiJg/zIy + ff86OpP/MTGb/0lJrP9ra7z/bGy+/2Jiuf9ZWbX/WFi1/1tbtv9NTbD/KCig/xMTi/8SEoX/EhKE/xIS + f/8QEHb/Dg5l/wsLT/8ICDz+CAg3vAgIOkMKCkYUDQ1eGBERfhoaGpkaNjamHEBAqh2/v+NJ/Pz+5P7+ + /v/t7e3/3d3d/8vLy/+xsbH/hoaG/1BQUP8qKir/ICAg/y4uLv9AQED/PT1FzRISgjcPD207DQ1fRAsL + UFUJCT1tBgYniQQEGbMDAxXiAgIQ/AEBCP8AAAL/AAAA/wAAAP8AAAD/AQED/wMDC/8HBxr/DAwu/xMT + Sf8cHGf/Wlqf//7+/v/i4uL/vb29/5eXl/9PT0//Kioq/xwcHP8tLS3/QEBA/yMjZv8SElf/Cws6/wUF + Iv8CAhD/AQEG/wAAAf8AAAH/AAAD/wEBCv8DAxj/ExMy/zAwVv9ERHn/SkqR/0xMof9SUq73Ozun4BER + ftQJCT7TBQUm1gUFJtmEhMjgiorL3YWFydphYbnXIyOd0zw8qdB4eMPMhYXJzYSEyNt/f8bzfHzF/YWF + yf+Kisv/fHzF/1JSsv8fH5v/FBSQ/xMTi/8TE4j/FRWV/yYmn/8bG5r/HBya/x0dm/8hIZz/IiKd/yUl + nv8lJZ7/Jiaf/ykpoP8pKaD/KSmg/ywsof8sLKH/LCyh/y4uov8vL6L/Li6i/y0tov8rK6H/JCSe/xQU + kv8QEHL/CQk//wUFJv8FBSb/BQUm+gUFJtQFBSZ7BQUmQQUFJjwFBSY7BwcxOQwMVDcREXc0FBSQMhQU + jzEVFZUvLCyhLS8voioxMaQoMDCjJy8voiYxMaQkMjKkIjExpCExMaQfMjKkHTQ0pRwmJp8bDw9qGhAQ + chlnZ7sYr6/cFri44BO6uuAmuLjgf+Xl8/v+/v7/6ur1//7+/v/f39//tra2/5GRkf9hYWL/Kyss/y8v + MP8tLS3/OTk5/ysrXP8SEmL/GRlL/xYWMf8KChn/AQEI/wAAAf8AAAD/AAAA/wAAAf8AAAHzAAAB1AAA + AK4AAACBAAABUwAAAy8CAgcVBwcaBisroQH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD///8AkpLOBY+PzWCQkM7ip6fX//j4/P/w8PH/09PT/7Gxsv+fn5//kJCQ/zIyg/98fHz/QEBA/z09 + Pf9AQED/ISFb/wsLVP8HBy7/AgIP/wEBCf8AAAT6AAAA+AAAAP8AAAD/JCQk/9LS0v/AwMD/hoaG/1pa + Wv9EREX/PDw9/zQ0Nf89PT7/TExM/1RUVf9oaGj/ZWVl/xcXF/8AAAD7AAAA7gEBA9oKChvYHR1M+yoq + bP8xMYX/GBiJ/xAQd/8UFI7/Njam/zk5p/8rK6H/HBya/xwcmv83N6b/UFCx/0xMr/8pKaD/ExOL/xIS + gf8QEHX/DQ1e/wsLUf8KCkb/CAg44wgINnYJCT4dCwtQFA8PbBYUFIwYJyefGDo6pxpCQqsbQ0OrHYmJ + yiz6+v3W//////Ly8v/k5OT/0dHR/66urv9qam7lKCgo/xkZGf8iIiL/MTEx/0BAQP83N1KOEhJ/Nw8P + bj4MDFdMCAg+YAYGLYQGBinBBQUj9AMDFf8BAQr/AAAD/wAAAP8AAAD/AAAA/wAAAf8CAgj/BgYV/wsL + KP8REUL/Ghpf/1lZm//+/v7/6+vr/8fHx/+jo6T/W1tc/y8vMP8dHR3/LS0t/0BAQP8rK2n/Gxtb/xIS + PP8LCyP/BQUR/wEBBf8AAAH/AAAB/wAAA/8BAQn/AwMT/wYGK/8fH1D/Ly9x/zAwhv8sLJPyNTWg2S8v + ocwTE4jMDAxYzwUFJtMFBSbXhobK3YeHytp8fMXXTk6x1BQUh9AUFIrNRESsyWlpvcV5ecTGfn7G04CA + x+yEhMj6jY3N/5KSz/+Bgcf/Tk6x/yMjnv8VFY7/EhJ+/xYWlv8qKqH/Hh6c/xsbmv8cHJv/ICCc/yIi + nf8mJp//Jiaf/ycnoP8oKKD/KSmg/yoqof8sLKL/LS2i/y0tov8sLKL/LS2i/zAwo/8vL6P/LS2i/yoq + of8fH5z/FBSN/w8Pa/8ICDb/BgYm/wYGJv8GBib2BgYmxgYGJmcGBiY4BgYmNwYGJjYICDkzDQ1cMRAQ + ay8QEHAuIiKdLDAwoyowMKQoMTGkJjExpCUwMKMjMDCkITAwpB8xMaQeMjKlHTIypRs1NaYaODinGRQU + jRgPD2oWFhaXFZCQzhS1td4TurrgE+bm9Hv+/v7//v7+/9LS6//n5/T/5+fn/7+/v/+ZmZn/ZWVl/y4u + Lv8vLy//JiYm/zw8PP8pKVv/Dg5f/wwMRf8PDy7/Cwsa/wICCf8AAAH/AAAA/wAAAP8AAAH/AAAC9gAA + AdcAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAWdnZ0AlpaWAGpqagBcXFwAbm5uAICAgACWlpYAnJycAKys + rADZ2dkA/v7+AJKSzwGPj81Sj4/N2JGRz/+4uOD//////+jo6P/Ly8v/oaGh/3Fxcf83N2D/ODg4/ysr + K/8xMTH/Pz8//zExT/8LC03/BAQe/wICD/8BAQn/AQEE+QAAAPkAAAD/AAAA/6SkpP/Pz8//qqqq/3d3 + d/9YWFj/SkpK/z8/P/86Ojr/SUlJ/2JiYv+FhYX/jo6O/ygoKP8AAAD/AAAA+QAAAOkCAgTVEhIt6CMj + V/0vL3X/LS2I/xISgf8PD2T/EBBt/xQUiv8XF5j/Gxua/xYWl/8WFpX/Ghqa/zc3p/9RUbL/SEiu/xgY + mf8TE4D/Dw9l/woKRf8KCkP/CQlA/AgINq8ICDg6CgpFDw0NXBQSEnwVGBiZFjIypRY8PKkXQUGrGUND + rBpERKwbi4vMK/r6/db/////+/v7/+rq6v/Nzc3/mpqa/0pKSv8aGhr/GRkZ/yUlJf83Nzf/QEBB8yAg + fkASEns5DQ1eRAoKRFwJCT2YCQk74wYGLf4EBBz/AgIN/wEBBf8AAAH/AAAA/wAAAP8AAAH/AgIG/wUF + Ef8KCiT/Dw87/xgYWv9XV5f//v7+//Pz8//Gxs3/lpar/2dnZ/8zMzP/Hh4e/y0tLf9AQED/Kipo/xoa + Wf8RETv/Cgoj/wUFEf8BAQX/AAAB/wAAAf8AAAP/AQEI/wICEP8FBSP/DQ1I/yEhafwrK4LuLi6R0zQ0 + n8YcHJrGEhJ9yQ4OYc0HBzDQBgYm1IiIytyKisvYfX3F1VRUs9EVFY3NExOByiAgnMZJSa7DZGS6wHV1 + wr2AgMbJh4fK5IuLy/iYmNH/m5vT/4WFyf9TU7P/FhaU/xISdf8WFpT/NTWl/yYmnv8cHJr/HR2b/yAg + nP8jI53/Jiae/yYmn/8oKKD/KCig/yoqoP8sLKH/LS2i/y4uov8uLqL/LS2i/y0tov8vL6P/Ly+j/zAw + o/8uLqL/KCig/xsbmv8VFYn/Dw9k/wcHMP8GBib/BgYm/wYGJvEGBia1BgYmUQYGJjIGBiY0BgYmMQoK + Qy8ICDcsDAxMLBgYmCowMKMnMDCjJjAwoyQwMKMjMDCjITAwoyAwMKMeMjKkHTExpBswMKMaNDSlGDY2 + phc3N6YXFBSEFRMTexRGRq0ToKDVEri43w/x8fhk9vb63NbW7Pi8vOH/6+v2/+bm5v+5ubn/lZWV/2lp + af8wMDD/LS0t/ygoKP8/Pz//KSla/w4OXf8KCkL/Bwcq/wkJGf8EBAr/AAAC/wAAAP8AAAD/AAAB/wAA + AvoAAALbAAAArgAAAIAAAABSAAAALgAAABQAAAAFQEBAAEBAQABAQEAAQEBAAEpKSgB3d3cArq6uAM7O + zgDe3t4A9PT0AP7+/gD///8Ajo7NR42Nzc2QkM7/jY3N/97e8P/39/f/29vb/6+vr/9vb2//PT09/x8f + H/8fHx//Jycn/zY2Nv9AQED/Dw9L/wMDFf8CAg7/AQEI/wAAA/kAAAD5AAAA/2tra//Kysr/wMDA/6Ki + ov9+fn7/YmJi/1BQUP9AQED/SkpK/1paWv91dXX/iYmJ/zU1Nf8AAAD/AAAA/gAAAPYAAAHlBAQK1BgY + OvUqKmD/NjZ9/zExjv8VFYj/ERFu/xERb/8TE3//FRWN/xYWk/8WFpP/FhaS/xYWk/8YGJj/Pj6p/1RU + s/88PKn/FBSH/wwMT/8HBy7/CAg3/wkJPeIICDdnCQk8GAwMTg8QEGsSFRWLEyYmnxU3N6YVPj6pFkBA + qhdCQqsZRESsGkZGrRuNjcwq+fn8x/r6/db+/v7y8vLy/9nZ2f+urq7/XV1d/ykpKf8dHR3/LS0t/0BA + QP88PEmyExOBNQ4OYT8NDVR0DAxQzQoKRvoICDP/BQUh/wMDEv8BAQf/AAAB/wAAAP8AAAD/AAAA/wEB + BP8EBA//CQkg/w8PNv8WFlT/OzuC/9bW6P/y8vL/z8/P/6+vr/9qamr/NDQ0/yAgIP8vLy//QEBA/xsb + Wf8YGFj/ERE6/woKI/8FBRD/AQEF/wAAAP8AAAD/AAAC/wEBCP8DAxL/BQUj/woKQPsXF1/tJSV40y8v + jsM3N6DBGxuZwxERbcYNDVXKCQk5zQYGJtKIiMvZjY3N1YSEydJgYLnPHBybyxUVhsgXF5XEMDCkwU1N + sL1kZLu5d3fDtYaGyb+Ojs3bmZnS9qSk1/+kpNf/i4vM/yYmn/8UFH7/Pz+q/0RErf8vL6P/ICCd/x4e + nP8fH5z/IiKd/yMjnv8mJp//KSmh/ygooP8pKaH/Kyuh/y0tov8uLqP/Ly+j/y8vo/8vL6P/Ly+j/zAw + o/8wMKP/Ly+j/y0tov8nJ6D/Ghqa/xUVhv8PD1//BgYp/wYGJv8GBib/BgYm7gYGJqAGBiY9BgYmLwYG + Ji4GBiYsBgYmKgcHLCkUFH4nLi6jJTAwpCMwMKQhMTGkIDMzpR8yMqUdMjKlHDMzpRsxMaQZMTGkGDQ0 + pRY0NKUVNDSlFSkpoRQWFo4TGBiZEX5+xhC2tt8P+fn8ar294i68vOHGvLzh/O3t9//n5+f/rKys/3x8 + fP9HR0f/Kysr/yYmJv8pKSn/Pz8//ykpWf8PD13/CgpC/wYGKf8FBRj/BAQK/wAAAv8AAAD/AAAA/wAA + Af8AAAP9AAAD4QAAAbAAAACAAAAAUgAAAC4AAAAUAAAABaCgoADs7OwA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AI6OzT6Ojs3AkJDO/46Ozf+np9n//////+Xl5f+7u7v/b29v/zY2 + Nv8VFRX/FxcX/x8fH/8vLy//QEBA/xwcSP8DAxT/AgIN/wEBCP8AAAP5AAAA+R0dHf/n5+f/4uLi/8jI + yP+mpqb/k5OT/3x8fP9dXV3/UVFR/1paWv9ra2v/gICA/1BQUP8AAAD/AAAA/wAAAP0AAAD0AQEB4QgI + E9kdHUX9Ly9p/0BAh/87O5f/GRmT/xUVg/8UFH//FRWE/xYWi/8WFo//FxeR/xcXkf8XF5L/FxeT/yQk + nv9HR67/TU2x/xgYl/8KCj7/BgYm/wkJO/wKCj2kCQk7MAsLRAsODlsPExN6EBgYlxEsLKITOTmnEz8/ + qhQ/P6oVQECrF0NDrBhFRa0ZR0euGklJrxxJSa8erq7bOv7+/vLm5ub/xcXF/4qKiv87Ozv/HBwc/yUl + Jf82Njb/QEBA/zExWGMREWxRDw9jsg8PWvMMDE3/CQk6/wYGJv8DAxX/AQEJ/wAAAf8AAAD/AAAA/wAA + AP8BAQP/AwMN/wgIHf8PDzP/FxdQ/1dXkv/x8ff/8fHx/9PT0/+5ubn/dXV1/zs7O/8lJSX/MjIy/0BA + QP8aGk3/FxdY/xAQOv8KCiP/BQUQ/wEBBf8AAAD/AAAA/wAAAf8BAQf/AwMT/wUFI/wJCTrvFRVV1yQk + csYxMY3COjqgwB4em8EREWvECwtHxwgIM8sGBibPiYnL1o2NzdOJicvPa2u9zCwsocgXF4rFGBiRwR8f + nL42Nqa6TEywtmVlu7J7e8Wui4vLspSUz8+hodXzra3b/qmp2f9ERKz/FhaJ/2Vlu/9YWLX/QECq/yoq + of8iIp3/IiKd/yUlnv8mJp//KCig/ywsof8rK6H/Kiqh/ywsof8uLqL/Ly+j/y8vo/8wMKP/MDCj/zAw + o/8xMaT/MDCj/zAwo/8wMKP/Ly+j/ygooP8aGpn/FRWD/w8PWf8GBib/BgYm/wYGJv8GBibtBgYmggYG + JjIGBiYrBgYmKgYGJigGBiYnDAxHJScnnyMwMKMhMTGkHzAwox4wMKMdMTGkGzIypBk0NKUYMzOlFzIy + pBUzM6UUNTWlEzQ0pRI0NKURNTWlERkZlw9kZLoOr6/bDvv7/We+vuISvLzhZby84fDu7vj/6+vr/7a2 + tv+AgID/PT09/ycnJ/8dHR3/KSkp/z8/P/8pKVj/Dw9b/wsLQf8HByj/BAQW/wICCf8BAQL/AAAA/wAA + AP8AAAH/AAAD/wEBBOkAAAK1AAAAgAAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCNjc01jY3Ns4+Pzf+QkM7/g4PI//b2+//u7u7/yMjI/4WF + hf85OTn/Ghoa/xISEv8bGxv/Kioq/0BAQP8mJkL/AwMT/wICDP8BAQf+AAAC+QAAAPuioqL/7u7u//X1 + 9f/Y2Nj/wMDA/6Ojo/+Ghob/bm5u/2RkZP9sbGz/e3t7/2FhYf8AAAD/AAAA/wAAAP8AAAD8AAAA8QEB + A98NDR/jISFN/zQ0cP9ERI3/Q0Oc/ycnmv8YGJD/FxeK/xcXiv8XF47/FxeP/xcXj/8XF4//GBiR/xgY + kf8YGJH/IiKd/zo6qP8aGpn/CQk1/wYGJv8KCj3lCgo9WAsLQhMNDU8MERFpDhYWiQ8lJZ4QNDSlETs7 + qBFAQKoSQECqE0BAqhVCQqsVRUWtF0ZGrRhHR60aSEiuG46OzSr8/P7k7u7u/9PT0/+rq6v/Y2Nj/zc3 + N/8hISH/LS0t/z8/P/89PUXOExN2mRISa+sQEGL/Dg5V/woKQf8HByv/BAQY/wICCv8AAAH/AAAA/wAA + AP8AAAD/AQEC/wMDC/8HBxr/DQ0v/xUVTP86On3/8fH3//b29v/g4OD/ysrK/5KSkv9QUFD/MjIy/zY2 + Nv9AQED/GxtQ/xgYWP8QEDr/Cgoj/wUFEP8CAgX/AAAA/wAAAP8AAAH/AgIH/wMDEv0FBR/yDAwy4BgY + UM8nJ3HGMjKLwDs7n74fH5q/ERFrwQoKO8UGBibIBgYmzIqKy9SPj83QjIzMzXZ2wsk7O6jFGBiQwhgY + jr4ZGZS6IiKdtjY2pbNNTbCvZ2e7q39/xqaPj82nmprSvqur2u+0tN3+T0+x/xkZlf+EhMj/cXHA/1lZ + tf8+Pqn/Kyuh/yYmnv8mJp7/Jiae/ygon/8rK6H/LCyh/ywsof8sLKH/Li6i/y8vov8uLqL/Li6i/y4u + ov8uLqL/MDCj/zIypP8wMKP/MTGj/zExo/8wMKP/KCif/xoamP8WFn//DQ1P/wcHJv8HByb/Bwcm/gcH + JukHByZhBwcmLQcHJicHByYlBwcmJAcHJiIZGZUgJyefHjAwoxwwMKMcLy+iGi8vohgwMKMXMzOkFjMz + pBUzM6QTNDSlEjQ0pRExMaMRMDCjEC8vog8YGI4OUFCxDaKi1Qy4uN8Lvr7iCr294hjNzejN+/v9/+rq + 6v+/v7//lZWW/1RUVf8rKyv/HR0e/ykpKf8/Pz//KipY/w8PW/8LC0D/Bwco/wQEFf8BAQj/AAAC/wAA + AP8AAAD/AAAB/wEBA/8BAQXxAQEDvgAAAIAAAABSAAAALgAAABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4Aj4/NLY6OzaiRkc7/kZHO/4eHyf/Gxub/9/f3/9LS + 0v+enp//SkpK/yMjI/8UFBT/GBgY/ycnJ/88PDz/MzM//wMDEf8CAgr/AQEG/gAAAfk7Ozv87u7u//Hx + 8f/g4OD/YGBg/nR0df6kpKX/cHBw/1tbXP9lZWX/dXV1/y4uLv4ODg7+AAAA/wAAAP8AAAD/AAAA+wAA + AO4DAwbeExMt8SYmU/85OXb/SEiR/0VFn/8zM6D/ICCc/xkZlP8YGI7/GBiP/xgYj/8YGI//GBiP/xgY + j/8YGI//GBiO/xcXh/8YGI7/FxeK/wcHJv8HByb/Cgo7nAsLQCMNDU0IEBBfCxQUeQwZGZUNLS2hDjU1 + pQ87O6gPPj6pEEFBqhFBQaoSQkKrE0RErBVGRq0WRkatF0ZGrRnu7veN//////j4+P/h4eH/xcXF/5GR + kf9TU1T/Kyst5CYmJv81NTX/QEBA/yQkaOwUFHX/EhJp/xAQXP8MDEb/CAgu/wQEGv8CAgz/AAAD/wAA + AP8AAAD/AAAA/wEBAv8DAwr/BwcY/wwMLf8TE0j/VVWM//7+/v//////6Ojo/9fX1/+kpLL/dHR1/0pK + Sv88PDz/OjpE/xERYP8ZGVj/ERE7/wsLI/8FBRD/AgIF/wAAAP8AAAD/AAAB/wICBf4EBA74CAga6w8P + MN4cHE/QKytvxDY2i748PJ26Hh6ZuxISar4KCjvCBwcmxQcHJsmMjMzSkJDOzo2Nzcp8fMXGSkqvwx4e + m8AaGpO7GRmQuBoalbQhIZ2xNDSlrU1NsKlpabylgoLIoZWV0J2iotaqs7Pd5mdnvP1LS6//nJzT/42N + zf95ecT/XFy3/z8/qv8vL6P/KSmg/ygooP8pKaD/LS2i/y8vo/8uLqL/Ly+j/y8vo/8vL6P/MDCj/zEx + pP8wMKT/Li6i/y8vo/8xMaT/MzOl/zIypP8yMqT/MjKk/zAwo/8pKaD/GhqX/xUVef8MDEb/Bwcn/wcH + J/8HByf+Bwcn2gcHJ1AHBycmBwcnIwcHJyIHBychEBBZHxoalh0qKqEbMjKkGzExpBkvL6MXLy+jFjAw + pBUwMKQUMTGkEjIypBIxMaQQMDCjEC4uog8aGpQOFxeEDU9PsQyNjcwMr6/cC7294gr19fom+Pj81v7+ + /v/o6Oj/v7+//5qamv9hYWH/MjIy/yQkJP8qKir/Pz8//yoqWf8QEFv/CwtA/wcHKP8EBBX/AgIJ/wAA + Av8AAAD/AAAA/wAAAf8BAQP/AQEG9wEBBccAAACAAAAAUgAAAC4AAAAUAAAABf7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AI+PzSSOjs2akJDO/5GRzv+IiMr/o6PW//// + ///a2tr/srKy/29vb/8uLi7/HBwc/xcXF/8lJSX/OTk5/y8vPP8DAxH/AgIJ/wEBBP0AAAH6srKy//T0 + 9P/Kysr/t7e3/7i4uP+9vb3/gYGB/l5eXv9HR0f/RERE/0hISP8mJib+AAAA/gAAAP8AAAD/AAAA/wAA + APoAAAHsBQUM4hcXNfsoKFf/PT15/0lJk/9ERJ7/Ojqi/zExov8mJp7/GhqV/xkZkf8ZGZD/GRmQ/xkZ + j/8ZGY//GRmP/xgYi/8WFn7/ExNr/xISaP8HByf/Bwcn6gsLPEUMDEcOEBBbCBQUdAsYGIsMHx+cDDAw + ow03N6YOOjqoDj8/qg9BQasRQUGrEkNDrBNERKwURESsFUZGrRZJSa4Yy8voQ///////////7+/v/9jY + 2P+vr6//b29v/z09Pf8eHh7/Kysr/zw8PP87O0n/FhaC/xUVdf8SEmT/DQ1M/wkJMv8FBR3/AgIN/wEB + BP8AAAD/AAAA/wAAAP8AAAH/AgII/wcHF/8MDCv/EhJF/1NTi/////////////r6+v/o6Oj/zc3N/6Gh + of9sbGz/QEBA/yMjV/8TE2//GhpZ/xISO/8LCyP/BQUQ/wICBf8AAAD/AAAA/wAAAP8BAQT8BQUM9AsL + G+oTEzHdHx9QziwscMM1NYq8PDyeuB8fmrkTE2y7Cws9wAcHJ8MHByfHjIzMz4+PzcuNjc3Ie3vExFBQ + scAsLKK8Hh6buBoakrUZGZCxGhqVrR4em6kxMaSmTEywompqvZ2FhcmamJjRl6mp2aBdXbfSW1u396qq + 2f+iotb/lZXQ/39/xv9gYLj/RESs/zU1pf8wMKP/Li6i/y8vo/8xMaT/MTGk/zIypP8yMqT/MDCk/zAw + pP8zM6X/MzOl/zAwpP8uLqL/Ly+j/zExpP8xMaT/MjKk/zQ0pf8yMqT/MDCk/ycnn/8aGpX/FBRy/woK + Of8HByf/Bwcn/wcHJ/sHBye5BwcnRgcHJyEHBycfBwcnHgcHJxwWFn4bGhqXGSoqoRgxMaQXMDCkFS8v + oxQwMKMTMDCjEjExpBEyMqQQMDCjDi4uog4qKqENFxeEDBgYhwtHR60LdHTCCqCg1Qm3t98Ivb3iB729 + 4hXy8vnr6+vr/8PDw/+fn5//ZWVl/zMzM/8lJSX/Kioq/z8/P/8qKln/EBBb/wsLQP8HByj/BAQV/wIC + Cf8AAAL/AAAA/wAAAP8AAAH/AQED/wEBB/wBAQfVAAAChwAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCPj80cjY3NjI+Pzf+Sks//iorL/5OT + z///////39/f/7u7u/+IiIj/OTk5/yIiIv8WFhb/IyMj/zY2Nv9AQED/AgIN/wEBB/8BAQP9Kyss/Pb2 + 9v/X19f/o6Oj/42Njf+MjIz/oqKi/52dnf95eXn/VFRU/0BAQP84ODj/BAQE/QAAAP4AAAD/AAAA/wAA + AP8AAAD5AQEC7AgIEugZGTn/KipZ/zw8eP9FRY3/PT2W/zU1nP83N6D/MzOg/yYmnf8aGpX/GhqS/xkZ + kf8ZGY//GRmP/xgYjP8XF4T/FBRx/w8PVv8NDUj/Bwcn/AcHJ5QLCz8bDg5QCBMTawgYGIkKHx+cCyws + ogszM6UMOTmnDTw8qQ0/P6oOQkKrD0RErBBGRq0RR0etEkVFrRRGRq0VSUmuFklJrxbv7/iM//////X1 + +rjl5ebyxMTE/4yMjP9LS0v/IyMj/yIiIv8yMjL/QEBA/yMjfP8XF4P/ExNr/w4OT/8JCTT/BQUf/wMD + D/8BAQX/AAAA/wAAAP8AAAD/AAAB/wICCP8GBhT/DAwo/xISQv8oKGv/urrW/9fX6v//////19ft//7+ + /v+qqqr/bm5u/0ZGRv8qKlf/JCRp/xoaWf8RETv/Cgoi/wQEEP8BAQX/AAAA/wAAAP8AAAH/AgIF+wcH + DvMPDx7oGho12yQkVMsuLnK/NzeMuDs7nrUfH5q2ExNsuAsLPrwHByfABwcnxIqKzMyPj87IjY3NxXp6 + xcFQULK9NDSmuiwsorYcHJqyGhqSrhoakasaGpKnHByaozAwpJ9LS7Cbamq+l4iIypOUlNCQQECrmVlZ + tsKyst3vsLDc/6mp2f+bm9P/hYXJ/2ZmvP9LS7D/Pj6q/zU1pv80NKX/NTWl/zQ0pP80NKP/NDSj/zEx + ov8xMaL/MTGi/zMzo/8zM6P/MDCh/y8vof8xMaL/MTGi/zAwof8xMaL/NDSj/zMzo/8vL6H/Jyed/xoa + jv8TE2j/CAgt/wcHJ/8HByf/Bwcn8wcHJ54HByc7BwcnGwcHJxwHBycaEBBbGBcXgRccHJkWKSmhFTAw + pBQwMKQSLy+jETAwpBA0NKYPMzOlDjExpA0wMKQNHBybDBUVdAsaGo8KPDypCl5euAmNjc0IsLDcB7y8 + 4ga9veIF9/f71u3t7f/ExMT/oqKi/2pqav82Njb/JiYm/yoqKv8/Pz//Kyta/xERW/8MDED/Bwco/wQE + Ff8CAgn/AAAC/wAAAP8AAAD/AAAB/wEBA/8BAQf/AgIJ4wEBBZQAAABSAAAALgAAABQAAAAF/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AkZHOFY6OzXyQkM74kpLP/4yM + zP90dML//////+Li4v+/v7//l5eX/1RUVP8qKir/FxcX/yIiIv81NTX/QEBA/wICCv8BAQX/AAAC/YeH + h/7+/v7/tra2/4eHh/9sbGz/bW1t/3t7e/95eXn/c3Nz/1lZWf45OTn+EBAQ+wAAAPwAAAD+AAAA/wAA + AP8AAAD/AAAA+AEBA+0LCxnxGxs6/ysrWP85OXL/PDyD/zQ0iv8xMZL/NDSY/zg4nv8yMp//IiKa/xoa + lP8aGpD/GRmM/xkZiv8YGIb/FhZ4/xERYP8NDUj/CQkx/QcHJ98HByc5DQ1FChERXAYXF30HHh6cCDU1 + pgk3N6cKNTWmCzo6qAs8PKkLQUGrDEVFrQ5GRq0OSEiuD0hIrhFGRq0SR0euE0hIrhRKSq8US0uwFvHx + +Yv+/v/x6+vr/8zMzP+cnJz/UlJS/y4uLv8cHBz/Kioq/zw8PP86Olb/JyeM/xgYdP8PD1T/Cgo2/wYG + IP8DAxD/AQEF/wAAAP8AAAD/AAAA/wAAAf8CAgb/BQUT/wsLJv8SEkD/Ghpf/y4ugf81NZT/l5fO/0lJ + rv/y8vn/goKC/0BAQP8yMk3/NTVO/ygoaP8ZGVn/EBA6/wkJIv8EBBD/AQEE/gAAAf8AAAH+AQEC/AMD + B/cKChPvFBQk4yEhPdUtLVzGMzN4uzo6kbU8PKCxICCbsxQUbbYLCz+6BwcnvQcHJ8GNjczKkJDOxo6O + zcN9fcW/UFCyujY2prc1NaazKiqhsBwcl6sbG4+oGhqMoxsbj6AdHZqcMDCkmE1NsJRubr+Qi4vMjB0d + mog4OKeQs7Pds7W13uS0tN78ra3b/6Gh1f+Li8z/bm6//1dXtP9ISK3/QUGo/z4+pP85OaH/Njad/zQ0 + m/8yMpn/MTGZ/y8vmP8vL5j/MTGZ/y8vmP8sLJf/Ly+Y/y8vmP8uLpf/Li6X/zExmf8xMZn/MTGa/y0t + mv8hIZf/GRmG/xISXP8HByf/Bwcn/wcHJ/8HByfnBwcnhwcHJzAHBycXBwcnGAcHJxYSEl8VGRmEFR0d + mhMrK6ESLy+jES4uohAwMKMPMTGkDjMzpQwwMKQMLi6iCxgYfwsUFG0KIyOeCTMzpQlNTbAIeHjDBqKi + 1gW4uOAEvb3iAvz8/cbw8PD/x8fH/6Ojo/9tbW3/ODg4/ycnJ/8rKyv/Pz8//ysrWv8REVv/DAxA/wgI + KP8EBBX/AgIJ/wAAAv8AAAD/AAAA/wAAAf8BAQP/AQEH/wICC+4CAgmlAAAAUgAAAC4AAAAUAAAABf7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AJKSzw+Ojs1ukJDO8ZKS + z/+Ojs3/eHjD//7+/v/k5OT/wMDA/5ycnP9mZmb/MjIy/x4eHv8iIiL/NDQ0/0BAQP8BAQf/AQEE/wAA + Af7Z2dn/4eHh/5+fn/9zc3P/V1dX/1dXV/9dXV3/Wlpa/1lZWf9JSUn/IiIi+gAAAPgAAAD7AAAA/wAA + AP8AAAD/AAAA/wAAAPkCAgXwDQ0d+RoaN/8pKVH/NDRm/zMzcv8tLXn/LS2B/zAwiP81NZH/NjaW/y0t + lf8dHY//GhqI/xkZhP8YGID/FhZ5/xMTZ/8ODk7/Cws8/wkJMPEHByeOBwcnEQ8PTgMUFGoEGhqNBjAw + pAdDQ6wIQUGrCTo6qAo8PKkKQkKrCkhIrgtMTLAMS0uvDUtLrw5KSq8PSEiuEEhIrhFISK4SSUmvEktL + rxTt7fd8/////+7u7v/Pz8//pqam/2VlZf82Njb/HR0d/yMjI/80NDT/QEBA/zIyh/8iInn/ERFa/woK + OP8GBiH/AwMQ/wEBBf8AAAD/AAAA/wAAAP8AAAD/AgIG/wUFEv8KCiT/ERE+/0REe//+/v7/rq7U/1RU + rf8uLqH/UFCw/2Zmbf9AQED/JydV/zQ0Vf8jI2n/FhZY/w4OOf8ICCH+BAQP/AEBBPwAAAH+AQED/AMD + BvgHBw7yDw8b6BsbLtspKUjNODhovzw8grU9PZWxPT2iriEhnLAVFXCzDAxBtwcHJ7sHBye/jo7Nx5GR + zsOOjs3AfHzFvFJSsrc1NaW0ODimsDc3pqwpKaCoHR2WpBsbi6AaGomdHByPmR4emZQxMaSRT0+xjW1t + vokXF3WFHByQga+v24e2tt6juLjf17a23vixsdz/pqbX/5GRzf94eMH/Y2O1/1ZWq/9MTKP/Q0Oa/zo6 + k/81NY7/MTGK/y4uif8sLIj/KyuH/yoqhv8pKYb/KCiG/yoqhv8rK4f/KyuH/ysrh/8rK4f/KyuI/yws + iv8sLI3/KSmP/yQkkf8bG5D/FRVs/wkJLv8ICCf/CAgn/wgIJ9kICCdxCAgnJAgIJxQICCcVCQktExQU + ZhMaGogSHx+bECoqoA8uLqIOMTGjDTAwowwxMaQLLy+iCioqoAoVFW8KFhZyCTExpAgxMaQHQkKrBmNj + ugSQkM4DsLDcAry84QH+/v7A8fHx/8fHyP+lpab/cXFy/zs7PP8mJib/Kysr/z8/P/8tLV3/EhJc/wwM + QP8ICCj/BAQV/wICCf8AAAL/AAAA/wAAAP8AAAH/AQED/wEBB/8CAgz2AwMMugAAAlcAAAAuAAAAFAAA + AAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCSks4Kj4/NX5GR + zuqTk8//jY3M/3p6wv/+/v7/5eXl/7+/v/+dnZ7/bm5u/zk5Ov8lJSb/IiIi/zQ0NP9AQED/AgII/wAA + Av8qKiv+/v7+/8nJyf+SkpP/aGhp/1NTVP9QUFD/UFBQ/0xMTP9ERET/QEBA/yEhIfcAAAD1AAAA+gAA + AP8AAAD/AAAA/wAAAP8AAAD6AwMI9Q0NHP4YGDD/JCRF/ysrVP8nJ1n/JCRg/yYmaP8qKnP/LS17/zIy + hP8zM4n/KCiG/xkZf/8XF3X/FhZv/xQUZP8QEFH/DAw//wkJMfoICCrRBwckNAcHIAYREVgBGBh6Ah4e + mwQ8PKgFSUmuBklJrgdDQ6sIQUGrCUdHrQlPT7EKVla0C1ZWtAtTU7MMT0+xDU1NsA5LS68PSUmuEUhI + rhFERKwSubngMf/////x8fH/09PU/7Gxsv96env/Pz8//ygoKf8eHh7/LS0t/0BAQP88PHD/Pj6G/zIy + av8aGkP/EREp/wsLFv8DAwf/AAAA/wAAAP8AAAD/AAAA/wEBBf8FBRH/CQkj/w8PO/9SUoP//v7+//7+ + /v/9/f3/tLTJ/1JSm/8vL4//OztF/zg4R/8fH4b/Fxdx/xISVv8MDDf7Bwcd9gMDDPUBAQT5AQED+wMD + BvcHBw3xDQ0Y6BYWJ9wjIzzPMzNYwkVFebdLS4+vSEieq0BApaohIZusFhZvsA0NQrQICCe4CAgnvI+P + zcWRkc7Bj4/NvXx8xblVVbS1Njamsjg4p606OqiqNTWmpiUln6IdHZCeGxuImhsbiZYcHI+SHx+ajjEx + pIpPT7GHERFWgw0NQX9BQat5p6fYfLa235W5ueDMt7ff8rKy3f+np9b/lJTL/4CAvf9ubq//Xl6g/05O + kf8+PoT/NDR8/y0tdv8pKXP/JiZx/yQkcf8jI3D/IiJw/yMjcP8jI3D/Hx9u/xUVaf8UFGf/GBhs/x8f + b/8sLHj/PDyD/0hIkP9SUpz/Wlqo/0ZGpf8XF3j/DAw7/wgIJ/8ICCf8CAgnyggIJ1wICCcaCAgnEggI + JxIKCjMSFRVqERwcjQ8fH5wOKiqhDTAwowwwMKMLMDCjCi8vowkhIZ0JFBRiCRMTXwgYGHkHHByLBjEx + pARVVbQDfn7GAqSk1wG4uOAB/v7+wPHx8f/IyMj/qamp/39/f/9EREX/NTU1/ysrK/8/Pz//NDRg/xMT + YP8NDUD/CAgo/wQEFf8CAgn/AAAC/wAAAP8AAAD/AAAB/wEBA/8BAQf/AwMM/AMDD9ABAQdjAAAALgAA + ABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AfX2yB4qK + ylOGhsjig4PF/319wv9tbbj//v7+/+Xl5f+/v7//np6e/3Fxcf8+Pj//LS0t/yIiI/80NDT/QEBA/wEB + Bf8AAAH/hYWF//39/f+4uLj/iYmK/2pqa/9TU1P/Tk5O/0JCQv0tLS31FxcX4RISEuYFBQXpAAAA8QAA + APkAAAD/AAAA/wAAAP8AAAD/AAAB+wMDCPoLCxj/FBQn/x4eN/8fH0D/HBxD/xoaR/8dHVD/IiJa/yUl + Y/8oKGz/LCxy/ykpc/8eHm//FBRk/xISWf8PD0z/DAw7/wkJL/8ICCjsCAgmjwQEEg8CAgoE/v7+ABYW + cQEsLKICQECrA0dHrgRLS68GSUmvB0dHrghOTrEIWlq2CWRkuwpkZLsKXV24C1dXtQxSUrMNTk6xDktL + rxBFRa0QODinESMjnhP7+/3T9fX1/9jY2P+6urr/jIyN/09PUP8yMjP/Gxsb/ygoKP86Ojr/RkZT/1tb + lP9JSXX/JydJ/xYWK/8MDBb/AwMH/wAAAP8AAAD/AAAA/wAAAP8BAQT/AwMQ/wkJI/8PDzv/UVGD//7+ + /v/+/v7/3t7e/5mZmf9KSkr/PDxL/yQkVP8SElv/KipU/xsbWf8PD0/2Cwsw6gYGFucEBArwAgIF9gMD + B/UHBw3uDQ0Y5hYWJtoiIjrOLi5QwT4+bbZQUIqtWVmfqFZWqqZISKumIyOeqhYWb60NDUOxCAgntQgI + J7mRkc7Ck5PPvo+Pzbt9fcW3VFSzsjY2pq84OKeqOzuopzw8qKMzM6WfHx+amhwcipccHIiTHByKjx0d + kIwfH5qHNTWlgxUVZoAICCh8DAw4eB8flXSMjMxxtrbfhLi44L21td7vra3X/52dy/+Njbz/goKs/3R0 + mv9cXIT/QkJv/ykpXf8QEE//Dg5D/w0NQ/8NDUL/DAw8/woKMP8KCjL/Cws2/wsLOf8MDDr/DAw+/w4O + Rf8PD0z/FRVV/yMjYv8yMnP/R0eI/1panv9RUaT/Ghp//w0NP/8ICCf/CAgn/wgIJ/cICCe6CAgnRggI + JxEICCcRCAgnEAwMOw8XF3EOHR2ODSMjngwtLaILLy+jCi4uogksLKEIHx+VCBgYdQcVFWkGFBRiBRQU + ZAQYGHcCICCbAf7+/gD+/v4A/v7+AP7+/sDx8fH/ycnJ/6urq/+BgYH/RkZG/zY2Nv8sLCz/Pz8//zs7 + ZP8ZGWb/Dg5B/wgIKP8EBBX/AgII/wAAAv8AAAD/AAAA/wAAAf8BAQP/AQEH/wMDDP8DAxHjAwMNfQAA + ADIAAAAZAAAACgAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAGAAAABgAAAAcAAAAIAAAACQ8P + HgxWVp5OYmKv2GVlsP9jY6z/Vlaj//7+/v/j4+P/vb29/52dnf9zc3P/QUFB/zMzM/8lJSX/NDQ0/0BA + QP8AAAH/AAAA/8vLy//p6en/qqqq/4KCgv9eXl7/R0dH/z4+Pv8vLy//Ojo6/z09PfsfHx/lAAAA4AAA + AO4AAAD5AAAA/gAAAP8AAAD/AAAA/wAAAf0CAgb9CAgR/w8PHP8VFSf/FhYs/xMTLf8SEjD/FRU2/xgY + P/8aGkf/Hh5O/yEhVP8hIVb/HBxU/xAQTf8NDT7/Cgoz/wgIKf8HByL7BwcgzQUFG0oAAAAPAAAABQAA + AAH+/v4A/v7+AEBAqgFAQKoCRESsBEVFrAVISK4GW1u2B3V1wgiHh8oIgoLHCW9vvwpTU7MLKSmgDB4e + kA0dHZAOGxuFDhgYcw8TE18Q7Ozyi/39/f/f39//wsLC/52dnf9lZWX/PDw8/yQkJP8kJCT/NTU1/0BA + QP9WVoz/RUVy/x4eRP8MDCb/BQUS/wEBBv8AAAD/AAAA/wAAAP8AAAD/AQED/wMDDv8HByH/Dw87/1FR + g//+/v7/6enp/66urv9ra2v/MjIy/z4+Pv9AQED/ODhH/yQkUP4QEEzwDAw41wYGINEGBhPfBQUM7AUF + CvEICA7tDg4Z4hcXJ9YhITrILy9RvD09a7FMTIWpWlqbpGRkrKFkZLSiVVWypCgon6cXF3GqDg5ErggI + J7IICCe2kJDOwJWV0LyQkM64fX3GtFNTs685OaesOTmopzw8qaQ+PqqgOzupnCoqoZgfH5OUHR2KkB0d + iYwdHYyJHh6QhCgooIBNTbB8GxuCeRERT3UNDT5yGBhybWxsvmmoqNlyra3ZrKam0u2amsX8dXWq/zMz + ff8SElP/DQ08/woKL/8ICCf/Bwcg/wYGHf8GBh7/Bwci/wcHJP8HByD/Bwch/wgIJf8JCSn/CQkq/wkJ + Kf8JCSr/CQkr/woKLv8LCzT/Dw9I/ygoa/9FRYv/QECW/x4ej/8WFmb/Cgou/wgIJ/8ICCf/CAgn8QgI + J6oICCcrCAgnDQgIJw4ICCcNDg5CDBgYdAseHpEKJCSfCSwsogksLKIIKSmgByUlnwcqKqEFIiKdBBwc + hwIXF28B/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7A8vLy/8vLy/+qqqr/eHh4/z4+Pv8lJSX/LCws/z8/ + P/9CQmf/IyNr/w4ORf8ICCj/BAQV/wICCP8AAAL/AAAA/wAAAP8AAAH/AQED/wEBB/8CAgz/AwMR7wMD + EKIAAAFAAAAAJwAAABkAAAAUAAAAFAAAABQAAAAUAAAAFAAAABUAAAAVAAAAFgAAABcAAAAYAAAAGgAA + ABwAAAAeQUFyVV5enc9mZqP/YmKe/05Oj//+/v7/4eHh/7u7u/+cnJz/c3Nz/0RERP84ODj/MTEx/zQ0 + NP9AQED/AAAB/wAAAP/+/v7/2NjY/6Ghof99fX3/VVVV/0FBQf81NTX/KCgo/zg4OP9AQED/JCQk4gAA + ANoAAADsAAAA+AAAAP8AAAD/AAAA/wAAAP8AAAH+AQEE/gICCf8FBQ//CgoW/wsLGf8MDBr/Cwsc/w0N + IP8PDyb/EREs/xMTMv8VFTX/FhY3/xQUNv8LCzL/CAgo/wcHH/8FBRv/BQUY7gQEFqEBAQQvAAAAFgAA + AAkAAAAC/v7+AP7+/gD+/v4A/v7+ABcXbAEWFmsCFxdtBBYWaQUQEEwGDg5DBxAQTggTE1sJFRVmChUV + ZAsUFGEMFRVjDRYWaQ0VFWYOFBRdD4eHrGL/////5ubm/8rKyv+np6f/d3d3/0VFRf8tLS3/ISEh/zAw + MP9AQED/RERx/zMzaP8aGkH/DAwl/wUFEv8BAQb/AAAA/wAAAP8AAAD/AAAA/wEBBP8DAwz/BgYe/wwM + O/9QUIX//v7+/9jY2P+goKD/XV1d/yQkJP8wMDD/Pz8//z4+RP8nJ1nxEBBKvAkJKbAFBRnHBAQS3AUF + DucHBw/oDQ0Y4BgYKNIiIjvDMDBTtj8/batMTIWjWFianWJiqptqarabbGy7nWBguKAzM6WkGBh0pw8P + RqwICCevCAgns3V1wr2EhMi4iYnLtX5+xrFUVLOsOTmnqTk5p6Q8PKmhPz+qnT8/qpkyMqSVISGbkR8f + jo0dHYiIHh6KhR4eioEhIZl9OTmneUdHrnZAQKpyGhp2bxMTVmsaGndmRkatYm9vu2FpabCZW1uk5z8/ + ifwdHWf/EBBI/wsLMv8ICCb/Bwcg/wYGHP8GBhr/BQUZ/wcHHf8KCh7/Cgoe/woKHv8KCh7/CQke/wcH + Hf8GBhr/BQUY/wUFGP8GBhr/Bwce/wkJK/8REU3/LCx3/zg4jv8nJ5P/Gxt//xMTVv8JCSf/CQkn/wkJ + J/8JCSfsCQknlQkJJxIJCScMCQknCwkJJwsREU4KGhp3CSAgkwgnJ58HLS2iByYmnwUlJZ8FKyuhAzAw + owIxMaQB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+wPLy8v/Nzc3/sLCw/4CAgP9ERET/KSkp/yws + LP8/Pz//SEhq/y0tb/8SEkj/CQkp/wUFFf8CAgj/AAAC/wAAAP8AAAD/AQEC/wEBBf8BAQb/AgIK/wQE + EPkEBBHGAQEDWQAAAD4AAAAyAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALwAAADAAAAAxAAAAMwAA + ADYAAAA5AAAAPDc3TWdgYIfMZmaP/1xchv9RUX7//v7+/9vb2/+2trb/mZmZ/3Nzc/9HR0f/Ozs7/zw8 + PP9ISEj/QEBA/wAAAP86Ojr//v7+/8vLy/+enp7/fn5+/1JSUv8+Pj7/Li4u/yYmJv82Njb/QEBA/xQU + FM0AAADXAAAA7AAAAPkAAAD+AAAA/wAAAP8AAAD/AAAA/wEBAv8BAQT/AgIH/wICCf8CAgr/AgIL/wUF + Df8HBxH/CAgU/wkJGP8LCxv/DAwe/wwMH/8KCh7/BgYc/wUFFv8EBBL/BAQR/gQEEN0CAgp5AAAAOQAA + AB4AAAAMAAAAA/7+/gD+/v4A/v7+AP7+/gD+/v4ACQknAQkJJwIJCScCCQknBAkJJwYMDDcHEhJUCBkZ + dgkdHYYJHR2IChwcgQseHokLHh6JCR0dhiYdHYSg/////+3t7f/Q0ND/sLCw/4ODg/9MTEz/NTU1/x8f + H/8tLS3/QEBA/zc3Xf8pKWH/Fxc+/woKI/8EBBD/AQEF/wAAAP8AAAD/AAAA/wAAAf8BAQX/AwMO/wYG + HP8MDDj/UVGF//7+/v/Y2Nj/pqam/2RkZP8qKir/JiYm/zU1Nf8+PkT9ICBmpxAQS48KCi6oBgYcxQQE + E9gDAw/hBQUT3gsLHtMYGDPDKipNsz4+aqZMTIWcWVmalmFhqZRpabWUbm68lm9vvplmZrudPz+qoRoa + eqQPD0epCQknrQkJJ7FsbL67a2u9t2trvbNfX7ivQECqqjExo6c5OaeiOjqnnj4+qZo+PqmWNjalkiws + oY8hIZWLHx+Khh4ehIMcHH9+ISGWezExo3c5Oad0SEiub11dt2w7O6hoLi6iZWRkumGQkMhgioq0YYWF + o4+EhJzdbm6C/E1NXP8xMT3/HBwl/w8PFv8KChH/CAgP/wYGDv8FBQ3/BQUN/wUFDf8EBA3/BAQN/wQE + Df8EBA3/AwMM/wMDDP8CAgv/AwMO/wQEE/8GBhv/Cwsy/xQUXP8dHX7/ICCO/x8fi/8aGnP/EBBG/wkJ + J/8JCSf/CQkn/wkJJ+sJCSd1CQknCwkJJwsJCScLCQknChMTVgkcHH4IIiKZBygonwYmJp8EJiafAyws + oQIxMaMBMzOkAf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/sDx8fH/z8/P/7a2tv+Li4v/TExM/y4u + Lv8tLS3/Pz8//09Pbf81NXL/GhpL/woKK/8FBRb/AgII/wAAAv8AAAD/AAAA/wEBAv8CAgf/AgIH/wIC + Cf8DAw3+BAQQ4wEBBoQAAABfAAAAVQAAAFIAAABSAAAAUgAAAFIAAABSAAAAUgAAAFMAAABUAAAAVgAA + AFkAAABcAAAAYAAAAGUdHSmFQ0Nd0E5ObP9FRWL/ZmZ+//7+/v/U1NT/r6+v/5GRkf9vb2//SUlJ/z4+ + Pv9HR0f/XV1d/2JiYv8AAAD/cHBw//7+/v/Gxsb/oaGh/4ODg/9QUFD/Ojo6/yoqKv8mJib/NjY2/0BA + QP8AAAC4AAAA2AAAAO4AAAD6AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAH/AQEC/wEBA/8BAQT/AQEE/wEB + BP8BAQX/AQEH/wICCP8EBAv/BQUM/wUFDf8FBQ3/BAQN/wMDDP8CAgr/AgIL/wICCvYCAgnEAAABbwAA + AEQAAAAlAAAAEAAAAAT+/v4A/v7+AP7+/gD+/v4A/v7+ABMTVgEYGGwBIyOcAUBAqgNERKwERkasBkZG + rQdHR60IRUWsCTc3pgoiIpsKICCOCR4ehhIdHYOMHh6E6MjI4v/09PT/1tbW/7m5uf+Ojo7/WVlZ/zw8 + PP8gICD/Kysr/z4+Pv8wME3/FBRU/w8POP8ICCD/AwMP/wEBBP8AAAD/AAAA/wAAAP8AAAH/AgIH/wQE + Ev8HBx7/DAw1/09PhP/+/v7/29vb/7Kysv94eHj/Nzc3/x8fH/8tLS3/Pj4+/0BAQP8jI0qgFBQ3pxAQ + I8MKChjUBwcU2wYGF9cJCSTKEBA3uB8fUqgzM3CcSEiOk1papI9nZ7SObGy6kG5uvpJvb7+Xamq9mktL + r58dHYOiEBBKpgkJJ6oJCSevh4fKuHx8xbRtbb6wVVW0rDAwo6cjI5mjKCigny8vo5w5OaiXPj6plDk5 + qI8zM6WMJSWehyAgjoMcHHuAHh6BeyQknHgtLaJ0MjKkcDk5qGxGRq1pW1u2ZVJSs2Fqar1elpbLXZCQ + tGN0dIxvYGBxmVZWZdlCQk36KCgw/xQUGP8ICAr/BAQF/wICBP8CAgT/AgID/wEBA/8BAQP/AQED/wEB + A/8BAQP/AQED/wEBA/8BAQP/AQEE/wICCP8EBBD/BgYZ/woKLf8SEk7/GRlv/x8fiP8hIY//Hh6G/xgY + Z/8NDTn/CQko/wkJKP8JCSj9CQko5AkJKFUJCSgPCQkoCAkJKAkJCSgIFBRXBx4egwUjI5gDJCSdAiUl + ngIvL6MB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7A8fHx/8zMzP+3t7f/lJSU/1hY + WP80NDT/LS0t/z8/P/9XV3D/QUF4/yAgTv8NDS3/BQUX/wICCP8AAAL/AAAA/wAAAP8BAQL/AQEG/wIC + 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 + /v/n5+f/ysrK/62trf+EhIT/VlZX/zo6Ov8mJib/NTU1/0BAQP8TEzb/CAgf/wQED/8BAQX/AAAA/wAA + AP8AAAD/AAAB/wICB/8FBRP/CQkk/w8PO/8UFFL/VFSK8/7+/v/i4uL/xsbG/6Skpf9mZmf/S0tL/0JC + Qv87Ozv/QEBA/zMzS6EbGzWgEBAgwAoKE9YGBgzlBQUJ6wYGDOgLCxTcEhIizh0dNrwtLVOnPz90llBQ + k4xfX6uHaWm7hmtrvYlnZ7yNTEywkRgYYZQSEkeZDw88nQoKKKGPj82rj4/Np4aGyaNwcMCfSkqvmjIy + pJcxMaSSNDSljjc3poo4OKeGMTGkgiQkjX4gIH16JCSMdigonHIoKJ1uKiqgay4uomYvL6NjLy+jXzEx + pFw1NaVYNDSlVCUlkFEiIoVRJiZ/WSUlYGghIUKAGBgnoA8PFcEJCQvcAwME7wEBAfsAAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQP/BAQM/woKHP8RETL/FRVN/xoa + ZP8eHnT/IiKE/yQkjv8mJpP/JiaU/yYmlf8lJZH/IiKD/xsbaP8PDzz/Cgoo/woKKP8KCij/Cgoo1goK + KGgKCigU/f39AOrq6gDc3NwA1dXVAM7OzgDDw8MAx8fHAOXl5QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /sDy8vL/ysrK/6Kio/9nZ2j/ODg4/yIiIv8uLi//Pz8//1paZv9oaHz/QkJY/xgYMv8JCRn/AwMK/wEB + Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2FhYf/s7Oz/w8PE/5yc + nf+IiIn/e3t8/21tbv9eXl7/UFBQ/1lZWf+FhYX/srKy/wEBBv8CAgn//////+3t7f/Nzc7/sbGx/4uL + i/9gYGH/SEhJ/ywsLf8yMjL/QEBA/xQUFNAAAADgAAAA9AAAAPwAAAD+AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + 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 + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x8fH/+oqKj/ubm5/6Ki + ov+Ojo7/gICA/3t7e/90dHT/ampq/19fX/9TU1P/Y2Nj/46Ojv82Njv/AwMK/wQEEP//////7+/v/9LS + 0v+3t7f/kJCQ/2ZmZv9KSkr/KSkp/zIyMv9AQED/EhIS5gAAAPEAAAD7FRUV/xISEv8CAgL/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABfr6+gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gBaWloAQEBAAGpqagAjI4UGIiKARyIigMQjI4T/JiaP/yoqnv84OKf/QUGr/0BA + qv88PKn/PT2p//7+/v/t7e3/09PT/729vf+jo6P/fn5+/1NTU/8qKir/MzMz/0BAQP8YGC7/BQUU/wIC + Cf8BAQL/AAAA/wAAAP8AAAH/AgIG/wQEEP8ICB79DAws7wsLKqgKCiVjkZGod//////19fX/6enp/9fX + 1/+7u7v/mpqa/3x8kaAvL3FYExNHYQ4ONHsKCiedCgoawAYGDtoDAwfuAQEC+AEBAvkEBAjwCQkR4BQU + IcslJTy0Pj5gnVxciI10dKqDiYnEf46OzYFlZbuEOzuoiSYmjYwbG2eRERFAlQsLKJmQkM6kkpLOoIuL + y5x8fMWYXFy2k0tLr49SUrKKS0uvh05OsII4OKZ+JiaMeiMjgHcpKZVzKyuebioqm2srK5xmLCygYy4u + ol8wMKNcMjKkWDMzpFU0NKVRNzemTS0toUokJIRKHh5uUxcXVWIQEDZ7CgofnQYGEL8EBAjbAgID7wEB + AfsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgT/BwcO/w0N + H/8WFjf/ISFV/y0tdP8vL4n/JyeR/ygokv8oKJP/KSmV/ykplf8pKZb/KSmX/ykpl/8mJoz/ICB0/xUV + Tv8LCyj/Cwso/wsLKP8LCyj0CwsorwsLKCD+/v4A8PDwANjY2ADHx8cAvr6+AL6+vgDx8fEA/v7+AP7+ + /gD+/v4A/v7+AP7+/sD09PT/1NTU/7m5uf+IiIj/R0dH/yQkJP8wMDD/Pz8//01NU+VhYXH4SUlW/y0t + OP8VFR7/BgYL/wEBAv8AAAD/AAAA/wAAAP8AAAH/AQEC/wEBA/8BAQP/AAAC/wAAAv8BAQL/AAAB+gAA + APUAAAD1AAAA9QAAAPYAAAD2AAAA9wAAAPgAAAD5AAAA+gAAAPwAAAD9AAAA/hoaGv6RkZH/p6en/5qa + mv+Ojo7/gYGB/3p6ev93d3f/cnJy/2xsbP9gYGD/WFhY/21tbf9ycnT/AwMJ/wMDC/8FBRH///////Dw + 8P/V1dX/u7u7/5aWlv9qamr/TExM/ygoKP8yMjL/QEBA/xEREe8AAAD3AAAA/RISEv8NDQ3/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAXDw8MA8PDwAP7+ + /gD+/v4A/v7+AP7+/gD+/v4AlJSUAEBAQABAQEAAIyOBOSMjgbYlJYb9JyeO/yoqm/80NKX/Pz+p/0JC + q/9BQar/PT2p/z09qP/+/v7/7u7u/9TU1P+/v7//f3+k/4KCgv9VVVX/LCws/zQ0NP9AQED/GBgn/wQE + EP8CAgb/AAAC/wAAAP8AAAH/AQED/wICCf8FBRP9CAgc7AYGF64GBhd1DQ0vWZmZtHL//////f39//b2 + 9v/9/f3/wMDB83l5qV9OTqo/OjqLSx8fY2ARET16CwsmnAcHGL8GBg7aBAQH7AICBPYCAgT1BQUJ6gsL + FNoWFiXHJyc+sEBAYppcXIiLb2+ogn5+vX5ycsB/UFCxgisrn4cmJoyLHR1rjxISQpMLCyiXk5PPoZGR + zpyIiMqZb2+/lUVFrZAsLKCMLCyeiCwsoIQ0NKWAPz+qfCsrmnckJIN0KSmVcDAwo2ssLJ5oLCyeZCws + n2AuLqJcYWGTjUVFYao9PVmpPT1Ypz4+V6U9PVWjOjpPpDg4Sqg1NUWwMDA9vSsrM84nJyvfJCQm7SIi + I/cgICH9ICAg/yAgIP8gICD/FBQU/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwME/wkJ + D/8QECH/GRk5/yMjVv8wMHX/NzeN/zQ0mv8rK5z/KiqW/ykplf8qKpb/KiqW/yoqmP8rK5n/KCiR/yUl + hv8fH2//ExNG/wsLKf8LCyn/Cwsp/wsLKesLCymaCwspEAsLKQLq6uoA2NjYAM3NzQDQ0NAA/Pz8AP7+ + /gD+/v4A/v7+AP7+/gD+/v7A9PT0/9XV1f+8vLz/kZGR/1BQUP8lJSX/MDAw/z8/P/87Oz7NU1Nh6kZG + Uf8sLDX/Fxcd/wgIDP8BAQL/AAAA/wAAAP8AAAH/AQEC/wICBf8CAgj/AgIJ/wEBBf8BAQX/AQEF/wEB + BfkAAAHkAAAA4AAAAOEAAADiAAAA4wAAAOUAAADnAAAA6QAAAOwAAADuAAAA8TMzM/l4eHj+jo6O/4qK + iv+Ghob/gICA/3x8fP95eXn/eHh4/3R0dP9ubm7/YmJi/1xcXP9xcXH/Kysv/wICCP8DAwr/BAQQ//Pz + 9Pzz8/P/2NjY/7+/v/+cnJz/cHBw/09PT/8pKSn/MTEx/0BAQP8sLCz7Gxsb/RcXF/8SEhL/DQ0N/wgI + CP8EBAT/AgIC/wEBAf8AAAD/AAAA/wAAAP8BAQH/AgIC/wQEBP8FBQX/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFkpKSAMjI + yAD+/v4A/v7+AP7+/gD+/v4A/v7+ANbW1gBAQEAAJCSCKCQkgaElJYXxKCiP/ysrnP81Nab/Pz+q/0JC + q/9CQqv/QkKr/0FBq/9YWLX//v7+/+vr6//Pz8//ubm5/6CgoP97e3v/UVFR/ysrK/81NTX/QEBA/xcX + If8EBAv/AQEE/wAAAf8AAAD/AAAB/wEBBf8DAwz9BQUR6wQEDr0EBBCOCQkgahERO02jo8Fs//////// + ///+/v7/6+vs84WFtFtQULI4Tk6pPUJCjkgxMWpdGBhFeAsLJ5oGBhW+BAQN2QMDCOsDAwXyAwMG7wcH + DuINDRnQFxcrvCUlRKc2NmSSRUWDhVVVnn1mZrR6dXXCfGFhuX8uLqKEJyeNiCAgc4wTE0WQCwsplZGR + zp+Rkc6ah4fKl3FxwJJJSa6OLy+iii0toIUsLJyBLCycfTY2pnkrK5h1IyN9cSkpkG05OadpLS2gZiws + nGEtLZ9er6/TorOzs/92dnb/QUFB/0BAQP8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/ + P/8/Pz//Pz8//0BAQP9AQED/QEBA/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMD + BP8MDBD/FhYj/x8fO/8pKVn/NDR3/zs7j/8+Pp7/NDSi/ywsnP8rK5b/KiqV/ysrmP8tLZ7/LCya/ysr + lv8pKZD/JSWD/x4eaf8RETz/DAwp/wwMKf8MDCn9DAwp5AwMKXsMDCkMDAwpAezs7ADd3d0A2dnZAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+wPT09P/W1tb/vr6+/5iYmP9ZWVn/Jycn/zAwMP8/Pz//Li4uxTk5 + QtI7O0T5KSkw/xcXG/8JCQz/AQEC/wAAAP8AAAD/AQEB/wICBP8DAwn/BQUP/wYGE/8EBA7/AwMJ/wMD + Cv8DAwr7AQEE0wAAAcQAAADDAAAAxAAAAMYAAADJAAAAzAAAAM8AAADTGBgY4UxMTPZycnL/eHh4/3p6 + ev96enr/e3t7/3p6ev95eXn/e3t7/3t7e/94eHj/cXFx/2pqav9ubm7/VFRU/wICBv8CAgf/AgII/wQE + Df/Ly83y9fX1/9zc3P/FxcX/pKSk/3h4eP9SUlL/Kysr/zAwMP8/Pz//Pz8//zg4OP8yMjL/KCgo/x4e + Hv8UFBT/CwsL/wUFBf8CAgL/AAAA/wAAAP8AAAD/AQEB/wICAv8GBgb/DAwM/wYGBv8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABUBA + QACfn58A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AJSWDFyUlgosmJoblKCiO/ywsm/81NaX/QUGq/0ND + q/9CQqv/QkKr/0JCq/9CQqv/ZWW7//Pz+f/n5+f/ycnJ/7CwsP+VlZX/c3Nz/0xMTP8qKir/NjY2/0BA + QP8KChH/AgIG/wEBAv8AAAH/AAAB/wEBAv8CAgb9AwMK7gICCcwDAwqjBgYUfQwMKVwXF0tDsLDMZv// + /////////v7+/5OTwVdMTK8zUVGyNlBQqjtERI5HMjJqXCIiSHcRESqZBgYWvQMDC9gCAgfoAwMH7QUF + CecLCxTWExMiwSAgOK0vL1OZQUF0iE5OkH5WVqN5XV2xeG5uvnpgYLh9LS2egScniYYjI3qKFRVKjgwM + KZKBgcedh4fKmIKCyJRvb8CQS0uvizAwo4gvL6KCLi6ffy0tm3ssLJl3KSmOch8fbW8kJH5rPj6qZjU1 + pmMuLqFfLi6hW8rK56vw8PD/s7Oz/2JiYv8vLy//JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk + JP8kJCT/JCQk/yQkJP8qKir/NjY2/0BAQP9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8EBAT/Dg4R/xwcJv8pKUD/MjJd/zo6ev8/P5D/QkKg/z8/qP8yMqT/LS2b/ysrl/8uLqD/MzOl/y4u + oP8sLJr/KyuW/ykpkP8lJYL/HBxh/w8PM/8MDCn/DAwp/wwMKfwMDCneDAwpWQwMKQ7+/v4A9fX1AOjo + 6AD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/sD09PT/19fX/8DAwP+dnZ3/ZWVl/zQ0NP8vLy//PT09/ykp + KcwZGR2/Kysy8SQkKf8VFRn/CQkL/wICAv8AAAD/AAAA/wEBAv8DAwf/BgYO/woKGf8KCiP/CAge/wQE + D/8FBRD/BQUR/wMDCsoBAQOjAAAAmgAAAJ0AAACfAAAAogwMDLEiIiLQNzc38FJSUv9jY2P/bm5u/3R0 + dP92dnf/d3d4/3l5ev96env/fX1+/4CAgf+BgYL/fHx9/3t7e/+BgYH/cHBw/wkJCv8BAQT/AQEF/wIC + Bv8DAwn9ysrL9Pn5+f/f3+D/ysrK/6qqq/+BgYL/WFhZ/y8vL/8vLy//PT09/zU1Nf8hISH/Hh4e/xoa + Gv8UFBT/Dg4O/wgICP8EBAT/AgIC/wEBAf8AAAD/AAAA/wAAAP8BAQH/AwMD/wgICP8ICAj/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAA + AAVAQEAAQEBAAHFxcQDV1dUA/v7+AP7+/gAnJ4YBJyeGCyYmhHQnJ4ncKiqR/C4un/88PKn/SEiu/0tL + r/9ISK7/RESs/0NDrP9CQqv/Q0Os/09PsP/z8/n/39/g/8DAwf+lpab/ioqL/2pqa/9GRkb/Kysr/zg4 + OP9AQED/AwMH/wEBA/8AAAH/AAAA/wAAAf8BAQP9AgIG8gEBBdcCAga1BAQNkAgIHGwQEDVNHx9aOLi4 + 1WL//////v7+/9fX5pVGRq0uS0uvMVBQsjRPT6o5RUWORTMzaFkiIkZ0FRUsmAsLGLwEBAzXAgIH5gIC + COgFBQzdDg4ayBsbLrEtLUmcQEBoi1BQiH1aWp92XFyrdFtbs3RdXbd3UFCyeykpjX8iIneDJSV/hxcX + T4sMDCmQYWG5mWJiuZVnZ7yRYmK5jURErIguLpuFLi6bgC0tmXwtLZh4LCyXdCsrkHAdHWJsHR1jaC4u + nWQ9PalgMzOkXDAwoljMzOiq/v7+/7u7vP9iYmT/Ly8w/xsbHP8WFhf/FRUW/xUVFv8VFRb/FRUX/xYW + F/8WFhf/FhYX/xUVFv8RERH/GBgZ/ycnJ/88PDz/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BAQF/w8PEv8hISj/NDRE/0JCZP9ISID/SUmU/0hIov9ISKv/Pz+p/zAwov8uLp3/Ozuo/0JC + q/87O6j/MDCi/y4um/8sLJT/KiqN/yUlfP8aGln/DAwp/wwMKf8MDCn/DAwp/gwMKc0MDClGDAwpDf7+ + /gDx8fEA/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7A9fX1/9jY2P/BwcL/oKCh/29vcP9ERET/LS0t/zo6 + Ov8nJyfUBgYHvRgYHeUbGx/8EhIV/wkJC/8CAgP/AAAA/wAAAP8BAQL/BAQJ/wkJFf8PDyT/EBA1/w8P + M/8GBhX/BwcX/wcHGf8GBhXRAgIIgBcXF4UhISGZMDAwwDo6OuVAQED/QEBA/0VFRf9UVFT/Y2Nj/29v + b/96enr/gICB/4CAgf+Dg4T/g4OE/4eHiP+JiYr/iIiJ/4eHiP+Ojo7/gICA/xgYGf8AAAH/AQEC/wEB + A/8BAQP/AgIG/Zqam/D9/f3/5OTk/8/Pz/+ysrP/i4uM/2BgYf81NTX/LS0t/zo6Ov81NTb/FxcY/xgY + Gf8WFhf/EhIT/wwMDf8HBwj/BAQE/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wICAv8GBgb/BgYG/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAA + ABUAAAAFREREAEBAQABAQEAAWlpaAISEhAAlJX0BJSV+Bygoh1QpKYrSLCyV+TExo/9ERKz/U1Oz/1VV + tP9RUbL/TEyv/0hIrf9ERKz/Q0Os/0JCqv+Vlc7//v7+/9fX1/+4uLn/nJyd/39/gP9hYWL/Pz8//y0t + Lf86Ojr/OTk5/wEBA/8AAAH/AAAA/wAAAf8BAQL+AQEC9QEBA+EBAQTEAwMKowYGFH0MDCVaFhZBQCUl + aTDAwNxd//////r6/OVCQqspQ0OrLEhIrS5OTrAxTk6pNkZGjUM2NmhXJSVHcxYWKpYLCxe7BgYN1wIC + COQCAgjkBAQO1wsLHb4eHjilOjpajlNTfX1fX5pzZGSsb2Jis29fX7VxXV23dFNTs3gmJoB9GhpZgB8f + aIQYGFCIDAwpjUhIrp0sLJSTJSV7jyQkeYsiInKHHx9pgyMjdX4mJoB6KSmJdisrj3IsLJNuHh5kahUV + R2YhIW9iQECrXjw8qVo0NKVXzc3oqf7+/v+zs7T/aGhr/x4eIv8NDRD/CwsP/wsLD/8LCw//CwsO/wsL + D/8LCw//CwsP/wsLD/8LCw7/CgoN/w4OD/8fHx//Nzc3/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wQEBf8QEBL/JCQp/zw8SP9UVGz/YGCL/11dnv9WVqr/T0+v/0hIrv88PKn/Pj6q/0RE + rf9GRq3/RESs/z8/qv80NKX/Ly+c/y0tlv8qKoz/JCR3/xgYUf8MDCn/DAwp/wwMKf8MDCn/DAwprwwM + KTgMDCkJ5eXlAPn5+QD+/v4A/v7+AP7+/gD+/v4A/v7+wPX19f/Z2dn/wsLD/6Ojo/93d3j/VVVV/yoq + Kv80NDT/MjIy7SQkJOInJyjuKior+ygoKv8kJCX/ISEi/yAgIP8gICD/ISEi/yMjJv8mJi3/Kys3/y4u + Qv8rK0X/MzM6/zIyN/8yMjj/PT0+/kBAQP9AQED/QEBA/z4+Pv86Ojr/NjY2/0JCQv9ERET/NTU1/zEx + Mv8/P0D/T09P/15eX/9ra2z/d3d4/4KCg/+NjY7/jY2O/4eHh/+Tk5P/mpqa/zg4Of8BAQH/AAAB/wAA + AP8AAAH/AAAC/wEBA/15eXr0/////+np6f/U1NT/urq6/5SUlf9paWr/PT0+/ysrK/83Nzf/QEBA/woK + Dv8KCg7/CgoN/wkJDP8HBwr/BQUH/wQEBf8CAgP/AQEB/wAAAP8AAAD/AAAA/wAAAP8BAQH/BQUF/wUF + Bf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAA + AC8AAAAWAAAACAAAAAQAAAAFAAAABQAAAAQAAAADGxtcCiIiczoqKo3FLi6a+D4+qv9aWrb/Z2e8/2Zm + u/9fX7j/Vla0/1FRsv9LS6//Rkat/0RErP9BQaj/zs7o//X19f/IyMn/p6eo/4mJiv9vb3D/SkpL/zQ0 + NP8vLy//PDw8/zAwMf8AAAH/AAAA/wAAAf8AAAH+AAAC+AAAAegBAQPRAgIGsgUFDY4LCxtpFRUxSyAg + UjYsLHkqwcHdXP7+/v/IyN15OzufKz8/oS1CQqIvSEimMkxMozdCQoVDNTVlVyYmRXMXFyuWDAwWuwYG + DdYDAwjjAwMK4gQEDtIICBu4Dw8znCgoWoRHR4J1VVWebFtbsGlaWrNsWlq2bldXtHNUVLN2JSV9ehAQ + NX4PDzOCFRVHhwwMKYtDQ6u7JiZ+nxYWR5EQEDSIDw8whA8PM4AVFUV7GxtZeCEhbXMlJXpwKCiEayQk + d2gTEz1kFxdLXzAwn1w+PqlYOTmnVdDQ6qj+/v7/vr7A/4qKjf9QUFT/FBQa/wEBB/8CAgj/AQEH/wAA + Bv8AAAb/AAAG/wEBB/8DAwn/AAAG/wUFCv8SEhT/HR0e/zY2N/8wMDD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8CAgP9Dg4Q/SQkKf5AQEr/X19x/3Z2lf94eKr/b2+0/2Bgtf9PT7H/QkKr/0ZG + rf9HR63/SEiu/0hIrv9HR63/Q0Or/zc3pv8wMJ7/LS2V/yoqiP8iInD/FhZJ/w0NKf8NDSn/DQ0p/w0N + KfcNDSmVDQ0pLA0NKQXo6OgA/v7+AP7+/gD+/v4A/v7+AP7+/sD29vb/2tra/8TExP+mpqb/gICA/2dn + Z/9ISEj/LS0t/zQ0NP86Ojr/Pj4+/z8/P/9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/z8/ + P/8/Pz//Pj4+/z09Pf88PDz/Ojo6/zk5Of83Nzf/NTU1/zMzM/8xMTH/Li4u/ysrK/8oKCj/JiYm/yQk + JP8iIiL/ISEh/ysrK/8+Pj7/VFRU/21tbf+Dg4P/mZmZ/5qamv+Li4v/jo6O/0FBR/8EBAn/AgIE/wAA + Af8AAAD/AAAA/wAAAf8AAAH+Tk5O/f/////u7u7/2tra/8PDw/+goKD/dXV1/0ZGRv8qKir/NTU1/0BA + QP8QEBX/AAAG/wAABf8KCg//EREU/xISFf8RERL/CAgJ/wUFBf8AAAH/AAAA/wAAAP8AAAD/AQEB/wQE + BP8FBQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAA + AFMAAAAxAAAAGwAAABAAAAAPAAAAEgAAABIAAAAQDw8xExwcWzQgIGivLS2R+0tLrv92dsL/jo7N/5OT + z/+Ghsn/b2+//15euP9WVrT/T0+x/0lJrf9HR6v/QUGl//T09P/k5OT/tra2/5SUlP99fX3/YWFh/zIy + Mv8oKCj/MTEx/z8/P/8kJCX/AAAA/wAAAP8AAAH+AAAB+QAAAe4AAAHbAQEFvwQECZ0ICBJ4EREjWB0d + PEAnJ1gyLCxtK7m50V/+/v7/Kip1MSwseDMuLns2MTF9NzY2gTo5OX9ANzdvSjAwVl4lJT55GBgomgwM + Fb0GBgzYBAQI5AQECeAFBRDQCAgatQwMKZcXF0yBLy93ckRElGtNTaJqTk6kbU1NpnBISKZyQkKmdSgo + g3oNDSh9DQ0ogQ0NKIUNDSiJS0uv9S0tkdYaGlStDQ0pkQ0NKYQNDSl+DQ0peQ4OLnUVFUNxGxtWbSEh + aWkmJntlEhI5YQ8PL10mJntaOTmmVTg4plLR0eqn/v7+/8XFx/+ZmZv/ZmZq/y0tM/8XFx3/GRkf/xkZ + H/8YGB7/Fxcd/xYWHP8WFhz/Ghog/xAQF/8HBw3/FhYZ/x8fH/84ODn/MDAw/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB+wgICfUhISX5QEBK/WVldP+EhJv/k5O1/46Owv96esD/WFi0/05O + sP9MTK//SUmu/0lJrv9HR63/SUmu/0lJrv9FRaz/PT2o/zIyof8uLpT/KSmE/yEhaf8TEz7/DQ0p/w0N + Kf8NDSn/DQ0p7A0NKYANDSkdDQ0pAv7+/gD+/v4A/v7+AP7+/gD+/v7A9fX1/9jY2P/BwcH/pqam/4qK + iv96enr/aWlp/0lJSf8rKyv/Ly8v/zExMf8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIy + Mv8yMjL/MTEx/zExMf8wMDD/Ly8v/y4uLv87Ozv/QkJC/zU1Nf8pKSn/KCgo/yYmJv8kJCT/IyMj/yIi + Iv8uLi7/Ojo6/0hISP9ZWVn/bGxs/35+fv+QkJD/oKCg/7i4uP+7u7v/jo6Q/y8vQv8MDB//BwcR/wMD + CP8BAQP/AAAA/wAAAP8AAAD/AgIC/wsLC///////8/Pz/+Dg4P/MzMz/rKys/4ODg/9UVFT/KCgo/zIy + Mv8/Pz//JSUp/w0NE/8PDxX/Dw8V/w0NEv8JCQ3/BQUI/wQEBv8EBAX/AwMD/wAAAP8AAAD/AAAA/wEB + Af8FBQX/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABUAAAANgAAACMAAAAdAAAAIQAAACcAAAAoAwMLKBUVRD8cHFuXHBxa/Skpg/9PT67/bGy9/4SE + yP+ZmdH/m5vS/4aGyf9oaLz/W1u1/1JSsf9KSqv/Rkam/3Bwtf/+/v7/5+fn/8DAwP+jo6P/jIyM/2dn + Z/8wMDD/Kioq/zQ0NP9AQED/GBgZ/wAAAP8AAAD+AAAA+gAAAPEAAAHjAQEDygMDBqoGBgyGDAwXZBYW + KkogID86KChQNCcnUzSmprhr/v7+/4yMkNAyMkR/NTVEjD09QdI/P0HpJCRWUCUlTVomJkNsICAzhBUV + IaIMDBPDBgYK2wQEB+UEBAriBwcQ0gsLHbgPDy+bFhZIhScnZXk2NnxzPDyHcjk5h3U0NIh3Li6LeCsr + inklJXd8DAwlfwwMJoQMDCaJDAwlmVRUs/8yMp//Hx9i9A0NKdENDSmfDQ0pfw0NKXUNDSlyDQ0pbg4O + K2sUFEBmGxtWYw4OLF4NDSlaERE3Vy8vlVMvL5VQ0dHqpv7+/v/Fxcf/mZmb/2dna/8uLjT/GBge/xgY + Hv8ZGR//GRkf/xkZH/8WFhz/FBQa/xYWHP8KChH/CQkO/xcXGf8gICH/Ojo7/zAwMP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoCAgLsEBAS4zk5QfBlZXT9ioqe/6Ghvf+pqc7/mJjP/3x8 + xf9lZbv/Vla0/01NsP9JSa7/SEiu/0pKr/9KSq//Skqv/0lJrv8/P6r/MzOi/y4uk/8oKH7/Hh5f/w8P + Mf8NDSn/DQ0p/w0NKf8NDSneDQ0paQ0NKQ4NDSkB/v7+AP7+/gD+/v4A/v7+wPX19f/V1dX/vLy8/6Cg + oP+Hh4f/gYGB/3t7e/9sbGz/VlZW/zs7O/8oKCj/KSkp/ysrK/86Ojr/PDw8/zs7O/85OTn/MTEx/ykp + Kf8pKSn/KSkp/ygoKP8oKCj/KCgo/y4uLv9LS0v/b29v/3R0dP+Dg4P/g4OD/3Nzc/9+fn7/g4OD/4SE + hP+BgYH/fHx8/3l5ef97e3v/g4OD/42Njf+ampr/qqqq/729vf/Hx8f/qamy/0xMbf8nJ0n/ExMv/wsL + HP8FBQ//AgIF/wAAAf8AAAD/AAAA/wICAv8EBAX/0dHR//n5+f/m5ub/09PT/7i4uP+SkpL/ZWVl/y8v + L/8vLy//Ozs7/zY2OP8SEhn/FhYc/xkZH/8XFxv/Dw8T/wgIDP8DAwb/AgIE/wMDBP8AAAD/AAAA/wAA + AP8BAQH/BQUF/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACBAAAAVwAAAD0AAAAwAAAAMAAAADoAAABFAQECSQkJHlYZGVGTHBxb9RQUQP8bG1T/MTGY/zk5 + pP9MTK//dnbB/5WV0P+Sks//cXG//1xctP9PT6z/Rkal/0BAnP95ebP/8vL3/+3t7f/S0tL/urq6/5qa + mv90dHT/PT09/y0tLf83Nzf/QEBA/wgICP8AAAD+AAAA+wAAAPQAAAHnAAAB0QICBLQEBAiRCAgQbg8P + H1MYGC5AHx87OyAgPT8cHDZHjo6aff7+/v+7u7v/Q0ND/0BAQP9AQED/Pj4/7BERM2kUFDFyFxcsgRgY + JZYRERmvCgoPzAUFCOAEBAfpBAQI5QYGDdYLCxm+DQ0qpBISOpEZGUyHICBZgSEhYIIfH2KDHx9igh8f + Y4IfH2OAGhpUgAoKIYQLCyGPCwsirgsLI9xjY7n/Q0Or/ycne/8TEzr+DQ0p8w0NKcwNDSmPDQ0pbw0N + KWkNDSloDQ0pZA0NKWENDSldDQ0pWQ0NKVYcHFdRISFnTs/P46X+/v7/xsbI/5ycn/9ra2//MTE3/xkZ + IP8YGB//Fxce/xgYH/8ZGSD/Fxce/xYWHf8XFx7/BwcP/woKEP8XFxr/ISEi/zw8PP8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AQEB6wICAtIYGBvDWFhk3oyMn/+mpr7/tLTS/7Oz + 2/+jo9b/h4fK/25uvv9cXLb/UFCx/0pKr/9LS6//SUmu/0lJrv9LS6//SEit/0FBqv80NKL/Li6Q/yYm + dv8aGlL/DQ0p/w0NKf8NDSn/KytE/5aWn+0uLkZhDQ0pAv7+/gD+/v4A/v7+AP7+/sD29vb/2trb/8LC + wv+lpab/i4uM/4aGh/+JiYr/hoaH/4CAgf9ycnP/Wlpa/1lZWf9paWr/a2tr/2lpav9paWr/aWlq/2Zm + Zv9fX1//VFRV/0tLTP9GRkf/RERF/0BAQP8+Pj7/VFRV/35+f/+Pj5D/np6f/4+PkP+NjY7/kZGS/5OT + lP+VlZX/kpKT/4yMjf+Dg4T/fX1+/319ff+FhYX/lZWV/62trf+xsbP9mpq1/3R0n/9aWoP/NTVh/xwc + Qf8RESr/CQkX/wMDCf8BAQL/AAAA/wAAAP8AAAD/AgIC/5GRkv//////7Ozs/9vb2//Dw8P/oKCh/3Z2 + d/9CQkL/LCws/zc3N/9AQED/EhIZ/x0dJP8oKC//JSUs/xgYHv8ODhL/BgYK/wEBBP8AAAL/AAAB/wAA + AP8AAAD/AQEB/wYGBv8GBgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACuAAAAggAAAFsAAABFAAAAPwAAAEgAAABbAAAAawMDC3kPDy+kGhpR7BsbUv8MDCj/DQ0p/y0t + jP8zM53/Njai/0xMrv9+fsT/iIjH/29vu/9YWK7/S0uj/0FBmP84OIv/MjJ7//7+/v/w8PD/2NjY/8PD + w/+kpKX/dHR1/01NTv8wMDD/Ozs7/zg4OP8AAAD+AAAA+wAAAPUAAAHqAAAB1wEBA7wDAwebBgYMdwsL + F1gSEiVEGBgwPRkZMkMUFChSEREgYnZ2fZX+/v7/+fn5/4ODg/86Ojr/Pz8//0BAQP8UFCKaCAgakgoK + GZ4NDReuCwsRwQcHC9cEBAbnAgIE7QMDBukFBQvcCQkUyAoKILINDSqjEBAynBERNpkSEjiXEhI5lxMT + PJQUFD6PFRVAhxISOYsKCh6qCgog2QoKIfYKCiD+c3PB/2Fhuf81NaH/Hx9g/w4OKv8ODir5Dg4q7A4O + KsEODiqIDg4qaQ4OKl8ODipdDg4qWw4OKlcODipTDg4qTw8PL0zNzdqk/v7+/8jIyv+fn6L/b29z/zY2 + Pf8dHSX/GRkh/xgYIP8WFh7/Fxcf/xkZIf8WFh7/FhYe/wQEDf8KChD/Fxca/yIiJP8+Pj7/ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QEBAeoBAQHQBQUFryUlKpd2doe9pqa++7i4 + 1f/CwuL/vr7i/6ur2v+Rkc7/dXXC/2BguP9RUbL/TEyw/0pKr/9HR67/SUmu/0lJrv9HR67/QECr/zU1 + of8tLYr/IyNr/xUVQf8ODir/Dg4q/7S0vP/+/v7/tLS85w4OKkT+/v4A/v7+AP7+/gD+/v7A9vb2/97e + 3v/Jycn/r6+w/5WVlv+QkJH/lZWV/5ubnP+jo6T/nZ2e/4yMjf+dnZ7/paWm/6Wlpv+kpKX/o6Oj/6Gh + ov+goKH/nZ2e/5aWl/+MjI3/fX1+/25ub/9hYWL/UFBR/1NTU/9ycnP/oKCh/62trf+Wlpf/lZWW/5WV + lv+Wlpf/mJiZ/5aWl/+Tk5P/i4uM/35+f/9ycnL/bGxs/3Fxcf99fYOikZHD2o+Pwv6EhLT/a2uc/0RE + d/8lJVT/Fxc5/wwMIf8EBA3/AQED/wEBAf8AAAD/AAAA/wAAAP8xMTH///////Ly8v/i4uL/z8/P/6+v + sP+Kiov/V1dX/yoqKv8zMzP/Pj4//yQkKP8SEhr/NjY9/zs7Qf8kJCr/FBQa/wkJDv8DAwf/AAAD/wAA + Af8AAAH/AQEB/wICAv8GBgb/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOsAAADSAAAArwAAAIQAAABgAAAATwAAAFAAAABgAAAAegEBA5QICBm7EBAv6RUVP/4ZGUv/Cwsh/wsL + H/8hIWf/Ly+R/zMzmv87O5//YmKx/21ttP9bW6n/TU2e/0NDk/84OIX/Ly91/2xslP/Hx9P/9fX1/97e + 3v/Ly8v/rq6v/3R0dP9KSkv/NDQ1/z8/P/8kJCT/AAAA+wAAAPUAAAHrAAAB2gEBA8ECAgShBQUKfwkJ + El0PDx9FFRUrOxYWLD4TEyVPDAwYaQkJEYFhYWaw/v7+/+/v7//IyMj/T09P/zo6Ov9AQED/JCQo1AQE + C7cEBAy/BQUMyAUFCdYEBAfkAgIE7wICA/ICAgTuBAQI4wcHDtQHBxXECAgZuQkJG7YJCRu1CQkcswkJ + HLAKCh+oDAwloxAQM7EQEDLXCgoe8QoKHvsKCh3/CQkb/4CAxv96esT/Xl63/y8vj/8UFD3/Dg4q/w4O + Kv8ODir1Dg4q4Q4OKrMODiqADg4qYQ4OKlYODipUDg4qUQ4OKk0ODipKy8vRo/7+/v/Kysz/oaGk/3Jy + eP86OkL/ICAp/xoaI/8YGCH/FRUe/xMTHP8WFh//FRUe/xYWH/8EBA7/CwsS/xcXGf8jIyT/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkBAQHpAQEBzwEBAaoGBgd+Nzc/apCQ + ppm6utXrx8fk/sjI5//AwOP/sbHc/5eX0f98fMX/ZGS6/1VVs/9PT7H/S0uv/0pKrv9ISK7/R0et/0dH + rP8/P6j/NDSd/ysrgf8gIGD/EREy/w4OKv8dHTf/hoaU/x4eOPIODiquDg4qLf7+/gD+/v4A/v7+wPf3 + 9//e3t//ysrK/7Kysv+bm5z/lpaX/56env+mpqb/s7O0/6qqq/+rq6z/w8PD/8fHyP/IyMj/yMjJ/8fH + yP/Gxsb/xcXG/8TExf/CwsP/vr6+/7S0tf+mpqb/lZWW/4GBgv91dXb/hISF/7Cwsf+1tbb/np6f/5yc + nf+bm5z/mpqb/5mZmv+Wlpf/k5OU/4uLjP95eXr/XFxc8EBAQKBDQ0UhkpLKH5WVzseWlsv9j4/C/3l5 + rf9RUYv/Li5n/x4eSP8PDyz/BgYR/wICBf8EBAT/AQEB/wAAAP8AAAD/AAAA/+Dg4P/4+Pj/6enp/9nZ + 2f++vr//mpqb/21tbv8zMzT/Ly8v/zk5Ov88PD3/BAQL/wAACf8SEhv/DQ0V/wYGD/8BAQj/AAAG/wAA + BP8AAAL/AQEB/wEBAv8CAgL/BwcH/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APsAAADsAAAA1AAAALEAAACIAAAAZwAAAFkAAABeAAAAdQAAAZcFBQ7ECAga7QoKIP0ODin/FBQ7/wsL + Iv8ICBr/EREz/yQkbv8qKoH/LS2J/0NDl/9KSpb/Q0OO/zw8hv80NHr/LCxs/yYmXP+dnbD//v7+//f3 + 9//h4eH/xcXF/6enp/9ubm//RUVG/zk5Of9AQED/DAwM/AAAAPYAAADrAAAB2gEBAsICAgSlBAQIhAcH + D2INDRpEFRUqNBgYMTQUFCdBDQ0bWgkJEX8FBQudVFRXyP7+/v/x8fH/3t7e/5ycnP87Ozv/QEBA/zY2 + N/cCAgXUAgIF2AICBt8CAgXlAgIE7gEBAvQBAQL1AQED8gMDBusEBAjhBAQM1wQEDdEEBAzPBAQLzwQE + DMwFBQ/JBwcWzQwMIt4QEC/xDg4r+ggIGf4ICBj/CAgX/wcHFf+IiMr/iIjL/319xf9QULL/JSVu/xER + Mv8ODir/Dg4q/w4OKv4ODirwDg4q1g4OKqYODip3Dg4qWA4OKkwODipKDg4qSMzM0qL+/v7/zs7Q/6Wl + qf93d33/QEBI/yQkLf8cHCb/Gxsl/xcXIf8TEx3/ExMd/xMTHf8TEx3/AAAL/wsLE/8WFhn/JCQl/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD4AQEB6AEBAc0CAgKoAAAAdwoK + DE9OTlpDrq7HesjI5NTLy+j4ycnn/8TE5f+2tt//n5/V/4GBx/9pab3/Wlq2/09Psf9MTLD/SUmu/0hI + rv9HR6v/RUWq/zs7pP8xMZT/KSl7/x0dWP8PDyz/Dg4q/w4OKv8ODir/Dg4q6g4OKpgODioZDg4qA/7+ + /sD39/f/39/f/8vLzP+zs7T/nZ2e/5ubnP+hoaL/ra2t/7q6u/+9vb7/zMzM/9nZ2v/b29z/3Nzd/9zc + 3P/b29z/2tra/9vb2//a2tr/2dnZ/9jY2P/U1NX/z8/P/8fHx/++vr//ubm5/8PDw//Ozs7/xMTF/7W1 + tv+vr7D/qqqq/6Wlpv+hoaH/m5uc/5SUlf+FhYb/aGho/zw8PP9AQECQQEBAEJmZ0hmWltCymJjQ+5OT + yv+Bgbn/XFya/zY2dv8iIlb/EhI1/wgIFv8MDA7/BwcH/wEBAf8AAAD/AAAA/wAAAP+QkJD//////+/v + 7//h4eH/zMzM/6urrP+FhYX/TU1O/ywsLP81NTX/QEBA/yAgI/8AAAf/AAAK/wAACv8AAAr/AAAJ/wAA + B/8AAAb/AAAE/wICA/8DAwP/BAQE/wgICP8GBgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD7AAAA7wAAANcAAAC2AAAAjwAAAHAAAABlAAAAbwAAAIkDAwm7BgYS6wYGEfwGBhH/CAgY/w0N + J/8MDCP/BwcU/wgIGP8WFkH/GxtQ/yAgX/8nJ3T/MTF4/zQ0dP8uLmv/Jydf/yAgUf8aGkH/IyM//9LS + 1f/y8vL/3Nzc/8zMzP+NjY7/ZGRk/0BAQP89PT7/ODg4/wAAAPYAAADrAAAB2wEBAsMCAgSmAwMGhQUF + C2QKChVHExMmLxsbNigZGTIvEREjRAsLFmUHBw2PBAQHsUxMTtn+/v7/9/f3/+zs7P/Nzc3/d3d3/0dH + R/9AQED/CQkK7gEBAuwBAQPvAQEC8QEBAfUBAQH4AQEB+AEBAvYBAQPyAgIF7QICBucCAgXkAgIF5AIC + BeYDAwfnBAQN7AcHFfUKCh/7Dg4q/w0NJ/8HBxT/BgYT/wYGEv8FBQ//i4vM/4+Pzf+Njcz/dHTB/zU1 + nf8hIWD/FxdD/w4OKv8ODir/Dg4q/w4OKv0ODirsDg4qzQ4OKpgODipqDg4qTQ4OKkPOztSh/v7+/9DQ + 0v+srLD/fHyC/0RETf8oKDL/Hx8q/xwcJ/8aGiX/FhYh/xMTHv8TEx7/EREc/wAADP8LCxP/FRUZ/yQk + Jf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAAOcBAQHMAAAApQAA + AHUAAABKCgoLKnFxgSTGxuFgzMzowMzM6PHKyuj/xsbl/7q64P+kpNf/iIjK/29vv/9cXLf/UlKy/0xM + r/9KSqv/R0eo/0VFpP9BQaD/NDSZ/y8viv8oKHP/HR1V/xAQLf8ODir/Dg4q/w4OKv0ODirlDg4qeg4O + KhT9/f3B9vb2/+Dg4P/Nzc3/tra2/5+fn/+dnZ3/qqqq/7Kysv/BwcH/3Nzc/+7u7v/z8/P/8/Pz//Pz + 8//x8fH/8fHx//Dw8P/w8PD/7u7u/+3t7f/s7Oz/6urq/+fn5//k5OT/4eHh/93d3f/j4+P/4+Pj/9jY + 2P/R0dH/y8vL/8PDw/+7u7v/srKy/6enp/+cnJz/hoaG/2BgYP80NDT/PT09/0BAQOBXV2ZBmZnRnZmZ + 0fqWls7/iYnB/2dnpv87O4H/ISFe/xUVPP8RER//Gxsb/wgICP8BAQH/AAAA/wAAAP8AAAD/ICAg//// + ///29vb/6enp/9nZ2f++vr7/m5ub/2hoaP8sLCz/MTEx/zo6Ov88PD3/BAQM/wAACv8AAAv/AAAL/wAA + Cv8AAAn/AAAI/wAABv8EBAb/BAQF/wYGB/8KCgr/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/AAAAPEAAADbAAAAvAAAAJcAAAB6AAAAcQAAAH4CAgamBQUQ4AYGEPsEBAv/AwMI/wQE + Df8ICBj/Cwsg/wUFDv8GBhL/Dw8r/xMTOv8YGEn/Hh5X/yQkWf8mJlT/IyNM/x0dQv9OTmP/zc3N/8bG + yP+RkZb/2NjY/9LS0v/AwMD/ioqK/1ZWVv85OTn/QEBA/yEhIfoAAADrAAAA2gAAAcMBAQKmAgIEhQQE + CWUICBJIDg4eMBwcOh8hIUIeGBgyLA8PH0cJCRNsBQUJmQMDBb9ISEnk//////39/f/4+Pj/2tra/3x8 + fP5GRkb8JiYn+w4OD/oAAAH4AAAB+QAAAfkAAAH5AAAB+QAAAfoAAAH5AQEC9wEBAvUBAQLyAQEC8wEB + AvUBAQP4AgIG+wQEC/0GBhH/CQka/w0NJf8MDCP/BgYR/wUFD/8EBA3/BAQL/42Nzf+Rkc//k5PP/4WF + yf9SUrP/MDCK/yYmb/8dHVX/FBQ7/w8PKv8PDyr/Dw8q/w8PKvwPDyrqDw8qwQ8PKogPDypcysrQo/7+ + /v/Kys3/qqqu/39/hf9GRk//JiYx/xwcKP8ZGSX/GRkl/xYWIv8TEx//FBQg/xMTH/8AAA3/CwsT/xUV + GP8kJCX/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAADmAAAAygAA + AKQAAAB0AAAASAAAACcAAAAQo6O6D8zM6E3MzOiuzMzo6svL6P/IyOf/vr7i/6qq2f+Ojs3/dHTC/19f + t/9SUrD/S0uq/0VFo/9CQpz/Pz+V/zo6kv8xMY7/Li6G/ygoc/8eHlb/EBAt/w8PKv8PDyr/Dw8q/A8P + KuAPDypb+fn6xPf39//g4OD/zs7O/7m5uf+cnJz/mJiY/5ycnP+lpaX/paWl8ba2tuvIyMjzxMTE+dHR + 0f3+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7////////////+/v7/+vr6//f39//09PT/8vLy/+7u + 7v/p6en/5eXl/+Hh4f/c3Nz/1dXV/8vLy/+9vb3/ra2t/5mZmf9tbW3/NDQ0/zY2Nv89PT3/QEBA/2lp + hLSZmdL5mJjQ/46OyP9xcbD/Pj6J/yYmaP8XF0L/NjY5/x8fH/8ICAj/AQEB/wAAAP8AAAD/AAAA/wAA + AP+wsLD//f39//Dw8P/j4+P/zs7O/6+vr/+FhYX/SkpK/y4uLv82Njb/QEBA/yQkKP8AAAv/AAAM/wAA + DP8AAAv/AAAK/wAACv8AAAf/BQUI/wYGB/8KCgr/DQ0N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP0AAAD1AAAA4QAAAMMAAACiAAAAiAAAAIIBAQKWAwMK0QYGEfgFBQ7/AwMI/wEB + A/8CAgb/BgYN/woKGP8GBhH/BQUN/wwMI/8SEjb/FBQ7/xYWPf8XFzr/GBg2/xYWMP8pKT3/tra3/8TE + xP/MzMz/09PT/87Ozv/CwsL/r6+v/3p6ev9OTk7/PDw8/0BAQP8EBATrAAAA2QAAAMEBAQGlAQEDhAMD + B2QGBg1HDAwaMBcXMB4qKlYVJSVMGBgYMCoODhxICAgRbwQECJ8CAgTFRkZH6v///////////v7+/0JC + Qv8ICAj/Dw8P/wAAAP8AAAD/AAAA/gAAAP0AAAH9AAAB+wAAAfoAAAD6AAAB+gAAAfoAAAH6AAAB+wAA + AfwAAAH+AQEC/wEBBP8DAwf/BQUN/wcHFf8LCx//Cgod/wUFD/8EBAv/AwMJ/wICB/+Pj83/k5PP/5aW + 0P+MjMz/aGi8/zs7p/8zM5L/LCx9/yQkZv8cHE//EhI0/w8PKv8PDyr/Dw8q/w8PKv4PDyrrDw8qtrKy + u7z+/v7/xMTH/5+fpP98fIP/Q0NN/yQkMP8cHCj/FhYj/xYWI/8VFSL/ExMg/xMTIP8TEyD/AAAO/wsL + FP8VFRj/JCQl/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAA + AMoAAACkAAAAcwAAAEgAAAAnAAAADwAAAAPMzOgFzMzoOczM6JzNzenlzMzo/snJ5//CwuT/r6/c/5aW + 0P94eML/YGC1/1BQqP9FRZv/Pj6Q/zo6h/82NoT/NTWG/zExi/8vL4j/Kip4/x8fWf9LS2D/k5Of/x4e + N/8PDyr+Dw8qzerq7dH39/f/4eHh/9LS0v+7u7v/lpaW/4CAgP9/f3//eHh4/1NTU8QAAACuAAAAzwAA + AOcAAAD0AAAA+wAAAP4AAAD/AAAA/wICBP8mJiz/SEhW/09PaP+GhqH/nZ29/8fH3v/Q0Oj///////// + ////////+/v7//X19f/x8fH/7e3t/+jo6P/h4eH/1tbW/8jIyP+ysrL/i4uL/1BQUP8vLy//NTU1/zw8 + PP9AQED/dnaZ+5mZ0f+Xl83/enq3/0hIkv8rK23/QEBZ/0pKSv8cHB3/BwcH/wEBAf8AAAD/AAAA/wAA + AP8AAAD/QEBB///////29vb/6+vr/9zc3P/ExMT/oqKi/2pqav8sLCz/MzMz/zw8PP9AQED/DAwW/wAA + DP8AAA3/AAAM/wAADP8AAAv/AAAJ/wYGC/8ICAn/Dg4O/xMTE/8ICAj/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD+AAAA9wAAAOcAAADMAAAAsAAAAZsBAQGbAgIGwwMDCfUCAgf/AgIG/wIC + BP8BAQL/AQED/wMDCP8GBg7/BQUP/wQECv8HBxX/DQ0l/w0NJv8NDST/Dg4h/w4OHv8MDBr/p6ep/8nJ + yf+7u7v/tra2/729vf+6urr/srKy/5ubm/9zc3P/UFBQ/0BAQP8qKir2AAAA1wAAAMAAAACjAAAAggEB + AmEEBAhFCgoULhISJh0lJUwTQECBDi0tWxYYGDAqDQ0aRwcHD28EBAigAgIExkZGRun+/v7//v7+//T0 + 9P8lJSX/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD9AAAA/QAAAPwAAAD6AAAA+wAAAPsAAAD8AAAA/QAA + AP4AAAD/AAAA/wAAAP8BAQL/AgIG/wMDCv8GBhD/CAgX/wcHFf8EBAr/AgIH/wICBf8BAQT/j4/O/5SU + 0P+WltH/jo7N/29vwP9NTbD/Pj6q/zY2mP8wMIj/Kip3/yIiYf8ZGUj/EBAt/w8PKv8PDyr/Dw8q/w8P + Kv+NjZn0/v7+/729wf+Pj5X/a2t0/zs7R/8iIi//GRkn/xQUIv8TEyH/EhIg/xERH/8RER//EREf/wAA + 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 + /v/+/v7/i4uL/zAwMP4AAAD8AAAA/AAAAPwAAAD9AAAA/AAAAPwAAAD8AAAA/QAAAPwAAAH+AAAB/wAA + Af8AAAD/AAAA/wAAAP8AAAH/AAAB/wEBAv8BAQP/AgIF/wICB/8DAwn/AwMI/wICBP8BAQP/AQED/wEB + A/+Tk8//mJjR/5eX0f+Pj83/cXHA/1lZtf9WVrT/S0uv/z4+qP86Op3/ODiX/zU1j/8yMoj/MjKH/yoq + cP8aGkf/EBAr/4eHlf/9/f3/rKyy/3p6g/9ZWWT/Kys5/xISIv8ODh7/DQ0d/w0NHf8NDR3/DQ0d/w4O + Hv8MDBz/AAAQ/wsLFf8UFBj/JCQm/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD3AAAA5gAAAMkAAACjAAAAcwAAAEcAAAAmAAAADwAAAAMAAAAAAAAAAAAAAADNzekCwcHaEMvL + 5UXMzOfNzMzn/cvL5v/GxuT/trbX/5iYwv90dKb/VVWO/0BAev82NnL/NDR2/zc3g/88PJL/QUGg/z4+ + pf9eXqv/y8vd/0dHbf8QECv/EBAr/8PDyv/4+Pj/5ubm/9bW1v+7u7z/hISF/0ZGRv82Njb/QEBA/y8v + L60AAACBAAAArAAAAM4AAADnAAAA9gAAAP4AAAD/AAAA/wEBAfsMDA77JCQp/z4+Sf9WVm3/TU2C/zMz + if80NIv/NDSL/ysrc/8QECv/EBAr/xAQK/8QECvOEBArS////zD////Q/v7+//f39//v7+//4+Pj/87O + z/+ysrP/f3+A/zs7O/8wMDD/Nzc3/z8/P/9PT1r/gIC7/29vof+rq6v/ZGRn/yYmKv8NDRD/BAQF/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAB/wAAAv+QkJL///////X19f/r6+z/29vc/729vf9/f4D/ODg4/zo6 + Ov8gICn/AAAQ/wgIFv8AAA//AAAQ/wAAEP8AABD/AAAO/wgIEf8ODhD/HBwd/yoqKv8SEhL/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAPMAAADmAQED3gUFDe0HBxP/BQUO/wMD + CP8CAgT/AQEC/wAAAP8AAAD/AAAA/wAAAf8AAAH/AQEB/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/7i4 + uP/S0tL/ycnJ/8HBwf+1tbX/rq6v/6mpqv+fn6D/ioqL/3l5ef9vb2//Xl5e+wkJCbAAAACSAAAAdQAA + AFgAAAA+AAAAJwAAABYHBw8MHh48BklJkgVcXLcGW1u2CC4uWxIXFy4kDQ0aQAcHDmUEBAeSAgIEt0pK + TN7+/v7//v7+/2RkZP88PD3+AAAB8gAAAfIAAAHyAAAB8wAAAPMAAAH1AAAB+AAAAf0AAAH/AAAB/wAA + Af8AAAD/AAAA/wAAAP8AAAH/AAAB/wEBA/8CAgT/AwMH/wMDCf8EBAr/BAQL/wQECv8CAgb/AgIF/wIC + Bf8CAgb/jo7N/4+Pzf+Sks7/i4vL/3JywP9bW7b/XFy2/1dXtP9KSq7/Pj6k/zo6m/84OJX/OjqZ/0FB + qv88PKD/MzOH/yUlYv+Kipv//f39/6+vtP+BgYn/XV1o/y4uPf8VFSb/DQ0e/wgIGf8KChv/CQka/wsL + HP8MDB3/DAwd/wAAEf8LCxb/FBQY/yQkJv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA9wAAAOYAAADJAAAAowAAAHMAAABHAAAAJgAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAVJS + XQWRkaQRs7PLNsLC263GxuD0xsbg/7292f+ursz/k5O3/3Fxnv9VVYn/RER//z09gP89PYv/QECX/0VF + ov9ISKr/QECp/zg4lP9GRoP/GRlD/xAQK//Dw8r/+Pj4/+Li4v/Ozs//t7e4/3d3d/8zMzP/NjY2/0BA + QP8xMTGmAAAAdAAAAKEAAADHAAAA4gAAAPQAAAD9AAAA/wAAAP8AAAD6CQkK9iIiJ/s/P0r/XV1w/2ho + jv9dXZ3/XV2r/1dXsf89PaL/Hh5P/xAQK/8QECv/EBAr4xAQK3sQECsB////AP///6D+/v7/9/f3/+7u + 7v/g4OH/ysrL/62trv9zc3P/LS0u/zIyMv85OTn/QEBA/1tbf/+5ucD/mpqc/0lJTf8dHSH/CwsO/wMD + Bf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAL/EBAV/+Dg4f/8/Pz/8/Pz/+jo6f/R0dL/nZ2e/0JC + Qv86Ojr/PT0+/wUFFv8AABH/AAAR/wAAEP8AABH/AAAR/wAAD/8JCRH/Dw8S/x8fIf8yMjL/FhYW/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPwAAAD3AAAB8AMDBvMFBQ39BQUN/wMD + Cf8CAgX/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Hx8f/2xs + bP+bm5v/w8PD/8LCwv+8vLz/tLS1/6+vsP+oqKn/l5eY/4aGhv96enr/cXFx/y0tLboAAACEAAAAbAAA + AFEAAAA5AAAAJAAAABUAAAAKEREkBSwsWgJcXLYDXFy3BVxctwcuLlsQGBguIA8PHToICBFaBQUKgwMD + BqVQUFHP/v7+/+Xl5f9HR0f/QEBA/wEBAt0BAQLdAAAB3AEBAd8BAQPoAgIF9AICBfwBAQT+AQED/wEB + Af8AAAH/AAAA/wAAAP8AAAD/AAAB/wEBA/8DAwb/BQUK/wcHD/8ICBP/CAgV/wkJF/8HBxP/BAQM/wMD + Cf8EBAr/BAQK/4uLzP+IiMr/iIjK/4CAx/9kZLr/UVGy/1patv9aWrb/VFS0/0RErP87O5z/NTWM/0BA + qP9RUbL/TU2w/0JCrP86Opr/lpa8//7+/v+3t73/h4eQ/11daf8xMUD/HR0u/xYWJ/8NDR//CAga/wUF + GP8ICBr/BwcZ/wgIGv8AABL/CgoW/xQUGP8kJCb/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPcAAADmAAAAyQAAAKMAAABzAAAARwAAACYAAAAPAAAAAwAAAAAAAAAAAAAAAAAA + AAIAAAAFEhIVC0JCShaIiJk3s7PKl76+1+e+vtf/ubnS/6urx/+UlLf/enql/2JimP9RUZX/S0uZ/0hI + of9HR6j/TEyt/0tLsP9YWLP/8/P4/3p6o/8RES7/w8PK//j4+P/h4eL/zMzN/7S0tf9fX2D/MDAw/zY2 + N/9AQED/MzMzoQAAAGwAAACaAAAAwgAAAOAAAADzAAAA/QAAAP8AAAD/AAAA+gQEBfAdHSH0Pz9J/mBg + cv9zc5P/Zmai/2Njrv9ycr7/YWG5/01NsP8nJ2b/EBAr/xAQK/QQECuoEBArEv///wD///8A////sP7+ + /v/19fb/6+vs/9zc3P/ExMT/o6Ok/19fYP8vLzD/NTU1/z09Pf9FRUf/ycnJ/3Jyd/80NDn/FRUa/wgI + DP8DAwT/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAH/AAAC/wAABf9AQEb///////r6+v/x8fL/5OTk/8LC + w/9cXF3/Ojo6/0BAQP8nJzD/AAAT/wAAEv8AABL/AAAS/wAAEv8AABD/CQkT/w8PEv8iIiP/ODg4/xoa + Gv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD8AAAA+QEBA/gDAwj9BAQK/wMD + Cf8DAwf/AQEE/wEBAv8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ICAg/56e + nv+ysrL/sLCw/729vv/AwMD/urq7/7W1tv+xsbL/oqKi/5GRkv+Ghob/gICA/2BgYNoAAAByAAAAXAAA + AEcAAAAyAAAAIAAAABMAAAAJAAAABAAAAAFAQEAAXV23AWBguQNfX7gGMjJjDRwcNxsPDx4wCgoTTAUF + C24DAwiLWVlcuv7+/v/Hx8f/QEBA/zQ0NO8BAQO+AQEDwAMDB8sEBAviBQUO9AYGD/wFBQ3+AwMJ/wIC + Bv8BAQP/AAAB/wAAAP8AAAD/AAAA/wAAAf8CAgX/BQUK/wkJE/8ODh3/EREl/xAQKf8QECr/DAwf/wkJ + F/8GBg//BgYQ/wYGEf+Sks//k5PP/46Ozf+Cgsj/YGC4/0pKr/9VVbP/W1u2/1tbtv9SUrL/PT2d/z09 + nv9PT7H/VVW0/1VVs/9SUrL/TEyv/5+f0v/+/v7/u7vB/4qKk/9eXmv/MTFB/yEhMv8fHzH/GRkr/xAQ + I/8KCh3/Bwca/wQEGP8GBhr/AAAT/wsLF/8UFBj/JCQm/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMkAAACjAAAAcwAAAEcAAAAmAAAADwAAAAMAAAAAAAAAAAAA + AAAAAAADAAAACAAAAA8JCQoXDQ0PH2dndT6jo7iGt7fP2Ly81fq5udP/sLDM/6Cgwv+Li7f/c3Ov/2Fh + q/9UVKv/TU2r/0xMr/9PT7H/jo7M/9DQ6f9bW6D/KSlp/8TEzf/5+fn/5eXl/9TU1f+4uLn/UFBR/zAw + Mf83Nzf/QEBA/zMzM6AAAABoAAAAmAAAAMAAAADfAAAA8wAAAP0AAAD/AAAA/wAAAPoBAQHsExMW5zs7 + RfZiYnL/enqX/2xspP9YWKr/Z2e4/2Vluv9gYLj/ICBS/xERK/8RESv9ERErzBERKzP///8A////AP// + /xD////g+/v7//Ly8v/m5uf/09PU/7q6u/+Kiov/QEBA/zIyMv85OTn/QEBA/3p6fP9QUFf/IyMr/w8P + Ff8GBgn/AgIE/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wAAA/8AAAX/AAAJ/5CQlf//////+fn5//Dw + 8P/a2tv/i4uM/zk5Ov9AQED/JiYy/w0NIP8AABT/AAAT/wAAE/8AABP/AAAR/wkJE/8QEBT/IyMl/zs7 + O/8dHR3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwMD/wAAAP8AAAD+AAAA+wAAAfoCAgX8AwMJ/wQE + C/8EBAv/BAQK/wICBv8BAQP/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAH/IyMk/7Cw + sP++vr7/ubm6/7q6uv+9vb3/vLy9/7q6u/+1tbb/rKyt/5ubnP+RkZH/jIyM/3l5ee4TExNoAAAASgAA + ADgAAAAoAAAAGgAAABAAAAAIAAAAAwAAAAFAQEAAQEBAAEBAQABgYLgCYGC5BDg4bgohIUIWEhInJQoK + GDoGBhBUBAQKa19fYZ739/f/urq6/0BAQP8+Pj75BAQMqAgIE8UKChrlCwsc9gsLHf4LCx3/Cgoa/wcH + E/8FBQz/AwMH/wEBAv8AAAD/AAAA/wAAAf8BAQP/AwMJ/wgIEv8PDx//GBgv/x4ePP8gIEX/GhpD/xYW + Of8QECn/CQkW/wkJGP8KChn/lpbQ/5mZ0v+ZmdL/jo7N/2lpvf9MTLD/UVGy/1hYtf9hYbn/VFSz/z4+ + n/9NTbD/VVW0/1ZWtP9YWLX/V1e1/1VVtP+oqNn//v7+/76+xP+Ojpf/YGBt/y8vQP8gIDL/IiI0/yQk + Nv8fHzH/FhYp/xAQJP8JCR3/Bwcb/wAAE/8LCxf/ExMX/yUlJ/9AQED/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAAAHMAAABHAAAAJgAAAA8AAAADAAAAAAAA + AAAAAAAAAAAAAwAAAAsAAAAUAAAAHQAAACYAAAAqUVFcPZycsHO4uNDIwMDZ88HB2/+7u9f/r6/R/5yc + yv+EhML/bW26/1tbtP9SUrL/UFCy/05Osf9DQ6z/PT2d/zs7mP/Kytz/+Pj4/+Xl5f/W1tf/vb2+/1lZ + Wv8xMTH/Nzc3/0BAQP8zMzOgAAAAaAAAAJgAAADBAAAA3wAAAPMAAAD9AAAA/wAAAP8AAAD6AAAA6wkJ + C9syMjrnYWFy/X9/mf93d6r/Tk6m/0VFqv9nZ7z/Y2O6/yAgU/8RESv/EREr/xERK+IREStoAAAAAQAA + AAEAAAAB////QP/////39/f/7e3t/97e3//Jycn/ra2u/2VlZf8xMTH/NjY3/z4+Pv9PT1L/NzdB/xoa + I/8LCxH/BQUI/wICA/8AAAH/AAAA/wAAAP8AAAD/AAAB/wAAAv8AAAP/AAAG/wEBCv8CAhD/wsLH//// + ///4+Pj/7e3u/9bW1/9HR0f/QEBA/ycnNf8aGi3/Cgoe/wAAFP8AABT/AAAU/wAAEv8JCRP/EBAU/yMj + Jv8+Pj7/Hx8f/wAAAP8AAAD/AAAA/wAAAP8AAAD/BQUF/yEhIf8VFRX/BwcH/gAAAfsCAgX8BAQJ/gUF + D/8HBxP/CQkU/woKFP8HBxD/BAQL/wICBv8BAQT/AQEC/wEBAv8BAQL/AQED/wQEBv8GBgj/MzM3/8XF + xf/c3Nz/1dXV/8jIyf/Gxsb/vb2+/7q6u/+5ubr/tLS1/6Wlpv+bm5v/lZWV/4mJifY7OztuAAAAOgAA + ACoAAAAeAAAAFAAAAAwAAAAGAAAAA4+PjyFLS0tAQEBAQEBAQEBAQEBAQUFCQUFBREI/P0RGOztCTDY2 + PFMvLzZfKysxa0hIS3eLi4yg6Ojo/7y8vP9RUVH/QEBA/x0dLdwRESruExMw/xQUNP8aGjb/Fxc1/x4e + M/8QECT/CAgV/wQECv8CAgP/AAAA/wAAAf8BAQL/AwMH/wcHEf8NDR7/FhYv/yYmRf8vL1n/Ly9k/yYm + Yf8lJV7/Fxc7/wwMHv8MDB//DQ0g/5WV0P+YmNH/mJjR/5CQzv9vb7//UFCx/1BQsv9VVbP/ZGS6/0RE + q/89PZr/Vla0/1dXtP9XV7T/WVm1/1lZtf9ZWbX/q6vZ//7+/v+/v8T/hoaQ/zo6S/8AABL/AAAO/wAA + D/8AABH/AAAS/wAAE/8AABP/AAAU/wAAFP8AABL/CAgR/xISFv8mJij/QEBA/xwcHP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAAAKMAAABzAAAARwAAACYAAAAPAAAAAwAA + AAAAAAAAAAAAAAAAAAQAAAAMAAAAFwAAACEAAAArAAAALwAAAClGRk4wn5+0Xb+/2LXJyeLsycnk/8XF + 4v+7u97/qanX/46OzP90dMD/YWG5/1ZWtP9QULL/RESr/0REq/9ERKz/zs7k//f39//k5OT/1dXW/8HB + wv9xcXL/MjIy/zc3N/9AQED/MzMzoAAAAGoAAACZAAAAwgAAAOAAAAD0AAAA/QAAAP8AAAD/AAAA+gAA + AOsDAwTUIiIn0F1dbPGCgpr/ioqx/2hosf9ISKv/cHDA/2Rkuv8oKGX/EREr/xERK/8RESvwEREqnwsL + GwsDAwkFAAAABAAAAAP////A/Pz8//Ly8v/m5ub/09PU/7u7vP+EhIX/OTk5/zU1Nf88PDz/QEBA/ycn + Mv8UFBz/CQkO/wQEB/8BAQP/AAAB/wAAAP8AAAD/AAAA/wAAAf8BAQL/AQEF/wMDCv8ICBL/FRUi/zU1 + RP/a2t3//v7+//n5+f/v7+//ioqK/0BAQP8nJzb/Hx8y/xYWKv8EBBr/AAAV/wAAFf8AABP/CAgU/w8P + E/8jIyX/Pj4+/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/09PT/83Nzf/Jycn/yMjI/8bGxv/DAwQ/ggI + Ev8LCxv/EBAj/xQUKP8UFCj/EREj/wwMHP8ICBP/BQUN/wQECv8DAwj/AwMI/wUFDP8ODhX/b29y/6Sk + p//09PT/+vr7/+Li4//Q0NH/xsbH/729vv+5ubr/tra3/6qqq/+ioqL/np6e/5iYmP9paWmFAAAALAAA + AB8AAAAUAAAADQAAAAcAAAAEAAAAAgAAAAHDw8Pwe3t7/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA + QP9AQED/QEBA/0BAQP9paWn/ra2t/9ra2v/AwMD/aGho/z4+P/4fHzv9GRlA/x0dSf8mJk7/Pj5B/zg4 + RP88PED/ODg9/w4OHv8FBQ7/AgIE/wAAAf9XV1j/Hx8i/wYGDf8cHCf/ExMr/x0dQf8/P0L/Pj5z/zAw + eP8uLnX/MDB7/xwcSP8ODiT/Dg4k/w8PJf+VldD/mZnS/5mZ0v+QkM7/cHDA/1VVtP9UVLT/V1e1/1xc + t/9AQJ//QkKm/1dXtf9XV7X/V1e1/1hYtf9ZWbb/WVm2/4+Pvv+tra3/VVVb/yEhKv8HBxD/AAAG/wAA + Bv8AAAb/AAAI/wAACv8AAAz/AAAO/wAAEP8AABL/AAAQ/wYGC/8TExf/KCgq/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMkAAACjAAAAcwAAAEcAAAAmAAAADwAA + AAMAAAAAAAAAAAAAAAAAAAADAAAACwAAABQAAAAdAAAAJgAAACoAAAAlAAAAG0VFThuwsMdCzMzln8/P + 6ejPz+n/y8vn/8LC5P+xsd3/lpbR/3p6xP9lZbv/U1Oz/0ZGrf9RUbL/T0+y/9DQ6f/z8/P/4uLi/9bW + 1v/ExMT/hYWF/zIyMv84ODj/QEBA/zMzM6AAAABoAAAAlwAAAMAAAADfAAAA8wAAAP0AAAD/AAAA/wAA + APoAAADrAAAA0RERFL1QUFzVhISa/ZeXt/+NjcL/dnbA/3p6xP9VVbT/MTF7/xYWNv8RESr/EREq+hAQ + KcsMDB4nAwMIEAAAAAsAAAAI9vb2U//////19fX/6urq/9zc3P/Hx8f/nZ2d/1NTU/80NDT/Ojo6/0BA + QP8kJCz/DQ0V/wYGC/8DAwb/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAH/AQED/wMDB/8LCxH/HBwm/zY2 + Qf9ZWWT/fn6I//X19v///////f39//Dw8P9AQED/JCQ1/yIiNv8fHzP/EBAm/wAAF/8AABb/AAAU/wgI + FP8ODhP/ISEk/zw8PP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP/c3Nz/wcHB/1RUVP8sLCz/KSkp/yUl + Jf8bGyD/ExMs/xwcOv8hIUL/ISFF/x4eQP8ZGTf/EhIs/w4OIv8LCxv/CQkX/wkJF/88PEb/Hx8w/01N + XP9ERFP+8PDx//r6+v/n5+f/29vb/8/Pz//Dw8P/u7u7/6+vr/+mpqb/o6Oj/6Ghof95eXl8AAAAIAAA + ABUAAAANAAAABwAAAAMAAAACAAAAAf7+/gD+/v4A/f39/8TExP9/f3//Ozs7/zk5Of85OTn/OTk5/zk5 + Of85OTn/Ojo6/zs7O/89PT3/ampq/6Ojo//U1NT/zc3N/5aWlv9ZWV7/Pj5B/zo6R/89PUX/Pz9D/0BA + QP9AQED/NzdH/zMzPv8NDSD/BwcQ/wICBf8ICAn/CQkL/wQECf8XFyD/VFRU/zAwPv86OkX/OTld/0ND + hf80NIL/OTmR/zk5jv8gIFH/EBAo/xAQKP8QECn/lpbQ/5mZ0v+ZmdL/kZHO/3V1wv9eXrf/Zma7/11d + t/9NTbD/QkKg/09Psf9ZWbX/WVm1/1hYtP9YWLX/WVm1/1patf+Tk8D/t7e3/1lZX/8lJTD/CgoX/wAA + Df8AAAz/AAAN/wAADv8AABD/AAAR/wAAEv8AABP/AAAW/wAAEv8GBgv/ExMX/ykpK/9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAAAHMAAABHAAAAJgAA + AA8AAAADAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAPAAAAFgAAAB0AAAAfAAAAHAAAABUAAAANVlZhDMXF + 3SXQ0OqJ0NDq6NDQ6v3Ozun/xsbm/7e33/+entT/f3/G/1lZtf9sbL3/g4PH/1ZWtP/e3vD/7+/v/+Hh + 4f/X19f/yMjI/4uLi/8/Pz//ODg4/0BAQP8zMzOkAAAAZgAAAJUAAAC+AAAA3QAAAPIAAAD9AAAA/wAA + AP8AAAD6AAAA6wAAANEFBQWxNzc/sIGBlu2enrr/o6PL/5ub0P+Pj83/YGC4/zs7j/8eHkj/EhIq/xER + Kf8RESjoDg4hWgMDBx0AAAAUAAAADwAAAAr////w+Pj4/+7u7v/h4eH/z8/P/7Gxsf9ra2v/MzMz/zk5 + Of9AQED/KSku/wgID/8EBAn/AgIE/wEBAv8AAAD/AAAA/wAAAP8AAAD/AAAB/wEBA/8DAwj/FBQb/zc3 + P/9kZGz/kJCX/6amrf+jo6v/9vb3///////+/v7/cnJy/y8vOv8kJDn/JSU6/x8fNP8NDST/AAAX/wAA + Ff8GBhP/DQ0S/x4eIf83Nzj/JCQk/wAAAP8AAAD/AAAA/wAAAP8AAAD/lpaW/+jo6P+rq67/MjI0/yoq + K/8vLy//Gxsq/x0dPf8oKFL/Ly9e/zIyZf8vL2L/KipZ/yQkTf8dHUT/GBg6/xQUMv8hITT/LS0//zg4 + UP9ubnr+WFhs9YiIkt7+/v7/8PDw/+bm5v/a2tr/zMzM/7u7u/+vr6//q6ur/6enp/+Hh4d0AAAAFgAA + AA4AAAAHAAAABAAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/v/6+vr/v7+//3x8fP85OTn/NDQ0/zQ0 + NP80NDT/NDQ0/zQ0NP82Njb/Ojo6/2pqav9qanb0mZml/tXV1/+qqrT/MjJr/3p6fv9AQED/Pz8//zw8 + PP88PDz/Pj4+/0BAQP87Oz//Dw8k/wgIEv8CAgX/DAwN/wICBf8GBg3/DQ0b/ygoOf8+PkH/Pj5K/0FB + af8/P5H/PDyQ/0tLp/8/P5j/IyNX/xISKv8SEir/EhIq/5aW0P+YmNL/mJjS/5aW0f94eMP/Zma7/2Vl + u/9dXbf/RUWo/0VFpv9TU7P/WVm2/1patv9aWrb/WVm2/1patv9aWrb/rKza//7+/v/IyM7/nJyl/11d + bP8QECf/AAAX/wAAF/8AABf/AAAX/wAAF/8AABf/AAAX/wAAF/8AABT/CAgQ/xQUGP8pKSv/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAAAKMAAABzAAAARwAA + ACYAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAIAAAAFAAAACgAAAA8AAAATAAAAFQAAABIAAAAOAAAACQAA + AAQAAAAB0NDqDtDQ6mnQ0Ori0NDq+87O6f/Jyef/u7vh/5yc0/99fcb/7e32//7+/v/r6/X//v7+/+3t + 7f/e3t//1dXV/8jIyf+Ojo7/QEBA/zg4OP9AQED/Ly8ztwEBA2kAAACSAAAAvAAAANwAAADxAAAA/QAA + AP8AAAD/AAAA+gAAAOsAAADRAAAArRwcIZVycoS/oqK9/7Cw0f+ystv/oqLW/3Z2wv9ERKX/KChf/xER + Kv8RESn/EBAo8g4OI5gEBAkrAQEBHgAAABYAAAAO/Pz8svv7+//w8PD/5OTl/9TU1f++vr//e3t7/zMz + M/84ODj/Pz8//ycnK/8GBgz/AwMG/wEBA/8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAv8BAQT/BgYL/x4e + Jf9XV13/mZmd/4yMjf+xsbP/v7/F/6Skrf/19fb//////7S0tP8kJDD/FhYt/yEhN/8iIjj/ISEz/wQE + Hf8AABb/AwMQ/w0NFP8aGh3/MjIz/zw8PP8EBAT/AAAA/wAAAP8AAAD/AAAA/xAQEP/o6Oj/xcXK/1JS + Wf8kJCb/MjIy/zY2Nv8pKUX/MjJj/zs7dv9AQIH/QUGD/z4+cf89PVf/PT1L/zY2UP8rK1L/QEBA/z4+ + Qf9DQ1X+j4+P/4+Pmc0GBg9p+fn59fj4+P/t7e3/4uLi/9bW1/++vr7/tbW1/6+vr/+WlpZsAAAADgAA + AAgAAAAEAAAAAgAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7/9PT0/9/f3//Dw8T/f3+A/1RU + VP9OTk7/Tk5O/0lJSf8xMTH/MzM0/zc3N/9CQkL/OTlX/yMjVf9wcJH/pKS1/zg4iP+bm7H/Q0ND/zo6 + Ov83Nzf/Nzc3/zo6Ov8/Pz//LS0//xISJv8JCRL/AwMG/wEBAf8DAwb/CAgQ/xYWJP8jIzr/OjpJ/0BA + Tf9HR43/PT2U/0FBnf9RUa//QUGc/yUlWf8SEiz/EhIs/xISLP+VldD/mZnS/6Cg1f+entT/e3vE/15e + uP9gYLj/VFSz/0VFpf9KSq//VFSz/1patv9bW7b/W1u2/1tbtv9cXLb/XFy2/62t2v/+/v7/ycnP/5+f + qf9sbHv/JSU7/wEBG/8AABn/AAAY/wAAGP8AABj/AAAY/wAAGP8AABj/AAAU/wsLFv8UFBj/Kios/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMkAAACjAAAAcwAA + AEcAAAAmAAAADwAAAAMAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAHAAAACgAAAAoAAAAJAAAABwAA + AAQAAAACAAAAAdHR6gHR0eoI0dHqSNHR6s3R0er50NDq/8jI5/+1td7/qKjY/66u2//+/v7//v7+//39 + /f/v7/D/4ODh/9PT1P/Gxsf/ioqL/z8/P/85OTn/QEBA/ykpMuYFBQuAAAABkQAAALoAAADaAAAA8AAA + AP0AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0ICAmFT09biKGhuu63t9T/vr7g/7Oz3f+Ojs3/WVm0/zIy + eP8TEy7/EBAo/xAQJvoPDyTQBQUMPQEBAicAAAAbAAAAEvf394T+/v7/8vLy/+fn5//Y2Nn/xMTF/4iI + if9AQED/ODg4/z4+Pv8yMjT/BAQJ/wICBf8BAQL/AAAB/wAAAP8AAAD/AAAA/wAAAf8AAAL/AgIF/wwM + Ef8vLzX/f3+D/7u7u/8PDw//ubm5/+Dg4/+0tLz/goKP/9ra3v/+/v7/Tk5b/xAQKP8bGzH/KCg6/0BA + QP82Njz/CAgc/wICFP8ODhn/Fxcb/y0tL/9AQED/HBwc/wAAAP8AAAD/AAAA/wAAAP8MDAz/e3t7/4WF + iP9SUln/KCgq/zMzNP89PT3/ODhG/z09Uv9BQVH/QUFK/0BAQP9AQED/QEBA/0BARP89PVT/OTlW/0BA + QP9AQED/Q0ND/4aGhv+wsLHFZWVmUfDw8Mz/////9fX1/+zs7P/p6er/ycnJ/7u7u/+mpqZnAAAABwAA + AAQAAAACAAAAAf39/QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+//X19f/n5+f/2tra/8bG + x/+pqar/nJyd/5iYmf+RkZH/b29w/zIyMv82Njb/Ozs7/z4+V/8wMHP/c3OU/6iorf9lZaz/vr7K/1xc + XP86Ojr/T09P/zMzNP83Nzf/PDw8/0BAQP8jIzD/ISEm/ykpKv8kJCX/Hh4f/zY2N/9AQED/QEBA/0BA + QP9AQED/QEBT/z09k/9HR6f/U1Ow/0JCnf8mJln/EhIs/xISLP8SEiz/lpbR/5+f1f+oqNn/oKDV/3p6 + xP9eXrj/XFy3/0pKrv9NTbD/UVGy/1VVtP9aWrb/W1u3/1tbt/9cXLf/XFy3/11dt/+urtv//v7+/8jI + zv+fn6n/bm5+/zExSP8UFC7/CAgj/wAAG/8AABr/AAAa/wAAGv8AABr/AAAa/wAAFv8LCxb/FBQZ/yoq + LP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAA + AHMAAABHAAAAJgAAAA8AAAADAAAAAAAAAAD6+vowuLi4kAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAgAA + AAIAAAABAAAAAQAAAAEAAAACNDQ7BJWVqA7AwNg9ysrjrszM5e/IyOT/xMTk/8LC5P+yst3/7Oz3//// + ////////9PT0/+jo6P/Z2dr/yMjJ/4eHiP8/Pz//OTk5/0BAQP8oKDL8CgoXwwICBqEAAAC4AAAA2QAA + APAAAAD9AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAgICgSwsM2mSkqirurrW/8bG4//AwOP/pKTX/3R0 + wf8+PpT/HBxD/xERKP8QECb/Dw8k7gkJFVsCAgYuAAAAHgAAABXl5eVZ//////Pz8//p6en/3Nzc/8nJ + yv+Tk5T/SkpK/zg4OP8+Pj7/MTEz/wMDBv8BAQP/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAH/AQED/wUF + Cf8VFRn/RkZK/6urq/9bW1v+AgID/r29vv/t7e//wcHI/4yMmf9ZWWv/q6u0//7+/v/+/v7/m5uc/0tL + Tf9AQED/QEBA/zw8Pv8lJS//Dw8c/xUVGv8rKy3/QEBA/yAgIP8AAAD/AAAA/wAAAP9FRUX/R0dH/8PD + w/9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QUFF/0FBRv8+Pj7/Pz8//0BAQP9AQED/Pz9O/z8/ + YP9AQED/Pj4+/z4+Pv+Dg4P/r6+v/2ZmZij9/f3x/f398f7+/v/7+/v//f39/9DQ0PC6urpTAAAAAgAA + AAHW1tYA6enpAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP/////4+Pj/8PDw/+np + 6f/e3t7/1NTU/9DQ0f/Nzc7/ysrL/8TExf+ampr/VFRU/zk5Of9NTU3/fX2S/6ampv+ysrL/zc3N/83N + zv+CgoL/hYWG/3d3d/9XV1f/Ozs7/zo6Ov9AQED/NTU6/0BAQP9AQED/QEBA/2FhYf+Li4v/lJSU/4OD + g/9YWFj/QEBA/0BAQP9ERJv/TU2p/1RUsf9CQpz/JiZZ/xMTLP8TEyz/ExMs/5qa0v+lpdf/qKjY/5ub + 0v92dsL/XV23/1NTs/9MTK//U1Oz/1NTsv9UVLP/W1u2/1tbtv9bW7b/W1u2/1tbtv9bW7b/rq7b//7+ + /v/Hx87/nZ2o/2trfP8xMUj/HR03/xkZM/8NDSn/AAAd/wAAG/8AABr/AAAb/wAAGv8AABb/CgoW/xQU + Gf8qKiz/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAA + AKMAAABzAAAARwAAACYAAAAPAAAAAwAAAAAAAAAA/v7+QO7u7v+pqakwAAAAAAAAAAAAAAAAAAAAAAAA + AACUlJQA2NjYAPv7+wAAAAACAAAABQAAAAkAAAANQ0NMGZWVqD+5udGWwcHc5MjI4v/MzOb/x8fm/7i4 + 4P+goNX/4eHy//f39//s7Oz/39/f/8zMzf+Hh4j/PT09/zk5Of9AQED/KCgy/wwMG/MGBg7LAQECwgAA + ANkAAADwAAAA/AAAAP8AAAD/AAAA+gAAAOsAAADRAAAArgAAAIEQEBJabW19abe30efHx+L/xsbk/7S0 + 2/+MjMr/Tk6s/ykpX/8SEij/EREm/xAQJPkMDB2HBQULNgAAACIAAAAcxMTEU/7+/v/09PT/6enq/97e + 3//Nzc3/mZma/1BQUP84ODj/Pj4+/zExMv8CAgT/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wIC + Bf8KCg7/ICAk/2BgYf+RkZH/AQEB/gQEB/7AwML/8vLz/8LCyP+NjZn/UVFk/yIiO//i4ub///////7+ + /v/+/v7/tbW1/0FBQf9AQED/PDw+/xAQH/8XFxz/LCwu/0BAQP8QEBD/AAAA/wAAAP8AAAD/ICAg/2Ji + Yv/m5ub/R0dI/0BAQP9AQED/Pz8//zw8Pf87Ozv/Ojo6/zo6Ov85OTn/OTk5/zo6Ov88PDz/Pj4//0FB + c/5oaGz9YWFh/zo6Ov87Ozv/aGho/52dnbMAAAAI/f390f7+/vD+/v7//v7+//39/aDR0dEhzc3NANDQ + 0ADd3d0A8fHxAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD///8A////AP///wD//////Pz8//b2 + 9//y8vL/6urr/+Xl5f/k5OT/4uLi/+Dg4P/d3d3/3Nzc/9DQ0P+AgID/bm5u/52dnf+0tLT/tra3/87O + z/+3t7f/oaGi/729vf+goKH/hoaH/4WFhf+NjY7/hISE/yIiNP+lpaX/o6Oj/62trv/g4OH/+Pj4//r6 + +v/y8vL/ubm5/2tra/9AQED/R0eZ/01Npv9SUq//Q0Ob/yYmWf8TEyz/ExMs/xMTLP+fn9X/paXX/6Oj + 1v+Sks//dXXC/1dXtf9LS63/UVGy/1ZWtP9VVbT/VVW0/1hYtf9ZWbb/Wlq2/1patv9ZWbb/WVm2/6ys + 2v/+/v7/x8fO/52dqP9sbH3/NDRM/yEhO/8hITv/HBw3/xMTL/8EBCL/AAAd/wAAHP8AABv/AAAX/woK + Fv8UFBn/Kios/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH6AAAB6gAA + AcsAAACjAAAAcwAAAEcAAAAmAAAADwAAAAMAAAAAAAAAAP7+/kD+/v7/5eXlMAAAAAAAAAAAAAAAAAAA + AAAAAAAAnp6eAL+/vwAAAAABAAAABAAAAAsAAAATAAAAHAAAACMZGRwqZWVzQ6Ojuoi9vdXWycni/8zM + 5f/Jyef/vLzi/+jo9f/5+fn/7e3t/+Hh4f/Pz8//iIiI/z4+Pv86Ojr/QEBA/ygoMv8MDBz/CAgS8AMD + B9gAAAHdAAAA8AAAAPwAAAD/AAAA/wAAAPoAAADsAAAA1AAAALIAAACHAgIDXTIyOU2hobiivb3X+b+/ + 2v+3t9f/nZ3K/2lpsv8yMnb/EREn/xAQJf8QECT9Dg4hvAYGDkcAAAEvAAAALKKiomT+/v7/9PT0/+rq + 6v/f39//z8/P/56env9UVFT/ODg4/z4+Pv8xMTH/AQEC/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wEB + A/8FBQj/EREU/y8vMf9tbW3/Ly8v/gICBP0ICAz+wsLF//Hx8v+9vcX/ioqY/1FRZf8iIjz/JSU+/5qa + pf////////////7+/v/+/v7/fX19/zU1Ov8UFCL/Gxsg/zAwMv9AQED/AAAA/wQEBP8cHBz/GBgY/zQ0 + NP9UVFT/qqqq/5mZnf9sbHX/QEBC/19fX/9PT0//QEBA/zw8PP9GRkb/T09P/09PT/9TU1P/XFxc/2Vl + Zf9RUX7fk5OT/7Gxsf9lZWX/SUlJ/2FhYf+RkZGw3NzcAP7+/pD+/v7//v7+//7+/sD+/v4g6urqAOTk + 5ADq6uoA+fn5AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A////AP///wD///8A//////// + ///7+/v/9/f3//Ly8v/w8PD/7+/v/+/v7//u7u7/7e3t/+7u7v/u7u7/6enp/+Tk5P/U1NT/srKy/52d + nf+vr6//gYGB/5qamv/Gxsb/t7e3/6qqqv+6urr/1tbW/+jo6P97e4X/wcHE//7+/v/9/f3/+/v7//7+ + /v/+/v7//v7+/8fHz/+9vb3/aGho/0ZGkv9NTaT/UlKu/0NDmv8lJVb/ExMs/xMTLP8TEyz/mJjR/5eX + 0f+Tk8//i4vM/3FxwP9MTK3/TU2v/1JSsv9WVrT/VVWz/1dXtP9YWLX/V1e1/1hYtf9aWrb/Wlq2/1hY + tf+rq9n//v7+/8bGzf+cnKj/a2t9/zAwSf8cHDj/HR04/x0dOP8fHzr/FhYy/wgIJv8AAB7/AAAd/wAA + F/8KChX/FBQZ/yoqLP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/gEB + A/YCAgTbAQEDsAEBAncAAABHAAAAJgAAAA8AAAADAAAAAAAAAAD+/v4w/v7+YAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANXV1QDV1dUAAAAAAgAAAAgAAAASAAAAHwAAAC8AAAA8AAAAQQYGBz9AQElJlJSmer29 + 08vKyuL4zs7n/8rK5//t7ff/+vr6/+7u7v/j4+P/0tLT/4qKiv8+Pj7/Ojo6/0BAQP8oKDL/DAwc/wgI + E/4FBQvyAQED5wAAAPEAAAD9AAAA/wAAAP8AAAD7AAAA7QAAANgAAAC5AAAAkgAAAGsODhBTW1tnY6am + veGursb8q6vF/5ycvf93d6z/OjqE/xcXNf8PDyP/Dw8h/w0NH+YHBxBqAQEDSwAAAEmCgoJ9/v7+//T0 + 9f/q6uv/4ODh/9HR0v+hoaL/V1dX/zk5Of8+Pj7/MDAx/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAB/wAA + Av8DAwX/CwsO/xwcHv9CQkL/S0tL/wAAAf0EBAf9DQ0V/8XFyv/u7vD/tra//4WFk/9OTmP/ISE8/xgY + NP8gIDv/RkZc/8fHzv////////////7+/v+/v7//RkZK/zExM/8+Pj7/Pj4+/ygoKP9ISEj/VlZW/29v + b/+IiIj/jo6O/5CQkP+Dg4P/a2tt/1ZWV/91dXX/d3d3/3Z2dv+AgID/jY2O/5KSkv+RkZH/mpqa/6Wl + pv+ysrP/pqam/87Oz//i4uL/tra2/4eHh/9ycnL/f39//76+vjD+/v4w/v7+wP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP///wATEywKExMsJv// + //////////////7+/v/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//r6+v/39/f/8PDw/+Dg + 4f/R0dL/r6+v/2tra/+Dg4T/xMTF/7e3t/+zs7P/zc3N//r6+v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/f3+D/c3N3/ywsOf9fX3P//v7+/7W1tf9DQ4z/S0uf/1NTrP9CQpn/JSVU/xMTLP8TEyz/ExMs/5yc + 0/+cnNP/l5fR/5GRzv9ra73/S0un/1JSs/9SUrP/VVWz/1dXtP9ZWbb/W1u2/1lZtv9ZWbb/Wlq2/1tb + t/9aWrb/rKza//7+/v/Gxs3/m5un/2hoe/8uLkj/Gxs4/xkZNv8bGzj/Hh46/x0dOf8YGDX/Cgop/wAA + H/8AABj/CgoV/xQUGf8qKiz/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8CAgT+BAQI9QUFC9gFBQycBQUKXQICBCoBAQMQAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADn5+cA6+vrAAAAAAIAAAALAAAAGQAAAC0AAABEAAAAWAAAAGAAAABcAAAATiws + MUiMjJxovr7Uu8zM5fHPz+n/8fH5//n5+v/u7u7/5OTk/9TU1f+MjI3/QEBB/zo6Ov9AQED/Kys4/w0N + HP8JCRP/BQUM/QICBfYAAAH0AAAA/QAAAP8AAAD/AAAA+wAAAPAAAADdAAAAxAAAAKIAAACBAgICaRIS + FF52doaxkpKl9JKSpv+Li6P/dXWZ/0VFg/8eHkT/DQ0e/w0NHf8MDBv6BwcQmwICBHEAAABwbGxspP7+ + /v/09PT/6urr/+Hh4f/U1NX/pKSl/1paW/85OTn/Pj4+/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + Af8BAQT/BwcK/xMTFv8pKSr/RERE/wgICP0CAgP7CQkP/RQUIf/Jyc7/6urs/7Cwuv+AgJD/SEhf/yAg + PP8YGDX/KipF/ygoQ/8dHTn/UFBl/+Dg5P///////v7+/6mprf/+/v7/5ubm/8PDw//Hx8f/09PT/+Hh + 4f/7+/v/+fn5//b29v/z8/P/7+/v/9nZ2f+/v8D/1NTV/9jY2f/U1NT/0NDR/9HR0v/R0dL/0tLT/9bW + 1//c3Nz/39/f/8bGxv/k5OX/6enp/9nZ2v++vr7/mJiY/4KCgv+np6eA5+fnEP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AB0dQQgYGDYiFBQsURQU + LJq+vsXyxsbM/sbGzv/Fxcz/xMTK/8TEyv/ExMr/z8/i/9LS6f/T0+v/1NTs/9XV7P/V1ez/39/w//n5 + +v/x8fH/5ubn/9jY2f+Ghof/dXV1/6ysrf+1tbX/tLS0/7S0wf/Hx9P/yMjQ/8TEyf/BwcT/wMDB/7+/ + wP+/v8D/UFBS/wQECv8JCRX/EhIn/7m5xf+goLn/Pj6G/0tLnP9UVK3/RUWc/ycnV/8UFCz/FBQs/xQU + LP+trdr/tLTd/7a23/+srNr/enrE/1BQsP9dXbf/Y2O6/2BguP9fX7j/Xl63/11dt/9bW7b/WFi1/1lZ + tf9ZWbX/WVm1/6ys2v/+/v7/xsbN/5qap/9paXz/MjJN/x0dOv8ZGTf/GRk3/xwcOf8dHTr/HBw5/xcX + Nf8LCyv/AAAb/woKFv8UFBn/Kiot/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AgIE/wQECf8HBw/7CgoW5QwMGagLCxlZDAwbJg0NHQkUFCwBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5ubmANbW1gAAAAADAAAADQAAAB0AAAA1AAAAUQAAAGoAAAB2AAAAdAAA + AGUAAABMISElOoeHllDAwNerzMzl6vPz+f/4+Pj/7u7u/+Xl5f/W1tf/jo6O/0FBQf86Ojr/QEBA/zMz + Sv8PDyD/CQkT/wUFDP8DAwb9AQEC+wAAAP0AAAD/AAAA/wAAAPwAAADzAAAA5QAAANEAAAC4AAAAnwAA + AIsDAwSAJyctkWVldOVubn79bGx9/2Njef9ISGv/ISFH/woKFv8KChb/CQkV/wYGDc4CAgOiAAAAn2Vl + Zej+/v7/9PT0/+rq6v/h4eH/1NTV/6ampv9eXl7/OTk6/z4+Pv8wMDD/AAAA/wAAAP8AAAD/AAAA/wAA + Af8BAQP/BAQH/w4OEf8fHyH/NTU1/x8fH/4AAAD6BQUI+w4OGP4cHDD/y8vS/+Xl6P+rq7X/fHyM/0pK + Yf8dHTr/GRk3/x4eO/8gID3/EBAv/wAAH/8CAiP/gICQ//Hx8v9TU1v/8vLy///////+/v7//v7+//7+ + /v/+/v7//v7+//39/f/7+/v/+Pj4//X19f/x8fL/7e3t/+rq6v/p6en/5eXm/+Li4//h4eL/4eHi/+Li + 4v/k5OT/5+fn/+Li4//Pz9D/8PDw//X19f/t7e3/29vb/6qqquBdXV1gVVVVAImJiQDBwcEAxcXFAMHB + wQDKysoA4uLiAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAkJFEBICBGBxwcPhwaGjpGGRk4jhkZ + N9QYGDX4GBg2/x0dP/8jI03/Kytf/yoqXf8UFCz/FBQs/zAwav9bW7b/WVm1/1VVs/9VVbP/VVWz/35+ + xf/9/f3/9fX2/+7u7v/o6Oj/xcXG/3l5ef+JiYr/rKyt/6ioqP9cXJD/MDBm/yMjRf8VFSr/CgoV/wQE + Cf8BAQP/AgID/wEBA/8EBAj/BwcQ/w4OH/8bGzz/LS1j/z09g/9NTZv/W1uu/0pKpP8tLWP/FBQt/xQU + LP8UFCz/uLjg/8LC5P/IyOf/xMTl/6Cg1f9ubr//bm6//35+xv99fcX/eHjD/3Jywf9sbL7/ZGS6/15e + uP9bW7f/WVm2/1lZtf+srNr//v7+/8XFzf+amqj/Z2d8/y8vTP8bGzr/GRk5/xkZOf8cHDv/HBw7/xwc + O/8cHDv/GBg4/wAAH/8LCxr/FBQa/yoqLf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEC/wICBP8EBAr/BwcQ/wsLGf8ODiD7EBAl1xISKIATEyoyFBQtEhQULQYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6QDf398AAAAAAwAAAA0AAAAeAAAANgAAAFQAAABwAAAAfgAA + AIAAAAB0AAAAXQAAAEIRERMwZ2dzN8/P3qz+/v7/+Pj4/+7u7v/l5eX/2NjZ/5CQkf9CQkL/Ozs7/0BA + QP86Oln/HR0//wkJFP8FBQz/AwMG/wEBAv4AAAD+AAAA/wAAAP8AAAD9AAAA9wAAAO4AAADhAAAA0AAA + AMAAAACzAAAAqgICA6cvLzXURUVP90hIU/9ERFD/OjpL/x0dPf8LCxj/BgYO/wYGDf8FBQrvAQEDyw0N + DdVycnL//v7+//Ly8v/q6ur/4eHi/9bW1/+lpaX/Xl5e/zo6Ov8/Pz//MDAw/wAAAP8AAAD/AAAA/wAA + Af8AAAL/AgIF/wkJDf8YGBv/Ly8v/y0tLf8AAAD8AQEB9gkJEfwWFib/JiZB//7+/v/f3+T/p6ey/4CA + kv9ISGL/GRk5/xkZOf8cHDv/GRk5/wAAI/8EBCb/Cgos/wAAIv8aGjH/JiYx/3Z2eP////////////// + //////////////Dw8P9gYGD///////z8/P/5+fn/9vb2//Ly8//x8fH/8PDx/+/v7//u7u7/7e3t/+3t + 7v/u7u//8PDw//Ly8v/z8/P/9fX1//7+/v/+/v7/5eXl0N7e3mDHx8cAgoKCAFhYWABlZWUAlJSUAJ6e + ngCPj48Af39/AH9/fwCGhoYAl5eXAM7OzgD+/v4A/v7+ACYmUwEhIUkGHh5CExwcPTYbGzyFGxs81R0d + QPghIUn/IyNN/yYmU/8qKlz/MjJt/zk5ff9AQIz/LCxg/xQULf8fH0T/RUWY/19fuP9XV7X/VFSz/1RU + s/9/f8b///////j4+P/w8PD/7Ozs/+Li4/+Kiov/bm5v/46Ojv+RkZH/YWGP/zk5a/8mJkj/FhYr/wsL + F/8FBQn/AQED/wEBA/8BAQL/AwMH/wcHEP8NDRv/Fxc0/y0tYv9FRYX/WVmg/2lptf9VVbP/Nzd5/x8f + RP8UFC3/FBQt/8PD5PrMzOj80NDq/83N6f+7u+H/mJjR/319xf+Kisv/n5/U/5ub0v+VldD/jIzM/4CA + x/92dsL/bW2+/2Rkuv9gYLj/ra3b//7+/v/Fxc3/mZmo/2dnff8uLkz/Gho6/xoaOv8ZGTn/HBw8/x0d + Pf8cHDz/HBw8/xoaOv8AACL/DQ0f/xQUGv8qKi3/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wICBP8EBAn/BQUL/wgIEP86OkT/w8PH/xISJv8UFCr/FRUszhUVLW8VFS0mFRUtCBUV + LQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+sA+vr6AAAAAAMAAAALAAAAGgAAADAAAABMAAAAZwAA + AHcAAAB9AAAAdgAAAGUAAABPAAAAPQUFBi7s7O2v/v7+//n5+f/w8PD/6Ojo/9vb2/+SkpL/Q0ND/zs7 + O/9AQED/QUFm/yoqXP8TEyn/BgYM/wMDBv8BAQL/AAAA/wAAAP8AAAD/AAAA/gAAAPoAAAD1AAAA7QAA + AOMAAADaAAAA0wAAAM0AAADKCgoL0yIiJ/MqKjD+KSkv/yUlLf8ZGSf/CQkU/wQECP8DAwf/AwMG/AEB + AukTExP8i4uL//j4+P/r6+v/5ubm/+Hh4f/X19f/oqKi/11dXf87Ozv/Pz8//yQkJP8AAAD/AAAA/wAA + Af8AAAL/AQEE/wcHC/8TExb/JiYo/zc3N/8MDAz+AAAA+AMDBfMPDxz+Hx82/zIyU//+/v7/3Nzh/6io + tP+Dg5T/OztX/xgYOf8XFzj/Gho6/wwMLv8BASX/DAwu/wsLLf8AACP/Cwsk/xcXIP8jIyf/V1dX/6ys + rP/g4OD/8PDw/2BgYP8AAAD/AAAA//Dw8P///////v7+//v7+//5+fn/+Pj4//j4+P/4+Pj/+Pj4//n5 + +f/6+vr/+/v7//7+/v/+/v7//v7+//7+/tD+/v6Q/v7+MP7+/gD+/v4A/v7+APHx8QDKysoAtra2AMvL + ywDf398A3NzcALW1tQCXl5cAdHR0AF1dXQBqamoAJydUASEhSQMeHkIMHBw9KBsbO3scHD3cHx9C+yIi + Sv8nJ1T/Li5k/zU1dP87O3//PT2F/0BAi/9DQ5H/RUWW/0dHmv8pKVn/Gxs6/ywsYP9NTab/Wlq2/1VV + s/9TU7L/fX3F///////6+vr/8/Pz/+/v7//u7u7/mpqa/21tbf96enr/fX19/29vk/9HR3L/KipK/xgY + Lf8MDBj/BQUK/wEBA/8BAQL/AQEB/wMDB/8JCRP/Dw8g/xYWMP8qKlv/U1OL/2hop/94eLv/Z2e7/0ND + kf8sLGD/GRk2/xUVLf/Ly+ik0tLrzNLS6+vOzun7w8Pk/7Oz3f+YmNH/iorL/6en2P+3t9//sbHd/6ys + 2v+jo9b/mJjS/46Ozf+Cgsj/d3fD/7a23//+/v7/xMTN/5aWpf9iYnn/KChH/xUVN/8VFTf/ExM1/xYW + OP8XFzn/FhY4/xYWOP8UFDb/AAAi/w4OIf8UFBr/Kiot/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8CAgX/BwcP/wwMGv8ODh//DAwa/w8PIP8SEib/FBQq/xUVLP4VFS32FRUtxxUV + LWoVFS0eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+AP7+/gAAAAACAAAACAAAABMAAAAkAAAAOwAA + AFEAAABgAAAAaQAAAGoAAABiAAAAVQAAAEoDAwQ+BAQFMPf399f6+vr/8vLy/+rq6v/d3d7/kZGR/0RE + RP87Ozv/QEBA/1NTbv87O3P/HR0//woKFv8DAwb/AQEC/wAAAP8AAAD/AAAA/wAAAP4AAAD9AAAA+gAA + APYAAADyAAAA7QAAAOoAAADnAAAA5gAAAOYKCgzyEhIU/BQUF/8SEhb/Dw8T/wYGDf8CAgT/AQED/wEB + A/8FBQX8BwcH/7m5uf/Nzc3/uLi5/7m5uf/AwMH/xMTF/56en/9cXFz/Ozs8/0BAQP8gICD/AAAB/wAA + Af8AAAL/AQEE/wUFCf8PDxP/ISEj/zg4OP8jIyP/AAAA+wAAAfMICA70GRkq/ioqSP89PWf//v7+/9ra + 3/+rq7j/e3uO/zg4Vf8TEzX/FBQ2/xAQM/8AACT/Bwcr/w4OMf8NDTD/AAAk/wsLI/8VFR//JCQo/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP9gYGD////////////g4OD///////7+/v/+/v7//v7+//7+ + /v/+/v7/+Pj51f39/cH+/v6A/v7+UP7+/hD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/f39ANvb + 2wDMzMwA0dHRANbW1gDY2NgA2dnZAMTExACVlZUAeXl5AB8fQwUdHT4jHBw8dRwcPdMfH0L6IiJJ/ycn + Vf8uLmT/NjZ0/z8/iP9ISJv/TU2m/05OqP9LS6H/SEic/0hIm/9HR5n/QUGM/ykpWP8iIkj/NjZ1/1JS + sP9YWLX/U1Oz/319xP//////+/v7//X19f/x8fL/rq7R/6SkpP92dnn/cHCD/3V1gf9ubpL/Tk52/y0t + Tv8ZGS//DQ0Z/wUFCv8CAgP/AQEC/wEBAv8EBAf/DQ0V/xYWKP8aGjn/JydU/05Oiv92dq7/gIC//3Nz + wP9OTqj/OTl8/yYmUv8VFS36zs7pYtPT62fS0ut0zc3pj8PD5LO8vOHYrq7b8YqKy/+entP/vr7i/8HB + 4/++vuL/ubng/7S03f+urtv/pqbX/52d0//IyOb//v7+/8LCy/+Tk6P/XV11/yMjRP8QEDT/EBA0/xAQ + NP8RETT/ExM2/xQUN/8VFTj/FBQ3/wAAI/8ODiH/FBQa/yoqLf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AwMG/wgIEv8REST/GRk1/x8fQf8cHDr/EhIm/xQUKv8VFSz/FRUt/xUV + LfgVFS3pFRUtuhUVLWcVFS0bAAAAAAAAAAAAAAAAAAAAAP7+/gD+/v4AAAAAAQAAAAUAAAAMAAAAFwAA + ACYAAAA2AAAAQgAAAEwAAABUAAAAVgAAAFUAAABTAAAATAAAAD7w8PDL+/v7//Pz8//r6+z/39/g/5CQ + kf9ERET/Ozs8/0BAQP9gYHP/WVmA/ykpT/8REST/BQUK/wEBAv8AAAD/AAAA/wAAAP8AAAD/AAAA/gAA + AP0AAAD8AAAA+wAAAPoAAAD5AAAA+AAAAPcAAAD3AQEB+AQEBf0GBgb/BgYG/wQEBf8DAwX/AQEC/wAA + Af8AAAH/AQEB/y8vL//+/v7/7u7v/8PDxP+ZmZn/fHx9/3d3d/9tbW3/UVFR/zw8PP9AQED/FBQV/wAA + Av8AAAP/AAAF/wMDCf8MDBL/HBwg/zMzNP84ODj/BQUF/QAAAPYBAQPsEBAd+CQkPP84OFv/TEx6//7+ + /v/Z2d//n5+t/15edv8XFzr/AAAm/wcHLP8AACX/AAAm/wcHLP8NDTH/Cwsv/wAAJf8LCyP/FBQd/yQk + KP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIE/yUlK/9JSVT/UFBh+xkZ + NNESEidzCQkSNQMDBxUAAAAF/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A6urqAOHh4QDl5eUA6enpAOTk5ADc3NwAHx9BAx0dPCUcHDxwHR09wh8fQe4iIkj6KChU/y4u + Yf82NnL/QECG/0hImP9QUKn/Vla0/15et/9eXrf/VVWz/09Ppv9KSp3/SUma/0pKnf8/P4X/KSlW/yoq + WP9ERJD/XFy2/1lZtf+AgMf//v7+//v7+//19fb/r6+v/11dlP9DQ1j/Tk5q/0xMn/9QUJ7/W1uR/05O + df8wME3/Ghou/w4OGP8FBQr/AQEC/wEBAv8BAQH/BQUH/w4OFf8dHSv/JCRD/yYmUf89PYD/dnau/4iI + wf99fcP/Wlq18EdHldM1NW+uIiJHisrK51vOzulXz8/qVszM6FbCwuRbu7vhZ7m54H2entSfiorLw7Oz + 3ePFxeX4xMTl/8HB4/+/v+L/vLzh/7m54P+2tt//19ft//7+/v/Cwsz/lZWl/2BgeP8kJEb/EBA1/xER + Nv8SEjf/EhI3/xMTOP8UFDn/FhY7/xcXO/8AACb/Dg4j/xQUG/8qKi3/QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBv8KChL/FBQn/yAgQf8sLF3/MzNp/y8vY/8jI0n/FhYs/xYW + Lf8WFi3/FhYt/xYWLfUWFi3eFhYtrRYWLV4WFi0ZFhYtBQAAAAD+/v4A/v7+AAAAAAEAAAACAAAABgAA + AAwAAAAVAAAAHgAAACcAAAAyAAAAPQAAAEgAAABQAAAAVQAAAFMAAABG7u7uzfz8/P/09PT/7u7u/+Li + 4/+YmJj/R0dH/zw8PP9AQED/YGB0/3Bwi/89PVr/GBgx/wgIEf8BAQP/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP+SkpL/8fHx/+3t7v/l5eX/ysrL/4iIiP9WVlf/OTk5/zo6Ov89PT3/QEBA/wkJ + C/8BAQX/AAAG/wICCv8KChL/GRkf/y4uMf9BQUH/FxcX/gAAAPoAAAHwBAQJ5xYWLv0sLE3/R0dw/1ZW + i//+/v7/2trf/5ycq/9aWnT/Cwsx/wAAJf8AACT/AAAj/wAAJ/8AACj/BgYt/woKMP8AACf/Cwsk/xQU + Hf8kJCj/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICA/8GBgz/CwsX+Q0N + G9gJCRKUBAQIVwAAAC4AAAAUAAAABf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD8/PwAHR09IxwcO2kcHDuzHh4/4yIiR/cnJ1L/Li5g/zY2 + cf8+PoP/SEiW/1FRqf9XV7T/X1+4/2Rkuv9nZ7v/Z2e8/2Fhuf9VVbP/T0+k/0xMnv9MTJ7/TU2g/zs7 + e/8oKFX/MjJp/05Oov9bW7b/hYXJ//7+/v/7+/v/9vb2/25ub/8/P0P/OTlC/0JCaP9NTaL/SUmZ/1NT + jf9NTXP/MjJO/x0dLv8PDxj/BQUI/wEBAv8AAAH/AAAA/wUFBv8ODhX/HBwr/y4uSP8tLV//MzNq+F1d + oOSKisHChYXInWlpvHxQUKhlPz+EWiwsXFXAwONbwsLkVsbG5lPGxuZOvb3iSbi44Ea5ueBIr6/cToeH + yludndRyxMTlksbG5rTCwuTSwcHk7MDA4/u/v+P/vr7j/93d8P/+/v7/wsLM/5SUpf9fX3j/JSVI/xIS + OP8SEjj/EhI4/xISOP8TEzn/FBQ6/xYWO/8WFjv/AAAn/w4OJP8UFBz/Kiot/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwb/CgoS/xUVKP8kJEP/NjZm/0BAg/9FRY//QUGI/zQ0 + bv8fH0H/FhYt/xYWLf8WFi3/FhYt/xYWLfQWFi3XFhYtoBYWLVYWFi0dFhYtBv7+/gD+/v4AAAAAAQAA + AAIAAAAFAAAACQAAAA0AAAATAAAAHAAAACgAAAA2AAAAQgAAAEwAAABNAAAAQ+/v78z8/Pz/9fX1/+/v + 8P/l5eb/nZ2e/0hISP88PDz/QEBA/2Njdf93d4//TU1h/yMjN/8MDBn/AwMG/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8qKir/5ubm/+jo6f/p6er/4+Pk/9vb3P+1tbb/cXFy/zk5Of87Ozv/Pj4+/zg4 + Of8BAQb/AQEJ/wICDP8ICBP/FhYe/ysrMP9FRUb/NDQ0/wAAAPwAAAD0AQEC5wsLFuUdHTz/LS1b/1BQ + gf9TU5b//v7+/9vb4f+np7T/cnKJ/yUlSP8AACf/AAAg/wAAH/8AACX/AAAp/wMDLP8ICDD/AAAn/wsL + JP8UFB3/JCQo/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgP/BAQJ+wYG + DOUEBAi4AQECggAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+ACAgQwUeHj4fHBw7XR0dPKoeHj7bISFG9SYmT/8tLV3/NTVu/z4+ + gf9ISJb/UVGo/1dXtP9eXrj/ZGS7/2dnvP9oaL3/aWm9/2lpvf9pab3/YmK6/1ZWsv9QUKb/Tk6j/09P + pP9KSpv/MzNq/yoqV/86Onj/VFSu/4WFyv/+/v7/+vr6//b29v9paWn/QEBA/0BAQP9BQUv/UlKr/1ZW + of9bW5D/UFB0/zU1Tv8eHi7/Dg4X/wUFCP8AAAH/AAAB/wAAAP8EBAb/DQ0U/hsbKPsqKkDuMjJY0ysr + Wqw7O3uCfX2vY4+PyU5zc8FIV1e0RkZGkUkzM2pNsrLdWrS03lW0tN5StLTeTq6u20msrNpFsbHcQba2 + 3jyWltA4fn7GOLW13kHHx+ZNwcHkY8HB44S/v+Orv7/jyb+/4eLg4O/6/v7+/8LCzP+Tk6X/XV13/yIi + Rv8PDzf/EhI5/xMTOv8TEzr/ExM6/xQUO/8VFTz/FRU8/wAAKP8PDyb/FRUd/yoqLf9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwMG/wsLE/8WFij/JiZE/zk5aP9JSYf/U1Od/1NT + qf9PT6P/QkKI/y4uXv8WFi3/FhYt/xYWLf8WFi3/FhYt/xYWLfUWFi3PFhYtkxYWLUsWFi0dFhYtBv7+ + /gDFxcUAAAAAAQAAAAIAAAAEAAAABgAAAAwAAAAXAAAAJAAAADAAAAA7AAAAPQAAADfx8fHK/Pz8//X1 + 9v/w8PD/5ubn/6CgoP9ISEj/PDw8/0BAQP9qann/fX2S/1lZZ/8wMD7/FBQe/wUFCv8BAQH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8MDAz/vLy8/+bm5v/s7Oz/5+fo/+Hh4v/R0dL/srKy/4CAgf9JSUr/PDw8/z8/ + P/8pKSz/AQEL/wEBDv8GBhT/EhIf/ycnLv9DQ0b/UFBQ/woKCv0AAAD4AAAA6wMDBtwYGCzrJydQ/zMz + af9ISIr/R0eS//7+/v/b2+H/p6e1/3d3jv81NVb/BAQt/wAAI/8AAB3/AAAg/wAAKP8CAiz/Bwcw/wAA + KP8LCyX/ExMc/yQkKP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEC/gIC + BPICAgPWAAAArQAAAIAAAABSAAAALgAAABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4AISFDByAgQh8eHj5RHh49nB8fQNUiIkb3JiZO/ywsW/80NGv/Pj5//0dH + kv9QUKX/V1e0/19fuP9kZLr/Zma7/2dnvP9oaLz/aGi8/2hovP9pab3/amq9/2hovP9hYbn/Vlax/1FR + pv9PT6P/UVGm/0dHkv8xMWT/Li5f/0ZGkP+Fhcn//v7+//r6+v/39/j/oKCg/z8/P/9AQED/QEBA/1tb + nf9kZKb/YmKT/1BQdP8zM0z/HR0s/w4OFv8FBQj/AAAB/wAAAP8AAAD/AwMF/QoKD/YQEBjkGRklxSUl + N5skJEhzKSlUVF9fmUSYmMw+fn7GQWFhuUVLS5tJOTl0TZ6e1Fmfn9VUnZ3UUZiY0k2Rkc9IlJTQRJ6e + 1ECnp9g9oKDVOXd3wzaSks8xvr7iLMHB5Cq/v+MuwcHkPcDA4VW8vN154uLu0f7+/v/Bwcz/kZGk/1xc + eP8gIEb/Dg44/xAQOf8SEjv/ExM8/xMTPP8SEjv/ExM8/xUVPf8AACr/Dg4m/xYWHv8qKi7/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBv8LCxP/FhYo/yYmRf86Omn/TEyJ/1hY + oP9fX7D/X1+4/1hYtP9NTZ7/Ozt5/yUlTP8WFi7/FhYu/xYWLv8WFi7/FhYu/xYWLvIWFi7IFhYuhhYW + LkEWFi4aFhYuBIGBgQBWVlYAq6urAAAAAAEAAAAFAAAADAAAABYAAAAfAAAAKAAAACoAAAAm9fX1x/z8 + /P/29vb/8PDw/+np6f+pqan/V1dX/z09Pf9AQED/cXF7+oeHmv9iYm//PT1H/yAgKP8MDBP/AwMH/wEB + A/8BAQH/AQEB/wEBAf8BAQH+AAAB+wAAAPgAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AQEB+AQE + BfwGBgf/BgYH/wcHCP8SEhL/lpaW/83Nzf/h4eH/7Ozs/+jo6P/k5OT/y8vL/6Kiov9ra2v/Ozs7/z4+ + Pv9AQED/ExMe/wAAEv8EBBf/EBAg/yMjL/86OkD/Wlpa/ysrK/8AAAD6AAAA8AAAAd8JCRDUKChF9Tc3 + Zf85OXX/Nzdv/zExZf/+/v7/29vh/6entf94eI//Nzda/w4OOP8AACv/AAAh/wAAG/8AACL/CQkz/wwM + Nv8AACv/Cwsm/xMTHf8kJCn/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AfsAAAHsAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gAiIkYHHR07HBwcOUgeHj6NISFDzyMjR/gnJ0//LCxa/zMzaf88PHv/RUWO/09P + ov9XV7H/XV24/2Jiuv9lZbv/Z2e8/2lpvf9pab3/aWm9/2lpvf9pab3/aWm9/2lpvf9ra77/aWm9/2Bg + uf9XV7H/UlKo/1JSp/9TU6r/QUGF/y8vYP83N3H/fX29//7+/v/8/Pz/+fn5/+3t7f9AQED/YmKZ/1lZ + f/9YWHz/b2+s/2Rklf9NTXT/MzNO/x4eL/0PDxj8BgYL/AMDBf0DAwT8AgID+wMDBPQFBQfkCAgLyw0N + E6sbGyeFLy9IZy4uX1JHR5BEh4fGP319xkBcXLdESkqXSDY2b0yOjs1XjIzMU4eHyVB+fsVLc3PBR3Jy + wEN+fsY/i4vLPJeX0Th1dcI1aWm8Mpub0i+6uuArvLzhKLi43COtrc4glJSuJubm6539/f3/vr7K/46O + ov9ZWXb/ICBH/w0NOP8NDTj/Dw85/xISPP8TEz3/FBQ9/xMTPf8TEz3/AAAr/w4OJ/8VFR7/Kiou/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwb/CwsU/xcXKf8nJ0b/PT1q/05O + iv9cXKL/Z2e0/2trvP9qar3/Y2O6/1hYsP9JSZL/NTVq/yEhQv8XFy7/Fxcu/xcXLv8XFy7/Fxcu/xcX + LvEXFy7DFxcueRcXLjUXFy4UFxcuAxcXLgHPz88AAAAAAgAAAAYAAAAMAAAAEgAAABcAAAAYAAAAFvn5 + +cT8/Pz/9vb2//Hx8v/q6uv/r6+w/3Fxcf9CQkL/QEBA/2lpcNyMjJ7wbW16/U1NVv8wMDj/Ghoi/w0N + Fv8ICA//BAQI/wICBf8CAgX/AgIF/wICBPsBAQLwAAAA5wAAAOYAAADmAAAA5gAAAOYAAADmAAAA5gEB + AecICAnuEhIU+xYWGP8nJyf/f39//6+vr//Gxsb/4eHh/+rq6v/p6en/5ubn/8/P0P+ampv/XV1d/zw8 + Pf8/Pz//ODg6/wAAFv8DAxz/DAwj/x8fL/82Nj7/VFRV/1JSUv8AAAD8AAAA9AAAAOYDAwXSFBQj0jc3 + XP1NTXz/SUmO/zIyZP8jI0b//v7+/9vb4f+oqLf/fX2T/0FBY/8ZGUL/EBA6/wAAKP8AABv/AAAa/wAA + Kf8lJUv/AQEu/wsLKP8UFB7/JCQp/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+ACEhQgUfHz8YHh47PR0dO4EfHz/KJCRI9ioqVf8vL13/NTVq/z09ef9GRo3/UFCf/1ZW + rP9cXLb/YWG5/2Vlu/9nZ7v/aWm8/2lpvP9qar3/a2u9/2xsvf9ra73/bW2+/21tvv9ubr7/b2+//29v + v/9ra73/Y2O6/1tbtf9ZWbH/Wlq0/1dXrv9FRYr/RkaN/4KCxP///////f39//v7/P/7+/z/S0tL/4CA + v/9iYon/Tk5f/2Fhi/1gYJH2S0t17zMzUOweHi/pDw8Y6AcHC+oEBAXrAgID6QICAugDAwThBAQG0gkJ + Db0RERigIiIwfzs7UWI+Pm9OQUGDQVtbsT5ubr8/UVGiRDw8d0crK1ZLjo7NVoiIylJ/f8ZOcHDASl9f + uEVbW7VCYmK6Pmxsvjt2dsI3c3PBNFhYrjFoaLwul5fRKqSk1yemptQll5e6Jnd3kS7e3uGc+fn6/7u7 + x/+NjaL/V1d1/yAgSP8QEDv/EBA7/xAQO/8RETz/ExM+/xUVP/8UFD7/ExM+/wAALP8ODif/FRUd/yoq + Lv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQH/wsLFP8XFyr/KChG/z09 + bP9QUIv/Xl6k/2hotf9tbb7/b2+//25uv/9qar3/YGC5/1NTpP9ERIf/Nzdt/ykpUf8XFy7/Fxcu/xcX + Lv8XFy7/Fxcu/xcXLvQXFy7DFxcuahcXLiYXFy4PFxcuBAAAAAEAAAACAAAABQAAAAcAAAAJAAAACgAA + AAn7+/vC/f39//f39//y8vL/6enq/5OTk/9paWn/RERE/0BAQP9HR0qkg4OSsHh4hu5gYGr9SEhR/zU1 + Pv8nJzH/HR0r/xERIv8ICA//BQUK/wUFCv8FBQr/BAQI8wICA9gAAADKAAAAyQAAAMkAAADJAAAAyQAA + AMkAAADJBwcI0RsbHulNTU3/eHh4/5SUlP+wsLH/z8/Q/+vr6//q6uv/6urr/+jo6f/W1tf/mpqa/19f + X/8+Pj7/QEBA/xgYIP8BARn/CQkn/xoaMf8xMT//SkpO/2BgYP8ZGRn+AAAA+AAAAOwAAADYBwcMxicn + P9pMTHP/a2uW/2hopv83N2z/Hx8+//7+/v/b2+H/qam4/39/lv9LS2v/JydO/xcXQf8ODjn/AAAi/wAA + FP8AAB7/JiZN/xkZQv8LCyr/FBQe/yQkKf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAF/v7+AP7+/gD+/v4A/v7+AP7+ + /gApKVIBGBgvBBcXLhAXFy4uGRkydh0dOsoiIkT1JiZM/y8vXf87O3b/RESH/0pKk/9RUaH/WFiu/11d + uP9iYrr/Zma7/2hovP9pab3/aWm9/2lpvf9pab3/aWm9/2trvf9sbL7/bW2+/25uv/9ubr//b2+//3Fx + wP9zc8H/dHTC/3V1wv9wcMD/bGy+/3Jywf95ecT/b2+//2ZmvP+Tk8////////7+/v/+/v7//v7+/6ys + wv9gYIP8QEBA/0BAQP9AQED/VFR4zkFBZKcfHzCgDAwTqQUFCLgDAwTFAwMFzQQEBs8FBQfPBgYIyQkJ + DLwODhSpFxcgjygoOHI+PllaUlKASUdHjj9MTJg8U1OlPkdHjUI5OXFGLi5cSpKSz1WLi8xRf3/GTW5u + v0lcXLVEV1esQVlZsD1cXLQ6YGC4NmdnvDNSUqEvUlKiLHBwvymKissmiYnDJXV1oihXV3M01NTYovT0 + 9f+2tsT/iIie/1NTc/8fH0n/EhI//xISP/8SEj//EhI//xISP/8UFED/FRVB/xYWQv8AAC7/Dg4o/xUV + Hf8qKi7/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEB/8NDRX/GRkr/yoq + Sf8/P27/UVGN/15epf9oaLX/bm6+/29vv/9xccD/c3PB/3Nzwf9ubr7/bGy+/2Fhqv9GRon/Ly9d/xsb + Nf8XFy7/Fxcu/xcXLv8XFy7/Fxcu/xcXLvsXFy7DFxcuXxcXLh0XFy4HDw8fAwAAAAEAAAACAAAAAgAA + AAIAAAAC/v7+wP39/f/39/j/8vLz/9/f4P9hYWH/Ozs8/z09Pf8/Pz//OTk5jzc3PUZra3ajcHB96mZm + cP5XV2H/S0tW/0JCUP8yMkr/HR04/wwMF/8ICBH/CAgR/wgIEPwHBw3mAgIEswAAAKQAAACjAAAAowAA + AKMAAACjBgYGqiQkJM9OTk77aGho/4GBgf+goKD/wsLC/+Dg4f/r6+z/6+vr/+rq6//q6uv/0tLT/5yc + nf9paWr/RUVF/zg4O/8AABH/AwMX/xISLP8tLUD/R0dQ/2BgYf9ERET/AAAA+wAAAPIAAADhAQEBxxIS + G7w/P1/oX1+J/3Z2pv9XV6b/MTFg/x8fPP/+/v7/29vh/6amt/92dpD/QUFl/yUlTv8ZGUT/DQ07/wAA + Lv8AABb/AAAQ/wAAJf8lJU7/DAwv/xQUH/8kJCn/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABfr6+gD+/v4A/v7+ACIi + QgEmJksDIiJDCRoaMx0XFy5rFxcuzRcXLvYeHjz/JiZL/yoqU/81NWn/SEiN/1lZr/9dXbf/YGC4/2Vl + u/9nZ7z/amq9/2pqvf9qar3/bGy9/2trvf9ra73/amq9/2trvf9sbL3/bW2+/25uvv9vb7//cXHA/3R0 + wf95ecP/f3/G/4SEyP+IiMr/iIjK/4WFyf+Bgcf/fn7G/3h4w/94eMP/mprS//////////////////T0 + +f99fcTwioqn6kBAQP9AQED/QEBA/zY2PmoNDRRICQkNZgoKDoIICAyWCAgLpAcHCqsJCQytCQkNrQwM + EKgPDxWdFBQdjR4eLHkvL0ZjRERnUFtbjENTU6E8UFCdO1NTpD1RUZ9BQUGARS8vXUmVldBVjIzMUIGB + x01wcMBJXV22RFdXq0FZWa49WlqxOltbsjZdXbUzV1eqL1VVpyxfX7gpbm6/JmdnsSZQUIcrOztcOurq + 69Ts7PD/srLB/4WFnP9OTm//HR1I/xMTQP8TE0D/ExNA/xQUQf8UFEH/FRVC/xQUQf8VFUL/AAAv/w4O + Kf8VFR7/Kiou/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FBQf/EBAX/x4e + Lv8wMEz/RUVy/1ZWkf9jY6j/bGy3/3Bwv/9ycsH/c3PB/3Z2w/93d8P/dXXC/76+4v/i4uL/e3uh/0ZG + iv85OXD/JCRH/xgYLv8YGC7/GBgu/xgYLv8YGC7/GBgu/RgYLvQYGC66GBguWRgYLhb+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/sD9/f3/+Pj4//Pz8//W1tf/UlJS/zw8PP89PT3/Pz8//zs7O4oMDA0lIyMnQl1d + Z4d+fordf3+M/3d3hP9xcYH/ZmZ8/09Pcf8rK1X/EBAf/w0NGf8NDRn/DQ0Z9wsLFdECAgR+AAAAdBsb + G5YpKSmwNTU11EBAQP9ERET/W1tb/3l5ef+YmJj/ubm5/9nZ2f/r6+z/7Ozt/+zs7f/s7O3/6+vs/8XF + xv+cnJ3/eXl5/1tbW/8SEiz/AgIZ/wUFFf8VFST/OjpF/1lZXP9aWlr/BwcH/AAAAPYAAADoAAAA0gQE + BrcjIzW9UFB49mhomv9wcK3/SEiO/ycnTP8YGC70/v7+/9vb4v+jo7X/amqH/ysrVP8QED7/ERE//wsL + Ov8JCTj/AAAj/wAADv8AABX/AAAt/w0NMf8TEx3/JCQp/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAX29vYA/v7+AP7+ + /gAdHToDHBw4GRgYLmQYGC7KGBgu9xgYLv4YGC7/GBgu/xgYLv8YGC7/GBgv/yYmS/8+Pnn/VVWn/19f + uf9sbL7/a2u+/21tvv9ra77/amq9/2trvv9ubr//bm6//25uv/9ubr//bm6//3FxwP91dcL/eXnE/35+ + xv+Dg8j/iIjK/4qKy/+Njc3/jY3N/4qKy/+Ghsr/gIDH/319xv97e8X/eHjD/5OT0P////////////// + ///ExOW3XFy0Q6KivkhAQED/QEBA/0BAQP86OkBcHx8tNxcXIE0SEhpfEREYbw8PFnkQEBd/EBAXghIS + GoIUFB5/GBgleB8fMG0pKUBgOjpcUE1NekRjY5w9a2uzOWNjuDtdXbY9VlaoQUVFh0UyMmJJl5fRVIyM + zE+AgMZMcXHASF5et0NYWKtAWlquPFtbsDlbW7E1XFyzMlhYqy9UVKIsWVmsKF5etSZXV6kmPj55LCcn + TDz5+fr16ent/7S0w/+Li6L/VFR2/yIiTf8YGEX/FhZE/xYWRP8WFkT/FRVD/xYWRP8WFkT/FhZE/wAA + MP8ODir/FRUf/yoqLv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BwcJ/xQU + Gv8mJjL/PDxS/1ZWev9mZpj/cHCt/3Z2vP93d8P/c3PB/3FxwP9xccD/a2u9/2hovP/Z2e7//v7+/7i4 + 2P9mZqf/Tk6X/0JCgP8sLFT/IyNF/ycnTP8YGC7/GBgu/xgYLv8YGC7/GBgu9xgYLuQYGC6vGBguVxgY + LhX+/v4A/v7+AP7+/gD+/v7A/f39//n5+f/09PX/6urr/3Fxcv88PDz/PT09/z4+Pv8+Pj6kMzMzUDEx + MVo3NzlrVVVbkXh4gtGEhJD9g4OP/4CAj/93d4r/YGCA/zs7YP8pKTH/KSkx/ywsM/81NTj8PDw99UBA + QP9AQED/QEBA/z8/P/9FRUX/Xl5e/3t7e/+bm5z/u7u8/9nZ2v/t7e7/7e3u/+7u7//u7u//7u7v/9zc + 3P+5ubr/mpqa/4SEhP9AQFL/AQEq/wcHJ/8NDRz/Fxce/zg4Pf9iYmL/Kioq/gAAAPkAAADvAAAA3AAA + AL8KChCoNjZVx1tbjP51dar/b2+z/zs7cv8hIT//GBguuv7+/v/b2+L/pKS2/21tiv8oKFL/Bwc4/wkJ + Of8JCTn/CQk5/woKOv8AABr/AAAP/wAAHf8MDDD/FBQf/yQkKf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAF7OzsABgY + LgIYGC4cGBguYRgYLrcYGC7sGBgu+RgYLv8YGC7/GBgu/xgYLv8YGC7/Gxs1/xwcNf8eHjr/JiZK/y4u + Wf83N2r/TU2V/2Fhuf9ubr//bm6//21tvv9tbb7/b2+//3FxwP9zc8H/dnbC/3l5xP9/f8b/g4PI/4eH + yv+Li8v/jY3N/4yMzP+Li8v/iorL/4eHyv+Fhcn/hYXJ/4ODyP9+fsb/eXnD83R0wdKhodW3//////// + ///+/v7/4eHxPmVluwy0tLT/WVlZ/0BAQP9AQED/QEBGVDExRScnJzY1Hx8tQR0dKUscHClUGxspWBoa + KlodHS9cICAzWyUlPVcsLEhROTldSkpKdkFcXJI6bW2sOHR0vDdqar05X1+4PFdXqEBJSY1DNTVnR5qa + 0lOOjs1Of3/GS3BwwEdgYLhCW1utP1xcsDtcXLA4Xl60NF9ftjFaWqwuV1enK1xcsCddXbIlVlakJTw8 + cyskJEQ7/v7+/+np7v+4uMb/j4+m/1pafP8oKFT/GhpJ/xYWRv8VFUX/FBRE/xMTQ/8VFUX/FhZG/xUV + Rf8AADH/Dg4q/xUVH/8qKi7/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgI + Cf8XFxv/LS02/0hIWP9paYP/f3+k/4yMuv+QkMf/jY3M/4GBx/95ecP/dHTB/3BwwP9tbb7/dnbC/5GR + zv/Pz+n/9/f3/2Vlq/9bW63/RUWE/zY2Zv8+Pnf/RESC/xgYLv8YGC7/GBgu/xgYLv8YGC7+GBgu8hgY + LtgYGC6hGBguUhgYLhIYGC4C/v7+//39/f/6+vr/9vb2//Dw8f+hoaL/YmJi/z09Pf89PT7/Pj4//z8/ + P/9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8/Pz//Pz8//z8/ + P/8/Pz//Pj4+/z8/P/9WVlb/bGxt/4iIiP+oqKn/yMjI/+Hh4v/u7u//7+/w//Dw8f/w8PH/8PDx/+vr + 7P/Ozs//s7Oz/56env91dX7/AAAu/wQEL/8SEjT/HBwt/yMjKf86Ojv/Ojo6/wAAAPwAAADzAAAA5AAA + AMsAAACpGRkooUtLdNhtbZ//hIS4/2Fhsf8wMFz/HR028RsbNG7+/v7/2dnh/6Cgs/9tbYr/Li5Z/wYG + Of8FBTj/Bwc6/wkJO/8LCz3/AAAs/wAAFv8AABb/CQkj/xISHv8kJCn/Pz8//yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABRgY + Lh0YGC5cGBguqRgYLt4YGC70GRkw/ykpTv84OGr/QUF7/zY2Z/8xMV7/PDxz/0hIiv9KSo3/Pj53/zY2 + aP8rK1L/IyND/ygoTf80NGP/RESC/15esv9ycsH/dHTC/3h4w/98fMX/gYHH/4WFyf+Jicv/jIzM/46O + zf+Ojs3/jo7N/46Ozf+Jicv/hobJ/4WFyf+EhMn/g4PI+IKCyOKCgsi8gYHHjHd3w11xccA2vb3iPvr6 + /bb+/v/h/v7+//7+/vDy8vg0uLi4/1lZWv9AQED/QEBA/0VFTU9HR2YaOztXIzMzTSotLUUxLS1GNiws + RzorK0c8Ly9OPjQ0Vj86Ol4+RERuO1BQgDleXpY2bW2sNHh4uzN4eMA1b2+/OGVluztZWao/TU2TQjo6 + bkacnNNSkZHOTYGBx0pwcL9FYGC1QVxcrT5dXbA6Xl6xN2BgtTNhYbgwW1urLVlZqCpeXrEmXV2wJFZW + oyQ/P3cpJiZJOPX19unt7fH/vr7L/5SUqv9iYoP/LS1Z/xwcS/8WFkb/FhZG/xUVRv8SEkP/ExNE/xMT + RP8TE0T/AAAy/w4OK/8VFR7/Kiou/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8ICAn/GBgc/y8vN/9OTlv/dHSI/5GRrP+jo8X/ra3V/6ys2v+iotb/l5fR/4yMzP+Dg8j/fHzF/3Z2 + wv9ycsD/d3fC/5SUz/9jY7r/a2u9/1tbq/9BQXv/RkaD/19fsv9MTI//LS1V/xkZLv8ZGS7/GRku/xkZ + Lv8ZGS79GRku8BkZLs8ZGS6WGRkuTP7+/v/9/f3/+vr6//f39//y8vP/y8vM/5SUlP9lZWb/PT09/z09 + Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+ + Pv89PT7/TU1N/19fX/90dHX/jY2O/6amp/+/v8D/2dna/+7u7//w8PH/8fHy//Hx8v/y8vP/8vLz//Pz + 8//f3+D/xsbH/7S0tP+KipP/ExND/wICNP8LCzT/Hx87/zExP/8wMDT/QEBA/wwMDP8AAAD5AAAA6wAA + ANYAAAC3AwMElC8vSKRgYI/qfX2w/4iIv/9PT5T/KipN/x8fOrYhIT4y/v7+/9fX4P+amq//Z2eG/yoq + Vv8FBTn/BgY6/wYGOv8HBzv/CQk8/woKPf8AACP/AAAV/wYGF/8QEBr/JCQq/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIBAQIwDQ0YKhgY + K1UZGS6cGRku1SAgPPEmJkf/Li5X/zg4af9CQn7/Tk6T/1dXpf9VVaD/S0uN/0lJif9OTpP/UVGY/1NT + nP9UVJ7/TEyP/zo6bv8wMFr/KipQ/ysrUf87O3D/UlKb/3FxwP+Hh8n/iorL/42NzP+Ojsz/jo7N/42N + zP+MjMz/i4vL/4mJyv+IiMr/hYXJ/4ODyO6CgsfRgoLHrIKCx4KDg8hXhITINX9/xiB2dsIOdnbCA4CA + xgH+/v4A/v7+EP7+/uD+/v7//f398Le3t/9UVFT/Pz8//0BAQP9GRk5KYmKaElVVhhZMTHkaSkp2HkhI + cyJKSnYmSkp4J0pKeylPT4MrVlaMK19fmC1paaYtcnKzLXp6vS9/f8MxeXnDM3BwvzdmZrs6WlqpPk5O + k0E+PnZFnZ3TUZOTz0yDg8hJcHDARGBgs0FdXa49Xl6xOWBgszZhYbcyY2O5L11drixcXKwpX1+yJl5e + sSRZWagjSUmJJi4uVjHX19ut8fH0/729yv+Wlqz/amqK/zo6ZP8hIVD/GhpK/xYWR/8WFkf/ExNF/xMT + Rf8TE0X/FhZH/wAAM/8ODiz/FBQe/yoqLv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgYH/RYWGfwuLjX9T09c/3Z2iv+Wlq7/ra3J/7u72//BweP/vLzi/7a23/+urtv/paXX/5ub + 0/+Rkc//hobK/3h4w/9ra77/dHTB/3Jywf9pab3/SUmJ/0BAef9aWqr/aWm9/1lZpv9ISIf/MTFc/xoa + Mv8ZGS//GRkv/xkZL/8ZGS//GRkv8RkZL8nm5ujp/f39//v7+//4+Pn/9fX1//Dw8f/CwsP/mpqa/3R0 + dP9RUVH/PT09/z09Pf89PT7/PT0+/z09Pv89PT7/S0tL/25ubv89PT7/PT0+/19fX/9oaGn/a2ts/2tr + bP9vb2//fX19/5CQkP+hoaL/uLi5/87Oz//i4uP/8fHy//Ly8//z8/T/8/P0//T09f/09PX/9PT1//b2 + 9v/t7e7/2tra/8fHx/+cnKT/JydU/xQURv8ICDr/Fxc7/zAwRv9LS1X/WVlZ/yYmJv8AAAH+AAAA8wAA + AOAAAADEAAAAoA4OFYZJSW+1cnKl+YyMv/96er7/Oztw/yQkQ/AiIkBiJydJE/7+/v/X1+D/m5uw/2lp + iP8qKlf/BgY7/wYGO/8HBzz/Bwc8/woKPv8KCj7/AAAz/wAAHv8FBRT/EBAa/yQkKv8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQEBAoMFBQliDg4aZxYW + KZgYGC7OGRkv8SYmR/8qKlD/NTVj/0BAeP9LS47/Vlah/19fs/9lZbv/a2u+/2Fhtv9ZWaj/V1ej/1lZ + qP9cXKz/Wlqp/1hYpv9ZWaf/XV2u/1JSm/9FRYH/Q0N+/0pKi/9eXrH/enrE/4qKy/+Njc3/i4vM/4qK + y/+IiMv/hobK/oaGyvaFhcnjhITJyIODyKeDg8h5g4PIT4SEyTGFhckZh4fKCP7+/gD+/v4A/v7+AP7+ + /gD+/v5A/v7+0P7+/gD+/v5w/v7+/+7u7v+mpqb/QkJC/z8/P/9AQEHxV1d1G29vtQ5vb7YQcHC4Em1t + sRVvb7MXcHC1GW1trxxvb7Yebm62IG9vtyJ4eMAkenrBJ3x8wSqCgsgsg4PIMHx8xTJycsE2Z2e8OVpa + qj1OTpNBQUF6RZ6e1FCUlM9Mh4fJSHNzwURiYrdAX1+wPF9fsThgYLI1YWG1MmRkuS9gYLMrYGCzKGBg + syVfX7EjXV2tIU9PkyI5OWop2dnem+/v8/+qqrz/fHyZ/1ZWe/8+Pmj/JSVV/xoaTP8YGEv/FRVI/xYW + Sf8VFUj/FBRI/xcXSv8AADX/Dg4t/xUVH/8qKi//QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wICA/gLCw3uISEn6UNDTuhvb4HqlJSs9K6uyvy+vt3/xsbm/8bG5v/FxeX/wsLk/7+/ + 4v+5ueD/sbHc/6Sk1v+Njcz/jIzM/4yMzP+EhMj/xsbm/+jo7f9PT3z/RER//2xsvv9ubr7/ZWW6/1hY + o/9GRoP/MTFc/xwcNP8ZGS//GRkv/xkZL/8ZGS//yMjN+/39/f/7+/v/+vr6//f39//09PX/7Ozt/8zM + zf+tra7/l5eX/4aGh/94eHj/cHBw/25ubv9vb2//cnJy/319fv+0tLX/QkJC/z09Pf+0tLX/v7/A/8bG + x//Gxsb/w8PE/8vLzP/b29z/7Ozt//Pz9P/09PX/9fX2//X19v/19fb/9vb3//b29//39/j/9/f4//n5 + +f/6+vr/6Ojp/9nZ2f+WlqX/KipY/x8fUP8bG03/EhJE/yoqS/9ERFP/WFhb/01NTf8GBgb/AQEB/QAA + AOkAAADQAAAArgAAAIckJDaCYWGPyYODtv+Xl8n/W1ur/y8vWP0kJEO2JiZHJzAwWgT+/v7/2Njh/5+f + tP9ubo7/Li5c/wYGPf8HBz3/CQk//wsLQf8MDEH/DQ1C/w4OQ/8AACn/BgYa/xAQGv8kJCr/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0gEBArQGBgugDw8bqhcX + KdAjI0H1LCxT/zc3Z/8zM2D/PT1x/0lJiP9VVZ7/Xl6u/2Rkuf9pabz/bm6+/3Bwv/9wcL//bGy+/2Zm + u/9pabz/bm6+/25uv/9tbb7/a2u9/25uvv9xccD/dHTB/2hovP9dXaz/X1+w/2trvf94eMP/goLH/4WF + yfqFhcnthITI2oSEyMKEhMidhITIcISEyEiFhckmh4fJDoiIygNZWVkAU1NTAO7u7gD+/v4A/v7+AP7+ + /gD+/v4A/v7+QP7+/v/+/v6g/v7+8P39/f/u7u7/n5+f/z4+Pv8/Pz//QEBA/0ZGTkh6esQNenrEDnt7 + xBB9fcUSfHzFFHx8xRd8fMUYfHzFG3l5wx56esQgfX3FI35+xSZ+fsYpgIDGK4SEyC9/f8Yxd3fDNWho + vDhbW6o8UFCUQENDfESgoNVPlZXQS4iIykd2dsJDZWW7P19fsTtgYLE4YWG0NWFhtDFiYrUuYmK1KmNj + tyhiYrYlY2O3ImFhtCBfX6ofV1eQI5ycoZSrq7H/XV11/yUlRv8ICC//AAAu/wAAN/8HBz7/GRlM/xYW + Sv8XF0v/FRVJ/xMTSP8VFUn/AAA3/w8PLv8VFSD/Kiov/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD1AQEB4QcHCMkcHCCyTU1Zp4KCmLKoqMPJvb3b3MbG5uvHx+b4x8fm/sfH + 5v/Hx+b/xsbm/76+4v+wsNz/rKza/6+v3P+qqtr/oaHW/6ur2v/Z2e7/VVWR/zk5af9aWqb/enrE/3Nz + wf9ra77/YWG0/1RUm/9ERH3/Ly9X/xkZL/8ZGS//GRkv/8XFy//+/v7//Pz8//v7+//5+fn/9/f4//b2 + 9//29vb/9fX2//T09f/t7e7/6Ojp/+Tk5f/i4uP/5OTl/+jo6f/q6uv/9fX2/39/gP+Ghof/9vb3//b2 + 9//29vf/9vb3//b29//29vf/9vb3//b29//39/f/+Pj4//j4+f/4+Pn/+Pj5//j4+f/5+fr/+fn6//v7 + +//8/Pz/+fn5/9zc3/9xcY3/Hx9R/x8fUf8fH1H/ExNH/yEhSv88PFL/T09W/1dXV/8fHx//AQEC/wEB + AvoAAADbAAAAvQAAAJcDAwRwQUFhi3V1p92SksP/iYnH/0JCfP4qKk7tJiZHVSwsUQ7+/v4A/v7+/9nZ + 4v+hobX/cHCQ/zAwXv8JCUD/CAg//wkJQP8LC0L/DQ1D/w0NQ/8PD0X/AAAz/wkJJv8RERz/JCQq/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAB7QICA9sGBgrSDw8c3yAg + O/c0NGH/QkJ7/01Nj/9QUJP/SEiF/1RUnP9dXa3/ZGS5/2pqvf9tbb//cHDA/3Nzwf91dcL/eHjE/3x8 + xf9+fsb/gYHH/4WFyf+Jicv/iIjK/4SEyf9/f8b/e3vF/3h4xP93d8P/cXHA/2lpvf9nZ7z3bW2+6nt7 + xdqEhMm9hITJlISEyWaFhck5hobJF4eHygXp6ekA6+vrAOvr6wDt7e0AZ2dnAEdHRwDOzs4A/v7+AP7+ + /gD+/v4A/v7+AP7+/kD+/v7Q/v7+0P7+/v/8/Pz/+fn5/8fHyP9bW1v/Pz8//0BAQP9HR09IfX3GDX19 + xQ58fMUQfn7GEn9/xhR/f8YWfn7GGH19xhp8fMUdfX3GH35+xiJ+fsYlf3/GKICAxyuAgMcugIDHMXt7 + xTVsbL44X1+wO1RUmz9ISIZDn5/VTpaW0UqIiMpHd3fDQmdnuz5hYbE7YmKzN2NjtTRjY7UwY2O1LWVl + uCpnZ7snZma6JGtrviFwcMAecHC7HV9fiCxoaGysZmZv/zw8Uv8XFzP/BAQg/wAAG/8AAB3/AAAi/wAA + MP8DAz3/GBhN/xgYTf8WFkz/FhZM/wAAOP8PDy//FhYh/yoqL/9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQQEBWgaGh5GaWl6QrGxzmDGxuaOx8fmvcjI + 59zIyOfsycnn9cXF5vy9veL/ubng/7+/4//Dw+T/v7/j/7u74f+1td7/ra3b/4GBx/9HR4L/UFCS/4KC + yP+EhMn/e3vF/3R0wv9qar3/YGCv/1JSlv8/P3T/KytP/xoaL//Gxsz//v7+//39/v/9/f3//Pz8//v7 + +//7+/v/+vr7//r6+//6+vr/+vr6//n5+v/5+fr/+fn6//n5+v/5+fr/+vr6//n5+v+srK3/vb2+//r6 + +//6+vv/+vr7//r6+//6+vv/+vr6//n5+v/6+vr/+vr6//r6+//6+vv/+/v7//v7+//7+/z//Pz9//39 + /f/+/v7//v7+/6iovP83N2X/HR1R/xoaT/8VFUv/DQ1F/xgYRv8wME3/TExZ/2RkZf9DQ0P/AgID/wIC + BP4CAgT2AAAAyQAAAKYAAAB+DAwTX15eiqGEhLjwoKDP/2JitP83N2T3KChKtCkpShU2NmMD/v7+AP7+ + /v/a2uL/oqK3/29vkP8tLV7/CAhB/wkJQv8JCUL/CwtD/w0NRf8ODkb/EBBH/wAAN/8JCSn/EREd/yQk + Kv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wEBAvMFBQnzDQ0Y+hsb + Mv8xMVr/OTlm/zo6a/9TU5n/Xl6r/15erP9lZbj/aWm9/25uv/9ycsH/dnbD/3l5xP99fcb/gYHH/4aG + yv+Kisz/jY3N/46Ozf+Ojs3/j4/O/46Ozf+Kisz/hITJ/39/x/95ecT7dnbD9HR0wutxccDcbGy+uWlp + vYl1dcJRiIjLJo+Pzgv+/v4A/v7+AP7+/gDu7u4A6OjoAOnp6QDq6uoA6+vrAJSUlABAQEAAhYWFAP7+ + /gD+/v4A/v7+AP7+/gD+/v5A/v7+//7+/kD//////f39//z8/P/4+Pn/l5eY/z8/P/9AQED/R0dPSH19 + xgx8fMUNe3vFD3t7xRF/f8cTgIDHFn5+xhd9fcYafX3GHH5+xh9/f8chgIDHJIGByCeBgccqgYHHLYKC + yDB/f8c0cXHAN2ZmujtcXKc+UVGTQpaW0E6Ojs1JgoLIRnd3w0FsbL49amq9OnFxwDZxccAzaWm8MGVl + ty1mZrgqaWm9J25uvyN5ecMhaGh8Vnp6evJ9fX3/d3d9/1xccf86Ol//FxdI/wQEL/8AACP/AAAb/wAA + Fv8AABn/AAAg/wAAKv8AADn/FxdO/xcXTv8AADn/Dg4v/xYWIv8qKi//QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADgAAAAwgAAAJkAAABmAAAAPQAAAB8AAAAKAAAAAMjI + 5xXJyec+yMjneMfH5rTAwOPeurrh9sDA4/nGxub9x8fm/8fH5v/Gxub/xMTl/8LC5P+5ueD/fn7G/1lZ + of95ecT/np7U/42Nzf9+fsb/c3PB/21tvv9hYbD/VFSZ/0VFfP81NWH/ycnQ///////+/v7//v7+//39 + /f/8/P3//Pz9//z8/f/8/Pz//Pz8//z8/P/7+/z/+/v8//v7/P/7+/z/+/v8//z8/P/8/Pz/z8/Q/9LS + 0//8/Pz//Pz8//z8/P/7+/z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz9//39/f/9/f3//v7+//7+ + /v/x8fT/mpqy/zc3Z/8aGlD/GxtR/xwcUf8UFEv/CgpD/w8PQ/8mJkv/Q0NW/11dY/9lZWX/Dg4P/wUF + B/8EBAf+AwMF7gAAALMAAACNAAAAZSoqQF5zc6a+lJTH/ZGRy/9KSoX/MzNb5CoqTEsxMVgG/v7+AP7+ + /gD+/v7/2tri/6Ojuf9wcJL/Kytd/wUFQP8JCUP/CgpE/wwMRf8MDEX/EBBI/xISSv8AADj/Cgor/xIS + H/8kJCr/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf4DAwX+CQkR/xIS + If8bGzL/JiZF/zIyWv9HR4D/Y2Oz/2pqvf9pabz/b2+//3Nzwf93d8P/fHzF/4CAx/+Fhcn/iYnL/4qK + y/+Ojs3/kJDO/5CQzv+Ojs3/jIzM/4qKy/+Jicv/h4fK/YSEyPmAgMfxfHzF2nd3w69zc8FxcHC/Nmlp + vBJmZrgC/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/f39AOzs7ADp6ekA6+vrAOvr6wC3t7cARkZGAHNz + cwD+/v4A/v7+AP7+/gD+/v4A////QP////////////////7+/v/9/f3/+/v8/87Ozv9UVFT/QEBA/0RE + TEdxccAMcHC/DW1tvg9sbL4RcHC/E3R0wRV1dcIXd3fDGX19xRyEhMgeiorLIZCQziSOjs0mh4fKKYKC + yC2EhMgwg4PIM3p6xDZzc8E6XFynPUJCd0GLi8xOhYXJSXx8xUV0dMJBcHDAPXx8xjqNjc02j4/OM4mJ + yzCGhsotiYnLKouLzCdSUmdaSkpQrF1dXvJycnP/ZWVu/05OYf80NFL/Hh5I/wwMP/8CAjj/AAA1/wAA + MP8AACT/AAAd/wAAGf8AABn/AAAh/wAALf8AADz/AAA7/w8PMP8XFyP/Kiow/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAA4AAAAMIAAACZAAAAZgAAAD0AAAAfAAAACgAA + AADJyecCycnnBMjI5wbCwuQQu7vhKr294lnFxeWbx8fm1sfH5vXHx+b/yMjn/8jI5//IyOf/x8fm/7q6 + 4f+Njc3/hYXJ/6qq2f+0tN7/o6PW/5SU0P+IiMr/eHjD/2dnuf9ZWZ//TEyI/9DQ3P////////////7+ + /v/+/v7//v7+//39/v/+/v7//v7+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+/9/f + 4P/f3+D//f3+//39/v/9/f7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/4+Pp/6mp + vv9hYYf/GhpS/xoaUv8cHFP/HBxT/xwcU/8bG1L/FBRN/wkJRf8dHUr/ODhT/1RUX/9ra2v/MzMz/wQE + Bf8ICA3/BgYK/AQEB+IAAACcAAAAdAAAAE1SUnpwhoa61Ken0/9sbL3/QUF18S8vVactLVIKPT1uAv7+ + /gD+/v4A/v7+/9ra4/+jo7r/c3OV/ysrX/8DA0D/BQVC/woKRv8MDEf/DQ1I/xISTP8UFE3/AAA5/woK + Lf8TEyD/JCQr/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL/BQUI/wsL + E/8RER//HR00/y4uU/8/P3L/WFif/3Bwvf90dML/cnLB/3h4xP9/f8f/g4PI/4eHyv+Kisv/jIzM/42N + zf+MjM3/jIzM/4yMzf+Li8z/iYnL/4iIyv+Ghsr/hYXJ8YSEyc6EhMmTg4PJVIGBxyd8fMUOd3fDBnFx + wANoaLwBYmKxAf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AKqq + qgCHh4cA/v7+AP7+/gD///8A////AP///0D////////////////+/v7//v7+//7+/v/19fX/fHx8/0dH + R/9RUVlHaWm8DGdnuQ1kZLQPYWGvEWJisRNnZ7oVamq+F3FxwBl7e8UciYnLHpyc1CGpqdkkqanZJqam + 2CmkpNctpqbYMKKi1jOKiss2Z2e5OkhIgj02NmFBkpLPTYiIykh5ecNFZ2e4QWBgrD12dsI5k5PPNZWV + 0DKOjs0vgYGwOV1dZpRJSUrlQ0ND/0lJSv9NTVT/S0ta/0REXv8xMVX/HBxI/w0NP/8FBTz/AAA7/wAA + Of8AADf/AAA2/wAANv8AAC3/AAAi/wAAHf8AAB7/AAAp/wAALv8ODi3/Fxcj/ysrMP9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQAAAGYAAAA9AAAAHwAA + AAoAAAAAAAAAAAAAAAAAAAAAurrgAr6+4gbDw+UMx8fmFsfH5ijHx+ZNx8fmgMfH5rfHx+bjyMjn+MnJ + 5//Jyef/u7vh/5+f1P+yst3/x8fm/8PD5f+9veL/t7ff/62t2/+goNX/jo7N/3l5xP/Q0On///////// + //////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7/1dXV//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/d3eD/zs7T/4uLmv9lZX//IiJT/w8P + Sv8aGlP/GRlS/xwcVP8aGlP/GhpT/xwcVP8bG1P/FxdQ/xERTP8UFEn/Li5R/0tLXP9mZmr/W1tb/wEB + Av0GBgj+DQ0V/wkJEPoFBQnSAAAAgwAAAFsGBgo7cHCij5ycy+ecnNH/YGCp/z09bNcvL1RKNTVfAk9P + jAH+/v4AW1uiAv7+/v/Y2OL/o6O5/3Jylf8uLmL/AwNB/wMDQf8KCkf/DQ1J/xAQS/8TE03/FhZQ/wAA + O/8KCi//ExMh/yQkK/8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQED/wYG + C/8NDRj/Fxco/yYmRP86Omj/TU2K/2Njr/95ecH/gYHH/4CAx/+EhMn/h4fK/4qKy/+Kisv/jIzM/4uL + y/+Kisv/iIjK/4iIyv+Hh8r/h4fK+IaGyd+FhcmzhYXJeoWFyUeFhckkh4fKFYeHygyIiMoGhYXJAv7+ + /gD9/f0A+Pj4AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDh4eEApqamAM/PzwD+/v4A////AP///wD///8w//////////////////////7+/v/+/v7//v7+/6qq + qv9vb2//YmJtOHp6xAx5ecMNd3fDD3FxwBBsbL4SbGy+FW1tvhZsbL4ZbW2+G3d3wx2WltEgra3bI62t + 2yapqdkppKTXLKWl1y+hodUzjIzMNmdnuDlJSYI9ODhjQZ2d1EyNjc1HdXXCRFpan0BISH48WVmcOXNz + wTV1dcIyq6u3l5GRkvN6enr/W1te/0JCSv85OUf/NTVL/y0tTf8hIU3/FRVM/woKRv8EBEL/AQFC/wQE + RP8AAED/AAA9/wAAOv8AADj/AAA4/wAAOP8AADD/AAAk/wAAIv8AACD/CQkd/xYWIf8tLTL/QEBA/wQE + BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADgAAAAwgAAAJkAAABmAAAAPQAA + AB8AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWRkcwKGhpoGra3ID7m51hu/v9wrxsbkScbG + 5XPIyOeiycnnz8jI5++6uuH/rq7b/8TE5f/MzOj/y8vo/8nJ5//Hx+b/wcHk/7m54P+trdv/pKTX/6en + 2P+Sks//fHyp/2hohv9mZoL/Y2N+/1RUZP9UVGT/VFRk/1RUZP5XV2bzXV1s3W5ue6+Wlp923d3gS/7+ + /kD+/v5A/v7+QPz8/ED+/v5A/v7+QPr6+kFHR08Gj4+UJs/Pz/S5ucD/cHCN/zIyW/8NDTT/AgIn/wAA + K/8AADb/AABB/xMTT/8ZGVT/GRlU/xkZVP8cHFb/GhpU/xUVUP8NDUv/JCRQ/0FBWv9eXmb/a2tr/xoa + Gv4CAgL7CwsP/RMTH/8PDxr3BgYLvQAAAGoAAABFJiZAOoaGu7KlpdP2gIDF/1RUlO06OmWYNTVdEamp + qQDQ0NAA/f39AFtboDj+/v7/19fh/6Ghuf9ycpb/MjJm/wcHRv8ICEf/DQ1L/w0NS/8NDUv/EBBN/xUV + Uf8AAD7/Cwsz/xMTIv8kJCv/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC + A/8ICA//FhYj/yQkPv8zM1r/SEh//11dnf9qarL/fn7D/4yMzP+IiMr/iIjK/4iIyv+Jicv/iIjK/4mJ + y/+IiMr/h4fK/oeHyuuHh8rJh4fKnYeHym6Hh8pDh4fKJ4iIyheKissLi4vMA42NzQGdnZ0Ao6OjAK+v + rwC5ubkAvb29AMnJyQDf398A8vLyAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AN3d3QDT09MA/v7+AP7+/gD///8A////AP///zD///9A////QP///0D8/P1B+Pj6QvLy + 9UTb2+BFq6uyNoaGyQqHh8oLh4fKDIeHyg6EhMkQfn7GEnh4wxRycsEVamq7GF9fqBtbW58dc3PBII+P + zSOQkM4liYnLKIKCyCuDg8gujIzMMpCQzjWAgMc4XV2jPD09bECgoNVLjY3MR3JywENVVZU/PDxoO0FB + cThZWZs04ODui/7+/v/l5eX/kpKh/1pacf85OVX/KSlN/x8fTP8UFEz/ERFO/xsbVv8hIVr/HBxX/xkZ + Vf8YGFT/FhZS/w4OTP8AAEL/AAA+/wAAO/8AADr/AAA6/wAANv8AAC//AAAh/wgIF/8XFyL/Li4z/0BA + QP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAA4AAAAMIAAACZAAAAZgAA + AD0AAAAfAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAGAAAACAAAAAoAAAAKFhYZCXR0 + hA6xscoYxMTiKsnJ50LJyedpxcXllrm54L29veHgycnn9szM6P/MzOj/y8vo/8nJ5//Gxub/wsLk/7y8 + 4f+yst3/n5/U/4CAx/9eXqX/U1OR/1BQi/8+Pm3/IyM8/xsbMP8bGzD/Gxsw/xsbMPwbGzDrGxswyBsb + MIkbGzBBGxswDxsbMAMAAAAAAAAAAAAAAAAAAAADAAAACdLS0prd3d3/jY2j/0tLdf8fH1b/BwdA/wAA + Mf8AAC3/AAAz/wAAQP8cHFf/GxtW/xYWUv8WFlL/FhZS/xQUUf8NDUv/GhpO/zY2Vv9SUmH/b29w/0dH + R/8AAAD6AwMF9xAQFvsaGiz/FBQk8gsLE6QAAABSAAAAMVBQhE6MjMXQh4fI/nFxv/5NTYXKOztmSUBA + bwIAAAAAAAAAAFxcoSReXqWc/v7+/9TU3/+goLj/cHCV/zMzaP8MDEv/DQ1M/w0NTP8NDUz/Dg5M/w8P + Tf8ODkz/AABA/wsLNf8UFCP/JCQr/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAgP/CgoQ/xwcJv8zM0T/RkZm/1lZiP9lZaH/Zmaw/319w/+Njcz/h4fK/4aGyf+Fhcn/hobJ/4aG + yfSGhsnehobJuYaGyZGGhsllh4fJP4eHyieJicoVi4vLBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg4PIAWNj + rAI+PmsFQkJzB2pquAiGhskJhobJC4eHyQyHh8kOh4fKEISEyBJ+fsYUdXXCFWpquRhcXKAaT0+KHFpa + nB9vb78ifX3FJYCAxyh+fsYrfHzFLnt7xDGAgMc0hYXJOG9vvztJSX8/m5vTS4iIykZsbLtDU1ORPzs7 + Zzo5OWM3R0d7NOPj7Zj+/v7/5eXs/6urwv96epz/U1OA/0JCdP9ERHX/Skp6/09Pff9SUn//S0t6/z09 + cP8wMGf/JSVe/x8fWv8dHVj/GBhV/woKSv8AAEH/AAA9/wAAO/8AADn/AAA4/wAAKv8JCRr/GBgi/y8v + M/9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQAA + AGYAAAA9AAAAHwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAIAAAADQAAABMAAAAWAAAAFgAA + ABIAAAAMAAAABwAAAAOYmK4Ey8voDsrK6CLCwuQ8vLzhYMTE5Y/IyOe3y8vo1MrK6OvJyef7yMjn/8jI + 5//Hx+b/xMTl/7294v+zs93/oqLW/5aW0f+Njc3/enrE/19fpv8/P23/Hx82/xwcMP8cHDD/HBww/xwc + MP0cHDDrHBwwwRwcMHocHDA4HBwwEhwcMAMAAAABAAAABsrKykzu7u7/tbXF/2dnjP8tLWL/DQ1J/wIC + Pf8AADn/AAA2/wAANv8AAEL/NDRp/zc3bP8dHVj/ERFQ/w8PTv8JCUn/EBBJ/ykpUv9GRlv/YmJn/2Ji + Yv8GBgb8AAAA9gUFCPAXFyD3IiI7/xwcMewPDxuJAQECPQMDBSJwcK54cnK95F5eov9hYajqSUl/ikBA + cBQAAAAAXl6kAl5epBVhYaiFiorH6f7+/v/Q0Nz/nJy1/25ulP8uLmX/CwtL/wwMTP8NDU3/Dg5N/xAQ + T/8NDU3/DQ1N/wAAQf8LCzf/FRUl/yQkK/8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AgIE/wsLEP8dHSf/NzdG/1FRa/9jY4z/YmKg/2Bgpv96esH/jIzM/4aGyvmDg8jpg4PI0YSE + ybKFhcmIhobKWoaGyjmIiMsgiYnLDYqKzAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIOD + yAGDg8gCWVmbBT8/bgZLS4IIamq4CYODyAuFhckMhobKDoiIyg+GhsoRhYXJE35+xhVxccEXZmaxGlpa + nBxbW58fZmayInBwwCR1dcIndXXCKnR0wi1ubr4xZmayNG5uvzhvb787WFiYP4yMzEp1dcJGXV2gQkRE + dT4vL1I6KipINzAwUjPg4OaY//////Ly9v/a2uT/w8PT/6SkvP+Pj63/i4uq/4yMq/+Ojq3/jo6t/39/ + ov9kZI7/SEh6/zAwZ/8iIl7/Hh5b/x4eW/8YGFf/CgpM/wAAQ/8AAD3/AAA5/wAAN/8AACX/CAgX/xgY + I/8vLzT/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADgAAAAwgAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACAgMcAf3/GAH9/xgCAgMcAgYHHAICAxwB/f8YAf3/GAH19xgB9fcYAfX3FAHl5xABxcb0AZmasAGBg + oQBdXZwAXFyaAFpalwBXV5IAVVWPAB0dMAAdHTAASEh5AFxcmwBZWZUAVVWOAE9PhQBKSn0ARkZ1AEND + cQBAQGsAPT1mADs7YgA4OF4ANTVZATMzVQMnJ0EFHR0wBygoQwgrK0kKKSlGCygoQw0nJ0EOJSU/ECQk + PBIjIzoUIiI5FiAgNhgdHTEbHR0wHB0dMB8dHTAhHR0wJB0dMCcdHTApHR0wLh0dMDIdHTA3HR0wPx0d + MEdxcb3tVFSN5TY2Wt0dHTHQHR0xwB0dMa8dHTGaHR0xhR0dMXIdHTFfHR0xTh0dMT8dHTExHR0xJh0d + MR0dHTEWHR0xEfX19ob39/n/z8/d/56euv9iYpD/Kytp/xkZXf8cHF//Gxte/xoaXf8ZGV3/FRVa/w8P + Vv8AAEv/AAA1/wkJGv8YGCT/MDA0/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD1AAAA4AAAAMIAAACZAAAAZgAAAD0AAAAfAAAACv7+/gD+/v4A/v7+AP7+/gAAAAACAAAACAAA + ABIAAAAcAAAAJgAAAC0AAAArAAAAIwAAABoAAAATAAAAEQAAABYAAAAgAAAAKAAAACwAAAAqAAAAIwAA + ABgAAAAOAAAABwAAAAL+/v4A/v7+AP7+/gD+/v4A/v7+AM3N6QHOzukCzs7qBM3N6QjLy+gTy8voNsvL + 6HHLy+iwysro38rK6PjKyuj/ysro/8rK6P/IyOf/hYXJ/25uuP+Zmc7/lJTF/+/v7/+zs8j/a2uW/0VF + fP8vL2z/IiJi/xoaXf8VFVr/Dw9W/wAAS/8AAET/AAA9/wAAOf8AADz/AAA//wMDQv8QEEX/JydL/zs7 + Tf9LS07/QUFB/wUFBf0GBgf9Dw8V/xERG+0ICA24Dg4WlEZGasVbW5X0VFSNqCYmPxZbW5kacHC7y2tr + tPlpabCwJSU+Mh0dMQFQUIYgg4PIipOTz/qgoNX/lpbR/35+xsm5udx6/v7+/9DQ3v+enrr/YWGQ/wIC + TP8AADf/AAAu/wAANv8AAET/AQFM/wUFT/8AAEv/AABD/woKNv8YGC7/JCQs/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AQEB7AEBAdIBAQGuAAAAgAAAAFIAAAAuAAAAFAAA + AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAfX3GAHt7xQB3d8MAdnbDAHZ2wwBzc8AAcXG9AG9vugBtbbYAamqyAGdnrQBmZqoAYGCgAFRU + jQBJSXoAQEBrAD09ZgA6OmEANjZbADMzVgAdHTEAHR0xAB0dMQA3N10AMzNVADAwUAAtLUsAKChEACQk + PQAiIjgAHx80AB0dMQAdHTEAHR0xAB0dMQEdHTEDHR0xBB0dMQcdHTEHHR0xBx0dMQcdHTEGHR0xBx0d + MQkdHTELHR0xDB0dMREdHTEXHR0xHR0dMScdHTEyHR0xQB0dMU8dHTFgHR0xdB0dMYcdHTGcHR0xsR0d + McIdHTHRg4PI/mpqr/1OToD7Li5M+R4eMfgeHjH1Hh4x8h4eMfAeHjHtHh4x6h4eMeQeHjHbHh4x0B4e + McQeHjG3Hh4xpx4eMZa0tLrA/f39/9DQ3v+goLz/Z2eU/ywsa/8YGF3/Ghpe/xoaXv8bG1//GRle/xcX + XP8TE1n/Dw9X/wAAPv8MDCP/GBgk/zAwNP9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA9QAAAOAAAADCAAAAmQAAAGYAAAA9AAAAHwAAAAr+/v4A/v7+AP7+/gD+/v4AAAAAAQAA + AAYAAAAMAAAAFAAAABsAAAAgAAAAHgAAABgAAAATAAAAEgAAABcAAAAkAAAANQAAAEMAAABJAAAARgAA + ADoAAAApAAAAGAAAAAwAAAAEAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4AysrKAKmpqQDPz+oBzs7pAs3N + 6QfMzOkPy8voGcvL6DTLy+hdy8volMvL6MjLy+jtysro/5qa0f+Vlc7/vb3a/+rq7P/U1N7/goKn/09P + g/82NnL/JSVm/x0dYP8ZGV7/Fxdc/xMTWf8PD1f/AQFN/wAARv8AAEH/AAA//wICQP8JCUL/GxtG/zMz + TP9KSlL/WFhY/xkZGf4AAAD4BQUG9BcXIP4iIjHzEhIcrBAQGHpUVHuzamql7GJioJU/P2gQcXG5PGxs + sexmZqjsaWmtYT4+ZxAeHjEYPj5ldJKSz+ecnNP/l5fR/ISEyK10dL856urzSv7+/v/Q0N7/oKC8/2lp + lv8PD1f/AAA+/wAANv8AADf/AAA//wAARv8AAEn/AABK/wAAQv8JCTP/EREg/yQkLP8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAA + ABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGlprQBmZqcAYWGgAF1dmABaWpQAVlaNAFFRhgBOToAAS0t6AEdHdQBERG8AQUFrAD09 + ZAA2NlkALCxIACIiOAAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4e + MQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEBHh4xAh4eMQYeHjENHh4xFh4eMSAeHjEsHh4xOx4e + MUseHjFdHh4xbx4eMYQeHjGXHh4xqR4eMbgeHjHFHh4x0R4eMdweHjHlHh4x6x4eMe4eHjHxHh4x8x4e + MfYeHjH4Hh4x+pWV0P+EhMn/bW2y/09Pgv8sLEj/Hh4x/x4eMf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/R4e + MfseHjH4Hh4x9R4eMfEeHjHtlJSd9P7+/v/MzNz/np67/2holv8uLm7/GRlf/xkZX/8aGmD/Ghpg/xkZ + X/8YGF//Fxde/xUVXf8AAEX/Dg4t/xgYJP8wMDX/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPUAAADgAAAAwgAAAJkAAABmAAAAPQAAAB8AAAAK/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAADAAAABwAAAAsAAAAQAAAAEgAAABEAAAAOAAAADQAAABIAAAAfAAAANAAAAE4AAABiAAAAagAA + AGUAAABUAAAAOwAAACMAAAARAAAABgAAAAH09PQA/v7+AP7+/gD+/v4A/v7+AL6+vgCenp4A/v7+AP7+ + /gD+/v4A/v7+AMzM6AHMzOgHzMzoEMvL6B3Ly+gyzMzpVMzM6YGcnNGzlZXL3dXV4fzx8fH/np68/15e + j/8+Pnn/KSlr/x4eY/8bG2H/GRlf/xgYX/8XF17/FRVd/xERWv8FBVH/AABK/wAARP8FBUL/ExNE/ykp + SP9AQE7/V1dY/z4+P/8BAQH8AAAA8QICA+QcHCfzMzNI+SUlOq0YGCVmYGCMnnZ2suBwcLSEamqoFHh4 + wndpaa34ZmanqW1tsipVVYwSIiI3YD09ZNKQkM77lJTQ6oaGypJ2dsEra2uvCfv7/EH+/v7/0NDe/6Cg + vf9wcJz/IiJm/wAASP8AAEL/AABB/wAAQ/8AAEf/AABJ/wAASv8AAEP/CQkz/xAQHv8kJCz/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAA + AC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABDQ20AQEBpADs7YQA2NlkAMzNUADAwTwAsLEgAKChCACYmPwAkJDsAISE2AB8f + MwAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjECHh4xBh4e + MQ0eHjEVHh4xHB4eMSYeHjE0Hh4xQR4eMVEeHjFiHh4xcR4eMYEeHjGSHh4xoR4eMa8eHjG7Hh4xyB4e + MdMeHjHZHh4x3x4eMeMeHjHpHh4x7R4eMfEeHjH2Hh4x+B4eMfseHjH+Hh4x/x4eMf8eHjH/Hh4x/x4e + Mf8eHjH/Hh4x/x4eMf+jo9b/mprS/4yMzP9zc7v/UVGE/zo6Xv82Nlj/MTFQ/yUlPP8eHjH/Hh4x/x4e + Mf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/4+PmP/+/v7/yMjZ/5qauv9mZpb/Li5w/xkZYf8ZGWH/Gxtj/xkZ + Yf8ZGWH/GRlh/xkZYf8ZGWH/AABJ/xAQNP8YGCT/MDA1/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD2AAAA4gAAAcUBAQGcAAAAZwAAAD0AAAAfAAAACv7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAQAAAAMAAAAFAAAABgAAAAcAAAAHAAAABQAAAAgAAAASAAAAJQAAAD8AAABfAAAAdgAA + AIAAAAB6AAAAZgAAAEcAAAAqAAAAFQAAAAgAAAAB8fHxAPHx8QD+/v4A/v7+AP7+/gC9vb0Ajo6OAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4Azc3pA83N6QvHx+Ech4e5NbS0zILu7u7/u7vP/3Bw + nP9GRn//MDBx/yIiZ/8cHGP/GRlh/xkZYf8ZGWH/GRlh/xkZYf8ZGWH/FhZf/wcHVf8DA0v/DAxG/x8f + R/82Nkr/S0tR/05OTv8MDAz/AwMF/QMDBe4BAQHSFxch0kBAW/U/P2C6LCxCW2xsmoeCgr7TiYnEcpqa + zRyZmdK3iYnL6ZeX0VSdndMUm5vTT1ZWi8NGRnLya2uu139/xnt3d8EjaWmrA/7+/gDh4epN/v7+/9DQ + 3/+goL7/c3Oe/zExcv8DA1L/AABM/wAASP8AAEj/AABK/wAAS/8AAEv/AABD/wkJM/8QEB//JCQt/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAA + AFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAICA0AB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4eMQAeHjEAHh4xAB4e + MQAeHjEAHh4xAB4eMQMeHjEHHh4xDh4eMRQeHjEbHh4xJB4eMS8eHjE8Hh4xSB4eMVUeHjFiHh4xcB4e + MX8eHjGOHh4xnR4eMaoeHjG4Hh4xwh4eMcseHjHSHh4x2R4eMeAeHjHmHh4x7R4eMfEeHjH2Hh4x+R4e + Mf0eHjH/Hh4x/x4eMf8eHjH/Hh4x/x4eMf8hITb/JSU8/ygoQv8tLUn/MDBO/y0tSf8pKUP/JiY9/x4e + Mf8eHjH/Hh4x/x4eMf8eHjH/rq7b/6ys2v+mptj/mJjS/3t7xf9jY6H/X1+a/1tblP9TU4b/RUVw/zU1 + Vf8qKkT/JiY9/yIiN/8fHzL/Hh4x/x4eMf+Ojpj//v7+/8XF1/+YmLn/ZWWW/ysrbv8WFmD/FhZg/xkZ + Yv8bG2P/GRli/xoaY/8bG2P/Ghpj/wAASv8RETb/GBgk/zAwNf9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB+wICA/EEBAbfBwcLxAsLEZ4PDxl7FBQgXBoaKkQeHjEzHh4xKR4e + MSAeHjEYHh4xEh4eMQ0aGisIFhYlBA8PGAIAAAABAAAAAQAAAAEAAAAGAAAAEgAAACcAAABDAAAAZAAA + AH0AAACHAAAAgAAAAGsAAABLAAAALwAAABkAAAANAAAABwAAAAUAAAAFAAAAAwAAAAIAAAABoKCgAHZ2 + dgD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAAAAABAAAABAAAAAvm5ubW3d3l/4mJ + rv9RUYj/NDR1/yMjaf8ZGWL/GRli/xsbY/8ZGWL/Ghpj/xsbY/8aGmP/GRli/xkZYv8SEl7/CAhS/xkZ + TP8uLkr/Q0NO/1RUVP8pKSn/AwME/ggIDP4LCxLzBgYJxwoKEKZERGTbVlaAzFFRcF2Li7J0oKDQw6Wl + 1WO2tt8zqqra45eX0aifn9UgoaHWO5aW0bFvb7PmUVGDx0xMfGdbW5McaGipAmVlow5fX5o1oKDAmf7+ + /v/Q0N//oaG//3NzoP85OXj/FRVf/wcHVv8AAE7/AABL/wAATP8AAEz/AABM/wAARP8JCTP/EBAf/yQk + Lf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4eMQAeHjEAHh4xBB4eMQgeHjEOHh4xEx4eMRkeHjEhHh4xKh4e + MTQeHjE9Hh4xRh4eMVEeHjFeHh4xbB4eMXweHjGMHh4xmx4eMakeHjG2Hh4xvx4eMcgeHjHRHh4x2h4e + MeIeHjHqHh4x8B4eMfUeHjH5Hh4x/h4eMf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/x4eMf8eHjH/Hh4x/x4e + Mf8jIzn/KSlC/y0tSP8vL0z/MzNS/zc3Wf86Ol//Pz9l/0REb/9ISHX/TU19/1JShf9TU4f/T0+A/0hI + df8zM1L/Hh4x/x4eMf8eHjH/Hh4x/7W13v+3t9//tbXe/66u2/+Xl9H/goLH/4GBx/+AgMb/fX3F/3R0 + uf9lZaH/VVWH/09Pfv9LS3f/R0dy/0REbf9DQ2v/j4+Y//7+/v/Dw9f/lpa4/2Vll/8uLnL/GBhj/xUV + Yf8WFmL/GRlk/xsbZf8aGmX/Ghpl/xsbZf8AAEz/ERE3/xgYJf8wMDX/QEBA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAv8EBAb+BwcL+wwMEvUSEhzrFhYk3hoaKs4dHS+/Hx8xsB8f + MaMfHzGWHx8xiB8fMXkfHzFqHx8xXB8fMU8fHzFDHx8xOh8fMTEfHzEqGxsrJxMTHioKChA2BQUISwIC + BGYBAQJ5AAABgAAAAHgAAABjAAAARwAAAC8AAAAfAAAAFgAAABMAAAARAAAADwAAAAsAAAAGAAAAAwAA + AAGVlZUA/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AAAAAAgAAAAjX19d77+/v/6am + wv9iYpX/Pj58/ywscP8eHmf/FhZi/xYWYv8ZGWT/Gxtl/xoaZf8aGmX/Gxtl/xkZZP8YGGP/EhJf/xQU + Wv8sLFf/Pz9S/1JSVf9BQUH/AAAA+wEBAvcICA34EREb+RQUINkJCQ+MNzdYoFtbkdFoaJduj4+9aKCg + 0q+np9Zds7PdXJ6e1OaDg8dFgIDGLYODyJ2AgMbZf3/Gtm1trVRSUoMUS0t3DllZjS9sbKxqdHS4sp+f + 1O3+/v7/0NDf/6GhwP91daL/PT18/yAgaf8aGmX/DAxb/wAAUf8AAE7/AABO/wAATv8AAEX/CQkz/xAQ + H/8kJC3/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAHx8xAR8fMQEfHzEFHx8xCCIi + Ng0fHzERHx8xFh8fMR0fHzEkHx8xKx8fMTMfHzE7Hx8xRB8fMVAfHzFeHx8xbB8fMXofHzGKHx8xmB8f + MaUfHzGxHx8xvh8fMckfHzHUHx8x3x8fMegfHzHvHx8x9B8fMfsfHzH/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/yEhNP8jIzj/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/MTFO/0lJdf9XV4v/WVmO/11dlP9iYpz/Y2Oe/2hopf9sbKz/b2+x/3R0uf94eL//e3vE/3l5 + wP9vb7L/T09+/yMjOP8fHzH/Hx8x/x8fMf+2tt7/ubng/7m54P+zs97/oKDV/46Ozf+Ojs3/j4/N/4+P + zf+MjMz/goLI/3R0uP9ra6v/aGil/2dno/9mZqH/bW2t/7y83//+/v7/xMTX/5iYuv9lZZj/MDB0/xsb + Zv8YGGT/FRVi/xYWY/8ZGWX/GRll/xoaZf8cHGf/AABN/xEROP8YGCX/MDA1/0BAQP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL/BAQG/wcHDP8MDBT/ExMd/xgYJf8bGyv/Hh4v/x8f + Mf8fHzH/Hx8x/x8fMfwfHzH1Hx8x7h8fMeYfHzHdHx8xzx8fMcEfHzGyHx8xox4eMJccHCyMGBgmhRMT + HoUODhaLCgoQjwgIDYwICAyBCAgNbwoKEFoMDBJIDAwTPQsLETcJCQ4zCAgMLwcHCycHBwsbBwcMEQgI + DAgAAAACh4eHAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AAAAAAQAAAAWtra0s7e3t8svL + 2v97e6f/SkqF/zExdf8lJW3/HR1n/xgYZP8VFWL/FhZj/xkZZf8ZGWX/Ghpl/xwcZ/8ZGWX/FRVi/w0N + XP8lJV7/QUFf/1RUXv9YWFj/FBQU/gAAAfgBAQHsBgYK4BcXJegoKEDyKCg/pScnPmZNTXu1VFSHhXR0 + uGiSks2coqLWXKam14uamtKpiYnLIIeHyoaHh8rQhITIooGBxz9/f8YUamqoKFRUhltTU4Opamqo6oeH + yv2zs939/v7+/9DQ3/+hocD/dXWj/z09ff8fH2n/ISFq/xwcZ/8MDFz/AABS/wAAUP8AAE//AABG/wkJ + M/8QECD/JCQt/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACtAAAAgQEBAlUEBAY0CgoPHRcXJBMfHzESHx8xFx8fMRwfHzEiHx8xJx8fMS4fHzE1Hx8xQB8f + MU0fHzFbHx8xaB8fMXcfHzGIHx8xlx8fMaUfHzG0Hx8xwx8fMdEfHzHdHx8x5x8fMe8fHzH1Hx8x/B8f + Mf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8iIjb/IyM3/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/Hx8x/x8fMf8fHzH/LS1H/zQ0Uv83N1j/PT1h/0FBZ/9FRW3/SEhz/0xMef9SUoP/UVGA/0ND + av81NVP/Li5J/zQ0U/9ERGv/WFiL/29vsP99fcX/hobJ/4WFyf+Ghsn/h4fK/4mJy/+Li8z/jY3N/4+P + zf+Njc3/hYXJ/2Bgmf8sLEb/Hx8x/x8fMf8fHzH/qanZ/7Ky3P+2tt7/tbXe/6Ki1f+QkM3/kJDN/5GR + zv+Sks7/kpLO/4uLy/+AgMb/dna5/3Fxsv9xcbL/cnK0/3x8w//Dw+T//v7+/8TE2P+YmLv/ZWWZ/y4u + dP8bG2j/Gxto/xgYZv8WFmX/GRln/xkZZ/8YGGb/GRln/wAAUP8RETn/GBgl/zAwNf9AQED/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEC/wQEBv8HBwz/DAwU/xMTHf8YGCX/Gxsr/x4e + L/8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hh4v/x0d + Lf0bGyr4GBgm8hYWJOwWFiLlFhYi2hYWJMsXFyW7FxclqhYWI5wUFCCREhIdhxERG3kRERtoExMeVBUV + IT8ZGSctHBwsIB8fMRofHzEWHx8xEx8fMRAfHzENHx8xCh8fMQcfHzEGGRknBQwMFAUAAAAK5ubmt+7u + 8P+Xl7r/WlqS/zs7ff8oKHH/HR1p/xwcaf8bG2j/GBhm/xYWZf8ZGWf/GRln/xgYZv8ZGWf/FhZl/w8P + YP8bG17/ODhi/1VVaP9tbW3/Ojo6/wICA/4EBAf5BgYJ5wUFB8gODhawLy9LzUVFbOE8PF9vS0t3f05O + e41cXJJxfHzDh5eX0WGfn9SlmJjRSoyMzGWIiMrMhITIjX5+xTB5eb8ddXW5T3NztaJmZqHpXV2S+Who + pfGGhsnoubng2/7+/v/Pz9//oKDA/3Nzo/88PH7/ICBr/yEhbP8kJG7/Gxto/wgIW/8AAFT/AABS/wAA + R/8JCTT/EBAg/yQkLf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AO0BAQHWAgIDtwQEBpMJCQ5zEBAZXxgYJlcdHS5aHx8xZx8fMXgfHzGKHx8xnB8fMa4fHzHAHx8xzx8f + Md0fHzHnHx8x8B8fMfgfHzH9Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8f + Mf8fHzH/Hx8x/x8fMf8fHzH/Hx8x/x8fMf8fHzH/MjJQ/zo6XP85OVr/NjZV/zU1VP83N1f/OTla/zw8 + Xv8/P2T/Q0Nq/zo6XP8xMUz/NTVT/0lJc/9aWo7/Xl6U/2Rknf9paab/bm6t/21trP9vb6//dHS2/3h4 + vf97e8L/dHS3/2Njm/9VVYb/T098/1JSgv9dXZP/amqo/3x8w/+Jicr/kZHO/4+Pzf+Pj83/j4/N/5GR + zv+Sks7/kpLO/4uLy/9paaX/MDBM/x8fMf8fHzH/Hx8x/6am2P+mptj/p6fY/6Wl1/+Xl9H/jIzM/5GR + zv+Rkc7/kpLP/5KSz/+Ojs3/iIjK/319xP90dLb/cXGy/25urf+AgMf/xcXl//7+/v/Fxdn/mJi7/2Zm + mv8uLnX/GRln/xsbaf8ZGWf/FhZl/xkZZ/8ZGWf/GBhn/xgYZ/8AAFD/ERE5/xgYJf8wMDX/QEBA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICA/8FBQj/CAgM/w0NFP8TEx7/ISE0/y8v + Sf8yMk//Li5I/ygoPv8iIjX/ICAy/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/x8f + Mf8eHjD/HR0u/xwcLP8bGyv/Gxsq/xsbK/8cHCv/HBwr/xsbKv8ZGSj/GBgl/xcXI/8XFyP6GBgl9Boa + KescHCzgHh4v0B8fMb0gIDKoICAykyAgMn0gIDJoICAyVCAgMkIgIDI0ICAyKR4eLyAXFyQaxsbHZPf3 + 9/+4uND/b2+g/0dHhv8xMXf/IyNu/xsbaf8ZGWf/Gxtp/xkZZ/8WFmX/GRln/xkZZ/8YGGf/FRVl/xIS + Y/8SEl7/LCxh/0tLZf9nZ23/ZmZm/wcHCP4FBQj+DQ0U/hcXJPocHCzcFRUhnhAQGWxGRm6lVFSDu01N + emVKSnN/TEx3eWFhmXt/f8Zujo7Njo+PzkiKisvKhYXJbn9/xiN5eb5Bd3e7oXd3u+V4eL34fX3E8HV1 + uM9ra6ibc3O1W9bW7V/+/v7/0NDg/6Cgwf91daT/Pj6A/yMjbv8iIm3/JSVv/yQkb/8YGGf/AwNZ/wAA + U/8AAEj/CQk0/xAQIP8kJC3/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + Af0CAgL3BAQG8AgIDeoODhboFRUg6BoaKOsdHS7zHx8x+iAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAg + Mv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv8iIjb/Jyc9/yoqQv8tLUf/MDBM/zMz + Uf80NFL/MDBL/ykpQP8iIjX/ICAy/yAgMv8gIDL/IiI2/z4+Yf9PT3v/V1eJ/1lZjf9bW4//XFyR/15e + lP9iYpr/ZWWf/2hopP9sbKn/YWGY/1RUhf9bW4//bm6s/3p6wP99fcT/goLI/4GBx/9+fsX/fX3E/4GB + x/+EhMn/hYXJ/4WFyf+Fhcn/hobJ/3h4vP9sbKr/Y2Ob/2Jim/9nZ6L/c3O0/3x8w/+Fhcn/jIzM/5GR + zv+Rkc7/kpLP/5KSz/+Ojs3/cXGy/zU1VP8gIDL/ICAy/yAgMv+zs93/r6/b/6qq2f+hodX/j4/N/4GB + x/+IiMr/i4vL/5GRzv+Tk87/kZHO/46OzP+Fhcj/enq8/21tp/9ycq//hobI/8XF5f/+/v7/xcXa/5mZ + vf9oaJ3/Ly94/xkZaf8YGGn/Fxdo/xYWZ/8YGGn/GRlp/xkZaf8ZGWn/AABR/xEROf8YGCb/MDA1/0BA + QP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAb/CgoP/w8PGP8VFSD/IyM1/zY2 + U/9ISG//VFSD/1ZWhv9SUn//TEx2/0hIb/9ERGn/QEBj/zs7XP83N1X/MDBK/yEhMv8gIDL/ICAy/yAg + Mv8gIDL/Hx8x/x8fMP8eHi//Hh4u/x0dLv8eHi7/Hh4u/x0dLf8bGyv/GRkn/xcXJP8VFSL/FhYi/xcX + JP8aGij/HBws/x4eL/4fHzH9ICAy/CAgMvsgIDL6ICAy+iAgMvkgIDL0ICAy6iAgMuAfHzHWLy8/zeXl + 5vfd3ej/i4uz/1lZk/8/P4L/Kyt2/yAgbv8bG2v/GRlp/xgYaf8XF2j/FhZn/xgYaf8ZGWn/GBhp/xMT + Zf8LC2D/ISFg/z8/Y/9bW2n/bm5u/ykpKf4BAQH5AwME8Q0NE+whIS/vOTlS9k1NcO5RUXqyPj5gU1pa + i3RbW4yLVFSDcFNTgHNgYJR5dXW1d4SEyGiKisuiiYnKS4iIykaGhsmhhYXI4YeHyeWJicq9iYnKfYiI + ykGDg8gZcnKwCGJimAX5+ftC/v7+/9DQ4P+iosL/dXWm/z4+gf8iIm//JCRw/yQkcP8nJ3L/JSVx/xUV + Z/8AAFn/AABK/wgINP8QECH/JCQu/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AwME/wYGCf4KChD+EBAZ/xYWIv8aGin/HR0u/x8fMf8gIDL/ICAy/yAgMv8gIDL/ICAy/yAg + Mv8gIDL/JCQ3/ygoPv8tLUX/MDBK/zMzT/83N1X/PDxc/0BAY/9ERGn/SEhv/05OeP9SUn//VlaF/1pa + jP9eXpH/YWGW/2Bglf9ZWYn/T096/0REav87O1v/NDRR/z4+YP9SUn//ZGSb/29vrP9zc7P/dXW2/3V1 + tv92drb/eHi6/3l5vP96er3/e3u+/3l5vP9sbKf/ZGSb/2lpo/91dbX/fn7D/4ODyP+EhMj/gYHG/4CA + xv+Fhcj/h4fJ/4iIyv+IiMr/iIjK/4iIyv+Jicr/iYnK/4SEyP99fcL/dHSz/3Nzs/92drf/fHzA/4GB + x/+IiMr/i4vL/5GRzv+Tk87/kZHO/3d3uf89PV//ICAy/yAgMv8gIDL/t7ff/7m54P+4uOD/r6/c/5aW + 0P+Dg8j/h4fK/4qKy/+Ojs3/kJDO/4+Pzf+Pj8z/iorJ/3V1tf9gYJT/e3u+/4SEwf/CwuD//v7+/8bG + 2v+bm77/amqe/zExev8ZGWr/GBhq/xYWaP8XF2n/Fxdp/xAQZP8AAFr/AABY/wAASv8PDzb/GBgm/zAw + Nf9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQH/wwMEv8WFiH/ISEz/zQ0 + Uf+vr8D/p6e//2lpo/9xca7/cnKw/3BwrP9tban/a2ul/2lpov9mZp3/Y2OZ/2Fhlf9aWor/Skpy/zw8 + XP8sLEP/LS1F/z4+X/9HR2//Pj5g/zk5V/85OVn/ODhV/zMzTv8tLUX/JiY7/yAgMv8bGyr/Fxcj/xYW + I/8YGCX/Ghop/xwcLf8eHi//Hx8x/yAgMv8gIDL/ICAy/yAgMv8gIDL/ICAy/yAgMv4gIDL8Hx8w+p6e + pfz+/v7/qqrI/3JypP9TU5D/PT2C/ysrdv8iInD/HBxs/xkZav8YGGr/FhZo/xcXaf8XF2n/EBBk/wAA + Wf8FBVb/FhZZ/zAwXP9RUWf/fHx+/2BgYP8AAAD6AAAA8QEBAeEDAwTKCgoPrhwcKJlBQV2YYWGPq29v + qrJtbamGaGigcWFhlnhhYZV0bGymcHl5u3GDg8h2h4fKaYmJy4qJicunh4fKkYaGyWGGhsk2hobJHISE + yRGDg8gKf3/FB3V1tA5fX5IWzs7YV/7+/v/Q0OH/o6PD/3Z2pv8/P4P/IyNx/yYmc/8lJXL/JiZz/ygo + dP8iInD/EBBk/wAATv8ICDX/EBAh/yQkLv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wMDBP8GBgn/CgoQ/xAQGf8YGCb/ISEz/ykpQP8wMEr/NDRQ/zk5WP8sLEP/KCg+/zY2 + VP9BQWT/RUVr/0tLc/9QUHv/VVWE/1paiv9eXpD/YmKX/2dnnv9qaqT/b2+r/3Fxr/92drb/eXm7/3t7 + vv9+fsP/gIDF/4GBx/+Cgsf/fn7D/3V1tf9oaKH/XV2P/1hYh/9cXI7/ZWWc/29vq/92drb/eXm7/3x8 + v/98fL//fHy//319wf99fcL/fn7C/39/xP+AgMb/fX3B/3Fxr/9mZp3/WFiH/11dj/91dbT/hITJ/39/ + xf9/f8T/hobJ/4iIyv+Jicv/iYnL/4mJy/+Jicv/iorL/4qKy/+Kisv/iorL/4yMzP+Jicv/hobJ/4KC + yP+Dg8j/h4fK/4qKy/+Ojs3/kJDO/5CQzv97e77/RERp/yAgMv8gIDL/ICAy/7e33/+5ueD/ubng/7S0 + 3v+goNX/jY3N/42Nzf+Njc3/jo7N/4+PzP+MjMr/i4vH/4mJw/9mZp3/ZGSa/3l5s/96erL/vb3Z//7+ + /v+9vdX/enqq/y0tef8AAFb/AABO/wAAR/8AADn/AAA7/wAAP/8AAEP/AABF/wAASf8AAD//DAwr/xgY + Jv8wMDX/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBv8NDRT/Fxck/yUl + Of86Olj/pqa6/2lpmv9ubqn/d3e3/3t7vf97e73/e3u9/3p6vP97e73/e3u9/3p6vP96erz/enq7/3t7 + vv9qaqL/SUlw/zw8Xf9DQ2f/U1N//2Rkmf9mZp3/aGif/2dnnv9jY5n/XFyP/1RUgf9LS3L/QkJm/z09 + Xf85OVj/OTlY/zo6Wv86Olr/OjpY/zc3Vf81NVL/MTFM/y8vSP8uLkf/LCxE/ykpQP8oKD3/JCQ4/0lJ + Vv/+/v7/0dHi/5ycwP95ean/VFSS/yoqdv8AAFn/AABP/wAAT/8AAE7/AABH/wAAOf8AADv/AAA//wAA + Q/8CAkP/CwtF/x4eS/85OVL/V1df/25ubv8QEBD+AwMF/AcHC/UODhXpFxcj1SMjNboxMUubRERof1pa + i29vb6tsd3e3c3R0s3hsbKZvaWmiYXFxrlp7e75kgoLIcIWFyniFhcpvgoLIYH19wFp4eLlYdna1XXV1 + tGl2drZ4d3e3h3d3uJd2drWlc3Owso6Osc/+/v7/0dHi/6OjxP96eqr/QUGG/yUldP8lJXT/JCRz/ycn + df8oKHb/KCh2/x8fcP8AAFb/CQk4/xAQIf8kJC7/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAv8GBgn/CQkO/xERGv8mJjv/NjZT/0VFav9RUX3/W1uM/2Fhlv9mZp7/WlqK/1NT + f/9eXpH/a2uk/29vq/9zc7D/d3e3/3t7vf99fcD/fn7D/4KCyP+EhMn/hobK/4eHyv+IiMv/iorM/4yM + zP+MjMz/jIzN/42Nzf+Njc3/jIzM/4uLzP+Ghsr/fX3A/3Fxrf9oaKD/aWmh/2xspv9xca7/dna1/3l5 + u/97e77/e3u+/3t7vv98fL//fX3B/35+w/9/f8P/gIDF/4GBxv+Dg8n/dHSz/1VVg/9KSnL/U1N//2Zm + nf96erv/gIDF/4WFyf+IiMv/iYnL/4qKy/+Jicv/iorL/4uLzP+Li8z/iorM/4uLzP+Njc3/jIzN/42N + zf+Njc3/jY3N/42Nzf+Njc3/j4/O/5CQzv+Pj87/enq8/0VFa/8hITL/ISEy/yEhMv+4uN//ubng/7m5 + 4P+0tN7/n5/V/46Ozf+Pj83/j4/N/5CQzf+Ojsj/iIjD/4SEvP9zc6//VVWC/2Vlm/9qapv/aWma/7W1 + zf/9/f3/lZW8/z8/hf8NDVb/AAA+/wAAQP8AAEL/AAA8/wAAPv8AAEX/AABN/wAATv8AAE3/AAA8/wkJ + IP8YGCf/MDA2/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAb/DAwR/xcX + JP8mJjr/OTlW/0tLc/9eXo//bGym/3d3tf97e7z/fHy9/3x8vf98fL3/fX2//319v/9/f8L/gIDE/4KC + x/+IiMr/g4PI/3Nzr/9dXY//TU11/0lJb/9UVID/aGif/4KCxv+EhMj/hITH/4KCxP98fLz/dnaz/3Fx + q/9vb6f/b2+n/3Jyrf93d7X/fHy9/39/w/+BgcT/goLG/4KCxv+Cgsf/g4PI/4KCx/9/f8L/fn7A/2tr + pP+amqH/lJSZ/0lJX/8fHz7/DAw1/wMDM/8AADf/AAA1/wAANP8AADf/AABA/wAAQv8AADz/AAA+/wAA + Rf8BAUz/BwdL/xUVRv8pKUb/OztG/0hISP8hISL/AwMF/wkJDf4TExz9IiIx+TQ0S/FISGjkWlqD0mlp + nLt1dbCge3u8in19wHx7e7t3dHSxbW5uqVZycq1DeXm5WYCAw2+Dg8h4hobJfIWFyYeCgsebgIDEr35+ + wcB9fb/PfHy+3H19v+d/f8LvgoLH84uLy/enp9j8/v7+/83N4P+hocT/fHys/0REif8mJnb/JSV1/yUl + df8mJnb/KCh3/yoqef8mJnb/AABe/wkJPf8QECL/JCQu/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8DAwT/CwsQ/xMTHf8rK0H/R0dm/2Fhi/92dqn/hYW+/42Nyv+Rkc7/kpLP/4mJ + y/96err/fHy+/4eHyv+IiMr/iIjK/4mJy/+Li8v/jIzM/4yMzP+MjMz/jY3N/4+Pzf+Ojs3/j4/N/4+P + zf+QkM7/kJDO/4+Pzf+Pj83/j4/N/46Ozf+Ojs3/jIzM/4iIyv9/f8P/dna0/3FxrP9xca3/dHSx/3d3 + tv96err/fHy9/3x8vf98fL3/fHy9/319v/99fb//f3/C/4CAxP+Cgsf/iIjK/4ODyP9zc6//Xl6Q/05O + dv9KSnH/VlaD/2trpP+Fhcn/iIjK/4qKy/+Li8v/i4vL/4qKy/+Li8v/jIzM/4yMzP+MjMz/jIzM/46O + zf+Njc3/jY3M/46Ozf+Pj83/kJDO/5KSz/+Sks7/kJDO/3p6u/86Oln/ISEy/yEhMv8hITL/uLjg/7q6 + 4f+6uuH/tLTe/6Cg1f+QkM7/j4/O/46OzP+Ojsn/iYnD/4GBuP90dKr/TEx1/01Ndf9ZWYP/VFR8/1NT + ef+np7r//f39/5+fw/9lZZ7/Kyt6/wAAWP8EBGL/HBxx/xsbcP8bG3D/GRlv/xMTa/8EBGL/AABY/wAA + P/8ICB7/GBgn/zAwNv9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwME/wkJ + Dv8VFR7/JCQ3/zY2Uv9HR2z/WFiH/2honv9zc6//eXm4/3x8vP98fLz/fX2+/35+wP9/f8H/gIDD/4CA + w/+EhMn/hobK/4SEyf+EhMn/hobK/3Nzr/9gYJL/UVF8/1hYhv93d7X/k5PQ/5yc0/+dndH/m5vO/5mZ + yv+YmMb/mJjF/5qaxf+fn8n/pKTP/6qq1f+vr9r/sbHc/7S03v+0tN7/trbf/7m54P+5ueD/t7fe/6Wl + 1P9xcZX/X19f/z8/Sv8cHC//Cgoi/wMDIv8AAC7/AABB/wAATP8AAE//AABQ/wQEYv8cHHH/Gxtw/xoa + b/8VFWz/BgZj/xISW/8lJU//NjZJ/0RER/84ODj/AgIC/gUFB/wLCxD2FhYf7CMjMts0NEjER0dipltb + f4pvb510fn62bIODxHWAgMN2fn7AdXp6unF2drNgcnKuVXR0sWF5ebhzf3/Bc4SEyXaHh8pviIjLZYqK + zGOLi8xriYnLeYaGyoqEhMmZg4PHp4mJy7ORkc+8t7ff1P7+/v/AwNf/hoay/2Bgm/83N4L/Kip5/yUl + dv8lJXb/JSV2/ygoeP8pKXn/KSl5/wcHY/8KCkT/EBAi/yQkLv8/Pz//ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BAQE/wwMEP8cHCb/OTlH/1pab/96epf/lJS2/6Wlzf+urtn/sLDc/7Cw + 3P+pqdn/mJjS/5SU0P+fn9X/np7U/5yc0/+amtP/mprT/5mZ0v+Xl9H/lJTQ/5SU0P+Tk9D/kpLP/5KS + z/+QkM7/kpLP/5GRz/+QkM7/kJDO/5CQzv+Pj87/j4/O/46Ozf+Ojs3/i4vM/4ODyP96err/dHSx/3R0 + sf92drT/eXm4/3t7u/98fLz/fHy8/319vv99fb//fn7A/4CAw/9/f8L/g4PH/4ODyP+AgMP/f3/C/4CA + w/9ra6L/VVWB/0REZ/9ISG7/Zmab/4ODx/+Li8z/jIzN/4yMzP+Li8z/i4vM/4yMzf+MjM3/jY3N/42N + zf+Pj87/j4/O/4+Pzv+QkM7/j4/O/5CQzv+Sks//kpLP/5CQzv9ycq7/IiIz/yEhMv8hITL/ISEy/7i4 + 3/+6uuD/urrg/7W13v+iotX/kZHO/5CQzf+Ojsr/i4vE/4KCuP93d6n/Xl6N/0lJbf9GRmj/QUFf/zw8 + Vv85OVP/nZ2p//7+/v/Fxdv/mprA/2hoov8tLX3/GRlw/xwccv8bG3L/Ghpx/xkZcP8YGHD/ERFs/wAA + Yf8AAET/CAge/xgYJ/8wMDb/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC + Av8HBwr/EhIZ/yIiMP81NU7/R0dq/1hYhf9oaJz/dXWv/319vP+CgsP/hYXI/4iIyv+Jicr/i4uz/4uL + xf+Sks7/lpbQ/5WV0P+UlM//l5fR/5qa0v+cnNP/mprS/4WFyP91dbD/e3u5/46OzP+iotb/sbHa/7Cw + 2v+wsNn/r6/X/66u1f+vr9b/sbHY/7S02/+4uN3/ubnf/7u74f+8vOH/vLzh/7294v+/v+L/vr7i/7Cw + 2v+bm8X/n5+i/5CQnP9nZ5P/QECI/zMzgP8gIHX/FhZv/xUVbv8ZGXD/Ghpx/xcXb/8ZGXD/HBxy/xoa + cf8YGHD/Dw9q/wwMZf8iImD/OTlY/0ZGUP9FRUX/ERER/gEBAvkDAwTvBQUH3AcHCr8LCxGbFRUeeC0t + QWBTU3lbdXWraoSEwYCFhcaJgoLDe4CAwHB/f794fn68cHx8um15ebVveHi1d3p6uHB+frx8f3++iH5+ + vHh/f75ZgIDAO35+vSl9fbwcfHy6Gnt7uCSBgcEuhYXIOszM6HT+/v7/wcHZ/3p6rf86OoX/Bwdl/wAA + X/8NDWn/HBxy/yUleP8lJXj/Jyd5/ycnef8KCmf/CwtL/xERJP8kJC7/Pz8//yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBP8NDRH/ICAo/z09Sf9fX3H/goKZ/52duv+xsdH/u7vf/7+/ + 4/+/v+P/v7/i/7Gx3P+trdr/tbXe/7W13v+0tN7/srLd/7Gx3P+wsNz/rq7b/6ur2v+qqtn/qKjY/6am + 1/+jo9b/oaHV/6Cg1P+fn9T/nJzT/5ub0v+ZmdL/mZnR/5eX0P+VldD/lJTP/5OTz/+QkM3/iYnK/39/ + v/95ebb/eXm1/3l5tv97e7j/fHy6/35+vP9/f77/f3++/4CAwP+BgcH/gYHC/4WFx/+CgsP/gIDA/4CA + wP+BgcH/goLD/3t7uP9cXIv/RkZp/0dHav9cXIr/eXm1/4+Pzf+QkM3/j4/N/46OzP+Njcz/jo7N/4+P + zf+Pj83/j4/N/4+Pzf+QkM7/kZHO/5GRzv+Rkc7/k5PP/5KSz/+Sks//Zmaa/y8vRv8iIjL/IiIy/yIi + Mv+3t9//urrh/7u74f+1td7/oqLW/5CQzv+Ojsz/jIzH/4yMvv+KirP/cnKY/1NTef9AQGD/NDRN/ysr + Pv8kJDX/IyMy/5GRmf/+/v7/xcXb/5mZwf9nZ6L/LS1+/xgYcf8bG3P/Gxtz/xkZcf8ZGXH/GBhx/xYW + cP8ODmv/AABM/woKJf8YGCf/MDA2/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAgL/BgYI/xAQFv8iIi7/NzdL/09Pbf9kZI//dnaq/4aGv/+Rkcv/mJjR/5ub0/+entT/5+f0/729 + vf96eoP/paXS/6mp2f+np9j/p6fY/6io2f+pqdn/rKza/62t2/+rq9r/oKDV/5eX0f+Tk8//m5vT/6ur + 2v+yst3/tLTd/7S03P+1td3/tbXd/7a23f+3t9//t7ff/7q64P+6uuH9urrh+rq64fe3t9/ztrbe77Oz + 2+qjo9Hm19fk9vr6+v+fn8T/YGCd/z8/if8oKHr/GRlx/xUVb/8WFnD/GBhx/xgYcf8YGHH/GBhx/xsb + c/8ZGXH/ExNu/woKaP8aGmT/NjZj/05OYf9eXl7/Li4u/wAAAPoAAADwAQEB3gMDBcYLCxGrHR0rlj09 + W5NgYJCld3exvoODwceHh8eliIjKa4aGyWiDg8R+goLCcIKCw3aDg8R3gIDAd3t7uW96eraIe3u5XX19 + u3N6eraneXm1wnt7uLN7e7mMenq2XXh4tDZ3d7EjcHCnE21towj8/P1B/v7+/83N4P+UlL3/Tk6S/wUF + Zf8AAFv/AABf/wMDZP8QEGz/Fxdw/yIid/8mJnn/DQ1q/wwMUP8UFCr/JCQu/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwT/DQ0R/iEhKP49PUj+YGBx/4ODm/+fn7v/tLTS/7+/ + 4f/Dw+X/xMTl/8XF5f+9veL/t7ff/76+4v+/v+P/v7/j/7+/4//AwOP/wMDj/7+/4/+/v+P/vb3i/729 + 4v+8vOH/urrh/7i44P+3t9//tbXe/7Oz3v+yst3/r6/c/66u2/+rq9r/qanZ/6en2P+lpdf/oqLW/56e + 1P+VldD/jIzM/4aGyf+EhMb/hYXH/4ODxP+Dg8T/g4PE/4KCw/+CgsP/g4PE/4WFyP+Dg8T/goLC/4GB + wf+CgsL/goLC/4ODxP+EhMX/f3+9/2Vll/9NTXP/QEBg/0xMcf9oaJz/e3u4/4KCwv+EhMX/iYnL/4mJ + y/+MjMz/j4/N/5CQzv+Rkc//kZHP/5CQzv+QkM7/kpLP/5qa0v+np9j/n5/U/3NzrP87O1n/IiIz/yIi + M/8iIjP/uLjf/7u74f++vuL/vb3h/6+v2/+jo9b/pqbV/5+fy/+Xl77/goKl/1lZgP8/P13/MDBG/yMj + Mv8YGCP/ExMc/xISGv+JiY3//v7+/8XF2/+ZmcH/Zmai/y4ugP8WFnH/GRlz/xkZc/8YGHP/GRlz/xcX + cv8WFnH/FBRw/wAAVf8MDC7/GBgn/zAwNv9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AwMD/wcHCf8TExj/JiYv/z8/T/9cXHP/d3eW/4qKsv+Zmcb/pKTT/6ur2v+trdr/rq7b//n5 + /P/+/v7/u7u7/52dsv+vr9v/rq7b/62t2/+urtv/rq7b/6+v2/+wsNz/sLDc/7Gx3P+trdv/o6PW/6Ki + 1f2lpdf7q6vZ+bKy3fe0tN70tLTe8bOz3e60tN7qtLTe57W13uS2tt7ctrbe0rW13se1td65s7PdrbKy + 252oqNGNuLjOqvDw8P/W1uX/g4Oz/1FRlf80NIP/ISF4/xYWcf8UFHD/FhZx/xcXcv8XF3L/GRlz/xYW + cf8YGHP/FRVx/w0Na/8SEmf/Kytk/0dHZP9iYmn/W1tb/wUFBfwBAQH1AgIC6AgIDNoYGCTQNTVN1FVV + euRubp3wgICz6oqKwb+OjsZpjY3IJo6OzV6Li8uoh4fJaoaGx3uHh8h1h4fJe4aGyG+Dg8KDfHy4aHt7 + trB/f71PgoLANoSExHCJicq/jIzM6o2NzO2NjczSgYHAn29vpmheXos+zc3YWf7+/v/MzOD/m5vC/21t + pv8tLX//Cgpq/wMDZv8EBGb/DAxr/xISb/8aGnT/Hx93/woKav8MDFP/FhYw/yQkL/8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgID/QsLDfocHCH1NjZA8VlZae5+fpXtnJy37LGx + 0Oy/v+Duw8Pk8cTE5fTFxeX4wMDj+by84fu/v+P+wsLk/8LC5P/Dw+T/w8Pk/8TE5f/FxeX/xcXl/8XF + 5f/FxeX/xcXl/8XF5f/FxeX/w8Pk/8LC5P/CwuT/wsLk/8HB5P/BweP/wMDj/76+4v+9veL/vLzh/7q6 + 4P+5ueD/tLTe/6ys2v+jo9b/np7U/5yc0/+amtL/mJjR/5aW0P+UlM//k5PP/5SUz/+QkM7/jIzM/4qK + y/+IiMr/iIjK/4eHyP+Hh8n/h4fI/4aGx/+EhMT/d3ex/1dXgv9HR2r/TExx/2Bgj/97e7b/goLA/4SE + xP+EhMT/iYnK/46Ozf+Tk8//mZnS/56e1P+jo9b/qanZ/6qq2f+urtv/rKza/5CQzv9paZz/PDxZ/yIi + M/8iIjP/IiIz/7u74f++vuL/wMDj/76+4v+wsNz/o6PW/6Oj0/+Xl8X/iYmz/2trk/9FRWb/LS1C/yIi + Mv8VFR7/DAwR/wgIC/8GBgn/g4OE//7+/v/ExNz/mJjB/2Zmo/8sLID/FhZy/xkZdP8ZGXT/GBhz/xcX + c/8YGHP/FhZy/xUVcv8AAFn/Dw83/xgYKP8wMDb/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wQEBP8KCgz/GBgd/y0tN/9JSVf/Z2d8/4SEoP+Xl7r/pKTN/62t2P+yst3/s7Pe/7Oz + 3v/o6PX//v7+/+Pj8v+xsd3/r6/c/66u3P6urtv9rq7b/K6u2/uurtz6r6/c+LCw3Pixsd33sbHd9a+v + 3O2rq9rjqKjY2Kio2Myrq9q+sLDcrLOz3piyst2EsrLdbrOz3Vi0tN5FtLTeNLS03iW0tN4atLTeEZ6e + xQkkJCwFh4eHHOPj4+T19fX/urrV/3Z2rP9LS5L/LCyA/xsbdf8SEnD/ERFv/xQUcf8WFnL/Fxdz/xcX + c/8WFnL/Fxdz/xIScP8LC2n/ICBm/z09Zf9YWGf/a2tr/yYmJv4BAQH6BAQG9g4OFfYgIDD5OTlV/lRU + d/1ra5X2e3uqzn5+rnJ3d6Uhi4vBG5KSz3iQkM7jj4/OZYqKzGWLi8yJjo7NdIuLzIOMjMxjjIzMp4OD + wTV5ebOJfHy30n9/vGp/f7wZhYXFI46OzXGVldDLlpbR+JCQzv2Dg8L/amqe54WFn8v+/v7/ysrf/5iY + wf9qaqX/Ly+B/xYWcv8XF3P/Fxdz/xcXc/8XF3P/Ghp1/x0dd/8GBmn/DAxT/xcXM/8kJC//Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoBAQHsBQUF1g0ND7khISaaR0dUgnh4 + jXmior56u7vciMPD5JrDw+SuxMTlwMLC5M68vOHZvb3i5cHB5O7BweT1wsLk98PD5PjExOX4xcXm+sXF + 5vvGxub8xsbm/sfH5v7Hx+b/x8fm/8fH5v/Hx+b/x8fm/8fH5v/Hx+b/x8fn/8fH5//Hx+f/x8fm/8fH + 5v/Hx+b/x8fm/8bG5v/Dw+T/vb3i/7i44P+1td//tLTe/7Oz3v+yst3/sbHd/7Cw3P+srNr/p6fY/6Oj + 1v+hodX/np7U/5yc0/+amtP/mZnS/5eX0f+Xl9H/l5fR/5WV0P+Ojs3/fX25/2homv9nZ5j/dHSs/4iI + yf+Pj87/jY3N/4+Pzf+Rkc7/lZXQ/5qa0/+goNX/pKTX/6mp2f+lpdf/pqbY/5mZ0v+BgcD/W1uH/zo6 + Vv8iIjP/IiIz/yIiM/+9veH/wMDj/8HB4/+7u+D/paXX/5GRzf+MjMj/hIS6/3p6p/9nZ4v/RUVi/ygo + Ov8aGiX/DQ0S/wUFBv8CAgL/AQEB/4CAgP/+/v7/xMTc/5iYwf9mZqT/LCyB/xgYdf8YGHX/Ghp2/xoa + dv8YGHX/GBh1/xgYdf8WFnT/AABd/xAQPP8YGCj/MDA2/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAf8GBgf/Dw8S/yAgJv83N0L/VVVl/3Jyif+Ojqr/oKDC/6ur0v+vr9n/s7Pd/7Oz + 3f+0tN7/wMDj/8jI5v+zs93/r6/b96+v2+2vr9vjrq7b2K6u28iurtu0r6/boK+v24qwsNxzsbHcX7Gx + 3Eqystw5srLcLK6u2iGpqdkWq6vZDq6u2giystwHtLTdB7S03Qa0tN4FtbXeBLa23gO2tt4Ct7ffAre3 + 3wE9PUoDEhIWCtzc3Jrq6ur/2NjayKioy/9vb6n/RUWQ/yYmfv8YGHX/ExNy/xIScv8SEnL/FBRz/xgY + df8XF3X/Fxd1/xMTcv8MDG7/GBhq/zIyZv9OTmf/a2tt/01NTf8BAQL+BQUH/g0NE/8cHCn/MjJJ/0tL + av1dXYHbYGCEh1FRcDg5OVAShoa/KY+Py52Pj831k5PPgpWVzySOjsyhkZHOgpaW0GSQkM2XkJDNXJaW + 0JWPj82Zf3+5FXx8tqN8fLXhdXWrkHV1qyZ/f7kIiorJI5KSznWamtLZnJzT/pOTz/+bm8X+/v7+/8bG + 3f+VlcD/ZWWj/y4ugv8VFXT/FBRz/xcXdf8ZGXb/Gxt3/x8fef8eHnn/BQVq/wwMU/8TEyn/JCQv/z8/ + P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEBAQGuAgICgQcH + CFUPDxIyLS01GnNzhgzFxeUHxcXlCcXF5Q/ExOUXvb3iIr294S3CwuM6wsLkTMLC5GHDw+R2xMTkjcXF + 5aLFxeW2xcXlysXF5drGxuXkxsbm78bG5vjGxub/xsbm/8fH5v/Hx+b/yMjm/8jI5//Jyef/ycnn/8nJ + 5//Kyuf/ysrn/8rK5//Kyuf/ysrn/8jI5v/FxeX/wsLk/8LC5P/CwuT/wsLk/8TE5P/Dw+T/vr7i/7q6 + 4P+4uN//t7ff/7W13v+0tN7/s7Pd/7Ky3P+wsNz/sLDc/7Cw3P+urtr/rKza/6mp2P+ZmdH/iIjG/4KC + vv+MjMz/mZnR/6Cg1P+dndP/nJzT/5yc0/+bm9L/mprS/5iY0f+Vlc//lZXP/5qa0v+fn9T/kJDN/2Fh + jv88PFj/IyMz/yMjM/8jIzP/v7/j/8PD5f/FxeX/wcHk/66u2/+amtL/lZXL/4mJvP95eab/aGiJ/0dH + YP8oKDr/GRki/w0NEP8DAwT/AQEB/wAAAP9/f3///v7+/8TE3P+Xl8L/ZWWk/ysrgv8XF3f/FhZ2/xoa + eP8aGnj/GBh3/xkZeP8ZGXj/FhZ2/wAAX/8QED7/GBgo/zAwNv9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAQL/BwcJ/xQUGP8nJy//QUFO/19fc/17e5T4k5Oy8KWlyOaurtXYsbHbybOz + 3bezs92ltbXekLa233+0tN5tsLDcW6+v3Euvr9xAr6/cM6+v3Civr9wgr6/cGbCw3BWwsNwTsbHdELOz + 3Q6zs90KtLTeCLS03ge0tN4FsbHcA6ys2gH+/v4A/v7+AMHBwQDT09MA/v7+AP7+/gD+/v4A/v7+AP7+ + /gAAAAABAAAABrq6uj3n5+f/5eXl/46OnLGNjbz/XV2f/zk5i/8gIHz/Fxd3/xMTdP8TE3T/ERFz/xMT + dP8WFnb/FhZ2/xQUdf8NDXH/Dw9t/ycnaf9ERGf/YWFr/2lpaf8ODg7/BAQG/wsLEP8ZGST/LCw//j4+ + VehCQlmoODhMXykpOC1ISGQdiIjASJCQzbKQkM7nkZHOppiY0RuZmdJgj4/NxpOTz2OcnNNglZXQrJGR + zlqbm9NkmZnS5IiIxjWFhcIwhYXCsXx8tOR2dqypenqyPHt7sweFhcISlpbRL6am2H+vr9zV0dHq+/7+ + /v/Dw9v/kZG+/2Jiov8sLIP/FhZ2/xYWdv8YGHf/FhZ2/xkZeP8eHnv/HBx5/wQEa/8LC0z/EBAk/yQk + L/8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABSAAAALgAAABQAAAAFAAAAAMfH5gHHx+YCyMjmA7+/4wW8vOEHw8PkCMPD5QvExOUOxcXlEMXF + 5RPGxuYVx8fmGsfH5h/Hx+Ypx8fmNcbG5kHGxuZNxsbmXsbG5m/Hx+aAxsbmk8fH5qfHx+a5yMjmycjI + 59nIyOfjyMjn7cnJ5/bJyef8ycnn/8nJ5//Jyef/yMjn/8bG5v/FxeX/xsbm/8jI5//Jyef/x8fm/8LC + 5P/BweP/wMDj/8DA4/+/v+P/v7/j/7+/4/+/v+P/v7/j/8DA4//AwOP/v7/j/7+/4/++vuL/u7vh/7S0 + 3v+pqdn/oqLW/6Wl1/+urtv/tLTe/7Oz3f+yst3/srLd/7Cw3P+srNr/qKjY/6Oj1v+hodX/pqbY/5qa + 0v9nZ5b/QEBe/yYmOP8jIzP/IyMz/8LC5P/Ly+j/0dHr/8/P6v+/v+P/ra3a/6am0/+amsX/h4eu/3Bw + kP9RUWn/Ly9E/yAgK/8UFBj/CQkL/wYGB/8DAwT/gICB//7+/v/ExNz/l5fC/2RkpP8rK4P/FhZ3/xQU + dv8WFnf/GRl5/xcXd/8YGHj/GBh4/xkZef8AAGD/EBA//xgYKP8wMDb/QEBA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB/gYGCPsODhLyHBwh5C0tNstCQlGrW1tuiXd3kGuSkrFQqanNO7Cw + 1jG0tN4ns7PeIra23x23t98YtLTeFLKy3Q+wsNwMsbHdCbGx3Qaxsd0DsbHdAujo6ADExMQAu7u7AMnJ + yQDX19cA8PDwAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+APb29gDc3NwA9PT0AP7+/gD+/v4A/v7+AP7+ + /gAAAAABAAAAAwAAAAvl5eXV7Ozs/7u7zv+Njbj/aGim/0VFk/8tLYT/HBx6/xYWd/8TE3X/FBR2/xMT + df8TE3X/FRV2/xQUdv8PD3P/CQlt/x0dav85OWj/VVVo/25ubv80NDT/AwME/wkJDv8VFR7+IiIu8ikp + NsslJTCOHx8nWRERFy9LS2cpiYnAZJKSzsKVldHok5PQupOT0Cubm9MXmprStI2NzbySks9Bnp7UZZaW + 0b6QkM5hnJzUOJyc1OiOjs2YjIzMHY+PzkWJice/hobD64aGw7p5ebBVdXWqC4KCvgacnNQZs7PdQOjo + 9cX+/v7/wMDa/5CQvv9fX6H/KiqD/xQUdv8WFnf/GBh4/xcXd/8YGHj/Gxt6/xoaef8CAmv/CQlC/xAQ + JP8kJC//Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADJyecBycnnA8nJ5wfIyOcJyMjnDMjI5xDIyOcVyMjnGcjI5x3IyOcjyMjnJ8jI + 5y7IyOc5yMjnRcjI51LIyOdfyMjnbsjI537JyeeOycnnncjI563Hx+a9xsbmysXF5tjHx+bjyMjn7MXF + 5vPDw+X6wsLk/8LC5P/CwuT/wsLk/8LC5P/CwuT/w8Pl/8PD5f/ExOX/xcXm/8XF5v/Gxub/xsbm/8TE + 5f/ExOX/wsLk/7q64f+1td//t7ff/7u74f+/v+P/wcHk/8TE5f/Fxeb/wsLk/7+/4/+7u+H/trbf/7Oz + 3f+qqtr/dHSp/0pKbP88PFj/IyMz/yMjM//Hx+b/1NTs/9vb7//a2u//zs7p/7y84f+1tdv/qanN/5aW + uf+AgJ7/Y2N7/z4+Vv8sLDz/IiIq/xYWG/8QEBP/CwsO/4ODhP/+/v7/xMTd/5eXw/9lZab/Li6H/xcX + ef8WFnn/FhZ5/xYWef8XF3n/GBh6/xgYev8ZGXr/AABi/xAQQf8YGCn/MDA2/0BAQP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf0CAgPzBAQF4AkJC8QNDRCcFRUZbh0dI0crKzQnSUlYEnFx + iAVeXnAC/v7+AP7+/gD+/v4A29vbALy8vADGxsYA+fn5AP7+/gD+/v4A/v7+AP7+/kD+/v7/29vb/83N + zQDU1NQA39/fAPLy8gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/f39AP7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAgAAAAfW1tZ77e3t/8PD2f9/f7H/VVWZ/zw8j/8tLYb/Hh5+/xYWef8UFHj/ExN3/xMT + d/8TE3f/ExN3/xUVeP8UFHj/Cwty/xQUbf8uLmn/S0to/2hobf9bW1v/AgID/wcHCf4PDxT6FRUc5xUV + G74SEhaNBgYHWgMDBDZSUm46hYW8fIqKyNGPj83vlZXQyJKSz0yVldAInJzTXpmZ0uONjcyVkpLPKp6e + 1HKXl9HOkZHObJ6e1B6fn9TAkZHO446OzUmUlNAZkpLPXJiY0c+WltDzg4O+yGpqmmthYY0VdHSoApmZ + 0gf29vuQ/v7+/7y82f+MjLz/W1ug/ygog/8WFnn/FhZ5/xQUeP8TE3f/Fxd5/ygog/9DQ5P/GRl6/wsL + Tv8TEyv/JCQw/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAysroAMrK5wDKyugAysrnAMrK5wDKyugAysrnAMrK + 6ADKyugBysroBMvL6AfKyugLysroDsrK6BTKyugaysroIMrK6CfKyuguycnnNcXF5j3Dw+VIxcXlVcbG + 5mTFxeVxxMTlgMPD5I/CwuSdwsLkq8LC5LbCwuTDwsLk0MPD5NvExOXkxMTl7MXF5fLFxeX4xsbm/8fH + 5v/Hx+b/yMjm/8fH5v/FxeX/wMDj/7294v+9veL/vb3i/8LC5P/Ly+j/z8/q/83N6f/Ly+j/yMjn/8XF + 5f/CwuT/v7/j/46Ozf9YWH//TU1v/ywsQP8kJDP/z8/q/9XV7f/Y2O7/2Nju/87O6f++vuL/ubne/6+v + 1P+hocT/jo6s/3d3kP9WVnD/OztU/zIyQf8pKTL/Hx8m/xUVGv6Ghof//v7+/8TE3f+WlsP/Y2Om/yws + hv8ZGXv/GRl7/xcXev8UFHj/FhZ6/xcXev8XF3r/GBh7/wAAZP8QEEL/GBgp/y8vNv9AQED/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD8AAAA7wAAANgAAAC2AAAAiwAAAFsAAAA1AAAAGQAA + AAjz8/MA+fn5AP7+/gD+/v4A/v7+APf39wC6uroAmZmZAKysrADo6OgA/v7+AP7+/gD+/v4A/v7+oP7+ + /mDz8/MA9fX1AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A+Pj4AP7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAQAAAAWDg4Md6enp8s/P3v+Fhbr/SkqX/ycnf/8XF3j/FRV4/xQUeP8SEnj/ExN4/xUV + ef8WFnr/FhZ6/xMTeP8REXf/Dw91/w0NcP8kJGz/QEBo/1paaP9qamr/Gxsb/wQEBv0ICAv2CwsO4QkJ + C74DAwSQAQECZgUFB0NSUm9Mf3+1k4ODvN2EhL74jo7L1JeX0WWXl9ERmZnSHZ2d1L6ZmdLtjY3KZ5OT + zx2fn9WDmprT25WV0HuhodYSo6PWgZaW0PeQkM6bl5fRJKCg1RqlpddxpaXX25eX0fh1dafYUFBzf0JC + XyVYWH0H/v7+gP7+/v+5udf/iYm7/1paoP8sLIb/JSWC/zAwiP85OY7/RkaV/0lJl/9RUZv/Tk6a/wAA + av8JCUX/EhIq/yQkMP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjI5wDHx+YAyMjnAMjI5wDJyecAycnnAMnJ + 5wDKyugAy8voAMzM6ADMzOkAzc3pAM3N6QDNzekAzc3pAM3N6QDNzekAzc3pAMrK6ADFxeUAxMTlA8bG + 5gfIyOcMx8fmEMfH5hXGxuYdxMTlJcPD5S/Dw+U4w8PlQMPD5ErDw+VXw8PlZMTE5XPFxeWCxcXlkcbG + 5qHGxuauyMjnusnJ58PJyefMyMjn1sbG5uDDw+TowMDj77+/4/TCwuT4zc3p/dLS6//Q0Or/zs7p/83N + 6f/Ly+j/ysro/8nJ5/+pqdn/ZWWR/1FRdP9JSWj/JCQ0/9fX7f/b2+//2dnu/9PT7P/Kyuf9vr7i+bm5 + 3vaxsdbzp6fL7peXueqEhKLobGyG5klJZ+c7O1HoNDRA6SYmL+sZGR/ti4uN+P7+/v/Fxd7/mJjE/2Rk + qP8rK4f/GBh9/xkZff8YGH3/FRV7/xQUev8WFnv/GRl9/xoafv8AAGj/Dw9G/xYWKP8tLTX/QEBA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAO4AAADWAAAAtAAAAIgAAABYAAAAMwAA + ABgAAAAH8fHxAPT09AD29vYA/Pz8AP7+/gD+/v4A9PT0ANjY2ADExMQA29vbAP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A8PDwANzc3AD+/v4A/v7+AP7+ + /gD+/v4A/v7+AAAAAAMAAAAK5eXlt+7u7/+ZmcX/WVmh/y8viv8LC3D/BQVr/wkJdP8MDHb/ERF5/xMT + ev8WFnv/GRl9/xoafv8WFnv/Dg53/wgIc/8aGm//Nzdr/1JSaf9tbW3/QEBA/wICA/0EBAX1BAQF4QIC + A8IAAACcAgICdQwMD1RKSmdcdHSkqXp6rep+frT+iIjB35SU0HydndMYnZ3TDpqa0mGamtLwlpbQ2o6O + ykGUlM8anp7Uk5ub0ueXl9GKoqLVC6am10SamtLtjY3I4JKSzlagoNUOqqrZI7Oz3YawsNzpl5fR/WFh + iekvL0KSJCQ0Nfb294X+/v7/vr7a/4+Pv/9eXqT/KyuH/yQkg/8wMIr/OjqQ/0RElf89PZH/Pz+T/yIi + gv8AAF7/CAg5/xERKP8kJDD/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6uuAAurrgALy84QC8vOEAvb3iAL+/ + 4gDAwOMAwsLkAMTE5QDGxuUAx8fmAMnJ5wDKyucAysroAMvL6ADMzOgAzc3pAMzM6ADGxuYAw8PkAMXF + 5QDIyOYAycnnAMnJ5wDJyecAycnnAMbG5gDGxuUAxcXlAMTE5QDExOUAxMTlAsTE5QfExOUMxMTlEsTE + 5RjFxeUhx8fmLMnJ5zjKyuhDy8voUMrK517IyOduxsbmfMXF5YvExOWaxMTlqMzM6LfS0uvC0dHqy87O + 6dLNzenZzc3p4czM6OfMzOjtvb3i8nx8sPZZWX/5XV2E/To6Uv/e3vHn4eHy49ra797OzunXwsLkzLm5 + 4MC3t9+0sLDYqqiozp6YmLqUgoKfjmpqgotDQ12MKio8lCEhK50VFRqrCwsOvI+PkOf+/v7/xcXe/5mZ + xv9mZqr/LS2K/xcXfv8ZGX//GRl//xgYfv8XF37/FhZ9/xYWff8aGn//AABt/w8PTf8TEyf/KCgy/0BA + QP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAADtAAAA1QAAALIAAACFAAAAVgAA + ADEAAAAXAAAABvDw8ADx8fEA8vLyAPf39wD9/f0A/v7+AP7+/gD+/v4A6OjoANvb2wDl5eUA/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDi4uIA/v7+AP7+ + /gD+/v4A/v7+AAAAAAIJCQ0Ivb2+UfDw8P+5udf/bW2t/0JClv8lJYX/AgJt/wAAaP8HB3X/DAx4/xIS + e/8UFHz/FhZ9/xkZf/8cHIH/Fxd+/w0NeP8SEnP/Kytt/0hIav9kZGz/YmJi/wcHB/0BAQL2AQEB5QAA + AMwAAACqAgIChBQUGmdFRWFva2uYv3Z2p/Z6eqz/gIC265GRzpKhodUmpqbYBqGh1SqYmNLElZXR/JSU + 0KyRkc4nl5fRIJyc1KKZmdLwlpbRmqGh1QipqdkboKDV0YiIwPmHh8Chk5PQK6Oj1wS5ueAsw8Plnrq6 + 4fSWltH/TExr+CUlNKfS0tWh/v7+/8LC3f+Tk8P/X1+m/yYmhv8SEnv/EhJ7/xAQev8LC3f/Dg55/xoa + f/8mJob/AABp/wgIPf8RESj/JCQw/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD7AAAA7AAAANIAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqqraAKio2QCpqdkAqqrZAKqq + 2QCqqtoAra3bAK6u2wCxsd0AtLTeALa23wC5ueAAu7vhAL294gC/v+MAwcHkAMPD5ADBweQAu7vhAL6+ + 4gDDw+UAxcXmAMbG5gDHx+YAyMjnAMjI5wDHx+YAx8fmAMXF5QDDw+UAw8PkAMPD5QDDw+UAxMTlAMPD + 5QHDw+QCxMTlA8jI5wTMzOkEz8/qBM/P6gXOzukIzMzpDcrK5xHLy+gXzMzpH8fH5ijKyuczz8/qP8/P + 6k3Nzelbzc3pas3N6XvMzOmLzMzpm8bG5qmRkc61YWGJwWdnks1UVHfX4ODxieHh8nrX1+1syMjnXry8 + 4VC1td5EtbXeOq6u1TSdncEvhoalL2dnfzFMTF05Ly8/QxcXIFUSEhlpDw8TgggIC5yXl5ja/v7+/8XF + 3/+Zmcb/Z2er/y4ui/8YGH//GBh//xkZgP8ZGYD/GRmA/xYWfv8UFH3/FhZ+/wAAcP8MDFX/EhIt/yEh + L/87Oz3/HBwc/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA7AAAANMAAACwAAAAgwAA + AFUAAAAwAAAAFgAAAAbu7u4A8PDwAPPz8wD5+fkA/v7+AP7+/gD+/v4A/v7+AP7+/gD9/f0A7e3tAOvr + 6wD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A3NzcAP7+ + /gD+/v4AJSU0AyEhLgkeHioVWVlhNubm5una2uf/iIi9/1NToP84OJH/IyOG/wAAbv8AAGf/BAR0/w4O + ev8UFH3/GRmA/xwcgf8cHIH/HR2C/xUVff8LC3b/ICBw/z09a/9ZWWr/bW1t/ycnJ/4AAAD3AAAA6wAA + ANYAAAC3AgIDlBQUG3hLS2iHa2uW2XV1pP16eqr/eHip9oODuaadndMyra3bAays2hWgoNVrlpbQ+pCQ + yv6QkMt2l5fRF5yc0yudndSul5fR9JKSzqeentQOra3aCaen2J6WltDygoK35Hp6rGONjcYNr6/bB8rK + 5zbQ0Oq9wsLk+5aW0P89PVX/oaGo3/7+/v++vtz/lZXE/2Njqf8tLYv/HByB/xwcgf8WFn7/EBB7/wkJ + d/8ICHb/GxuB/wAAaf8HBzn/EBAl/yQkMP8/Pz//ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAB/QEBAfICAgLaAgICtQICA4gCAgNXAgICMAICAhUAAAAFAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSk1wCgoNUAn5/UAJ+f + 1ACfn9QAnp7UAJ+f1ACfn9QAoKDVAKGh1QCjo9YApKTXAKam2ACoqNgAqqrZAKys2gCurtsArKzaAKys + 2gCxsdwAtbXeALe33wC6uuAAvLzhAL6+4gC/v+MAwMDjAMHB5ADAwOMAvr7iALy84QC7u+EAvLzhAL29 + 4QC9veIBu7vhA76+4gXFxeUHz8/qCdTU7ArT0+sL0tLrDc/P6g7MzOgQzs7pEc/P6hHKyucTycnnFM3N + 6RbOzukXz8/qGc7O6RzOzukgzs7pJs7O6SrJyecypKTWO11dg0VVVXhRYWGIX93d8EPd3fA/0tLrPIGB + kV5vb35pa2t7Z3R0iFmvr9kwp6fOLpiYvC+GhqYwdHSPM1NTazghIS9FFhYeVhYWHmsODhOFoqKjzf7+ + /v/GxuD/nJzJ/2trrv8xMY//GRmC/xgYgf8XF4H/GBiB/xkZgv8XF4H/FhaA/xcXgf8CAnX/CQlf/xMT + O/8bGyz/MjI4/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADSAAAArwAA + AIEAAABTAAAALwAAABUAAAAF7OzsAO7u7gDw8PAA9vb2AP39/QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDr6+sA4ODgAO3t7QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AMDBDASUl + NAMlJTQGJSU0CSUlNBkkJDI8IiIwdJqan9r09PT/paXO/2Zmq/9DQ5j/Ly+N/yEhhv8AAG//AABm/wAA + c/8SEn7/GBiB/yIih/8kJIj/JSWI/yIih/8WFoD/GRl4/zQ0cP9PT2v/bGxu/05OTv8AAAD6AAAA8QAA + AN8AAADEAQEBoQ8PFIlAQFmhbW2Z7Hx8rf+BgbX/enqp/np6qb+Pj8g8rKzaA7W13gSrq9oznZ3UyJCQ + yf+Hh7zvkZHKRZ+f1Qqmptc1oaHVuZaW0fiMjMOzmJjRF6ys2gW1td5eqKjY6ImJwP9oaJGtZ2eQMZWV + 0AHCwuQK19ftQNjY7t3IyOf9lZXQ/5eXoP/+/v7/uLjY/4yMwP9iYqn/NDSQ/ysri/8rK4v/ICCF/xYW + gP8NDXv/BAR2/wEBdf8AAGL/BgYv/xAQJv8kJDD/Pz8//yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAf8DAwT+BgYI+AkJDOMLCw+0CwsPdQoKDT4LCxAdFBQcCyUlNAMmJjUBAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiotYAn5/VAJ2d + 1ACentQAnp7UAJ2d1ACdndQAnZ3UAJ2d1ACdndQAnp7UAJ6e1ACfn9QAoKDVAKGh1QCgoNUAn5/UAKGh + 1QChodYAo6PWAKWl1wCnp9gAqKjYAKqq2QCtrdsArq7bALCw3ACyst0As7PdALKy3QCurtsAq6vaAKmp + 2QCqqtkAq6vaAamp2QSrq9oFuLjfB8nJ5wnS0usK0dHrC8/P6g3NzekPysrnEM7O6RPOzukUxsbmFsXF + 5RnIyOcby8voHczM6SHNzekjzs7pJs7O6SnPz+orysroL7Gx3TJUVHU0OTlQNlJScznJydpUg4OHokJC + Q/RAQED/QEBA/0BAQP9AQED/RkZIzGdneliLi7ExfX2fMXNzkzJjY34yIyMxOg0NEUYPDxVXDw8Uba6u + sL/+/v7/yMjh/5+fy/9vb7L/NjaT/x0dhv8ZGYP/GBiD/xYWgv8XF4L/GRmD/xYWgv8WFoL/BgZ5/wkJ + av8VFUz/GBgq/y4uNv9AQED/ODg4/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAAB/AAAAUQAAAC4AAAAUAAAABerq6gDs7OwA7e3tAPHx8QD6+voA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A9/f3ANfX1wDExMQAyMjIAOPj4wD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+ACYm + NAUmJjQdJiY0TSYmNI0mJjTGJSUz60tLVvry8vL/xcXg/3l5t/9RUaH/OjqV/ysrjf8fH4f/AAB1/wAA + Y/8AAG7/GRmD/x8fh/8rK43/MjKR/zExkP8oKIz/FxeD/yoqef9ISHH/Y2Nv/2tra/8NDQ38AAAA9QAA + AOcAAADPAAAArgwMEZsuLkC/VVV29Hd3pf+IiL3/fn6v/3Z2otqBgbNNoKDVC7e33wGxsdwYpKTWd5aW + 0PuCgrT/e3uqyZKSyiSpqdgCr6/bQKWl18KSksr7fn6vwYaGuSGnp9gDvb3iKLi439Obm9L+Y2OJ50VF + X29gYIUKpqbXAdLS6w7e3vBT3Nzw7MzM6P/Jyeb//v7+/7W11/95ebf/RESb/ykpjP84OJT/QECY/ysr + jf8cHIX/EBB//wYGef8AAHb/AABl/wUFJ/8QECb/JCQx/z8/P/8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAQH/AwME/wcHCf8MDBH+ExMZ/BkZIu8eHijOISEtjyMjMUomJjQcJiY0BwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJjRAJmZ + 0QCamtIAm5vSAJyc0wCdndMAnZ3TAJ2d0wCdndMAnZ3TAJ6e1ACentQAnp7UAJ+f1ACfn9QAm5vSAJqa + 0gCentQAnp7UAJ+f1ACfn9QAoKDVAKCg1QCgoNUAoqLVAKKi1gCiotYApKTWAKSk1gClpdcAo6PWAJ6e + 1ACXl9EAkZHJAI6OxQGHh7wEhoa6BZCQyAeoqNgJt7ffCr294gu+vuINvr7iD76+4hDDw+QTxMTkFLq6 + 4Ba5ueAZu7vhG76+4h3BweMhxMTkI8bG5SbHx+YpycnnLMXF5S+5ueAyU1NzNiYmNDkmJjQ9ioqL3pSU + lP9hYWT/MjI4/y4uNv8vLzf/NTU6/z8/P/9AQED/RkZMqVVVb0dVVXQ6UFBuOSUlMjkODhM+CwsOSBAQ + Fla9vb6w/v7+/8rK4/+hoc3/cnK0/zo6lv8gIIj/GhqF/xgYhP8VFYL/ExOB/xYWg/8VFYL/FRWC/wcH + e/8MDG7/HBxX/yMjOf8xMTj/QEBA/0BAQP8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA6gAA + ANAAAACsAAAAfQAAAFAAAAAtAAAAFAAAAAXo6OgA6+vrAOzs7ADw8PAA9/f3AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gDr6+sA0NDQALKysgCmpqYAt7e3AO/v7wD+/v4A/v7+ACYmNAQmJjQUJiY0NiYm + NGomJjShJiY0zSYmNOcmJjTxJiYz+CQkMv7AwMP/6eny/5WVx/9kZKz/TEyf/zs7lv8rK47/IiKJ/wYG + ev8AAFz/AABi/xwchv8lJYv/OzuW/0xMoP9FRZz/Ly+Q/yEhhP9AQHn/XV10/3R0dP81NTX+AAAA+AAA + AO0AAADZAQEBvQwMELIlJTTSPDxT9V1dgf+Dg7b/goK0/3Jyn+t2dqRhk5PLFbOz3QK2tt8EqanZQJyc + 08iKir//b2+Z/G5umI2Vlc8WsrLdAba2302oqNnMjY3D/2pqk81wcJstoqLWAsLC5AzFxeasr6/c9HNz + n/wzM0a4Ly9COf7+/gC9veIC3NzwEOLi8nnf3/Hr5+f0//7+/v+6utr/cHCy/xAQf/8AAGH/AABw/xMT + gf8ODn7/CAh7/wICeP8AAHf/AAB2/wAAav8FBSn/EBAm/yQkMf8/Pz//ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB/wMDBP8HBwn/DAwR/xMTGv8aGiP+Hx8q+SMjMPElJTPmJiY0yCYm + NJsmJjRjJiY0MSYmNBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1t + lwB5eagAhYW4AI6OxACUlM0Al5fRAJqa0gCbm9MAm5vTAJ2d1ACentQAnp7UAJ6e1ACfn9UAn5/UAJub + 0wCcnNMAn5/UAJ+f1ACfn9QAoKDVAKCg1QCgoNUAoKDVAKCg1QChodYAoKDVAKGh1QCgoNUAoKDVAKCg + 1QCdndQAlpbQAIiIvQB/f7ABeHimBHFxnAZ2dqMIiIi9CZqa0gqkpNcLp6fYDaqq2Q+qqtkRtLTeE7S0 + 3hSrq9oXqKjZGqen2ByqqtkerKzaIbCw3CSzs90ntrbfKri44Cy1td4wrKzaM15egTcmJjQ6JiY0Pqen + p/+hobH/YmKG/zExU/8aGjH/GBgr/x0dLf8mJjL/MzM5/0BAQP9AQEHeOTlEbjIyREgqKjpEDg4UQA0N + ET8LCw9Dy8vNo/7+/v/Ozub/paXQ/3d3t/9AQJv/JCSM/xwciP8bG4f/FxeF/xMTg/8TE4P/ExOD/xAQ + gf8DA3n/ExNv/ygoXv8zM0j/Ozs9/zQ0NP8kJCT/CAgI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA + AOkAAADPAAAAqgAAAHwAAABOAAAAKwAAABMAAAAE5+fnAOjo6ADp6ekA7e3tAPLy8gD6+voA/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A9/f3AOXl5QDGxsYAoKCgACYmNAEmJjQLJiY0IyYmNE0mJjR8JiY0qiYm + NM0mJjTjJiY08CYmNPomJjT/MzNF/zs7Uv+Ojpv//v7+/7Oz1/96erj/Y2Os/1JSpP9BQZv/MjKT/ygo + jv8WFoX/AABX/wAAT/8CAnr/LCyQ/09Po/9lZa7/Z2ev/0xMof87O47/WFh9/3V1e/9iYmL/AAAA+wAA + APIAAADhAQEBygYGCcYWFh3fJSUz9jo6UP9lZYv/f3+u/3JynfRwcJt9hIS1HKio2AT+/v4Ara3aHKGh + 1YaWls/0enqo/1tbffRnZ45Om5vSDf7+/gC6uuBZrKza1YeHuv9VVXXVXFx/PZqa0gHFxeUCzs7pecLC + 5OWUlMv/NzdL5SYmNH8qKjoN/v7+ANHR6gPi4vIZ5OTzlvDw+PX+/v7/vb3c/3Z2t/8PD3z/AABL/wAA + Uv8AAGv/AAB0/wAAdv8AAHb/AAB3/wAAdv8AAGr/Bwc7/xAQJ/8kJDH/Pz8//yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICA/8FBQj/BwcJ/wwMEf8TExr/Ghoj/x8fK/8jIzD/JSUz/yYm + NPkmJjTuJiY04SYmNMomJjSkJiY0dyYmNEcmJjQeJiY0CCYmNAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAwMEIAPz9XAFBQbwBiYocAcnKdAH5+rgCLi78AkZHHAJeX0ACamtIAnJzTAJ2d0wCentQAnp7UAJ2d + 0wCentQAnp7UAJ+f1ACfn9QAoKDUAKGh1QChodUAoqLVAKCg1QChodUAoqLWAKKi1QCiotYAoaHVAKGh + 1QChodUAoaHVAJ2d0wCUlMsBh4e6An5+rgR4eKYGeXmmCIODswmQkMYLmprSDJ6e1A2goNUPoaHVEamp + 2ROsrNoVpqbXF6Gh1RqdndMcm5vSHpub0iGdndMkoKDVJ6Oj1iqlpdctoqLVMJqa0jN1daE4JiY0OyYm + ND/s7PL/m5vL/2pqsf8sLJD/Gxt2/xsbcv8hIWj/HR0//x0dLv8tLTb/QEBA/z8/QPYuLjV8JSUzUw0N + EkgODhM7Dw8UN9fX2Jn+/v7/0NDm/6ys1P98fLr/RESd/ygoj/8fH4r/HByJ/xoaiP8WFoX/ExOE/xMT + hP8MDID/BQV1/xgYZ/8uLlj/NjZD/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APkAAADoAAAAzQAAAKgAAAB5AAAATQAAACoAAAASAAAABObm5gDl5eUA5OTkAOXl5QDo6OgA8PDwAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAnJzUHJyc1FycnNTQnJzVaJyc1hicnNbInJzXPJyc14ycn + NfQnJzX9Jyc1/ykpOP8zM0b/Pj5V/05ObP9jY4L/9fX3/9fX6v+cnMv/jIzC/4SEv/90dLf/WFio/0BA + m/8xMZT/KCiP/wAAWf8AADz/AABg/x8fiv89PZr/UFCk/19fq/9eXqv/YGCg/3R0hv98fHz/HR0d/QAA + APYAAADoAQEC1gYGCdUQEBXpGRki+SwsO/9JSWP/amqQ/2trkvJubpagfX2qI6Cg1Qb+/v4AsLDcBaSk + 1kqcnNPKjY3A/2Njh/xLS2fZZWWKJaSk1gbAwOMBvr7iZrCw3N18fKr/RUVe3EZGYE7s7OwA5ubmANTU + 7ETOzunTsLDc/1BQbfonJzXBJyc1Pv7+/gCtrdoB3NzvAeTk8y709PrV/v7+/7y83P+Bgb7/NTWW/wAA + Y/8AAFr/AABq/wAAdP8AAHb/AAB2/wAAd/8AAHb/AABr/woKTf8QECf/JCQx/z8/P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwT/DAwR/xYWHv8NDRH/ExMa/xoaJP8gICv/JCQx/yYm + NP8nJzX/Jyc1/ycnNf8nJzX9Jyc18icnNeInJzXNJyc1rCcnNYAnJzVVJyc1MCcnNRUnJzUGAAAAAAAA + AAAAAAAAJyc1ACcnNQAnJzUAJyc1ADg4TABLS2YAXV1/AG5ulgB9faoAiIi6AJKSxwCZmdEAmprSAJmZ + 0ACentQAoKDVAKGh1QCiotUAoaHVAKGh1QCiotUAoqLWAKOj1gCiotYAo6PWAKSk1gCkpNYApKTWAKSk + 1gCkpNYApKTWAKSk1gCjo9YAnp7UAZSUygKKirwFhIS0BoWFtgiLi70KlJTKC5qa0gyentQOoaHVD6Ki + 1hGoqNgUq6vaFamp2RimptcaoaHVHJyc0x+ZmdEimZnRJZub0iecnNMrnZ3TLZmZ0DGNjcA0fn6sOCcn + NTsnJzU/7Oz1/7m52/+0tNn/f3+9/1tbq/9kZK//YmKu/0xMo/8pKXD/Gxst/y4uN/9AQED/Pz8/9isr + Mn8YGCFODw8UOxMTGS7g4OGT/v7+/8rK5P+pqdP/f3+9/0ZGoP8mJpD/HByK/xkZif8ZGYn/FhaH/xMT + hv8UFIb/DAyC/wUFcf8ZGVr/KipH/zIyOf8wMDD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD4AAAA5wAAAMwAAACnAAAAdwAAAEsAAAApAAAAEQAAAAPs7OwA4eHhAN/f3wDd3d0A3NzcANvb + 2wDr6+sA/v7+AP7+/gAnJzUCJyc1DicnNSQnJzU+Jyc1YicnNY8nJzW4Jyc11ScnNewnJzX8Jyc1/ycn + Nf8nJzX/Kys7/zg4TP9FRV7/VFRy/2Fhg/9ycpv/oqKw//v7/P+pqdP/jIzD/4iIwv+GhsH/i4vD/35+ + vf9VVaj/Ojqa/y0tk/8AAGP/AAAn/wAANv8AAHj/AwN+/w4Og/81NZf/ZGSv/4qKs/+UlJT/RUVF/gAA + APkAAADuAgID4Q0NEeEODhPxFRUd/CcnNf9QUG3/X1+B/19fgfNhYYW3cnKcL5aWzAX+/v4A/v7+AKio + 2SCentSUlpbM8nt7qP9KSmT1Pz9WqWdnjRCtrdsBxcXlBMPD5HSzs97mfHyp/zc3S+EvL0Fg/f39AOzs + 7ADX1+0c1dXts8TE5fh9far/Jyc16CcnNYknJzUO////AP///wDi4vIF+fn8o/7+/v+9vd3/hIS//0JC + nv8AAG7/AABg/wAAaf8AAHD/AAB0/wAAdv8AAHf/AAB4/wAAbP8JCU3/EBAn/yQkMf8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/xAQEv8hISj/Jyc1/xMTGv8aGiT/ICAr/yQk + Mf8mJjT/Jyc1/ycnNf8nJzX/Jyc1/ycnNf8nJzX/Jyc1/ycnNfonJzXqJyc10ScnNbQnJzWKJyc1Xicn + NTsnJzUfJyc1CycnNQInJzUAJyc1ACcnNQAnJzUAJyc1ACcnNQAxMUMARUVeAFdXdgBqapEAe3unAIGB + rwCOjsEAmZnQAJ2d1ACgoNUAoaHWAKKi1gChodYAoqLWAKSk1wCkpNcApKTXAKSk1wCkpNcApKTXAKSk + 1wCkpNcApKTXAKSk1wClpdcApaXXAKOj1wGentQCl5fNBo6OwgeMjL4Ij4/DCpaWzAubm9MMnp7UDqCg + 1RChodYSpqbYFKqq2hWrq9oYq6vaGqen2B2hodYfnZ3UIpub0yWbm9MonZ3UK52d1C6ZmdAyi4u9NXx8 + qTk9PVM8Jyc1QP7+/v/Y2Oz/y8vl/52dzv+Pj8b/mZnL/5CQx/+NjcX/bW21/zMzdP8kJDL/PDw+/0BA + QP82NjizJSUyUCkpODoXFx8p6Ojpjv7+/v/Bwd//nJzN/3l5u/9CQp//JCSQ/xwcjP8WFon/FhaJ/xUV + if8TE4j/ExOI/woKg/8GBm7/GRlQ/yIiNf82Njv/MDAw/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+AAAAOYAAADLAAAApQAAAHUAAABJAAAAKAAAABAAAAAD/f39AOrq6gDc3NwA1dXVAM7O + zgAnJzUCJyc1BycnNRUnJzUqJyc1QycnNWsnJzWYJyc1vycnNd8nJzX1Jyc1/ycnNf8rKzr/Ly9A/zMz + Rf82Nkr/QEBW/01NaP9dXX7/bGyS/3p6pf+GhrX/jIyx/4iIiP+np8X/aWmz/0dHov9ERKH/UFCn/3l5 + u/+Hh8L/amq0/0BAnv8uLpX/AABv/wAAIP8AACD/AABz/wQEef8REXP/Ly95/3BwqP+wsL7/h4eH/wgI + CPsAAAD0AwMD6QwMEeodHSf5Hh4p/xkZI/8tLTz/YGCB/1paefdZWXnGY2OGS4KCrwKurtsB/v7+ALGx + 3AakpNdXnp7U0JKSxv9kZIj/NTVI7Do6Tmpvb5YI/v7+AMnJ5wnGxuaDuLjg7X19qf8rKzvlJyc1dP7+ + /gD9/f0A2NjuB9nZ7ofQ0OrpqanZ/y0tPPsnJzXLJyc1Pv7+/gD+/v4A/v7+AP39/ob+/v7/vr7e/4eH + w/9ISKL/AAB1/wAAaP8AAG3/AABy/wAAdv8AAHn/AAB6/wAAev8AAG7/CQlO/xAQKP8kJDL/Pz8//yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8RERP/JiYr/0FBSv9VVWz/OTlN/yAg + K/8kJDH/JiY0/ycnNf8nJzX/Jyc1/y8vQP8rKzv/Jyc1/ycnNf8nJzX/Jyc1/ycnNf8nJzX/Jyc18ycn + NdwnJzW6Jyc1kicnNWUnJzU/Jyc1JycnNRQnJzUHJyc1AScnNQAnJzUAJyc1ACcnNQAnJzUALS08AEBA + VwBVVXMAaGiNAHh4ogCFhbQAkZHEAJqa0QCentQAoaHVAKOj1gCjo9YApKTXAKWl1wClpdcApKTXAKWl + 1wCkpNcApKTWAKWl1wClpdcApqbXAKam2ACmptcBpaXXA6Gh1QadndMHlpbLCZSUyAqYmM0Mm5vSDZ6e + 1A6goNUQoqLWE6am1xSqqtkWrKzaGa6u2xusrNodqKjYIKGh1SOentQmnZ3TKZ6e1CyentQvmZnPMouL + vDV8fKg5b2+WPD4+VED/////+Pj8/+Pj8f/Q0Of/ycnk/8nJ5P+1tdr/qqrU/6Sk0f9tbbX/T09s/z09 + Pv9AQED/NDQ3qiUlMlEyMkQ6SkpkKO7u8Y79/f7/tLTa/4iIw/9lZbL/OTmc/yIikP8ZGYz/FBSJ/xMT + if8SEoj/ERGI/xERiP8HB4P/BgZp/xYWRv8eHi//ODg8/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPgAAADmAAAAygAAAKQAAAB0AAAASAAAACcAAAAQAAAAA/7+/gD6+voAJyc1BScn + NQ0nJzUaJyc1LCcnNUgnJzVzJyc1oicnNc4nJzXsJyc1/CcnNf8qKjn/MjJD/zo6Tv9CQlr/TExn/1dX + dv9fX4H/ZWWI/2trkP90dJz/gYGu/4uLvf+UlMj/mprL/42Nk/9VVVr/SEhp/zExfP8TE3r/CQmD/woK + hP9HR6P/cHC3/2dns/88PJ3/KyuV/wUFgv8AACD/AAAg/wEBWP8KCnP/Hh5s/zw8a/9/f5j/rq6u/yoq + Kv4AAAD3AQEB8AgICvIYGCH+LS09/zk5Tf8dHSf/JCQx/1hYePtXV3XTXFx8ZnFxmAf+/v4A/v7+AP7+ + /gCpqdkgo6PXoKGh1vSPj8L/T09q/isrOto5OU0xenqlBf7+/gDNzekQx8fmkbi44PN6eqX/Jyc16icn + NYf+/v4A/v7+APr6+gDb2+9Z1tbt1MHB5P9eXn7/Jyc17ScnNZYnJzUMLCw7Af7+/gD+/v6A/v7+/7+/ + 3/+Njcb/WFir/wEBgP8BAXL/AwN0/wQEef8FBX3/BASA/wMDfv8BAX3/AABx/wkJTv8QECj/JCQy/z8/ + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/EhIT/ygoK/9GRk3/aGh1/4WF + m/+Li7P/bm6T/zIyRP8nJzX/Jyc1/ycnNf8nJzX/MTFD/0REW/89PVL/Jyc1/ycnNf8nJzX/Jyc1/ycn + Nf8nJzX/Jyc1/ycnNf4nJzXqJyc1yScnNZ0nJzVuJyc1RCcnNSknJzUYJyc1CycnNQMnJzUAJyc1ACcn + NQAnJzUAJyc1ACkpOAA+PlQAU1NvAGdniwB4eKIAhoa1AJGRwwCamtAAn5/VAKKi1gCkpNcApaXYAKWl + 1wClpdgApaXYAKWl2ACmptgAp6fYAKen2QCnp9kAp6fYAaen2ASmptgHo6PXB5+f1QmZmc8KmJjNDJyc + 0w2fn9UPoaHWEaGh1hOkpNcVqqraFq6u2xmvr9wcr6/cHq6u2yCoqNkjoqLWJp+f1Smfn9Usn5/VL5mZ + zjOLi7s2fX2pOmpqjz1TU29B9fX6vf7+/v/+/v7///////7+///y8vj/39/v/8zM5v/FxeL/qqrV/52d + sf+Ghob/YWFjxyMjMF0tLT1KODhLOEtLZCnv7/KO9PT5/6Cg0P9ubrf/Tk6o/ysrlv8YGI3/FBSL/xIS + iv8REYn/EBCJ/w0Nh/8ODoj/AQGB/wcHZv8VFUH/Hx8v/zk5PP8wMDD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD3AAAA5gAAAMoAAACjAAAAcwAAAEgAAAAmAwMDEBsbIwkoKDUOKCg1Fygo + NSwoKDVPKCg1gCgoNbYoKDXjKCg1+ygoNf8oKDX/LS09/zU1R/8+PlP/SUli/1VVcv9gYIH/a2uQ/3Z2 + nv+AgKz/ioq5/5CQwf+QkML/kJDB/5OTxv+ams7/m5vO/7a2zf+jo6P/Ly88/xUVK/8XF2L/BgZf/wEB + dv8AAH//JSWT/09PqP9ISKX/Li6Y/yIikv8cHI//AAAt/wAAIP8CAi//EhJd/ysrYP9JSWT/iYmL/2lp + af8AAAD6AQEB9QQEBvgMDBD/Gxsk/zQ0Rv9NTWj/ISEr/yQkMP5ERFziV1d0fWBggRL+/v4A/v7+AP7+ + /gCAgKsFfn6pYHx8ptd2dp7/VVVy/ygoNfYoKDW3MjJDDnt7pQL+/v4AysroGMXF5aC3t9/4enqk/ygo + Ne8oKDWYKCg1AZWVyAH+/v4A3NzvL9nZ7rnQ0Or+m5vQ/ygoNf0oKDXbKCg1PCgoNQVXV3QB/v7+gP7+ + /v+/v9//k5PK/2Vls/8ZGY3/CgqB/xAQg/8YGIr/HByO/xwcj/8SEor/BweE/wEBc/8JCU7/EBAo/yQk + Mv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/hISE/4oKCv+SEhO/29v + eP+Tk6L/qqrA/7S00v+ystr/j4+//2Bggf9ISGD/OztQ/0JCWf9SUm7/WVl3/0xMZf8oKDX/KCg1/ygo + Nf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg19igoNdwoKDWxKCg1eigoNUooKDUmKCg1FSgo + NQ0oKDUGKCg1AigoNQAoKDUAKCg1ACgoNQAqKjgAPT1SAFFRbQBkZIYAdHSbAIODsACPj8AAmJjNAKCg + 1QCiotYApKTXAKam2ACnp9gApqbYAKio2ACpqdkAqanZAaio2AKnp9gEp6fYB6am2AilpdcJoaHVC52d + 0wycnNINnp7UD6Cg1RGgoNUToqLWFqqq2Revr9wZr6/cHLCw3B6wsNwhra3bJKam2CeiotYpoKDVLaCg + 1TCcnNE0jY2+N4ODsDtycpk+VlZzQr294k/g4PF33d3wddvb73LY2O5v5OTyhf/////v7/f/5+fz/+rq + 9P/n5+f/qamswCwsO1U1NUZNQUFXQEdHXjNQUGop2trdkdTU5v+Dg8L/WVmv/0NDpP8kJJX/EhKM/w4O + iv8NDYn/DQ2J/w0Nif8NDYn/Dg6K/wAAgv8HB2X/FRU9/yAgMP86Oj3/MDAw/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOYAAADJAAAAowAAAHQCAgNLBgYILRMTGRwlJTEtKCg1XCgo + NZooKDXQKCg18igoNf8oKDX/KCg1/y4uPv83N0n/QUFW/01NZv9ZWXf/ZmaI/3Nzmf+AgKr/jIy6/5OT + xP+Zmcz/nZ3S/6Gh1f+jo9b/pKTX/6Ki1v+fn9T/oaHT/6enzf/Y2Nj/n5+3/yAgNv8MDCf/BQUy/wIC + SP8AAFX/AABl/wAAfP8fH5L/JiaV/yEhk/8XF47/FBSN/wAAS/8BASH/BAQj/xQUPP8pKUH/RkZO/2Vl + Zf8PDw/8AgIC+QcHCvsPDxT/Ghoj/y8vPv9LS2T/XV18/ywsO/8mJjLxJyczkicnMx7+/v4A/v7+AP7+ + /gD+/v4AT09pGlNTbq9OTmj3OjpN/ygoNf8oKDXpKCg1hP7+/gD+/v4A/v7+AMPD5CDDw+Suurrh/Xx8 + pf8oKDXzKCg1qigoNQV4eKAB/v7+AN3d8A/b2++Q19ft8r294v9GRl7/KCg19CgoNaQoKDUPKCg1Av7+ + /oD+/v7/wcHg/5eXzP9ubrj/MDCa/yEhlP8vL5j/Pz+f/0hIpv8/P6L/KyuX/xYWjf8DA3n/CQlR/xAQ + KP8kJDL/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAfsLCwv2JCQn+UhI + Tf1xcXn+mZmk/7a2xv/Fxdr/ycnk/8LC5P+2tt//rKza/5OTxP+Bgaz/gYGs/4WFsf+IiLX/NjZI/ygo + Nf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf4oKDXxKCg1zSgo + NZMoKDVUKCg1KCgoNREoKDUHKCg1BSgoNQIoKDUAKCg1ACgoNQAoKDUAKCg1ADg4SgBLS2MAX19/AHJy + mACBgawAjY27AJeXyQCfn9QApKTXAKam2ACoqNgAqanZAKqq2gGqqtkCqanZBamp2QeoqNkIqanZCaen + 2AukpNcNoKDVDqGh1RCiotYSoKDVFKOj1haurtsXsbHcGrCw3B2xsd0fsrLdIrKy3SWtrdsnp6fYKqOj + 1i6iotYxnZ3SNJOTwzeQkMA7f3+qP2FhgUO5ueBPtrbfS7Gx3EepqdlDo6PWP6Cg0zv+/v7z//////7+ + /v/+/v7/2trfoEBAVENAQFVCTU1mPVVVcTVwcIFJo6OsYdTU1rCzs9T/cHC6/1JSrP9AQKP/JSWW/xUV + jv8NDYr/CAiI/woKif8JCYj/CwuJ/wwMiv8AAIL/CQll/xUVO/8hITH/PDw+/yQkJP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPcAAADmAAAAyQAAAKQEBAV/Dw8UcR0dJoslJTG8KCg04Sgo + NfcoKDX8KCg1/ioqOP8xMUH/OztO/0ZGXf9SUm3/XV18/2lpi/91dZv/g4Ot/4+Pvv+amsz/oKDU/6Oj + 1v+lpdf/paXX/6am1/+np9j/qKjY/6ur2f+qqtj/pqbV/6Cgzv/GxtH/zMzU/39/tP8bG0H/BgYk/wIC + Iv8AACH/AAAx/wAATP8AAGj/AwOF/xwckv8dHZL/FhaP/xAQjP8BAWz/AwMi/wkJJf8WFiz/LS04/0tL + S/8wMDD+AQEC/AYGB/0ODhL/HBwl/zc3Sf9ZWXX/ZmaH/2Vlhv9hYYH+MTFBpiYmMzAoKDUC/v7+AP7+ + /gD+/v4A/v7+AHBwlGlvb5PgZmaH/0VFW/8oKDX/KCg12SgoNUr+/v4A/v7+AP7+/gC8vOEuvLzhu7i4 + 3/9+fqf/KCg19igoNbkoKDUNXFx5Af7+/gDe3vAB3NzvY9ra7tzPz+n/iIi0/ygoNf8oKDXtKCg1QSgo + NQr+/v6A/v7+/8XF4/+entD/dna9/0dHpv9HR6b/XFyw/3Fxu/97e77/Zma1/0NDpP8jI5X/BQV8/wkJ + Uf8QECn/JCQy/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AQEB6wwM + DNszMzbdbGx08pqapf+6usf/zs7e/9jY6v/V1ez/zMzo/8DA4/+0tN7/r6/b/7Ky3f+zs93/sbHc/5aW + xv9HR17/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygoNf8oKDX/KCg1/ygo + Nf4oKDX7KCg1+SgoNd4oKDWuKCg1cCgoNTYoKDUSKCg1ACgoNQAoKDUAKCg1ACgoNQAoKDUAKCg1ACgo + NQA0NEQAR0deAFpadwBra44Ae3ujAIuLuACZmcoAoqLVAKWl1wCoqNgBqanZA6mp2QWpqdkHqanZCKmp + 2QmqqtkLqKjYDaSk1g6iotUQo6PWEp2dzxScnM4Wp6fYF6ur2hqurtsdsrLdH7S03iK1td4lsrLdKKys + 2iumptcuoqLVMZmZyjSRkb83l5fIO4aGsj9tbZFDuLjfULGx3EyqqtpIoqLWRJeXyD+vr9VI/Pz+5/7+ + /v/y8ve0r6/GT2FhfzVPT2g1XV17NGtrjjH5+frY/v7+//7+/v/9/f7/r6/Z/3d3vv9VVa7/PT2j/ygo + mf8dHZT/FhaQ/w0NjP8ICIr/BQWI/wgIiv8HB4n/AACB/woKY/8VFTn/IiIy/z09P/8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AQEB6gQEBdwKCg3XFBQa3BwcJecjIy7xJycz9ykp + Nf0tLTz/NTVG/0BAVf9MTGT/VlZx/2FhgP9vb5P/fX2l/4qKtv+UlMT/m5vN/6Gh1P+lpdf/qKjZ/6mp + 2f+pqdn/qanZ/6mp2f+qqtr/q6va/6ys2/+urtv/rq7a/6am1P+0tM//2NjY/5mZv/9VVab/Gxtu/wMD + I/8AACL/AAAi/wAAIv8AACL/AABU/wkJiv8fH5X/IiKW/x8flf8UFI//BgaI/wgIM/8RESn/JCQ0/09P + U/9ISEj/AQEB/QQEBf4KCg7/FhYd/ykpNv8/P1P/VFRv/2hoif9zc5j/lpbGuYuLuEBeXnwI/v7+AP7+ + /gD+/v4Ara3bAqKi1hubm829mprL946OvP9TU27/KSk2+ikpNrspKTYf/v7+AP7+/gD+/v4AurrhOra2 + 38Wurtv/goKr/ykpNvkpKTbFKSk2FkNDWQL+/v4A/v7+AN3d8D7b2++/19ft/7W13/8yMkH/KSk2+ykp + NqgpKTYc/v7+gP7+/v/Q0Oj/q6vX/4eHxv9gYLT/aGi3/4ODw/+cnND/oaHF/4CAwv9RUaz/KSmZ/wYG + f/8JCVL/EBAp/yQkMv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOoBAQHRCgoKtDMzNqKCgou7t7fE7tDQ3//d3e3/39/x/9ra7//S0uv/xcXm/7q64f+8vOH/xcXm/8TE + 5f/CwuT/vb3i/6ur2v+pqdn/paXX/5yczv+Kirf/dnac/2FhgP9OTmb/PT1R/ysrOf8pKTb/KSk2/ykp + Nv8pKTb/KSk2/ykpNv8pKTb8KSk29SkpNu0pKTbcKSk2uSkpNokpKTZSKSk2IikpNgcpKTYCKSk2ACkp + NgApKTYAKSk2ACkpNgApKTYALi49AEBAVQBTU24AaGiKAH5+pgCNjboAmprLAaKi1gSmptgGqKjZCKmp + 2QiqqtkKq6vaC6ys2g2pqdkOpaXXEKOj1xKamssUnJzOF6Gh1RikpNcap6fYHaur2iCwsNwitLTeJbW1 + 3imyst0rq6vaLqOj1jKOjrs1l5fIOJiYyTyHh7JAcnKWRMLC5FG5ueBMr6/bSaSk10STk8FA8/P4w/7+ + /v/S0upcoKDSM5OTwTF2dpoudHSZLIeHsSqIiLQo//////7+/v/+/v7/9vb7/8DA4f+Ojsn/ZGS2/0FB + pv8oKJr/ISGX/x8flv8ZGZP/EBCP/woKjP8HB4r/BASJ/wAAgP8KCmD/FBQ2/yMjMv8/Pz//ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/AMDBPkICAr4Dg4S+BYWHfseHif+JSUx/zQ0 + RP9BQVb/T09o/1tbeP9paYr/d3ec/4ODrP+Njbn/l5fG/6Cg0/+lpdf/qKjY/6mp2f+pqdn/qanZ/6ur + 2v+rq9r/rKza/6ys2v+srNr/ra3b/6+v2/+urtv/ra3b/6qq1/+lpdD/0tLV/7e3y/9vb6//NTWb/xMT + j/8DA2//AAAy/wAAIv8AACL/AAAi/wAAIv8AADz/AABx/wwMjf8lJZj/HR2V/w4OjP8VFUf/Gxsu/zEx + Of9eXl7/ExMT/gMDBP4ICAv/EhIX/yEhLP8vLz3/MzND/0BAVf9aWnb/f3+n0J2dylF0dJgP/v7+AP7+ + /gD+/v4A/v7+AKys2galpddvoqLV55+f0P9/f6f/OjpM/ykpNuwpKTaRKSk2CP7+/gD+/v4A/v7+AMHB + 40q3t9/No6PW/2Zmhv8pKTb8KSk20SkpNiEuLjwD/v7+AP7+/gDe3vAe3Nzvmtvb7/nLy+j/cnKV/ykp + Nv8pKTbtKSk2VPPz9If+/v7/29vu/7q63/+Zmc7/c3O9/3h4v/+Njcn/ubnX/aOjyf95eb7/SEio/yAg + lf8FBXz/CQlR/xAQKf8kJDP/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APkAAADqAAAA0AEBAa0LCwuDNTU4aIqKk3DIyNap3d3s5uHh8vzg4PH/3Nzv/9TU7P/IyOb/xcXl/83N + 6f/Kyuj/ycnn/7q64P+vr9v/rq7b/62t2/+srNr/qqrZ/6Oj1v+VlcT/hYWv/3V1mv9lZYX/VVVw/0RE + Wv8yMkH/KSk2/ykpNv8pKTb/KSk2/ykpNv8pKTb/KSk2/ikpNvYpKTbqKSk22ykpNsEpKTaXKSk2Zykp + NjkpKTYXKSk2BykpNgApKTYAKSk2ACkpNgApKTYAKSk2ACkpNgA/P1IAVFRuAGlpigJ6eqAEiYm0BpeX + xgigoNMJpKTXCqio2Ayrq9oOq6vaD6mp2RCmptcSqKjYFaur2heqqtkZqanZG6mp2R6pqdkgra3bI7Ky + 3Sa1td4ptbXeLLKy3TCmptcyoKDSNqSk1jmZmck9hoavQHFxlETHx+ZSv7/jTbe330qtrdtFmprKQff3 + +s/39/rOnp7PN6Wl2DOamsowgICoLZWVxCqamsoomZnIJu7u9JT29vjM+fn65//////Z2e3/rKzY/3t7 + wv9KSqv/KCic/yAgmP8iIpn/JCSa/x8fl/8WFpP/EBCQ/wkJjf8AAIH/Cgpd/xQUM/8kJDP/Pz9A/yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAv8EBAX/CQkL/w8PE/8XFx7/Hh4n/y8v + Pv9YWHT/cHCS/39/pv+MjLf/l5fG/6Cg0v+mptj/qKjZ/6qq2v+rq9r/q6va/6ys2v+srNv/rKza/6ur + 2v+srNv/ra3b/66u3P+vr9z/r6/c/7Cw3P+vr9z/rKza/6qq2v+lpdb/wMDR/dbW1/+IiLj/SEih/xwc + k/8HB4n/AACA/wAAfv8AAGr/AABL/wAAJf8AACL/AAAi/wAAMP8AAEf/AQFm/wgIhf8cHIb/Kytd/ygo + Nf9AQED/NjY2/wMDBP8HBwr/EREW/x8fKP8rKzj/MDA//ysrOP8vLz3/RUVa44qKtWeWlsQXd3ecAf7+ + /gD+/v4A/v7+AK+v3AWpqdkkqKjZyamp2filpdf/bW2O/ykpNv8pKTbZKSk2YSkpNgH+/v4A/v7+AP7+ + /gDGxuZZvLzi1J6ez/9CQlf/KSk2/ykpNtwpKTYtKSk2BP7+/gD+/v4A39/xCt3d8Gzc3PDn1tbt/62t + 2/8pKTb/KSk2/ykpNqni4uOU/v7+/+bm8//Hx+X/pqbWwH9/w/90dL7/eXnB/4CAw/95eb//Wlqu/zQ0 + mv8WFpD/BAR6/wkJUf8QECr/JCQz/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD5AAAA6gAAAM8AAACrAAAAfQMDA1AmJik1mJijOtfX52Xi4vKs4uLy4+Dg8vzd3fD/19ft/9LS + 6//V1ez/1tbt/9XV7P/CwuT/ubng/7Oz3v+wsNz/r6/c/6+v3P+urtv/qqra/6Wl1/+amsr/jIy4/4OD + q/94eJ7/a2uN/1tbd/9JSWD/NzdJ/ykpNv8pKTb/KSk2/ykpNv8pKTb/KSk2/ykpNv8pKTb7KSk27ikp + NtspKTbEKSk2nikpNnIpKTZJKSk2JikpNg4pKTYAKSk2ACkpNgApKTYAKSk2ACkpNgEpKTYDOjpMBU5O + ZwdkZIMJd3ecCYaGsAuVlcQMoaHUDqen2A+np9gRpqbYE7Cw3BWyst0YsbHdGbGx3Ryxsd0frq7bIa6u + 2yOxsd0ntLTeKrm54C21td8wp6fYM62t2zeoqNk6mJjIPoaGsEFwcJNFyMjmU8HB4064uN9Lr6/bR6Gh + 0UKVlcE/lpbDO5ubyTinp9g0i4u0MXx8oS2fn84roaHQJ52dyyWDg6ooY2OAL0lJXjnW1tmh6en1/76+ + 4f+EhMf/MDCh/wAAcf8AAFn/AABg/wAAaf8AAHD/AAB2/wAAev8AAHz/AABy/wkJTf8QECr/JCQz/0BA + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL/BAQF/wsLD/8VFRv/Fxce/x4e + J/86Okv/e3ug/5ycyv+oqNj/rKza/66u2/+wsNv/sLDb/6+v2/+vr9v/rq7b/66u2v+urtr/rq7b/6+v + 2/+vr9v/sLDb/7Oz3f+0tN3/srLc/7Cw3P+urtv/rKza/6mp2P+np9j5sbHU6dfX1/+lpcX/Xl6r/yoq + nP8VFZT/BweO/wAAhP8AAH//AACA/wAAf/8AAH//AABf/wAAR/8AAD//AAA9/wMDSv8NDV3/JSVl/zw8 + XP83Nzz/ODg4/wcHB/8GBgj/EBAU/yAgKv8xMUD/NzdG/zMzQv8vLz3+Li477z4+UIOBgacddnaZBOLi + 4gDn5+cA5eXlALS03QGsrNoRqKjYcamp2fKurtr/qKjY/1xceP8qKjb+Kio2wCoqNjT+/v4A/v7+AP7+ + /gD+/v4AxsblaMPD5Nytrdr/ODhJ/yoqNv8qKjbkKio2PioqNgb+/v4A/v7+AODg8QLe3vBF3d3wx9vb + 7//IyOb/XFx4/yoqNv8qKjbpxMTHsP7+/v/o6PT/x8fmwKOj1dB4eMH/YGC2/1dXsv9VVbL/UFCv/zc3 + of8fH5P/DAyL/wICev8JCVL/EBAq/yQkM/8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+QAAAOgAAADOAAAAqQAAAHsAAABOAAAAKwAAABOxsb0S5OTzMePj82/j4/K34uLy5OHh + 8f3g4PH/4eHy/+Li8v/i4vL/0tLr/8rK5//CwuP/urrg/7W13v+ystz/sLDc/7Cw3P+vr9v/q6vZ/6Sk + 1P+amsf/kpK9/4+Puf+Ghq7/fHyh/3Bwkf9hYX7/SEhd/yoqNv8qKjb/Kio2/yoqNv8qKjb/Kio2/yoq + Nv8qKjb/Kio2/yoqNvUqKjbiKio2yCoqNqgqKjZ6Kio2UCoqNjEqKjYYKio2ByoqNgIqKjYBKio2Ayoq + NgYqKjYIKio2CTY2RglKSmALYWF+DXZ2mQ+IiLAQjo64Ep+fzhSsrNoWsLDbGLGx3Bmystwcs7PdH7Ky + 3CKxsdwksrLcJ7W13iu8vOEur6/bMaam1zSystw4qanZO5mZxj+Ghq5CcXGSR8jI51PCwuRPurrgTLGx + 3EikpNVDmprHQJmZxjycnMo5oaHQNX9/pDGHh64uoKDQK6Cg0CicnMomhYWtKGhohy1SUmo12dndnre3 + w/9RUX3/HBxV/wUFPP8AACT/AAAj/wAAJf8AADH/AAA8/wAASP8AAFX/AABh/wAAYv8HBzz/EREr/yUl + NP9AQED/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgID/wgICv8TExn/JiYx/z4+ + UP87O0z/Q0NX/3R0lv+pqdf/tLTe/7W13v+1td7/tLTe/7Oz3f+yst3/sbHc/7Cw3P+vr9z/r6/b/7Cw + 3P+xsd3/s7Pd/7Oz3v+1td7/tLTe/7Cw3P+trdr/qqrZ/6io2Pulpdbko6PTvNjY2+/FxdL/eHi0/z09 + o/8fH5r/ICCa/xcXlv8EBI7/AACG/wAAgv8AAH//AAB//wAAf/8AAID/AACA/wICbf8JCWD/GRlf/zMz + X/9TU2X/QEBA/xUVFf8EBAX/DAwQ/xwcJP8yMkD/QEBT/0BAU/87O0z/NjZF8TY2RqVGRlskdHSWBpqa + mgCvr68AysrKAMnJyQCwsNwHqqraM6qq2dCurtv9srLd/5mZxv9MTGL/Kio29CoqNpkqKjYV/v7+AP7+ + /gD+/v4A/v7+AMbG5nfGxubjvb3i/0lJX/8qKjb/Kio26SoqNlEqKjYH/v7+AP7+/gD+/v4A39/xKt7e + 8KDd3fD/1dXs/6Cg0P8qKjb/Kio2/6mprtb+/v7/3Nzv/7W13v+Pj8z/XV22/z8/qP8xMaL/LS2g/ysr + n/8bG5j/DQ2O/wUFh/8AAHj/CQlR/xAQKv8kJDP/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD+AAAA/QAAAPYAAADkAAAAyAAAAKMAAAB1AAAASQAAACgAAAARAAAABAAAAADk5PMQ5OTzOePj + 83zj4/PC5OTz6ejo9f/p6fX/5ub0/97e8P/Z2e7/0tLr/8rK6P/BweT/urrh/7a23/+0tN7/s7Pd/7Gx + 3P+urtv/qKjZ/6Cgz/+Zmcb/lZXB/5OTvv+Pj7n/iYmx/4GBp/9vb4//ODhJ/yoqNv8uLjz/RkZb/z4+ + UP8rKzf/Kio2/yoqNv8qKjb/Kio2/yoqNv8qKjb8Kio27CoqNtMqKjatKio2hCoqNlcqKjY3Kio2ISoq + NhAqKjYHKio2BioqNgcqKjYKKio2CyoqNg00NEQPRkZbEFZWcBJ3d5oUjY22Fp6ezBmoqNgara3bHbCw + 3CCyst0is7PdJbS03ii3t98rurrgLqmp2TKtrds1s7PdOaqq2TyYmMVAhYWsQ29vkEfIyOZUw8PkULu7 + 4EyystxIpqbVRKGh0EGoqNg9oaHPOpKSvDaAgKQylZW/L5+fzCydncoplpbAJ4ODqCdsbIoqUlJqL93d + 4JnQ0NT/X1+L/yUlZ/8JCVn/AABL/wAAR/8AAE7/AABW/wAAXP8AAGT/AABq/wAAcf8AAG//CQlD/xIS + K/8nJzX/QEBA/xgYGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDBP8LCw//Gxsj/zEx + P/9QUGf/Xl55/11dd/9oaIf/mJjD/7q64P+8vOH/u7vg/7m53/+3t9//tLTd/7Oz3f+ystz/srLc/7Ky + 3P+zs93/tbXe/7a23v+1td7/s7Pd/7Cw3P+srNr/qanY/aen1+qkpNTGoaHOgtjY4J7k5OT/lZXB/1BQ + qP8iIpz/EBCV/yEhnP8fH5z/FhaY/wgIkv8AAIn/AACD/wAAgP8AAH7/AAB+/wAAe/8GBnX/FRVw/zIy + dP9WVnf/enp8/0pKSv8DAwT/CQkM/xcXHv8qKjb/Pj5Q/0hIXP9ISF3/RERY9T4+ULs5OUgyOjpLB7Ky + sgC+vr4AysrKAOTk5ACzs90BrKzaGKqq2XqsrNr8sLDc/7Cw2/96ep3/OztL/yoqNuAqKjZtKio2Bf7+ + /gD+/v4A/v7+AMjI5gLGxuWGx8fm6sHB4/9mZoP/Kio2/yoqNuwqKjZnKio2B/7+/gD+/v4A/v7+AODg + 8RPe3vB13t7w9Nra7//BweP/RkZb/yoqNv+ZmZ71/v7+/8rK5/+ZmdH/Z2e8/zY2pv8gIJz/Gxua/xoa + mv8cHJr/FxeY/wgIkf8AAIj/AAB2/wgIS/8QECv/JCQz/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD+AAAA/AAAAPgAAADuAAAA2QAAALwAAACWAAAAagAAAEIAAAAjAAAADwAAAAMAAAAAAAAAAAAA + AADl5fMP5eXzPuXl84no6PXP6Oj17eXl8/3j4/L/4eHy/9/f8P/Z2e7/0tLr/8nJ5//BweP/u7vh/7e3 + 3/+0tN3/s7Pd/7Cw2/+rq9n/oaHQ/5ubx/+YmMP/lZW//5SUvv+Skrz/kpK7/3h4mv9ZWXL/UFBm/2tr + if+QkLn/fn6i/2Vlgv9KSmD/MTFA/yoqNv8qKjb/Kio2/yoqNv8qKjb/Kio2/yoqNvgqKjbgKio2uyoq + No4qKjZhKio2PCoqNiMqKjYVKio2DioqNgsqKjYMKio2DyoqNhAqKjYTOTlJFU9PZhdlZYIZenqdG42N + tR6dncohqanYI7Ky3Ca5ueApt7ffLLKy3C+qqtkztLTdNrS03Tqqqtk9mJjEQYODqURubo1Iy8vddsPD + 5FG8vOFNs7PeSaen1kWoqNhCqKjXPqCgzjuFhas3g4OoNJGRujCSkrwtjY20KoKCpihwcJEnW1t1J0pK + Xynl5eeU/v7//87O6v+hodb/XV24/w8Pl/8AAIX/AACE/wAAhf8AAIX/AACF/wAAhf8AAIX/AAB0/wsL + Tf8TEyz/KCg1/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAb/Dg4R/x4e + Jv8yMkH/TExi/2trif97e53/dnaX/3p6m/+wsNz/ysro/8XF5f+/v+P/u7vh/7i43/+2tt//trbf/7W1 + 3/+2tt//t7ff/7W13/+0tN7/sbHd/66u2/+srNr9qanZ8aam1talpdOMm5vIO7S0vjPr6+v/vb3Z/2xs + t/8xMaT/Dw+N/w0Nlf8dHZ3/Hh6d/x0dnf8YGJr/CgqU/wAAjP8AAIP/AAB+/wAAev8DA3P/DAxl/x8f + XP9BQWj/dnaE/4aGhv8ODg//BwcJ/xISF/8kJC3/ODhI/0VFWP9LS2D/TU1j+kxMYs1ERFdOAAAABAAA + AAHq6uoA6+vrAOvr6wDu7u4Ar6/cB6ur2j2rq9rQrq7b/7Ky3f+mptb/W1t1/y0tOv8qKjbGKio2Rv7+ + /gD+/v4A/v7+AP7+/gDHx+YHxsbmlsbG5vC+vuL/d3eY/yoqNv8qKjbvKio2fCoqNgn+/v4A/v7+AP7+ + /gDh4fIF39/xS97e8dnd3fD/0dHr/4uLsv8qKjb/r6+z//r6/P+4uOD/fX3H/z4+q/8QEJT/CQmN/wQE + kf8QEJf/HByc/x8fnf8aGpv/BgaT/wAAd/8HB0T/EREv/yQkNP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/QAAAPkAAADyAAAA4wAAAMsAAACsAAAAhgAAAFwAAAA4AAAAHQAAAAwAAAACAAAAAAAA + AAAAAAAAAAAAAOXl9AHl5fQL5+f0Pebm9Jjk5PPb5OTz8+Tk8/3j4/P/4uLy/97e8f/Z2e7/0tLr/8rK + 5//BweT/u7vh/7i43/+1td7/srLd/6ys2v+kpNP/mprF/5SUvv+Rkbr/jY21/4uLs/+Skrz/jIy0/3V1 + lv9vb47/paXU/8DA4/+zs93/np7L/4CApP9jY3//SEhd/zExP/8qKjb/Kio2/yoqNv8qKjb/Kio2/yoq + Nv8qKjb+Kio28SoqNtEqKjagKio2ayoqNkAqKjYlKio2GCoqNhQqKjYRKio2EyoqNhUqKjYXKio2Gjs7 + TBxQUGcfZ2eFIX5+oiSenssnqqrZKqys2i2iotAwqKjXNLOz3Teyst07qqraPpmZxUKDg6hFbW2MSdzc + 64HDw+VSvr7jT7S03kuoqNdGn5/LQ5+fyz+Pj7g8d3eZOHt7njV7e50xd3eYLm1tiythYX0oVVVsJkZG + WSQ5OUkk5+fokf7+///Kyuj/oaHW/2xswP8lJaH/AQGR/wAAi/8AAIf/AACF/wAAhf8AAIb/AACG/wAA + c/8LC0r/ExMt/ykpNv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BQUH/w8P + E/8eHib/MDA9/0REV/9WVm7/enqc/3l5nP9SUmn/WVlz/7W13//S0uz/ysro/8HB5P+8vOL/urrh/7q6 + 4f+5ueH/uLjg/7a23/+zs97/sLDc/62t2/+rq9r4qqra46en15mkpNM0cXGRDAAAAArg4ODF4uLo/46O + zf9WVrb/Kiqk/woKlv8YGJv/Gxud/xwcnf8cHJ3/HByd/xcXm/8LC5b/AACM/wAAf/8CAnX/Bwdm/xMT + Uf8iIkP/PT1N/3Fxcf9ISEj/BQUH/w4OEv8dHSX/MDA+/z8/Uf9ISF3/TU1j/k9PZdpNTWNpDAwPCAAA + AALp6ekA6enpAOvr6wDr6+sAsrLeAa2t2x2srNuEra3b/7Ky3v+1td//jo62/0dHW/8rKzf8Kys3pCsr + NyP+/v4A/v7+AP7+/gD+/v4Ax8fnD8XF5qTExOX0uLjg/1lZcv8rKzf/Kys38isrN5IrKzcK/v7+AP7+ + /gD+/v4A/v7+AN/f8S/e3vGv3t7x/9nZ7/+4uOD/NTVE/8rKzf/x8fj/tLTf/39/yP9BQa3/CQmV/wEB + j/8AAJD/DAyW/xwcnf8nJ6L/Kiqj/x8fnv8CAnv/CQlU/xYWO/8kJDT/Pz9A/yEhIf8AAAD/AAAA/wAA + AP8AAAD/AQEB/wAAAPwAAAD2AAAA6wAAANkAAAC+AAAAnAAAAHYAAABPAAAALwAAABgAAAAJAAAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXl9AHl5fQH5OTzQeTk86Pk5PPj5OTz+uTk8//k5PP/4uLy/9/f + 8f/Z2e//0dHr/8nJ5//CwuT/vLzi/7i44P+zs97/rq7c/6Wl0/+Xl8L/jo62/4WFq/97e57/d3eZ/46O + tv+BgaX/UVFo/1ZWbv+yst7/z8/q/8PD5f+0tN7/paXT/42Ntf93d5n/Xl55/0dHW/8zM0L/Kys3/ysr + N/8rKzf/Kys3/ysrN/8rKzf/Kys3/ysrN/8rKzfoKys3vSsrN4IrKzdMKys3KSsrNxgrKzcVKys3Fysr + NxsrKzccKys3HysrNyJBQVQlV1dwKGxsiit3d5kueHiaMZGRujWlpdM4q6vaPKGhzz+Tk7xDf3+jRmtr + ikrz8/m21tbrab+/4k+zs91LoaHMRpGRuEOJia4/cXGPPGtriDhjY341WlpzMVNTaS9KSl0rQEBRKDc3 + RiUuLjohKSk1Guzs7Yz+/v7/yMjn/5+f1v9ubsL/MTGo/xQUm/8ICJb/AACQ/wAAif8AAIb/AACH/wAA + h/8AAHL/CwtH/xQULf8pKTb/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUF + B/8QEBT/Hx8n/y8vPP8/P0//RUVY/1hYb/93d5f/Pz9Q/ysrN/9KSl3/zc3p/9XV7P/Kyuf/w8Pk/8DA + 4/+9veL/urrg/7a23v+zs93/sLDc/66u2/+srNrnq6vYnqur2Tyrq9kIZ2eDBRMTGAnJyclr5eXl/6ur + 1f9ra8D/VFS2/xgYnv8bG57/Gxue/xsbnv8cHJ//HByf/xwcn/8cHJ//GBid/woKl/8AAIr/BQV1/xAQ + W/8cHEX/JCQ0/zw8Pv84ODj/BAQF/wsLDv8XFx3/Kio1/zk5Sf9ERFf/S0tf/05OZOZNTWKBMzNCFRwc + IwQAAAAB7OzsAOjo6ADp6ekA6urqALCw3AStrdtIrq7b1LGx3P+2tt7/sbHc/3FxkP85OUj/Kys36ysr + N3UrKzcL/v7+AP7+/gD+/v4A/v7+AMnJ5xjGxuayw8Pk+LS03f9DQ1X/Kys3/ysrN/QrKzenKys3C/7+ + /gD+/v4A/v7+AP7+/gDg4PEa39/xft/f8f/d3fD/zc3p/3Nzkv/Kys3/7u74/7i44P+Hh83/T0+1/yAg + of8TE5v/CgqX/w4Omf8cHJ//LCyl/z09rP8vL6f/Dg6D/xISa/8YGED/JCQ0/z8/QP8iIiP/AgIC/wEB + Af8BAQH/AQEB/wEBAf8BAQL+AQEC+AAAAOYAAADQAAAAsgAAAJAAAABrAAAARgAAACgAAAAUAAAACAAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4vIB5OTzAeXl8wTl5fMR5eXzR+Xl9Kjl5fTr5eXz/+Xl + 8//l5fP/4+Pz/9/f8f/Z2e7/0tLr/8rK5//CwuT/vb3i/7e33/+xsdz/pqbS/5SUu/+CgqX/cnKQ/2Bg + ev9nZ4L/fn6g/0BAUf8rKzf/SEhb/8zM6P/T0+v/xcXl/7q64P+yst3/qqrX/5qaw/+IiKz/dnaW/2Ji + fP9MTGH/ODhH/ysrN/8rKzf/Kys3/ysrN/8rKzf/Kys3/ysrN/0rKzf6Kys37isrN9IrKzegKys3ZSsr + NzcrKzcdKys3FisrNxorKzcgKys3JSsrNygsLDgrMjI/LkpKXjFgYHo1dnaWOISEpzyCgqQ/eXmaQ29v + jEdfX3lL4+Pygs3N6F+2tt9Qp6fTTIaGqkh1dZREZGR+QFRUaj1PT2Q5QkJUNjo6SjI2NkQuLi46KCsr + NyQrKzcmKys3NisrN1i0tLnF/v7+/8fH5/+dndb/a2vB/zExqf8dHaD/GRme/w0Nmf8AAJP/AACL/wAA + h/8AAIj/AABy/wsLRf8UFC3/Kio2/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8GBgf/EREW/yIiK/8yMj//QEBR/0hIW/9TU2n/cnKR/3p6mv8rKzf/Kys3/19feP/R0ev/0tLr/8XF + 5v/AwOP/u7vh/7a23/+yst3/sLDc/66u2+StrdugrKzaTK2t2xiurtwIAAAAAQAAAAV/f38d4ODg8sfH + 3P9/f8n/Xl68/zMzqv8EBJL/HByg/xoan/8aGp//HByg/xwcoP8cHKD/HByg/xkZnv8TE5z/AwOT/w0N + e/8bG1v/JiZB/zMzOv9AQED/CwsL/wgICf8TExf/IiIs/zMzQf9AQFH/R0da/0xMYe9NTWKXQ0NUKh8f + KAcAAAAB/v7+AP39/QDu7u4A6OjoAOrq6gCvr9wjrq7ck7Cw3Pq0tN7/uLjg/5+fyv9ZWXH/Li46/ysr + N84rKzdOKys3Av7+/gD+/v4A/v7+AP7+/gDLy+ghyMjnvsTE5fy0tN7/SEhb/ysrN/8rKzf4Kys3uysr + Nw8rKzcB/v7+AP7+/gD+/v4A39/xCt/f8VLf3/Hs39/x/9fX7f+vr9z/ysrN/+7u+P+2tuD/iIjN/1JS + tv8hIaL/Fxee/xERm/8TE5v/ICCh/zIyqf9OTrX/LS2m/xsbhv8aGnb/GhpC/yQkNP8/P0D/JSUm/wYG + CP8DAwT/AQEB/wEBAf8BAQL/AgIC/wMDBP4DAwTzAgID1QEBAbAAAACMAAAAaAAAAEQAAAAoAAAAFAAA + AAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eX0AuXl9Arm5vQf5eX0U+Xl + 9Knm5vTu5ub0/+bm9P/l5fT/4+Pz/9/f8f/a2u//0tLr/8rK6P/CwuT/u7vh/7Oz3v+mptL/jIyx/3V1 + lP9kZH//YWF7/3l5mv97e5v/Kys3/ysrN/9WVm3/y8vo/83N6f+/v+P/urrh/7a23/+yst3/ra3b/6Wl + 0f+amsP/jIyx/3t7nP9nZ4P/U1Np/z4+Tv8rKzf/Kys3/ysrN/8rKzf/Kys3/ysrN/8rKzf6Kys38ysr + N+orKzfXKys3tSsrN4QrKzdVKys3NSsrNyYrKzckKys3JysrNy4rKzcyKys3Njo6SjlLS149TU1hQExM + YERJSVxIQkJUTMTE5Vq2tt9VpaXQUYKCpE1lZX9JUFBkRjw8TEE6Okk+MzNAOCwsNzIsLDczLCw3Oyws + N1EsLDdzLCw3nCwsN8EsLDfcmpqf9f7+/v/Hx+j/nZ3X/2xsw/80NKv/ISGk/yEhpP8cHKL/ExOe/wQE + mP8AAJD/AACL/wAAcv8KCkX/FBQu/yoqN/9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BgYH/xISFv8lJS7/ODhH/0pKXP9TU2n/YWF6/3d3lv+Rkbj/RkZY/ywsN/8sLDf/q6vY/9LS + 6//CwuT/u7vh/7a23v+yst3/sLDc566u26atrdpYrq7bJLCw3A2xsdwB/v7+AAAAAAMAAAAK2NjYqenp + 6v+bm9b/YmK+/09Ptv8MDJv/AACV/xoaof8ZGaD/GBig/xoaof8cHKL/Gxuh/xsbof8XF5//Dw+c/wkJ + lv8aGn//Li5h/zg4Sv9AQED/ISEh/wUFB/8ODhH/HBwj/ysrN/85OUf/Q0NU/0pKXvhLS16rRERWPSws + OAwAAAAC/v7+AP7+/gD+/v4A/v7+APPz8wCxsdwHr6/bVa+v3NSyst3/trbf/7Oz3f+AgKH/RERW/yws + N/8sLDeqLCw3Lv7+/gD+/v4A/v7+AP7+/gD+/v4AzMzoLsrK58rIyOb/urrg/1dXbv8sLDf/LCw3+iws + N8wsLDcXLCw3A/7+/gD+/v4A/v7+AN7e8APe3vAx3t7wxd/f8f/b2+//xMTl/9XV2//t7fj/tLTg/4iI + zv9SUrf/IyOk/xgYoP8TE57/Ghqh/yoqqP8+PrD/VVW5/z09p/8rK5n/IiJ9/xwcQ/8kJDT/QEBA/ysr + LP8QEBL/CgoN/wUFB/8CAgL/AgIC/wICA/8DAwT/BAQG/QYGB/AFBQbKAgICmwAAAHEAAABMAAAALQAA + ABgAAAAJAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ub0A+bm + 9A7m5vQq5ub0Xubm9K/n5/Tu5+f0/ubm9P/l5fT/4+Pz/9/f8f/Z2e7/0NDq/8fH5v+/v+L/tbXe/6Oj + zf+IiKz/dHSS/3Jyj/98fJz/j4+z/z8/T/8sLDf/LCw3/4iIrP/IyOf/vb3i/7m54P+2tt//tbXe/7Oz + 3f+xsdz/r6/b/6ur2P+mptH/nJzF/4+Ps/9+fp//aWmE/1FRZf87O0r/LCw3/ywsN/8sLDf/LCw3/yws + N/8sLDf/LCw3/SwsN/QsLDfoLCw32iwsN74sLDeXLCw3bywsN00sLDc5LCw3MSwsNzIsLDc4LCw3Piws + N0EsLDdFLCw3SSwsN020tN5bj4+0V3NzkFNcXHROQ0NVSSwsN0QsLDdALCw3QywsN1AsLDdmLCw3hCws + N6gsLDfHLCw33CwsN+0sLDf5Ly88/5qaof/+/v7/xsbo/5yc1/9ra8P/MDCr/xwco/8dHaT/HR2k/x8f + pf8WFqH/CAib/wAAk/8AAHX/CgpF/xQULv8qKjf/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wYGB/8SEhb/JiYv/z4+Tv9WVmz/ZGR+/3Fxjv+Ghqj/nJzE/66u2/9HR1r/LCw3/0JC + U/+0tN7/vLzh/7a23/2yst7psbHdsa+v3GWvr9wtsLDcD7Ky3QL+/v4A/v7+AAAAAAEAAAAFwMDATe3t + 7f++vuT/fn7L/1JSuf8tLar/AgKV/w4Onv8ZGaL/GRmi/xcXof8YGKL/GRmi/xoao/8ZGaL/Fhah/wkJ + nP8UFI//Li59/0NDZ/9SUlj/ODg4/wMDBP8KCgz/FhYc/yUlL/8zM0D/PDxM/0VFWP5ISFzBQ0NVUS8v + OxQAAAADAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4AsLDcKK6u26CwsNz3s7Pe/7e33/+mptH/ZGR+/zU1 + Qv8sLDf2LCw3gCwsNxb+/v4A/v7+AP7+/gD+/v4A/v7+AMzM6D7Ly+jTy8vo/8HB5P9vb4z/LCw3/yws + N/wsLDfYLCw3ISwsNwX+/v4A/v7+AP7+/gD+/v4A3t7wHd7e8Y/f3/H/3d3w/9HR6//k5O3/7Oz3/7W1 + 4f+IiM//UlK5/yIipv8YGKL/FBSg/yQkpv9BQbL/Skq1/0pKq/E7O4vsOjqq/ycnfv8dHUL/JSU1/0BA + QP8zMzX/ICAj/xkZHf8QEBT/CQkL/wQEBv8DAwT/AwME/wQEBf8GBgj9CAgK8AgICccEBAWOAAAAWgAA + ADcAAAAeAAAADQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5+f0BOfn9A/n5/Qw5+f0befn9Lfn5/Tq5+f0/efn9P/m5vT/4+Pz/9/f8f/X1+7/zs7q/8XF + 5v+5ueH/qKjT/4+PtP+EhKf/iIir/5GRt/+cnMT/LS05/ywsN/8sLDf/iYmt/7m54P+2tt//tbXf/7S0 + 3v+zs97/srLd/7Gx3f+xsd3/sbHd/7Cw3P+trdn/p6fS/5ycxP+OjrP/c3OQ/0dHWf9YWG7/V1du/0dH + Wv8vLzv/LCw3/ywsN/8sLDf/LCw3/ywsN/8sLDf4LCw36ywsN9ssLDfELCw3oywsN4AsLDdiLCw3TSws + N0IsLDdBLCw3QywsN0ksLDdPqanTW319nFZcXHNSQkJSUSwsN1YsLDdiLCw3dSwsN5MsLDe2LCw3zyws + N+MsLDf0Ly87/jU1Qv89PU3/RkZY/09PY/+srLf//v7+/8bG6P+bm9f/aGjC/y4uq/8bG6T/GRmj/xsb + pP8eHqX/HR2l/xgYo/8KCp3/AAB//woKRv8UFC7/Kio3/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8GBgf/EhIW/yYmL/9BQVD/YWF5/3l5l/+Hh6n/mprA/6ur1v+xsd3/nJzD/1BQ + ZP9BQVH/fHya+7Oz3eezs966srLdcrKy3TSyst0Os7PeA/7+/gD+/v4A/v7+AP7+/gAAAAADAAAACu7u + 7uPk5PT/lJTU/2Fhv/9BQbP/DAye/wAAlv8QEJ//GBij/xkZo/8ZGaP/GBij/xkZo/8ZGaP/Fxei/xER + oP8ODpn/JSWI/0BAd/9bW23/Y2Nj/xcXGP8HBwn/EREV/x8fJ/8tLTn/ODhH/0FBUv9GRlfXQUFSZDIy + Ph0AAAAFAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4AsLDcCKys12KtrdnXsrLd/7e33/+3t9//kJCz/1FR + Zf8sLDf/LCw33iwsN1QsLDcH/v7+AP7+/gD+/v4A/v7+AP7+/gDNzelOzMzo2c3N6f/IyOb/iYms/yws + N/8sLDf+LCw34ywsNywsLDcH/v7+AP7+/gD+/v4A/v7+AN7e8Q/e3vFZ39/x99/f8f/Z2e7/7e33/+zs + 9/+1teH/h4fP/1FRuf8iIqf/GBij/xMTof8rK6r/Njau/zw8sP85OaX/PDyo/y4upv8hIXn/GxtA/yUl + Nf9AQED/Pz9A/zc3O/8rKzH/Hx8l/xYWG/8LCw7/BgYH/wMDBP8DAwT/BAQG/wgICv4LCw7xCwsOxAcH + CX0AAABBAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5+f0Aefn9BDn5/Q55+f0e+fn9MHn5/Tq5+f1/ufn9P/m5vT/4+Pz/97e + 8P/W1u3/zc3p/8LC5P+0tN7/oaHJ/5mZv/+bm8H/np7G/4CAoP8sLDf/LCw3/0JCU/+wsNz/trbf/7W1 + 3v+0tN7/s7Pe/7Oz3f+yst3/srLd/7Oz3f+zs93/s7Pd/7Ky3f+wsNz/rq7Z/4WFpv98fJv/lJS5/5CQ + s/+Hh6n/bGyH/1NTaP89PU3/LCw3/ywsN/8sLDf/LCw3/ywsN/8sLDf/LCw3/SwsN/IsLDfiLCw3zSws + N7AsLDePLCw3ciwsN2AsLDdVLCw3ULKy3WKKiqtoZGR8ckFBUYUtLTehLS03vi0tN9g7O0TwLS03/TIy + Pv88PEv/RERV/0tLXv9UVGj/YGB3/2xshv95eZb/wsLS//7+/v/Gxun/mprX/2lpxP8yMq//HR2m/xkZ + pf8ZGaX/HBym/x0dpv8cHKb/Fxek/wAAjP8LC07/FBQv/yoqN/9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BgYH/xISFv8nJy//Q0NR/2ZmfP+FhaL/mpq9/6enz/+trdf/r6/Z/6ys + 1f+cnML8amqE6WNje8KVlbmAtrbfPLa23w22tt8C7u7uAP7+/gD+/v4A/v7+AP7+/gAAAAACAAAABu3t + 7Yn+/v7/sLDg/21txf9DQ7X/KCiq/wEBmf8EBJ3/Dw+h/xgYpP8ZGaX/GRml/xkZpf8aGqX/GRml/xQU + ov8JCZ7/HByR/zg4gP9UVHT/b29v/zs7O/8FBQb/DQ0Q/xkZH/8nJzD/MzM//z09TP9ERFToQEBPezEx + PCYAAAAIAAAAAv7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AKqq0ymqqtOrsbHc97e33/+6uuH/s7Pe/3d3 + k/9CQlL/LS03/y0tN7ctLTc0LS03AYWFhQD+/v4A/v7+AP7+/gD+/v4Azs7pYM7O6d7Pz+r/zMzo/5+f + xv8tLTf/LS03/y0tN+0tLTc3LS03CP7+/gD+/v4A/v7+AP7+/gDg4PEG39/xMuDg8d3g4PH+3d3w//Ly + +f/s7Pf/tLTh/4aGz/9QULr/IyOp/xcXpP8WFqT/Hh6n/ygoq/8kJKn/JSWc/yoqqv8eHp//Ghp1/xoa + P/8lJTX/QEBA/0tLTv5MTFH/QEBG/y8vNv8hISj/FRUb/wsLDv8FBQb/AgID/wMDA/8GBgf/CwsN/w8P + E/ISEha/DQ0QaQMDBCwCAgMTAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5/UA6Oj1AOjo9RXo6PVD6Oj1iejo9cno6PXs6Oj1/+jo + 9f/n5/T/5OTz/97e8P/X1+3/zMzo/76+4v+zs93/p6fP/6Ojy/+kpMz/jIyt/zQ0QP8tLTf/dXWS/7q6 + 4P+3t9//tbXe/7S03v+0tN7/s7Pe/7S03v+0tN7/tbXe/7W13v+vr9r/srLd/6amzv+Dg6P/r6/a/7Gx + 2/+srNX/ra3X/6Ojyv+SkrX/goKh/3Jyjf9XV2z/QkJR/y0tN/8tLTf/LS03/y0tN/8tLTf/LS03/y0t + N/8tLTf6LS037C0tN9QtLTe7LS03nS0tN4G0tN6Tl5e6rnh4lMtYWGzmLS03+C0tN/9UVFz/tLS5/0ZG + V/9RUWX/XV1z/2lpgf9yco3/fX2a/4mJqf+Vlbj/n5/F/9PT5//+/v7/xcXo/5qa2P9nZ8T/Ly+u/xsb + pv8ZGab/GRmm/xwcp/8cHKf/HByn/xwcp/8AAJT/DQ1b/xQUL/8qKjf/QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYGB/8SEhb/KCgw/0VFUv9paXz/iYmj/56ev/+pqdH/qqrS/6io + 0P6lpcztpKTKzYuLrI1ra4RCeXmWD/7+/gD+/v4A6+vrAO/v7wD+/v4A/v7+AP7+/gAAAAACAAAABb29 + vSv+/v7/2dnw/46O0v9TU7z/ODiy/w4Oof8HB5//Cgqg/w8Pov8WFqX/GBil/xgYpf8ZGab/GBil/xcX + pf8REaP/ExOY/y4uhv9LS3j/aGhx/15eXv8LCwz/CQkL/xQUGf8hISj/LCw3/zg4RP5AQE7yPz9Olikp + My4JCQsNAAAABAAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AK6u1weqqtJtra3W3bS03v+6uuD/urrg/6Gh + x/9hYXj/NjZD/y0tN/0tLTeJLS03Hl9fXwBAQEAAbGxsAP7+/gD+/v4A/v7+AM/P6XLPz+rj0NDq/87O + 6f+srNT/Li45/y0tN/8tLTf1LS03Ry0tNwv+/v4A/v7+AP7+/gD+/v4A3d3wAeDg8Rng4PGs4ODx+9/f + 8f/09Pr/7Oz3/7Oz4f+FhdD/VVW9/yIiqf8VFaT/Fhal/xoapv8bG6b/Dg6c/xQUov8bG6b/Dw+a/xMT + cv8aGkL/JSU1/0BAQP9OTlH6XV1h/1NTWP9AQEf/LS00/x0dI/8QEBT/CAgK/wMDA/8CAgL/BAQF/wkJ + C/8PDxL/FhYb9RoaIL4WFhtXDw8SHg0NEAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTzAOfn9ADo6PUA6Oj1AOjo9RXo6PVK6Oj1lejo + 9dXp6fXx6en1/+jo9f/n5/T/4+Pz/97e8P/U1Oz/x8fm/7u74P+0tN7/q6vT/6amzf9tbYb/MTE9/0hI + WP+amr//ubng/7a23v+0tN7/tLTe/7S03v+0tN7/tLTd/7e33/+2tt7/ra3W/7Cw2v+Hh6f/nZ3C/8PD + 5P++vuL/urrg/7q64P+3t9//srLc/6ur0/+kpMr/mJi7/4qKq/90dI//RUVV/y0tN/8tLTf/LS03/y0t + N/8tLTf/LS03/y0tN/8tLTf/LS03/y0tN/ctLTfkvLzi87Cw2f6Wlrn/fHyY/1RUaP8tLTj/lpab/0pK + WP9wcIr/fHyZ/4mJqf+UlLb/m5vA/6KiyP+pqdH/rq7W/7Oz3P/a2u7//v7+/8XF6f+Zmdj/Z2fF/y4u + r/8aGqj/Ghqo/xkZqP8cHKn/HR2p/xwcqf8cHKn/AACY/w4OZP8UFC//Kio3/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8GBgf/ExMW/ykpMP9FRVL/aGh8/4iIo/+dnb//qqrR/6mp + 0fOlpczco6PJmaKiyESkpMsQ/v7+AP7+/gD+/v4A9PT0ANvb2wD+/v4A/v7+AP7+/gAAAAABAAAABAAA + AAv29vbG/v7+/8HB6P+AgM//WVnA/y0tr/8JCaH/DQ2j/wsLov8NDaP/Fham/xcXp/8WFqb/Fham/xQU + pv8PD6T/DQ2f/yMjj/9AQH7/Xl5z/25ubv8oKCj/CQkL/xAQFP8bGyL/KCgx/zMzP/87O0n1Pj5NtyMj + KzYRERUTAAAABgAAAAH+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gCtrdUlra3VuLGx2/i3t9//vLzh/7i4 + 4P+Kiqr/UFBj/y0tOP8tLTjwLS04XC0tOA20tLQAQEBAAEBAQAB/f38A/v7+AP7+/gDPz+qF0NDq6dHR + 6//Pz+r/srLb/zs7Sf8tLTj/LS04+i0tOFotLTgO/v7+AP7+/gD+/v4A/v7+AP7+/gDf3/EP4ODxa+Dg + 8vbg4PH/9fX6/+zs+P+zs+L/iorT/1RUvv8WFqb/FRWm/xYWpv8XF6f/Bweh/wICnf8ICKH/Cgqi/wMD + l/8PD3b/HR1L/yYmNv9AQED/RUVG7l5eY/lbW2D/S0tQ/zU1PP8hISf/FBQX/woKDP8EBAT/AwMD/wUF + Bv8ICAr/Dg4S/xcXHP8eHib6IyMryiIiKlEjIysWLS04AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra7wDh4fIA5eXzAOfn9QDo6PUA6en1Aunp + 9RLp6fVM6en1punp9ePp6fX16en1/ujo9f/n5/T/4+Pz/9zc8P/R0ev/xMTl/7q64f+ystv/p6fO/19f + df88PEr/YmJ5/6ioz/+4uOD/tbXf/7S03v+0tN7/tLTe/7S03v+5ueD/trbf/66u1/+UlLb/cHCK/729 + 4v/Nzen/zMzo/8XF5f++vuL/u7vh/7i44P+2tt//tbXf/7W13v+xsdv/qanQ/46Or/9aWm//OTlH/0RE + VP9hYXf/U1Nm/0VFVf8tLTj/LS04/y0tOP8tLTj/LS04/8XF5f/AwOP/ubng/6qq0P+Jiaj/YGB2/zw8 + Sv9BQU//gYGe/7W13v+ystv/tbXe/7W13v+1td7/tbXe/7W13v+1td7/2tru//7+/v/ExOj/lpbX/2Ji + xP8oKK7/FRWn/xUVp/8TE6b/Fhan/xcXqP8WFqf/Fhan/wAAlf8ODmL/FBQv/yoqN/9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYH/xMTFv8pKTD/RUVS/2dnfP+FhaL/m5u9+6mp + z+2srNKoqKjORKWlyw7+/v4A/v7+AP7+/gD+/v4A+/v7ANPT0wDg4OAA/v7+AP7+/gD+/v4AAAAAAwAA + AAmmpqYx/v7+//7+/v++vuf/j4/V/2pqxv8kJK3/Dg6k/w4OpP8NDaT/DQ2k/xERpf8TE6b/FBSn/xMT + pv8NDaT/Bweh/xkZk/81NYP/U1N3/3Bwcv9NTU7/Dg4R/xAQE/8XFx3/IyMr/y4uOP83N0P5OztJzSIi + KUQNDRAZAAAACQAAAAP+/v4A/v7+AP7+/gD+/v4A/v7+ALm54AGxsdkDr6/Xd7Gx2uS1td7/urrg/729 + 4f+urtX/dHSP/0VFVP8tLTj/LS04zi0tODctLTgC0NDQAFxcXABAQEAAQEBAANLS6wHQ0OoB0NDqltDQ + 6u7S0uv/z8/q/7S03f9CQlH/LS04/y0tOPstLThuLS04Ef7+/gD+/v4A/v7+AP7+/gD+/v4A3NzvB+Dg + 8TPh4fLo4eHy//b2+//t7fj/u7vl/5ub2v9aWsH/Li6w/yMjrP8fH6v/FRWn/wAAnf8GBqH/DQ2k/w8P + pf8HB57/GBiA/ysrXv8yMkH/QEBA/zExMdxISEzmUlJW/kdHSv80NDn/Hx8j/xISFf8JCQv/AwME/wMD + BP8JCQz/DQ0Q/w4OEv8XFxz/Hx8m/yUlLv8pKTPeKys1XC0tOBUtLTgDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzOgA1NTsANzc7wDi4vIA5ub0AOjo + 9QDp6fUA6en1Aunp9Qzp6fVP6en1s+rq9erp6fX76en1/+np9f/m5vT/4eHy/9jY7v/MzOj/wcHk/7i4 + 3/+hocb/YWF3/0xMXf95eZT/srLb/7e33/+1td7/srLb/7S03P+3t9//u7vg/7a23/+wsNj/ZWV8/25u + h/++vuL/x8fm/83N6f/Kyuf/wcHk/7y84f+4uN//t7ff/7i43/+6uuD/vLzh/7u74f+3t9//lpa5/1xc + cP9OTmD/f3+c/6CgxP+GhqX/WVlt/y0tOP8tLTj/LS04/y0tOP/Nzen/y8vo/8nJ5//Dw+X/trbf/6Cg + xP9vb4j/Q0NS/2xshf++vuP/wcHk/7y84v+5ueD/t7fg/7e33/+2tt//trbf/9ra7v/+/v7/wsLo/5OT + 1/9dXcP/IyOu/xAQp/8QEKf/EBCn/xERp/8TE6j/FBSo/xUVqf8AAJj/Dg5h/xQUMP8qKjj/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYGB/8TExb/KCgw/0NDUf9lZXv/gYGd85GR + sruUlLZRk5O0ELOz3AWwsNcB/v7+AP7+/gD+/v4A/v7+AO7u7gDBwcEA+Pj4AP7+/gD+/v4AAAAAAQAA + AAYAAAARAAAAIt/f37b+/v7/y8vs/6io3/93d83/Nja1/xQUqP8NDab/Cwul/w4Opv8QEKf/Dw+n/xAQ + p/8PD6f/CQmk/xAQmv8pKYX/RkZ1/2NjcP9jY2T/ExMW/xUVGf8ZGR//ICAn/yoqNP8zMz/9OTlF2yoq + M2MGBggfCAgKDgAAAAQAAAAB/v7+AP7+/gD+/v4A/v7+AP7+/gCwsNgCsrLaIbOz3Mi2tt/6uLjg/7u7 + 4f+7u+H/nJy//2Rkev87O0n/Li44/y4uOJkuLjgiLi44AdPT0wDi4uIAQkJCAEBAQADT0+wB0dHrBtDQ + 6qjR0evy09Ps/9DQ6v+2tt//RkZW/y4uOP8uLjj7Li44gy4uOBT+/v4A/v7+AP7+/gD+/v4A/v7+ANzc + 8APg4PES4uLyw+Li8vj39/v/9fX7/8/P7f+wsOL/dXXM/01Nvf9BQbn/MTGz/xMTqP8KCqX/EBCn/xoa + qv8eHqz/HR2r/zU1k/9KSnj/WVlk/0hISP8lJSXeGRkazjU1N/I3Nzn/Kios/xgYG/8ODhD/BwcI/wIC + A/8EBAT/DQ0Q/xcXHP8aGiD/Fxcc/x8fJv8mJi7/Kio0/i0tN+guLjh7Li44HQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwcHkAMfH5wDOzuoA1tbtAN7e + 8ADj4/MA5+f0AOjo9QHq6vYB6ur2Berq9hTq6vZV6ur2t+rq9vDq6vb/6ur2/+jo9f/l5fT/39/x/9XV + 7f/Ly+j/wcHk/6iozv9oaID/YGB2/5aWuP+6uuH/uLjg/7e33/+2tt//urrh/7y84v+4uOD/m5u+/0JC + UP9xcYr/qqrQ/7i44P/FxeX/ycnn/8LC5P+8vOL/ubng/7e34P+3t+D/u7vh/8HB5P/BweT/vLzi/7m5 + 4f+Dg6H/TExd/21thv+7u+H/u7vh/4qKqf87O0j/Li44/y4uOP8uLjj/0tLr/9LS6//R0ev/zs7p/8PD + 5P+3t9//qanO/1NTZf88PEn/jY2s/8fH5v/BweP/urrh/7i44P+2tt7/tbXc/7a23f/a2u3//v7+/8LC + 6f+Vldj/YGDG/yQksP8QEKn/ERGp/xISqf8SEqn/ExOq/xQUqv8WFqv/AACb/w4OZ/8UFDH/Kio4/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8GBgf/EhIW/ycnL/8/P0z4U1Nl01ZW + aYZHR1c+RkZUGC8vOAS8vOEB/v7+AP7+/gD+/v4A/v7+AP7+/gDT09MA1NTUAP7+/gDx8fEAAAAAAQAA + AAQAAAAMAAAAGwAAADNqamp0/v7+/93d8v+3t+X/hobT/0xMvv8ZGaz/Cgqn/woKp/8ODqj/ERGp/w8P + qP8NDaj/Cgqn/wsLof8fH5D/Ojp7/1dXcP9sbGz/NjY4/wkJC/8UFBn/JSUu/yoqNP8xMTz/NjZC4y8v + OYMQEBMsAAAAEQAAAAcAAAAC/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AoaHFB7W13IC2tt7subng/7y8 + 4f+8vOH/srLZ/4aGpP9VVWj/MjI9/y4uOPsuLjhkLi44EtXV1QDc3NwA4+PjALm5uQBAQEAA09PsAdHR + 6w7R0eq20tLr99PT7P/R0er/uLjg/0tLW/8uLjj/Li44/C4uOJkuLjgY/v7+AP7+/gD+/v4A/v7+APf3 + 9wDb2+8B39/xCOHh8oni4vLv9/f7///////m5vb/zc3t/6mp4P+GhtP/a2vJ/0FBuv8dHa7/ISGv/yMj + r/8uLrP/Ojq4/0xMuf9nZ6b/e3uR/35+fv9UVFT5FBQU3AQEBNQSEhLjICAi+R0dHv8SEhP/CgoL/wUF + Bf8CAgL/BQUF/w8PEv8eHiT/Kioz/y0tNv8gICb/JiYu/yoqNP8tLTf+Li446i4uOJkuLjgwLi44AgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL6+4gDAwOMAw8PlAMnJ + 5wDQ0OoA2NjuAN/f8QDk5PMA6Oj1AOnp9QDq6vYD6ur2DOrq9iTq6vZf6ur2t+rq9vHq6vb/6en1/+jo + 9f/j4/P/3d3w/9XV7P/MzOj/sbHX/3R0jf97e5b/ra3T/7q64f+6uuD/ubng/7294v++vuL/u7vh/3Fx + iv9KSlr/kZGx/6mpzv+srNH/vLzh/8PD5f/AwOP/vLzh/7m54P+3t9//s7Pa/7e33/+/v+P/wcHk/76+ + 4v+7u+H/rq7U/1VVZ/89PUr/i4uq/8bG5v+pqc7/UFBi/y4uOP8uLjj/Li44/9XV7f/U1Oz/0tLr/9DQ + 6v/Gxub/u7vh/7q64f+Dg6D/MzM+/01NXv+4uOD/wcHk/7q64f+3t9//s7Pa/7Ky2f+zs9r/2dns//7+ + /v/Cwun/lJTZ/19fxv8lJbH/EhKq/xISqv8SEqr/EhKq/xMTq/8UFKv/Fhas/wAAnP8ODmf/FRUy/yoq + OP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYH/xERFP0eHiTvISEoxyAg + J4sZGR5SCgoLKAAAAA8AAAAD/v7+AP7+/gD+/v4A+vr6AP7+/gDv7+8AxMTEAP7+/gD39/cA0tLSAAAA + AAIAAAAHAAAAFAAAACkAAABHAAAAbdXV1eXy8vr/xcXq/5GR1/9aWsT/Kiqz/w0Nqf8JCaf/DQ2p/xAQ + qv8NDan/Bwem/wYGo/8XF5f/MTGC/01Nc/9oaGz/W1td/yAgJ/8LCw3/Dw8S/ygoMf80NED/NDRA6zAw + O5sYGB09AAAAFwAAAAoAAAADAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4Am5u9B5+fwiuwsNbUurrh+r29 + 4v/AwOP/vLzi/6Cgw/9zc4z/Skpa/y4uOP8uLjjjLi44Oi4uOAfh4eEA39/fAOPj4wDo6OgAx8fHANPT + 7ALS0usX0tLrw9PT7PnU1Oz/0dHr/7q64f9QUGL/Li44/y4uOP0uLjitLi44G/7+/gD6+voA/v7+AO7u + 7gDk5OQA/v7+AN7e8QTg4PFL4uLy4/j4/P///////////+7u+f/Z2fH/wsLp/6am3/9ra8r/ODi3/zo6 + uf9ERLz/VVXC/29vy/+Pj8j/o6O1/5aWlv9XV1f8BwcH7wAAAOkAAADnAwMD6gkJCvQODg/9CgoL/wYG + B/8DAwT/AQEB/wUFBv8QEBP/ISEp/zQ0P/9ERFP/QUFQ/ycnL/8rKzT/LS03/y4uOP8uLjjsLi44rS4u + OEcuLjgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9veIAvr7jAL+/ + 4wDBweQAxcXmAMvL6ADS0usA2trvAOHh8gDl5fQA6Oj1AOrq9gDq6vYE6ur2Eurq9jDq6vZs6ur2uerq + 9vTq6vb/6en2/+fn9f/j4/P/3t7x/9PT7P+4uOD/h4ek/5WVtv+7u+H/vb3i/7y84v/AwOP/wMDj/7u7 + 4f9sbIP/X19z/5SUtP+iosX/p6fL/7i44P+9veL/vLzi/7u74f+5ueD/t7ff/7Ky2P+xsdf/ubnh/7y8 + 4v+9veL/u7vh/7u74f+Dg6D/MzM+/01NXv+4uOD/s7Pa/1RUZv8uLjj/Li44/y4uOP/X1+3/1tbt/9TU + 7P/R0er/xsbm/7y84f+8vOH/vb3h/2BgdP82NkH/fn6Y/8LC4/+9veH/u7vg/7m53/+3t9z/trbb/9jY + 6v/+/v7/wsLq/5SU2v9eXsf/IiKy/w8Pq/8SEqz/ExOt/xMTrf8TE63/FBSt/xUVrf8AAJ3/Dg5o/xUV + NP8qKjj/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf0JCQvxCQkL1AcH + CaoDAwR1AAAARwAAACYAAAAPAAAAA/7+/gD+/v4A/v7+APb29gD6+voAxcXFAPHx8QD+/v4A/v7+AAAA + AAEAAAAEAAAADjs7OzwzMzNUAAAAXgAAAIZnZ2fH/////9jY8f+iot//YmLI/zo6uv8WFq7/Cgqp/wwM + qv8NDav/CQmp/wMDpv8ODpv/JiaI/0FBdf9dXWz/ZWVl/0lJVf8/P0z/Ghof/xERFf8hISf/OjpG8TMz + Pq8eHiVPAAAAHgAAAA4AAAAFAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4Au7vgAaenyRSjo8SEq6vO9b+/ + 4v/Dw+T/xcXl/76+4v+UlLL/ZmZ7/0VFU/8vLzj+Ly84tS8vOCAvLzkC8/PzAOXl5QDl5eUA5eXlAOXl + 5QDU1OwC09PrItPT68/U1Oz81dXs/9LS6/+7u+H/VVVm/y8vOP8vLzj+Ly84wS8vOCAvLzgB9vb2APr6 + +gDAwMAA/v7+AP7+/gDf3/EC4eHyHeLi8sf4+Pz+/////////////////////+3t+f/W1vD/ra3i/25u + zP9aWsX/dnbO/5mZ2v/AwOL/2dnZ/6Ojo/45OTn9AAAA+wAAAPkAAAD3AAAA9wAAAPcBAQH5AwMD/QMD + A/8CAgL/AQEB/wAAAP8FBQb/EhIU/yQkK/89PUn/VlZn/2Njd/9WVmj/Li44/y4uN/8vLzj/Ly84/y8v + OPAvLzi9Ly84Xi8vOBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDjAMDA + 4wDAwOMAwMDjAMLC4wDExOQAyMjmAM7O6QDV1ewA3NzvAOPj8gDn5/QA6en1AOrq9gDr6/YF6+v2Fevr + 9jjr6/Z46+v2wevr9vDq6vb/6en1/+fn9P/k5PP/29vv/8LC5P+pqcz/vLzh/8TE5f/BweP/wsLk/8PD + 5P+zs9f/d3eP/4eHo/+Pj6z/lpa1/56evv+urtL/ubnf/7u74P+7u+D/uLjd/7a23P+5ud//urrg/7u7 + 4P+8vOH/vLzh/7y84f+8vOH/vb3h/2BgdP82NkH/fn6Y/7Gx1f9ZWWv/Ly84/y8vOP8vLzj/1tbt/9bW + 7f/W1u3/0tLr/8fH5v+9veL/vb3i/76+4v+fn7//Tk5e/19fc/+pqcv/vLzh/7e33f+2ttv/r6/T/6io + yv/S0uP//v7+/8LC6v+Tk9n/Xl7H/yEhsv8ODqz/EBCt/xISrf8TE67/ExOu/xISrf8TE67/AACe/w4O + aP8VFTT/Kio4/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQL5AQEC6AEB + AcoAAACjAAAAcwAAAEcAAAAmAAAADwAAAAP+/v4A/v7+AP7+/gD29vYA09PTAKmpqQD+/v4A/v7+AP7+ + /gAAAAACAAAACWtra25WVlb/UlJS9UxMTKoAAACfAAAAw+Tk5Pvv7/n/vLzn/3Nzz/88PLz/Nja5/xsb + sP8VFa7/ERGt/wgIqf8JCaH/GxuR/zY2e/9RUW3/aGho/1tbY/9YWGr/UFBg/zY2Qv8YGB3/HR0j9zEx + Or8kJCxgBQUHJwAAABIAAAAHAAAAAvr6+gD+/v4A/v7+AP7+/gD+/v4A/v7+ALq63wm1tdo8pKTG26am + yP68vOH/xsbm/8bG5v+7u+H/hYWg/1dXaf87O0f/Ly84+i8vOHcvLzgT/v7+AP7+/gD09PQA6OjoAOLi + 4gDf398A1dXsA9PT7C7T0+zZ1dXs/9bW7f/T0+v/vb3i/1tbbf8vLzj/Ly84/i8vONIvLzgoLy84A/b2 + 9gDQ0NAAnZ2dAP7+/gD///8A4ODxAeHh8gfg4PGb+Pj8+//////i4vL/2dnu/56ev/+rq7H/8vL6/9vb + 8v+4uOb/oKDe/7y82//7+/3/+Pj4/42NjfMTExP1AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAA + AP8AAAD/AAAA/wAAAP8AAAD/BQUG/xISFP8lJSv/Pj5K/1lZa/9qan//bm6E/2Jidv9ERFL/Ly84/y8v + OP8vLzj/Ly849i8vOM4vLzhxLy84HS8vOAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLC + 5ADBweQAwcHjAMDA4wDAwOMAwcHkAMPD5QDFxeUAycnnAM/P6gDX1+0A3t7wAOTk8wDo6PUA6ur2AOvr + 9gDr6/YE6+v2Fevr9kDr6/aI6+v2yevr9u/q6vb/6ur2/+jo9f/f3/H/y8vo/8TE5f/IyOf/yMjn/8bG + 5v/Gxub/p6fJ/5OTsP+vr9P/np6//52dvf+np8n/tLTY/7q64P+6ut//t7fc/7Ky1v+vr9P/t7fd/729 + 4v+9veL/vb3i/7y84v+9veL/vb3i/76+4v+fn7//Tk5e/19fc/+IiKT/VVVm/y8vOP8vLzj/Ly84/9XV + 7P/V1ez/1tbt/9PT6//IyOb/vr7i/76+4v++vuL/v7/i/319lv9cXG7/hISe/7W12f+pqcr/n5++/5yc + u/+lpcb/19fo//7+/v/Cwuv/k5Pb/2Bgyf8jI7X/DQ2t/w0Nrf8PD67/EhKv/xMTr/8UFLD/ExOv/wAA + nv8ODmr/FRUz/yoqOP9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAA + AOYAAADJAAAAowAAAHMAAABHAAAAJgAAAA8AAAAD/v7+AP7+/gD+/v4A9/f3AJOTkwCwsLAA/v7+AP7+ + /gAAAAABAAAABpqamj2UlJT/ZWVl/05OTv9ubm7/YmJi0QAAANVlZWXy/////9zc8/+iot//V1fG/1FR + xP9WVsb/NTW7/yEhtP8MDK3/FRWb/y0tg/9GRnD/YGBn/15eYf9kZHj/ZWV5/1pabP9OTl3/LCw1+h4e + JMkfHyVrDg4RLgAAABYAAAAKAAAAAwAAAAH39/cA/v7+AP7+/gD+/v4A/v7+ALa22gG0tNccvb3hia+v + 0v2np8f/sLDT/8PD5P/CwuT/ra3O/3p6kv9QUGD/NjZA/y8vOOwvLzg/Ly84Cv7+/gD+/v4A/v7+AO/v + 7wDi4uIA3t7eANXV7ATU1Ow+1NTs4tbW7f/X1+3/09Pr/7+/4v9iYnX/Ly84/y8vOP8vLzjfLy84Mi8v + OAb39/cAjY2NAJqamgD+/v4A/v7+AP///wD+/v4A4+PyZ/j4/Pf/////3t7w/9jY7v+fn77/tbW///// + ///5+f3/8PD6//Hx8v66urrrq6ur1ygoKMo9PT3oKioq+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUFBv8TExX/JiYs/z4+Sv9VVWb/cXGH/4mJpP+Njaj/eXmQ/09P + Xv8vLzj/Ly84/y8vOP8vLzj7Ly843y8vOIYvLzgqLy84BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADCwuQAwsLjAMLC5ADCwuMAwcHjAMHB4wDBweMAwsLkAMTE5QDHx+YAy8voANLS6wDZ2e4A4ODxAOXl + 8wDo6PUA6+v2AOvr9gDs7PYA7Oz2Gezs9kzr6/aU6+v20Ovr9vHr6/b/6en1/+Hh8v/a2u//19ft/87O + 6f/Hx+b/xcXl/5aWs/+lpcb/v7/i/7e32/+1tdn/u7vg/7294f+9veH/vLzh/7e32/+urtD/q6vN/7Ky + 1f+7u+D/vb3h/7294v++vuL/vr7i/76+4v++vuL/v7/i/319lv9cXG7/YmJ1/09PXv8vLzj/Ly84/y8v + OP/W1u3/19ft/9fX7f/U1Oz/ycnn/7+/4/+/v+P/wMDj/8DA4/+xsdT/e3uT/3x8lP+hocD/oqLC/6Ki + wv+qqsv/sbHU/9bW6P/+/v7/w8Pr/5aW3P9hYcr/JSW2/xAQr/8QEK//EBCv/xERsP8TE7D/FRWx/xQU + sf8AAJ//Dg5r/xUVM/8qKjj/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APcAAADlAAAAyQAAAKMAAABzAAAARwAAACYAAAAPAAAAA/7+/gD+/v4A/v7+ANvb2wBnZ2cAxMTEAP7+ + /gAAAAABAAAAAwAAAAvi4uLjvr6+/4uLi/9dXV3/Z2dn/76+vv9WVlbsEhIS9vDw8P/19fv/0dHw/4qK + 2P9tbc7/hobX/2trzv88PL7/ExOw/yQkkP8+Pnb/VlZp/2JiYv9gYG7/bW2D/2trgP9gYHP/VlZn/kVF + UtUkJCtsEBAULwAAABcAAAAMAAAABQAAAAH19fUA9PT0AP7+/gD+/v4A/v7+AP7+/gCzs9YKt7fbR76+ + 4tm/v+P/s7PW/6Wlxf+qqsz/tbXY/5mZt/9wcIb/RkZT/y8vOfkvLznMLy85HDU1PwP+/v4A/v7+AP7+ + /gD+/v4A7OzsAN7e3gDW1u0F1dXsUtXV7OfW1u3/19ft/9PT7P/AwOP/amp//y8vOf8vLzn/Ly856S8v + OT0vLzkI2NjYAFxcXACdnZ0A/v7+AP7+/gD+/v4A/v7+AObm9DP5+fzy/v7+//f3+//t7ff/pKTE/6am + uP/////////////////IyMr/GRke2QcHCLQAAADDn5+f81dXV/84ODj/HBwc/ygoKP8YGBj+AAAA/gAA + AP0AAAD9AAAA/QAAAP0BAQH+AQEB/wEBAf8FBQb/ExMU/ycnLP9BQUv/YmJ0/39/mP+Rka7/m5u5/5iY + tf+BgZr/Wlps/y8vOf8vLzn/Ly85/y8vOf8vLznyLy85mi8vOTYvLzkNLy85AQAAAAAAAAAAAAAAAAAA + AAAAAAAAwMDjAMLC5ADCwuQAw8PlAMLC5ADCwuQAwsLkAMPD5QDDw+UAw8PlAMXF5gDIyOcAzc3pANTU + 7ADa2u8A4eHyAObm9ADp6fUA6+v2AOzs9wDs7PcA7Oz3G+zs9lbr6/ai6ur22urq9vPp6fX/5+f1/+bm + 9P/f3/H/2Nju/87O6v+kpMT/srLV/8fH5v/BweT/v7/j/7+/4//AwOP/wMDj/7+/4/+8vOD/s7PW/7Cw + 0v+0tNf/vLzh/76+4v+/v+P/v7/j/7+/4/+/v+P/wMDj/8DA4/+xsdT/e3uT/1lZav88PEj/Ly85/y8v + Of8vLzn/19ft/9nZ7v/Z2e7/1dXs/8rK5//AwOP/wcHj/8HB4//BweP/wsLk/5ycuv+Pj6r/qanJ/7u7 + 3v+3t9n/rq7P/7Cw0f/W1ub//v7+/8LC6/+Wltz/YmLM/ygouf8SErL/EhKy/xISsv8SErL/EhKy/xQU + s/8VFbP/AACj/w4ObP8UFDP/Kio5/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD3AAAA5QAAAMkAAACjAAAAcgAAAEcAAAAmAAAADwAAAAL+/v4A/v7+AP7+/gCjo6MAfX19APr6 + +gD+/v4AAAAAAgAAAAft7e2J/v7+//T09P/ExMT/fn5+/2tra/+jo6P/8PDw/gICAv2AgID///////Ly + +//Ly+7/kJDb/4+P2v+YmN7/YWHM/yUltf84OIf/Tk5s/2VlZf9WVlz/ZGR3/21tgv9paX3/YmJ1/1tb + bOlMTFttICAmKAAAABMAAAAMAAAABgAAAAL+/v4A+vr6APT09AD5+fkA/v7+AP7+/gC3t9oBr6/QI7m5 + 3JLAwOP/w8Pk/8LC5P+rq8z/kJCr/4uLpf98fJT/VlZn/zAwOf8wMDnyMDA5lTAwOQv+/v4A/v7+AP7+ + /gD+/v4A/v7+APz8/ADo6OgA1tbtBtXV7GbW1u3q19ft/9fX7f/T0+z/wcHj/3Bwhf8wMDn/MDA5/zAw + OfIwMDlKMDA5C52dnQBnZ2cAycnJAP7+/gD+/v4A/v7+AP7+/gDl5fQS+vr86f7+/v/n5+f/3Nzm/76+ + 4v9/f5f/rKy6/////////////////3Nzd/lAQELYkJCQ4/7+/v90dHT/QEBA/0BAQP9AQED/ICAg/gAA + APoAAAD4AAAA9gAAAPQAAAD0AAAA9QQEBPsEBAT+BwcI/xQUFf8qKi3/R0dN/2Zmdf+EhJv/l5ez/6Ki + wf+mpsX/np68/319lf88PEf/MDA5/zAwOf8wMDn/MDA5/zAwOf4wMDmzMDA5RTAwORAwMDkDAAAAAAAA + AAAAAAAAAAAAAK+v0AC9veEAwcHjAMPD5ADExOUAw8PkAMPD5ADExOUAxMTlAMTE5QDExOUAxcXlAMfH + 5gDKyucAz8/qANXV7ADc3O8A4uLyAOfn9ADq6vYA6+v2AOzs9gDr6/YD6+v2Guvr9lvr6/ax6+v26evr + 9vjr6/b/5+f0/+bm9P/i4vL/ycnn/8HB4//Ly+j/ycnn/8bG5f/ExOX/wsLk/8HB4//BweP/wMDj/729 + 4P+4uNv/u7ve/7+/4v/AwOP/wMDj/8DA4//AwOP/wcHj/8HB4//BweP/wsLk/5ycuv9ra3//QkJO/zAw + Of8wMDn/MDA5/9nZ7v/a2u//2trv/9fX7f/Ly+j/wcHk/8LC5P/CwuT/wsLk/8PD5f+9veD/tLTW/76+ + 4v/CwuT/vr7h/7Ky1P+vr8//1dXl//7+/v/Dw+v/lpbd/2Jizf8oKLr/ExOz/xMTs/8TE7P/FBSz/xQU + s/8VFbT/FBSz/wAApP8ODm3/FRU1/yoqOf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA9wAAAOUAAADIAAAAogAAAHEAAABGAAAAJQAAAA8AAAAC/v7+AP7+/gD+/v4AmZmZAJ6e + ngD29vYAAAAAAQAAAASRkZEc/Pz88v7+/v/+/v7//f39/52dnfpHR0fpUFBQ+Ofn5/9QUFD/ISEh//// + ////////+vr9/9bW8f+srOT/p6fi/4WF1/9ERLf/TU1+/1xcZP9XV1j/Tk5b/2Fhc/9mZnn/ZmZ5/2Nj + dfVdXW96PDxIHQAAAAsAAAAIAAAABQAAAAIAAAAB/v7+AP7+/gD39/cA9/f3AP7+/gD+/v4Ar6/QB6ys + zVK9veDdubnc/7Ky0/+jo8L/eXmP/zAwOf8wMDn/MDA5/zAwOf8wMDn/MDA56DAwOVMwMDkH/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A+vr6ANfX7QfW1u1819ft7djY7v/Y2O7/09Ps/8LC5P94eI7/MTE7/zAw + Of8wMDn7MDA5WTAwOQ+UlJQAgoKCAMzMzAD+/v4A/v7+AP7+/gD+/v4A5eX0Afv7/d7+/v7/kpKS/83N + 2P/R0ev/lJSv/3Z2jf+Pj57/o6Om/8nJy//Hx8n/1dXW++/v7//u7u7/fHyV/y8vOv85OT7/QEBA/yEh + IfgAAADtAAAA6QAAAOQAAADhAAAA4QAAAOQBAQHpCQkK+A0NDv4YGBn/LS0v/0tLT/9sbHf/iYme/52d + uv+np8b/rKzM/6mpyf9/f5b/WFho/21tgf9FRVL/MDA5/zAwOf8wMDn/MDA5/zAwOcwwMDlaMDA5EjAw + OQIAAAAAAAAAAAAAAABYWGkAkZGsALm53ADBweQAxMTlAMTE5QDExOUAxMTlAMXF5gDFxeYAxcXmAMXF + 5gDFxeYAxsbmAMjI5wDMzOkA0dHrANfX7QDe3vAA4+PzAOjo9QDq6vYA6+v2Aezs9wLs7PcF7Oz3F+zs + 917s7PfD6+v28Onp9fzq6vb/6+v2/+Pj8//U1Oz/09Ps/9fX7f/R0ev/zMzo/8fH5//FxeX/xMTl/8PD + 5f/CwuT/wMDj/7+/4//AwOP/wcHk/8HB5P/BweT/wcHk/8LC5P/CwuT/wsLk/8PD5f+9veD/j4+q/1FR + YP8wMDn/MDA5/zAwOf/Z2e7/2trv/9ra7//X1+3/zMzo/8LC5P/Dw+T/w8Pk/8PD5f/ExOX/wcHj/7u7 + 3f/AwOP/wsLk/8HB4/+3t9j/ra3N/9TU4//+/v7/xcXt/5ub4P9oaND/LS29/xgYt/8WFrb/Fha2/xYW + tv8VFbb/Fha2/xYWtv8AAKb/Dg5u/xUVNf8qKjn/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPcAAADkAAAAxwAAAKAAAABvAAAARQAAACQAAAAOAAAAAv7+/gD+/v4A9vb2AKio + qADQ0NAA3d3dAAAAAAIAAAAJ6urqi/7+/v/+/v7/9/f395mZmc8PDw/NCAgK7wYGB/6np6f/gICA/wEB + Af+goKD/sLCw/4CAgP+wsLD/2trz/7S05/+iouL/a2u9/2Nje/9jY2P/Pz9G/0tLWf9aWmv/X19w/2Bg + cvNiYnScXFxsFDAwOAUAAAADAAAAAgAAAAEAAAAB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AKur + yiicnLiel5ey/4SEnP9+fpX/fn6V/3Jyhv85OUT/MDA5/zAwOf8wMDn/MDA5/DAwOdIwMDkhMDA5BP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDX1+0H19ftkdfX7fDZ2e7/2dnu/9TU7P/ExOX/gICX/zg4 + Qv8wMDn/MDA5/zAwOWkwMDkToqKiALi4uADDw8MA7e3tAP7+/gD+/v4A/v7+AOfn9AH8/P3S8vLy/3Bw + cf/d3en/4ODx/8LC5P+AgJf/eHiO/0VFUv8mJi3/Hx8k/yQkJ/nk5OT/r6/F/3Bwrf8hITb/LS06/0BA + QP8iIiLuAAAA1wAAANAAAADKAAAAxQAAAMUAAADJAAAA0gUFBeESEhL2HBwd/TExMv9NTVH/cXF5/5CQ + oP+jo73/rq7O/6+vz/+vr8//gICX/2lpff9oaHv/MjI8/zAwOf8wMDn/MDA5/zAwOf8wMDn+MDA53jAw + OXkwMDkaAAAAAAAAAAAAAAAAMDA5ADAwOQBeXm8ApKTCAMLC5ADExOUAxcXlAMXF5QDGxuYAxsbmAMbG + 5gDGxuYAxsbmAMbG5gDHx+YAyMjnAMrK6ADOzukA0tLrANjY7gDf3/EA5OTzAOjo9QLr6/YE7Oz3Bu3t + 9wft7fcH7Oz3Guvr9mfq6vbH6ur29ezs9//s7Pb/5OTz/97e8P/h4fL/3t7w/9jY7v/R0ev/zMzo/8jI + 5//Gxub/xMTl/8PD5P/BweP/wMDj/8HB4//CwuT/wsLk/8LC5P/Dw+T/w8Pk/8PD5f/ExOX/wcHj/5WV + sP9TU2L/MDA5/zAwOf8wMDn/29vv/9vb7//b2+//2Nju/83N6f/Dw+X/xMTl/8TE5f/Fxeb/xcXm/8LC + 5f+/v+H/w8Pl/8PD5f/Dw+X/vb3g/7Gx0f/T0+L//v7+/8bG7f+cnOD/bW3S/zIywP8aGrn/Fha4/xUV + t/8UFLf/ExO3/xUVt/8WFrj/AACn/w4Obv8VFTX/Kio5/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD2AAAA4wAAAMYAAACfAAAAbQAAAEMAAAAjAAAADQAAAAH+/v4A/v7+AOXl + 5QDMzMwA8PDwAAAAAAEAAAAGg4ODH/z8/PL6+vr0tra2snNzc7OGhobpSkpK+zIyMv8QEBH/AQEC/woK + Cv+Pj4//AQEB/wEBAf8AAAD/AAAA//z8/v/IyO7/r6/m/4+Pu/92dnb/SkpN/zY2QP9HR1T/VFRj/1lZ + avRcXG22WFhoJHV1igOHh6AB6urqAPHx8QC8vLwAtbW1AO7u7gD+/v4A/v7+AP7+/gD+/v4A/v7+ALW1 + 1gidnblgm5u33oyMpf+WlrH/o6PA/8HB5P/Fxeb/trbX/2VleP8wMDn/MDA5/zAwOfIwMDmoMDA5BzAw + OQL+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A2NjuCNfX7qXY2O7z2dnv/9nZ7//T0+z/xcXm/4iI + of8+Pkn/MDA5/zAwOf8wMDl6MDA5GMXFxQDu7u4A19fXAPX19QD+/v4A/v7+AP7+/gD+/v4A/f3+yPf3 + 9/9YWFj/X19h/+bm9P/T0+z/paXD/4qKo/9cXG3/Jycu/yEhJ/8ZGR7+urq7/JGRtv9XV6P/KSlU/yYm + OP9AQED/JSUl3gAAALYAAACtAAAApAAAAJ4AAACfAAAApwAAALQBAQHICQkK3xwcHfMyMjX9T09S/3V1 + e/+YmKT/q6vB/7a21P+0tNX/pqbE/3V1i/+Hh5//b2+D/2pqff9cXGz/VFRj/zAwOf8wMDn/MDA5/zAw + OfwwMDnlMDA5mDAwOS0AAAAAAAAAADAwOQAwMDkAMDA5ADAwOQBhYXIAp6fGAMXF5gDGxuYAx8fmAMfH + 5wDHx+cAx8fnAMfH5wDHx+cAyMjnAMjI5wDIyOcAysroAMrK6ADNzekA0tLrANjY7gLe3vED5OTzBunp + 9Qfs7PcJ7Oz3Cevr9grs7PcR6+v2L+rq9nPs7PfH7e339urq9v/n5/T/6en1/+bm9P/j4/P/3t7w/9fX + 7v/R0ev/zMzp/8nJ5//Gxub/xMTl/8LC5f/BweT/wsLl/8PD5f/Dw+X/xMTl/8TE5f/Fxeb/xcXm/8LC + 5f+amrb/WFho/zAwOf8wMDn/MDA5/9zc7//d3fD/3Nzv/9jY7v/Ozun/xcXl/8bG5f/GxuX/x8fm/8jI + 5v/ExOT/wcHi/8XF5f/FxeX/xcXl/8PD5P+4uNf/1dXj//7+/v/Jye//n5/i/3Fx1P82NsL/HBy6/xYW + uf8WFrn/FRW4/xISt/8TE7j/ExO4/wAAp/8ODm7/FRU1/yoqOf9AQED/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9gAAAOIAAADFAAAAnQAAAGsAAABBAAAAIQAAAAwAAAAB2NjYAPz8 + /AC6uroAz8/PAAAAAAEAAAADAAAAC7CwsEXU1NSZKysrYJycnLr39/f/nJyc/0JCQv9AQED/PDw8/wUF + Bv8sLCz/ioqK/2xsbP8AAAD/AAAA/0BAQP//////4uL2/8rK7/+zs7n/ZWVm/y0tNP85OUP/RkZR/09P + XflVVWPIUlJgSDk5QgiEhJsB29vbANfX1wD+/v4A2traAK+vrwDFxcUA/f39AP7+/gD+/v4A/v7+AP7+ + /gCrq8gvq6vIq7W11PnDw+T/ysrn/8vL6P/Jyef/xsbl/7e31v93d4v/NDQ9/zExOf8xMTnkMTE5cTEx + OQExMTkB/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A0dHqAdfX7QvZ2e642tru9tvb7//a2u7/1NTs/8fH + 5v+Rkan/RkZS/zExOf8xMTn/MTE5jDExOR3T09MA/v7+APX19QD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /sP+/v7/bW1t/0BAQP9/f4P/4eHx/83N6P+wsM//fX2S/0FBTP8kJCr/LCww/9fX1/99fa7/QECM/yoq + Yf8kJDf/Pz9A/ykpKcoAAACMAAAAggAAAHgAAAByAAAAdAAAAH8AAACTAAAArQMDA8cSEhLcLi4w8VFR + VP93d3z/np6m/7W1xf+/v9j/wcHh/5ubtv+ior7/wMDg/8PD5P++vt//s7PR/5ubtv9zc4f/Pj5I/zEx + Of8xMTn/MTE5/TExOeoxMTmtMTE5QzExOQIxMTkBMTE5ADExOQAxMTkAMTE5AD8/SgB5eY0AtrbVAMjI + 5gDJyecAycnnAMnJ5wDJyecAycnnAMrK5wDKyucAysrnAMrK5wDKyucAysrnAMzM6AHPz+oD1NTsBNra + 7gbg4PEI5eXzCefn9Avp6fUL7Oz3DO3t9w/q6vUd6+v2QO3t94Ds7PbI6+v2+Ozs9//s7Pb/6ur2/+jo + 9f/k5PP/3t7w/9jY7f/S0uv/zc3p/8rK5//Hx+b/xMTl/8TE5P/ExOX/xcXl/8bG5f/GxuX/x8fm/8jI + 5v/ExOT/nJy2/1paav8xMTn/MTE5/zExOf/d3fD/3d3w/93d8P/Z2e7/zs7p/8bG5v/Hx+b/yMjn/8jI + 5//Jyef/xsbm/8TE5f/Gxub/xcXm/8XF5v/Fxeb/wMDh/9nZ6P/+/v7/yMjv/6Cg4/92dtf/QkLH/yEh + vv8aGrz/Fha6/xYWuv8TE7r/ExO6/xMTuv8AAKv/Dg5v/xQUNf8qKjn/QEBA/xAQEP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAADhAAAAwwAAAJsAAABpAAAAPwAAACAAAAALAAAAAdvb + 2wDc3NwAnZ2dALKysgAAAAACAAAAB7e3t4mUlJReAAAAR0RERov+/v7/1tbf/3FxjP80NEH/OTk+/0BA + QP8ZGRn/MDAw/1VVVf+Ghob/AAAA/wAAAP9QUFD///////7+/v/t7e3/pqam/zY2Ov8wMDn/PT1H/0ZG + UvxMTFjWTExZaDMzPBYAAAAD+Pj4AMvLywDZ2dkA/v7+AP7+/gDLy8sAr6+vAMvLywD09PQA/v7+AP7+ + /gC3t9YLsbHPbr+/4N7BweH/ysro/8zM6P/Ly+j/yMjn/8XF5v+ursv/fHyR/0FBS/8xMTn/MTE50TEx + OTv+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AMnJ5wPQ0OsU1tbtyNra7vjc3O//29vv/9TU + 7P/IyOf/l5ew/05OW/8xMTn/MTE5/zExOaAxMTkjwcHBAP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v7A/v7+/5SUl/9AQED/QEBA/6iosP/Y2O7/wMDb/4mJnP9paXf/KSkw/3p6fP/Q0Ob/bW21/zAw + fv8gIE7/JCQ4/z8/QP8uLi6zAAAAXwAAAFYAAABNAAAASQAAAE8AAABeAAAAdwAAAJkAAAC3BQUFyBwc + HdhJSUzweHh8/6GhqP+9vcj/ysrc/8fH4/+0tNL/yMjn/8TE5f/ExOX/xMTl/8PD5P+5udj/paXB/4CA + lv9NTVr/MTE5/zExOf8xMTn/MTE58TExOcAxMTlWMTE5DjExOQIxMTkAMTE5ADExOQAxMTkAMTE5AGdn + eAClpcEAxsbmAMrK6ADKyugAysroAMrK6ADKyugAysroAMrK6ADKyugAy8voAMrK6ADLy+gCzMzoBc3N + 6QbR0esH1tbtCdnZ7grd3fAM5ub0DOrq9g7s7PcP6ur2D+jo9RTs7Pcm7Oz3TOzs947t7ffP7e33+O3t + 9//t7ff/6+v2/+jo9f/j4/P/3d3w/9fX7f/R0ev/zc3p/8jI5//Gxub/xcXl/8fH5v/Hx+b/yMjn/8jI + 5//Jyef/xsbm/6GhvP9bW2v/MTE5/zExOf8xMTn/3d3w/97e8P/e3vD/29vv/9DQ6v/IyOb/yMjm/8jI + 5v/Jyef/ysrn/8jI5v/Hx+b/x8fm/8fH5v/Hx+b/yMjm/8fH5v/i4vL//v7+/76+7P+QkN//Z2fT/0VF + yf8lJcD/Ghq9/xgYvP8VFbv/Fha7/xUVu/8UFLv/AACs/w4OcP8VFTb/Kio5/0BAQP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAA4QAAAMMAAACaAAAAZwAAAD4AAAAfAAAAC+Xl + 5QD+/v4A9/f3AKCgoAAAAAABAAAABaqqqoesrKz/f3+AeYWFhqjV1db36+vv/4+Px/9GRob/JSVH/ycn + Of85OT7/NDQ0/yQkJP9AQED/aGho/wAAAP8AAAD/gICA///////+/v7/8fHx/4eHiP8mJiz/NDQ9/0BA + Sv9GRlHkRkZQhjExOSYAAAAHAAAAAeXl5QC4uLgA2dnZAP7+/gD+/v4A8fHxAMHBwQCvr68AysrKAPHx + 8QD9/f0Ay8voMsnJ57XExOT4ycnn/8zM6P/Nzen/y8vo/8jI5v/Dw+L/oaG7/25ugP9CQk3/MTE59jEx + Oa8xMTkX/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDQ0OoFz8/pHtHR6tXV1ez72dnu/9ra + 7v/U1Oz/ycnn/52dtv9UVGL/MTE5/zExOf8xMTmyMTE5KZycnADr6+sA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+4P7+/v++vs3/SEhI/0BAQP+Tk5r/hYWN/0BAQP9AQED/QEBA/3Jycv+goKn/pqbd/2Vl + xP8xMYr/IyNU/yUlOP9AQED/MzMznwAAADgAAAAyAAAALAAAACwAAAA2AAAASgAAAGkAAACPAAAAsgAA + AMIICAnFLy8x0XFxdvGioqj/w8PK/9bW4v/d3ez/29vv/8zM6P/Hx+b/xsbm/8fH5v/Hx+b/xsbm/8HB + 4f+vr8z/jY2j/1paaP8xMTn/MTE5/zExOf8xMTn5MTE5zzExOWgxMTkdMTE5BjExOQAxMTkAMTE5ADEx + OQAyMjoAY2NzAJiYsQDAwOAAycnnAMvL6ADLy+gAy8voAMvL6ADMzOgAzMzoAMzM6ADMzOgCzMzoBMzM + 6AbMzOgHzc3pCc/P6grOzukL1dXsDd7e8A3j4/MO6Oj1EOjo9BLi4vIT6Oj1E+3t9xju7vct7u73WO7u + 96Du7vfW7u739e7u9//t7ff/6+v2/+jo9f/j4/L/3d3w/9bW7f/R0er/y8vo/8nJ5//Jyef/yMjm/8jI + 5v/Jyef/ysrn/8jI5v+oqMT/XFxr/zExOf8xMTn/MTE5/97e8P/f3/H/39/x/93d8P/S0uv/ycnn/8nJ + 5//Jyef/ycnn/8nJ5//Jyef/ysro/8nJ5//Kyuj/y8vo/83N6f/Pz+r/5ub0//39/v+UlOH/Ozu8/w4O + nv8AAJr/AACv/wcHuf8ZGb7/Fha9/xcXvf8VFb3/ExO8/wAArf8PD3P/FhY4/yoqOf9AQED/EBAQ/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAAOAAAADCAAAAmQAAAGYAAAA9AAAAHwAA + AArT09MA/v7+AP7+/gDHx8cAAAAAA2VlZRitra3xoqKi8yEhJm+Ghonh3t7e/6Wl2f9bW8L/JyeW/xoa + Yv8dHTz/LS06/0BAQP8UFBT/QEBA/1paWv8AAAD/AAAA/4CAgP///////v7+//Dw8P8vLzL/KCgu/zU1 + Pv8/P0nvQEBKozAwOD0AAAAOAAAABAAAAAHAwMAApaWlAPLy8gD9/f0A39/fAMjIyACPj48AQEBAAEBA + QABHR0cA19ftCs/P6nrLy+jiyMjn/83N6f/Pz+r/zs7p/8zM6P/Jyef/vr7d/5SUrP9hYXH/OjpE/zIy + OucyMjqCMjI6Bf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A2NjuBtbW7SjV1e3g19fu/dvb + 7//b2+//1NTs/8nJ5/+ior3/WFhm/zIyOv8yMjr/MjI6wjIyOi4yMjoBvr6+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/v/+/v7/4OD2/5KSmP9paWz/aGhs/0BAQP8+Pj//NTU9/zo6SP9YWHD/e3ul/4qK + 1f9xcdb/R0eq/zAwZP8pKTn/QEBA/zk5OZAAAAAcAAAAGQAAABcAAAAcAAAAKwAAAEUAAABoAAAAkQAA + ALQAAADEAAAAwBERErVXV1rHoKCm9cTEy//a2uT/5+fy/+Xl9P/T0+z/zMzp/8rK6P/Jyef/ysro/8rK + 6P/Jyef/x8fm/7m51/+bm7P/a2t8/zIyOv8yMjr/MjI6/zIyOv8yMjrdMjI6fzIyOisyMjoJMjI6ADIy + OgAyMjoAMjI6AEVFUAB2dokAs7PPAMvL6ADMzOgAy8voAMvL6ADLy+gAzMzpAMzM6QHNzekBzc3pA8zM + 6QXNzekHzc3pCMzM6QnKyugLzMzpDNHR6w3V1ewO2dnvD9/f8RHi4vIT2trvFNvb7xbq6vYY7u74GO7u + +Brv7/gz7+/4ae/v+Kzv7/jc7u749u7u9//t7ff/6+v2/+fn9f/i4vL/29vv/9XV7f/Q0Ov/zc3p/8vL + 6P/Kyuj/ysro/8nJ5//Jyef/rq7K/2Bgb/8yMjr/MjI6/zIyOv/e3vD/4ODx/+Dg8f/d3fD/0tLr/8rK + 5//Kyuf/y8vo/8rK5//Kyuf/y8vo/8zM6P/Nzen/z8/q/9DQ6v/Ozun/zc3p/+Pj8v/9/f7/kZHg/zc3 + sf8KCnv/AABc/wAAWv8AAGz/AACV/wMDuf8YGL//GBi//xYWvv8AAK//Dw90/xUVOP8qKjr/QEBA/xAQ + EP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAADgAAAAwQAAAJgAAABlAAAAPQAA + AB4AAAAK2NjYAPX19QD+/v4AAAAAAQAAAAaQkJCnoqKi/42Nj8ltbXHdo6Ol/rS00f9ycs//ODjH/xMT + rP8SEoP/ISFa/yYmOf9AQED/GBgY/zw8PP9FRUX/AAAA/wAAAP8wMDD///////7+/v93d3n/GRke/ycn + Lf8zMzv4NzdAvioqMFoAAAAbAAAACgAAAALp6ekAr6+vAJ6engC0tLQAi4uLAIWFhQCTk5MAjY2NAFFR + UQBAQEAAQEBAAMnJ5zLIyObBycnn+s3N6f/Q0Or/0NDq/83N6f/MzOj/ycnn/7W10f+FhZr/VFRh/zMz + O/8yMjrSMjI6U/7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+ANra7gfa2u8029vv6t7e + 8P/g4PH/4ODx/9nZ7v/MzOj/paW+/1tbav8yMjr/MjI6/zIyOtEyMjo3MjI6AqurqwDt7e0A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v7//f3+/+Li9//Q0OD9y8vW/1hYWP9aWmD/U1Nq/0lJcv9LS4D/Xl6b/4OD + wf+fn+T/lpbi/2trtP9BQWr/Li47/0BAQP88PDx3AAAACwAAAAsAAAAPAAAAGwAAADAAAABOAAAAdAAA + AJ0AAAC9AAAAygAAAMMDAwOsJycol4yMkcbExMr53d3l/+np8v/p6fX/3d3w/9PT6//Ozun/y8vo/8vL + 6P/Ly+j/y8vo/8vL6P/Jyef/wMDe/6Wlv/94eIv/Pz9J/zIyOv8yMjr/MjI6/zIyOusyMjqVMjI6ODIy + Og0yMjoAMjI6ADIyOgAyMjoAV1dlAJ6etwDOzukA0tLrAM3N6QDLy+gAy8voAMvL6ADMzOgBzMzoAszM + 6ATMzOgGzc3pCM3N6QnLy+gKycnnC8zM6A3OzukOz8/qD9LS6xHV1ewS2truFNPT6xXIyOYX2dnuGuvr + 9hzu7vce7+/4He/v+CDv7/g87+/4de/v+Lnv7/jk7+/4+O7u+P/t7ff/6ur2/+Xl9P/g4PH/2trv/9XV + 7P/R0er/zs7p/8zM6P/Ly+j/y8vo/7Ozz/9jY3P/MjI6/zIyOv8yMjr/3d3w/9/f8f/g4PH/3t7x/9XV + 7f/Pz+r/0dHr/9DQ6//Nzen/zMzp/83N6f/Q0Or/0dHr/9PT7P/Ozun/w8Pi/76+2//e3u3//v7+/7S0 + 6v9xcdn/EBC5/wAAef8AAFL/AABD/wAATf8AAGP/AACB/wAAsv8XF8D/AACx/w8Pdf8VFTj/Kio6/0BA + QP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAA3wAAAMAAAACXAAAAZAAA + ADwAAAAeAAAACu3t7QDm5uYAAAAAAQAAAAS7u7xLtLS0/66urv9wcHbkra2v/83N1v+Li9P/S0vO/ygo + xf8ICLr/CwuW/x4eaP8hITf/Ozs+/ygoKP8UFBT/AAAA/wAAAP8AAAD/AAAA/6CgoP/AwMD/CwsN/xUV + GP8iIif9KCgu2R0dInsFBQU1AAAAGAAAAAgAAAAB1tbWAJubmwC2trYAn5+fAK6urgDBwcEA8fHxAP7+ + /gD+/v4AysroAbu72Qe5udaGx8fm6MvL6P/Pz+r/0dHr/8/P6v/Nzen/y8vp/8jI5/+pqcP/dnaI/0hI + U/8yMjr9MjI6tjIyOij+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDa2u8K2dnvRNra + 7/Lb2+//3Nzw/93d8P/Z2e7/zs7p/6Ghuv9ZWWb/MjI6/zIyOv8yMjrfMjI6QjIyOgXBwcEA4uLiAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+//j4/f/a2vX/0tLy+7Ozx/+VlaL/oqK7/5WV0P98fNb/dnbZ/4eH + 3v+xsen/zs7y/83N8f+goM3/W1t5/zQ0PP9AQED/PDw8NAAAAAYAAAAMAAAAFgAAACkAAABEAAAAZQAA + AIsAAACxAAAAzAAAANMAAADIAAAAqwkJCoRNTU94vb3D1d3d5frr6/P/7u73/+bm9P/c3PD/09Ps/87O + 6v/Nzen/zMzp/83N6f/Nzen/zMzp/8vL6P/IyOf/sLDL/4WFmv9NTVn/MjI6/zIyOv8yMjr/MjI69zIy + Oq8yMjpGMjI6DjIyOgEyMjoAMjI6ADIyOgBYWGUAt7fTAM/P6gDNzekAyMjnAMnJ5wDLy+gBzMzpAs3N + 6QPNzekFzc3pB83N6QnLy+kKyMjnC87O6QzOzuoOzs7qD87O6hDPz+oS0NDrFNPT7BXS0usXpaW/GZ6e + txvY2O4d6ur2IOzs9yHu7vgk7+/4I/Dw+Cfw8PhC8PD4f/Dw+Mfw8Pjv7+/4++7u9//r6/b/6Oj1/+Xl + 9P/h4fL/3t7x/9nZ7//T0+z/zs7q/83N6f+4uNX/bW1+/zs7RP8yMjr/MjI6/9zc8P/e3vD/4ODx/9/f + 8f/Y2O7/1tbt/9vb7//c3O//2trv/9nZ7v/a2u7/2tru/9XV7P/Ozun/wcHe/7q61v+/v9v+3t7r+/7+ + /v+1tev/dnbb/zAwyP8AAK//AACQ/wAAbv8AAFn/AABM/wAAS/8AAGT/AACI/wAAm/8PD3b/FhY5/yoq + Ov9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA8wAAAN4AAAC/AAAAlQAA + AGMAAAA7AAAAHQAAAAn+/v4A4ODgAAAAAAIhISYL8/Pzyunp6f/b29v/YWFq/+zs7P++vuv/cXHZ/z09 + y/8iIsT/Bwe9/wcHm/8YGGb/HR03/zc3Pf80NDT/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AwME/wkJ + Cv8RERT/GRkd8BMTFaQGBgdcAAAAMgAAABgAAAAHAAAAAbu7uwDPz88A+vr6AP7+/gD+/v4A/v7+AP7+ + /gD+/v4Aw8PgAbe30gS1tc8tvLzZ0snJ5/3Ozun/0dHq/9DQ6v/Ozun/zc3p/8zM6P/Dw+D/mZmw/2Zm + dv89PUb/MjI67zIyOowyMjoN/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A2trvDdnZ + 7ljY2O731dXs/9DQ6v/Q0Or/z8/q/8rK5/+amrH/T09b/zIyOv8yMjr/MjI66DIyOk4yMjoJ+fn5APb2 + 9gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/v/u7vr/yMjw/7a27P+pqeH/sLDO/9nZ8v/Pz/H/w8Pu/7u7 + 7P++vu7/19f0/2xsef88PET/rKzC/2xsg/83Nz3/QEBA/z09PYgAAAASAAAAHAAAACsAAABDAAAAYQAA + AIMAAACnAAAAxwAAANsAAADcAAAAzAAAAK0AAACAExMUWYWFimfc3OTj7Oz0/fDw+f/t7ff/5eXz/9vb + 7//T0+z/z8/q/83N6f/Nzen/zc3p/83N6f/Nzen/zc3p/8rK5/+2ttH/kJCm/1xcav8yMjr/MjI6/zIy + Ov8yMjr/MjI6zDIyOlkyMjoNMjI6AjIyOgAyMjoAMjI6AExMWACamrIAuLjTALW1zwC1tdABwMDdAsvL + 6APNzekFzs7pB87O6QjOzukJysrnCszM6QzPz+oNz8/qDs/P6hDPz+oRz8/qE9DQ6hXQ0OoX0tLrGLq6 + 1hpzc4QckJCmH9fX7SHl5fQj6Oj1Juzs9inu7vcr7+/4K/Dw+C7w8PhF8PD4ifDw+Nrv7/j47e33/uzs + 9v/q6vX/6ur1/+rq9f/n5/T/4+Pz/9/f8f/d3fD/09Pr/4aGmv8yMjr/MjI6/zIyOv/f3/H/4ODy/+Hh + 8v/e3vH/09Ps/9XV7f/e3vD/3t7x/9zc8P/Z2e//2Nju/9fX7v/V1e3/z8/q/8XF4/+8vNj/ubnU2eXl + 78T+/v7/ubns/39/3f9BQc3/AAC5/wAAo/8AAKH/AACi/wAAh/8AAGT/AABW/wAAWP8AAGD/CgpR/xQU + NP8qKjr/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPIAAADdAAAAvQAA + AJMAAABhAAAAOQAAABwAAAAJ/v7+AAAAAAEAAAAFyMjKe/7+/v/+/v7/6enr/+fn6f/19fv/qKjo/2Zm + 1/85Ocv/HR3D/wcHvv8DA5z/FBRi/xsbNv8zMzz/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wMD + BP8JCQv/ERET+wwMDsYFBQaJAQEBVgAAADEAAAAXAAAABwAAAAHHx8cA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+ALm51AG1tdAItbXPkcDA3PDMzOn/0dHr/9HR6//Q0Ov/zs7q/83N6f/Ly+n/ubnV/4qK + nv9YWGX/MzM7/zMzOtgzMzpgMzM6Af7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+ANzc + 8A/a2u9t19fu99PT7P/MzOn/wsLf/8DA3P++vtr/nZ20/1BQXP8zMzr/MzM6/zMzOvEzMzpdMzM6Dv7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v7/5ub4/7297f+mpuj/mJjj/7+/5//5+fz//v7+//v7 + /f/y8vv/6+v5//T0/P/19fj/mZmg/52drv+AgJn/NjY9/0BAQP84ODmZAAAAKQAAADYAAABKAAAAZAAA + AIMAAACjAAAAwQAAANoAAADnAAAA4wAAAM8AAACtAAAAgAMDA1MgICE1x8fOdOzs9Onx8fn/8PD5/+zs + 9//k5PP/2trv/9PT7P/Q0Ov/z8/q/87O6v/Ozur/zs7q/87O6v/Ozur/y8vp/7y82P+cnLP/amp6/zMz + Ov8zMzr/MzM6/zMzOv4zMzrdMzM6ejMzOg8zMzoAMzM6ADMzOgAzMzoAR0dRAIKClQCenrYApKS8Aaqq + xAK6utYDy8voBc/P6gfNzekIzMzpCdDQ6grQ0OsM0NDrDdDQ6g7Q0OoQ0NDrEdDQ6xPQ0OsV0NDrF9HR + 6xjR0esbmpqxHWpqeh+qqsQi3d3wI+Pj8ybm5vQp6ur2LO3t9y7v7/gx8PD4M/Dw+Dfw8PhO7+/4k+7u + +N/s7Pf76ur2/+zs9//u7vj/7e33/+np9v/l5fT/4eHy/9fX7v+Vlav/MzM6/zMzOv8zMzr/4eHy/+Li + 8v/h4fL/2dnu/76+2f/Dw9//1dXt/9fX7f/U1Oz/0dHr/93d5f/BwdH/1dXs/9PT7PnNzenavb3Ylra2 + z13u7vOj/v7+/8HB7/+NjeL/VFTT/xMTw/8AALP/AACq/wAApf8AAKT/AACl/wAAjf8AAGv/AABL/wYG + Mf8UFDX/Kio6/0BAQP8QEBD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAADxAAAB3AAA + AbwBAQGRAAAAXwAAADgAAAAbAAAACAAAAAEAAAADZmZuSb+/v/r6+vr//v7+/729wf/a2tz/6en5/6Sk + 6P9qatn/Pz/O/x4exv8ODsL/AgKj/xISY/8aGjb/MjI8/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8FBQX/CwsN/goKDOEEBAWtAgICfgAAAFAAAAAtAAAAFQAAAAcAAAAB/v7+AP7+/gD9/f0A/v7+AP7+ + /gD+/v4A/v7+AP7+/gC7u9YHtbXPNbe30d7Dw9/9zs7q/9TU7P/S0uv/z8/q/83N6f/Nzen/ysrn/66u + xv95eYr/S0tW/zMzOv8zMzq8MzM6OdPT0wD9/f0A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDd3fAS29vvg9nZ7vjW1u3/0NDq/8jI5P+5udT/ubnU/6amvv9hYW//MzM6/zMzOv8zMzr4MzM6aTMz + OhL+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+/+jo+f/KyvH/s7Pr/5+f5//c3PT/+fn8/9zc + 7v/a2uz/+/v8//////////////////f3/P/i4vf/ra3W/1BQXP9AQED/MzM0tAICAk0AAABaAAAAbwAA + AIkAAAClAAAAwQAAANgAAADqAAAA8AAAAOcAAADQAAAArQAAAIAAAABSCgoLMGRkZyLp6fCK8vL56PLy + +f/w8Pj/6+v2/+Pj8//a2u//1NTs/9DQ6v/Pz+r/z8/q/8/P6v/Pz+r/0NDq/8/P6v/Nzen/xMTg/6am + vv92dof/OjpC/zMzOv8zMzr/MzM6+zMzOuQzMzqYMzM6IDMzOgQzMzoAMzM6ADMzOgBERE0Ae3uMAJiY + rgGhobgDqKjABre30QbLy+gIyMjkCczM6ArR0esL0dHrDdHR6w7R0esQ0dHqEtHR6xLR0esU0dHrFtHR + 6xjR0esa0tLrHM7O6R5/f5Iha2t7JLm51CXb2+8o39/xK+Tk8y7p6fUw7Oz3NO7u9zfv7/g67+/4Pe/v + +Ebu7vhj7e33n+vr9t3u7vf68PD4/+7u+P/r6/b/5ub0/+Hh8v/Z2e7/trbP/1hYZP8zMzr/MzM6/+Li + 8//j4/P/4uLy/9nZ7/+vr8j/oqK5/87O6v/T0+z/0tLs/9PT7P/+/v7/2Nja/8/P6N3U1Oyl0tLrcMjI + 5FO4uNJG7e3yof7+/v/FxfD/mJjl/2Rk2P8rK8r/Dg7D/wAAv/8AALP/AACs/wAAqP8AAKj/AACd/wAA + a/8GBjH/FBQ1/yoqOv9AQED/EBAQ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA8QEB + AdwBAQG8AQEBkgICAmEAAAA5AAAAHAsLDApHR1EHU1NfUIiIjdycnJz/y8vL//7+/v9gYGn/s7O2/+Tk + +P+iouf/bW3a/0JC0P8fH8f/EBDD/wMDp/8UFGj/Gho2/zMzPP9AQED/AAAA/wAAAP8BAQH/AQEB/wIC + Av8EBAX/CAgJ/goKC+4EBAXEAQECmgAAAG4AAABGAAAAJwAAABEAAAAF/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gDQ0OsBwsLeF7e30ZW6utX4xcXh/9LS6//V1e3/0dHr/87O6v/Ozur/zc3q/8TE + 4P+fn7b/a2t6/0BASf8zMzr3MzM6lDMzOhrDw8MA9/f3AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A3t7xFd3d8Jnc3PD62dnv/9XV7f/Ozur/urrV/7a2z/+lpbz/bm59/zMzOv8zMzr/MzM6/zMz + OnozMzoX/v7+AP7+/gD+/v4A/v7+AP///wD///8A////AP/////z8/z/39/3/8fH8f+9ve7/+Pj4/+/v + +P/b2+3/u7vV/+Xl7v/////////////////9/f7/7u77/9XV9P+QkJ//QEBA/y4uMNgFBQaCAAAAgwAA + AJgAAACuAAAAxQAAANkAAADpAAAA9AAAAPYAAADpAAAA0QAAAK0AAACAAAAAUgUFBS8LCwwV0tLYJvLy + +Z3y8vnt8vL5//Dw+P/q6vb/4uLy/9ra7//U1Oz/0dHr/9DQ6//Q0Ov/0NDr/9HR6//R0ev/0NDr/87O + 6v/JyeX/rq7H/4KClP9HR1H/MzM6/zMzOv8zMzr9MzM66jMzOq8zMzo7MzM6CjMzOgAzMzoAMzM6ADo6 + QwFycoMDlJSpBaKiuQerq8QHqKjACaGhuArQ0OsL0tLrDNLS6w3S0uwP0tLrEdHR6xLS0usU0tLrFdLS + 6xfS0uwa0tLsG9PT7B7T0+wgs7PNIm5ufiV6eosnycnlKtjY7i3b2/Av4ODyMuXl9Dbp6fU56+v3PO3t + 9z/u7vhB7u74R+3t91Xt7fd17+/4q/Dw+d/w8Pj77u74/+zs9//o6PX/3t7x/8XF4f96eov/MzM6/zMz + Ov/k5PP/5eX0/+Xl9P/f3/H/zc3p/6+vx//Ly+b/0NDq/9DQ6v/Ozun57Oz18/7+/v/i4u+w0dHrYNXV + 7U/S0utJxcXgSOjo7aL+/v7/xcXx/5ub5v9qatv/MjLN/x0dyP8YGMf/CgrD/wAAu/8AALD/AACq/wAA + pf8AAIT/CQlC/xUVNf8rKzv/QEBA/xAQEP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAA + APIBAQHeAgICwAEBApcCAgNnAgICPwkJCiM1NTwcWVllY3JyfM65ubn/fX19/4GBgf+5ubr/QUFK/9fX + 2P/Z2fb/mZnm/2lp2v8/P9D/HBzI/wkJw/8HB6f/Ghpu/yEhPv83Nz7/PDw8/wAAAP8AAAD/AQEB/wMD + BP8GBgf/CQkK/gsLDPMFBQXNAQEBpwAAAIEAAABaAAAANwAAAB0AAAAMAAAABP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A0NDqDM7O6UbBwdvju7vV/76+2P/S0uv/1tbt/9LS6//Ozur/zs7q/87O + 6f+7u9X/jo6i/1xcaP83Nz7/MzM64jMzOmczMzoHzMzMAPr6+gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AN/f8Rje3vGu3t7x+93d8P/Y2O7/0NDq/7u71f+2ts//pqa9/3Fxgf8zMzr/MzM6/zMz + Ov8zMzqJMzM6Hv7+/gD+/v4A/v7+AP7+/gD///8A////AP///wD///////////Dw+//k5Pj/8fH7//7+ + /v/09Pr//v7+//b2+v/Hx9D/urrH/9LS2P/39/j////////////6+v3/7+/v/2BgYP8qKiv0BwcIugEB + AbEAAAC+AAAAzwAAAN4AAADrAAAA9QAAAPsAAAD5AAAA6gAAANEAAACtAAAAgAAAAFIAAAAuAAAAFGtr + bgny8vk58vL5sfLy+fPy8vn/7+/4/+rq9v/h4fL/2dnu/9TU7P/S0uv/0dHr/9LS6//S0uv/0tLr/9LS + 6//R0ev/0NDq/83N6f+2ts//jY2h/1RUX/8zMzr/MzM6/zMzOv8zMzr0MzM6vjMzOlQzMzoSMzM6ADMz + OgEzMzoDMzM6BWhodgeUlKgIpqa8CXJyggp5eYoLz8/qDNLS6w3S0usP0tLrENLS6xLS0usU0tLrFdLS + 6xfS0usZ0tLrG9LS6x3T0+wf09PsItPT7CSfn7UncHB/KYWFmCzCwtwv1dXtMdjY7jTc3PA34eHyO+Xl + 8z7p6fVB6+v2ROzs90jt7fdJ7e33Ue/v+GPw8PiF8PD5t/Dw+OPv7/j97e33/+Xl9P/Q0Or/jo6i/0lJ + U/8zMzr/5ub0/+np9f/q6vb/5eXz/9XV7P/Dw9z/yMjj/83N6PvMzOblyMjiv8PD3Y3d3euSwcHaWczM + 51PU1OxR2NjuTdPT60rj4+ej/v7+/8bG8f+cnOf/amrb/zIyzv8eHsn/Hh7J/xgYyP8KCsT/AAC7/wAA + rP8AAKH/AAB6/wcHNP8WFjb/LCw7/0BAQP8MDAz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP0AAADzAQEB4gICAsYBAQKfAgICcQYGB0wnJyxETk5YfVpaZtfHx8r+09PT/2Jidv8xMTz/Wlpi/4uL + jv+UlJb/xcXx/4SE4f9ZWdf/LCzN/wkJxP8FBbX/EBCV/yMjZ/8rK0L/Pz9A/ywsLP8BAQH/AgIC/wMD + A/8GBgb/CwsN/g0ND/QICAnRAAAAqgAAAIoAAABmAAAARQAAACgAAAAUAAAABwAAAAL+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4Azs7pAtDQ6iLQ0OqYz8/q/8nJ5P+/v9n/2Njt/9fX7f/T0+v/z8/q/8/P + 6v/Ly+X/rq7E/3x8jP9OTlj/NDQ6/zQ0OsM0NDpCNDQ6AbCwsADa2toA/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AOHh8gHg4PEd39/xweDg8fzf3/H/29vv/9LS6/+9vdb/t7fP/6mpv/91dYT/NDQ6/zQ0 + Ov80NDr/NDQ6mTQ0OiWrq6sA/v7+AP7+/gD+/v4A/v7+AP///wD///8A/////////////////v7+//7+ + /v/4+Pv08vL5//7+/v/09Pf/l5eo/3Nzgv9ycn//WFhi/39/hv/Ly83///////7+/v+Kior/JiYn/gcH + B+UBAQHWAAAA2wAAAOYAAADvAAAA9gAAAPsAAAD+AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAA + ABQAAAAF8/P5CfPz+U3z8/nC8/P5+fLy+f/v7/j/6Oj1/+Dg8f/Z2e7/1NTs/9LS6//S0uv/0tLr/9PT + 6//T0+v/09Pr/9LS6//R0er/z8/p/7y81f+Xl6v/YGBt/zQ0Ov80NDr/NDQ6/zQ0Ovs0NDrLNDQ6ZzQ0 + Oh40NDoENDQ6BDQ0OgY0NDoIYGBtCY2NoAlYWGQKWlpmDLi40A3T0+sO09PrENPT6xHT0+sT09PrFdPT + 6xbT0+sY09PrG9PT6x3T0+se1NTsIdTU7CPU1Owm0NDqKJ+ftCp8fI0uoaG2MdPT6zPV1ew219ftOdra + 7j3d3fBA4eHyQ+Xl80bo6PRK6en1Tevr9lDt7fdT7+/4WvDw+G7w8PiS8PD4xu/v+Onq6vb72dnu/6Oj + uf9iYm//NDQ6/+jo9f/s7Pf/7u73/+np9f/Y2O7/yMji+8fH4erHx+HLxMTenMHB2na/v9hivr7XXby8 + 1Fq5udFWzc3nU9fX7k/Y2O5M4eHlo/7+/v/FxfL/m5vo/2lp3P8xMc//HBzK/xwcyv8cHMr/GBjK/woK + xv8AALr/AACo/wAAc/8HBzP/Fxc2/y4uPP9AQED/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD9AAAA9QEBAecBAQHOAQECqgUFBoQaGh11Pz9HoFNTXuaLi5P/6+vr/6+v2/9ZWZj/ICA4/ykp + Ov9oaHz/d3eG/7Ky5/9/f+H/VFTX/yYmzf8ICL7/Dg6i/xwce/8sLFj/NTVB/0BAQP8ZGRn/AgID/wYG + Bv8GBgf/CgoL/hERE/UNDQ7SAQECpQAAAIgAAABpAAAASgAAAC8AAAAaAAAADAAAAAQAAAAB/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AMPD3A7KyuRT0dHr4NTU7P/R0ev/ra3D/9ra7//Y2O7/1NTs/9HR + 6//Q0Or/xsbg/6KiuP9ubn3/Q0NM/zQ0O/00NDucNDQ7JqampgCOjo4AmpqaANnZ2QD+/v4A/v7+APHx + 8QDo6OgA8fHxAP7+/gDh4fID4eHyJODg8dLh4fL94eHy/9/f8f/V1e3/wsLb/7u70/+srMP/enqK/zY2 + Pf80NDv/NDQ7/zQ0O6c0NDssZWVlAM/PzwD+/v4A/v7+AP7+/gD///8A////AP///2D///////////7+ + /tD4+Pxf7Oz3tezs9v/r6/L/0dHb/6Wlt/92doX/YmJt/0RETP8vLzX/Hx8j/1xcXv/v7/D/g4OD/yMj + JP8EBAX5AQEC8AAAAO8AAAD1AAAA+QAAAPwAAAD+AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAA + AC4AAAAUAAAABQAAAADz8/oR8/P6YPPz+tLz8/r/8vL5/+7u+P/o6PX/4ODx/9jY7v/U1Oz/09Ps/9PT + 7P/U1Oz/1NTs/9TU7P/U1Oz/1NTs/9PT7P/R0ev/w8Pc/6Kit/9ubn3/NDQ7/zQ0O/80NDv/NDQ7/zQ0 + O9Y0NDt9NDQ7KjQ0Owk0NDsGNDQ7CTQ0OwpYWGMKRkZPCzQ0Ow17e4sO1NTsD9TU7BHU1OwS1NTsFNTU + 7BbU1OwX1NTsGdTU7BzU1Owe1NTsH9TU7CLV1ewk1NTsJ9TU7CrR0esrnp6zL6yswzLU1Ow11dXtN9bW + 7TvX1+4+2NjuQdvb70Xe3vFI4eHyTOTk80/m5vRT6en1Vuzs91ru7vhc7+/4YvDw+Hjw8Pih7Oz30N/f + 8e24uND7bm58/zs7Q//r6/b/7+/4//Dw+P/q6vX72trv8MzM5dfFxd2pw8Pbf8HB2Wu+vtZnurrRZLe3 + zmGysshdra3DWaurwVXNzeZR1tbtTtra3aX+/v7/xcXy/5qa6P9oaN3/MTHQ/xwcy/8cHMv/HBzL/xsb + y/8WFsr/BQXG/wAAtv8AAHz/CAgz/xcXN/8vLzz/QEBA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/gAAAPgBAQHuAQEB2AMDBL0QEBKrLCwxxUZGTvRgYGn/3d3f/9LS6v9+ftn/SUnJ/yMj + Zv8bGzf/MTFL/56ezf+1te7/mJjo/3p64P9TU9f/JyfO/yEhrP8vL3b/ODhQ/0BAQP80NDT/AgID/wUF + Bf8JCQr/CwsM/xAQEvcRERTTBQUFngAAAHwAAABiAAAASAAAAC8AAAAdAAAADwAAAAYAAAAB9PT0AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AMXF3gLBwdkqwcHZntHR6v/W1uz/wsLa/4eHmP/Z2e7/2Njt/9bW + 7f/T0+v/0NDq/7291f+SkqT/X19q/zg4P/80NDvwNDQ7cTQ0OxCpqakAi4uLAI6OjgCwsLAA3d3dAPLy + 8gDu7u4A3t7eANnZ2QDp6ekA4uLyBuHh8i/h4fLf4uLy/+Li8v/h4fH/2Nju/87O5/++vtb/sLDG/4GB + kf88PEP/NDQ7/zQ0O/80NDu2NDQ7NGVlZQCdnZ0A/v7+AP7+/gD+/v4A////AP///wD///8A////AP// + /wD+/v4A7e33GOzs93zr6/X+4eHq/83N1f+kpLP/fHyK/1ZWX/82Njz/Hx8i/xAQEv8ICAn/sbGx/4eH + h/8hISL/AgIC/wEBAfwAAAD7AAAA/AAAAP4AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAA + AFIAAAAuAAAAFAAAAAUAAAAAAAAAAPPz+hzz8/p38/P65fPz+v/y8vn/7u73/+fn9P/f3/H/2Nju/9XV + 7P/U1Oz/1NTs/9TU7P/U1Oz/1NTs/9TU7P/U1Oz/1NTs/9LS6//KyuT/rKzC/3x8i/9AQEj/NDQ7/zQ0 + O/80NDv/NDQ74zQ0O5Q0NDs1NDQ7DjQ0Owk0NDsLNDQ7CzQ0Oww0NDsOSEhRD9PT6xDU1OwS1dXsFNTU + 7BbU1OwX1NTsGdTU7BvV1ewd1dXsH9XV7CHV1ewk1dXsJtXV7CjU1Ows1NTsLq2twzHAwNg01dXsNtbW + 7TnW1u0919ftQNfX7UPY2O5H2truStzc707e3vBR4ODxVePj8ljm5vRd6ur1Yezs92Tu7vdm7+/4a+zs + 94Ti4vKvz8/p2Xp6ifFDQ0v87e33//Hx+f3w8Pn26en239vb77bS0uuJx8fgdL+/13G8vNNvuLjOa7Cw + xmerq8Fjpqa6X6GhtluhobVXp6e8U9LS61Db292m/v7+/8XF8v+Zmen/aGje/zAw0v8cHM3/GxvN/xoa + zf8ZGcz/GRnM/xERy/8BAcf/AACO/wgINv8YGDf/Ly88/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP4AAAD7AAAA8wEBAeQJCQrZHx8j5jQ0O/1HR0//paWq//T09P+ioun/Wlra/yoq + 0P8cHK7/FBRD/xwcOP9hYY//srLi/7m57/+lpev/gIDj/05O2P87O7L/QUFy/z8/Rv88PDz/DQ0N/wMD + A/8HBwj/CwsN/w8PEPoSEhXZBwcIngAAAHQAAABYAAAAQAAAACwAAAAbAAAAEAAAAAgAAAAD4uLiAOLi + 4gD6+voA/v7+AP7+/gD+/v4A/v7+AP7+/gDExNwNwcHZX8PD2+PNzeb/2Nju/8HB2f+YmKv/2dnu/9jY + 7v/X1+7/1tbt/9HR6/+wsMb/gYGR/1FRW/80NDv/NDQ70zQ0O0g0NDsEx8fHAKmpqQCmpqYAuLi4ANTU + 1ADp6ekA8/PzAOvr6wDc3NwA19fXAOLi8wji4vI84uLy6uLi8//j4/P/4eHy/9vb7//T0+z/ycni/7e3 + zv+JiZr/QkJK/zQ0O/80NDv/NDQ7xTQ0OzyRkZEAcXFxANHR0QD+/v4A/v7+AP///wD///8A////AP// + /wD+/v4A/v7+AO3t9wzt7fdJ6+v189/f6P/Ly9P/pKSw/3t7hv9PT1j/Li4z/xcXGf8HBwj/ERER/+/v + 7/+UlJT/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAA + AIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAA8/P6I/Pz+ozz8/rz8/P6//Ly+f/u7vf/5ub0/97e + 8f/Z2e7/1tbt/9XV7f/V1e3/1tbt/9XV7f/V1e3/1dXt/9bW7f/V1e3/1NTs/8/P6f+1tcz/iYma/1BQ + Wf80NDv/NDQ7/zQ0O/80NDvxNDQ7rjQ0O0I0NDsPNDQ7CzQ0Oww0NDsONDQ7DzQ0OxCVlagR0tLsE9XV + 7RXW1u0X1dXtGdXV7RrV1e0c1dXtHtXV7SHV1e0j1tbtJdbW7SjV1e0r1dXtLs7O5y+ursMz1NTsNtbW + 7TnX1+0819fuP9fX7kLY2O5F2NjuSdnZ7kza2u9Q29vwU93d8Ffe3vBb39/xX+Li8mPm5vRn6ur2a+zs + 927q6vZw4eHydtLS7I+JiZq6QkJL4u/v+Pzx8fno8PD4vujo9ZPc3O+A1NTse8/P53q9vdR2tLTJca2t + wm2lpbhpnp6xZpqarGGYmKpdm5utWpycrlawsMVT0tLUp/7+/v/ExPL/mZnp/2Zm3v8tLdL/GRnN/xwc + zv8bG87/GhrO/xkZzf8VFc3/Dw/L/wAAov8LC0n/GBg3/zAwPP9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAfkEBATzERET+CIiJv80NDr/XFxj//Hx8f/R0fP/f3/j/0pK + 1/8nJ9D/EBDM/xcXhv8YGED/ODhb/5mZwP+goLj/x8fy/6Gh6v9oaN7/T0+m/0ZGYf84ODj/DAwM/wEB + Af8EBAT/CQkK/wwMDv4ODhDlCQkKqwAAAHgAAABWAAAAOwAAACYAAAAXAAAADQAAAAcAAAADAAAAAdnZ + 2QDJyckA9vb2AP7+/gD+/v4A/v7+AP7+/gDGxt4BwsLZMMLC2arGxt3/z8/n/9bW7f+SkqP/gICQ/9nZ + 7v/Y2O7/2dnu/9fX7f/T0+v/p6e7/3Jyf/9HR0//NTU7/zU1O6g1NTst/v7+AOXl5QDNzc0AwcHBAMrK + ygDW1tYA4+PjAOvr6wDy8vIA7OzsAODg4ADj4/IL4uLyR+Li8vPj4/P/5OTz/+Li8v/c3O//1tbt/9PT + 7P/Bwdj/jo6f/0lJUv81NTv/NTU7/zU1O9I1NTtFNTU7AX9/fwCOjo4A/f39AP7+/gD+/v4A/v7+AP// + /wD///8A/v7+AP7+/gDt7fcD7e33Jenp89Pg4Oj9ysrR/6amr/96eoP/TU1U/ywsMP8VFRf/BgYH/2Bg + YP/+/v7/ioqK/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAA + AK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAPT0+gL09Pon9PT6qfT0+v3z8/r/8vL5/+3t + 9//m5vT/39/x/9ra7v/X1+3/1tbt/9fX7f/X1+3/1tbt/9bW7f/W1u3/1tbt/9bW7f/V1ez/09Pr/729 + 0/+Wlqj/XV1o/zU1O/81NTv/NTU7/zU1O/k1NTvNNTU7UzU1Ows1NTsMNTU7DjU1OxA1NTsRTk5YE7u7 + 0RXR0eoX1dXsGdbW7RvW1u0c1tbtHtbW7SDW1u0j1tbtJdbW7SfW1u0q1tbtLdbW7S+9vdMxvb3UNdfX + 7TjX1+0719ftPtfX7UHY2O5E2NjuR9jY7kzZ2e5O2dnuUtra7lbb2+9a29vvXdvb72Hc3O9l39/xaeLi + 8m3m5vRx5eX0dt3d8HnLy+N7hoaWgkNDS5bv7/jF8fH5n+/v+I3o6PWH3NzwhNXV7YDT0+x7v7/Wd62t + wXOjo7ZvmZmra5SUpmeTk6Vjk5OlX5aWqFuZmatXjIycVM7Oz6j+/v7/wsLy/5aW6P9lZd7/LCzS/xgY + zv8aGs//GhrP/xsbz/8ZGc7/FxfO/xMTzf8AAK7/Dg5b/xgYN/8wMDz/QEBA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4BAQH9BQUG/Q8PEf8eHiH/MjI4/8TExv/19fX/tLTu/3Jy + 4P9JSdj/LS3S/xUVzf8UFMT/IiJ1/ywsT/9kZHz/Xl5l/9jY6v/CwvL/iYnm/1lZl/88PEv/ICAg/wAA + AP8BAQH/BAQF/wkJCv8KCgvxCAgIwQEBAYwAAABjAAAAQAAAACUAAAAUAAAACgAAAAUAAAADAAAAAf7+ + /gDKysoAqampAOzs7AD+/v4A/v7+AP7+/gD+/v4Aw8PaCsHB2GvCwtnmyMjg/9LS6//MzOX/Xl5q/2Ji + bf/Z2e7/2dnu/9nZ7//Z2e7/09Ps/5ycr/9iYm7/PDxE/zU1O/01NTt4NTU7F/7+/gD+/v4A6+vrANra + 2gDT09MA2dnZAOHh4QDo6OgA7u7uAO7u7gDx8fEA4+PzDuPj81bj4/P85OTz/+Tk8//i4vL/3Nzw/9jY + 7v/X1+7/0NDo/5ycrv9PT1n/NTU7/zU1O/81NTvgNTU7UTU1OwS+vr4Ag4ODAKampgD8/PwA/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A7u74Ae7u+BXn5/GZ4ODo+snJ0f+mpq3/enqB/0xMU/8qKi//ExMV/wYG + B/+/v7//xMTE/2JiYv8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAA + ANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAADz8/oB9PT6B/T0+jD09PrN9PT6/fPz + +v/y8vn/7e33/+Xl9P/f3/H/2trv/9jY7v/X1+7/2Nju/9jY7v/X1+7/19fu/9fX7v/X1+7/19fu/9bW + 7f/U1O3/xsbd/6GhtP9vb3z/NTU7/zU1O/81NTv/NTU7/TU1O+M1NTt0NTU7EjU1Ow01NTsQNTU7EjU1 + OxOFhZUVr6/EF8vL4xnV1e0b1tbtHNfX7h/W1u0h19fuJNfX7iXX1+4o19fuK9fX7i7U1O0wqKi8M8zM + 5DbY2O452NjuPNnZ7j/Z2e9D2dnvRtnZ70nZ2e9N2dnvUNra71Ta2u9X2trvW9vb8F/a2u9j2dnvZ9nZ + 72vb2/Bv3t7xc97e8XfW1u17r6/DgHR0goM8PESI7u73nO/v+JPt7feP5ub0i9vb74bV1eyD09PrfsPD + 2XqsrMB2nJyucpSUpW6RkaFqkpKjZpSUpWGWlqdempqrWpycrlfNzc+p/f3+/7+/8v+Tk+n/YWHf/ysr + 1P8ZGdD/GRnQ/xoa0P8aGtD/GRnQ/xgY0P8WFs//AAC0/xERZ/8ZGTj/MDA9/0BAQP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/AQEB/wQEBf8LCw3/GBgb/2dnav/w8PD/4uL3/6Ki + 6/9wcOL/TEzb/zIy1f8ZGdD/CwvK/yUlq/86Onj/Skph/5KSlv9/f3//4uL5/6ys7f9jY5P/MzM+/zw8 + PP8EBAT/AQEB/wQEBP8GBgf5BAQF2gICAq0AAACAAAAAVQAAADIAAAAZAAAACgAAAAMAAAAB/v7+AP7+ + /gD+/v4Avr6+AJ6engD+/v4A/v7+AP7+/gD+/v4A/v7+AMLC2DjDw9m2x8fd/M7O5v/V1ez/1dXt/0xM + VP9MTFT/2dnu/9ra7v/a2u//2dnu/87O5v+SkqP/WFhi/zU1O/81NTvmNTU7TTU1Owj+/v4A/v7+AP7+ + /gDx8fEA4eHhAN/f3wDi4uIA5ubmAOnp6QDs7OwA8PDwAOTk8xPj4/Nn5OTz/+Xl8//l5fP/4uLy/9zc + 8P/Z2e7/2dnu/9bW7f+ursH/W1tl/zU1O/81NTv/NTU76TU1O181NTsJ/v7+AL29vQCRkZEAwcHBAP7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gDu7vgM4+PsWN7e5fbIyM//pqas/3l5f/9LS1H/Kiou/xMT + Ff9WVlf/oqKi/25ubv9AQED/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAA + AOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAPT0+gH09PoL9PT6Q/T0 + +tv09Pr79PT6//Ly+f/s7Pf/5eX0/9/f8f/b2+//2dnu/9jY7v/Z2e7/2Nju/9jY7v/Y2O7/2Nju/9jY + 7v/Y2O7/2Nju/9bW7f/MzOP/ra3B/3x8iv9AQEf/NTU7/zU1O/81NTv9NTU76zU1O5Q1NTsrNTU7ETU1 + OxM1NTsVNTU7F3d3hBilpbcbxcXbHdXV7B7X1+0g19ftI9fX7SbY2O4o2NjuK9fX7S3X1+0wtbXKM56e + sDTX1+042NjuO9nZ7j7a2u9B2trvRdvb70na2u9M2trvT9vb71Pb2+9W29vvWtvb717c3O9i29vvZtra + 72rY2O5t19ftctjY7nbW1u16vb3SfY+Pn4JfX2qGNTU7i+3t95nt7feV6ur2kuTk843a2u+Izc3lhc3N + 5IDIyN59t7fMeKOjtXSTk6Rwjo6ebJGRoWiTk6Rkl5eoYZmZqlybm6xZzMzOqvj4/f+6uvH/jY3o/1tb + 3v8pKdT/GRnR/xkZ0f8bG9H/GRnR/xkZ0f8ZGdH/FxfR/wICtv8SEmz/Gho4/zIyPf9AQED/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAB/wEBAf8DAwP/CQkK/x8fIf/d3d3/8vLy/8PD + 8v+MjNP/cXHi/1FR3P82Ntf/HR3S/wYGzf8aGrb/QUGo/01Ncf+QkJn/UFBQ/+3t7v/OzvT/dnaf/zs7 + R/9AQED/MDAw/wEBAf8DAwP+AwMD7wEBAc8AAACnAAAAewAAAFAAAAAtAAAAFQAAAAYAAAAB8fHxAP7+ + /gD+/v4A/v7+AL29vQCOjo4A/v7+AP7+/gD+/v4A/v7+AMXF2w3Cwth7xMTa5cvL4v/U1Oz/1tbt/9XV + 7f82Njz/OjpA/9nZ7//a2u//2trv/9jY7v/Dw9n/iIiX/1FRWv81NTv/NTU7vTU1Oy8/P0YC/v7+AP7+ + /gD+/v4A/v7+APX19QDn5+cA5eXlAObm5gDn5+cA6+vrAO7u7gDk5PQX5OTzeOTk9P/l5fT/5eX0/+Li + 8//c3PD/2dnv/9vb8P/e3vH/2dnv/5OTpP9NTVb/NTU7/zU1O/A1NTtuNTU7Dv7+/gD+/v4AtbW1AMPD + wwD+/v4A/v7+APv7+wD09PQA7OzsAOrq6gDr6+sA7+/4BtPT2yvd3eTfyMjO/aWlq/94eH7/S0tQ/ykp + LP8mJif/nZ2d/4GBgf9AQED/QEBA/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAA9PT6AvT0 + +g709Ppk9PT64PT0+v709Pr/8fH5/+zs9//l5fT/39/x/9vb8P/Z2e//2dnv/9nZ7//Z2e//2dnv/9nZ + 7//Z2e//2dnv/9nZ7//Y2O7/19fu/9LS6f+1tcr/kZGh/2hodP81NTv/NTU7/zU1O/81NTvsNTU7qTU1 + O0U1NTsaNTU7FDU1Oxg1NTsaa2t3HJubrR7AwNYg1NTsItfX7iXY2O4n2NjuKtjY7i3Y2O4v2NjuMaCg + sjWlpbg32trvOtnZ7z3a2u9B29vwRNvb8Efc3PBL29vwTtvb8FLc3PBV3NzwWdzc8Fzc3PBg3NzwZNzc + 8Gjc3PBs2trvcNfX7nXV1e14xMTafZ2dr4Bycn+ESkpTiTU1O43r6/ad6ur2mOfn9ZTi4vKQ2dnui8jI + 3YfHx9yDycnef8LC13uxscR3mpqrc5CQn2+Pj55rkZGhZpWVpWOZmalfm5usW8vLzKzw8Pv/tbXw/4eH + 5/9UVN3/JSXU/xYW0f8WFtH/GRnS/xsb0v8ZGdL/GhrS/xYW0f8EBLb/FBRr/xsbOf8zMz3/ODg4/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/AgID/wYGB/+Hh4f/6Ojo/8fH + 6/+amur/XFyb/2dn4f9KStv/MzPX/x0d0/8DA83/Dw+y/y0toP8+Pm3/goKW/52dnf+fn5//7e37/5qa + uP9XV2T/QEBA/0BAQP8RERH/AgIC+QEBAeYAAADJAAAAowAAAHcAAABMAAAAKgAAABMAAAAF7u7uAO7u + 7gDz8/MA/v7+AP7+/gCgoKAAdnZ2AP7+/gD+/v4A/v7+AP7+/gDIyN08xMTZv8bG2/vOzuX/1tbt/9bW + 7f/T0+n/NjY7/zY2O/9BQUj/ycne/9ra7//X1+3/r6/C/3h4hf9KSlL/NjY7/zY2O4c2Njsc/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A9vb2AOjo6ADn5+cA5+fnAOnp6QDt7e0A4+PzHOLi8ovj4/P/5OTz/+bm + 9P/l5fT/4uLy/+Hh8v/k5PP/5ub0/+Pj8//Cwtf/a2t2/zY2O/82Njv3NjY7fTY2OxT+/v4A/v7+AMjI + yADZ2dkA/f39AOrq6gDQ0NAAtbW1AKCgoACUlJQAkZGRAO/v+AKxsbcT1tbdt8TEy/ehoan/d3d8/0tL + T/8wMDT/hoaG/5KSlf9TU2P/NTU+/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD19foC9fX6FfX1+oT19frl9fX6//T0+v/x8fn/6+v2/+Tk8//f3/H/29vv/9ra7//a2u//2trv/9ra + 7//Z2e7/1dXs/9HR5//X1+3/2Nju/9vb7//e3vD/3t7x/93d8P/a2u//vLzQ/1paY/82Njv/NjY7/zY2 + O/A2Nju5NjY7WzY2OyQ2NjsXNjY7HDY2Ox5eXmgglZWlIrm5zCXR0ecn2NjuKdjY7izZ2e4v2dnuMdfX + 7TSLi5o3hoaVOqamuDzDw9g/2dnuQ9zc8Ebd3fBJ3d3wTd3d8FDd3fBU3d3wV9zc8Fvd3fBf3d3wY93d + 8Gbd3fBr3d3wbtzc8HPa2u931tbte7q6zn+NjZyDYWFrhzo6QIs2NjuQ6ur2n+np9Zvm5vSX4ODxk9nZ + 7o7ExNmKx8fbhsrK3oLKyt59v7/Teqmpu3WUlKRykJCfbZKSoWmUlKRml5emYZ+fr17j4+PM6Oj6/6+v + 7/+Dg+j/UFDe/yUl1v8YGNT/FRXT/xYW0/8ZGdT/GxvU/xoa1P8UFNP/BQW0/xUVaf8cHDn/NTU+/zAw + MP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wICAv8uLi//6Ojo/8jI + 5/+NjeX/amrj/19f4P9LS93/ODja/ygo1/8ZGdT/BATQ/wcHtP8ZGYT/LS1j/35+pP/V1dX/QEBA//7+ + /v/MzNL/i4uM/1NTU/80NDX/BgYG/AEBAfAAAADbAAAAvQAAAJgAAABtAAAARAAAACUAAAAQAAAABO3t + 7QDu7u4A8vLyAP39/QD+/v4ApqamAJWVlQD+/v4A/v7+AP7+/gDW1uwOzMzhh8fH2+fLy+D/09Po/9bW + 7P/U1Or/1NTp/1VVXv82Njv/NjY7/zY2O/96eof/0NDm/5mZqP9kZG//Pj5F/zY2O/Q2NjtVUFBYDv7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD09PQA6+vrAOjo6ADp6ekA6+vrAN3d8CHf3/Cf4ODx/+Li + 8v/k5PP/4uLy/9/f8P/f3/H/4+Py/+bm9P/j4/L/r6/A/0ZGTf82Njv/NjY7/TY2O4w2Njsb/v7+APPz + 8wDR0dEA/v7+APr6+gDZ2dkArKysAH5+fgBeXl4AS0tLAEVFRQBKSkoAg4OIC8rK0X+/v8jvoKCo/3R0 + ev9LS1D/eHh4/5GRlf9gYIP/Ly9K/y0tPP9AQED/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD19fol9fX6m/X1+ur19fr/8/P5/+3t9//i4vL/2tru/8rK3v+rq73/hoaU/4qK + mP+UlKT/nZ2t/6Cgsf+qqrz/vb3Q/83N4v/Y2O7/3Nzv/97e8P/h4fH/4eHy/9vb7/+EhJH/NjY7/zY2 + O/82Njv/NjY79zY2O8k2NjtvNjY7MDY2Oxs2NjsfNjY7IlRUXSSJiZcmtbXIKdDQ5ivY2O0u2dnuMdra + 7jTS0uc2pKS1OZKSoTyHh5U/ioqYQqSktUXPz+RI3NzvTN/f8VDf3/BT3t7wV97e8Fre3vBe3t7wYd7e + 8GXe3vBp3t7wbd7e8HHe3vB13d3wetnZ7n28vM+CiYmXhlpaY4o2NjuONjY7k+np9qHp6fWd5ub0meHh + 8pTZ2e6QxsbajMfH24jKyt6Ey8vggMjI3Hy3t8p3n5+vdJOToXCSkqFrk5OiaJaWpWTq6u66/v7+/+Pj + +v+wsPD/hYXp/1FR3/8nJ9f/GxvV/xgY1P8VFdT/FhbU/xkZ1f8ZGdX/EhLT/wYGs/8VFWX/HR05/zY2 + Pv8wMDD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/u7u7/9nZ + 6P+SkuX/Xl7h/0VF3f89Pdv/MzPZ/ygo1/8gINb/FRXU/wcH0f8DA7v/Dg51/yYmbf9vb6j/v7/L/1pa + Wv/c3Nz/3d3d/6mpqf94eHj/Dg4P/AEBAfEAAADhAAAAygAAAKwAAACHAAAAXgAAADoAAAAfAAAADQAA + AAPr6+sA7e3tAPHx8QDz8/MA/v7+AIKCggCHh4cA/v7+AP7+/gD+/v4A19ftPdHR58rOzuP70NDm/9XV + 6v/V1er/0NDm/9nZ7v/c3PD/gICN/zY2PP82Njz/NjY8/zY2PP82Njz/NjY8/zY2PP82NjzXNjY8LzY2 + PAX+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+APPz8wDo6OgA6enpAOvr6wDg4PIm4uLysePj + 8//k5PP/4uLy/9ra7/+0tMf/wMDU/93d8P/j4/P/39/x/7Gxw/9OTlb/NjY8/zY2PP82NjyaNjY8I/7+ + /gDi4uIA8fHxAP7+/gD5+fkAzc3NAJOTkwBZWVkAQEBAAEBAQABAQEAAQEBAAGtrbgmvr7VJwMDG4aOj + qP5ubnL/aWlp/35+hP9gYIv/Ojp1/xwcOf8oKDv/QEBA/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA7u73Ae7u9zjv7/it7+/48e3t9//p6fX/4eHy/9LS5/+6usz/p6e4/46O + nf+Pj57/n5+v/7Cwwv+0tMb/sbHD/7a2yf+0tMb/rq6//6iouf/AwNT/3d3w/+Hh8v/c3PD/ubnL/3R0 + gP82Njz/NjY8/zY2PP82Njz8NjY82DY2PIY2Njw7NjY8ITY2PCI2NjwlR0dOKICAjSqursAty8vgL9nZ + 7jLa2u812trvONra7zvZ2e4+vr7RQZ2drUSLi5lHj4+eS6enuE7GxtpS29vvVd7e8Vng4PFc39/xYN/f + 8WTe3vFo39/xa9/f8W/f3/F039/xd9/f8Xzc3PB/xsbahIuLmYhYWGGMNjY8kDY2PJTk5POk5eXzn+Xl + 85vi4vKX2trvk8fH2o/GxtmKy8vehszM4ILMzOB+v7/SequrvHaZmahykZGfbZOToWqWlqRm0NDYiv7+ + /v/m5vr/t7fy/42N6v9VVeD/JibY/xsb1v8bG9b/GBjV/xYW1f8ZGdb/GRnW/w8P1P8GBrH/FRVk/x0d + Ov83Nz7/MDAw/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ZGRk/+Xl + 5f+iouL/YGDi/zo62/8nJ9j/Hx/W/x0d1/8cHNb/GRnW/xQU1f8MDNP/AAC2/wgIaP8iInv/YGCm/6Wl + uf+QkJD/goKC/+Dg4P+8vLz/UlJT/gEBAfMAAADjAAAAzwAAALQAAACUAAAAcAAAAEsAAAAtAAAAFwAA + AAkAAAAC6urqAOvr6wDt7e0A8fHxAN/f3wBYWFgAbGxsAP7+/gDb2+8B2dnuDNfX7JPW1uvr19fs/9jY + 7f/W1ur/09Pn/87O4v/Z2e7/3d3w/93d8P/Q0OX/Tk5W/zY2PP82Njz/NjY8/zY2PP82Njz9NjY8ozY2 + PBn+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A7u7uAOjo6ADo6PUB5+f0LOfn + 9MLm5vT/5eXz/+Hh8v/Q0OX/k5Oh/5GRn//Fxdn/3t7w/93d8P+0tMX/U1Nb/zY2PP82Njz/NjY8pzY2 + PCz9/f0A0NDQAP7+/gD+/v4A/v7+ANDQ0ACQkJBATU1NMEBAQABAQEAAQEBAAEBAQABFRUcHdnZ5J4yM + kNleXl/+Wlpa/15ebP9SUoL/OTmL/yAgbv8VFTj/JSU7/0BAQP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD6AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6PUE7e33TPDw+MDy8vn48vL5//Dw+P/p6fX/5eX0/+Pj + 8v/f3/H/3d3w/93d8P/c3O//2tru/8nJ3P+6usz/rq6//6Cgr/+Li5j/kZGf/8XF2P/e3vD/3t7w/9nZ + 7v+trb3/dXWA/zk5P/82Njz/NjY8/zY2PP82NjznNjY8nDY2PEU2NjwmNjY8JzY2PCo8PEIseHiEL6ur + vDHMzOA02NjtN9ra7jrb2+893NzvQNzc70Pa2u5Gvb3PSqOjsk2WlqRQm5uqVKurvFfBwdRb2truXt7e + 8GLg4PFm39/xat/f8W7f3/Fy4ODxduDg8Xrg4PF+3t7wgtDQ5YaQkJ6KVlZejzY2PJI2NjyX4+PzpuHh + 8qLf3/Ge3NzwmcvL3pW/v9GRx8fajMjI24nLy96Fy8vegcXF2Hy4uMp5pKS0dZSUonCPj51ti4uZaays + vGXz8/fE7e38/76+9P+UlOz/XV3j/ygo2v8ZGdf/GxvY/xkZ1/8WFtf/GRnX/xkZ1/8PD9b/Bgaz/xUV + aP8cHDr/NTU+/zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/FBQU/87O + zv+/v+L/c3Pg/zw83f8kJNn/FRXX/w0N1v8ODtX/ERHW/xMT1v8TE9b/EBDW/wEBnP8HB2v/JyeX/11d + pv+enrL/vb29/zY2Nv/i4uL/zc3N/w4ODvgAAADnAAAA1AAAALgAAACYAAAAdgAAAFQAAAA1AAAAHgAA + AA8AAAAFAAAAAevr6wDs7OwA7u7uAPHx8QD09PQATU1NAFdXVwDc3PAB2trvBdfX6zvX1+zY2trv/dvb + 8P/b2/D/19fr/83N4f/CwtX/29vv/97e8f/e3vH/3t7x/97e8f+QkJ7/Nzc8/zc3PP83Nzz/Nzc8+Dc3 + PGM3NzwP/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP39/QDs7OwA6en1Aujo + 9TPo6PXS6Oj1/+bm9P/h4fL/xMTX/4WFkf9xcXz/kZGf/8LC1f/R0eX/qKi4/1RUXP83Nzz/Nzc8/zc3 + PLM3Nzw10NDQANDQ0AD+/v4A/v7+AP7+/gDt7e0AsrKy/2tra/9AQED/QEBA4EBAQMBAQEDAQEBA0UBA + QP9AQED/TExX/01NbP9CQn3/MjKP/x0dlP8SEm7/EhI4/yQkO/8/P0D/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAOsAAADRAAAArQAAAIAAAABSAAAALgAAABQAAAAFAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2+wz29vtd9vb70/b2+/319fv/8/P6/+7u + +P/o6PX/4uLz/9/f8f/e3vH/3d3x/9zc8P/Z2e7/xMTX/66uv/+amqn/fX2J/3FxfP+RkZ//wsLV/9nZ + 7v/Z2e7/x8fa/6iouP95eYX/Q0NJ/zc3PP83Nzz/Nzc8/zc3PPM3Nzy4Nzc8Tzc3PC03NzwsNzc8Ljc3 + PDF4eIMzqKi4N8LC1TnU1Og83NzwP93d8ELd3fBG3d3wSd3d8Ezd3fBP19frU8LC1VewsMFZrq6/Xre3 + yWHKyt1l2trvadzc8Gzf3/Fw4ODydODg8nng4PJ84ODygd/f8YXa2u+JmZmojVdXYJE3NzyVNzc8menp + 9anl5fOk4eHyodzc7526usqYqKi4lLS0xY+8vM2MxsbYh8vL3YPGxtl/wMDSfLGxwXebm6pzhoaScJCQ + nWu2tsdo7e3ysvT0/f/ExPX/mpru/2Nj5f8sLNv/GRnY/xgY2P8XF9j/FhbY/xgY2P8ZGdj/ERHX/wQE + uv8UFHL/GRk5/zAwPf8wMDD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4SE + hP+6usD/iYnZ/0xM4P8oKNv/GRnY/w4O1v8MDNb/Dg7W/w8P1/8TE9f/FRXX/xUV2P8JCY//ExN8/z09 + qf9vb6r/ra2v/7Kysv8AAAD/OTk5/zo6OvwAAADtAAAA2wAAAMEAAACeAAAAeQAAAFcAAAA5AAAAIQAA + ABEAAAAIAAAAAufn5wDp6ekA6+vrAO7u7gDw8PAA8fHxAEBAQABEREQA19fqAtPT5wzV1eih2tru8tzc + 8P/e3vD/3t7w/9vb7//AwNL/xsbY/93d8P/f3/H/39/x/9/f8f/e3vD/0tLl/3V1f/9AQEX/Nzc8/jc3 + POc3NzwvNzc8B/7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AOnp + 9Qbo6PU+6Oj14Onp9f/o6PX/4+Py/8rK3P+UlKH/fX2J/4yMmf+qqrr/urrL/52drP9SUln/Nzc8/zc3 + PP83Nzy/Nzc8Pra2tgDl5eUA/v7+AP7+/gD+/v4A/v7+AOrq6v+srKz/a2tt/zc3Pv80ND7/NDQ+/zIy + Pf8tLT3/NjZV/zs7c/83N4//KSmg/xkZq/8LC6D/Cwtt/xAQOP8kJDv/Pz9A/yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADrAAAA0QAAAK0AAACAAAAAUgAAAC4AAAAUAAAABQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb7Ffb2+2/29vvo9vb7//X1 + +//y8vn/7e33/+fn9P/i4vL/4ODx/9/f8f/e3vD/3d3w/9XV6P++vs//pqa1/4+Pnf99fYn/jIyZ/6qq + uv/Fxdf/0tLm/9DQ4//Dw9X/qKi4/4GBjf9RUVj/Nzc8/zc3PP83Nzz/Nzc8+zc3PNg3NzxhNzc8Mzc3 + PDA3NzwzNzc8NmpqdDmXl6U8urrLPtnZ7ULd3fBF3t7wSN7e8Eve3vBP3t7xUt/f8Vbf3/FZ3d3wXdvb + 72HLy91kysrcaM7O4WvY2Otv3Nzvc97e8Hff3/F84ODxf+Hh8oTg4PGH3NzwjKWltJBbW2OUNzc8mDc3 + PJzr6/ar6ur2pufn9aPh4fKexcXXmqqquZayssKRuLjIjr+/0InExNaGxMTWgcXF1368vM16l5eldXd3 + gnGqqrluubnKauzs8bP6+v7/yMj2/5+f7/9qaub/Ly/d/xkZ2f8YGNn/FhbZ/xcX2f8XF9n/EBDY/wAA + z/8CAqn/EBBy/xQUOf8pKTz/PDw8/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/1FR + Uf+ysrL/fHym/1BQvf8qKtz/HBza/xMT2P8MDNf/DQ3X/w4O1/8NDdf/EBDX/xUV2f8WFs7/GRl5/yQk + Z/9FRXj/dXWI/52dnf9LS0v/AAAA/wAAAP4AAAD4AAAA6AAAANAAAACwAAAAiAAAAGEAAABAAAAAJQAA + ABIAAAAJAAAABAAAAAHo6OgA5+fnAOjo6ADs7OwA8PDwAPHx8QBAQEAAQEBAANLS5QnR0eQ+09Pn6tzc + 8P/e3vH/4ODy/+Dg8v/X1+r/ra28/9zc8P/f3/H/39/x/9/f8f/f3/H/3d3x/8DA0v9nZ3D/Nzc8/zc3 + PPg3Nzy/Nzc8Ejc3PAL+/v4A/f39APj4+AD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gDq6vYJ6en2TOnp9unq6vb/6en2/+Xl9P/b2+//qqq5/5ubqf+iorH/sbHB/7a2x/+YmKb/UlJZ/zc3 + PP83Nzz/Nzc8yzc3PEiioqIAycnJAP7+/gD+/v4A/v7+AP7+/kD+/v7/29vr/3h4rv8/P3T/IiJI/xwc + O/8iIkz/Jydl/ygoff8jI5n/Gxu1/xERyP8ICMz/AgKx/wgIcP8QEDj/JCQ7/z8/QP8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA6wAAANEAAACtAAAAgAAAAFIAAAAuAAAAFAAA + AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2+wL29vsf9vb7g/b2 + +/v29vv/9fX7//Ly+f/t7ff/5+f1/+Li8//g4PL/39/x/9/f8f/d3fH/09Pn/7y8zf+np7b/m5up/6Ki + sf+xscH/wMDR/8vL3f/OzuH/zs7h/8PD1f+urr7/jY2a/19faP83Nzz/Nzc8/zc3PP83Nzz+Nzc86Tc3 + PIA3Nzw9Nzc8Mjc3PDc3Nzw7WFhgPYuLmEG9vc5E2dnsRt7e8Urf3/FN39/xUN/f8VPf3/FX39/xW9/f + 8V/f3/Fj4ODyZt/f8Wre3vFt3d3wcd3d8XXe3vF539/xfuDg8oHh4fKG4eHyit7e8Y6vr7+SVVVcljc3 + PJo3Nzye6+v2rerq9qno6PWm4+PzodjY6py8vMyZvLzMlL29zZHAwNCMwsLTicDA0YTDw9SBw8PUfImJ + lXiLi5d1trbGcLq6ym3s7PC0/v7//8DA9f9/f+v/Li7e/wAAyv8AALf/AACm/wAAhf8AAIr/AACU/wAA + nf8AAJz/AQGM/wsLbf8QEDj/IiI7/zw8P/9AQED/MDAw/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0N + Df/IyMj/qqrF/1tbq/8rK6X/ERG9/wgI2f8NDdn/CgrZ/wwM2f8MDNn/CQnY/wsL2P8aGs//LCyr/zMz + dv87O1z/RkZQ/1RUVP9BQUH/AAAA/wAAAP8AAAD8AAAA8wAAAOEAAADFAAAAoAAAAHUAAABNAAAALgAA + ABcAAAAJAAAABAAAAAH+/v4A7OzsAOjo6ADo6OgA6+vrAO7u7gD09PQAZWVlAN3d8AHX1+ka1NTnqNjY + 6vne3vD/4ODx/+Li8v/j4/P/wsLT/76+zv/f3/H/4ODx/+Dg8f/g4PH/4ODx/9zc7/+wsL//Xl5n/zc3 + PP83NzzvNzc8fjc3PAlAQEYBubm5AL29vQDJyckA39/fAPLy8gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A6ur2Durq9lnq6vbx6ur2/+rq9v/n5/X/4ODx/8HB0v+xscD/srLB/7i4yP+5ucj/mpqo/1ZW + Xf83Nzz/Nzc8/zc3PNY3NzxUxMTEAN7e3gD+/v4A/v7+AP7+/gD+/v5A/v7+/8jI9v91den/NDS//xsb + kf8XF33/FxeK/xUVnf8REbD/DAzI/woK2f8WFtr/FRXa/wAAx/8JCXX/EBA4/yQkO/8/P0D/ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/QAAAO0AAADRAAAArQAAAIAAAABSAAAALgAA + ABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb7Bfb2 + +yr29vuf9vb7//b2+//19fv/8vL5/+zs9//m5vT/4+Pz/+Hh8v/g4PH/4ODx/97e8f/U1Of/wMDQ/7Gx + wP+yssH/uLjI/8DA0f/IyNn/zc3f/9HR4//Nzd7/xcXW/7S0xP+YmKX/bGx2/zg4Pf83Nzz/Nzc8/zc3 + PP43NzzrNzc8nzc3PFA3Nzw4Nzc8PDc3PEBQUFdDjIyYRrq6yknX1+lN3t7xUN/f8VPg4PFW4ODxWuDg + 8V7g4PFh4ODxZuDg8Wng4PFt4ODycOHh8nXh4fJ44eHyfeHh8oDh4fKE4eHyieHh8oze3vGRs7PClEpK + UJk3NzydNzc8oezs9rDr6/ar6Oj1qOTk86TW1uifvLzLnL+/zpfAwNCTxsbWj8TE1IvAwNCHwcHRg6ys + uX98fIZ7pqa0eLi4x3O6uslw6+vvtf39/v+Wlu7/QEDh/w0Nt/8AAI7/AACT/wAAmP8AAIv/AACO/wAA + n/8AALD/AACw/wEBmf8KCnj/Dg45/x4eO/82Nj7/QEBA/0BAQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP+JiYn/zs7T/4aG1f9DQ8f/Fxer/wYGof8AALn/AADX/wYG2f8HB9n/CAjZ/wQE2f8TE8//Kiq6/0VF + n/9hYYz/bW1z/1NTU/8hISH/AAAA/wAAAP8AAAD+AAAA+gAAAO0AAADXAAAAtwAAAI4AAABiAAAAPAAA + ACAAAAANAAAAAwAAAAH+/v4A/v7+APf39wDq6uoA5+fnAOjo6ADr6+sA/v7+AP7+/gDb2+0O19foUdnZ + 6uzf3/D/4ODx/+Li8v/j4/L/4ODx/7Cwvv/a2uv/4ODx/+Dg8f/h4fH/4eHx/+Dg8f/R0eL/nZ2p/1hY + X/84ODz/ODg84Tg4PEA4ODwGu7u7AM/PzwDT09MA0NDQANbW1gDT09MAzMzMAMXFxQDi4uIA/v7+AP7+ + /gD+/v4A/v7+AOvr9hLq6vZn6+v2+evr9v/r6/b/6Oj1/+Li8v/Z2er/x8fY/7+/zv/AwM//vr7N/6Cg + rf9dXWX/ODg8/zg4PP84ODzhODg8YTg4PAP+/v4A/v7+AP7+/gD+/v4A/v7+QP7+/v+2tvP/e3vr/0VF + 4/8SEtv/BQXO/wQE0f8DA9j/DQ3a/xYW2/8fH93/Jibe/yUl3v8AANb/CQmA/xAQOP8kJDv/Pz9A/yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf4BAQHxAAAA0gAAAK0AAACAAAAAUgAA + AC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2 + +wH39/sJ9/f7Nff3+7739/v79vb7//X1+v/x8fn/6+v2/+bm9P/j4/L/4eHy/+Hh8f/g4PH/39/x/9jY + 6f/Hx9j/v7/O/8DAz//FxdX/ysra/87O3//S0uP/0dHi/87O3//Hx9j/u7vK/6Ghrv96eoT/SEhO/zg4 + PP84ODz/ODg8/zg4PO04ODy0ODg8Zjg4PEA4ODxBODg8Rk5OVUmJiZRMuLjHUNTU5lPf3/BW4ODxWeHh + 8V3h4fFh4eHxZOHh8Wnh4fFs4eHxcOHh8XPh4fF34eHye+Li8n/i4vKD4uLyh+Li8ozi4vKP39/xlJqa + p5c/P0SbODg8oDg4PKTs7Pez6+v2r+np9avl5fSn2dnqor6+zZ69vcyawMDPlsXF1ZLExNSOwMDPibW1 + xIZ1dX+ChoaRfrKywXq3t8Z2urrJc+fn67f9/f7/n5/x/2Vl6P8rK9//AADJ/wQE2v8cHN3/Gxvd/xsb + 3f8ZGd3/ExPc/wAA2f8CArT/DQ2L/xQUTP8gIDv/Nzc+/0BAQP9AQED/AAAA/wAAAP8AAAD/AAAA/wAA + AP9LS0v/wcHB/5iYzf9aWtX/Kirc/wwMyf8CAqj/AACm/wAAxP8EBNr/BATa/wMD2f8FBdb/GRnG/zMz + pf9JSX//R0dR/zIyMv8JCQn/AAAA/wAAAP8AAAD+AAAA/AAAAPUAAADkAAAAygAAAKYAAAB8AAAAUQAA + AC8AAAAWAAAACAAAAAH+/v4A/v7+AP7+/gD+/v4A8fHxAObm5gDp6ekA6+vrAP7+/gDf3/EC2dnqJ9jY + 6ajc3O7/4ODy/+Li8v/j4/P/4+Pz/6+vvf+6usn/4ODy/+Hh8v/h4fL/4uLy/+Li8v/g4PH/wcHR/4iI + k/9OTlT/ODg8+Dg4PMQ4ODwYODg8A/7+/gD+/v4A/v7+AOvr6wDa2toAzMzMALu7uwCioqIAqampAOfn + 5wD+/v4A/v7+AP7+/gDr6/YX6+v2d+vr9v/s7Pf/7Oz2/+np9f/k5PP/4eHy/97e8P/Ozt//xMTU/8DA + z/+kpLH/YmJq/zg4PP84ODz/ODg86jg4PG84ODwI/v7+AP7+/gD+/v4A/v7+AP7+/lD+/v7/rq7z/2lp + 6P80NOH/ExPc/xUV3P8lJd//IiLe/yQk3v8kJN7/KCjf/ykp3/8pKd//Bwfa/woKjf8QEDn/JCQ8/z8/ + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AwMD9wICAtcAAACtAAAAgAAA + AFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPHx + +QH19fsD9vb7BPf3+wz39/tG9/f70ff3+/r29vv/9fX6//Dw+f/r6/b/5ub0/+Pj8//i4vL/4uLy/+Li + 8v/h4fL/3t7w/87O3//ExNT/xMTU/8fH1//MzNz/z8/g/9HR4v/R0eL/0dHi/83N3f/BwdH/rKy6/4aG + kf9bW2L/ODg8/zg4PP84ODz/ODg88Tg4PMU4ODx5ODg8Szg4PEU4ODxMQkJIToWFkFK0tMNV0dHiWd/f + 8Vzh4fJg4eHyY+Li8mfi4vJr4uLybuLi8nLi4vJ24uLyeuLi8n7i4vKC4uLyhuPj84rj4/OO4uLykt7e + 8JZlZW6aRUVLnjg4PKI4ODyn7e33tuzs9rHq6vWu5ub0qdra6qW/v86hv7/Nnb+/zprDw9KVwsLRkcDA + z42jo7CKj4+ahaKiroGzs8F9trbEebm5x3bq6u+4/v7+/8XF9v+amvD/aGjp/y0t4f8ZGd7/HBze/xsb + 3v8aGt7/GRne/xgY3f8NDdz/AwPI/xISnf8dHV//IyM8/zMzN/80NDT/GBgY/wAAAP8AAAD/AAAA/wAA + AP8VFRX/kZGR/5mZtv9pacv/NzfZ/xYW3f8JCdz/AADE/wAAqP8AALD/AADM/wYG2/8BAdr/BgbV/xoa + vP8vL5D/NTVY/xoaHP8QEBD/AAAA/wAAAP8AAAD/AAAA/QAAAPgAAADtAQEB2QEBAboBAQKUAAAAaQAA + AEIAAAAkAAAAEAAAAAUAAAAB/v7+AP7+/gD+/v4A/v7+APz8/ADq6uoA5OTkAN7e3gD+/v4A3d3uEdra + 6l/b2+vo4ODx/+Li8v/j4/P/5eXz/+Hh8f/FxdT/19fo/+Hh8v/i4vL/4uLy/+Pj8v/i4vL/3d3u/7Cw + vf93d4H/R0dN/zg4PO04ODyWODg8Bjw8QAH+/v4A/v7+AP7+/gD9/f0A5OTkAMvLywCzs7MAkZGRAIOD + gwCpqakA4uLiAP7+/gD+/v4A7Oz2Huzs9ofs7Pb/7e33/+zs9v/p6fX/5eXz/+Pj8v/i4vL/4ODx/9PT + 4//Hx9b/qqq3/2lpcP84ODz/ODg8/zg4PPE4ODx+ODg8D/7+/gD+/v4A/v7+AP7+/gD+/v6A/v7+/7m5 + 9P9ubur/JCTg/wAAx/8AAMb/AADX/w0N3P8cHN7/JSXf/yUl3/8nJ+D/Jyfg/woK2/8LC5r/ERE8/yQk + PP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wQEBPwEBAThAQEBsAAA + AIAAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTzAejo + 9QLt7fcD8vL5Bfb2+wb39/sH9/f7Dvf3+2X39/vc9/f7+/b2+//09Pr/8PD4/+vr9v/n5/T/5OTz/+Pj + 8v/j4/L/4+Py/+Li8v/g4PH/09Pj/8rK2f/Kytn/y8va/87O3f/Pz9//0tLi/9TU5P/S0uL/0NDg/8fH + 1/+zs8H/mJik/2Nja/84ODz/ODg8/zg4PP84ODz2ODg80zg4PIs4ODxXODg8Szg4PFE4ODxVhYWPWLKy + wFzS0uJf4ODxY+Hh8mfi4vJq4+PybuPj8nHj4/J14+PyeePj8n3j4/KB4+PyhePj8onj4/ON4+PykeTk + 85XNzdyZfX2GnVhYX6E4ODylODg8qe3t97js7Pez6ur2sOfn9Kzd3e2nvr7MpL29y5+/v86cz8/fl+Li + 85Td3e2PubnHjKuruIiwsL2DsrLAgLa2w3y4uMZ46enuuv7+/v/Fxff/mZnx/2dn6v8tLeL/GBjf/xsb + 4P8bG+D/GRnf/xkZ3/8YGN//ExPf/wMD1/8WFrH/JiZ2/yMjPP8qKi//AAAA/yAgIP8wMDD/MDAw/xAQ + EP8EBAT/TU1N/319jP9mZq3/QEDK/xwc3P8ICN3/AQHb/wAA1P8AALz/AACt/wAAt/8AAMn/AADT/wUF + 0f8VFbz/JyeL/ykpTf80ND7/QEBA/0BAQP8kJCT/AAAA/gAAAPsAAADyAQEB4gEBAcgCAgKlAwMDfgIC + AlUDAwMzBQUFGgAAAAoAAAAD/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A8vLyANjY2ADi4uIA4eHyA9vb + 6zDY2Oms3d3u/+Pj8//m5vT/6+v3/+rq9v/j4/P/4ODx/+Li8v/i4vP/4+Pz/+Pj8//j4/P/4+Pz/9PT + 4/+cnKj/ZWVt/z8/Q/84OD3fODg9Xv7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+APf39wDc3NwAwMDAAKam + pgCRkZEAoqKiAMXFxQDl5eUA9/f3AOzs9yTs7PeW7Oz3/+3t9//t7ff/6ur2/+Xl9P/k5PP/5OTz/+Pj + 8//h4fL/09Pj/7Ozwf9zc3v/ODg9/zg4Pf84OD32ODg9jjg4PRX+/v4A/v7+AP7+/gD+/v4A/v7+gP7+ + /v/Bwfb/jo7w/1BQ5/8AANv/AADG/wAAzP8AANX/AwPc/xAQ3v8XF9//IiLh/yYm4f8NDd7/DAyk/xQU + R/8kJDz/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8EBAX+BwcH7gQE + BLkAAACAAAAAUgAAAC4AAAAUAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PzAeTk + 8wLm5vQD6ur2BO/v+Abz8/oH9vb7CPf3/Af39/wU9/f8hff3/OP39/z+9vb7//T0+v/v7/j/6ur2/+fn + 9P/l5fT/5OTz/+Tk8//k5PP/4+Pz/+Hh8v/V1eX/zs7d/87O3f/Q0OD/0NDg/9LS4v/T0+P/1dXl/9XV + 5f/T0+P/z8/f/7m5x/+amqb/bm53/z4+Qv84OD3/ODg9/zg4Pfo4OD3hODg9njg4PWE4OD1TODg9Vzg4 + PVpZWWBekZGcYbe3xGXU1ORp4eHybeLi83Hj4/N05OTzeOTk83zk5POA5OTzg+Pj84fk5POM5ub0j+rq + 9pTp6faX4eHynJaWoaBgYGekODg9qDg4Pazt7fe67e33tuzs9rPq6vWu5eXzquHh8afk5POi5OTznuXl + 85rl5fOXvr7Lkqenso+urrqKs7PAhrKyv4O0tMF+t7fEe+np7bv+/v7/xcX3/5mZ8f9mZuv/Li7j/xYW + 4P8ZGeD/GRng/xgY4P8ZGeD/Fxfg/xMT4P8EBN3/FhbC/yoqlP8qKlH/KSk2/y8vM/8/P0D/QEBA/0BA + QP9AQED/MzMz/05OXv9UVIn/QECw/yMjzv8MDNz/AgLa/wAA2v8AANz/AADX/wAAxP8AALP/AACd/wAA + pv8EBMn/EhLW/yQkrP8wMHL/MjJH/0BAQP9AQED/PDw8/wwMDP0AAAD2AQEB6gEBAdUCAgK1BAQEjwUF + BmYGBgdBERESJRQUFRIWFhcGAAAAAf7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AOzs7ADDw8MA/v7+AOPj + 8xHj4/Nr5eXz6efn9P/r6/b/7u73/+7u9//m5vT/3t7u/+Li8v/j4/P/4+Py/+Pj8//j4/P/5OTz/+Pj + 8v/FxdP/ioqU/1dXXf85OT39OTk9xzk5PS3+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A9PT0ANnZ + 2QDAwMAAs7OzALu7uwDMzMwA3d3dAOrq6gDt7fcr7e33pu3t9//t7ff/7e33/+rq9v/m5vT/5eXz/+Xl + 8//l5fP/5OTz/+Hh8f++vsv/fHyF/zk5Pf85OT3/OTk9+zk5PZw5OT0d/v7+AP7+/gD+/v4A/v7+AP7+ + /oD+/v7/wMD3/5KS8P9gYOr/Kyvj/xAQ3/8KCt7/AwPd/wQE3v8MDN//EhLf/xoa4P8fH+H/Cgre/wwM + qf8WFlD/JCQ8/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/BAQF/wkJ + CvgJCQrNAQEBgwAAAFIAAAAuAAAAFAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAANnZ6QHj4/IB4+PzAePj + 8wLk5PME5eXzBefn9Afr6/YI8PD4CfT0+gr39/sK9/f8Bfj4/CT4+Pyc+Pj87Pf3/P/29vv/9PT6/+/v + +P/q6vb/5+f0/+Xl9P/l5fP/5eXz/+Xl8//k5PP/4uLy/9TU4//Pz93/z8/e/9DQ3//R0eD/09Pi/9TU + 4//X1+f/3t7t/9bW5v/MzNr/vLzJ/6Ghrf98fIX/S0tR/zk5Pf85OT3/OTk9/zk5Pe85OT2wOTk9bjk5 + PV05OT1dOTk9YVNTWWSKipRosbG+bMnJ12/e3u5z4+Pzd+Xl83vn5/R+6Oj1g+np9Ybr6/aK6+v2j+zs + 95Lt7feX5ub0ms/P3Z6Xl6GiYGBmpzk5Pao5OT2v7u73ve7u97nt7fe16ur1sebm863j4/Kp5OTzpOPj + 8qHk5PKdysrXmZ2dp5WMjJWRqqq1jbe3w4mysr6FtLTAgbm5xX3p6e28/v7+/8TE9/+YmPL/Zmbr/yws + 5P8WFuH/GRnh/xkZ4f8YGOH/Fxfh/xgY4f8TE+D/Bgbf/xAQ0f8jI7P/Ly+C/yYmSf8lJTz/JiY8/ycn + Pf8mJjz/JiY8/ygoRP83N2//MzOV/yMjt/8QEM//BATZ/wAA2f8AANn/AADb/wIC3v8ODuD/AwPX/wUF + q/8JCaH/ERGy/yAgx/80NMb/Rkab/1FRcv9OTk7/QEBA/xQUFP4AAAD5AQEB8AEBAd4CAgLCBAQEnwcH + B3cMDA1SFBQVMicnKRs1NTgMZGRrBK+vuwGTk50B/v7+AP7+/gD+/v4A/v7+AP7+/gDY2NgA2dnZAOTk + 8gPk5PI35eXzs+fn9P/q6vX/7Oz2/+3t9v/o6PT/2trp/8XF0v/j4/L/5eXz/+Tk8v/k5PL/5eXz/+Xl + 8//i4vH/t7fD/3t7g/9KSk//OTk98jk5PaE5OT0O/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD09PQA3NzcAMvLywDMzMwA09PTAN3d3QDm5uYA7e33Mu3t97Xu7vf/7u73/+7u9//q6vX/5+f0/+bm + 8//m5vP/5ubz/+bm8//l5fP/zs7b/4eHkP85OT3/OTk9/zk5Pf85OT2rOTk9Jv7+/gD+/v4A/v7+AP7+ + /gD+/v6A/v7+/8DA9/+RkfH/X1/q/yoq4/8VFeH/Fhbh/xcX4f8XF+H/Fxfh/xcX4f8aGuH/HR3i/wYG + 3/8MDKj/FxdU/yQkPP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wQE + Bf8KCgv+Dg4P5QcHB5IAAABSAAAALgAAABQAAAAFAAAAAAAAAAAAAAAAAAAAANLS4AHV1eMC5OTyA+Tk + 8wPl5fMF5eXzBuXl8wfn5/QI6en1Ce3t9grx8fkL9fX6DPf3+wz4+PwG+Pj8Ofj4/LH4+Pz19/f7//b2 + +//z8/r/7+/3/+rq9f/n5/T/5ubz/+bm8//m5vP/5ubz/+Xl8//f3+7/0tLg/8/P3f/S0uD/0tLg/9PT + 4f/W1uT/2dno/9jY5//U1OL/0tLg/8zM2f+/v8z/qam0/4aGj/9dXWP/OTk9/zk5Pf85OT3/OTk9/Dk5 + PcU5OT19OTk9ZTk5PWQ5OT1nWlpga5eXoW+5ucVy1tbkduTk8nnm5vN+5+f0genp9YXq6vWJ7Oz2jevr + 9pHr6/aV6Oj0meHh8J2ysr6hkpKcpWJiaKk5OT2tOTk9se/v+MDv7/i87e33uOrq9bTe3uywu7vHrLa2 + wqi5ucWkxcXSoNDQ3pyysr6YkpKblaurtpDAwM2MtrbBibW1wIS3t8OB6Ojsvv7+/v/ExPf/mJjy/2Zm + 7P8sLOX/GBji/xgY4v8aGuL/Ghri/xgY4v8YGOL/Fhbi/woK4P8JCdz/FRXK/yAgrf8jI4T/HR1c/xUV + Q/8SEjr/ExM+/xcXTP8eHmj/ICCJ/xkZp/8PD7//BgbP/wAA1v8AANb/AADY/wAA2v8FBd//Hh7i/yQk + 5P8iItn/KyvD/zU1sf9BQa3/UFCl/2Jimv+Cgpb/eHh4/1xcXP8AAAD8AQEB9QEBAeYBAQLOBQUFrwcH + B4gMDA1hFhYXPyYmKSVJSU0Ufn6GCqmptAXU1OIDtrbCApqapAH+/v4A/v7+AP7+/gD+/v4AxsbGAPn5 + +QDk5PMP4+PyeOTk8+zl5fP/5ub0/+fn9f/o6PX/6en1/+Xl8//Ly9j/4+Py/+bm9P/l5fT/5eXz/+Xl + 9P/l5fP/2Njn/6WlsP9qanH/Pz9D/zk5PeE5OT1y/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+APf39wDk5OQA2traANvb2wDh4eEA7u74Ae7u9znu7vfF7u74/+/v+P/u7vf/6+v2/+fn + 9f/n5/T/5+f0/+fn9P/n5/T/5+f0/+Hh8P+bm6X/QEBF/zk5Pf85OT3/OTk9tzk5PTH+/v4A/v7+AP7+ + /gD+/v4A/v7+gP7+/v/Bwff/kZHx/2Bg6/8oKOT/Fhbi/xUV4v8UFOL/Fxfi/xkZ4v8bG+L/Hx/j/x4e + 4/8FBeD/DAym/xMTRP8kJDz/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8EBAX/CgoL/xEREvQRERK3AQEBVAAAAC4AAAAUAAAABQAAAAAAAAAA5ub0AeXl9AHS0uACz8/dA+Tk + 8wXl5fMF5ub0B+bm9Ajm5vQJ5+f0Cujo9Qrq6vYL7u73DPPz+Q329vsN9/f8Dvj4/Av4+PxL+Pj8w/j4 + /P339/z/9vb7//Pz+v/u7vj/6ur2/+jo9f/n5/T/5+f0/+fn9P/n5/T/5eX0/+Dg7v/T0+H/0tLg/9PT + 4f/T0+H/19fl/9jY5//T0+H/09Ph/9TU4v/U1OL/zs7b/8XF0v+ysr7/lJSd/2pqcf8/P0T/OTk9/zk5 + Pf85OT3/OTk92jk5PYw5OT1rOTk9aTk5PW5YWF1ympqkdb6+ynna2ul95eXzgebm9ITm5vSJ5ub0jObm + 9JDm5vSV5+f0mOnp9Zzm5vSguLjEpJCQmahnZ26sOTk9sDk5PbTw8PjB7+/4ve7u+Lrr6/a25OTzssHB + zq67u8eqtLTAprOzv6LGxtOfr6+7moqKk5ejo62SyMjVjrq6xouzs7+GtrbBg+fn67/+/v7/xMT4/5eX + 8v9lZez/Kyvl/xcX4/8WFuP/Ghrj/xoa4/8YGOP/GRnj/xcX4/8PD+L/CAjh/wgI2v8ODs3/EhK5/xER + n/8NDYX/Cwt3/wsLd/8LC4H/DQ2T/wwMqP8ICLj/BATH/wEB0f8AANX/AADW/wAA1v8FBdP/Dw/Z/yIi + 3f86Otn/V1fd/3R05f98fMr/f3+y/3t7lP+Dg4b/kZGR/5GRkf8tLS3+AAAA+AEBAe0BAQLZAwMDvAYG + BpgLCwtwEhITTCIiJC85OT0Zb293D6SkrwnV1eMG1NTiBNHR3wO/v8wC/v7+AP7+/gD+/v4AwcHBANPT + 0wD+/v4A5OTzP+Xl87/l5fT/5ub0/+fn9P/n5/T/5ub0/+fn9P/l5fP/w8PQ/9zc6v/n5/T/5ub0/+Xl + 8//l5fT/5OTz/8vL2P+UlJ3/XV1j/zk5Pf85OT3LOTk9Qv7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAEAAAAB39/fAO7u+AHu7vdC7u730+7u+P/u7vj/7u73/+rq + 9v/n5/T/5+f0/+fn9P/n5/T/5+f0/+fn9P/l5fT/sLC8/09PVP85OT3/OTk9/zk5PcA5OT0+/v7+AP7+ + /gD+/v4A/v7+AP7+/oD+/v7/wcH3/5GR8f9eXuv/KCjl/xYW4/8WFuP/Fhbj/xgY4/8WFuP/GRnj/x4e + 5P8cHOP/BATg/wsLl/8QEDr/JCQ8/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQL/BAQF/woKC/8SEhP9GBga3g0NDWkAAAAuAAAAFAAAAAUAAAAAAAAAAOXl9AHm5vQC09PhA8vL + 2ATk5PMG5eXzBubm9Afm5vQI5+f0Cefn9Arn5/UK6Oj1C+vr9g3v7/gO8/P6Dvb2+w/4+PwQ+Pj8FPj4 + /F34+PzV+Pj8//f3/P/19fv/8vL5/+3t9//q6vb/6Oj1/+fn9P/n5/T/5+f0/+fn9P/l5fP/29vp/9PT + 4f/S0uD/1tbk/97e7P/Y2Of/1NTi/9PT4f/T0+H/1dXj/9PT4f/Q0N7/x8fV/7i4xP+goKv/f3+H/1VV + W/85OT3/OTk9/zk5Pf45OT3nOTk9ozk5PXQ5OT1uOTk9dFFRV3eVlZ98wsLPf+Dg74Pm5vSH5+f0i+fn + 9I/m5vST5eX0l+Xl9Jrn5/Sf5eX0oq+vu6eHh5CqbGxzrjk5PbI5OT228PD4xfDw+cDw8Pm97e33uefn + 9bXMzNmxwcHOrbi4xKmwsLylra25opycpp1wcHiaiYmRls/P3ZHDw9COuLjEirW1wYfl5enB/v7+/8TE + +P+Xl/P/ZGTt/ysr5v8WFuT/FBTj/xYW5P8ZGeT/Fxfk/xgY5P8XF+T/FRXj/xAQ4/8KCuL/Bgbi/wIC + 4f8CAtr/AgLM/wEBu/8BAbP/AQG0/wEBuv8BAcH/AADI/wAAzv8AANT/AADV/wAA1v8AANP/CQnP/xwc + 0f85Ocr/X1/F/4qKzP+wsNL/z8/T/8jIyP+RkZH/VVVV/y4uLv8AAAD+AAAA+gEBAfIBAQHiAwMDyAYG + BqcLCwuBERESWx8fITo0NDciYWFnE52dpwy8vMgJ2NjnB9nZ6AbW1uQF1tbkBNHR3wK+vssB9vb2ANzc + 3AD09PQA5eX0D+bm9Ifn5/Xs6Oj1/+jo9f/p6fb/6Oj1/+bm9P/l5fT/19fl/6mptP/Dw9D/6en2/+jo + 9f/n5/X/5ub0/+Pj8v++vsv/h4eQ/1RUWf85OT34OTk9qDk5PR3+/v4A/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAADAAAABQAAAAcAAAAJAAAACgAAAAgAAAAGAAAABAAAAALHx84G7u74T+7u+N/v7/j/7+/4/+7u + +P/r6/b/6Oj1/+fn9f/o6PX/6Oj1/+jo9f/o6PX/5+f1/8PD0P9jY2n/OTk9/zk5Pf85OT3JOTk9Sv7+ + /gD+/v4A/v7+AP7+/gD+/v6A/v7+/8DA9/+RkfL/Xl7s/ygo5v8UFOP/FBTj/xYW5P8YGOT/Fxfk/xgY + 5P8bG+T/Ghrk/wIC4f8JCYP/EBA6/yQkPP8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AgIC/wQEBf8KCgv/EhIU/xsbHfIcHB6kAQEBLwMDAxUAAAAFAAAAALu7xwHl5fQC5+f1BNjY + 5gXGxtMH39/tCObm9Qjn5/UJ6Oj1Cujo9Qrp6fYL6en2DOnp9g3q6vYO7Oz3D/Dw+RD09PoR9/f8Evj4 + /BL4+Pwj+Pj8c/j4/OX4+Pz/9/f8//X1+//x8fn/7e33/+rq9v/o6PX/6Oj1/+jo9f/o6PX/5+f1/+Xl + 9P/Z2ej/1NTi/+Hh7//m5vT/4eHw/9jY5//U1OL/1dXj/9bW5P/U1OL/1dXj/9HR3//MzNn/wMDN/62t + uf+RkZr/ZWVs/z09Qf85OT3/OTk9/Tk5Pe05OT27OTk9hTk5PXU5OT17TExRf5OTnYLMzNmH5+f1iujo + 9Y7o6PWR5+f1lufn9Zrm5vSe5ub0otzc6qWUlJ6pbW10rXBweLE5OT21OTk9ue/v+Mfw8PjD8PD5wO/v + +Lzq6va42NjmtMjI1LC9vcissrK9qKyst6ShoaqgYWFnnWNjaZmzs72UzMzYkb6+yo20tL+J5OTowv7+ + /v/ExPj/l5f0/2Vl7v8uLuj/Fxfm/xYW5f8WFuX/Fhbl/xcX5v8YGOb/GBjm/xgY5v8WFuX/Fhbl/xUV + 5f8VFeX/Fhbl/xAQ5f8BAeP/AADV/wAAzv8AAM7/AADQ/wAA0v8AANT/AADV/wAA1/8AANf/AQHS/w0N + zv8lJcH/SUm2/3R0r/+JiZn/c3Nz/0VFRf8cHBz/AAAA/wAAAP8AAAD/AAAA/AEBAfcBAQHqAwMD0wUF + BbUJCQqQEBASahsbHUctLTArT09UGYqKkhC+vsoM1dXiCtvb6Qnh4e4I4ODtB9/f7Abh4e4F4ODtA8/P + 3ALFxdECyMjUAdjY5kfn5/XH6en1/erq9v/r6/b/6ur2/+jo9f/n5/T/5ub0/9vb6f+amqT/nJym/+fn + 9P/p6fX/6Oj1/+fn9P/c3On/sLC7/3d3fv9LS0//Ojo95zo6PXw6Oj0I/v7+AP7+/gD+/v4A/v7+AAAA + AAEAAAADAAAABwAAAAwAAAASAAAAFgAAABgAAAAVAAAAEAAAAAoAAAAFxMTLC+/v+F3v7/jp7+/4//Dw + +P/u7vj/6+v2/+np9f/o6PX/6Oj1/+jo9f/o6PX/6en1/+jo9f/R0d7/dnZ9/zo6Pf86Oj3/Ojo90jo6 + PVfNzc0A/v7+AP7+/gD+/v4A/v7+gP7+/v+9vff/iory/1dX7f8kJOf/ExPl/xYW5f8WFuX/FBTl/xMT + 5f8XF+b/KCjn/0ND6v8ZGeb/CwuZ/xMTR/8kJD3/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wICAv8FBQX/CgoL/xMTFP8cHB78JCQm2hcXGU0KCgoYCgoKBj8/QwKamqQE2NjlBefn + 9Qbd3eoHvr7KCNPT4Ano6PUJ6en1Curq9gvr6/YL6+v2DOvr9g3q6vYP6ur2EOvr9hHu7vcR8fH5EvX1 + +xT39/wV+Pj8Fvj4/DD4+PyK+Pj88fj4/P/39/z/9fX7//Hx+f/t7ff/6ur2/+np9f/p6fX/6en1/+np + 9f/o6PX/5eXz/97e6//n5/X/6Oj1/+fn9f/l5fP/2tro/9XV4v/V1eL/1dXi/9XV4v/T0+D/09Pg/8/P + 2//Hx9P/urrF/5+fqP98fIT/VFRZ/zo6Pf86Oj3+Ojo98To6Pcs6Oj2WOjo9fDo6PYFAQESFmJiiiuPj + 8Y3p6fWR6en1lOjo9Zjo6PWd5+f0oebm9KXg4O2ohISMrElJTrBVVVq0Ojo9uDo6Pbzu7vfJ7Oz2xurq + 9cPp6fW/4uLvur29yLe2tsCzsbG7r62tt6uqqrSnqKixo2RkaaA+PkGccXF4l87O2ZTExM+QtrbAjePj + 58P+/v7/xMT5/5aW9P9jY+//LCzp/xkZ5/8ZGef/Fxfm/xQU5v8WFub/Fxfm/xcX5v8YGOf/GBjn/xcX + 5v8ZGef/GRnn/xkZ5/8ZGef/EhLm/wEB5P8AANb/AADQ/wAA0f8AANL/AADT/wAA1f8AANb/AADX/wIC + 1v8ODsT/Jyev/0ZGnP9ISGT/Dg4O/xYWFv8bGxv/ISEh/ykpKf8ODg7/AAAA/QEBAfoBAQHvAgIC3QUF + BsIICAmgEBARehgYGlUqKiw3SkpOInl5gBWpqbMNz8/aC9bW4gvf3+sK5+f0Cejo9Ano6PQI6Oj0B+jo + 9Abh4e0Ez8/bA76+yRO4uMKTwMDL69nZ5v/o6PX/6en1/+np9f/o6PT/5+f0/+Tk8f/j4/D/np6m/3Nz + ev+trbf/6+v2/+rq9f/o6PT/0tLe/6Kiq/9vb3X/R0dL/zo6Pc46Oj1SOjo9Af7+/gD+/v4A/v7+AP7+ + /gAAAAABAAAABQAAAAwAAAAVAAAAHwAAACcAAAApAAAAJAAAABsAAAASAAAACcbGzBHv7/hr8PD48fDw + +P/w8Pj/7+/4/+vr9v/p6fX/6en1/+np9f/p6fX/6en1/+rq9f/p6fX/2trn/4WFjf86Oj3/Ojo9/zo6 + Pds6Oj1k+fn5AP7+/gD+/v4A/v7+AP7+/oD+/v7/urr4/4aG8v9SUu3/IiLo/xgY5/8lJej/MDDp/zk5 + 6v9GRuv/SUns/1FR7f9OTuz/AADe/wkJhv8SEkP/JCQ9/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8DAwP/BQUF/woKC/8TExT/HR0e/yYmKPMoKCqWExMUHhYWFwg6Oj0FdnZ8BsPD + zgfn5/QI4+PwCbCwugm7u8UK6en1Curq9gvs7PcM7u73De7u9w7t7fcP7Oz2EOvr9hHr6/YT7Oz2E+/v + 9xTy8vkW9vb7F/j4/Bj5+fwa+fn8O/n5/KT5+fz8+Pj8//f3+//19fr/8fH5/+3t9//r6/b/6ur1/+rq + 9f/q6vX/6en1/+jo9f/p6fX/6en1/+np9f/p6fX/6en1/+fn9P/d3en/19fj/9bW4v/U1OD/09Pf/9bW + 4v/V1eH/1NTg/9DQ3P/FxdH/tLS+/5eXoP9vb3b/QkJG/zo6Pf86Oj32Ojo92Do6PaQ6Oj2FOjo9iDo6 + PY10dHqQt7fBlM7O2Zjb2+ib4uLvoObm86Pn5/So5ubzq4WFja86Oj2zOjo9tzo6Pbo6Oj2+7+/4zezs + 98na2ufGw8POwbe3wb2np7G6qamztamps7Orq7WuqKiyq6amsKeGho2jOjo9n0NDR5uxsbqYxMTPk7u7 + xo7m5urL/v7+/8XF+f+YmPT/ZGTv/ysr6f8YGOf/GRno/xgY5/8VFef/FBTn/xYW5/8ZGej/Ghro/xoa + 6P8YGOf/GBjn/xkZ6P8aGuj/Gxvo/xoa6P8QEOf/AADh/wAA1P8AANH/AADU/wAA1P8AANX/AADY/wAA + 2f8BAc//Cwu6/x8fpf81NYv/RERv/0NDUP9AQED/QEBA/0BAQP9AQED/ICAg/wAAAPsBAQH0AwMD5gUF + Bs4KCguvDw8QiRcXGWQnJylEPz9CKmdnbRqWlp4SuLjCD8vL1g3T098M39/rC+np9Qrq6vYK6+v2Cevr + 9gjp6fYH4+PwBtXV4QPFxdBLsrK80Kamr/20tL7/1NTg/+fn9P/o6PX/5OTx/+Xl8v/j4+//4uLu/8TE + z/9qam//e3uC/+np9f/r6/b/6en1/8vL1v+amqL/bGxy/0hITP06Oj2xOjo9Lv7+/gD+/v4A/v7+AP7+ + /gD+/v4AAAAAAQAAAAcAAAARAAAAHgAAACwAAAA3AAAAOgAAADQAAAAnAAAAGQAAAA3IyM8Y8PD4efDw + +fjx8fn/8fH5/+/v+P/s7Pf/6ur2/+rq9v/q6vb/6ur2/+rq9v/q6vb/6ur2/9/f6/+KipL/Ojo9/zo6 + Pf86Oj3jOjo9cjo6PQL+/v4A/v7+AP7+/gD+/v6A/v7+/76++P+NjfP/WVnu/yQk6f8WFuf/JCTp/zAw + 6v86Ouv/RETs/z096/8/P+v/IiLo/wAAwf8ICG//ERFA/yQkPf8/P0D/ICAg/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BAQE/wUFBf8KCgv/ExMU/x0dHv8nJyn8Li4w3SgoKkAlJScOOjo9BlBQ + VQimprAI39/rCejo9QqioqsLlZWeDOjo9Qzs7PcM7+/4DvLy+Q7z8/oP8fH5Ee7u+BLt7fcT7Oz3FOzs + 9xXt7fcW8PD4GPPz+hn39/sa+Pj8G/n5/CD5+fxI+fn8xPn5/Pv5+fz/9/f8//T0+v/x8fn/7u73/+zs + 9//r6/b/6+v2/+rq9v/p6fb/6ur2/+rq9v/q6vb/6ur2/+rq9v/q6vb/6en1/+Li7v/Z2eX/1dXh/9PT + 3//U1OD/1NTg/9fX4//Z2eX/2dnl/9bW4v/Pz9r/ubnD/5CQmP9cXGH/Ojo9/zo6Pfo6Oj3hOjo9sDo6 + PZI6Oj2QOjo9k2hobpebm6OburrEn8/P26Pe3uqn4uLuq+Tk8a6oqLKzOjo9tjo6Pbo6Oj29Ojo9wvHx + +c/v7/jL6+v2yNjY48S2tr/ApKStvaiosbioqLG1qamysaamr66mpq+ppqavpjw8P6I6Oj2ehISLmsLC + zJbJydOf8fH24/7+/v/Fxfn/mZn1/2Zm8P8tLer/Fxfo/xkZ6P8ZGej/GBjo/xcX6P8WFuj/Fhbo/xoa + 6f8aGun/GRno/xkZ6P8bG+n/Gxvp/xsb6f8eHun/Gxvp/w0N5/8AAOH/AADV/wAA1P8AANX/AADV/wAA + 2P8AANj/AADM/wgIvf8WFq//JyeY/zIyeP8yMlb/MDA+/z8/QP9AQED/QEBA/wgICP0BAQH3AgIC7AQE + BdgJCQm7Dw8QmBkZGnMnJyhQOjo9NVtbYCGIiI8WpqavEb+/yQ/CwswOysrUDdra5gzq6vYL7e33C+7u + 9wrt7fcJ6ur2COTk7wfV1eAT0NDboczM1u/Cwsz/xcXQ/9nZ5P/l5fH/5eXx/+Li7f/j4+7/4uLt/+Pj + 7v/l5fH/dHR6/1lZXf/GxtD/6+v2/+fn8/++vsj/n5+n/4ODif9eXmPxQUFEhj4+QRP+/v4A/v7+AP7+ + /gD+/v4A/v7+AAAAAAIAAAAJAAAAFQAAACYAAAA3AAAARAAAAEcAAABAAAAAMAAAAB8AAAAQyMjPHu/v + 94jx8fn98fH5//Hx+f/v7/j/7Oz2/+vr9v/r6/b/6+v2/+vr9v/r6/b/6+v2/+vr9v/e3un/hoaN/zs7 + Pv86Oj3/Ojo96jo6PYA6Oj0H/v7+AP7+/gD+/v4A/v7+gP7+/v+9vfj/k5P0/11d7/8jI+n/EBDo/xIS + 6P8SEuj/EBDo/wsL5/8ODuf/Ghrp/yYm6v8AANb/CAh0/xERQP8kJD3/Pz9A/yAgIP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8HBwj/CgoL/xMTFP8dHR7/Jycp/y8vMvoyMjSNMDAyHDo6 + PQc6Oj0Ih4eOCczM1grq6vULoKCoDG9vdA22tr8N7Oz2De/v+A/x8fkP9PT6EPT0+hLy8vkT7u73FO3t + 9xbs7PYW7Oz2GO7u9xnx8fkb9PT6HPf3+x75+fwe+fn8JPn5/Fr5+fzW+fn8+vn5/P/39/v/9PT6//Dw + +P/t7ff/7Oz2/+vr9v/q6vX/6ur2/+vr9v/r6/b/6+v2/+vr9v/r6/b/6+v2/+vr9v/q6vX/5eXx/9nZ + 5P/T097/0tLd/9HR3P/S0t3/1NTf/9jY4//i4u3/6ur1/+rq9f/Z2eX/pqav/2lpbv86Oj3/Ojo9/To6 + Pe06Oj2+Ojo9nzo6PZdBQUSadHR6npubo6K5ucKmz8/Zqdra5q7j4+6xycnTtTo6Pbg6Oj28Ojo9wDo6 + PcTx8fnR8fH5zu7u+Mvi4u3GsbG6w5ycpL+jo6y7pqavuKensLSmpq+xpKStraKiqqlLS0+lOzs+oTw8 + P5+2tr+pxcXP1PX1+vv+/v7/xcX5/5mZ9f9nZ/D/Li7r/xgY6f8YGOn/GRnp/xkZ6f8ZGen/Fhbp/xQU + 6f8WFun/GBjp/xkZ6f8ZGen/Gxvq/xwc6v8dHer/Hx/q/x8f6v8aGun/CQno/wAA3v8AANb/AADV/wAA + 2f8AAOH/AADa/wAA0P8EBMX/DAy2/xQUoP8eHn//IyNY/yYmPf85OT//QEBA/yAgIP8BAQH6AgIC8QQE + BeEICAnIDg4OpxkZGoMnJylePz9CQF1dYiqBgYcbnp6mFbe3wBG3t8AQuLjBELe3wA/Fxc8O6ur2De7u + +Azw8PgL7e33Cuvr9gnk5PAI2dnkTNXV4N7W1uH+z8/a/83N1//T097/29vn/97e6f/g4Ov/4eHs/+Li + 7f/j4+7/5OTv/4aGjf87Oz7/cHB2/+np9f/ExM7/qKix/5aWnv+AgIf/cXF32WFhZlpVVVoE/v7+AP7+ + /gD+/v4A/v7+AP7+/gAAAAACAAAACQAAABYAAAAnAAAAOAAAAEYAAABJAAAAQgAAADEAAAAgAAAAEM3N + 1Cjv7/eX8vL5//Ly+f/y8vn/8PD4/+3t9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/3Nzo/5SU + m/9EREf/Ozs+/zs7PvE7Oz6POzs+Dv7+/gD+/v4A/v7+AP7+/oD+/v7/uLj4/4qK9P9gYPD/KCjr/xcX + 6f8cHOr/HBzq/xYW6f8QEOn/CQno/wgI6P8bG+r/AADV/wcHbP8QEDv/JCQ9/z8/QP8gICD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/CgoK/wsLC/8TExT/HR0f/ygoKv8wMDP/NjY43TY2 + OUE7Oz4NOzs+CWtrcQuvr7gL5OTvDKiosQ1EREcOYmJnDuHh7A/q6vYQ7Oz3EfHx+RL09PoU8/P6FfDw + +Bbu7vgY7e33GOzs9xrt7fcb7+/4HfLy+R719fsg+Pj8Ifn5/CP5+f0k+fn9d/n5/d/5+fz8+Pj8//f3 + +//09Pr/8PD5/+7u+P/s7Pf/6+v3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+vr + 9v/p6fX/2dnl/8/P2v/Oztj/zMzW/8vL1f/JydP/1tbh/+vr9v/t7ff/7e33/+Hh7P+trbX/cnJ4/zw8 + P/87Oz7/Ozs+9js7Psw7Oz6pOzs+n0lJTaFzc3mlmZmhqbi4wazOztix2trmtMPDzbg7Oz67Ozs+vzs7 + PsM7Oz7H8vL51PHx+dDu7vjN6ur2ybW1vsWXl5/Cn5+nvqKiq7ukpK23pKSts6Ghqa+fn6esbW1zqDs7 + Pqg7Oz62gYGI4ZeXn//h4eb//v7+/8bG+f+cnPb/a2vx/zEx7P8ZGer/GBjq/xcX6v8YGOr/GRnq/xcX + 6v8WFur/Fxfq/xgY6v8WFur/Fhbq/xgY6v8ZGer/Ghrq/xsb6v8dHev/HBzr/xUV6v8EBOj/AADc/wAA + 1/8AAOP/BQXo/wAA4/8AANf/AADL/wMDvv8JCaj/ExOE/x8fXv8lJT7/PDw//zg4OP8FBQX8AgIC9gMD + A+cGBgbSDQ0NtRYWF5IkJCZtOjo9TF1dYjSIiI8kp6ewGra2wBWysrsTra22EqmpshGfn6cQpKStD8fH + 0Q7s7PcO7e33DOzs9wvq6vYL4+PuFtzc6K/c3Oj13t7p/9jY4//V1eD/09Pe/9PT3v/Y2OP/29vn/9/f + 6v/g4Ov/4ODr/+Pj7v+trbb/Ozs+/zs7Pv+kpK3/hoaN/3Nzef9iYmf/UFBU/15eYrdzc3k4/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4AAAAAAgAAAAgAAAATAAAAIQAAADAAAAA7AAAAPgAAADgAAAAqAAAAGwAA + AA3X194u8fH5pfLy+f/y8vn/8vL5//Dw+P/t7ff/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/6+v2/+Tk + 7/+ioqr/TExQ/zs7Pv87Oz72Ozs+njs7PhX+/v4A/v7+AP7+/gD+/v6A/v7+/7W1+P96evP/TEzv/yIi + 6/8eHuv/Kyvs/ysr7P8gIOv/Fhbq/w0N6f8EBOj/AQHo/wAAxP8GBlf/EBA7/yQkPf8/P0D/ICAg/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/w0NDv8LCwv/ExMU/x0dH/8oKCr/MDAz/zY2 + Of85OTyLOzs+IDs7PglSUlYLhoaNDcfH0Q6trbUPOzs+EDs7PhDV1eAR5OTwEubm8hPs7PcU8fH5FvLy + +hfw8PgY7u74Gezs9xrs7Pcc7Oz3He3t9x/v7/gg8vL6Ivb2+yT4+Pwm+fn8Jvn5/Sz5+f2V+fn95/n5 + /P74+Pz/9vb7//Pz+v/v7/j/7e33/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs9//s7Pf/7Oz3/+zs + 9//s7Pf/6+v3/+np9f/Y2OP/y8vV/8TEzv++vsj/s7O8/7e3wP/R0dz/7Oz3/+3t9//s7Pf/2dnk/6ur + s/92dnz/V1dc/zs7Pv87Oz78Ozs+2js7PrQ7Oz6mT09TqHV1e6yZmaGvt7fAs8vL1be5ucO7SkpOvjs7 + PsI7Oz7FOzs+yfPz+dfy8vnT8PD40Ozs98y7u8TImJifxZyco8Gfn6e+oKCoup+fp7afn6eynZ2krpyc + o687Oz7COzs+7js7Pv9ubnP/zs7R//7+///IyPr/n5/2/29v8v82Nu7/HR3s/xkZ6/8YGOv/Fhbr/xcX + 6/8ZGev/Fhbr/xYW6/8XF+v/Fxfr/xkZ6/8YGOv/Fxfr/xgY6/8ZGev/HBzr/x0d7P8cHOv/EhLr/wAA + 6P8AAOH/DQ3q/xYW6/8MDOr/AADm/wAA1/8CAsX/CQmv/xgYjf8qKmj/OjpP/0RERP8VFRX+AQEB+AMD + A+4GBgbcCgoLwRMTFKAhISN8NTU3WlVVWT6AgIYrsbG5H83N1hnOztgWurrDFaqqshOfn6cTkJCWEoyM + kxGfn6cQ0tLcD+jo8w7q6vUM5OTuD+Hh60/i4uzv6ur1/+zs9v/p6fT/3t7o/9TU3v/S0tz/1dXf/9nZ + 5P/c3Of/3t7o/+Dg6v/g4Or/4eHr/0FBRP87Oz7/Ozs+/09PU/9EREf/Ozs+/zs7Pv07Oz6PcHB2Hf7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+AAAAAAEAAAAGAAAADQAAABgAAAAjAAAAKwAAAC0AAAAoAAAAHgAA + ABMAAAAK5eXrNfLy+bHy8vn/8vL5//Ly+f/w8Pj/7e33/+3t9//t7ff/7e33/+3t9//t7ff/7Oz2/+zs + 9v/o6PP/rKy0/1VVWf87Oz7/Ozs++zs7Pqw7Oz4d/v7+AP7+/gD+/v4A/v7+gP7+/v+5ufn/dHTz/yoq + 7P8AAOP/EhLr/zg47v9AQO//Kyvt/xwc6/8QEOr/Bgbq/wAA6f8AAMf/BQVI/xAQPP8kJD3/Pz9A/yAg + IP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8RERL/CwsL/xMTFP8dHR//KCgq/zAw + M/82Njn/Ojo93zs7Pko7Oz4POzs+DE9PUw6bm6IPubnCEDs7PhE7Oz4RpaWtEuDg6hTl5fAV6+v2Fu/v + +Bfw8PgZ7+/4Gu7u9xvt7fcc7Oz3Huzs9iDs7Pch7u73IvDw+CTz8/on9vb7Kfj4/Cr5+fwp+vr9Ovr6 + /ar6+v3x+fn8//j4/P/29vv/8vL5//Dw+P/u7vf/7e33/+3t9//t7ff/7e33/+3t9//t7ff/7e33/+3t + 9//t7ff/7e33/+3t9//s7Pb/5+fy/9PT3f/Cwsv/tra//6Wlrf+fn6b/qamx/9XV3//s7Pb/7Oz3/+vr + 9v/S0tz/rq62/5iYn/9wcHb/Ozs+/zs7Pv87Oz7oOzs+vzs7PqxVVVmud3d8spiYn7a2tr65qKiwvnBw + dcE7Oz7FOzs+yDs7Psz09PrY9PT61fLy+tLu7vjOxMTNypycpMebm6LDnZ2lwJ2dpbydnaW5nZ2ltJ2d + pbehoanSSkpN9Ts7Pv87Oz7/ampv/8XFyP/+/v//ysr6/6Gh9/9ycvP/Ojrv/yAg7f8aGuz/GBjs/xUV + 7P8TE+z/Fhbs/xUV7P8WFuz/GBjs/xcX7P8XF+z/GBjs/xoa7P8ZGez/Ghrs/xwc7P8dHez/Hx/t/xkZ + 7P8NDev/EBDr/xgY7P8aGuz/Fxfs/xAQ6/8AAOn/BQXN/xMTqv8pKYf/Pj5m/1JSVP82Njb/AQEB+wIC + AvIFBQXkCQkJzBEREa0bGx2KMTEzaEtLTklzc3gyoaGoJczM1R3b2+UZ29vmF8rK0xWysroUoaGpFJWV + nBOPj5YSoaGpEcHByhDV1d8P29vmDt3d6CPg4Oq75ubw/O3t9//u7vj/7e34/+jo8//Z2eP/1tbg/9XV + 3//Z2eP/2trl/93d6P/f3+n/39/p/+Hh6/9xcXb/Ozs+/zs7Pv87Oz7/Ozs+/zs7Pv87Oz7qOzs+YmRk + aQr+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gAAAAABAAAABAAAAAgAAAAPAAAAFgAAABsAAAAcAAAAGQAA + ABMAAAAMAAAABurq8j/y8vq+8/P6//Pz+v/y8vr/8PD5/+7u+P/t7fj/7e34/+3t+P/t7fj/7e34/+3t + 9//t7ff/7Oz3/7S0vf9dXWL/Ozs+/zs7Pv87Oz65Ozs+KP7+/gD+/v4A/v7+AP7+/oD+/v7/vb35/39/ + 9P8cHOz/AACv/wAAqf8AANz/ExPs/w4O6/8ICOv/AgLq/wAA6v8AAOf/AADQ/wUFTP8QEDz/JCQ9/z8/ + QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/EhIS/xQUFf8TExT/HR0f/ygo + Kv8wMDP/NjY5/zo6Pf87Oz6XOzs+KDs7Pgs7Oz4PZGRpELCwuBE7Oz4SOzs+ElxcYBO+vscU1dXfFt3d + 6Bft7fgY7u74Gu7u+Bvu7vgd7e33Hu3t9yDt7fch7e33I+3t+CTu7vgm8fH5KPT0+ir39/ws+fn8Lvn5 + /Sz6+v1Q+vr9u/r6/fn5+f3/+Pj8//b2+//z8/r/8PD5/+7u+P/u7vj/7u74/+7u+P/u7vj/7u74/+7u + +P/u7vj/7u74/+7u+P/u7vj/7e34/+3t9//l5e//zMzV/7m5wv+rq7P/np6m/6amrf/Bwcr/39/p/+zs + 9//s7Pf/5+fy/9HR2//S0tz/sLC4/3Bwdf9KSk3/Ozs+/zs7PvE7Oz7PQkJFtFxcYLR6eoC5m5uivJGR + mMBgYGXDOzs+xzs7Pso7Oz7O9PT62/T0+tjz8/rV8PD40c7O186goKfKnJyjxp6epcOfn6a/oaGouqKi + qcKlpazfrKyz95eXnf87Oz7/Ozs+/zs7Pv+5ubv//v7//87O+/+lpfj/d3f0/0BA8P8kJO7/HBzt/xsb + 7f8XF+3/ExPs/xMT7P8TE+z/ExPs/xQU7f8WFu3/Fxft/xgY7f8ZGe3/GRnt/xkZ7f8aGu3/HBzt/x0d + 7f8XF+3/EBDs/xkZ7f8aGu3/Gxvt/xsb7f8YGO3/Cgrs/w4Ozf8hIZ3/Nzd0/0pKWv9JSUn/CwsL/QIC + AvcDAwTqCQkJ1g4OD7oZGRqYKiosdUVFSFZqam8+mJidLMHBySHc3OUd5OTtG+Tk7RnZ2eMYxcXNFrCw + txalpasVpqatFLOzuxPFxc0S0NDZD9fX4Bjb2+Vi4+Ps9ezs9v/v7/j/8PD4/+/v+P/t7ff/4uLr/9nZ + 4v/X1+D/2dnj/9zc5v/f3+j/4ODp/+Dg6f/i4uv/wMDJ/zs7Pv87Oz7/Ozs+/zs7Pv87Oz7/Ozs+xTs7 + Pj5KSk0C/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AAAAAAIAAAAEAAAABwAAAAoAAAAMAAAADQAA + AAsAAAAIAAAABQAAAAPv7/ZH8/P6yvPz+v/z8/r/8/P6//Hx+f/u7vj/7u73/+7u9//u7vj/7u74/+7u + 9//u7vf/7u74/+3t9/+9vcX/Z2ds/zs7Pv87Oz7/Ozs+xDs7PjX+/v4A////AP7+/gD+/v6A/v7+/76+ + +v+Ghvb/Kiru/wAAqv8AAH3/AACf/wAAz/8AAOL/AADl/wAA5f8AAOf/AADl/wAAzv8HB2z/EBA8/yQk + Pv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/xISEv8iIiT/ExMU/x0d + H/8oKCr/MDAz/zY2Of86Oj3/Ozs+3Ts7Plw7Oz4UOzs+EDs7PhKBgYcTUlJVFDs7PhQ7Oz4VhYWLF5iY + nxixsbgZ29vlG+3t9xzu7vge7u73H+3t9yDt7fci7e33JO3t9ybt7fcn7u73KfDw+Cvy8vkt9fX7L/j4 + /DH5+fwz+vr9Nfr6/Wf6+v3J+vr9//r6/f/4+Pz/9vb7//Pz+v/w8Pn/7+/4/+/v+P/v7/j/7u74/+/v + +P/v7/j/7+/4/+/v+P/v7/j/7+/4/+7u+P/u7vj/7u73/+Dg6f/KytL/urrC/7Kyuf+ysrn/wsLK/9nZ + 4v/o6PL/7e33/+3t9//m5vD/7Oz2/9vb5f+urrX/goKI/11dYf9EREf+Ozs+9T8/QtxOTlG9ZmZruoGB + h796en/DTU1Qxjs7Pso7Oz7NOzs+0fX1+t719frb9PT62PLy+dTc3OXQp6etzaGhp8mfn6XGoaGowqWl + q86qqrDor6+2+bq6wf/Fxcz/PDw+/zw8Pv88PD7/np6f//7+///Q0Pv/rKz5/3x89f9ERPH/KCjv/x8f + 7v8cHO7/Ghru/xYW7v8TE+3/ExPt/xER7f8SEu3/FBTt/xYW7v8WFu7/FRXu/xUV7v8VFe7/Fhbu/xkZ + 7v8ZGe7/CQnt/xER7f8ZGe7/GRnu/xoa7v8ZGe7/FBTt/wkJ7P8cHMP/NTWU/0lJbP9VVVX/JiYm/gEB + AfkDAwPwBwcH3w0NDcYXFxinJiYohD09QGNhYWVIjIyRNLe3vijY2N8i5ubuH+Xl7R3l5e0c4uLqGtTU + 3BnCwskYuLi/F7u7whbJydAV0dHZE9XV3RLY2OA13t7nuefn8P/u7vf/8PD4//Hx+P/w8Pj/7+/4/+7u + 9//h4en/29vk/9nZ4v/c3OX/39/o/+Dg6P/f3+j/4uLq/+Li6v88PD7/PDw+/zw8Pv88PD7/PDw+/zw8 + Ppg8PD4lPDw+Af7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+/gD+/v4AAAAAAQAAAAIAAAACAAAAAwAA + AAMAAAADAAAAAgAAAAF6en0C8/P6UfT0+tb09Pr/9PT6//Pz+f/x8fj/7+/4/+/v9//v7/f/7+/3/+7u + 9//v7/f/7+/4/+/v+P/u7vf/xMTL/29vc/88PD7/PDw+/zw8Psw8PD5E////AP///wD+/v4A/v7+gP7+ + /v/AwPr/hob2/0JC8f8AAOD/AACo/wAAr/8AAM3/AADg/wAA5P8AAOT/AADm/wAA5f8AAM//CgqN/xAQ + PP8kJD7/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQEBf8SEhL/KSkr/xMT + FP8eHh//KSkq/zExM/83Nzn/Ozs9/zw8Pvk8PD6kPDw+Mzw8Pg48PD4UUFBTFW1tcRY8PD4XPDw+GG9v + cxmPj5Qar6+2G9jY4B3u7vce7+/4IO/v+CLv7/ci7u73JO3t9ibu7vco7u73Ke7u9yzv7/cu8PD4MPPz + +TL29vsz+Pj8Nvr6/Df6+v1A+/v9evv7/df6+v3/+vr8//j4/P/19fv/8/P5//Hx+P/w8Pj/8PD4/+/v + +P/v7/j/8PD4//Dw+P/w8Pj/8PD4//Dw+P/v7/j/7+/4/+/v+P/u7vf/29vk/8vL0v/AwMj/w8PK/83N + 1f/a2uP/5ubu/+7u9//u7vf/7u73/+/v9//u7vf/2dni/7u7wv+Tk5j/bGxw/1RUV/9KSk34TU1Q5Vtb + XslubnLCYmJmxjw8Psk8PD7NPDw+0Dw8PtT19fvg9fX73fT0+9ry8vrX5+fx07S0vNCnp67MpKSryqam + rdetrbTvs7O7/Ly8w//Gxs7/0NDZ/5CQlv88PD7/PDw+/52dnv/+/v7/ysr7/6qq+f9/f/b/Rkby/yYm + 8P8cHO//GRnv/xkZ7/8WFu//ExPu/xQU7v8TE+7/EhLu/xER7v8UFO7/FBTu/xQU7v8UFO7/ExPu/xYW + 7/8ZGe//EBDu/w0N7v8TE+7/Fhbv/xcX7/8XF+//FBTu/w8P7v8UFNn/Ly+w/0tLif9hYWv/Tk5O/wEB + AfsCAgP0BgYG5gsLC9AVFRa0IyMkkjc3OnBXV1tUfn6DPqiory/Ly9Mn3NzlI+Tk7SHj4+wg4+PsHuPj + 7Bze3ucb1dXeGtDQ2RnOztcY0tLbF9TU3RPW1t8i2dnjcuDg6fDs7Pb/7+/4//Dw+f/w8Pn/8PD5//Dw + +f/v7/j/7Oz2/9/f6P/c3Ob/3Nzm/9/f6P/f3+j/39/o/+Hh6v/f3+j/gICF/zw8Pv88PD7/PDw+/zw8 + PvU8PD5rPDw+FEJCRQOFhYsCxsbOAu3t9wHu7vgB7u74Af7+/gD+/v4A/v7+AP7+/gD+/v4A/v7+AP7+ + /gD+/v4A/v7+AP7+/gD+/v4A9PT6BPPz+l7z8/rh9PT6//T0+v/z8/r/8fH5/+/v+P/v7/j/7+/4/+7u + +P/u7vj/7+/4/+/v+P/v7/j/7+/4/8vL1P93d3z/PDw+/zw8Pv88PD7TPDw+VP///wD///8A/v7+AP7+ + /oD+/v7/wMD7/4qK9v9ISPL/BATt/wAAvv8AALf/AADI/wAA1/8AAN7/AADi/wAA5P8AAOX/AADP/wkJ + i/8QEDz/JCQ+/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAX/EhIS/ykp + Kv8xMTP/Hh4f/ykpKv8xMTP/Nzc5/zs7Pf88PD7/PDw+3Tw8Pmo8PD4ZPDw+FDw8Phd3d3wYPDw+GTw8 + PhqFhYsbxMTMHdTU3R3l5e4f7u74Ie/v+CLv7/kk7+/5Je/v+Cfu7vgp7Oz2K+rq9Czt7fcu7u74MO/v + +DLx8fk18/P6Nvb2+zn5+fw7+vr9PPr6/U36+v2P+vr95fr6/f/5+f3/9/f8//X1+//y8vr/8fH5//Dw + +f/v7/n/7+/5/+/v+f/w8Pn/8PD5/+/v+f/w8Pn/7+/5/+/v+f/v7/n/7+/4/+3t9//d3eb/z8/Y/8vL + 1P/R0dr/3Nzm/+Xl7v/q6vT/7u74/+7u+P/v7/j/7+/4/+7u+P/k5O3/xcXN/52do/95eX7/ZGRo/1tb + XvtcXGDtZWVp1FNTV8o8PD7MPDw+0Dw8PtM8PD7W9fX74/X1++D19frd8/P62u/v+NbGxs3Ttra906+v + tuCwsLf0uLi//r+/xv/JydD/0tLa/9nZ4v/k5Oz/uLi//1ZWWf+dnZ7//v7+/8TE+/+fn/j/fHz2/0ND + 8v8kJPD/HBzw/xYW7/8WFu//FRXv/xMT7/8TE+//ExPv/xMT7/8SEu//FBTv/xQU7/8UFO//Fhbv/xYW + 7/8TE+//EBDv/xMT7/8TE+//FBTv/xYW7/8YGPD/FRXv/w4O7/8NDej/IyPA/0BAl/9dXXv/aWlp/xkZ + Gf0CAgL2BAQE6woKCtkSEhK/Hx8hnzIyNX5OTlFgc3N4R56eozfCwskt2triJ+Dg6CTj4+sk4+PrIuPj + 6yDl5e0f5OTsHebm7h3p6fIb5+fvGt3d5hjY2OAX2NjgQ93d5r3m5u7/7+/4//Dw+f/x8fn/8fH5//Hx + +f/x8fn/8fH5//Dw+P/r6/T/4eHp/93d5v/f3+f/3t7m/9/f5//g4Oj/29vk/8LCyf9gYGP/PDw+/zw8 + Pv88PD7aPDw+Qzw8Pgk8PD4GWFhbBb29xATw8PgD8PD4A/Dw+AOWlpwCSEhLAoCAhQHe3uYB5OTsAf7+ + /gD+/v4A/v7+AP7+/gD+/v4A/v7+APX1+gn09Pps9PT66vT0+v/09Pr/8/P6//Hx+f/w8Pj/8PD4/+/v + +P/w8Pj/8PD4//Dw+P/w8Pj/8PD4/+/v+P/R0dn/gICF/zw8Pv88PD7/PDw+2jw8PmT+/v4A/v7+AP7+ + /gD+/v6A/v7+/8DA+/+Njff/UlLz/w8P7/8AAMf/AADD/wAAy/8AANP/AADa/wAA3/8AAOP/AADk/wAA + zv8JCYv/EBA9/yQkPv8/P0D/ICAg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQF/xIS + Ev8pKSr/S0tN/1tbXv8wMDL/MTEz/zc3Of87Oz3/PDw+/zw8Pvk8PD6yPDw+PDw8PhI8PD4ZVVVZGkhI + Sxs8PD4cfn6CHuDg6B/m5u4g6+v0Ie/v+CTw8Pgl8PD5J/Dw+Sjw8Pkq8PD4LO/v+C7u7vcv7Oz1Mevr + 9DPv7/g28PD4OPLy+Tn19fo89/f8Pvn5/UH6+v1C+/v9WPv7/aH7+/3x+vr9//n5/P/39/z/9fX7//Pz + +v/x8fn/8fH5//Dw+f/w8Pn/8PD5//Dw+f/w8Pn/8PD5//Dw+f/w8Pn/8PD5//Dw+P/w8Pj/7+/4/+fn + 7//a2uP/2Njg/93d5v/k5Oz/6Ojx/+7u9//v7/j/8PD4//Dw+f/w8Pn/8PD4/+zs9f/NzdX/qKiu/4mJ + jv91dXr/bGxw/2lpbfJOTlHcPDw+0zw8PtM8PD7WPDw+2fb2++X29vvi9fX63/T0+tzx8fjZ2Njg28zM + 0+fAwMb5vr7E/8XFy//KytH/0tLZ/9jY4P/f3+b/4eHo/9zc5P/c3OT/3Nzf//7+/v+9vfr/j4/4/2tr + 9v87O/P/IiLx/xkZ8f8UFPD/ExPw/xIS8P8REfD/ERHw/xER8P8QEPD/EhLw/xQU8P8UFPD/FBTw/xYW + 8P8WFvD/DAzw/wkJ8P8TE/D/FBTw/xQU8P8WFvD/Fhbw/xAQ8P8ICO3/GhrP/zY2pv9RUYH/bW1u/0BA + QP8CAgL5BAQE8AgICeAQEBDJHBwdrC8vMIxHR0pta2tvUpWVmT+7u8Iz0tLZLeHh6Cnh4egn4+PqJeTk + 6yTl5ewi5eXsIefn7h/u7vYe8PD4HfDw+Bzm5u0Y29vjKdra4oLh4ejv7Oz0//Hx+P/x8fn/8fH5//Hx + +f/y8vn/8vL5//Ly+f/y8vn/8fH4/+np8f/h4ej/4ODn/97e5v/e3ub/39/m/9bW3f+srLL/bGxw/zw8 + Pv88PD7/PDw+rTw8Pik8PD4GPDw+Bzw8PgdRUVQGn5+kBuPj6gXw8PgFxsbMBFFRVARmZmkD5ubtA+zs + 9ALw8PgC8PD4AfLy+QH09PoB9fX6AfX1+wH19foP9fX6fPX1+vH19fr/9fX6//T0+v/y8vn/8PD4//Dw + +P/w8Pj/8PD4//Hx+P/x8fj/8fH4//Hx+P/x8fj/2Njg/4mJjv88PD7/PDw+/zw8PuE8PD5zPDw+ATw8 + PgFNTVAB/v7+gP7+/v+/v/r/j4/4/11d9f8iIvH/AADZ/wAA0f8AAND/AADU/wAA2f8AAN3/AADg/wAA + 4v8AAM7/CQmI/xAQPf8kJD7/Pz9A/yAgIP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQE + Bf8SEhL/KSkq/0lJS/9ubnL/kJCV/319gf83Nzn/Ozs9/zw8Pv88PD7/PDw+4Dw8Pnk8PD4cPDw+Gjw8 + PhxQUFMdPDw+HlxcXx/o6PAh8PD4IvDw+CTw8Pgm8fH4J/Hx+Cnx8fkq8fH5LPHx+S7x8fkw8fH4MfDw + +DTv7/c27e31OPDw+Dvx8fk88/P5Pvb2+0H4+PxD+vr9Rfv7/Uj7+/1i+/v9t/v7/fj6+v3/+fn8//f3 + +//19fr/8/P5//Ly+f/y8vn/8fH5//Hx+f/x8fn/8fH5//Hx+f/x8fn/8fH5//Hx+f/x8fj/8fH4//Hx + +P/w8Pj/6ury/+Dg5//e3ub/5OTr/+np8f/t7fX/7u72//Dw+P/x8fj/8vL5//Hx+f/x8fn/8PD4/9XV + 3P+xsbf/lpab/4aGiv95eX3/U1NW9jw8PuU8PD7bPDw+2Dw8Ptv29vvn9vb75Pb2++L09Prf8vL54ufn + 7u/i4un+19fe/9DQ1//S0tn/19ff/9zc5P/h4ej/7Oz0/+/v9//i4un/3Nzk/+7u8v/+/v7/tLT6/39/ + 9/9cXPX/MDDz/xgY8f8UFPH/EhLx/xER8f8QEPH/DQ3x/w4O8f8NDfH/DQ3x/xAQ8f8REfH/ERHx/xER + 8f8UFPH/ExPx/woK8f8NDfH/ExPx/xMT8f8TE/H/FRXx/xIS8f8MDPD/ERHc/yoqtf9ISJD/Y2N1/2Ji + Yv8ICAj7AwMD9AgICOYODg/SGhobtyoqLJlCQkV5X19jXYqKj0mvr7U6zs7UMtvb4i7j4+or5OTrKeLi + 6Sjk5Osm5eXsJebm7SPq6vIh8fH5IfHx+R/x8fkd6uryG+Li6U/g4OfE5ubt//Hx+f/y8vn/8vL5//Hx + +f/y8vn/8/P6//Pz+v/z8/r/8/P6//Ly+v/x8fn/5+fu/+Li6f/i4un/4uLp/+Hh6P/X197/p6et/2Bg + ZP88PD7/PDw+/Tw8Pnk8PD4aPDw+Bzw8Pgk8PD4ISkpMCHNzdwikpKkHxsbMB8rK0QdZWVwGSUlLBru7 + wQXt7fUF8fH5BPHx+QTt7fUD39/mA+rq8gLy8voD8/P6FvT0+ov09Pr29PT6//T0+v/z8/r/7e31/9HR + 2P/f3+b/8fH5//Hx+f/y8vn/8vL5//Ly+f/y8vn/8vL5/+Dg5/+UlJn/PDw+/zw8Pv88PD7oPDw+gzw8 + PgM8PD4DRkZIA/39/YH+/v7/vr77/42N+P9lZfb/MTHz/wAA7f8AAOH/AADZ/wAA2P8AANj/AADc/wAA + 3v8AAOH/AADN/wkJh/8QED3/JCQ+/z8/QP8gICD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8FBQX/ExMT/ywsLf9OTlH/cnJ2/5SUmv+pqa//mZmf/2FhZf88PD7/PDw+/zw8Pvo8PD68PDw+QTw8 + Phg8PD4ePDw+Hzw8PiA8PD4hurrAJPHx+STx8fkm8fH5KN3d5Cqpqa8sj4+TLZuboC+qqrAxt7e9M8HB + xzTGxs03y8vSOdDQ1zvS0tk+0tLZP/Hx+UL09PpE9/f7R/n5/En6+v1L+/v9T/v7/W37+/3Q+/v9+/r6 + /f/5+f3/9/f8//X1+//09Pr/8/P6//Ly+v/y8vr/8vL6//Ly+v/y8vr/8vL6//Ly+v/y8vn/8vL5//Ly + +f/y8vn/8vL5//Hx+f/t7fX/5eXs/+Pj6v/o6O//6ury/+np8f/t7fX/8vL5//Pz+v/z8/r/8/P6//Ly + +v/x8fn/19fe/7i4vv+kpKn/lZWa/2VlaP88PD76PDw+7Tw8PuE8PD7e9vb76fb2++b29vvk9fX76PLy + +vTx8fn/8fH5/+3t9f/j4+r/3Nzk/93d5P/g4Of/6Ojw//Ly+f/y8vn/8fH5/+fn7v/v7/L//f3+/6ys + +v96evf/WVn2/ysr8/8SEvL/Dg7y/w0N8v8NDfL/DQ3y/w0N8v8ODvL/DAzy/w0N8v8NDfL/Dw/y/w8P + 8v8QEPL/EBDy/w0N8v8PD/L/EBDy/xIS8v8SEvL/ExPy/xMT8v8PD/L/Cwvr/yAgxP88PJz/WVl9/2xs + bP8oKCj8AwMD9QcHCOoMDA3YFxcYwCYmJ6M+PkCFWlpdaX9/g1Knp61CxcXMONbW3jPc3OQw3t7lLuHh + 6Czi4ukr4uLpKeTk6yfo6PAl8PD4JPHx+SPx8fki8PD4Huvr8y7o6PCR6enx8e3t9f/x8fn/8vL5//Hx + +f/v7/f/8vL6//Pz+v/z8/r/8/P6//Pz+v/z8/r/8vL5//Dw+P/l5ez/4uLp/+Li6f/j4+r/3Nzk/6am + rP9fX2P/PDw+/zw8Pu48PD5KPDw+EDw8PgphYWUKmZmeCqWlqwmpqa8Jubm/CcvL0gnf3+YJcHB0CDw8 + Pgg8PD4HPDw+Bzw8Pgc8PD4GPDw+BmJiZgaRkZUFvr7EA9/f5h7w8Pia8fH5/PLy+f/y8vn/8fH5/8/P + 1v+hoab/tra8/+3t9f/x8fn/8vL5//Ly+f/y8vn/8vL5//Ly+f/l5ez/np6j/0RERv88PD7/PDw+7jw8 + PpQ8PD4HPDw+BTw8PgX8/PyC/v7+/729+/+Njfj/Y2P3/zQ09P8ODvL/AADx/wAA5f8AANz/AADa/wAA + 3f8AAOD/AADj/wAAzv8JCYj/EBA9/yQkPv8/P0D/IiIi/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CQkJ/xgYGf8xMTP/VFRX/39/g/+hoaX/tLS5/7Cwtf+IiI3/PT0//zw8Pv88PD7/PDw+5Tw8 + Pog8PD4fPDw+IDw8PiE8PD4jPDw+JDw8PiY8PD4nPDw+KDw8Pis8PD4sPDw+Ljw8Pi88PD4xTU1PNF9f + YzZzc3c3h4eMOZycoTy1tbs+tbW7QJycoUK9vcNE8vL5R/X1+0n39/xM+fn8T/r6/VD7+/1U+/v9evv7 + /eP7+/39+vr9//n5/P/39/v/9fX7//Pz+v/y8vr/8vL5//Ly+f/y8vr/8vL6//Ly+v/y8vr/8vL6//Ly + +f/y8vn/8vL5//Ly+f/y8vn/8fH5//Dw+P/m5u3/6Ojv/+rq8v/l5ez/6Ojw//Ly+v/z8/r/8/P6//Pz + +v/z8/r/8vL6//Hx+f/Y2OD/wMDG/6+vtf95eX3/PDw+/zw8Pv08PD7zPDw+5/f3++z29vvp9vb77vX1 + +/r09Pr/8/P5//Pz+f/z8/n/8vL5/+fn7f/e3uT/2Njf/+bm7P/z8/r/8/P6//Pz+v/y8vn/9PT3//39 + /v+vr/v/gYH4/11d9/8uLvT/FRXz/w0N8/8ICPL/Cgrz/wkJ8v8LC/P/DAzz/wwM8/8NDfP/DAzz/w0N + 8/8ODvP/Cgrz/wIC8v8MDPP/EBDz/xMT8/8TE/P/EhLz/xAQ8/8ODvP/Bwfy/xgY1f8xMan/Tk6H/2xs + cf9QUFD8BQUG8AkJCegNDQ3aFhYXxiQkJaw5OTuPVVVYdHZ2elyenqNKwMDGPtLS1zjd3eQ129viM9vb + 4jHd3eQv4eHnLuPj6Szk5Ooq6urxKPLy+Sby8vkm8vL5JO7u9R7r6/Jc7u71zvLy+f/y8vn/8/P5//Pz + +f/o6O7/3t7k//Ly+f/z8/n/8/P5//T0+v/09Pr/9PT6//T0+v/z8/n/6urx/+Dg5v/X197/2dng/9bW + 3f+enqL/X19i/z09Pv49PT7LPT0+Kj09Pgw/P0AM9PT1Z/f394XY2Nkq2dngCvLy+Qrz8/oK8/P6Ctra + 4QptbXAJPT0+CT09Pgk9PT4IPT0+CGJiZQinp6wI4ODmCPPz+QT09Pon9PT6qfT0+v/09Pr/9PT6//Pz + +v/e3uT/oKCl/5OTl/+7u8D/6+vy//Pz+f/z8/n/8/P5//Pz+f/z8/n/6+vy/6mprv9OTlD/PT0+/z09 + PvM9PT6jPT0+Dz09PgY9PT4H+vr6hP7+/v++vvz/jo75/2Fh9/8xMfT/Fhbz/w8P8/8BAfL/AADl/wAA + 3/8AAN3/AADg/wAA4/8AAM3/CQmG/xAQPf8kJD7/Pz9A/ygoKP8PDw//Dw8P/w8PD/8ODg//Dg4P/w4O + D/8ODg7/Dw8P/xQUFP8kJCX/Pz9B/2BgY/+JiY3/sLC1/8TEyf/Dw8n/pqar/2Zmaf89PT7/PT0+/z09 + Pv09PT7NPT0+Qz09Ph49PT4kQ0NFJj09Pic9PT4pPT0+Kj09Piw9PT4uTU1PL2VlaDFvb3Iye3t/NYiI + jDeTk5c5np6jOqqqrz22trs/z8/VQcbGzESZmZ1FkJCUSMHBxkvz8/pN9vb7T/j4/FL6+vxV+/v9V/v7 + /Vb7+/2T+/v97Pv7/f/6+v3/+fn8//f3+//19fv/9PT6//Pz+v/z8/n/8/P5//Pz+v/z8/r/8/P6//Pz + +f/z8/n/8/P5//Pz+f/z8/n/8/P5//Pz+f/y8vn/7+/2/+np7//q6vH/3d3k/9vb4v/y8vn/8/P5//Pz + +f/09Pr/9PT6//T0+v/z8/r/8vL5/9fX3v/Dw8j/hYWJ/z4+P/89PT7/PT0+/z09Pvn39/zu9/f79fb2 + +/329vv/9PT6//Pz+v/09Pr/9PT7//T0+v/z8/r/3t7k/8fHzf/w8Pf/9PT7//T0+//09Pv/9PT6//n5 + /P/+/v7/t7f7/4eH+f9dXfj/MTH1/x0d9P8WFvT/DQ30/wgI8/8FBfP/CAjz/wcH8/8ICPP/Cgrz/woK + 8/8MDPT/DAz0/wEB8/8HB/P/DAz0/w8P9P8SEvT/ExP0/xER9P8NDfT/CAjz/w8P5P8nJ7z/RESU/2Bg + eP9paWn/GRkZ5w0NDt8SEhLVGhoaxiYmJ7E3NzmXUVFUfXFxdGaUlJlTtLS6RczM0z7b2+A53t7kN97e + 5DXc3OIz29vhMd7e5DDk5Oou5+ftLO/v9irz8/op8/P6KPLy+STu7vUw7u71ofPz+vP09Pr/9PT6//T0 + +v/z8/r/3t7k/9vb4f/l5ev/6enw//Dw9//z8/r/9PT6//X1+//19fv/9PT7//Pz+v/e3uT/xMTK/9vb + 4f/IyM7/i4uP/1hYWv89PT/8PT0/kD09Pxk9PT8MSUlLDfn5+ZX9/f3D8vLzOcHBxwvs7PMK9fX7Cvb2 + +wr29vsK9vb7CvT0+gr09PoJ8/P6CfPz+gn09PsI9vb7CPf3/Aj39/wE9/f8M/f3/Lb39/z/9/f8//f3 + +//19fv/8vL5/8LCyP+Wlpr/jo6S/7+/xP/z8/r/9PT6//T0+v/09Pr/9PT6//Hx+P+zs7j/Wlpc/z09 + P/89PT/3PT0/sD09Pxc9PT8GPT0/CPr6+oT+/v7/vb38/42N+v9dXfj/Li71/xoa9P8ZGfT/Dg70/wAA + 8f8AAOT/AADh/wAA4f8AAOT/AADN/wkJhv8QED7/JCQ+/z8/QP8yMjL+JSUm/yUlJv8lJSb/JSUl/yUl + Jf8kJCX/JCQl/yMjJP8lJSb/Ozs9/1RUV/90dHf/mZmd/7y8wP/V1dv/2trg/7+/xf+JiY3/Pj5A/z09 + P/89PT//PT0/7T09P5Y9PT8gPT0/JoeHiyjIyM4pyMjOK/Pz+iz09Pou8/P6MO/v9jLi4ug019feNdXV + 2zfV1dw51tbdO9bW3TzY2N8/2NjfQtvb4UTd3eNGurq/SI6OkkuLi49NxsbMUPX1+1L39/xV+fn8V/r6 + /Vr7+/1d+/v9X/z8/qv7+/7v+/v9//r6/f/5+fz/9/f8//b2+//19fv/9PT6//T0+v/09Pr/9PT6//T0 + +v/09Pr/9PT6//T0+v/09Pr/9PT6//T0+v/09Pr/9PT6//Pz+v/v7/b/6urx/9jY3//b2+H/5eXr/+np + 8P/w8Pf/8/P6//T0+v/19fv/9fX7//T0+v/v7/b/0NDW/4SEiP9TU1X/PT0//z09P/89PT//+Pj8+fj4 + /P74+Pz/9/f7//X1+//09Pr/9fX6//X1+//19fv/9fX6/+Dg5f/i4uf/9fX6//X1+//19fv/9fX7//X1 + +//6+vz//v7+/7u7/P+Kivr/Xl74/zEx9v8hIfX/Hx/1/xkZ9f8QEPX/Cgr0/wcH9P8EBPT/Bgb0/wcH + 9P8JCfT/CQn0/wcH9P8JCfT/Cwv0/wsL9P8LC/T/DQ31/xAQ9f8PD/X/Cgr0/wkJ7f8cHMv/OTmh/1VV + gf9ubm7/Pj4+6BMTE80bGxzIICAhvSwsLa48PD2bUlJUhG9vc22RkZVcsbG2TsrKz0XW1tw/3NzhPN3d + 4jve3uM439/kNtzc4TTc3OEz4+PoMerq8DD09Pot9PT6LPT0+ivv7/Uj7e3zafDw9tX09Pr/9fX6//X1 + +//19fr/9PT6//T0+v/09Pr/9PT6//T0+v/09Pr/9PT6//T0+v/19fr/9fX7//X1+//19fr/39/k/9vb + 4f/k5On/t7e7/3p6ff9MTE3/PT0/9T09P1c9PT8VPT0/DlpaXA6Dg4YOoKCkDZ2doQ2WlpoMubm9DPX1 + +gz29vsM9/f7C/X1+wv09PoL9fX6CvX1+gr19foK9vb7Cvj4/Ar4+PwK+Pj8BPj4/D74+Py/+Pj8//j4 + /P/39/v/9fX7/+7u9P/l5er/wsLH/4yMj/+Pj5L/09PZ//X1+v/19fr/9fX6//X1+v/09Pr/vr7D/2Rk + Zv89PT//PT0/+j09P709PT8hPT0/Bj09Pwn5+fmF/v7+/76+/P+Ojvr/XV34/ysr9v8cHPX/Hh71/xoa + 9f8NDfX/AADw/wAA5v8AAOL/AADk/wAAzP8JCYf/EBA+/yQkP/8/P0D/QEBA/EZGRv9GRkb/RUVG/0VF + Rv9EREb/RERG/0VFR/9BQUL/SEhJ/1xcXv9xcXT/jY2R/62tsf/Jyc7/3t7i/+rq8P/d3eL/q6uv/2Rk + Zv89PT//PT0//z09P/w9PT/YPT0/Sj09PydmZmkqaWlsLKOjpy7h4eYv9PT6MfX1+jP19fo19PT6N+rq + 8Djf3+Q62NjePdXV2z/W1txA2NjeQ9jY3kXZ2d9H2trgStvb4Uy5ub1OhYWIUY2NkFPc3OFW9vb7Wfj4 + /Fz5+fxe+/v9Yfv7/WL8/P1x/Pz+vfz8/fL7+/3/+vr9//n5/P/39/z/9vb7//X1+//19fr/9fX6//X1 + +v/19fr/9fX6//X1+v/19fr/9fX6//X1+v/09Pr/9fX6//X1+v/19fr/9PT6/+/v9f/09Pr/9PT6//T0 + +v/09Pr/9PT6//T0+v/09Pr/9fX6//X1+//19fv/9fX6/9vb4f+oqK3/bW1w/z09P/89PT//PT0///n5 + /P/5+fz/+fn8//j4/P/29vv/9PT6//X1+v/19fv/9vb7//X1+v/i4uf/9fX6//X1+v/19fv/9fX7//X1 + +//19fv/+vr9//7+/v++vvz/jo76/2Bg+f8vL/f/ICD2/yIi9v8kJPb/Hx/2/xYW9v8QEPb/CQn1/wcH + 9f8EBPX/Bgb1/wQE9f8EBPX/Bwf1/woK9f8MDPX/DQ32/xAQ9v8QEPb/DQ32/wYG9P8VFdj/Li6v/0tL + i/9paXT/X19f8hEREbUXFxeyJycoqzo6PKJJSUuVW1tehHR0d3ORkZRhsLC0VMfHzEvV1dtF2trgQdvb + 4T/c3OE+3NzhO97e4znd3eI33NzhNuTk6TTs7PIz9PT6MPT0+i7x8fcr7u70OvDw9q709Pry9fX6//X1 + +v/19fv/9fX6//T0+v/19fr/9fX7//X1+v/19fr/9fX6//X1+v/19fr/9fX6//X1+//29vv/9fX6/+Dg + 5f/09Pr/39/k/6SkqP9sbG//QUFD/D09P9w9PT8wPT0/ElZWWBF4eHsQlZWZEJycoA+QkJMPd3d6Dn19 + gA61tbkO9fX7Dff3+w309PoN9PT6DfT0+gz09PoM9fX6DPf3+wv4+PwL+Pj8C/j4/AX4+PxK+Pj8yfj4 + /P/4+Pz/9/f7//X1+v/q6vD/4+Po/+Xl6v+qqq//gICD/5eXm//W1tz/9fX6//X1+v/19fv/9fX6/8vL + 0P9wcHP/PT0//z09P/49PT/KPT0/LT09PwY9PT8L+fn5hf7+/v++vvz/jY36/1hY+f8oKPf/HR32/x4e + 9v8fH/b/Ghr2/woK9f8AAO7/AADm/wAA5f8AAMz/CQmF/xAQPv8kJD//Pz9A/1JSU/ZxcXL/cXFy/3Bw + cv9vb3L/b29x/29vcf9ubnH/aGhq/3d3ev+Dg4X/lJSY/6qqrv/Cwsf/1tbc/+bm6//v7/T/8/P5/9LS + 1/+MjI//PT0//z09P/89PT//PT0/8z09P6E9PT8xPT0/LT09Py92dnkxwcHGMu3t8zT19fo29fX6OPX1 + +jr09Po78fH3PeTk6UDX191C1NTaQ9XV20bW1txI1dXbStfX3U3Z2d9P29vhUqKiplR6en1XlJSYWeLi + 51z29vte+Pj8Yfr6/WT7+/1m+/v9aPz8/YT8/P3L/Pz9+Pv7/f/6+v3/+fn8//f3+//29vv/9fX7//X1 + +v/19fr/9fX6//X1+v/19fr/9fX6//X1+v/19fr/9fX6//X1+v/19fr/9fX6//T0+v/x8ff/9fX6//X1 + +//19fr/9fX6//X1+v/19fr/9fX6//X1+v/19fv/9vb7//X1+v/g4OX/zc3S/3p6ff89PT//PT0//z09 + P//5+f3/+fn9//n5/f/5+f3/9/f8//b2+//29vv/9vb7//f3/P/09Pr/3Nzh//b2+//29vv/9vb7//b2 + +//29vv/9vb7//r6/f/+/v7/v7/8/4aG+/86Ovj/AADN/wAAnf8AAKv/AAC5/wAAx/8AAND/AADX/wAA + 2/8AAOD/AADe/wAA0v8AAOT/BQX2/wcH9v8KCvb/DQ32/w8P9/8QEPf/EBD3/woK9v8ODuf/JCS//0FB + l/9eXnz/a2tr/09PT7QsLCyZICAhljAwMpBZWVuIcXF0foaGiXGenqFltra6WsvLz1LZ2d5L29vfSNzc + 4UXd3eJC3NzhQdvb4D/e3uM939/kO+Dg5Tnn5+w38/P5NvX1+zTz8/kx7u70LO7u9HTy8vje9fX7/vb2 + +//29vv/9vb8//X1+//19fv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9/f8//T0 + +v/Z2d7/9fX7/9HR1/+RkZX/Xl5g/z09P/Y9PT+vPT0/G0dHSRNubnETm5ueErW1uRKrq68RkpKWEX19 + gBB1dXgQnJyfEPb2+w/39/wP9fX7D/X1+w719fsO9fX7Dvb2+w739/wN+fn8Dfn5/Q35+f0H+fn8WPn5 + /NP4+Pz/+Pj8//j4/P/29vv/6Ojt/+Hh5v/j4+j/19fc/6SkqP+CgoX/qamt//X1+//29vv/9vb8//b2 + +//a2t//gYGE/z09P/89PT//PT0/1D09Pz09PT8GPT0/Dfj4+Ib+/v7/vr78/42N+/9WVvn/Jyf3/x8f + 9/8eHvf/Hx/3/x8f9/8WFvf/BAT2/wAA6/8AAOf/AADP/wkJiP8QED7/JCQ//z8/QP9jY2Ppn5+h+6Cg + ov+goKL/n5+h/56eof+enqH/nJyg/46Okv+kpKf/ra2w/7i4vP/Hx8v/1tbb/+Tk6P/s7PH/8/P4//X1 + +v/z8/n/vb3C/2RkZv89PT//PT0//z09P/09PT/jPT0/Wj09PzI9PT8yS0tNNJ+fozXc3OE39fX7Ofb2 + +zv29vs99vb7Pvb2+0H19ftD6enuRdra30fU1NpK1tbcTNTU2k7V1dtR1tbcU9nZ3lXPz9RYm5ueW3x8 + f12pqa1g9vb7Y/j4/GX5+f1o+vr9avv7/m38/P5x/Pz+lfz8/tf8/P78+/v9//r6/f/5+f3/+Pj8//f3 + /P/29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//b2+//09Pr/9fX7//b2 + +//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/9vb7//f3/P/09Pr/3Nzh/9zc4f9+foH/PT0//z09 + P/89PT//+vr9//r6/f/6+v3/+vr9//j4/P/39/v/9/f7//f3+//39/v/4+Pn/+zs8f/39/v/9/f7//f3 + +//39/v/9/f7//f3+//e3uD/ra2t/1VVlf8hIYL/Bwds/wAAQv8AAD7/AABC/wAAVv8AAGr/AAB//wAA + lv8AAKr/AADE/wAAw/8AAKP/AAC6/wAA8v8ICPb/Cgr2/wwM9v8NDfb/DQ32/wsL9v8JCe//HR3Q/zg4 + pv9VVYT/cXFx/2hoacxkZGaHYGBihDw8PoE1NTZ8WlpcdpOTl3Czs7dnxMTIX9PT2Fje3uNT5OToTuPj + 50vh4eVJ3d3hRtvb30Xa2t5D29vfQN7e4j7j4+c96urvO/X1+jn29vs28PD1NOzs8UHv7/S99vb79fb2 + +//39/v/9/f7//f3+//29vv/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3 + +//i4ub/5+fr//Pz+P++vsL/fn6B/1BQUv8+Pj/uPj4/dD4+PxVSUlQVf3+CFbe3uxTU1NkUx8fLE6mp + rBOTk5YSkJCTEr6+whL39/sS9vb7Efb2+xH29vsQ9vb7EPb2+w/39/sP+Pj8D/n5/Q/6+v0P+vr9C/n5 + /Wb5+f3c+fn9//n5/P/4+Pz/9vb7/+bm6v/g4OT/4eHl/+Pj5//a2t7/m5ue/4uLjv/ExMj/9/f7//f3 + /P/39/z/6urv/5KSlf8+Pj//Pj4//z4+P9s+Pj9OPj4/Bz4+Pw/29vaH/v7+/8HB/f+Skvv/WVn5/zAw + +P8gIPf/Hh73/x8f9/8iIvf/Hx/3/xAQ9/8AAPX/AADp/wAAz/8JCYj/EBA+/yQkP/8/P0D/ampr1MLC + w+7Gxsf/xsbH/8XFx//Dw8f/w8PH/7W1uP+8vMD/yMjL/83N0f/U1Nj/3d3g/+fn6v/t7fH/8vL2//b2 + +v/39/v/9vb7/+fn6/+hoaT/QEBB/z4+P/8+Pj//Pj4/+z4+P6Y+Pj9CPj4/NT4+Pzd5eXs4xMTIO+7u + 8z329vs/9/f7Qff3+0L39/tE9/f7R/b2+0nu7vNL4ODkTdjY3E/U1NlS1dXaVNXV2lbX19xZ2treXNLS + 11+UlJdhhoaJZMbGymf39/xp+fn8bPr6/W/7+/1y/Pz+dPz8/nz8/P6i/Pz+4/z8/v/7+/3/+vr9//n5 + /P/4+Pz/9/f8//f3+//39/v/9/f7//f3+//29vv/9vb7//b2+//29vv/9vb7//b2+//29vv/8vL3//f3 + +//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/4+Pn/+zs8f/f3+P/fn6B/z4+ + P/8+Pj//Pj4///r6/f/6+v3/+vr9//r6/f/4+Pz/9/f8//j4/P/39/v/9vb7/+Tk6P/29vv/9/f7//f3 + +//39/v/9/f7//f3+//39/v/4eHj/7e3t/9ZWZ3/JSWS/woKlP8AAIP/AAB8/wAAiP8AAJX/AACh/wAA + rf8AALn/AADF/wAA3v8AANT/AACk/wAAlv8AAL//AADw/woK9/8NDff/DQ33/woK9/8GBvb/FRXe/zAw + t/9MTJD/aWl2/21tbe97e36Df3+BeYSEhnVvb3FzVlZYb1tbXWuRkZRn3NzgYObm6lvt7fJX8fH2VO3t + 8lDn5+tO4+PnTN/f40nd3eFI2treRtjY3EPc3OBB5OToQO7u8z7z8/g88vL3Oe7u8zfs7PF78vL36Pb2 + +//39/v/9/f7//f3+//09Pn/9vb7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/z/+Pj8//f3 + +//29vv/4uLm//b2+//n5+v/q6uu/25ucP9EREX+Pj4/3T4+P0E+Pj8XYWFjF5OTlhfJyc0W5ubqFt7e + 4hXHx8sUrq6xFKOjphPb298T9vb7E/T0+RL19foS9vb7Evb2+xH29vsR9/f7Efj4/BD5+fwQ+vr9EPn5 + /Q/5+f12+vr95Pr6/f/5+f3/+Pj8//b2+//j4+f/29vf/9zc4P/d3eH/4eHl/8XFyf+jo6b/paWo/+Hh + 5f/4+Pz/+Pj8//b2+/+np6r/R0dJ/z4+P/8+Pj/gPj4/YD4+Pwk+Pj8Q9fX1iP7+/v/Ly/3/mJj7/1ZW + +v8kJPj/ExP4/xUV+P8fH/j/JCT4/yUl+P8fH/j/DQ33/wAA7/8AAM3/CAh8/xAQPv8kJD//Pz9A/2lp + abrd3d/c4uLj/+Li5P/h4eP/4ODi/97e4f/Pz9P/3t7i/+Hh5P/k5Of/6Ojr/+zs8P/w8PT/8/P3//X1 + +f/39/v/9/f7//f3+//29vv/09PY/4WFiP8+Pj//Pj4//z4+P/8+Pj/oPj4/az4+Pz4+Pj85SkpMO56e + oT3b298/9vb7Qvb2+0T39/tF9/f7R/f3+0r39/tM9vb7TfLy91Dh4eVT19fcVdLS11jQ0NVa0tLXXNTU + 2V/a2t5ivr7CZJycn2ehoaRq6Ojsbfn5/G/6+v1x+vr9dfv7/Xj8/P56/Pz+h/z8/rP8/P7u/Pz9//v7 + /f/6+v3/+fn8//j4/P/39/v/9/f7//f3+//39/v/9vb7//b2+//29vv/9vb7//f3+//29vv/6urv//b2 + +//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f8//j4/P/39/v/9vb7/+Tk6P/29vv/4ODk/35+ + gf8+Pj//Pj4//z4+P//6+v3/+/v9//v7/f/6+v3/+fn8//j4/P/4+Pz/+Pj7/+7u8v/s7PD/+Pj7//j4 + +//4+Pv/+Pj7//j4+//4+Pv/+Pj7//v7/f/+/v//yMj9/5yc/P9dXfr/EBD4/wAA5v8AAOP/AADl/wAA + 5v8AAOX/AADm/wAA5v8AAOj/AADq/wAAxv8AAJn/AACR/wAAw/8KCvj/DQ34/w0N+P8JCfj/Dg7p/yYm + xP9ERJ7/Y2OC/3Fxcf+BgYOZjo6RdYmJi3OJiYtwlZWXbJGRlGl5eXplenp8Y9TU2F729vlc9fX5Wvj4 + +1f39/tU7u7yUujo61Dk5OdN39/iTNzc30nc3N9H3t7hRejo60Px8fVB8/P3P/Dw9D3v7/NK8PD0yfb2 + +vn39/v/+Pj7//j4+//39/v/9/f7//j4+//4+Pv/+Pj7//j4+//4+Pv/+Pj7//j4+//4+Pv/+Pj8//j4 + /P/4+Pv/7u7y/+np7f/29vr/19fb/5mZnP9iYmP/Pj4/9z4+P74+Pj8jRUVGGnBwchqoqKoZ2dncGO3t + 8Rjt7fEX4+PmF87O0ha9vcAV6OjsFff3+xXz8/cU8/P3FPT0+BT39/sT9/f7E/j4+xP5+fwS+vr8Evr6 + /RH6+v0V+vr9hPr6/ez6+v3/+vr9//n5/P/4+Pv/5OTn/9jY3P/V1dn/z8/T/83N0f/Z2dz/09PX/7a2 + uf+zs7b/+Pj7//r6/P/5+fz/xcXI/1lZW/8+Pj//Pj4/5D4+P3I+Pj8KPj4/Eu3t7Wv+/v7/1dX9/6Cg + /P9bW/r/Gxv4/wYG8/8AAPf/Cgr4/xYW+f8hIfn/IiL5/xoa+f8EBPj/AADK/wcHbf8REUL/JCQ//z8/ + QP9iYmOj8fHywfT09v709Pb/9PT1//Ly9f/w8PP/6Ojs//Hx9P/x8fT/8vL1//T09//19fj/9vb5//f3 + +v/4+Pv/+Pj7//j4+//4+Pv/+Pj7//b2+v/Fxcj/bW1v/z4+P/8+Pj//Pj4//z4+P60+Pj9RPj4/PD4+ + Pz52dnhBvr7BQ+np7UX39/tH9/f7Sff3+0v39/tO+Pj7UPj4+1L39/tU9fX5VuXl6FnV1dlczc3RXsrK + zmDHx8pjxsbJZtTU2GjNzdFrsLCzbrOztnD4+Px0+/v9dvv7/Xn7+/18/Pz9f/z8/oH8/P6Q/Pz+wvz8 + /vf8/P3/+/v9//r6/f/5+fz/+Pj8//j4+//4+Pv/+Pj7//f3+//39/v/9/f7//f3+//39/v/9vb6//Pz + 9//4+Pv/+Pj7//j4+//4+Pv/+Pj7//j4+//4+Pv/+Pj7//j4/P/4+Pz/+Pj7/+7u8v/s7PD/+Pj7/9/f + 4v9/f4H/Pj4//z4+P/8+Pj//+/v9//v7/f/7+/3/+/v9//r6/f/5+fz/+fn8//j4/P/r6+//+Pj8//j4 + /P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/8/P3//v7+/8nJ/v+fn/3/bGz7/yUl+v8BAfn/AADu/wAA + 5/8AAOT/AADk/wAA5v8AAOb/AADn/wAA6P8AAOn/AADG/wAAj/8AAJH/AADX/woK+f8JCfn/Cgrz/x4e + 1v86Oqz/WlqL/3h4eP+CgoLFn5+hd5OTlXSFhYdxenp8bnR0dmyWlphpgoKEZkVFRmRQUFFh5eXoX/r6 + /Vz5+f1a+Pj8V/b2+lXr6+9S5ubpUODg40/e3uFM4ODjSuTk50jt7fFG8vL2RPLy9kHw8PRG8fH1gfb2 + +vX4+Pz/+Pj8//n5/P/5+fz/8PD0//j4/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+Pj8/+vr7//19fn/7u7y/8bGyv+IiIr/V1dY/z4+P+w+Pj+QPj4/GFFRUh1/f4Ecurq9G+bm + 6Rv09Pga8vL2GvHx9Rnn5+sY29veGOPj5hjv7/MX8vL2FvPz9xb09PgW9/f7Ffj4/BX5+fwV+vr9Ffv7 + /RX7+/0T+/v9G/v7/ZT7+/3y+/v9//v7/f/6+v3/+fn8//Ly9v/c3N//z8/S/8PDxv+0tLf/rq6x/9DQ + 0/+9vcD/eXl7/4KChP/5+fz/+/v9//f3+/9xcXP/Pj4//z4+P+o+Pj+GPj4/DD4+PxTy8vKK/v7+/+Dg + /v+zs/3/enr8/zc3+v8ODvn/BAT5/wIC+f8LC/n/GRn6/yIi+v8iIvr/Fhb6/wAAzP8JCYb/FRVS/yQk + P/8/P0D/WVlZlP39/pv9/f7z/f3+//z8/v/7+/3/+fn8//j4/P/4+Pz/+fn8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/4+Pz/7Ozw/7Cws/9XV1j/Pj4//z4+P/8+Pj/qPj4/ej4+ + P0Y+Pj9CTExNRJycnkbZ2dxI+Pj8Svj4/Ez4+PxO+Pj8Ufj4/FP4+PxV+Pj8V/j4/Fr39/tc5OTnX9HR + 1GHExMhkuLi7ZqurrmmlpahryMjMbrOztnFxcXN0gYGDd/n5/Xn8/P59/Pz+gPz8/oL8/P6F/Pz+iP39 + /pj9/f7S/Pz+/Pz8/v/7+/3/+vr9//r6/f/5+fz/+fn8//n5/P/4+Pz/+Pj8//j4/P/4+Pz/+Pj8/+jo + 7P/4+Pz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//j4/P/r6+//+Pj8//j4 + /P/g4OP/f3+B/z4+P/8+Pj//Pj4///v7/f/7+/3//Pz+//v7/f/6+v3/+fn8//n5/P/39/v/+Pj8//j4 + /P/4+Pz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz//Pz9//7+///Ly/7/paX9/3d3/P88PPv/Hx/7/xMT + +v8FBfr/AADz/wAA8P8AAPD/AADx/wAA8P8AAPL/AADz/wAA9f8AALr/AACO/wAApf8BAeD/Dg76/xgY + 6v81NcL/VFSc/3V1gv99fX3wvLy/hrGxtHuXl5l4f3+BdmpqbHNTU1RwW1tdbXx8fmo+Pj9oPj4/ZT4+ + P2P6+v1g+vr9Xvn5/Fv4+PxZ7OzwV+bm6VTg4ONT3d3gUOHh5E7o6OxM8fH1SvPz90jv7/NG7+/zWvHx + 9dT4+Pz++Pj8//n5/P/5+fz/8fH1/+3t8f/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//f3+//4+Pz/+Pj8/+Pj5v+ysrX/eHh6/0pKS/8+Pj/ePj4/Xz4+PxlfX2EfkZGTH8jI + zB7r6+8e9fX5HPPz9xzz8/cb8/P3G+jo7Brh4eQa7OzwGvDw9Bnw8PQZ8vL2GPT0+Bj39/sX+fn8F/r6 + /Rf7+/0X+/v9FPv7/ST7+/2i+/v99/v7/f/7+/3/+vr9//n5/P/4+Pz/7e3x/9TU1/+8vL//pKSn/4uL + jf+UlJb/tra5/1xcXv8+Pj//ZWVn//r6/f/5+f3/kJCS/z4+P/8+Pj/vPj4/mj4+PxE+Pj8W8PDwi/7+ + /v/q6v7jxMT+45CQ/f9SUvv/Li77/yIi+/8YGPr/Fxf6/x8f+/8oKPv/MzP7/x8f+/8AANb/Cwut/xgY + Yf8kJD//Pz9A/1NTU479/f51/Pz+4Pz8/v/8/P7/+/v9//r6/f/5+fz/+Pj8//n5/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//j4/P/d3eD/kZGT/z4+P/8+Pj//Pj4//z4+ + P7g+Pj9dPj4/Qz4+P0h0dHZKvb3ATOvr7074+PxQ+Pj8Uvj4/FT4+PxX+Pj8Wfj4/Fv4+Pxe+Pj8YPb2 + +mPi4uVlyMjMaLGxtGuampxtgYGDcImJi3OoqKt1VFRVeD4+P3toaGp9+/v9gfz8/oT7+/2H+/v9ifz8 + /o38/P6Q/Pz+ofz8/ub8/P7+/Pz+//v7/f/6+v3/+fn9//n5/P/5+fz/+Pj8//j4/P/4+Pz/+Pj8/+bm + 6f/o6Oz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/5+fz/+fn8//n5/P/39/v/+Pj8//j4 + /P/4+Pz/3t7h/35+gP8+Pj//Pj4//z4+P//8/P3//Pz+//z8/v/8/P3/+vr9//r6/P/5+fz/+fn8//n5 + /P/5+fz/+fn8//r6/P/6+vz/+vr8//r6/P/6+vz/+vr8//39/v//////19f+/7y8/v+Wlv3/Zmb8/1VV + /P9SUvv/SUn7/z09+/8zM/v/LS37/y8v+/8tLfv/LS37/y4u+/8vL/v/JSX7/wcH5/8GBr7/CgrW/x8f + +v81Nef/WFi9/3l5mf+EhIT/s7O1o9LS1IHFxch+rKyue4uLjHlra212V1dYc1JSU3B0dHZtd3d5az4+ + P2k+Pj9mSEhJZPr6/WL6+v1e+fn8XO7u8Vrk5OdX39/hVt7e4FPj4+VR7OzvT/Ly9U3y8vVJ8fH0UvLy + 9ZH4+Pv9+fn8//n5/P/5+fz/+fn8/97e4P/5+fz/+vr8//r6/P/6+vz/+vr8//r6/P/5+fz/+fn8//r6 + /P/6+vz/+vr8//n5/P/5+fz/+fn8//b2+f/V1df/oaGj/2lpa/9AQEH8Pj4/xj4+PzlAQEEfbGxuIaOj + pSHV1dcg7+/yH/b2+R/39/oe9fX4Hfb2+R3l5egc3t7gHOnp7Bvs7O8b7+/yGvLy9Rr19fga+Pj7Gfr6 + /Bn7+/0Y+/v9GPv7/RX7+/0v+/v9sfv7/fv7+/3/+/v9//v7/f/6+vz/+vr8//n5/P/p6ez/yMjL/6en + qf+QkJH/jIyN/6+vsf+xsbP/Pj4//z4+P/9mZmf/+vr8/7W1t/8+Pj//Pj4/8j4+P6s+Pj8XPj4/GO/v + 74z/////6ur+/83N/v+oqP3/d3f9/11d/P9YWPz/U1P8/1BQ+/9SUvv/UlL7/1tb/P8wMPv/CAj1/xUV + 4f8nJ4z/JydD/0BAQP9TU1OO/f3+U/39/sf9/f7//f3+//z8/f/7+/3/+vr8//n5/P/6+vz/+vr8//r6 + /P/6+vz/+vr8//r6/P/6+vz/+vr8//r6/P/6+vz/+vr8//r6/P/5+fz/9/f6/7a2uP9mZmf/Pj4//z4+ + P/8+Pj/tPj4/ij4+P04+Pj9KS0tMTZycnk/Y2NpR+Pj7U/n5/FX5+fxX+fn8Wvn5/Fz5+fxf+fn8Yfn5 + /GP5+fxm9fX4aN3d32u7u75um5udcYWFhnOAgIF2oKCieaGho3s+Pj9+Pj4/gXp6fIT7+/2H/Pz9ivv7 + /Y38/P2Q/Pz+k/39/pb9/f6q/f3+7/z8/v/8/P3/+/v9//v7/f/6+v3/+vr8//n5/P/5+fz/+fn8/+/v + 8v/X19n/+fn8//r6/P/6+vz/+vr8//r6/P/6+vz/+fn8//n5/P/6+vz/+vr8//r6/P/5+fz/+fn8//n5 + /P/5+fz/+fn8/9/f4f9/f4D/Pj4//z4+P/8+Pj///Pz+//z8/v/8/P7/+/v+//r6/f/5+f3/9PT4//n5 + /f/5+f3/+fn9//n5/f/5+f3/+fn9//n5/f/5+f3/+fn9//n5/f/8/P7//////+jo/v/U1P7/t7f+/5SU + /f+Jif3/iIj9/4aG/f+Dg/3/fn79/3h4/f90dP3/cnL9/3Jy/f9xcf3/cHD9/29v/f9oaP3/Ozv8/zEx + 4P9GRuj/a2vj/4+PwP+goKD/pqanxdDQ04nNzdCFy8vOg729wIChoaR9goKEemhoanhoaGl1d3d5cpGR + lHA+Pj9sPj4/aj4+P2iLi41m+vr9Y/Ly9mHk5Ode3t7hW9vb3lrb295X4uLlVejo7FPu7vJR7+/zT/Hx + 9W309PjW+fn9//n5/f/5+f3/+fn9/9zc3//g4OP/+vr9//r6/f/6+v3/+vr9//n5/f/5+f3/9/f7//n5 + /f/5+f3/+fn9//n5/f/09Pj/+fn9//n5/f/w8PT/xMTH/42Nj/9aWlv/Pj4/8D4+P6I+Pj8oSUlKJXd3 + eSWxsbQk39/iI+/v8yLy8vYi8vL2IfX1+SDw8PQg3d3gH9vb3h/k5Ogf6entHuzs8B3v7/Md8vL2HPT0 + +Bv5+f0c+/v+G/v7/hv7+/4W+/v+Ovv7/r77+/7/+/v+//v7/v/7+/7/+vr9//n5/f/5+f3/+fn9/+Dg + 4/+/v8L/paWo/6Ojpv+ysrX/zMzP/1paW/8+Pj//Pj4//3h4ev+1tbj/Pj4//z4+P/c+Pj+7Pj4/Hj4+ + Pxrt7e2N//////Ly/v/d3f7/xMT+/6Sk/v+Skv3/kJD9/46O/f+Njf3/hYX9/4GB/f9+fv3/YWH9/1lZ + /f9SUvz/UVHD/1JSdv9AQED/VlZWkf39/jv9/f6o/f3++/39/v/8/P7/+/v+//r6/f/5+f3/+fn9//n5 + /f/5+f3/+fn9//n5/f/5+f3/+fn9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//n5/f/MzM//j4+R/0xM + Tf8+Pj//Pj4//T4+P8M+Pj9rPj4/Sz4+P1FwcHJTuLi7VeXl6Vf4+Pxa+fn9XPn5/V75+f1g+fn9Y/n5 + /WX5+f1o+fn9a/n5/W3t7fFv0tLVcrKytXWXl5p3lZWYe6Ojpn28vL+AUFBRgz4+P4U+Pj+Iu7u+i/v7 + /o77+/6R+/v+lPz8/pj8/P6a/Pz+nvz8/rz8/P7y/Pz+//z8/v/7+/7/+vr9//r6/f/5+f3/+fn9//f3 + +//Pz9L/3d3g//r6/f/6+v3/+vr9//r6/f/5+f3/+fn9//f3+//5+f3/+fn9//n5/f/5+f3/9PT4//n5 + /f/5+f3/+fn9//n5/f/b297/enp8/z4+P/8+Pj//Pj4///z8/v/8/P7//Pz+//z8/v/7+/3/9fX4//j4 + +//6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3//f3+///////4+P//5eX+/8/P + /v+7u/7/tLT+/7S0/v+0tP7/tLT+/7Oz/v+xsf7/rq7+/6ys/v+rq/7/qan+/6io/v+mpv7/o6P+/5WV + /f+Fhf3/h4fe/6io0//Pz8//t7e369HR047Q0NKMzMzOiczMzobJycuDuLi7gZ+foX6Hh4l7fX1/eIOD + hXWSkpRzoqKkcD8/P24/Pz9rPz8/aYyMjmfh4eNk2dnbYdbW2F/X19ld2dnbW+Hh5Fnn5+pW6urtU+3t + 8F/w8POg9vb5+Pr6/f/6+v3/+vr9//r6/f/ExMb/9vb5//v7/f/7+/3/+/v9//r6/f/6+v3/6urt/9jY + 2v/o6Ov/+fn8//r6/f/19fj/+Pj7//r6/f/6+v3/5ubp/7a2uf99fX//TExN/z8/P98/Pz94Pz8/JVRU + VSiCgoQnuLi7J+Hh4ybt7fAl7e3wJO/v8iTx8fQj5+fqI9nZ2yLh4eQi4+PmIeTk5yHq6u0g6urtIOjo + 6x/t7fAe+vr9Hvv7/R78/P4e/Pz+GPz8/kj8/P7I/Pz+//z8/v/8/P7/+/v9//v7/f/6+v3/+vr9//r6 + /f/39/r/39/h/8TExv+6ur3/wcHD/9DQ0v/f3+H/QEBA/z8/P/8/Pz//Pz8//z8/P/8/Pz/5Pz8/xz8/ + Pyg/Pz8d6+vrj//////8/P//6+v+/9fX/v/ExP7/u7v+/7q6/v+1tf7/s7P+/7Ky/v+wsP7/qan+/6Gh + /v+jo/7/nJz9/56e8P+amqz/a2tr/11dXZT9/f4v/f3+gv39/uv9/f7//f3+//z8/v/7+/3/+vr9//r6 + /f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/+vr9//r6/f/6+v3/3t7g/7q6 + vf94eHn/Pz8//z8/P/8/Pz/rPz8/mj8/P1g/Pz9TSEhIVpOTlVnPz9Fa7e3wXfj4+1/6+v1i+vr9ZPr6 + /Wb6+v1p+vr9a/r6/W76+v1w9/f6c+jo63bQ0NJ4t7e6e62tr36ysrWAwMDCg8/P0YY/Pz+JPz8/jD8/ + P4+7u76S+/v9lPv7/Zj7+/6b/Pz+nvz8/qH9/f6n/f3+zf39/vb8/P7//Pz+//v7/v/7+/3/+vr9//r6 + /f/t7fD/vr7A//X1+P/7+/3/+/v9//v7/f/6+v3/+vr9/+rq7f/Y2Nr/6Ojr//n5/P/6+v3/9fX4//j4 + +//6+v3/+vr9//r6/f/6+v3/29vd/3h4ef8/Pz//Pz8//z8/P//9/f7//Pz+//z8/v/8/P7/+/v9/93d + 3//39/n/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//39/v////////////// + ///09P//7e3+/+zs/v/s7P7/7Oz+/+zs/v/s7P7/7Oz+/+vr/v/r6/7/6ur+/+rq/v/p6f7/6Oj+/+fn + /v/m5v7/6+v+//X19f/Gxsb/y8vL+dLS053U1NWT1NTVkNPT1I3R0dKKzMzNh8rKy4W8vL6Cp6epgJeX + mH2VlZZ5nJydeKOjpXV7e3xyPz8/bz8/P20/Pz9rwMDBaNfX2GbU1NVj1dXWYtzc3l/m5uhc6ursWuzs + 7lnv7/F99PT22Pv7/f/7+/3/+/v9//v7/f/b29z/0NDR//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9/+fn + 6f/a2tv/3d3f/+fn6f/f3+H/3d3f//f3+f/6+vz/9vb4/9ra2/+np6n/cHBx/0RERP8/Pz/LPz8/VT8/ + PyhjY2Qrk5OUK8XFxiri4uQp6+vtKOvr7Sfs7O4n7u7wJt/f4SXX19gl5eXnJOLi5CTf3+Ej4eHjIuLi + 5CLl5eci7+/xIfv7/SH8/P4h/Pz+IPz8/hr8/P5W/Pz+0P39/v/9/f7//Pz+//z8/f/7+/3/+/v9//v7 + /f/7+/3/+/v9//v7/f/m5uj/1tbX/9PT1P/a2tv/4ODi/7a2uP8/Pz//Pz8//z8/P/8/Pz//Pz8/+z8/ + P9M/Pz8zPz8/H+Xl5YL////////////////19f//7+///+3t/v/s7P7/6+v+/+vr/v/s7P7/6+v+/+np + /v/o6P7/6en+/+3t/v/+/v7/39/f/6Ojo/+SkpKI/f3+Kv39/mH9/f7R/f3+//39/v/9/f7//Pz+//v7 + /f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9/+jo + 6v/b29z/oaGj/1VVVf8/Pz//Pz8//D8/P84/Pz94Pz8/VT8/P1tycnNdtra4X+Li5GH29vhk+/v9Zvv7 + /Wj7+/1r+/v9bfv7/W/7+/1y+/v9dPr6/Hf4+Pp66+vtfNjY2X/Hx8iCxMTFhcvLzIjS0tOLqqqsjT8/ + P5A/Pz+TWVlZlvT09pn7+/2c/Pz9n/z8/qL9/f6l/f3+p/39/rL9/f7b/f3++P39/v/8/P7//Pz9//z8 + /f/7+/3/1NTV/87Oz//7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/n5+n/2trb/93d3//n5+n/39/h/93d + 3//39/n/+/v9//v7/f/7+/3/+/v9/9zc3v94eHn/Pz8//z8/P/8/Pz///f3+//39/v/9/f7//Pz+//T0 + 9v+/v8D/4+Pl//n5+//7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3//f3+//7+ + ///+/v///v7///39/v/9/f7//f3+//39/v/9/f7//f3+//j4+P/29vf/9fX2//Pz8/7x8fH48vLy7fLy + 8uvz8/Pq9PT06vX19en29vbozMzM6MLCw6/R0dKa09PUl9PT1JTU1NWS1NTVj9LS04zQ0NGJzMzNhsLC + w4SurrCBoKCifZ6eoHyjo6V5p6epdoiIiXM/Pz9yPz8/b2xsbWzb29xq1tbXZ9bW12bd3d9j5eXnYejo + 6lzs7O5r8fHzr/f3+ff7+/3/+/v9//v7/f/7+/3/wsLD//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7 + /f/7+/3/+/v9//f3+f/s7O7/xcXG/7+/wP/j4+X/9vb4/+zs7v/Ly8z/l5eY/2NjZP8/Pz/2Pz8/rD8/ + Pz1GRkYtb29wLqKipC7Ozs8t4+PlLOfn6Svo6Oor5uboKujo6inc3N0o3d3fKOjo6ijf3+En0NDRJ9XV + 1ibf3+Em4+PlJfDw8iT7+/0k/Pz+I/z8/iP8/P4c/Pz+Zfz8/tf9/f7//f3+//z8/v/8/P3/+/v9//v7 + /f/7+/3/+/v9//v7/f/7+/3/+/v9/+3t7//e3uD/3Nze/+Dg4v/k5Ob/u7u9/z8/P/8/Pz//Pz8//z8/ + P/4/Pz/ePz8/Qj8/PyI/Pz8j8PDwoPz8/Mn+/v7J/v7+yf39/cn9/f3J/f39yvz8/Mr6+vrK/f39yv39 + /cr9/f3K/v7+yv39/sv9/f3L/v7+y/7+/svg4OCk/f3+L/39/iz9/f5N/f3+sv39/v/9/f7//f3+//z8 + /v/8/P3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//r6 + /P/39/n/8fHz/8LCw/9ycnP/Pz8//z8/P/8/Pz/tPz8/pz8/P2I/Pz9eUVFRYpubnGPR0dJl7u7waPr6 + /Gr7+/1s+/v9b/v7/XH7+/1z+/v9d/v7/Xn7+/18+/v9fvr6/IHx8fOD3t7ghtHR0onOzs+M0tLTj9jY + 2ZG5ubuUQEBAlz8/P5qdnZ+d+/v9oPv7/aP8/P2m/Pz+qfz8/qz9/f6u/f3+v/39/uT9/f77/f3+//z8 + /v/8/P3/+/v9/8fHyP/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/7+/3/+/v9//v7/f/39/n/7Ozu/8XF + xv+/v8D/4+Pl//n5+//7+/3/+/v9//v7/f/c3N3/eHh5/z8/P/8/Pz//Pz8///39/v/9/f7//f3+//39 + /v/8/P7/r6+w/8HBwv/v7/H//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7/9fX3/+rq7P/8/P7//Pz+//b2+P/g4OL/1NTW/8/P0PzJycrpwsLDxMLC + w7TCwsOyxsbHr8rKy63Pz9Cp0NDRp9LS06TS0tOg0tLTndLS1JrS0tSY1NTWldbW2JLW1tiP09PVjdLS + 1IrS0tOHxMTFhLGxsoGlpaZ/paWmfKWlpnqmpqd3Xl5fdT8/QHM/P0Bwn5+gbdzc3mva2txp39/hZubm + 6GXq6uxi7u7wivLy9Nz8/P7//Pz+//z8/v/8/P7/zMzN/+Hh4//9/f7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+/9PT1f+vr7D/wMDB/+rq7P/k5Ob/vLy9/4eHiP9XV1j/Pz9A5z8/ + QIo/P0AzT09QMn19fjGvr7Ax0tLTMOHh4y/k5OYu5eXnLd/f4S3S0tQsysrLK+Xl5yvs7O4r3NzeKtHR + 0inT09Up3NzeKOPj5Sfx8fMn/Pz+J/39/ib9/f4m/f3+H/39/nX9/f7d/f3+//39/v/9/f7//f3+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7/8fHz/+Pj5f/j4+X/4uLk/9zc3v9paWr/Pz9A/z8/ + QP8/P0D/Pz9A5j8/QFE/P0AkPz9AJmBgYSavr7Am3d3fJ/Dw8ift7e8o2trcKeHh4ymurq8pz8/QKvz8 + /iv8/P4r/Pz+LPz8/i34+Pou8vL0L/f3+S/8/P4v/f3+Mf39/jH+/v8x/v7/P/7+/5D+/v/3/v7///7+ + ///9/f7//f3+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//X1 + 9//q6uz//Pz+//z8/v/Z2dv/mpqb/1hYWf8/P0D/Pz9A/T8/QNc/P0CCPz9AYD8/QGV3d3hmurq7aeTk + 5mv4+Ppu/Pz+cPz8/nL8/P51/Pz+d/z8/nr8/P58/Pz+f/z8/oL8/P6F/Pz+h/Ly9Iri4uSN1dXXj9XV + 15LV1deV19fZmI2Njpo/P0CeXl5foNDQ0aT8/P6n/Pz+qfz8/qz9/f6v/f3+sv39/rX9/f7J/f3+7f39 + /v39/f7//f3+/+bm6P/x8fP//f3+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/T09X/r6+w/8HBwv/v7/H//Pz+//z8/v/8/P7/2trc/3Z2d/8/P0D/Pz9A/z8/QP/9/f7//f3+//39 + /v/9/f7//Pz+/7u7vP+bm5z/w8PE//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+/9vb3f/V1df//Pz+//z8/v/v7/H/2trc/8nJyv7Dw8TwxMTF0MHB + wrvDw8S5xsbHtsfHyLPMzM2xz8/QrdHR0qvS0tOo0tLTpdDQ0aLS0tOf09PVnNPT1ZnU1NaW19fZlNfX + 2ZHU1NaO19fZjNTU1onGxseGtLS1hKioqYGioqN+oKChfJ+foHpHR0h3Pz9AdFVVVnG6urtv4eHjbuPj + 5Wvm5uhn6enrde/v8bz19ff4/Pz+//z8/v/8/P7/4eHj/6Kio//8/P7//f3+//39/v/9/f7//Pz+//z8 + /v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/09Pb/u7u8/5qam/+6urv/4ODi/7Gxsv98fH3/Tk5P/z8/ + QNM/P0BrPz9AMltbXDaKios1ubm6NdTU1jTd3d8z4ODiMuPj5THd3d8wuLi5L7S0tS/v7/Eu8fHzLtra + 3C3T09Us0dHSK9bW2Cvg4OIr8fHzKvz8/in9/f4p/f3+Kf39/iT9/f6E/f3+5f39/v/9/f7//f3+//39 + /v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/y8vT/5ubo/+Dg4v/Y2Nr/srKz/z8/ + QP8/P0D/Pz9A/z8/QOs/P0BjPz9AJz8/QClVVVYppaWmKtfX2Sry8vQq6ursK9ra3Cy8vL0si4uMLPz8 + /i39/f4u/f3+L/z8/i/8/P4w/Pz+MfLy9DLz8/Uz/Pz+M/39/jT9/f41/v7/Nv7+/zj+/v9v/v7/4v7+ + ///+/v///f3+//39/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/c3N7/19fZ//z8/v/8/P7/6enr/76+v/9+fn//Pz9A/z8/QP8/P0DxPz9AtT8/QGo/P0BoVVVWa5ub + nG3S0tRw8fHzcvv7/XT8/P53/Pz+efz8/nz8/P5//Pz+gPz8/oP8/P6G/Pz+ifz8/ov8/P6O9fX3kePj + 5ZPY2NqX09PVmdLS05zS0tOfdnZ3oktLTKR/f4Co4uLkq/z8/q78/P6x/Pz+s/39/rb9/f65/f3+vf39 + /tP9/f7y/f3+//z8/v/Ozs///f3+//39/v/9/f7//f3+//z8/v/8/P7//Pz+//z8/v/8/P7//Pz+//z8 + /v/8/P7/9PT2/7u7vP+bm5z/w8PE//z8/v/8/P7//Pz+/9vb3f92dnf/Pz9A/z8/QP8/P0D//v7+//7+ + ///+/v///v7///7+/v/9/f7/xsbH/76+vv/9/f7//v7+//7+/v/9/f7//f3+//39/v/9/f7//f3+//39 + /v/9/f7//f3+//39/v/9/f7//f3+//39/v/y8vP/7+/w//7+/v/9/f7//f3+//b29//f3+D12trb2N/f + 4MLh4eK/5+fovO3t7rrw8PG28fHytPHx8rHz8/Sv9fX2q/b296j29vel9fX2ovT09aD29ved9vb3mvj4 + +Zf5+fqV9vb3kvj4+Y/4+PmM8fHyieLi44fNzc6Fv7/Agry8vH+3t7d9pKSke11dXnhQUFF2nZ2dc/r6 + +3H9/f5v/f3+bP39/pn9/f7j/f3+//39/v/9/f7//f3+/7m5uf+9vb3//f3+//7+/v/+/v7//v7+//7+ + /v/+/v7//f3+//39/v/9/f7//f3+//7+/v/+/v7//f3+//39/v/ExMX/ra2t/9jY2f/Z2dr/kpKS/19f + YP1AQEG5Pz9AUk9PUDhzc3Q5o6OjOMzMzTji4uM36OjpNuvr7DXt7e407u7vM7OzszKzs7Mx/f3+MfX1 + 9jHp6eow5OTlL9vb3C7g4OEu6urrLv39/i39/f4s/v7+LP7+/iz+/v4q/v7+lP7+/uv+/v7//v7+//7+ + /v/+/v7//f3+//39/v/9/f7//f3+//7+/v/9/f7//v7+//7+/v/9/f7//f3+//39/v/9/f7//f3+/+Dg + 4f+FhYX/Pz9A/z8/QP8/P0DuPz9Adz8/QCk/P0AsW1tcLKmpqS3n5+gt/f3+LfPz9C7q6usvhISEL5GR + kTD9/f4w/f3+Mf7+/jL9/f4y/f3+M/39/jT9/f41/Pz9Nv39/jb9/f43/v7+OP7+/zn+/v84/v7/Wv7+ + /8L+/v///v7///7+///+/v7//v7+//39/v/9/f7//f3+//39/v/9/f7//f3+//39/v/9/f7//f3+//39 + /v/9/f7/9PT1//Pz9P/+/v7//f3+//39/v/9/f7/z8/Q/5GRkf9UVFX/Pz9A/z8/QOI/P0CKPz9AallZ + Wm6dnZ1x2trbc/39/nb9/f54/f3+e/39/n39/f5//f3+g/39/oX9/f6H/f3+iv39/o39/f6P/f3+kv39 + /pX9/f6X/f3+mvb2953z8/Sg8PDxo97e36aUlJSof39/q8HBwq79/f6x/f3+tP39/rb+/v66/v7+vP7+ + /r/+/v/F/v7/2/7+/vj9/f7/8/P0//7+/v/+/v7//v7+//7+/v/+/v7//v7+//39/v/9/f7//f3+//39 + /v/+/v7//v7+//39/v/9/f7/xsbH/76+vv/9/f7//v7+//7+/v/9/f7/oKCg/0ZGR/8/P0D/Pz9A//7+ + ///+/v///v7///7+///+/v///v7+//39/v/g4OH//f3+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//f3+//39/v/+/v7//v7+//39/v/9/f75/f3+4f39 + /sv9/f7G/f3+xP39/sD9/f6+/f3+uv39/rj9/f61/f3+s/39/q/9/f6s/f3+qv39/qb9/f6l/f3+of39 + /p79/f6c/f3+mf39/pb9/f6U/f3+kf39/o39/f6M/f3+if39/oby8vOE7e3ugvDw8X/V1dZ9n5+ferm5 + uXf9/f52/v7+cv7+/n3+/v7J/v7++v7+///+/v///v7///7+/v+9vb3//Pz9//7+/v/+/v7//v7///7+ + ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//f3+/8nJyv/Ozs///Pz9/8fH + yP+Hh4fxZGRll2BgYUV2dnc9nZ2dPMzMzTzu7u88/Pz9O/39/jr9/f45/f3+OP39/jeoqKg2paWlNf39 + /jT9/f40/f3+NP39/jP09PUy8/P0Mv39/jH9/f4x/v7+MP7+/jD+/v4v/v7/MP7+/6P+/v/x/v7///7+ + ///+/v///v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/9/f7/7e3u/4KCgv8/P0D/Pz9A8T8/QIo/P0AuRUVGL319fjDDw8Qw/f3+Mf39/jH9/f4y4eHiM2Rk + ZTOoqKgz+Pj5NP39/jX9/f41/v7+Nv39/jf9/f44/f3+Of39/jr9/f46/v7+O/7+/jz+/v89/v7/PP7+ + /07+/v+d/v7///7+///+/v///v7///7+///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//39/v/9/f7//v7+//7+/v/+/v7//v7+//39/v/8/P3/yMjJ/46Ojv9hYWL1T09Qw1xc + XXCJiYlzxsbHdv39/nj9/f56/v7+fP7+/n/+/v6C/v7+hP7+/of+/v6J/v7+i/7+/o7+/v6R/v7+k/7+ + /pb+/v6Z/v7+m/7+/p/9/f6h/f3+pP39/qf9/f6q/f3+rNnZ2rDd3d6y/f3+tf7+/rj+/v66/v7+vv7+ + /sH+/v/D/v7/xv7+/8z+/v7j/Pz9/v39/v/+/v7//v7+//7+///+/v///v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//39/v/g4OH//f3+//7+/v/+/v7//v7+/+Tk5f+FhYX/Pz9A/z8/ + QP////////////////////////////7+///+/v///v7///z8/f/+/v/////////////+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v/+/v7/6P7+ + /9P+/v/M/v7/yf7+/8b+/v/D/v7/wf7+/77+/v+7/v7/uP7+/7b+/v+z/v7/sP7+/63+/v+q/v7/qP7+ + /6T+/v+i/v7/n/7+/53+/v+a/v7/l/7+/5T+/v+S/v7/kP7+/43+/v+K/v7/iP7+/4b+/v+D/v7/gP7+ + /374+Pl7/v7/ef///3T///+n////6v/////////////////////+/v//7+/w//7+///+/v///v7///// + //////////////7+///+/v///v7///7+///+/v///v7////////+/v///v7///7+///+/v//urq7/9/f + 4P/29vf/t7e4246Oj3mLi4xBoaGiQcfHyEDz8/Q//v7/P/7+/z3+/v88/v7/PP7+/zv+/v86ubm6Oays + rTjx8fI3/v7/N/7+/zf+/v82/v7/Nf7+/zX+/v80/v7/M/7+/zP///8y////Mv///zj///+w////9f// + ///////////////////+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///j4+T/enp6/0BAQPNAQECfQEBAMnNzczKnp6gz5eXmM/7+/zT+/v80/v7/Nbu7 + vDWCgoM27OztNv7+/zf+/v84/v7/OP7+/zn+/v86/v7/O/7+/zz+/v89/v7/Pf7+/z7+/v8/////QP// + /0H///9I////fP////L//////////////////////v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///u7u//w8PE/6Wl + pu2jo6SRwcHCdvLy83n+/v97/v7/fv7+/4D+/v+D/v7/hf7+/4f+/v+K/v7/jP7+/4/+/v+S/v7/lf7+ + /5f+/v+a/v7/nf7+/5/+/v+i/v7/pP7+/6f+/v+q/v7/rf7+/7D+/v+z/v7/tv7+/7j+/v+8/v7/vf// + /8H////E////xv///8n////M/v7/0/7+/+v+/v/////////////////////////////+/v///v7///7+ + ///+/v///v7///7+/////////v7///7+///+/v///v7///z8/f/+/v////////7+///+/v//wcHC/3Fx + cf9AQED////////////////////////////+/v///v7///7+///+/v///v7//////////////v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7/7/7+ + /9z+/v/T/v7/0P7+/83+/v/K/v7/x/7+/8X+/v/C/v7/v/7+/7z+/v+6/v7/t/7+/7T+/v+x/v7/rv7+ + /6z+/v+p/v7/pv7+/6T+/v+h/v7/nv7+/5z+/v+Z/v7/lv7+/5T+/v+R/v7/j/7+/4z+/v+K/v7/h/7+ + /4X+/v+C/v7/gP7+/3z///+I////1P////r////////////////+/v///v7///7+///+/v///v7///7+ + ///////////////////+/v///v7///7+///+/v///v7///7+/////////v7///7+///+/v///v7//9ra + 2//Kysv//v7//+jo6cG+vr9lvr6/RNDQ0Ubx8fJE/v7/Q/7+/0P+/v9C/v7/Qf7+/0D+/v8//v7/Pv7+ + /z3W1tc86enqPP7+/zv+/v87/v7/Ov7+/zn+/v85/v7/OP7+/zf+/v83////Nv///zT///9C////vf// + //j////////////////+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7//9nZ2v92dnb3QEBAtExMTDiZmZo209PUN/7+/zf+/v84/v7/OP7+ + /znExMU5tbW2Ov7+/zr+/v87/v7/PP7+/zz+/v89/v7/Pv7+/z/+/v9A/v7/Qf7+/0H+/v9C/v7/Q/// + /0T///9F////Rv///2b////X///////////////////////////+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///x8fL55+fozff3+ID+/v9+/v7/gP7+/4P+/v+F/v7/iP7+/4r+/v+M/v7/j/7+/5H+/v+U/v7/l/// + /5n///+b////nv///6H///+k////p////6n+/v+s/v7/r/7+/7L+/v+0/v7/t/7+/7r+/v+9/v7/wP7+ + /8L////F////yP///8r////N////0P7+/9P+/v/b/v7/9P///////////////////////////v7///7+ + ///+/v///v7///7+///+/v////////7+///+/v///v7///7+///+/v///v7////////+/v///v7///X1 + 9v+srK3/YmJi//////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////9v// + /+L////Z////1v///9P////Q////zf///8r////I////xf///8P////A////vf///7r///+3////tf// + /7H///+w////rf///6r///+o////pf///6L///+f////nf///5n///+Y////lf///5P///+Q////jv// + /4v///+J////hv///4T///9/////sv///+////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////2NjY//7+/vn///+k+fn5Wfr6+kn///9J////SP///0b///9G////Rf///0T///9D////Qv// + /0H///9A////P/X19T////8/////Pv///z3///88////PP///zv///86////Ov///zn///83////Tf// + /8j////8//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////4ODg+I+Pj8V4eHhAt7e3Of///zn///86////O/// + /zv///885ubmPP///z3///89////Pv///z////9A////QP///0H///9C////Q////0T///9E////Rv// + /0f///9I////Sf///0n///9b////sP////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////P///+g////hP///4T///+H////if///4v///+O////kP///5P///+V////l/// + /5r///+d////n////6L///+l////p////6r///+s////sP///7L///+1////uP///7r///+9////wP// + /8P////F////yP///8v////N////0P///9P////W////2P///+P////5//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7+/v/62trf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP + /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAAAAAAAA + EAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAA + AAAAAA8AAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAD8AAAAA + AAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAH/ + AAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAA + AAAf/wAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAA + AAAAAAAAH/8AAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAA/8AAAAAAAA + AAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAD/wAAAAAAAAAAAAAAAAAAAAAB/8AAAAAAAAAAAAAAAAP/AAA + AAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAA + D/AAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAA + AAAAAA+AAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAADAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAOAAAAAAAAA + MAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAA + A4AAAAAAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAA + AAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAP/gAAAA + AAAAAAAAAAADH+AAAAAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAMfwAAAAAAAAAAAAAAAAAAAAg// + 4AAAAAAAAAAAAAAAAz/AAAAAAAAAAAAAAAAAAAAAf/+AAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAA + AAD//gAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAA + AAAAAAAP/8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAA/wAAAAAAA + AAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAA///AAAAAAAAAAAAAAAAAAAAcAA + AAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAA + AAAYAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAD/wAAAAAAAAAAAAA + AAAAAAAAAIAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAOAAAA + AAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAIAAAAAAAAAAB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAB//wAAAAAAAAAAAAAEAAAA + AAAAAAAAAAGAAAAAAAAAA///AAAAAAAAAAAAAAQAAAAAAAAAAAAAAYAAAAAAAAAD//8AAAAAAAAAAAAA + B4AAAAAAAAAAAAABAAAAAAAAAD///wAAAAAAAAAAAAAH4AAAAAAAAAAAAAcAAAAAAAAB////gAAAAAAA + AAAAAAfAAAAAABwAAAAABgAAAAAAAD/////4AAAAAAAAAAAAB4AAAAAAAAAAAAAIAAAAAAAB//////gA + AAAAAAAAAAAHgAcAAAAAAAAAAAAAAAAAAA///////AAAAAAAAAAAAAeAACAAAAAAAAAAAAAAAAAB//// + ///8AAAAAAAAAAAAB4AABwAAAAAAAAAgAAAAAA////////wAAAAAAAAAAAAHgAAD4AAAAAAAAAAAAAAA + D////////AAAAAAAAAAAAAeAAAPgAAAAAAAAAAAAAAAP///////8AAAAAAAAAAAAB4AAAfwAAAAAAAAA + AAAAAA////////wAAAAAAAAAAAAHgAAB/8AAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAfAAAH//AAA + AAAAAQAAAAAP////gAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAA///AAAAAAAAAAAAAAAAAAAAAAA + B/4AAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAD// + +AAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAH/j//4AAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAA + B//P//AAAAAAAAAAAAAAAA//////AAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAD///////4AAAAAAA + AAAAAAf////gAAAAAAAAAAAAAAAP///////8AAAAAAAAAAAAB////4AAAAAAAAAAAAAAAA////////wA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAA////////AAAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAD//// + ///8AAAAAAAAAAAAB///gAAAAAAAAAAQAAAAAAB///////wAAAAAAAAAAAAH//gAAAAAAAICAAgAAAAA + AAP/////+AAAAAAAAAAAAAf/wAAAAAAABAAMCAAAAAAAAH/////4AAAAAAAAAAAAB/wAAAAAAAAMAAwG + AAAAAAAAB/////gAAAAAAAAAAAAHwAAAAAAAAAgEDAcAAAAAAAAAf///+AAAAAAAAAAAAAYAAAAAAAAA + OAQOAQAAAAAAAAAP///4AAAAAAAAAAAAAAAAAAAAAABwBAIAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA + AAAAAPAcAgAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAAAAAA8BwCAAAAAAAAAAAAH//wAAAAAAAAAAAA + AAAAAAAAAAHAHAMAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAA8AcAwAAAAAAAAAAAAAf8AAAAAAA + AAAAAAAAAAAAAAADgBwDAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAcAPAMAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAADwA8A4AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeADgDgAAAAAAOAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAB4AeAOAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAB4A8AAAAAA + D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AHgDwAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAeAHA + AAAAAA/4AAAAAAAAAAAAAAAAAAAAAAgAAAAA+AD4AcAAAAAAD/4AAAAAAAAAAAAAAAAAAAAAMAAAAAD4 + APgB4AAAAAAP/4AAAAAAAAAAAAAAAAAAAADwAAAAAfAA+AHgAAAAAA//4AAAAAAAAAAAAAAAAAAAA+AA + AAAD8AD4AeAAAAAAD//8AAAAAAAAAAAAAAAAAAAfwAAAAAPgAfgB4AAAAAAP//8AAAAAAAAAAAAAAAAA + AH+AAAAAB+AB+AHwAAAAAAf//4AAAAAAAAAAAAAAAAAB/4AAAAAPgAHgAfAAAAAAA///4AAAAAAAAAAA + AAAAAAH/AAAAAA+AAeAB8AAAAAAD///gAAAAAAAAAAAAAAAAA/4AAAAAH4AD4AHwAAAAAAD///wAAAAA + AAAAAAAAAAAH/gAAAAAfAAPgAfgAAAAAAH///wAAAAAAAAAAAAAAAAf8AAAAAD4AA+AA+AAAAAAAP/// + wAAAAAAAAAAAAAAAB/wAAAAAfgAH4AD4AAAAAAAP///wAAAAAAAAAAAAAAAH+AAAAAB8AAfgAP4AAAAA + AAf///4AAAAAAAAAAAAAAAfwAAAAAPwAB+AA/gAAAAAAAf///4AAAAAAAAAAAAAAB/AAAAAB+AAP4AD+ + AAAAAAAA////wAAAAAAAAAAAAAAH4AAAAAH4AA/gAP4AAAAAAAB////AAAAAAAAAAAAAAAfgAAAAA/gA + D+AA/gAAAAAAAH///8AAAAAAAAAAAAAAB8AAAAA/8AAP4AD/AAAAAAAAP///gAAAAAAAAAAAAAAHgAAA + AH/wAA/AAP8AAAAAAAAH//8AAAAAAAAAAAAAAAeAAAAA/+AAP8AA/wAAAAAAAAP//wAAAAAAAAAAAAAA + DwAAAAD/4AA/wAD/AAAAAAAAAf/+AAAAAAAAAAAAAAAPAAAAAP/AAD/AAH8AAAAAAAAA//gAAAAAAAAA + AAAAAA4AAAAB/8AAf8AAfwAAAAAAAAB/+AAAAAAAAAAAAAAADAAAAAH/AAB/wAB/AAAAAAAAAB/wAAAA + AAAAAAAAAAAMAAAAAf4AAH/AAH8AAAAAAAAAD+AAAAAAAAAAAAAAAAgAAAAB/gAAf8AAfwAAAAAAAAAP + 4AAAAAAAAAAAAAAAAAAAAAH+AAD/wAB/AAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAA/wAAP/AAH8AAAAA + AAAAAcAAAAAAAAAAAAAAAAAAAAAD/AAA/8AAfwAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAP4AAD/gAB/ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAf+AAH8AAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAH8AAB + /4AAf/AAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAH/gAB/8AAAAA4AAAAAAAAAAAAAAAAAAAAAAAAA + D+AAA/+AAD/wAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD/4AAP/AAAAAOAAAAAAAAAAAAAAAAAAAA + AAAAAH/gAAP/gAA/+AAAAA8AAAAAAAAAAAAAAAAAAAAAAAAA/8AAA/+AAD/4AAAAD4AAAAAAAAAAAAAA + AAAAAAAAAAH/wAAH/4AAP/gAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAf+AAAf/gAA//AAAAA/wAAAAAAAA + AAAAAAAAAAAAAAAB/4AAB/+AAD/8AAAAD/AAAAAAAAAAAAAAAAAAAAAAAAH+AAAP/wAAPzwAAAAP+AAA + AAAAAAAAAAAAAAAAAAAAAfwAAA//AAA/AAAAAA/8AAAAAAAAAAAAAAAAAAAAAAAD/AAAD/8AAD8AAAAA + D/4AAAAAAAAAAAAAAAAAAAAAAAP8AAAP/wAAPgAAAAAP/gAAAAAAAAAAAAAAAAAAAAAAB/gAAA//AAA+ + AAAAAA//AAAAAAAAAAAAAAAAAAAAAAAP+AAAH/8AAB4AAAAAD/8AAAAAAAAAAAAAAAAAAAAAAB/wAAAf + /wAAHgAAAAAP/gAAAAAAAAAAAAAAAAAAAAAAH/AAAB//AAAeAAAAAA/4AAAAAAAAAAAAAAAAAAAAAAA/ + 4AAAf/8AAB4AAAAAD/AAAAAAAAAAAAAAAAAAAAAAAD/gAAB//wAAHgAAAAAPgAAAAAAAAAAAAAAAAAAA + AAAAH8AAAH//AAAeAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAPwAAA//4AAB4AAAAADAAAAAAAAAAAAAAA + AAAAAAAAAA/AAAD8AgAAHgAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA4AAAPgAAAAeAAAAAAgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAA8AAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAHgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAA4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAO + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPw + AAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAD/AAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAADgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD8AAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmDialog.Designer.cs b/SLBot/bot/GUI/frmDialog.Designer.cs new file mode 100644 index 0000000..33ebfce --- /dev/null +++ b/SLBot/bot/GUI/frmDialog.Designer.cs @@ -0,0 +1,108 @@ +namespace bot.GUI +{ + partial class frmDialog + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmDialog)); + this.btnOK = new clControls.clImageButton(); + this.btnCancel = new clControls.clImageButton(); + this.lblDescription = new System.Windows.Forms.Label(); + this.txtOutput = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(29, 81); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 0; + this.btnOK.Text = "OK"; + this.btnOK.MouseClick += new System.Windows.Forms.MouseEventHandler(btnOK_MouseClick); + this.btnOK.BackColor = System.Drawing.Color.Transparent; + + // + // btnCancel + // + this.btnCancel.MouseClick += new System.Windows.Forms.MouseEventHandler(btnCancel_MouseClick); + this.btnCancel.Location = new System.Drawing.Point(240, 81); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 1; + this.btnCancel.Text = "Cancel"; + this.btnCancel.BackColor = System.Drawing.Color.Transparent; + // + // lblDescription + // + this.lblDescription.AutoSize = true; + this.lblDescription.BackColor = System.Drawing.Color.Transparent; + this.lblDescription.ForeColor = System.Drawing.Color.White; + this.lblDescription.Location = new System.Drawing.Point(26, 9); + this.lblDescription.Name = "lblDescription"; + this.lblDescription.Size = new System.Drawing.Size(35, 13); + this.lblDescription.TabIndex = 2; + this.lblDescription.Text = "label1"; + // + // txtOutput + // + this.txtOutput.Location = new System.Drawing.Point(29, 42); + this.txtOutput.Name = "txtOutput"; + this.txtOutput.Size = new System.Drawing.Size(286, 20); + this.txtOutput.TabIndex = 3; + this.txtOutput.TextChanged += new System.EventHandler(this.txtOutput_TextChanged); + // + // frmDialog + // + //this.AcceptButton = this.btnOK; + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmDialog"); + //this.CancelButton = this.btnCancel; + this.ClientSize = new System.Drawing.Size(338, 135); + this.ControlBox = false; + this.Controls.Add(this.txtOutput); + this.Controls.Add(this.lblDescription); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.btnOK); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmDialog"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmDialog"; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmDialog_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmDialog_MouseMove); + this.TransparencyKey = System.Drawing.Color.Yellow; + this.ResumeLayout(false); + this.PerformLayout(); + } + #endregion + + private clControls.clImageButton btnOK; + private clControls.clImageButton btnCancel; + private System.Windows.Forms.Label lblDescription; + private System.Windows.Forms.TextBox txtOutput; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmDialog.cs b/SLBot/bot/GUI/frmDialog.cs new file mode 100644 index 0000000..be2df15 --- /dev/null +++ b/SLBot/bot/GUI/frmDialog.cs @@ -0,0 +1,98 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmDialog.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace bot.GUI +{ + public partial class frmDialog : Form + { + public string _output; + private Point mouse_offset; + + public frmDialog(string Title, string Description, string Output) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + this.Text = Title; + lblDescription.Text = Description; + txtOutput.Text = Output; + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmDialog"); + + this.btnOK.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmDialog.btnOK.idle"); + this.btnOK.Image = bot.Localization.clResourceManager.getButton("frmDialog.btnOK.idle"); + this.btnOK.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmDialog.btnOK.onclick"); + this.btnOK.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmDialog.btnOK.onhover"); + this.btnCancel.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.Image = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.idle"); + this.btnCancel.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.onclick"); + this.btnCancel.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmCheckLicense.button2.onhover"); + } + + private void txtOutput_TextChanged(object sender, EventArgs e) + { + _output = txtOutput.Text; + } + + void btnOK_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e) + { + this.DialogResult = DialogResult.OK; + this.Close(); + } + + void btnCancel_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e) + { + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + + void frmDialog_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + void frmDialog_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + } +} diff --git a/SLBot/bot/GUI/frmDialog.resx b/SLBot/bot/GUI/frmDialog.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/SLBot/bot/GUI/frmDialog.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmFriends.Designer.cs b/SLBot/bot/GUI/frmFriends.Designer.cs new file mode 100644 index 0000000..d160bf9 --- /dev/null +++ b/SLBot/bot/GUI/frmFriends.Designer.cs @@ -0,0 +1,141 @@ +namespace bot.GUI +{ + partial class frmFriends + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmFriends)); + this.lstFriends = new System.Windows.Forms.ListView(); + this.btnMessage = new clControls.clImageButton(); + this.btnProfile = new clControls.clImageButton(); + this.btnTeleport = new clControls.clImageButton(); + this.btnRemove = new clControls.clImageButton(); + this.btnClose = new clControls.clImageButton(); + this.SuspendLayout(); + // + // lstFriends + // + this.lstFriends.BackColor = System.Drawing.Color.Black; + this.lstFriends.ForeColor = System.Drawing.Color.White; + this.lstFriends.FullRowSelect = true; + this.lstFriends.Location = new System.Drawing.Point(22, 28); + this.lstFriends.MultiSelect = false; + this.lstFriends.Name = "lstFriends"; + this.lstFriends.Size = new System.Drawing.Size(285, 268); + this.lstFriends.TabIndex = 0; + this.lstFriends.UseCompatibleStateImageBehavior = false; + // + // btnMessage + // + this.btnMessage.Location = new System.Drawing.Point(313, 58); + this.btnMessage.Name = "btnMessage"; + this.btnMessage.Size = new System.Drawing.Size(75, 23); + this.btnMessage.TabIndex = 1; + this.btnMessage.Text = "Message"; + this.btnMessage.Click += new System.EventHandler(this.btnMessage_Click); + this.btnMessage.BackColor = System.Drawing.Color.Transparent; + // + // btnProfile + // + this.btnProfile.Location = new System.Drawing.Point(313, 87); + this.btnProfile.Name = "btnProfile"; + this.btnProfile.Size = new System.Drawing.Size(75, 23); + this.btnProfile.TabIndex = 2; + this.btnProfile.Text = "Profile"; + this.btnProfile.Click += new System.EventHandler(this.btnProfile_Click); + this.btnProfile.BackColor = System.Drawing.Color.Transparent; + // + // btnTeleport + // + this.btnTeleport.Location = new System.Drawing.Point(313, 116); + this.btnTeleport.Name = "btnTeleport"; + this.btnTeleport.Size = new System.Drawing.Size(75, 23); + this.btnTeleport.TabIndex = 3; + this.btnTeleport.Text = "Teleport"; + this.btnTeleport.Click += new System.EventHandler(this.btnTeleport_Click); + this.btnTeleport.BackColor = System.Drawing.Color.Transparent; + // + // btnRemove + // + this.btnRemove.Location = new System.Drawing.Point(313, 145); + this.btnRemove.Name = "btnRemove"; + this.btnRemove.Size = new System.Drawing.Size(75, 23); + this.btnRemove.TabIndex = 4; + this.btnRemove.Text = "Remove"; + this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click); + this.btnRemove.BackColor = System.Drawing.Color.Transparent; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(364, 28); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 5; + this.btnClose.Text = "Close"; + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // frmFriends + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmFriends"); + this.ClientSize = new System.Drawing.Size(400, 325); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.btnRemove); + this.Controls.Add(this.btnTeleport); + this.Controls.Add(this.btnProfile); + this.Controls.Add(this.btnMessage); + this.Controls.Add(this.lstFriends); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmFriends"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmFriends"; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmFriends_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmFriends_MouseMove); + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmFriends_Load); + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmFriends_FormClosing); + this.ResumeLayout(false); + + } + #endregion + + private System.Windows.Forms.ListView lstFriends; + private clControls.clImageButton btnMessage; + private clControls.clImageButton btnProfile; + private clControls.clImageButton btnTeleport; + private clControls.clImageButton btnRemove; + private clControls.clImageButton btnClose; + + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmFriends.cs b/SLBot/bot/GUI/frmFriends.cs new file mode 100644 index 0000000..05d7607 --- /dev/null +++ b/SLBot/bot/GUI/frmFriends.cs @@ -0,0 +1,303 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmFriends.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OpenMetaverse; +using System.Collections; + +namespace bot.GUI +{ + public partial class frmFriends : Form + { + private SecondLifeBot client; + + private ListColumnSorterNormal _ColumnSorter = new ListColumnSorterNormal(); + + private frmProfile _frmProfile; + private Point mouse_offset; + + public frmFriends(SecondLifeBot client) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.InitializeComponent(); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmFriends"); + this.client = client; + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmFriends.Text"), client.ToString()); + this.btnMessage.Text = bot.Localization.clResourceManager.getText("frmFriends.btnMessage"); + this.btnProfile.Text = bot.Localization.clResourceManager.getText("frmFriends.btnProfile"); + this.btnRemove.Text = bot.Localization.clResourceManager.getText("frmFriends.btnRemove"); + this.btnTeleport.Text = bot.Localization.clResourceManager.getText("frmFriends.btnTeleport"); + this.btnProfile.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnProfile.idle"); + this.btnProfile.Image = bot.Localization.clResourceManager.getButton("frmFriends.btnProfile.idle"); + this.btnProfile.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnProfile.onclick"); + this.btnProfile.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnProfile.onhover"); + this.btnMessage.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnMessage.idle"); + this.btnMessage.Image = bot.Localization.clResourceManager.getButton("frmFriends.btnMessage.idle"); + this.btnMessage.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnMessage.onclick"); + this.btnMessage.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnMessage.onhover"); + this.btnTeleport.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.idle"); + this.btnTeleport.Image = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.idle"); + this.btnTeleport.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.onclick"); + this.btnTeleport.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.onhover"); + this.btnRemove.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnRemove.idle"); + this.btnRemove.Image = bot.Localization.clResourceManager.getButton("frmFriends.btnRemove.idle"); + this.btnRemove.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnRemove.onclick"); + this.btnRemove.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnRemove.onhover"); + + ColumnHeader header1 = lstFriends.Columns.Add(bot.Localization.clResourceManager.getText("frmFriends.NameColumn")); + header1.Width = lstFriends.Width - 20; + + ColumnHeader header2 = lstFriends.Columns.Add(" "); + header2.Width = 40; + + _ColumnSorter.SortColumn = 1; + _ColumnSorter.Ascending = false; + + this.DoubleBuffered = true; + lstFriends.ListViewItemSorter = _ColumnSorter; + lstFriends.View = View.Details; + + lstFriends.ColumnClick += new ColumnClickEventHandler(FriendList_ColumnClick); + lstFriends.DoubleClick += new System.EventHandler(FriendList_DoubleClick); + client.Network.Disconnected += new EventHandler(Network_Disconnected); + } + + void Network_Disconnected(object sender, DisconnectedEventArgs e) + { + this.Hide(); + } + + private void frmFriends_Load(object sender, EventArgs e) + { + client.Friends.FriendNames += Friends_FriendNames; + client.Friends.FriendOffline += Friends_FriendUpdate; + client.Friends.FriendOnline += Friends_FriendUpdate; + RefreshFriends(); + } + + void Friends_FriendNames(object sender, FriendNamesEventArgs e) + { + RefreshFriends(); + } + + void Friends_FriendUpdate(object sender, FriendInfoEventArgs e) + { + RefreshFriends(); + } + + private void RefreshFriends() + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + RefreshFriends(); + }); + else + { + client.Friends.FriendList.ForEach(delegate(FriendInfo friend) + { + string key = friend.UUID.ToString(); + string onlineText; + string name = friend.Name == null ? bot.Localization.clResourceManager.getText("Controls.Loading") : friend.Name; + int image; + Color color; + + if (friend.IsOnline) + { + image = 1; + onlineText = "*"; + color = Color.FromKnownColor(KnownColor.White); + } + else + { + image = 0; + onlineText = " "; + color = Color.FromKnownColor(KnownColor.GrayText); + } + + if (!lstFriends.Items.ContainsKey(key)) + { + lstFriends.Items.Add(key, name, image); + lstFriends.Items[key].SubItems.Add(onlineText); + } + else + { + if (lstFriends.Items[key].Text == string.Empty || friend.Name != null) + lstFriends.Items[key].Text = name; + + lstFriends.Items[key].SubItems[1].Text = onlineText; + } + + lstFriends.Items[key].ForeColor = color; + lstFriends.Items[key].ImageIndex = image; + lstFriends.Items[key].Tag = friend; + }); + } + } + + private void frmFriends_FormClosing(object sender, FormClosingEventArgs e) + { + client.Friends.FriendNames -= Friends_FriendNames; + client.Friends.FriendOffline -= Friends_FriendUpdate; + client.Friends.FriendOnline -= Friends_FriendUpdate; + } + + private void FriendList_ColumnClick(object sender, ColumnClickEventArgs e) + { + _ColumnSorter.SortColumn = e.Column; + if ((_ColumnSorter.Ascending = (lstFriends.Sorting == SortOrder.Ascending))) + lstFriends.Sorting = SortOrder.Descending; + else + lstFriends.Sorting = SortOrder.Ascending; + lstFriends.ListViewItemSorter = _ColumnSorter; + } + + private void FriendList_DoubleClick(object sender, System.EventArgs e) + { + ListView list = (ListView)sender; + if (list.SelectedItems.Count > 0 && list.SelectedItems[0].Tag is FriendInfo) + { + FriendInfo friend = (FriendInfo)list.SelectedItems[0].Tag; + btnProfile_Click(sender, e); + } + } + + private void btnProfile_Click(object sender, EventArgs e) + { + if (lstFriends.SelectedItems.Count > 0 && lstFriends.SelectedItems[0].Tag is FriendInfo) + { + FriendInfo friend = (FriendInfo)lstFriends.SelectedItems[0].Tag; + _frmProfile = new frmProfile(client, friend.UUID); + _frmProfile.RefreshInfo(); + _frmProfile.Show(); + } + } + + private void btnMessage_Click(object sender, EventArgs e) + { + if (lstFriends.SelectedItems.Count > 0 && lstFriends.SelectedItems[0].Tag is FriendInfo) + { + FriendInfo friend = (FriendInfo)lstFriends.SelectedItems[0].Tag; + frmDialog _frmDialog = new frmDialog(bot.Localization.clResourceManager.getText("frmFriends.btnMessage.DialogTitle"), + String.Format(bot.Localization.clResourceManager.getText("frmFriends.btnMessage.DialogLabel"), friend.Name), + ""); + + DialogResult _result = _frmDialog.ShowDialog(); + if (_result == DialogResult.OK) + { + this.client.Self.InstantMessage(friend.UUID, _frmDialog._output); + + bot.Chat.structInstantMessage sim; + InstantMessage im = new InstantMessage(); + + im.Message = _frmDialog._output; + im.FromAgentID = friend.UUID; + im.FromAgentName = friend.Name; + im.Dialog = InstantMessageDialog.MessageFromAgent; + + sim.client = this.client; + sim.isReceived = false; + sim.message = im; + sim.simulator = this.client.Network.CurrentSim; + sim.timestamp = DateTime.Now; + + bot.Chat.receivedIM(sim); + } + } + } + + private void btnTeleport_Click(object sender, EventArgs e) + { + if (lstFriends.SelectedItems.Count > 0 && lstFriends.SelectedItems[0].Tag is FriendInfo) + { + FriendInfo friend = (FriendInfo)lstFriends.SelectedItems[0].Tag; + frmDialog _frmDialog = new frmDialog(bot.Localization.clResourceManager.getText("frmFriends.btnTeleport.DialogTitle"), + String.Format(bot.Localization.clResourceManager.getText("frmFriends.btnTeleport.DialogLabel"), friend.Name), + bot.Localization.clResourceManager.getText("Commands.RequestTeleport.Message")); + + DialogResult _result = _frmDialog.ShowDialog(); + if (_result == DialogResult.OK) + { + this.client.Self.SendTeleportLure(friend.UUID, _frmDialog._output); + } + } + } + + private void btnRemove_Click(object sender, EventArgs e) + { + if (lstFriends.SelectedItems.Count > 0 && lstFriends.SelectedItems[0].Tag is FriendInfo) + { + FriendInfo friend = (FriendInfo)lstFriends.SelectedItems[0].Tag; + DialogResult _result = MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmFriends.btnRemove.DialogLabel"), friend.Name), + bot.Localization.clResourceManager.getText("frmFriends.btnRemove.DialogTitle"), MessageBoxButtons.YesNo); + + if (_result == DialogResult.Yes) + { + this.client.Friends.TerminateFriendship(friend.UUID); + RefreshFriends(); + } + } + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + void frmFriends_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + void frmFriends_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + } +} diff --git a/SLBot/bot/GUI/frmFriends.resx b/SLBot/bot/GUI/frmFriends.resx new file mode 100644 index 0000000..dcc6eaf --- /dev/null +++ b/SLBot/bot/GUI/frmFriends.resx @@ -0,0 +1,3658 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEAAACxABrSO9dQAA9UFJREFUeF7s/ee3ZeXV + 5QlGXHvcteGJgDCE90EQBD7wVjhhJYQRAiQBEjJIAgkjIRAgjJCQA5nX55tZmVk5snJkdWVnV9cY3dXm + Q/ff9PT8zbWeffa9ccNByKCuD3scv88261lzmbnWWlbKsvJxttdeerH86sN/Kf/9f/3fy3/6z/+t/MM/ + /cfyh7/7H8of/75u/17P/73fW7z9sXnv35Xf/eFfy+//+G/1nX+XW/3+v/P7v//j8DG+095f/U088n32 + 9+Hv/k356PdL7Xfh94f/ufh9/mPxf8X/cn5LndOJvn/i/zjdY4njqOcWz8/kt39d3417Wrel7n/cx7Nz + 3c703OO+x7UOWfro9/+m/Pajf/Ejr3/70T9btuLz4cZv+M7C84vPkcdf//Yfy88/+EN58eWflO+/+Fp5 + +51fl5++86vy+hs/Ky//8M3y3HdeKs9//9Xykzd/Xt786S+1feDn77732/L+L35Xfvbz35V33vtNee/9 + D8uPX3uvvPHmL/z87XdjPz9+7d3ykvb94ENfKt/45vPlRz9+u7zx1i/0u4+8vf3ub/wb9sn333r7A+33 + 9+WDX/2dN87rNx/+U/nVb/6+/PLXsfE+v/vZ+/H7n7z5vvb7jv/rVR5ff9fb62+8r//6eW6/KG/p+Dle + 9s95ctwcwy90/uyX/+C/Pvwd1zWubb2+7etX78VwbZ3p/fw/vr/0OpIOkZx/qOv+4598UG777ONlbs2+ + MujsPmMsEHp8PADhd7dcfVu57wvfLP/4z/9j+dd/+z+V3/3xX8v7H/zeC+VdCfe7P/utBeU3Ek4WEQL5 + oQTmF7/6o4ToH8qvP/xHv+ZEDCQ6qd9V5ZLPDQj6nI2F+1Eu4ljI8R774D8++PXfebG9qcWBwL9nIf5d + +a0ElYXM/s94k7LmmDh+FAmK4AMtAs6T/2NB/FrnyH+wIHxcOkafx8f5v6V+g3Jinyiss7nfs3V8Z7Af + jr/ZUNA2IBbel7/YOaYBwjEhb7/Svf7FL/9o5RdK/KPyjmQaOeB+xybZ1nd/89E/WVFy7Py+7sNyKXnn + s1elbL/13IvlgsNHyre/87KB5GvPfrc89vhT5YHPP1o+c/vd5fEnnynPfvOF8sL3f1xefuXN8kMBQVXU + r/zoLStugOa7L/zIihugeV2KHRDi/dvvvLd84aHHyws/+HF57rsvlVd++FZ5Wb/74atvl+dfeNX7/fHr + 73l7TeDFMQRwBTi89pOfaZ+/0Pd/arD7dgLbM1//jvf59W88X7757R9439/TMfDeD156vbyi73N+/P5t + nSvg8Z6u11sCK8793Z99KL3w+wAnr330wnDd1Gu2QD5asmJgOQM5+z++e2JdB6j84lf/UB7/ygtl07aj + Zdmy6XLB7s1nDB5gwCcCEHZwzqp95fydl5eHH/t2eebZl8uXnnyufP6hr5YHH366fO7BL5fHv/xc+fLT + L5SvPvOD5vGJr3zX3+P9p7/+khbRKxLMH5avfzO2Z7/1o/J1bX7U66/pMzb2z1b3xW95zeNTX3uxPJn7 + /cIjz5THnvi2t0e/9M3y5a8+X57W976W+6/7Zv/1v+p/P/ON2N/TX3/Z+/zy088XjvexJ75Vnvzq93Q+ + 3y1f1D4fevRrPocv6T+e1P59TE+9oP/6np8/pe2rX/uBjlvnVv+Xc6kb79fP8nwXH1c9/+b3eT3qcX8a + H9v3lXvO9Vh8HlUG/tzn5+usY+L+c6+RH+T3cd3nJ3Tfub/I0TO6b89IZmMLmXxK9/orkme/5nPJUcjm + i5KH71uGHnnsG+ULWhf7D1xULrns2nL/554od979ULn51nvLdTfcUS6+7Jpy9OKrBCQPlLvv+2L53Be+ + 4rWErCHTDz70VDw+/FS55/7HysNf/Jrl+5HHnvV3PvfgV8qRo1eWy6+8wWvvHu8j1iLbfQ88Ue77/JN6 + fLzZ5306hs/e86i/z34f1r4e/uLXy736zt33frHcdc8j5dobbvfzLzzytI73YX+f/7/3gS+VBx58snye + /9BxcQxfzHXyhK4fa4Nr+CVdQ87/y09pnTz9fa+LWGPa8vrVtVllvpH9vwGZ/3PL8cn/79XyxSe/Vy6+ + /M4yNrla4DFebr34yMcCj7MCIN7JsnVlvLuxrFl/uKzZcGFZue6Atn1lxdq9ZYUeV2847I3PvJ17YVl1 + zsGyev0Ffn/thiNl7bkXDbfzjpa1zTZ8f42+502/X63/au9ztfbr/Wm/K9bs0eMhP+d/2Op/rz03/+u8 + ul9e53vaN/tdxX7W6/d6XHWOzkUbj95nvsfrVfqOz2NDnIf/P4+rvo59a/Oxx/nHZ7HFuS/aOPfmvdZ1 + qddowfVpX6tPy/MT3es8fs7zL3GOeX3jHlf54d5z33WvGpnh+KsshjyyxXvIOfeVez2858gUsrJirdbF + ml1lbGKmzK3arm1HmV25rcysOL9Mz20qval1ZWZ+s9+f1/dW6vuxnvZbrllT7Gd+NZ/F81X63HKq7w5m + z/XvV6zb69+v0Psr9PkKfq9tbl2sD69P3lsb+2Sb1+uV7HvN7jKn/c+t1rHpGKfnt1nW+b+51Tv932wr + 9D1+x75Wrt3v44i1oHNdX4+L6xjrJj4b6gBft0b+UyYs+621WV9bHv5CcvGXkMU/2X9eVPqzO8qy5QPp + 7Ylyy7FtHxs8zhqAsKORifWlM7W1TE5tL5ODbWWiv0nb5jLeO69M+P1t8VndBtv1+Ra9jt90pnfo99p4 + 9LaztbXe5zvNPvL//Fr7H5zv/5zobdRzfeYt3hv+P8eR/9X+Pz1feHz19/VRx6p9sZ+JAc9bnzfnXc+T + /xj+z/CcOUZ+n79tXZOF596+Die6Ju3r82l7/td6TpIByWVbdngesrjEPUk5mrQc573185acI9steZ3o + S4YkP2MT82VkbFaG1/rcZIR11skqXFVGJ1bkexsky6yjLdpStpFv/gO5buScffI53ztX+1lrGR3X56y9 + cR07j/Gcdad9DrQfvtPXdwa81u/5jh7H++d53Y53N5RJfZfj9ees5/xsgt95P/wnn9e1zHXI17n+mutZ + 13peE67L8dd18bo/2etPm9z/5Y8X+cbzWD7SKetksHySFMZZBZDlY5tLb3a70G23Hndp0Wwu3enzS3dq + ix95rze7U1t87u/N7NC2XdtOv+7P7in9ubrt1fO65Xt87v3EPvid99E8367/2qb/1P95v3X/eu7/5rf1 + OOJY2v+7+BjrscVj7k/74T+G++b/c98+lvo/cU7NsfK+Pvfx+fe5z/z+8Lzb16D9XMfaXI/2tfk0Pj/R + ff5LngvXd89QpixbyHPI25L3p7m/3POWXOg3Xe5vyvlQDmKfyOekFP3I6IQepaR758SjtonuWgHASj2u + Lp3BeVpHrJ+QmaHshPzwWcghW/0c42SDv9th/emzzpzWI8c0p2Pk/3l/eque8xues8XvOxzbzPnN+u1o + TXdn+C6/E5hqXXtt63veR24h93kdtN/h+uPYWus011yz9pr1vtS6b8tDvQf18S8pK5/e/+Yej45Pyfvo + f2LwOKsAsnPLEQnstjK1Yl8ozRkJbAoXAmchahR4Vay7h8rYiw2AaC/WJUCERV4BxEo5FqqVs4WcRbA1 + F1UKrv67K8trqOh5P7cGkBKU2kq/WZxLAUh9r+538T6PB7pYpLHoOrL6eKzX5NQA8ukV2oXA99cIHlzb + OK6hQg7DJAyMlkxWIyflBAXN96xkMQwsk7I0U/EPjZSUeSt+KeHBRi3k6TKmbbK3PrYGRAgJr9JrefWW + kwQH5NuGRyhoK/E0wDgOb5Jz/7e+40cdT4dtTmttfk/p8DuFMLxPACSBIQCF/es9GSpdr2F5UhV0dH4A + Umda+/S5VfDIc9b+GwMs1+LiaxmfV6Mtr+kCo/FEILKUUfW3sh7+vOfRGZxr72P7eVv+ugDEYayO4qNr + L9CC22tB6TostSUXE0q9ClkFAR5TuVuhpxdioaoXdt9Cy1uf9ZpNAqkFw/90FWZg8YQHwgLD2qrWTyxq + g4iALbaWwue198nx1cfq5cR3Y9/sD2DMBexF2PaA2Gfu2wuwAqmOT6DWkWuP8piUUsDK9D59jFJUp/Qu + uA6f9m3xYvlrOZ84rjB8htZyGDQpi5Lp5h61ZSQVOIAQ8iVZkWKfEBiEF857LU/USl6KmLBRd01ZvnzU + XscEXkgPb4QNMFEoSu/zvQAj5C/kJfYZBhMew0JZTkPKYKCQHAp/fl/prDioTY8AidfG0GMKTyXWRsij + 9ksUQb/19+XBDI3B6nkAanG+XjNtw65ZX3X9VWMq1teC67qk3C+WixMp2b8W+fl0HAfXHr2zbFnvrIDH + WfVADCCTe8u6jZeW6RUHQqgkSLagJOQdxVwb5b0ABPYEAFRlz0L1Yj3BTcnPG0XfAEcuMBbZAgAZAkYs + mrpQWsq+gsqi46oAEADCwh0CSANW9myq4smFYkBaDB4CDsWNJ3vnhtWp2DegAvCFVXaK857br2tyOhvX + 7XS+95f4Tvue/iX+/0T/GcfVvmeh6PKezLaOm+c2kEK+UeRW8vYUkOOdVv4Tus+85+/4u9UDCQOE9YAs + jIx1HVKY6K5LEFmvRzbCWud547vVgKnKv4IGMjQ0ioaGkYFGypkcY3d+f+mwaV12ABODTxhY4YHkmsB7 + sQGm3whwuvp+d9Xh0l19Uenpd/a0bDRVMNP/ARyAQL0mLcNpeFwVQDHOuHZLXNcF633xfTqRgv5rkqG/ + /mPpShbt9Y7O/3UCyGD2cDl/1zVlds0FFioLFwssvZAObq/d2LRYcHvTcgnBxJrnvRQyCW1/iS32zfcQ + zLCkvO8mThuhoVggw5yEQwv+Xh4TCzNdf++n+W71lNhH5E3qYotFlPHjdPmHobmaY+H77C9jylIkoQzW + 6wYOlECdtZVZLcuIscf1Wup8+1r8p7dxvU73u3/u7y2+l0v9/1/q+FFQ4dkS8vF98P2IzUBS5bC+j4fN + /ZXs4UFU+XMOQQDivF/Ks2Xeipb/iPwI935SOY7xyRXphayyR1KBJAAEIEJOyDtEPsNGTCvPFrJYZTzW + QxNKkufAf0ZISv+rc+jO67h5Thir5m2a3AXvpfGz8lDprL2kdNYc9aNBhH3xu/RumuuTyj/OMddlXs8a + tor367pvexSnKxeLvmdQb92Xv1q5/3OvsxP/H3py+Wj/rIWvzroHsm37tWXf4c+UVRtEFcOiMxDgYWDZ + hBcyBIkqTPEYiwMQYQHnwsWSXkow6r7rgvT+hzHZWMxViQ9BpIKFF64WPQq9scIai2xhrsaWn8ElQwcO + zbWtMEIFbRc9ADK+T0ITz0NMNCmE0YlpW5zjndVWFGG1pgeTSmtpADig63CqrX2tTvXdv8Tnp3N8fOfP + fWxxXGEZVyVXwWMRoEkee/ZU8v5KkYaij6S1Q0ZS+gEg5AbCALHMt40lDBith0mFvZCD5SMTNixGJ6Yk + l4AIIS15JMioYtbsz7JixS1ZbBFJ4r0qgwFQjXduAKlbBQ793mEsHW9jGAFKGbpl7c2HMdPZcqs9kM76 + K0p33aWlh0dS/x+PpHoNer9Z7w1IhGcyNBaHgNz8bsn1vdT9X0IP1P9u9MOfW24+ff+H0XK2kueVvfWJ + CwnbNLArL7+7XHLsgbJ+8+USHBZbCg0LS4ulsaRs8VR3Nh8RWJLLXogIfUtALWgLb1iPxZwhp0gcRo6h + JtGroFcvZAgoJDhFV0SBZ4x66JKzsDPOnFYdr/k+++PYzDBzUrMuXAAqXHQenXz0c0IbWJlSErIiURAj + ox0piRnR6ObtSloxVBKAvbJ6zi132Od98CQbn9cF1n5+st/8uT9r3zuOdan/r9/5cx9bXOuhAk3Dx7F5 + AGR47HF/JNM2NqD7igrbPWfIlJJSniCHYWUfoUlkIuRHhkL1chwSDSIFRswYrBjlQkbG+pYLGxii4mLk + jAugAqTIsZAcDy+hGi1VLuN1zQ8GEAIU1eoP0MHzAIB0TDaK0jjiuRU/55eeGI+rLnToCvDorrusdNbJ + E7E3lWFS5E6hrj4AAgg3hl0FjnotE0ysD/heyveSxsLJZKMlR3kMPhbvp+qIP7f8fHr+D120bNngrIWv + zroHcudnHi3X3fpYOXfrsUZQGotNeQm798SLq9W9IOfAwpRg25NgkVSBDsE8zjK1IKaHA8vEAIKrT6I6 + FP5wqzHf4XvjApBIDOK91PxJeBl16+QxV6Dx9xoAAUTCnQ9FER4PlqwXuIEH7+NcK4WR0UltEe/mcURW + p+Pb+o8ATBYXC26pBXYqAFlsDf0phPpUQHYmx3giJfGnOO5T7bNazwHe7W2BzLW9D9eEABah2C3TDklt + KmNS/mG0hFdKnUPNn4XRkZ5xAyAbZFAosbl8JOiVeiTEOd5ZZSDBI6kJdWoyqqczBBBkrf5fhH6HWwJK + yxOo4AO4OCyWxk4AA7IrQ478x+oj8jgOCVgEIKuOlO5515fOOfJEFNqK6wJwcG1D9kJuh+DrY2iuZ/v5 + olzBcSByGgCSAHRiMDrVPf//z8+R1b9qAPn8/c+UO+/7Wtm47RoJDwvzYAgW3kgNZakYyQresVyEnZBA + FXol+FxkRGwZt78qVPaFhSHh1T5jvwhtJOst9PwOi1+LLOLFNXwQbLDha6w/AAeuewINnzdgAcskjwFQ + MujxXQAQBcB/5fPWwq37N4AkUwuFMiplEODRcfjKj956eawAEWG7qrxYiHGO3jjn4zYx3fzeiRZC/Wyp + 336c9/i/Ex3LqfZXf1uPtR57+3efZP+n+v+TfR7nZBm0vKZMWUGhGKu8DRWkrXeBh3NaJLsJWWG4aBuT + 0renYI+UMBcySAgXZhYeC8ZNhGnZBwYGHguhquUjk/ZCRsd6WuTLBSoqJkwQCW9knRlaHcki+/K+M18Y + IABpA0Wdx+qwHGsrtypfmez2mqmGD8Ch73flcUwq19GRt9Fdd7nAQgl0QESPnU03l+6Gq0tv7eUCDt0v + NoNIyFrzvw3QDtduKPp6beM6x/VdSn6Xul+t73ldsK+WDqi6odkf+1hKzj6JrHz6f4tuXLZs6q/XA3nk + 0e+Vzz/ynXLuNgla3swe1km6t7bWqheC8k7lH15KjZESyoJvHjFaC5/30Ra4FFret8Uf1MRJU2TDIgzv + IxaZF2zL9Y8FHBTIqvgNKC6Uiv/25xlSi+fxnhcezyuTpQKYPZGw4GqSHmu0AY8GOAJAsDYjrJfEggqW + ea4+XxZnXazHPfLZ6Wy52E+4n9P5PAHpY++jfZxL/V/9/HSO5Wx+h/+VIrIFjYzF88Vg6fexxAEPwrHy + NvAMDBjKpznPpUeMhZA5jJogg1henPNQPszV2wpbWq5C/ibIxynfATNv2bJlkou+vZDlI+Pa/wptKw0k + hEGpUg8PPkAowk76j6zb8H/CgGzJUKw91tBw43cGDBLlsLMEHB2AY8NVZfK8a53z6KzTtubi0lvNdrR0 + z722dDcKRNZrba+5pPTxRJC/ldyPlNNFgFCvZ6MDfFwtMDD4LJbhE93fqsDj9wv3nfphwXo4m3Lyt7Gv + yIFM//UCyFeeer08/PgLZd2mKxdYALEAJbBaXCyAWASZ73CoKlzcWHR6xEPAWiPn4M+q4FUhCuuivV8W + agUnFvOQ144ViNWYHP2szYgFTM6EcFn1UrTQvdjrYwWOYNtE/Dks0MixkPMIAIv8COdAjgRlAcNmlRb9 + nDyPXgIJngjbhC3MCH0AlLB+Iq4cCz0WyBA8Dut5ezsTga6/4zeL93O6r8Wq80I/3e+f7FiX2kc9n4+z + /0/yG84rrzcW7QIvK45pIEs2AGYYmiR0RR5rTC1HnMegrscJbxkuFTwyBBsGRxgjfM5v4eJXAInf8t4K + Le4RbWNiynQNJoQ6kRNCXAYs/SfJdRs5DcMLsIq147AvHkf1CFgjGRKNvEOEgnvyKHoCjK6AobNGwCHA + mNx4g7brBRBXydPQppBV95xjpS+Poycw6a25tHQ2f0bv31h68kQGyALgsfLCkFPtk2vF1vaY24p+gSd9 + QuPoRPeT/Q73XddIs3/piMFxBs4nkY2/vd8ic8uWzZ1dAPnNz188azv8zvc+KA9/6fmycv2lFjBvzU2P + MFTP4SMULMqT9ifpftvVroV8hLIyxKSTjrqGCCkMvLUFVQvfPPuoJzFAmTtPmwd48cHXH9aa1Bg0VF44 + 9OGpkH+J0FM7X5L03VZepCnmIt9RQxW1jsXhqwiP0etoorMmch4KTxg4mseJYNg4MQqwZb7HQJKhE86z + XsMVF+p53fK65rUdfqf1fvM73mv/rr2f031e7yPHc7q/OcHx+riW2kc99o+z/4/7G/5TCslhwmEIjfe8 + WcakRBzGylApQECew0pdRAh5HK7nABjkWUQoNvIOUVcSeT3uMeErGxXyJsbGZxy6ciiURLyej0tWkBF7 + IUqmB5gAIr38P7wRbRNzQb5YQDaphZBpiNTQUrXIU6bwJHprFJ4650pvnfXHAjjkXXT8eI28kKtLZ9tn + S2fHvaW76RaBxbWlv+7KMpAn0l9/Temef2fpCVz6ej0ANLin9bG1LodrdGF4sr7vx5aOWFrWW/c29x36 + pA1SNdwbIXPu2cI18XHl42/vd+jXZctXnjV97yT6Sy/99qzt8Iev/a7c/cCzZUZWzVA4WIS5UJ0P2edF + ZGvNiUQUfRTdOQTkwrrII0RSXHz6aSq1K3sn4puxuEM4nWMxAOC5KGfhal6oj7XIqoJI0iArUDgOXf9f + v8cbMFhUUKl5FIAlcif1Mx9nZV+5Mj1okM6f6LgJU6EoCEVA0wQ86iOfwd4h9BG0ZqxblA3neaKFcDxA + 9Fksxy2YpYCExXDkYwNAXO8KaGe6sNrHs9QxtD8/031/ku9z7apHm0DRPsd5WdZVUeEVp2GAokeJB1sq + Q0pm/w1zeuQ9gtmFPCehwkWkapwobwLjAu+0kjQmaFyoPMeo5AXQQGZG0wuJsJaKv/Sb8Hpm/dyMw6Zu + Cs9CiW/ksRpbzlHUENEFDj2FB3GDNwCjs/EmA0hn442lo9DVJK+33FIm9jxUJg4/Vbrb7ys9/aa//rrS + F/D0V4uNpde9TbcGqKzMdb5S97WCba7NpQFkCMxLy+1J5NSyXg3Hem6Zl8u8CNe8Av8pAeljGUOfRN7+ + 8r8lkjMyue6s6XsDyBtv//NZ2eGv3vtjefOd35djNzxaphAoubbefKNwBzOOLhc6LDZyFbG1KbZWwhk/ + rolGQlNDJlY7tDNM5kXuIXoQuZKXxnSAiAEh2VWVmVVptvosLMdaJRy5kWFdR6VFJkfex5agUn/jBL6A + qlEy6nhKiwqBxok2Qlpm8GSLiloBHYWEkZiMBZDXsLmWiz2KJb5Tv7vgsd4PHs9ki/+354eV6X2e+e9P + /rt6jmey37Px3Qy9WDYzXNWcY1tmVfvgEKW8CMksIUkUPZRbZMwJ9Fog27Cdon4kZILGohQXRlV5JMbJ + a4iqm+1PhqGtVc5/2PMQ4SK8kOWRVAc4ABB7PjP2WGpCPvKHHGd4PU1ym/NSfqO74RqBwhfK5I57yuS2 + O8vk+Xdou71MbtXj5lv0/LYyofDVxLa7y/jeL5TxA18q45d8t0xc+IxA5N4AkXOuEoAo9yHg6G69S56J + QEWAEmtbm5haDvkt8H7DOBjm8lrGwmI5XSDrS9zfRo/U+7UwJxJ5q8hfhVf0l5KrsyGbf6J96P4gr+ee + s/Ws6HwDyAe/+bflwbvv/8Q7/PVv/3N55bVflZ0HbpPAYGnmRUikt5AlcwgriUVHG+lYXAKRXKSupbBl + H8ysSFBi4cFUimSnLcN2PJ44NTkW9kFikhbytR2EcylZJ2KPg/xFhKuCikkRWNSl1PebGpVW/HjIaInE + aBOusDfTStbr/0ey5qN6HwuBZCwsUKxXx7Kzx5aOPcJXnFsCb1tZ+728rm3rie/Ua31K5S6LEavxtLZ6 + /0TnJDTQ7Pt0f8/32gvhRL+r3zmT/X7S74YnFDJUH6X86vHW95KhVVuPOPwEq871GiJB2AgCQCBQhEzg + STZyniEtZI6wE78dHVMngmRXcf9r3RLGDqCwXN5p9UJqLgQAWT6C3Mzlpv2Mq5uBW5xUynusDefTnJ9Q + DYfyFt1zrysTh75Sxg8/XSZ2f6FM7HqgTO7UtuM+P59QqGpi9+fL+K77yvi+L5axC75SxgQcY5d8p4xd + /mKZ3P946QpYesp9DAQYfe2zd668mC0CFeVGIgcCgKh4uLUm26HK4fvVoFwKIE4hB2090gL9Nhux0Q/H + rZ9PKi9/O79HR46MnZ1Gij/RJMplb737x3L1DV/+xADyh3/4z+Xxr75c1px3TIsT15ZFmhdez5uF2ij7 + PQrjqGlc9gSquYca260gMky847JXmiJWel38EWpAybF4PV+EhU31t8JEbgVhBlV06a2Uy2BiaU4CngAA + VZOfzkdU2mEyPioduVIkMxSH0qhJ8LA0qUxe76R5gAbhq+M3hzFkgQZdeRhWA6QclmoAeHj9huDBtaxA + wqJb9J2TgsNRff90t9gv942FOQSd0/0931u88Jb6bf3Omez3k343zmvBxnX3+cb15T5YIcu4wFOEShuh + K1WMe5sZGjcZfo1cVs1hhTxaRiR7Bp4sJCW86hxg3nt7N06mr3NeBQDB+7Acidq7bDleiLwSdVF1/kUG + CN+DoVXriPxfhLEwRHQePXkLsKYm9z0mIPhBGb/w62Xi4JNlTNs424HHy/ihL5ex/fpcz8cUsho78MUy + etE3y+jRb8kTeUS/FaBc/n2DSGfHA0qmX+n9Oo+y6SblUa5SseHRMHoEvt5a17XKbH2vLcMnNmJOcG/r + fWn2X0PYw3BWQ+11fqUaVsjXJ5WXv53fc69GOmfHA3nwoRfKsq9/+83y5DOvl0sOH/vYIPJv/93/vXzw + m39Trrzu0TItAVtwwwwm7YVJdSsK/0Bw4J3wljcixRteAYwVQk54BcEldwLS4S4l3ZMDzgJvL3aDyKya + xTEYypYhVEuxW5Id44FNBpDweCqlGBADaKKKPOtR7CktFNDeHIyW4WbmCzUh5vpnzkbHzqS5EfWbgWm1 + JIAoUYqicKdVkv7VIzJrB+UzPK8KxAEY9TpyLeN5s7FADNanI+gkP/kejyfacj8rpBwE1AEg7X2f7Lf1 + s9P5/ul853T+6wy/k/LIOQVYYITENeba8p7vte5xeA8b3bMKqi1K3d0ESGa7PohaomTj0U065Ya8nJmC + gFCyAG0weUCTNhfx4TUHS4t9MVwKqq5Bg1wIxAsn1AUgFUTk+cDKCjBTE0YMJFPKJT8K4XTJCYo51VGe + Y3LPIwaPscteKOOAgsBh7MizZdzb1/04pkeDx0XfKKPyPkaPfqOM67GzWW1Mzru5TFzwdBm7Qp7I3kfl + zZA8F4AINLoCkQ6MLJLrC8A4Abgls3X9L5DXE8rqiWWy3pvm/3ytY53G2oTtWRmMuT6a/zlDGTnp+vg0 + 70vMO8nd6tWHP7a+r91Hzt18uCy7+3PfUujp15pUdsnH2uF/+Y//a/kP/+m/F4Bo446bUilJMazSRa5b + 3kQsI29Yd1pc9hi8mFD2oicaPCp1FiotVNmgyQbYRL4khARaabV6EFoUnVpW41Xoey72Eui4HYT3nbUd + 6YUAXMSg2a+TkgkEwZmvlNW2lTqk9QGAQZ2MkEUogWCAweNn0S83gIiSuWjDevW5wMKpdSpJ+Qzqrv7T + 1lxeK7/m+fC9xUDRX7wYue71vfZ9aJ4L5FedaBveN1uyJCiJbZ/Wb9v7bN1//5bPlnqs3zvZMZ3dzziv + gZSgAcReByGfha9R/LQ0tyFCgtsehMBDShvvgxyGCwNN7Y5iVhsA3K/0iG0oJYWdqYammbvOSF4ntGCY + gylHIbfRow1Pw2Gr5WMKh04ZSJwb8TbqEBjex6iT6gIyz/2gtkPyDzVXTKqJ3Q8aOEaP/VAA8HIZu/S7 + ZexihaUufk4bYCIQAVAu/rZfjx7V86N6vu9Rh7cABzyMzubb9P63tH3TSfeuwKmr+whwdMXigurbc/gq + 10r1RKr8th5PLpMps0vKZchIsybs6SyKajTXOsPcXjdpoDRyd3bl6MRr6K/3f6YIQ+qejPQOfCx9X8Hj + rZ/8TrpNebprbn6yfOv5d8umXbdotvFnzmin//v/9V/L//zf/t/l/Q/+qVx27aNlRsJ1wosqROeGepOV + 13OIQIVMyh+wcAg9WdE7FBSFVjFONHpNsfCs9LVhuVnJYzlaAWSoRULU4btmbzFeFs9GAEHC0qASFebN + vpxsPy+qwqnwbRQ5AMKCqEo7jrnxeKRQqwcSyXuSrDubHlfDEJYAREqgAREWv6xH52iIX9vDIuyQYbPq + ffg6YdmxSACPvG557Zb2HPD8hpZRLJ583SxKJT1Xtbcq6Eu85/9XAtYAgsJd6ruL93eiffNbPquP9Xtn + us+T/d/pf8a19bFUmfR9jmvFdbOBgHfpHJla0WDtj9GChtzHjFlR0fMKAKmFg4SQwiIO0A0lx3sYGY1n + 7e/zXdqEhBHUm0u5ZWSsvGHyG00YC4OEGpGRCiAKbakp56iAZlRybRDR9MJJ8n9KZHdUxzG++WYrfABj + 9MqXE0ReFIh8T7mNBBLAgtcKUY1epo3vK6Q1IQrvJAWDG1QHIi+jt1Z0X1Whj174VJkUrbdDIaEAt0t+ + hTCZvJIeyr0JMS2S15bsHi+PixSt78tS9zG+N1wHdS0maNkgjVqlYRiLIsdcA8fJ3enLytLH8+n9/dTq + y6SnlbtaoXs2c+UZ6ft238MLLrpcxowMmyuu/aKqx79fDl38QNl35N5y+MgTp7XT/+3/9F/L/+V/+/+W + f/jn/1Luf+i7Zf2W68W+urRMSQC8rbzkuG2g90KICLlknFlgYEaJXXiKscJCC4ojXgSJQiizKhSsNR7M + +zB1LxR9E+pxGIuQVwBI/D6KvIK1kpXmnuPMwB5mMDBalLBShNBq6GGYw+FY6xa5nQiXUfAIdZNHKMdb + rWRGxykcJIQl2i7gsWAb9XFESwua60XIyv9JorrJG+kaARwCSP93taSaMNUwDMV15pr62vt5G0jyHtR7 + 0jxelveJx/a28P75+upcp9j/gt8u/t1J9nPS39X/O9X+zt7nXJ96LkNZrGBLPF8KfTY8WeSIkBJ07Ohj + JsXtjfxH9lxL2Qy5EeA6j1Vj8OSPZCBAssDIMEtwayTZzTpKrwcQ0e+RV9eEMLM62Vgk1QGQ5a5QV26E + 9+XdjqpYdswFjSsMIuPTIpuoBcm4mFVjez6v0NTXIjx1iUDiipfKGJ6IkuKEtEYvfV6bgITwFptAhZzI + hBhXnS23y7NQK6J1KiKUtdqT8gVIxjffqO0mt3fvOkeoa0SBIXkRKSSvCxR1Y2xUkK7y2NIHJ5THE8lD + vD80kDJkm9T0CEFSKkDNzrDFyUBKsn2/F8r62ZOpT9t+5+VZrhZte2bN5WXv7ttOS9+3wePJLz9Xpqbn + o/3O5dc8Vm698+tl+/47y9ErH1IzxK+W2+/5bvnOt14+4Y7/z//L/7P89//1/1P++V//qxLnPypb99ym + 3MflQ2W0Mm8Oj1Zsw22g51Zyjq8HiDQFgHghWrDRqwplH7FhwMWKGu/CrdHVLtvdfklyk3Suih1lfLDp + MRV9tbIqnJBDNi9k8eORBIBssLIfk9VXa1AQxGA2scBZAHnMgB/HbQsVqxIAIdG6yyGN4OnLQq0AQgK9 + DSBKrE906WcEEwzKLoyrdMX9n0OvwYvCC4T/jIXQLKDW9zg2ru/wGFmoC6/5QgHnPrU37lV9Xe9bLNb+ + nCxqWcfN/gw2i3+/1OulFmeVj0X/ddr7PJ3/PdV3LrOFW6/HYrB1SEvna4/BHZuVk5D34dCVjYMAEHvK + 9pJrJ2bAA08jPEruI3IRObxIpjtHkSy7kFfuab1vCgkhU+mNj3fU4j2LCvFeRzo6BnkZyxzKUj6E9/pq + fzK3o4xNqYWKPhuZkkF0zsVlbPtdSoYrMX5ICfMLn5ZnIU8DkDj2I3kjbAITAcqowSO8knHlOSZ3fk7h + KoHHeTeVHslxWap9rWm8C7aOQG+S+SA0WiT0hocGRVjeOEBisoXCggDPAk+jWTspkwsMliVkb0l5CHlq + 7pfXRM0B1hxWyCpr114IgO41nOvhzypnp5LDv+zn02uuLOdsubFs33uHIk93lS88fPtpg8h3vvd62bhR + nvKEwvQAyBXXfanccNvTZc3m68v5e24vV9/0ZPncIz8oX332rfKdF/5Q3nrrX8tHv/5P5V/+8b+V//Af + /1/lv/4v/4/yP/3X/1v53R//x/LFL78i2u5dZVZurhWLQeREWxUWFjFbJNvDhZc1g7LXgjS91QyVSHpH + yCnbmmClCUwAEEAgwgWZC0lFjBsbHgg5j9rzSnFst5AI5pNj0QYQ5i6sjwI/WZi111WNZUfIpR5vKB+O + 2UoBRljy77EsiY07Lk2IQ1RN9scFJiEaG91WFfpwFTGNIomXV5BiQYSw+z/9vCbFq6IZhl28QFshJS+u + dP3r8wWgwX1ptivyeX3ks9bzer4ZvuN6xr6kALwPvnuqLcFiwffb/6PfV3k57X2e6j9P/Tn3ssrnUAZb + 4SxCM5k4x8Ag3Fi7J9fcBwn0Ko8GkMyBhTFUQ59SptlSxJ/TQqTxONIYMJDFWuHe8ftgEUYdUy0qhI01 + OinarlqYRCgLVpZ6ZSmMNbb6YBlde7iMzO8QgMgQmhfbS17CmCi5Y6rlgJI7CoiIkjsKaAAiBg+BiMJW + 4xer1uPIN51s72y906yt3jnyPuRRBNsKD0Qeh3IOXXJChJXV3n3S83vq+AJap+i6ZS5pkiJDQnk10lBl + ugGO1A9LymT9bPG9HF6nGnocem+t/EsTxqoNJWWUZfhqKG+nlpNTy/enfx/zCkVu23dHOXrs4XLZ1U+U + O25//pQg8uw3flS2nL+9rFy1TnIYdW7LLr/28XLjbc+UlWpZMLfuqrJ5520qBnyyPPSll8p3vv/z8sY7 + f19+9dF/KH/8x/9S/vHf/Nfy4e//Q/n+K78st372WaHXZ+QGHdMiyAvKY32OkqmvF3+u117AEq6aW0Dp + 1+IoLHkr//RCmlCWi/f2GkBcv5EWXrXWqysb3w92TOxHoQEXcWlYj7unRisVeyCKOdc6jagMp5q3sqFQ + LlV4E0gAECc+o4Mri57ZImMKO9AbqbJjav+rIYCQ/8hurbI0sTj79iQynupHWX22rBZ7Pum+G8CqJ5LW + 6wKA4xgXA/hiYRfYGwAWP9Z7iELTceAR6f84TiveRtHzu5NtJ/q/+p/5WwNI/e6p9nk2Pq/yyPnFOca1 + DA+zGjL2cs3gE6U2Q1dm1ckoAETMnsscXRTARkdp7mXIITmUYF/VXEr8B/9XjRHu0fCcBqwHfScMqci7 + jElWIw+y3Al8AGRUs0NGBCYGEHkjo7MCjHMuKSMbLi8js1vKyLTyNfJCRnfeU8b2KomOF6Jw1qjqOgCR + MfIhhLNIphO2uvBrZld1tt+fjRKvdc6jR6JVHgjhK3sg8jLMhiRXCSMya7YCQFmTWg98By/KIS2Fv/De + q7w2Bg7nvZTyrbJYDYvF9zvuXYB+XQOZw6qRjBoSb+dBZHCGUZaGQyP3Z0OePv37WHXedWXvhfeV6xV1 + uvfB75QvPPJGeeVHPzoOSJ7/3mvl+usfKOeeu7GsWq35Nz1kMDpsLLv8uifkgXytrFTB0ZTAYGbtVfJG + bix7Dt9Xrr3lKXsjT4jm+5Wvv1keevyVcuPtz5Td+myV+uFMAx7tbXW+rgqGz3h+3PforYNAVOsLts+h + 8CzkiWDJRxV5tr3G8nFSXIluFyFSvwGX/rxIxrcpvbL08Agm+zBTmP8MNTg7qNJKghxEzm7A0oNhU2s2 + ahK/egdeBFKcPlYeUax6L+pRCE1o/wIDFji/dTyaxW66ZwyQihCWEp967pbcbkFBsZe8DHsNuf8KBBb4 + dpIuvTV/Htcrtvpajz7GepyLFLXvwaL7tPh+1Ne6V+zHCXxCg05cJog2v7lK9/MkW/ven+h/+P1x3zvF + fk/2n6f8TGGVeg+bexnXMQyYTJzrfkKrHhfJYVTMPEJXdchTDWGR66recmXhhbWNMUQoCnYhJA9yHLqX + lnPkp604uR+t89X94d6atGAAo+lieMau/8C7Jd+h6YSjA4GIvCCAZaSjkOnqQ2VMA5+Wrz9als+ohc78 + 9jJ6/k0CkXvL6L6Hy+iBR8vofm0wrkzpVQ7ENN5vCDzkeQAeW+R9nCtK7jm0axcA4HmskReCHAAiZjjK + s7fnrmNzR2KtRzHJIK1M6P87a0XrJYTFOt5xfyS8bf1LLgHOlM/j9QHXYSifA+uL9nstWUn5bAOJZTXJ + JQ6jtbwQdEVdwwv/908pa5+WfeuaC+hXS4/vO3J/ueWur5VHv/xyefa5d8qNt36uPPLYt8pjT3y7PPjQ + V8refReU8zZuKbNzSi/0oY8TviI8P04ISwByOwCiJHjeuLiJx8qc3NnVm24s52y9xdtK/RkAM0DgG2BY + fMFayuo4xdVeNIHgXjjJOKrgMCnAgIniMFZD7c15CvSjkvKewIOACUNSsqmAZQgOACL6JcN3mlqNCGX5 + N9RgmBKcXVBzpKjbZ+P5uE02CiDdcJS1lU5YQGagOP8il57F4wpiFZlljyMzdpYAEN5HKQT/H4sVZhML + K/fta1G9nAoQ+ZhKfAggLSu62cdJAOQ4Rd6+Z0PQr0rW3pFDEgAooRYpP+/jZIujfn4Co6FRCrmP4+Tn + VPv/JAsTBc39a4GzvQKAY0gpx6OgOwJhVIcgsfJphknlOc0xaw6N8GjO+jAb0EosGESuROf5koB+4nPk + 2nO9ka1gDwb7q+nKawCRF62phKP9cwQiOq5J0YlXHSzj6j03vv6ysnzNgbJ8Tp0QVu8vo7sEILvvV+Hg + l8qovBGHsgAOch4Cj4l9FAfeJ/C4S0WBtylxrtYk6xJAHMLCAxHAAgrJJnN4OKnIExp7O75RHosq0SfU + jHFChYWTovU68S4Gl5PwXG/F24+7FguMkfY1qXqlAkhLVtLgaBueBm1f+yErK2rMsv7GYUR50BW8FqyD + TyJPfwu/HerpeZEmNiuZfunVjyj//XS57Mpbyh2ffbTcdOt95dIrbixr1m0s0zMabiaZ82RVF0pHflce + yJMCkK8LQG6QgrhG29XNNlit/jerFm681/5OPF/4u5O/x3fz+9oXQBSWfVAByU1g1RPuCY+ghqGizfoE + A6ky7jyuhDTfseuM0MCgMROGIsWg+/K8kwV/LtZyeCBovUHxVRdU6jbg3OsRr8fhKXs10GdROmlFCuzY + J6EK/pNjI2yFYok2E4yqxQOB6in+vnjShLBGhNQRPoOuTPt28h8ACEqfRYOCI/lYgSEfHfIAYAPE+nod + x8M1qx4cAMQiDU8jHrHaWlvrnh537/J71SjgGIh3cy3rMXpfzT7q/Vv8WOWmLq6hHB0vL/rshHJ0ov1/ + 3PfVehw587WDA5+eQtKyMUbCU5UxYCq5cglJgohHsaBcu6OwqYsAc7iYG24KLKBDVjnJ+1XvqT2/eh+a + dbLEeazmGAn7SPlCbc+xBzADa1uTcbxl6pY4RoHIuGadj6/cXyYEHhNiX01sOCZP5OIysmJHWb5iexnZ + dI0A5AGBx0PaxMo6qGpzWFl4Hge/LPB4UD2t7jF49M69Wb2uBAbrrlH7dtV1sAEehNWQA4AWEJFxNmnj + TOFmAUZnvWaEULQowOmoHqTD7BB5MpbVc64XeEgeZTg0Mm4QWEp/DHWI5XexvLZkuZHT9Gx8P607Mp/K + 2oQI4fsa6z/W2eL//rjy9Lfyu9b6TD08J9BfteGSsnLtnrJx62XlnI0XlLnV0rkicVRDymsCfSkAWQaA + XHH9VxSW+oYA5CbduGtPsHHRTvVZ/c7ixxP9Tu+vviYWtxVieCKEd1g4LGgs+UimE8JiI7dBVXqEgQCT + GCu6yUITGwJ0yHx6hCc2wl6iAWeRISwX2FB4IqMCABS+Fb2URdSDACARzw6lgycQQEdFe8x7pzHZFgFQ + UISjvYQutD2QqBUIACF5zohS/afBEYCCIUKeA8FmgXENUCAARoIVnzWAEiARx1HBjEeOKcCj2Y8XGwo6 + N4N13eq9aIE4n6UC8zFIYUR9QlBaY+HVBX6Se4l8LPmfi/8//i/2yf4WH9sp/uOEcnhi+QzlTA6CkJVk + LBVLyIVCnK4zolmiQleWBWp3ohCU8BGgYoOjAZCcTGk2EoWkhEoIV1UAb13/5jxPcHxaA77+vv9iPema + d7RPeyGSb0KhgAjyjHc0QThXdUMTK8U21NjZCdFqJzVqduKcy7VdWcZWHYpQ1qp9ZXT7HWV0z+dUHKhQ + lvpdjakn1sTex8rk7ofV30rex6bbpfBvUbfdGwwgfQBECp/wVR9vW+uxZ8XMFs8NcMpzdGiTwqZq9Y4U + z6S2DoOmzsGT0b4EIL31Nw1lM4FkKEuLdUrKwXFy0XrfclrXC3mjMK7CKKj1ZW0AoQvA3gwlAuanKcdn + LGNnW2b/HPsbXteqg1kjk1MK/w/QtTslbxhUEDro/4bnEeBRAcQdE6644avlpju+qfDUzWV67XUfY7s2 + f1Mfz2Qf/IYTQelhhbPIARES2YCAwk1KTg/ZWDFeNiz5CG8Fu0qxuWREuUZDGwtuOGYzWFMoC/8+5y9E + w0XaR4jT7DxF1/vrTuv/k2IbSbgIDwFwQScOSqbzKbB18D7o0ur8h8CjCWOFBxIhs9r/iEr66oGQnM6Y + bxPCwvtoeRcNYCT9lFh6O5xkBT8MA0xLIS/Y1nKN66bPdL1ji2vPY73+HEs044vCOmLKWIPD75/iHvPf + zb7b/zv8L/+vv1ffQ14+juycjpzxXyhzwkPDPk1m6HmCZbS2adcLRcGgRg/TssTgEVRvy5xlBxo5xoc8 + ArfA2Wm5jXuga+Wtnt9pXC9b2yi3CJG6yNbD14KFSMffUYaPeZqn8i8OscpjUsdmCgcnRasdnxcArr1Y + YKJNQDI6v0sJdRXIbrjUoSwYWaM7PlvGd6rCfOfnDR6982mQKPDYII9BSn8gpT8QgAzkfUS+D8UcDLUw + dpIhqPdGVc3eh9qrAsMJtXzvKHoxyawQ6Lzel/YDkAicBnV96z28j4XXZgkZ8bVry0R+J+V66J0EeSd0 + RiTWA0SIDkQxZxgKeIkXNWvE98cyejry87f8neF1DU85jPjKXnUPQlPZKWyN7tOVkTgMYRlAnkoAuUUX + VYnxP/umm2TExwobLiKsQjwBkC+KtupCB0TwQig4DEBwa2zXhsC9J/yiuGytFXFMNPtkCRjwYur8BbyC + yF/QfygBBKqv+3Alg6PxCrAOQzhtucpijZ5WJM+r98GshvRCBCYUgQV1l/b1DLpi1C7Figkg1GtkmGOw + ItklCzyM6m3kIjGDhRAAinG4hRW/8L3m8xMtFL7PZ43nEIlczt1hmVyQ7DsW26lkI/Z16oXJftrfO9V+ + P8nnEEOkzHRePdW0xH0LAgbtQKrHGOy5uIfDjrfMJFfcl/oePMzaxDBrQagRwciJvNTQSzu9awUBpV77 + 6oFXVmLQ2jF47HF7BHTQ2Z28J/dCm3jyEQKaCVXLU2Q4Ab0WAFl7qUDkCrGylAuZ2+Zk+rgaJroT7/Z7 + RNe9J8Bj812lf95npOgFIOuk9CuIJKuyCZ1Wplrm2voCus752gdMKyXcxw8+oddqEa/6Earg++vZn8BI + MmMA0f4tnwCJPIDTk0vuecpcXqf6u6HHKuAl7FuT9A2ARPU/98bRBxNeVMvUAHyVvU8iV38Lv01w9PpP + Ax4PhAiM83vSlSYrEaUBQPBAIAYFsaTJgQSAfEseyK26aTf85TYJiq0LkFCKNWi4UGRjfKi9EOi3SdEN + EOE7hLJU0yEgYIGFJ3LY71XhCcUf7Ufck8ihL+U/oN6ySUkEgGB1RvK+AhGg5txDuu+1oWJYpppOZ8VD + 7oOwVYCHh/9oow6k1qzERDpafxPColqWHMswn0HYiBt5fIgK6znyMCyYAAqUT3uBLXpeP6/fWaD88x77 + OxAnwjIk/GIlC0MMpTFPjuaK4f+cVDaqQjwZ0LT+9zgw+lPIXRxTAEjeP/JjNiLC8zABAgPAYUwShNqw + tJz7COquF0ydZ68eVVGFrsJWt7rBQm+DelzTU64jH1cs3MFKhSZlPESIaNjipzsTDMJq8PC/tR2PySEo + SLwQ9b8aZx67mIuTAo9JhZEc0lJeBMbW+NbblTB/rHQUtursfEjex+c0VfDe0t94Rxmce1sZrFf+Q8od + hT/F5khAhkwJmzbEjsr6I3Sk8Bb5Da3T8QNPKCymzr3bNGuEZosb5NWcc4NARDkQgUf/PP2H9xshkwWy + u5QcWGaRh5aSbsnzMJReQ38RyqrhyXabpAogXC+vHYewlpLRP4X8/bXvM65vlUNkET1p/eSQLhEehbF6 + G6MPHJ55E8aqSXRYWDc8XW6689tl5cbPlOl1N/6JNl3MdXVb6j/iMwswnohDDhd5oWONuQFhxp8nVcUd + llm2ZnfDRU05pGpYQGC3FcohHopDYYS0AJBh4jviywo92cJc4w1ufSiNfia6cX3THXZCOSpenZSn8lz/ + R01AUHcBD4Wv0vtgv/ZEdNFrx90mXJI5EBdA0iKEG2dKL6Epzj0pzn5sMbOwoBrLvbW4uK4suHp9vfC0 + SJrr3b727e/xO5RGen8KI1oxkvtB4dLCxJZje18nko/Wgj/h/9bfLnU8fwq5i2MiPFcTraaiplzA9Avr + nsI9jAl5JFn3gec4nOGSkySZT46R0tTwJA3bIUgppsZL4/xOcT4+LvJ/5LUybOXcE8lfrGbl6/CUXLsk + GZWcuR4kc4JRnCgjRIxAAIRwFgAyIVot1eKTotVOMkSKBLu66nZ2PaRiwcc0HOrz8j4UvtpybxlsuksA + Ig9kw632QCwHeAneMqlvBhUGHd6RlLReh4xmYlxyMikaMLUkFC1OyBPpbv+cPRuAZCAg6W8SUOm59y9Q + MTBYRm7K66TnApoqrwvlLWWlAZMEuUZu5ek0RlcQTIKSzbql11h4IFxP06jb92mBPjqNe3aqe/qp+zzX + R+pc1okZgDT6dEErYV4RS2T0hn5rAYiMqujvJwC5/PpnBCDPCUBu101UHuSEGzecz3lsb/U3J/t88W9O + /HoqFz1WY1jqymcIPGz51US6wYNiQHkSdrnkhdC3yB1S5ZXQnM7dT9Vvyu4sTe5gkVzkBGWwXOi9JevT + IKIFSrLbxWIDM7WwACMXAA9elqGtw5g7EiEpXViDRnofFTxkzcZ4UiXOPYuE5pAxe6SGIDiGUABHreBC + uBVGqElCJ8fDEnTyFxfTi6Zt3WrRra2Kqt6XfG1A0TXmc39n0fXO96f0Pf43yAxX2iL3IiTko+sV/1kX + e72/S8lIVQb5P/U/l/rv4+TnZPs9mTye6jORQnS9agLdykRb1BMRfowaICcI3TWg3X6/PU1S42Vt/dMd + gbCqQqTu9FpzY5mYtdWc13vtSc6Ja+7julr7EF02mYMwBZHlaLETs0cMHlDVmSeikBsy6oVNby1TVaEg + 007ksIv7RjUJs6Majo68j0lVGk+qOLijGo/OtvvlgTxWevI+BpvvKVMb7ypT592eHoiU+zkQaJLc0Bhy + eG4RQu1tUBdehbzCuAlPwjIphmZ3K7PTby8jl76g4kUB1f4vC6Tk4eB5ACLaelsfEHgolMU1Aiy4Pufk + /dN/t/WKZbwtI40sCXR97eqW1rM8ucpKdELdtTiEAQlZClztye22hxIGEftZ9B/+v1PJ09/Y59yDlEW8 + EOTR8u3wqcKhbmRL/8HzMweSAGKPfAGAPK1CQoWwFgCI8iHrFm9cQN77U15IFj0xU05IIRWHsmg6eNjW + F4odMAn3imZ3LDimGtIGZbeTmuQ1DBLuK8T8EBYZ4IFlclEIFRfGuRDaVWDhiS6JB2IAYdaDqLk0bDSA + aEEmrdXARFjNYJXMK4eucvPcasaVMhiIanqKGOnqysbz2LhBBsd5qnUJS+F5hVJZipVVP+faLFBSfl2B + gsfYvFCtxFoLo63Umu+hOPhfta/QtUGxBquFojb1EKr7b+75UnLBe/k/9T+WVKAnkp0T7fOTvA8hJK5D + UHgvT8Ublj2eYnQKULKcmRuu+RBd156HPA4aYeoxGFgq/sTjNVuL0BGhxyiuNMhboeLFoZjq/RjeiwXr + Ze3N+g7XXMYCrCtd4wgbiA4umWlyLaaZK9yJBUjoMw0nvBCz+eRldE0WkTxbvuWJCETGBTTjmnDZURuS + jrpKdJTYntyoDrpbBSA78D7ul+dxt8DjToGHAGT9bQIPAYjun4/fubQwGjAeBgAF127PF/37oPAjq7lJ + ERMO6226U6GsJ8uo5oqMH/1u6cjbMYgoTNbfoBnq+t/+xs8GiCxQ1rrH5yh03tIpvoZtHZNybL2wYMP4 + 4ZhDfgGR8Oa4phARFgIIa23BfTpOj30SefsU/jb1RjUiubc2vmcjd2S96ga2ahKbZQnDkC4GV8sDueF2 + QlhqiIhVIIE6+cZ3YpvRdz/Zxj7qxr70HGGWqxtJN80bsKUuz0GL2Al1h6+yz1WGslhsZllhWQoQ3LAw + 5yvEbA9aTEeMGa/CNEkDTHTqJYQRdSDkQIJFNaFqdXscZsWwWBFIakpiRgSABlgYdMy+ksdB59YcFhXd + fbF+dFwkb7N3kAHEYTY1gkTgCYGkVTQAOPFIXHQHqYDPSPqF1RqLj0XYdrm5XtUTQXHxvRt8HWe0SLim + 1aLjdfv5MOyiedg6pyieZBFSgSxmkfbLfk4tF9WarLKBDA3lJOQpXzf7q7ImBXJKmTuVTLY/RyHFNQlv + loI2GSICjlrfg/ygrB3bbbvmzn2QJNTYWclR7ZpcwcPerCuskz2XNQ0o2ggBxX0JRRn3xPcgN4dpfY8x + FKCghqJzC3f6btHRgF5wDnMG/dxjnz09k3EBK1yTMqkmhpOq/OZYurSbcUGkPBEd37jYfhN8X59P0lZE + oemekt7dLZ+Volc4aeOd9j6mNmhbz7UXqPl6BY2fc2lkLEGEOSH83ufpHFx4wshZf8s9pW+P41aFsb6q + Ro2vCESeC09EHk9/s4ADENmlYXPKuVgO/L+t+75+KB+W8bbsVMDxcQ6vLf8dQBdhMYcD7bFnxID16pku + 0YTVOcbqgXBvGl13OjrvTOTv0/Jd1mysEUgtyLRr1MitwYBlbIZzIXQZp4loFNRGPlBzQOjvRwjryhue + VQjre2WVrIUZ3dSFm3pd1ffkfcwct+n77fcAFC+W9uNSv2u/xz5y47/s5aR75QToFU2RIGNBxzsxgtZh + oRrSUtsSXqOw7VXI+q9J0mFRHHUNhKEUa0axAyCiZLJ4iW07hGHWVOQzXIhoBkeECVyclEl45zgaui7J + 1whlBSuL0EjMNTFQ2NsgFst/UjfAa4oRSVJHzUYkDGs4KUMiyYdfkJD1dWmFiY57jgVcQ05xH6p3wDWu + oYIAEi3IVh0GYBq9mqIiGouE7/jenIMcnGhLGch7Z3lp38+2TCEXC2SsytfJ9n+Gn1Uv2dczwhucD0Ae + RAiIAtR/wHc/P3uXxQLxpEFTs2nGiVcrGfPQp2D2kex2r7HKWmnX3Fi5ttk5i0KH9jyCKecQEEAtGXCt + h8MCYlKlzNXQLTLHfandfGHF4B1NzOv4Vbzn6nHCjVKe9K3q0Ilai36ceiMaINKWRN5BT/mO/nl3uFBw + IGU+de4dZVoAghJvy0gAbyrlXIPdbZ/XKNyvKp/RqhOrISB5BH15Fz15OADJxAGNyD32ahm/7EU1any+ + dPZ9pfR2PKSQmcBn64NlsO2huP/r857KAxrKVegey1yVoSpTlsGh/DYhrsYjjyLo6CkWBlCs2QjH+B7q + /sdai/URcl23M5Sxk66HT8u+8nr6GmrGPfpNnrBD/cidB94t9kAyfGUPHQBRq50rAJC7ni+rZCkMb+bt + es7NrRsXJZ9r6FT93jRKyZYEB5NuXOPGR3K3xizboZYIsSwOhcXvZ9h/VXYOQai9QnVJtThi+FNQGu3a + Z1J9AhDJEJGZUM5trLOyiHBRsGYMICw0vJVsWkcx4fKMg9dCQD6LmR3kPXLaodvJq2kdCVV6JdUW38yn + zlCYAUS/DdYXwBHVsFZaFuR4Tfx7ajXKBFZIhD78OmPMZqxgKdmlz5BUhp6a/Iattcw/pCCEddiO6dZr + CkmieiDxGHmXCPFw7aIoUUlnKcqwprknLLK2LLSfp5zwHZRB3rvjQMeAEvc19lVlqD4/0f7P8P31Op4G + KEUnzer+CGdQkRw5hyaMKdmBOec6nezwbGBxD7bId+DSI38u4nRhZ1J2fZ0ukYI/396i71stWMQwMP0Z + DyhICBHiijXhgkOYTLKSMTxYiLVDQWXoRW5ERYLk+LAKkRsIJYwMUCW6wWG9WE8UARLuVYK7Q0df7RMQ + 6cvzosLchYLe1CWX4j7Rb/EIpnW/fG99vTK8iJVvTwoLPSzpzsGvOfkeBBdAMjwPW/Baw/2tCo1t+0Lp + 7viCHh8s47SMv/ZNNW58tUwIRLoXfKP0d32pTG1+wI8zG2Socp+QFz/XY30tueA/LR/VCLG+GcpMyDAl + BxhTEar0GtFx1fuN/EYehOsWhhv3M2qaWE+5JhYAwRnK2gnXxKdkP/W+Z6iX6xSh/gAQG8EO9autVI5P + DkMnu4xXALnyxm8MAcQ3s27c5JNteVOrACy4GWkxtMMWKKyawGoSjjUU00ry2ipAkAIhI+EophK9/gUA + 7jnloUzUgQTVrM6UxvtwBaXc+BqKiuKrmBYXPX2SSaULU0NYkQin9chYWqL0raLjb7ZDyaIkFAuUYlw5 + h69yvKm9D2LTqYjwPgh9oQyipQIJ3JwLkY32GjpiK0ldOe60gGiSjg2IZBIyr11131nwNbRQ49dDlgvW + XCjrGjKIEMHw2vKfobQI9RG6isS9F2reixPLAbLSMijq96sstOSpGhpD+ToTWTuVLObnWtT8T+TRVFXt + 7ga45jsyZyEAyZCkw0P2QPEWh55h9DkDNJAXPFZ6q0FtVp8rZJDwFSEo7Z+ENzHi2kqmsr343KFAwGZR + 4hZ5jpY0CqtJnoasvyCMNB0QBE7cD449+nXJIKGVyMpgXJEs7wEIG6TEqefAU2f4E72oBCY9+lpt1Fxz + GiS60pyCwZtM2Z0ikd02/PJ55IyS6io5GZwnz2X7F+SxKFfitZv5EQNIeLe9nY+UrsJTg813Ozw2duzH + atr4chm56edl7Oo3y8TlPyrdQ8+W3p4ny5SAZrD94TIjDwjwmD73ztAxAAkyY1BLAMnXCzxfeywLcyZD + o4j1QW4J+Y0mmWHEheEWBpJo6U7k53+ctq47Tfk7qb78a9pH6O56D7nv6E3kODw3irjpBhK5Ypcq5IgK + 5wntgaiNCa1MrrzpW+XGu14oqzbhgWBR1hPFOjiDrf6uvY/63I9h8SAgU2vZWOSRBKtJYqwIx40T3fl+ + JB216Jwco9ncgWg5AgPLdRUkpmFckRQnwR4sm8hP9ByiwvqwNVIXohPpkWSPEBbxcLWwoHWFcxrBpCJZ + HrUl0U8LgPLsEHkeASCR++D31fNAKdX2DzWe6BCIWqwYUPA+CIPYO8sYpC2qUHpB542ErK29TBz68+rR + Vc+hsrXcGqQyTFqsKSuGsOCGCiO8AKy3yBGIqSNLI/oeUclLAz0tNHuXaf2dUA6GnirfnV5glbUWjP8/ + P28W2RnI1unKof9H7J+8HuFZ0UtNLBx5BcPEdXghlg0z4uShmPoJ2y5ar5tIYFqoQkNaXCj93pyYaSRs + zUK62r8HJKKlBr+h2WaSNWgDYxZTJp7T8g0lHaBN1188ZyfEHSpF6dEBACZcJIVJ3JPD6dGChWaN8jqo + Pp9YpWPerLCU8hkkq7vKQfQBK1Fyeyrm6wlUSKJHKEt5IOUV2QY1/m8DgXtSjTWBEHKVXoZrNxT2IuGO + onGOxGHBJAtkOLW3XbUle78iALlPgCMAuVIAAohc83YZu+4dg8j4NT8tnYueL739TwtMvlWmN94doLFB + AKJt+ty7Gr0TADK04hsZ5D1kp8pyQ/LJSIYt6fA6m7qtWvSbAAKwRJIe7wrAQkb/BHL4adhncx2lBxT5 + QGfaUE8PfQgg6FJR3LNDgynuJpsAIKpEv/Lmb5ebPvuDskrccF/MvKnxXDf2tDYEge+GQHirF7H93O/F + TZvWI4vdAgyoWEAz8YlwNsISoRczhbJCmkR1dEeVBWjwoL10tJi2F0IBjGLH0UV1LkJeafkHPxw2lfIl + WryEL2DAkBRnWE/EwglJkcyEi08SE1YX3gddWpVEghedBYQkNt2nKD0WflMtzOD1h3UfjJlIxgfXfZi8 + MxNGCyCYZ6oNaVMVW89Z3IQrqpfAo8MhaRGHB5IJXMCjCQ/oeqeVaSuPzf8Z4RRfG4DDjemgDR+L6+8t + 760f2/eZ+x2Lz/eytRjjf4dyUD+fbstXIy+nK2On/l7IlIwO05LlBej6cP9YFMFw49pF/6SwrirrDG8h + wlMO6QEQAlZbsoS9nP+Sh+aaD5oE6j5YuQt408vh/iIntQebjQjnS9Kir1Z+Mp4mVINiAwhL2e3Iqf6P + /4t7igcVIbd6Lj3d567CUh21IqFor0MLdtFye7L+ewpB4wG49kIg0oV5JRrvJC3q5RH3VdtBjyrOK+i0 + yF+VhQASnxvAIdnAWxlskOdx3mcTZCKkVRVwfRxsVg5k1+PKdTzi0Nj4Jd8P4LjqjTJxyUtl4tjrZfTm + X5ZxAcnkZa+UyYt/UPp7vyrQkMFadQsAkvoiFPtQqQ9lp63s4z7Hlpa0PaLI68U9iTxIUHmDlWnafPXA + q7w2OuvU8nV6uvDTsB+BttdKXDt76dJvFUAsxy5BiB5x5IhdI5fgEWxFxlQYQJ4rNxtA7teN40ZyAerN + 5fF0tvqbllA0+6r7zAtb31/0iHIZgoqsECslFJ82xUG58UHVkxUmJUwsDrAABGDJoLg5WddoyHOAVURe + YlQn3jRWNHceABHtUZ6Avy8r0B6IkuJDKi/V5Oo/5EFUmjXtCvitDQOhaZro0JWaKWbeY1zHY5onAqxj + Da+jdgnGuoUJhhVEyC4s8ohFhwcS1j/eSXDV2xS7AI3Y7xBA9NwN/CKkggXZWFiNQseCrB4AuQquaQ31 + KEaO5UsXWKxeh12wmgEQ7gcgwD2Vxdg8b8sGgsj3WPAYDXVrLSK913ynMUZOR6bO8DuSJ453kMycfuY/ + MCKa60PewjIkaqruKY8BLKHkA7gxZGILRR5AgiJyODWr2+21eV8KG1Eb5HAYbj8eTYYDdT0rqNd7MEXc + XoraoSkMCpoWEvKq9zE9SXsDeE0cW/4v7/XkbUzuohmielqJet/fKqbT+dR3yANgc3X5bcqNMJr2OgHU + hU6q04QRAIywGudKKBM5GBpyPjeHp7TelGTv430QaqrGng0PAbRDy5GLMIDs+GLp73zMyfnOwWcctgIw + 8Dq6BzXx8LIfls7FL5aJK18vk/ps7Lr3yvTmzymUdU9Lv3D/agQk5KnKTaMbUs5m+azl1UZIluPCENU6 + qmysmu+qACJA4ditOKvMWibPUNY+9d/nWqMHwnCI7hoUEMuAhc7PZFiS6JkDIacLgDh0lSysBkCO3fwd + AciLZfWWB8qsLsyslMXCban3Fn+n/ZrvL/5N+73W8/V67g2QCeVTnzvBV5Wgw19hIYV7qn4/lNjTZyoH + T1nJa4uwFEnRmJ0+9EIIRRFCiljzgopy9zpaGdW+hKeynoOEOft0sl2fQ1tz/sNFg/S9Ug8lJ8/5PxV8 + qWbF4QezmbgZsH5qXJvQBLFZ8gs1mZwLRq8j7JKKrAlR1dBI1GbUvkvej/8jLeaGn0+BlPIejQWXnmDN + g5CQ5DOHFCOWzPFFaAcLmDAM7Us09yXvhe8l96i5p/XeatE1gMGC12hjNn+vtS26tws/P5kcneFn+T+4 + 405Um02m3lC6hw3/311vSX4TChUgEDJtal2SxJEeMcnZJvzkOoMMLZrZFZ5B9ULGuzHlsl17wP6dcHcS + nVxUxp1RcrpfeMADXWsfJzRKLH6s6CY/KE8SUoVfV+adFLdyTgMp6r7Aou+cwiNmNw22PazXDzo8NEXu + guPUb8l54NXW44sCVYgAuk4NSaLKYVyDKQHFQF7BQPuyN+nwkWSpkaOah5DSFoD0BSCDrQ+XqU33abun + DM7/vMJWbwlAvl/6+79e+vueLtPbHyuDXV8xkHSPPF9mAJDz7i2z5+o+Wwcgq7fpMcCjrRMWhJkcKudY + Mm/Syr1GiFzXiHuMUURSWAaciwnxQKQoCd1GvuWOlNczlLPj9OOn8Pe63vX6cc0ihB2dvlkzhO2jFVQM + WOO5iwezZioS6cwDkQdy7ObvCkBeEoB8Tgv/ngQPHv9UGxe87jufrw8hmmm2cGlZfBH3RFjwRGTxYEXm + nIJIZq8yWFRGVrR4R+FTjBUV7C5ClKfQyxxEZeXgolVPBdbWEECUqM/fxwwR1YlQYEZxmbtSVvCoAEII + C+9DSJ7x62Az0Tq8Aki2hZcyirhutdrDI3DYxXF6aKe439SsJOikYg+Fk72TmlbwsH+GhWzD/abnlxZm + owRy8QUgQ99j8mC0ErdFDcB5kbGgBQh1gXvhtGUCrwTQ4L7FYwDNwgXVeLULPv8TyFYeh/NGWahnJa/r + GHk2vW+Wm2ZYyPs0eKQC5VrU/F/NoViRmnIbcX97Zc5LyQtINl+MSxaRozL9vPiCwYWHGwAkMLbBQKcH + wrECANq2K58S9zNyJAPVRgycc5B1mEyjIRuqHa5JUgT7Yo3gdQg8pvACUORbxJgCQFQwOFCYqi/vBZqv + c4h5ry1b8nSj5QpKN89fwA9g4H0MRL3tb7rXstkYCqzB9BKa8NF5qgOR9zHY+lCZPu8+bciFcjP7nir9 + A2Jg7XtG29dKT57I1I7HSn+P8iW7vyoA+bxkaygH9gIMDshTBZWqE4YGZugCvpd5kyZfyrWtOVYMTQBE + Xn8DILDq9if7s55Tldc/gTz+yfTnWThWXV+v73WQI260DNeODehW61DTx2k+Sj+sSAfU5rBRiV4B5Jbv + lZvvfrmsPv9B3dD7tGEVsNXn7Ueef9Kt7jv3u6E+DkHFIRPdACzyBaEReyJikmABakGQ28C1IkYXORAh + pxU+PYQILYXnEH2OZv25WTZpgWKZsA8YVOzD098AJSfFo8leZSHY+8B9qwBCd1aGXmU3X+icztEQS3c4 + CcuPRUtyNiraozAQ6qFCdNV1tkJXuABaL79pVc6Hp5GV4RlaCkWfVdCOZycRwXHtXFgOObHAwqurYQqs + fy/UfC+8JYZVYZUSLiG2L8ViC43FlfcEEGnkospHGBvcK38PZeAtP8/f1vDAcF9/ArnaoPyd/s+0Tl0D + K2STA3YFCDgvVGnLYiXputZrMgTcyNlEJwDRPU32aFc/V2ID4SdCn8x2QSmlV5uMrRpGrbU0kW9ohYqk + rEOB13ku9DjT/8gjhPWE4h7QaoTkssOcsJRqOCdCngYj7q0f9bks+WnRZKe3iDGldTwt2SKsRX6EpDl5 + kcip0HdN9UcO5SGneCE1pBNKdVr3ekqgMMCTEDhFPot86CKP08eka71Rlei7npDnof/f9Dl5QITC5SFt + f7RMbf9SmT7/kTJxxWtlXGGryct/bECJ98XG2viAjv3+Mqvj95oXOCAnjUylbMV/p0Hkx2HINGQeI2xh + TtWzVVz3Q76Tuh+ButZ7hO64phGaXajvPqlu+zT8Pq+1r6MMBcnhpCnOqikytVwzZtyqiZlLUUPDcxfd + ygNxPqTdjffYLc8LQF5JANHNPJdNF0KLsnlu0Kifnc1Hhc3OZeP/hhvKYEb/Py2EJC7L8xAgudRYcFZ0 + nOxFwYiCNaX4cwxDocsqFebM+aCpoVqLCEg820HAUHMS3ZmozTCAZB5k2fLlrgdxg0Um07nmRG2xif/h + fTj+hweigjMDSPTRcpM9QmMuNCMfQX2FJrxVPnqGhwarCWdk7gNLqlH0WogwSLBuDThMgCNfgoInjBXe + gTu3+nm00HC830wtCsBQ+lyjarWllWGwiDxSAHMFFw0TcisVlEkAiEOE+p/YDwDBdWeRLbEwUmlzb07+ + eRgDcX+rTKWMnS258rFINjKuz7Xv6z5wj6uXAXCzAcrBFkMBh5dVrxseRlcyFZ4CHgjXlsQsQBLsQfZN + p4PJQXgeUa8R4T/ApC4+7p+ByKCWDMRkv2EsoMwj/wLAcf/oSSV5N4DQr+pe5RQyPk9+x9Y/Wxzv1BoA + UQVxuk+8npYiRiEPdqjmQl6A14iS6r3z1YdKioIQWVwDQmIKPVUGpK8Z3kyClIyAqU3yYs5XeAxQWmCU + tHNh4RVMbVRzRkJUALh0BCDi9brpC8pxqHXKbrU3ufZd5T+UVL/qTXkhT8r70GebBHRbABFCWffFb84h + BBrGgGXFW36G1dzIdoaw9Jrr4uhEgmm91pEQ1hoi32kAEZWXYkLXuACKAAgGz59Kt51NPXk291WvZ8gU + njDknkgPqFX/NK2a1GSUzg2uPdLgPCfSV1vXoitjWJ4Kr6HxHrv1++Xme35UVssFnT1PYSxvKHUsAz36 + eT42n9fvnY1HubKt/0HoZnRTq+CyuCxcWAyybln0LG4nfODJK4yA0h8llEVnVaFleCGwq7KpoRa8nwtF + J6kGN70vGq1Fz3vawa/L8nyh7KQAxBdKle9iWMUAFSrVGTQEhTe9j2zGSNfUSEJJydv6pUI4xtTaCkpL + P4Q3rcoUYM7LlpzPCaGHBhrgEcwoAAOFk1uTNGdwD4otE/LJlgoFwz4DKEIxBCGhuY6yUAFnt4lv+m+R + rJV3p/eqB+h74UVW73+VB+5RBY6WnDT3MQTe9wtjoL1I/Z2Useb5J5QjHydKUyCIgeEwE/mmS/J6K9ST + lHBAvAHSCqiAj64HBsnA94jv1+I69of3EYq2LxCHUNGdpU6EiZU19Ke8nHJgyCBWW1j6tfAuwkQRHsMT + SAPAVh+kiQA3J6cJH2H9q0aCBLUt++Y+4iXpPC1fl8d5cI1JRutaTqP4lVsAeDgPwqIddcftkWRXOGsg + 5lMkxAkP45VU74zcCu1NBAj6zpTCS4Pt5DUUljLdVtfHFnsmvZvkt96X8u/v/vLwWHQMdT0DFJ2jL5Wu + ciHdi35QBvu/aeCYze9Mn6//2PGEvBY8EbwdzkcKzltLaercGlnyPQuPxCQPP1Y5r962wrOE7gwgquOp + Y62hc1Noi4fta5fgcbbk8E+iHz/h2lhwTLF+41oiC2q0KZBApr1mBCDOJbuYNgppqXvCOJ7o0f+Ptk9K + C1B4rTHdJwGQPOiqOPxYF/3ZPCGETZuskFBS8YjwWJh0k6fsbvKchZKWZi4Axzm1iIMVFXM5JuRRGETc + 1VQ9hlyVrnCW8iL1eWVhQV+t4Qg8ltrCO9qShAcDiNTmegEg9MCiaSJzRAh9qdmeu6NSZEYX3WD6uJ7A + igwgwEKVonBtBeGMFsMJKw7FYq+F8ArgkQBSw1fVCzF4BNvK3gcKB0WXVmllrTmck6wpA0h12fP6sehs + pacF7H3y3F6Q+mhlCDGUUwJEC0RmsApZfG1D4wQgEwDUBpmzKT8pN8gLIU8zhJiCp7iuDIWpBOu4Lsyl + gByQXlgDHnGt7D2i8H2PAPRacMk+FV7KEGHXzJ5hrgvQ77slv+pF3FEXxp4YVr6HtZNyehi6X3hGES6E + UhtA19T9ZKitL/qsQUQ5iIES0wODAscp0BdwIGuWIcKg3KP0Pqal+AkhQZH1MdtLVcNDUWx7eCa8j3eD + TBCCIvdmYNV3CaEBPPrPvgg1g61KzgMgXDuUTQ1/8n82fiJX4VDzlgctJ3EceBSxkevo7ycP8mwZ7JWX + su0xrfXP6zsCET2y3vvbHzfwGUBSqS9Q7C0gqes/lF8owKoIw1BKL8rnpS7AApBmrWc1usN2DYCkR/xX + r/jP5pqRfiW6o+uH0ULUpuoBrpU7e2S4LxilmlIqmec9ZJv8SMxPAkDUC+uqW18st9zzalkjgZk778FF + 2+f1urWd+7klvrP4N2f4+lztX8LE/0Q4S8InV9bhKrunMDLujs/t0oYV5FCWFiMLkFgd8blooU51cMxO + byi6NEdMmiXhp2hoSMt3NVXEanRTRXkasAvklgXLijkfal5H+Mrz0gEPhg0BIBQaRp4E7yXyFqH0DSCE + mubVzVbWbiS9KQy7Yhiz9nlFjgLLlzYfNZnq73pL7yPBY9j5lZYSDOzB84CphhVWWRVJu82wRrj84W00 + ISSun97HCo7kMOBB92MSzCR8+W6EnLgHc9xz33c23Sc9H4aiHhh+5u/E5/5ODU0KaIb74D635WPx6zOU + HfaF/Oj/HJaQfFQKLp5cE9Kr+QJdr2FoJEIknGPPDDd6fwEeGQ5xQVtw5eMaR8iGxRReIh4GrLnoouxC + PwwSao6krKIoMLoROATmMJhqOAQukcyPDsyWFTwSKLQJKr6/8kD6gAcK3493B1DpWCP0FuvD99UAncob + 6517rnCb82oZNhu/9KUABEJUCjs1uTHWErRdQmjyNvrJouI7fNdeR8pRzYv5NYB2/kP2fByCarxMyUTq + jJktyoPs/IoYWE/K69B3tz7mtT6r+zYrEEGm4vf1kXPQZ3qvLW/xnA2maOblLOMQN2poq5JGMjekNYXR + 5iJRhTJrR2xAlRBe5O3wcpDhtp77GDJ4nN78a91HXb+EsSRPknnnhSRvfu66D7pOZ/sniB6uv1N4tvYP + zOLramwHgNz747Jm26O6uV84yaaLwk33drLvncFn9cLXfRpEJLjrgqpnAOFGI1CADMKVORqHabA2Tcu8 + JLwFukbaC6FICy8kciEjAg2PvdVrvBES6xHCwgOhWFAFhQ5VDRzGitYmtPwexvoCQFSlPkYRITkXRtlq + /K17yNBVNXpt1Vborudw0RlhirBuh8m/LMBzIZSspWQO+UZmuCuS51kR7ZBHKKtQRLJoaSFiSzDj0k4s + YpHqelUruwIIiqbJY+DFKcma0w3DEo5QhvNNZl6Rr6gJ8aoQ4t7XcNZwUVcQyEcrhgxjWLElsHCvz6bs + VBlEGWFBZpjTMmFvTtc7Y+kOwUihLMzVRHjNOStyFY6L11qlGgoJMHGi1YYL1w2mXNBEXTfiIteY5ki+ + DIsuciPw6ZkoCMOl1pjcbJp404nA95NcGeSLYNcFzVYbVGQV8dkLaUBESpsktXMG5KZCAQIe3hI8wsOk + poNcB2wzhc+Um+ge/LpAREodcCDxrlwJCXOHvGBsiQnWVVfunvpmUUxoxpUL7dLjcPFfypyOo79HbCpC + UvZG0yP1WpUO8P3+QpkViMzyWgDC87mNDzWfkSep4a5pgEXei/MiCn01+8j9zJ3He3mva2g0E+5NaK3J + Z8V94752XYsVnSTczsQEiTQkGvn8E8nmx9KTuj4f63eno3fr9ZOsSH6qIYReiXEO5PXo/xajAiKKQqhT + hanWlzGzhmhOC0BeFoC8LgDBOnh4iY0TWmpb6run+95wf7ZGUuE49IJ1ZUYGC4TFISHDojXYxMWNUFdY + UT55VwWrxYkS3YCIE+r2QkioUy8S0wJdryG2lKvMTbdk8hYAEsOlAIyY/Eabb4GHkuYwsyKBHuGraG2s + EJaLDxl/m1136aMvxK6Wp8MhTnJnPQG5nBpqcpI2aJ1YpaFgtIBtyab3IdSPZCu1HplsdVI3GhwSppjW + QnL815TgTJ6jXGp+pXommRCPhKQUhokIMdOBR3sfThrLA7Eijn3MbkAxAdwp1NwLu/ttzwHBRSnko577 + nlYvxPcNhTL8fKE8na7MnOB7PqYANmTHuQwpYgNhWudxLgIBe7Fcg7gO1eoPmYOymvF+9uNrGlZtJZAE + w6vVXsY0SIVK3O6E/AczPKJ5H6FUZKSfrUkCqK83oSOKA2M2iGuaMHSUs0NuXRzraXDaj1qcMNejq35X + 1H4QziI/MaWcAbmHGvaNe0aIi7oNjp37i1GAbHFv5aninSmfMnbFqwaQKQEAVeaEtbrqZ0XYrKfiQ1ql + dKhad20RdUVQkNPLJWSWFv+0gKK/+yv2JMLblCeRoanj769kYrMiHJt0DzcBKHqtdTwNuOjeAUJTYmtN + b37Ynoo/5/vooyXkxqCT9zBCpJlra3kj9V4BIOgG1nr0w2I4GyxIflf1yolkE7n/hPJ5xr/P8z7j353s + OFPfeq2wBkgRfNYdKKKYVozFqfA+on8fA9MwYOXBZtPb2r0jau1E6/XcHOnHq259JQHkS7pYHPwJNivv + OEiU+km/e7L9eB8oHPYjQZH7aAvR1p8sIgTWSS1ONpVDPndIxb8DVIjladE4+Uyc7miGoaJOI+iU4YnU + 7ryjYmTFezEQKiZuRQ8tD4GSdxEAoiHyYm1RmV4BxIl6977Cy9HsBo+y1RxqW5w0S5Sl4wJFba49CHZU + nxCRrFyUdmXyTK0VgJjVo89N3w0GhLuqNswrwIPWG0GvHayOEIgBBEUGZdJkA6ytjEfj1hOL9kIK197s + FBQo1lYqz4FCVQEgtDKh1iHqAdh/gAfUXJQCQIHyBxS45iiL4XsB6CkXVT6a7wLyeCLx+xMvxJPI3Enl + KH+nfUfCVddDoIz8GECqdW5gEQikoWLWks4xgF3WqL01cj0JvA4NEQapjDYMGTxj9l/puHFN+R6gQJKx + M03TPrXHEYgEAUNkC2TMVMj9YQTY0lM/LctC5Fa4B9zzquiCFkyOJVl4tC8RgHQZP4vCl+cwINdx/qNh + /RMC0vn4XCQHAAjrgfsZbDQacwaAOAGvgr8edRuExfBw5GV0BCATO9VRl+aMyKDamXRV8d5RM8bOFupJ + kLnKXMqQEQC87YspJwKjbY+XzuHvld6h55TreDL0xCZA44vaUinqkfdmNodXAvjMENoSkJiZpfeRpxn/ + Tt/drN/6vaocK6hIHiWfwc6MUFR9PpR7EQW0VjDqOjPcHwBEXYq5Hrr2Nioa+UwZbWQY/dZWyJ9QRk9H + jpvv6HwFsh9fvy481lh/dQ2nYYexpGvgHnHSA8jLRD8mEHKtenN0nxY5xEZw3PsIx2okdEZsABDIRcuu + +swPBSA/KWuUzPKB140bx8brvLHHXVR/FwFpP7b20d6fn3NyoUwc96zJ2nbSFldcloo3Wyp1C6CZRTBt + 5Ua4i7BQtJtQnE6FfC52gSnlSXJYhVujXsP9s4I9ZTfM/avo3qu27liAydiKWhB15hWFF1pvUHtjWh2t + tE1hc48tEu2aTWIPhEaNte9OUN8iya2wED2ZKBhzOAs2T9A6Y3FHwt2JWWifCmn1NN6WRdynvQXcfdpY + EF4iVOKQV3DYpzeLBunEaiq6JBlgmYY1monGCgwGXAlOxj4RDjN13JqDOoloURHKlLBhKE0v9IxZB+GB + +HULEGxVVqspAGXoVRIaaH8XxZBykEpigcwdJy8nk6UqT7JcyVckc8/gqHNayCgMSzOUKPRw+O+0ayEc + E+/Z+3JSlmR8hE6dpHWYA0Utizk/t9z58wgFRtNM2qjvNWh4cptkJORsvWUzWFwodeVasv0LjwM8T5Mv + qqcZ9GxCBwCNk9cyFgaqnXD9hJT2tHIJ036u9iGi+0IgcG0LoStkDKMKtpcZX6o98vVJmQD0FBYbP6zE + tvIsPc1E74ppM37eDZ5pHopDcikQ6alCfmLn5zX3/AGNrdVntDfRb2F64f1ixNjY0zWiTUlHTKvewW+X + 6R1fCW/DXoeAAE9jiyIcBhDJh9d2AIhBZItAxes+Ppup3gpAc74S71sfDzCpMmMdoN/Lkq6UfxsADmlF + HUl4YqH4DPAeIhcAEkw05VYt1xxH1Sk8j80AWGX3jOXyVHJ7is8NnFWvfpJ9hb6t5+TrnSws1ggeiIkc + Mr49+RKGahJEoiccjDWMJcm5u1GLEu0mtIy0kE7EyA4AeUMA8kSCATeaE9BjbrOb5Z0svoggpsGD7+dv + mkfeX2JLlJ2p3kNVcl7IxFARoOEFC3eWGynB8yIO5TTjkBc88/BCsOj7K7WQPaCHk2Oq3FRTWAhTKtqR + KE9CjsSV6zuiAJE6EHIjou7iqQAgeCAelkL4Skn1GHOqEBaeiSsyNQ+EGpDcT4yBVMuEnDPi+ooMWZi2 + 6RAUixlEJ6xAvQXV3xRE0thvvxlDA92sHolSg4csAzZAiLg+n6N4AAgom4oXT5m+WNkwkciEEjm9PpLD + sYhQigBthKbMznG9Rz0WPCXeU2M+hc2CRk2fokx2pvKs134ICEtZZWEtNgDSgEcFjraxsfj5CWRmKTlq + 3sOSfVjnSUIVxh7ATBguPJImvNJ4KVwbCAQqUM2QDxbsQMqdc2c/DgMZpEMhBWiGBxY1L3hWGD94f1LA + TtTSSJF8Wm24ibeqvFt22+X/zO5yuHEIWryuoawIJUaPqujphLEQoTXkHMrrlBQzm8FjK8V4osFSyEfh + qvtTyauykYLhQu4tQqC2ItPLN3jqOnXVPLWjOSGT9PGaleJguqGaLfZXACA0ohSTUMZLR8DRYe65akrI + kfRJtAt48H6DeRWGxriKBHsXfNcAMoPys36ItcyajvdYy8iHjEE8D4CENY3XQa5M35va/hV9F32C4RqK + dPb8J8rMNoXLrI+QsbDQ+W3cJ+5LeiRJjKih3WDHVcp+9C8zA4m8oAGk6hgdi+UeuQmjh2MdnsfHkc+P + 85uqd9G5Va9+nP3k+uI6NecYIWiu2ZAlqPBVzkAPAIGeDnuQcgR1Rmc9aB1g7IaXrDqRnIlEWcSyq297 + tdx635tl7Y4vl3kBxfzmx2PbMtzmeM5nOqF4ZPtibP6NtvqdZh/5fv1cN5/vIxjhbta4rVxJJ1dT4Lx/ + 9hsWC1tYgViRWIHEs8Xs8aJmMUfIxgloFxcebeZ0YA3Wjruu9XDrdui3VK7TuTeS7J613vTDwgOJZHqE + r1T/QQt3Cgib0Y696L7r+ewaamX3mNG1Woz0w8pCMQ/ccfEfFiZJ8GDjBHiQNI0iQSsRxZfNgknPw1ao + GtsRPiBhzmdRLBZUTdM6kyUT1bTpYRDWSOVnhpfzAHGdTJt08jzac7gewB6R/lfHg4VRqdTD3EeGHGse + TPdjPhVDIwNVFvQI2DdJwFQe9X5yT0NeeGxvi2XldF9n3g6jIsM3AHfEzdOKhBWGrDjMocI203FTMdv4 + UNw/p0NWjxjgrQl3h1Rg6mT+J3JweMO6B1LE0SKEhaX5IhSsygixF0w/NQpXVXPkhH4CeQUgL2Qn5yP3 + YkvPIbJgHjYtPRKw+H9CQ1O7VMm962kp1CcUglJ4adP9pav5HwMluzE2bIgkGNXW/A5h1XCmKa5q9c7Q + ILWFH1utGSOMfWUWhFueqIJbbd8xZOwlyxNxXy17RICbjI2URyvbZGYCHFM7n9IxfjlDV4/Gevc6DkCZ + 2Soj1XmNTLA7wgH7U9dUYDK946kyI7CYPV/REHSQ9MycXqN/eJwViDTyYx2BvBFaxfhcyPyrBbOsRRt3 + WVVtNqRzrbeHd8z/G5R0fDZoyXmR9wvPeoGOW6DbWjqy0XEnktvUn0t9r9Gb7e/E+S7Uqae7Jlrfy3U5 + 9NxIHSC7mf9waJxZ6Azmo/6D0b9Rz1abstbwYNCiibLANFRxtXsCrgBAfiwAeUsAws3hJDjwhdvc+U8O + PzN45NZckACd+J5+Wy90BRwLAwAid5TFnnHoSGTpZmUIzPtNABt6MI+lJYjLiqV5T+RBLLgRXnHdiFkX + hIWoptxjWu/ISCeZWNFcEYpvtG6nklxhLSrQlceImg7YWfTDEoCQHCJ8lQn06IElBpb7aomdpUcDkopr + hq3kScoTQ4xpgyC2LUIzqLLaGEs/q+jpOYXSjk7DAIgIAbB8aKxH2MottfFKAA9ZfIAHrBWYKoSwavVu + 0iej+IqWFgoBZGwYRdGEonD3BbTOqWSFda0RIUdQ61aiAPD+haGnmrdqYtphEdV7OjQsUOg1nFXDmi0j + Y/ECrMbKx33EQrMlKu/ArLyg4S6OmUcOQ8lnLKp2/YLzJWGh4oU04ZAMbVXl6McKoAkkGDJRfKWZI3gf + cu1jchstH5gpQ4jz3Mxx8b+Ra4n8YZJBrIC1oLNgs/l/g34cc/W8rYy1LlGyU7u/ZmXtmg1VmHeZ+36u + 5B9ASaZe9W7rbJdKQzZllwFCkEykVMcBkDXyogid0nhRBgyhK8JYQe+uXZ5rx4PM3UhWaxIaSx3vYxrv + AZBoogghIwYReQ2AX1eFhTPyntqK2yEjgcGMwGcO8NgCcEiX6Hzntuo9AQevOX9ez+54utEx9nCSRBGy + HiG1JsSo4x8CiMYa02mBkCV0dbPDUk51fJWIwr2tBu0Co9qG9SL92NaXjfGNDmRLfern7S2N9Obz9uu2 + Do5r0Bj1zT4Xf/8ErxuDPz26jA6gc9zM0wWpVwVxw/VL1LOp9kN6yfVlZiByTUm6S0ckLR3AGRkfVAB5 + TQDyUwHIV/MkOejY5s4XqLQe/f6mPEEeGyDhJLnBFWiIWX7JLibKfm4j4BEuWZP8ytYW4Y4+PNxXfq/m + Vho3k/CLQlXVgnN8GCvCYS1QFfqvLEKdfGdadSHkMeQ5uGYjW5WYGUNxYc49d4EhvV2y2WIFkGUMi1cy + fdnyABPnPzwnREWJgI3CXfZenEOps0gUEhMiR3sQisVImkKNJZwQjBgS57yOZDqWP0lYwhZ6n3g4lc5M + VSMEYc9DSWEa5sHbBxgUG+Zc6VeEW9kkfyuziNAW8eSMz0+tg75bGVGKo9OB1d4GjfSyq2lW8vZkeWJV + OynpEGHNXQAImdRLlzqAoxoRLeG1AVA91ZSP48BhqQWxeIGd5mtkZaOsUEIPeKEJmAEgWL1SLueGkWHm + Tc156Bz5rq1TyA+0L2lay0ROJMIiKHc8O3lvtpwz/AKLBbaXw1ckaffbkzV4mEoedUQeBqXQqtvIrCeM + GMaPj61FQBjmjFisyVprJY4DoKuRpr5TO5+WMn5Ks86V+xDltssMEOpGlKPAcuzTMNJjeOlcXSvdqYan + mFKfU3HskdCqOGbK4QYBygZ5HWsUPmUgFTlFN/cM9l90V6it7qNY08lqe3kRIule+ILA7avKdXBPUMqA + Bh6I9ABgoOeD/d8qY9e/r468rxho/H099veKXnxAyfedz5TZ7U/J0/iqgEKgAVjwXJt1DwpU+5rd8Yw/ + j2sS/zcEWzw7ipGjMJHaptp1AgMPFpZDgpYVKMdVvomMhPy7vsb3CS+qKnT+f6gbm+M57r38XgMY1aiu + Ml1fL34fYGr/Fv0LoBIZqvqY56e5NtKDi3VavcBIATi8abIO3XeviApzdx5X+xIzsCAaUAelnLNBGf2q + UCkD/ciDSG7QmQ75X327AOT+t8taWTQ+AQ44t7mtunGcBDewvr9Fn1dU9GNuvM9B63sIFLxuwi1eeI5n + Rh4lWCPE58Wo8mcR1hqiLO5rTSIR3ybZpb48NA3EFce6kMVs+llWTVcruyYRsTjIa1AASA4D+i6sKVeX + Uz0u7yPyIVSp45EEzbcBkBq+yvxHAAj03fA+AkCYRULTMXkhVGm6wGadF20wbmLRAXIoGjOdmmrZrBQm + se4ZFMqL0KabdhNu6y1PBWUgfj6hKlgqJBNnSCjmdW17IK4AxgMhvAU7x5XZNa+UyXBol26UKADJBHrE + +ltUYIe5MuZv977moxbmxBaGOo/3WI+z0hZYbWlV+b1FC/KMXgcQYd0GgyrYU8MkPQDCgpEsup8TxW/R + 8oTXLJJYEPQCOpwJ87gWUWWP1/GwAb/ZZ4azHPrTIoT5F72CyH2o6JTkOcaJxy6vc5zZhWuERewpK/Sa + VqHDIzXWf0JiAWsDUB5as6yjGSWVp3Z9VW3THyodTR7sMXKWBojuTEBSnjqVGE0cIdLMq7jWB3BRZTGG + j4csqR3QeiXLlUSfPJcZIurQTC5E4VPn7hy+CqPG+3HRIawuySUesc4DmXPuQ2G1JmTFenfOQsbkdoGA + PIv+oe+plfuLZfSGn5fBnmfL1J6vCzSeLhOXvVo6l70m7+SVMnbDL0rv6I/K7C59tlcJ+X3fLnMClXnp + Fwza2d3f0P6eToDBwOU/IQBlgp6kvO7dlK6NAUTHHEn0nI2+UYYnxhj3mdqyFgEoEvEZxiKs7hBceh3o + P3RcSz8u1pfzNrj5HnK9+HGxrNfPl1oD8V8Botrn4v88rXUyNNRC9yJLEblxM89snEoB9BBA1Gw2O2pw + j+3NVRKNntPqBNmBvRVsVHIgt78uAHlHAPKMDrpeAA4c1OfgAY989Gu+A/qjABIdbRnouYSdtgRY047R + 0+PGXGsYGbJEMm/Bgor4Y03Yc4IIHILAhuBFfDMWvJp+iQUQCWMldPAyPOqT3kc6UTNswnpgwdsqlLXB + ooaKi+KvVqELADNc5ccOYLJKceuI6UXyPMNXnv2b+Y8MTziHQt7Eg6s0KySbOAJSnlqXlehRmBfeBknU + HuEqnQeggoXoBUmVsBPdAgpz89VXiNCV8h30LRrQpdRJRC1CLLbzpTwk2NNcF5rVZcuIABCBxuaHTKc0 + +cDJ7+DoR7wexk9OlHP7FNo+EFapdREozRbgNwQJ7gf3pr1VqywXlRdL3ZZaPEt9r76X8mTZO5MtrLFZ + Qg9a+JwPrJwa+iRxSz7GFiV5s2RhBXMq6m2ieEpuuxlMkdyedpgpE+WyvMLQibBczX30zJiiLbyqnD0/ + Wo03taBgpYSsQe/ebpl1w0OAg2PR8c1vTkPLsh7gEMcc3lublBJGVbVKZZFu4ruRG5zZQh+pJ0XvVRhO + oayehj/FPY56ougVR6sfFSda+Ue9EYqDMCug54IxtwPS3JRNt2r7jCjDAhGBR3c9+4ki02CFDRs+4hUb + ZFEu8oppkDiQARqAUfMeAR7eZIDihVRvpHfhDwQ2AhXF/wnH9Q5r3K3e6x/S40WvlP7hF8vUge+V/gWa + HXLp62Vw8HntQ61Q9ijPoven9z4nL+RrZR4FW6Mk/q+qY2RlqyDRAKI1FgASNGu8q2mATx5hHxoyOZYE + u+rJ2rvinqXMN7rOAFJ1ZAUU9OQS8m29WT9ryzXfHerZ+E79fLif2e3yxnZ8fZH+rb89zXVCVAj5qjLG + WpF80xvMeikLLcc6YqTSwl2hqQ4sLFijkhdT9yvxQZ4xxBuMLq6j5Zwprlff/oYA5F0BiG7IFk7mNDcv + hNx8ASK8hWDDrqDQiBtlpoVdWgBBz1H0TqLFooktk2accA1LaMGZZSRLh1gtwoyiNfPF3U+D325QSj43 + 7j9hmwhNXKALsiMAgVYkXtyMqg3rsOY9KrXXtR85OL4CSAxOYQZ6zEmnYWP0vzrHifeYVhhTC6HBOY/g + PAyWG91PM2SlcFHUdEjxuGmeQhpmsCS9lKIqeReEn9rg4UIrXHZceS2WaaxtgwfhLF3npEMHI0a5Eb0/ + pfgyPPpaQxMA/pCE4pgVmDsCOweVBYPcj3r9CNGYzICSqvclBTAFsVFoC5R9XQTtxYBMVFlaSuDbvzlN + mWvLpmVP18bsKACSpGgcO/KG0VJ7qhlIXA9C3oIQDtRbhW6cNDycdNlaQ0NvqaDt8hv2430BtLj/tHyg + YNS0ce1DBVgedayQaSwqebN67cFl1PhAZCCHouMKAMH44tjjMQwmNoCC17kGBBbN+qrfM+hETsGAKIOi + r/bt3a2fdzjLBaKmBUMdB0DCA6k5r5DNa0zXnFSYl89dg0LNiajjY9vvLROasz65VdYmtSCASPZHQ55h + b9FHC7A2sQUGnGStR2jqspezfqMyMxM8kBt7CSTHv6xQ1ffC0Nz59TIjz4S8CV5J74Lvlyl5HDN7vlWm + 9n9XQPF8GRwSqFz0w9ITiEzrd1MHX9D7CpXp8+n935OCfXao0DOEXhmbEXqEoCAWmZPoVKOH0TlDWJc1 + R67PIBHHOGMPk15iMkgwJJrPMKiVd9E2t02G9vl4RCHfK6qR3ZZNf/4xZNq/0X8JOGb2PFdmdn1L/4W3 + pf8+430iX8gS9wHDA3BVHsphfsoKCHVebVmgBo5wvAGEOhCFPQdrAJDQ3XU9IV+RMzzgHB+J9GVX3/Fm + ufWB98raXdwMDrRuugh+fpLHqkT0nZr/wBq224oSk4Ab4WFRnBdWHMqqSaxxg8z2elI3ItHaVpjc4kyM + o3Qdu2RugdzLoJOpGMtFb9GF1LHlpPqGkiRxptACrpZO1IlxJdRHDQQx77xSescmtPhzwiC1H8uXMSxe + BYTaou+9AISwRKvBYh1iFTkQChbVNkWWbCQcCbVFc0R7HC4Yi3wNCzVi7UGBdELVfHlx++VlABhOhHq+ + g26erLQZgceMXHbHhnWtXIglTj28euiO4YUQLoxCrGmFEQh1RfgGL4XQiZrjSXm44MyUzrC0g7JLHJh8 + RypfK6gKGuS1pNR8fyTYtrS+UlbYukIu0so6TkZ4vy1L7e+1P6uy1f7uaT5PK84U0Mz5REiLhRIAivER + DCBCofLyWDyVjijZ6M3LOnf7FpoFRtgq4ucox/BgAkjD+OE6Y82SX4jw14UOZYZ8JHgIRNwfTYwVVz0T + VtMxcmzsw4olr9cKrhFKSK/9XBuPXOu6OZRRwzR5bsFMDNrrgAK+HVR1Y3HDKhPVNmuMADBbk6Zk4vnG + TBB7Rzle2Z6YRxmLhafw1djeR8rkNo2pPUeevACEOpGgCGtbACCSGwxFUYnHLn+ldA6p064JMYTmggwz + Z6We4RhC4YpqzG4jx/F06V78wzIjoxUA6R/+fhkc/oHCVd+JzWAh8Ljw5TK4UB7J0VfL4Mgrev/5MnXo + RT/O7P1OmZcyX5HKFf1BvsBMLnKFGbcnVNWh7116Ie7GbFprWOOsIxtF+q3Xj4zeKSrjIakoeT+jfMvs + zmel1LVt/7qeK4S2U+eq/x8cflnHK0Dc9rW4hwaU2Oa3AjRVfyLnS8h6glLc9/h8Tvuf2fMd7x8Q4T/n + t+Jtca4JXgvW1onWC3Kla5LAWtdFRG2U/3N+6xp3THAXBCjn9HGjDY9kIoxzKNhRpmH5Jw/iotcLsk+g + auWuEYB85oGflXWKOVp4T7VxIu3v1AvmGKVuAuitAyRJ6ApTKzsS6tDtoMdVdk4kYmOh5EW3haXFSqKY + NhHaD3FaW1F0WnXX1Fi4UdQViz7oj7BC+A8BCOgq6wqLY1zewjL61i8bGYajnPOgqFAV5e55RfW6QhAg + qsAG8IjQFW3cxcBy3kNzRcy8Yj5wL+i/YtlQ2U5SyZP9MtGI1VN5/FF1LPBL1g4AE8lvwi1QCCOMBwMF + i5JY9rSqcmOhacEBHnLX/QiAADaic87K03OYzwnvqJEBOKBR4s3UjgFWpFwfb7TnSEu7Mn3cqiQTiSks + w0RdhigXuNh5v6z0QvHF1n5eX9fvtL+7+HunIXPHySSLNcKoM6pIrkVhEQIKwOAaRyI3FIXDhLoPTqjK + +ja12oqVFjNR34HxEcBb5TSoxkEiCCow1lmlPCNftaVN5NGih1r0R6PVOzUHdE8AQEJRWdYNEmG9DpUO + wLwQQMLbS68jiQyAYJwf+RQtcO23u0sWvfM2Un6uQIddQxM8jjUBxOCRzUcZs8zAJTcAZeplzJixZ3b+ + fWV0/6NlcotYNwKR3nrRN89TPs6jfsMQisr+yBGRi+nslZzaWwvPzQy9htGZYRe8rgw3Te97zl4GRhGR + iMGhF8pAHgiexcw+bfIupux9/Kj0j/wwQOTiHws4XigzB79fZqVg57dJX1mpShakiK2AdT1taDXhxiAu + REfeCGORi6zHGDkpjjXyDbDDppTPoRNxX2N5p3Y/I49J3tAFgFsABf87J89g+oBa1F/xU4XY3hS4/bCM + 3/ibMnHDr0v38rf8nZVbOK5FunKxHCco1Ps+t/NbAo7v6RrIu9I5zup/5nZ8I4ADkFr0/ZPr6lhzkW7A + Ewmv1bozG9FCkvDwPcoYDCBUo++17BI9CRJBEqBMVFAZAHKjfWB4Uw8nAHkrAeRZ/SEnfIpNaLiibr6J + eVFlDcyh9KTkHPuFqSFLgLAMcdJIxgQDJawxEucsoFg0trQcvsJajFbD7qRpXnJQT/uKxU7IenKBi/vf + 4H2QkGYYTwh2UPSiE6kBREoeADAl1/RcPAsouYyllRtGMsiV5yoUdO8r8h/L5bHwmq0X1qVnhNCnSMNV + JsXcUs6k5j88U9g9h1hgtGonnq5mc1rEBpOWF0IuBCVgxeKbSl2HQEAAAYhQYQ5NcVYuPmwTLJ657V/T + Z3FtnUDVkB6HBvHyXF1KrJJup/JiCAtApawtRfQZVM7aKypCV5EziRxJLdDEEwLMMu5uRkh6HFoMQ5cd + 5V1BoMoK9/A0ZKdZQKfz3ZN9pwKIrgeMKPIfCX6uM8qitGD91UIzamCkQF3zER2IIwzKbIjwBm1BVxoy + CwfL3zFg8ixBZ8S7iBDp4WiTU8NWTp4HUYMai5iIp8LMzL9Y7rWfkPf2dWsBKOsqPZBg5IRBFQCmQkK3 + e6e2B6Yc1Nc0PmQ59zVvHBmIeSi0qKGQMGqQSPgHQEQ3X4eu1C2663kZ8qZyZLKLSwWoE9vuKSMHH3X7 + lK7G7JJfIc8S4EEreGq3JHMyDplGSFFrw4Kq7LEm+a9rWD1WKXt0xPRuKWAlw6eV/8BDmRZoDORtTAkc + 8D6m5WUMDr8kAHk1tqOaZCgvBKU6t+vboX+4hjza+tdzK+xMtvueRWgT9hseY1B5BSBSjNZDaVU7hIWB + pvUGK4yK/762nlrgexSv8jKE0WblEYQiD51X9d78dpEBDr9SJq9+v4ze/ndl5K5/KmM3/Vag83IeYx5n + Peb2Omm9N7Nf4ChQmtkn70oAApAAKHPbARDpWDyR+t9LrrVFcsWx2tutIVOtFchHtbwgZYLaOHRkGMMQ + gjCGifAEgDg35xArnv3DsYbmjppIhG4UgLytENbP5YHEga7YygU6ybZNoS6dVLPpJGd3k9R6NqzkrSp2 + koCBZm53QGLXBXBRZR5JQ+KOssYMHNx0bbwPJRMGRbpYbitsSw4Xm9izCvXEHomYf1D1HL7IuSFeONkv + KgBEVZNQeBWyIg9iVpYpuoAIMWvqOpT7EBgEeMR3DDIeIh/l+igJN2KkRbwLB3cbeFAggAfMBEDCOZpq + 4UvZhNsPtTK8EJKPLFpij5EDIbykhQkIiMRAqGpGLni4ybqeuM6yQiKhJiHXgp1Sa+zIMynsZKJB9BdC + cU5vx4UXgKimJ9pFCMAduiGRq+PBq3P8OhLn1WKMitukXvreZPzd8d2F7rcVnC2hakjUBbWUzFR5aj+e + hoydSgYTiGbx3KBvE8Ks3iuKzWE4GSkO0RFWkWcm4Iw8FAnmqLR2gR9yVMkDtbsCj42cZgjLVHFceHIf + zAQ5GHmxGrpyGHSlLbiGQusciBhgDhMS2nkiAOK488trIsUQ60HGVGUtZhITZVgtwyAF6LxqklrnN6V7 + 39+rIkO39lGPteyDBUg6qe628TmrhoJb2s8z/ZIkuhlbERc3zVeJ5rFdnysjh2QMCkD6auTYU+V6X+FV + yxM1LQAuiXyNpiXf2XQu4Hjd2qYSA2T9GjgIw2JskkcIr5rw1ZxkiXDNlADD4Skp0qkLAA95H0dfK71L + XlcO5Cfe5vZ8V9evJT/SRb6WjWKNkFEYZrVThQotmVWf3SKgr0dONlhi0xhdSsrjEQ0EaDSI7O0WOUH9 + wnqaYdI7ojb4ClXxH/P8X3vzf3MMgJjW5x6Bn8Bk4vpfltHP/KF0jr1rQPAxto+73v/8LWAxdeRVAciL + /v4sm/Y1t+u5PL/43/ltoXfjP3O9tZ83chWgWvMwNYmO4VRLB+jYgIfq4XmOptBoVrlcOvLqWsFeCxZa + lmikfkbHosMCQBSxAUA+88AvlEQHQDgoDm6Jbds3dfBK6tRth+h1u+Rm+UT1KFcLASHpS3J3EpdRDBWs + 6ymUpCl/uERh2TZWxJZI3hvhSAQT6tHJUd3tmJyZTaqSleUEa6oPNdbl+CiHaD3gxDmLxpahetjzXBfL + leFS8uQ77G5lYWC0KNGMc/cs0tbyPoL6y/yPjsNX5ExGs23JeFJ2J9XWeDwLsUhChfeRuY0NKBoWVGwc + iz2qDLMRh2bBOl5tLr2AVVYCCTOAY0YW1oyu5wwgoucIkcGZRadQIPTHGa4xfHti4ly3pCISs2URsDAN + LNoiaRh5Ih/DOthXUBVJpHOMJBSzNsHxfvIf3KNMgjcgXy0chLPKSX1EdpAZHuvWBpQq8PU7J5CxE8ne + gvdjMc7LkidkGcV5tbYiao44/koMQK4AGazvIcEBhlyMAXboT9cAhejfWvFhcWHoBEU9QiIyhOi8S8W+ + 2FeELoNcQdiKTSFRJSNt1VMfIgvf+QeHyODT4zHAXMR7a6+zvHac0+YactD/25ji2LR+zJ4T24pQbnaS + rYl55xgydAcTqrtVbBlYfG6XA2CwVQDJFiU1eV5DWfZUcpqjfyePRUCy/PCTZWz3Q8qBqNZEiXrmk/QZ + c4vsoKAJYUErb1rfkFtA7lJBG8gpAwhG0RyWdM0LaM07SU1ISEoRWR9cqLzI/u8LPNQW5ZKfKGylTY/d + y3/qx/nt0kHSQyFjKNUqa1WeYC0JoHTf4tqhJ9THi3ZBFUBEpAgDQ2FgGWxU9ZOwhzrcO6RWLPI6Ovue + Kp3dX1Jo8AlRi38oUBMISN7Qff5v/rf57/r8WYWtFLrKezt1gcJaN33oYx9c9FqZ34nn1Jb/OPZ5rXU+ + n7rwxwrPvSTwkBey/wcyyqVXpWOb3wAeqYNXcA38/+111HrNMTTGSOZBdE/I+WHQRgKdHlgAgWrhEkAi + kY7OJdQnANlYKeQCeu6j1gcGKLLtKAwh/2vufKfc+rmfO4neeCD1AvHITQM0djyni6CkjhTa3O7vDjcD + iOKZem9m1zcjhCJLuS+rlwNyGwRab4jeG+2aFRpAiNLbmdeJkqSNNiVRDIZFP9ZVbE7ulQf40K49wcDJ + dRheKEWSiemxGBmTIQA108VUAhOqJt1pN8NYkSAnJ5JtStLTCM+E4kG8lErfxQNR/kO/94wRWhkz42FG + rY/hlbuJHmgt78N5jWA8RbiOgr/oBGurzVtMIrQioLspiokwidzTmd0CDm2+jjySSNstYMa7A0zwQAQQ + vYvEdlGcd4aEZCaNSaaTG5lR6GsAt15eCAlBEusoMR7tpbnqnaR+hNAiFxNMsKjXyQQ6x9RQuGvSWxZN + 43m0rJ9GVnJB20JLK+mUz1uLsS1zJ30ecooyxoPjumOJm9nnau0AD5Mq0kMxM8kNI3NwEslgT/SDikpy + HPCgVknX0WCczBV7ApH8dn6B5nyy2lxnRGjUAFKHj80Hq4vktAFEQ6eoUkc+3BRRQIdno32G1dxWRJEk + 5TPWh0NmSU13q20swuxh5tyam4pGD6dqSYcxIatZADK540HlL5RMb3lbAB+91dxtl0ToSkJYeCAKaRno + aFVCTzTyQnRrVgGech/LLvyqk+pQ8wEn9j8gzGqChmTcvemCyOFjcl5G4Ecu0xT0J0W//WaEYp0MlocA + m8k1Z5It8goyPrHupxX2mZb30b3y7dLR1rvsLXkeb+j1O2VwFCaW6L/7X7ROaq4fz72FzDlHATiYsBOT + EYMxR5dsxf9lzHKt8PIGh75fegc0MVHhs46YXt2LRBs+8PXS3f9MGT367TJ6sTwj5UDwQCaued9r0//T + /Gcex4LjEcjk5xPX/VLnIxaZQKQrb2SlQY/f1GP+psFjIMAcHFGOR+cPeMzoPNGxAKbPM/cXeni4/ziW + 9hqqhhrXGbAOg4RrjfzRbaEyQ7m/sKnMwDKAREsnDCOMdzxR6wPqtZJq7HUmnQYgoxPd8umaO98ttyiE + tVYhrPnqgdST3DYEjnmBBNscyLhHvGw2gESPs3tfKLOyHKaU/JreLUEgTi8mA5Y6i4qZAwPaj8M48gER + FiEMAvNLIRsojlhaWeRmr0HJb9MhhZoAA6EjWn0YPNwPKuL+KGlYIuY001VSLhiLusOUQC12/t9VwlRN + Nu3ZEyyaViXyNty6BAAhgQ6ARL97s6+SpUBC3yEsOOUSSJQDHoVzHq5a5piyeVzG1AG8QSqQSksecJ5S + Rk6KG0DkVQAYAuNZkmh4I3LX2XgOMAMgMwpl9cWXJ8cBj34WhQP9EKWjfU0rZ+IqZQBECflKu2SRG0CS + ghk1IHUsKLTVaCAXlmMFEfIfbfYUAIJQ8giAILh1IeeiaORmMTAs/l797eLfncbrdNNNi00PtFJ3UcAN + 9VYKjEVTwXLKQE4IJhsmmpYbXpoVu634rEUyrTM6K5h+6u+omHW1jJTse+XwFZ6HRynTDmdNhIXY6K7M + 92TA8D6/A3wAansMhDPqtdL58NpeeHo7eEQcZ1jO8uS1Wak7PJs5G9+vZIk1rDkl02lXowFUk0qGd5UA + x5ByiIokOu3kYVsRhvNxkv+AqaV2O4AHrXeUZwRoonu0ivA2312WXfxs6Wk+e1eJ5Z6mGvZ2iA7qjgeE + /5Lp13S1Rf4JsQIgChHJqOkflM4QUMxJwROy8nNybSh7Nsk5ihELfOqCV2y1k1PoaANECAUBIhPXfSBA + eSuVqhSpLXJZ6XgGKFkseowLCg7JhSEf0hWE8dAH7jhA9TlGgTz6gZLjExf/oEwe+6kA5Cdl8tIfl4mj + z5fxI88JQL5Vxg89rfd/XEZv/m0Zu/HX8pBeLXNanwEA/Gccw3Gb3l+p9/uXvKE1rBzKxW/oPH668Dc6 + bsADL8sgIoCc0v4dxhKIENWp/zEvT4SN1xEB4nk973ocrfWITCWAmEUpQI288QM2dn2f5YHUhrKEr1zb + 5jAWXXkFIDIouI8B9JFmCGDW/Vf1ejOA75o7f1Zuvu895UC4AXLDdBM4+ZXbFX/bKcRl26EbvPv5Mr/n + BV3A72vTCe7TtieezxwQcgppSRxNqehnin49io8irGPKQSC40OKmadMsNAv2AIlEnSjMCbnrEbpSi2Ep + ZzNbKNibWG0Q8IwM5h24ClvWNDFXLG5CXsw4cGiBrrYHm8660YdIFGBZbyQ+YVEtF5W3YVlltTmg0Xgf + yo0EgGjer1lYMQOkdlVl0A8tuxHGzgol5hBIVy5Tsdla0HL1gkMdxWNO9OJdJd10WtYabUvwQLD07WHA + ujBowMAQMO+FqihwxhtJD2RGYYCp/fJUKCxUMpKFYqvV1bKyMpRHca8kOrYKQFAOrmGwNVsLBiOxOHwd + ZIRIgtZcSO3hkyBSmUO+Z8SgJR8yLobbtxe9bn9Wn9fvtB95fiab9oUVp2OolHCULRRxwqI+D58DipS+ + aVSW42lluNPMsyxudW4kk9RNgV4973bxXrTkYd+ERU0Pl5sf+Q+x+GDzUTgoT9eFezJ4HC6B4quQJ3Fi + 3keJsY9gYn0t1hkgnOE4M2UsNyTCZWBI7l385uTvQYdxPUfGLWiip9bMhs8luSETpTqf8OIVptD89O5G + Uceh4pqEwvhigUmGgx1qM4UXcAkCSLTCp/VOtpOH/CHQmhRNeLlAhMaN5DN7Yn15ljkEGRtNtctuRBgc + jvam6nNVkk9TIgBl1XkEkUMIdUuBowyJaNg4JcIh43Tm4MulL2U7ee0vyuQ1v5An8jNZ7+8ZTLpX/bz0 + L/1pWbUVpfmcZEebH1OmJJdY7M6D4JE5NCkAke5wvkegCYi7PZO8noG8nXHVr4xf824Zv/7nZfktvyrL + bny7LLv2tTJ54Okyue8Jtal/U0l+2F/KhVjBv6xj/U78b/Pf+v/2c44H/anvzUlvoivRoT5Of0+1LodF + DBAYDo6+oe0nZeoibUdekyH+kvTqC/p+PS8BhfbjbXv8L48+/wWb9s35e31ECAtiAaFoDEPuKWvCeVDq + 03TPx91MlkFmAhBq2ygoVH8/WIp8H/0VtP0gfUSqQfdU68CTXpVHXnbtXe+XG+5WLyxovBlXXAmy7hRV + bvcLzbZily5EAsesLqK3g694mz78aplWDG8KV0xVpIN933Syl2pqU8NIMhMyUEKdojiEqfLeHYogj2EQ + 0FwCtxthpsKUw0bQdonjurOs6x1knTE7IAsWsaqxmrzQZKm5NXsiqVlcWijugaU8hl0uaLqZA6nP4zG9 + j2x/AogQ4+M47NpRMEjDMUZj4n0IQHokYT3jOfI7TbW2GQtZV5E0W7PEoBxTWY8l4ESkaKOiD84KvAlX + TeseOGSlOChenRNqhLa0AGFkTe+V4O0V2NDa2v2CABGqfLEyxIahUyseyM6vesKb52K4iI66BsJqLPaw + GCMEEaG2ZiZCFg41Xoh78JBIT8DP0IuBQxbQ8RtCvdT7uXD8Wf3O4gVwGq8xbLD48FozxOOErem8ECsI + Y+GZRBGZK8dri26fayo7M9RUk9EUWmUxn3MUtZI+rmnQysnNZQcEVfHao5V3XItQkS1PoxRQxAjVkEW6 + N9NKhwWJ4obwgYx4QTq8hwEFSFeapTxqmtY5FKsOuY7b44EcSG5+dOt1w0h7WPfl4oaMwgwOKXV3mqXL + sgBBnnkPAFF7HMJTrk4nZKVxy3j1NYEeLVCizT9eTowxhZBC7iUYjuP7Hi+jRxRdkMxOqeakt0tJezG/ + MFQqkcOPLr6LehzCrL1DUqIYOwBGWsaWW3nd4XVIIWNt21BV8dyhV8pAFvvktR8EiCgM1Ln6537d0da/ + /B3LGArVynSXPAJtljvJZXgihDgJPdbeTwL+DIV7Xer/WVeEx8au+KHCU++UZXf8sSz7zG/K8ut/WsYv + kVei9iqjF32jjN4k0FIyf06G3eCIWqwohIYRvRIF3waS9nNkvB5f836Vfa1v6c7+ZW+XwSUCEJ0r25RB + 5HUDCIZ6NdzDkNf14TwFRivToDcgsW9v/J++1+Rmgs0XnoOINR7Wh1zEpM1abNrkPmqLJ0L1MnoIbdkD + ybqlmtrw/mSo8fvafWHZNQKQm+59r6xS7UC4hLoJuEyyBubxMPa96BOe3/19v+YEZw4psXSB0Fgb4OHH + C5UIUhzPSbCD35VwPWUudUdzBsYVV+sTf8NzEEvLtL7GZZeio/hJVgLhJhf4walnngfDmnzjSTrTXkCK + l2Z/1JbICicB3fSqp6ePvk/IgIaJgIjDWMSh5ZKBsCPabw1j2dPIkNYQQKJ3Vmwk0uWBEKIQPRMAgeJm + lgLDgzRudEBTQ4be0L4hq21rBXcNB8UcDYXn3EE3rN/agoT3HIKCQmhqo0JVhK0IY9ViIjGxZgAWJfyo + 4h0IHMiBeBHWLfn1dDvFC+Gxt0EFgznbwIDhnECE12LiGVu2kmnallTWBUot2FdDumTEb8PraHkN1fJa + yiI7zkqqIMHiP8PN/xkWVoSqoskbyb1KCGg8vkyeRn5HIFLBo6mszZAVicGm3UPtSTTsroBCjtAkBo6S + 2EoeQpqA1RcTKaklYi6MCgfxPnK0Ml4KhAt7vAqNYulFI0u18DE9GMpphAMdJktKqVv2yOABMFw5DRAJ + fIKCejDqicidmYIdhaLB8KHALEJgtbeZLU1AA/q7553T/JH5M1l9To5GQGLqLr3BPEskWIz2RDJeHrNJ + qEC/qyy/5Nuq+VCOCYq6AGTy8Lc1F13MQYWsQ5ZyA0DkBfZlSA72SqdkKySO1SEr2iQ5ni89k8CBUsaq + RrdgiQMceCCT1+rRYAKA/FKK9520xEN+5vaFPlqJQk3jxDJSw4G6Ri4shs0pEPcxQkjR+iJp37n0VXkg + ApDb/2AAGb3qJ2X0+nfLsts+LMuveL4s51Hg0lHNB2ty9oAS3dKHBqz6n1bmdUOh5/Mq4/5eyrueD+RF + 4UmxBYiolkQbXsiMDPK5vQIp6V0eAY4a6Znf8wMb9O3/aoAEUHVivcpDsvkkw0R2IsccxbQx/+bSxvto + egS6In2z80UOeek3Nh5rst5eiIwGNVlsAcjPyy33f1BWq6LVyW3dBLuUhKt0c2YPCiAOaTv4Qx08oSvd + sASM6QuV2GI7/Jq32QM/tMs2rQrKnjps9neKBqhW5HgFXZq6wTzydDLFlUmcZ1Yf9568gkNXLpGP5KSr + fqkDYdBO9m6aJkyB1S6r2+wuZlzo8xj0HoOf3GmUikq766Lzah8sYmLWEa6qXggzP6Lv1TC0RSV6gggs + LIoNnQdR1blzIGIpEMLSFLcpWooAZPTkwQK0Moq2FITlImaYPZng8btyXqBHToLwm6m8urEAiHJQuPoI + aQWTaVXqzghAeJ/EY/cCXVvmIigfEuBBV1K49CTUpUj1vak9cs0FIB215ia05bYmGVKICvN2ghgFSv0N + ljfHD/MKwcPjQBAra4TQAAo8wwbN8/oeIc9cINvawMDCOUub/tN5Fx0XDCXCN4B1zWtwzSMst5ChF2ys + 8Di4J7PncT9UkwFbR+cbrUO4b2xcj2CcVHfdDC3dKyeVBQwkGSPvEYWoGCzR/oFELdPvqHq+wOSLOpQM + L9ZhIupVqH9y14Vod1HBA4/BPdzcQUEEjaxbiBYc6l3FPG8actqKlEWJB2VGV4T05rdIFhzCoi6GMFZ6 + IfYoyG1IaXg90MZF4IEHQgGhGy2qQh9mjrtHQwEGQBTmyLY7hMT4z/6WB8uIkssDTUIkdNXf/XQZv1QF + fyJu0DHBStsEhOjb1SfcSs8qvGQ8DudAdP+wZB2KyU3RDZQjyhD9Mq3wzuT1v0rgAEC0ASjX/Up5BYWw + qkzx/f2vSPEq13DoR41CJ8TqtZdjs923zEPerotjU+KZ8DD5lp7owhPH3pKn8VsByK/LspveC/C4/Xdl + +VWvlOW3/tLPx2750BXo5Hwxpi3XO+T5GBxy82u8oUUy33pvfpcM7MveTQ8EAMnt6Ftl6uK3FH1QOkD6 + dlbbnJ7P7VVIa78MeD2if32d+H/tc8XO+P8a0rIDQHiXsLjkPGqkKKClqlyUfp7bO1V/MMmYC6NdA0II + ixZN8kB6W6IswT3c1DXEueoh2w2ZwyB1QTXEpGs++0G56X7ReEnWYonKIpgVeMza81Db5UPyKgAIAcXs + wR/pBJTkuYDXcrl00jMXiD2g5waPfa/44s7KNR2IHtfdp0rOLV+wtQ57yQACi0rejpU/3Hy5zYSZPKtD + seRa5AeARLM60XKdhKQaVolImFdyj+nBQ05lSiGZviwtQMJNwbIq3Fx8Zo6LTeBJhcStaZooUKizPqgH + aTySCiojAAieCHkQwliqA8mcDO1KHMaaU0hBLDO8Dyi1s0oKAmosjJp4dXydG6lHW/4CTHfWJXRECwjn + cqA465o48U2B1TfkPWjWg2i4A6bP8ZzQFR6IAHPiIs2cVnXsDBYUTBbAg4QkyhDLQASGgRZtb7Mmjqnw + a8ZAzXHUliQJEElicFza1iuPLHSSb5UaWJODhKsAhVgUIawRg/UjYQNZPsctIi8mudx1US145P0z2Pzf + cOKJb+taO/4PWJDExbsiHxYtSOIRejfxb0J1kYuyR1ibdboqGuufhn4BnAGeodiH70X/IIevZMXa+9DC + idyHBkZ5VPKG9D5o8Mk4Y/pj7Ww15cQDUR4wZ5bHcdCeBPCK/AqK2sVuHr9K+Kv2bqIBYIAH+0SxowRM + 5aW6nfvl+wbrBvYR4WAS8OR+YupeJMcFIgAI/bEUxuow+8N0Y9WpMMURD8ThKwENRbh8P3/nGqZqvHEd + tj1axi9S63VkX553b/+zpas56PTDmoUZSD4pu1I4vEpxH+tih5SvSTPkQqToFHqZBzh2KVQr5Y+u4TlK + EwDB25i8FhDRBnjweP1vbKiu3F5lSyFe6Z2pi8KC53nkCuTZkBusVHaIBPIeXRyHsUXoTJESchp9VcBP + XvGGvYxltwpAbvmlvJGPvC2/9q0ydu17ZeSW36q4Ucpc3gBek5W2jnUo2ynLO/Ue20lkewUAcjkAwvaO + HwHAGZ0zjwAiuhady7WY1es5nZcBhE36l/f9PztjfcU5E8ICOPHOyXmKbAR9ndYtNqqiXmrgNks3OCpU + AcQRGzeWhW261QQLt3MHQFysyRpP0oLWDXkufmtm69UCkBsFIKsVQuFmWznVxLhubIDHT7zNHFExj07G + oKGTHVz80zKt90BMTpwTXLFLXgoIr/309z5b+jvEpdaEM2JrPaiCJL2VUGeCWsRhgynlsIDbiQznbkQy + UpXDtJwwGNwUc0YYfUlIC+aRQUQWohZBh9gxzBKSlnQShXYJO8vhLcJYcJeVBwEkat6j7YG4jYmS6llw + WNlYhCtiLK7K/TXJcHJOs4RFTYZVhveBdeVKcRaMmVECFSwdktx6bwZFgecgVsoUlEfYKYTfVAw4paK+ + wTYxptiohJUnONDM64EmRE55Uz5jp+pEtFjHjqqtgtqYxH8RV8YD0aZFyX9PiS452P9cmVyrCmuKCmnr + QHt9AMN9d4JB5S2VDlahC5QWsElwh9kCJBZaVBU8QmCDUURoapEV1gBGBYq0zs4EOOp3DVTBiUcxRFiJ + VjAyJGSUuNYCMHFdC+BB2Ioxqa1mcFkgGd5FXA8rcW+EfyLXY88kX5uK6upu1UFItsxa8RgAGmvigawy + qESba3UplffA4wiT2tKLJZQVTfw0kZIaBDO+otEg4MECd2GiwYOWG1ExHRP0AI9gMnpQmXtryYJ0NboS + 6KbCB6gG8Ek28HAraYN5Mw27iuFZ8pLUlWBsk9hVq1gj8uxJuBNCdst2rTHGJ3sL4DH1ufH+g3DREc11 + /IjCOTCd6Dyx79nSOazwqkJWyGYACOAcQGmmpZLW9j4gZHA/BR5Y0FjYjmhI11QL2wByDWGr8DrqNiEA + wUhduZ1cQChq9BN6KEJBsuAVYkeZYgzE/VMtVAUQXTfXDwnMYDpNK/RFoeDyW+V93PX3AhCBh7yPZXgf + n/mwjB57rYxe+aralfzExJF58sKAh47bXoAV+PBYQqm3QKQBkwQVvUY/9i9/LwEE8FCS/rCMc+lUR3p0 + 7ta3em9eOhVQNLgKNAJAhkDi44DglKCJLogwbhhXQTBSz0D3i0ujgoaIklcn0NMDCe8DAMEAhwyiaBGd + RLSWhgCCPlDY0eHBJ7MLgz2QX5YbH/hlWaUQypwu0LRyFDNiDUwrZEWew56GTrLZjrypkxTlTN7H9BGQ + 83WBx48kCK/oohKzE0JKIc2REBPbortPoSzlClw3oQU2gG0lTjl1IraGFKYa60Cz1TwFxsa6MAvm08Zs + 7BVV6LbgZFmZEouSwAuhAaEsoYEABHDqwXtn3rfnFnxW4KF2FWI78T5x5RgmNRstTWrYqgGSDGM5wU4t + CKNsox5k+ZjameRFHqdx4qxobqprIYQ17R46igOLYjuDCw94UBjoRRSeAsp92pRdKT8qxuGo24uiEEu1 + GqJd9hUWoL10n+S3evIMBBqAiQGEVu7K+4xfIGAWEFFrA9jP1hCWFMmswIRupr3939SEOpEOqPTVPcU7 + ctzZsecACyv+FlXb1kUNJ6Co7WkACLjjKfx+LoHlM4WpAI0AIXks+ZkXNtsOflM33O32a57z3mlu3id9 + iGRdERp0VbnAQ9eaQkwMjJqniEdCTkmnJmTlwsAojgzLH4ZObTKHkkPhxXvh/gMgVDNTECsvVwuR0BGy + G3NlwvtwCEtMQYqq+islX+6aIANG33MOTfVFdDc15VubvQfGOPvYCKXRFiIGP+GBd2ZF+yV81QKPCiCe + 6Y0xJcPI4SRTke/1tZ83dVUkiwwdhQKhDT0t7qOA1QPK9Mjxdem6u/H6MnYea0NePZ2iWTNJ2wVMWGPe + eA5geeiYPGXXDQVdfVze8OQFYgiep2S+5LF3QPmQA99R2EpJYoMzBA82PcfLxVDB6yP3gyJlk1xgTc/v + Jceq4rkDASIDGaedq8l//FrgkZs9kV9Jgcr6RnZ2/sCPg0uw4t/T49vKKSgxjSciAxigYI1xD1n/KEXO + wfdYIXrqSdBvI5+RtwF43PUP4YHcoVzI7b8XbfdXSqZ/v4xcprCxQsxQZ13cRy44QQJv4jg5zuNqH2M9 + Vt6b3/1S6V3xM4HIz3Ssbzuagw6duYBUAIb6G2Gs6/XcfoGHoj48ss0LPFfo94AQwGIwy6hAlYEZPGbP + A2J8M/OTIO5Q/ClKu3v0ydBm/HLbA6ndyRlNYYNIXRrcMVyMtTQQ65o3kOreAjTo0mVX3f3rcuPnflNW + q9c+1aAkcad3K6bpBLnQUB7GNGBxVN6Gtimd9LQAZYaw1SG5WQd/LKT8UVmxT4ms3Sr5t2DAqAjuN0lz + 2plg4cAxxv2mp1VXCbyOCntwpUY7hK7EeMopV7hGuOxmn3iB0mohaJDRnloNCWHb0HxQFe6e4SxAMp1X + ozjh/E+lCw9QdZWvoLoSD8I5FkrwjwOQRbmQrANpigrHVFBI35ieLrLmXAOKTorTKBIvBCCBXouHRGKc + +QcCUBQ3tEV7KlieWlxuXQKYyKugwJJ+Q9F3SMOnNorHL859/3yF5gQoU9ulKNXxtLdDXVf36bdud8J+ + tShrXJn/ULU67Rg8WpSOvORVBCjRS0tKxgVIbLBBkoa4IPHXit3q3q2SZeVt5/f1+IK3xmW3R5AJO/Ih + /n58xxu/OW77gd77GBsWnhaJrVnCgW6tDm36i072WSnb84hZJlEUGS2oI6kLeJAYr+21gwHoavsM3zVe + iV8T2gparNuVC6SIoXtoVLYuGaGjs8JYuPumwcoQip5tWHbImPJ38njtSegR7xcruDLF8B6iLxe1GMOh + Vs3gI3sfjMllHzwHQNQAUWBpNqPH9pKMHxbkRg0LrDFYaNHGw0CDF+LZM5ItPBAAZP2xMr5FeQ/1uILu + 6wFjZl4BNHgfUXDpTtKwB5lZU7s3Z9EpxJHlV/5QiXLJlo4Fz8MAIgLNoNZ9VCZQ1pfZA1YxMjpiFXpC + 1vRKGZ2rpBBXyVCYE4CsUIhmICAIr2MIIB297lyDoavvpxyt1PMBoaAr3vcjIEKCenCJ9BMRFcgJ8kKo + sud6UwJgL5Z6NoHMuOo7DByErwAR5z7+UEYMIL8sE5eI5nuE0L5kSUyxSPjDGAuvwzLOsbeOaYGM8/7i + z3S+/Svf1zH/TDpUuRvAA0Mc0HCUR+/pce7Aq7o2AgsZ5vN6PtSxLxbOGzBxKMuevsgErlkiOpPhXDpv + O+cDEaSGsBT+1D2e6KsgegGA4H3Q629Teroy1j2VkSS6KOfoixpR0HrHS0euPVDq2N2/KdcDIFBGKWAT + hZTBLXSbhFlld0peRwWQmYvkJh4maSUX6wDg8arBY8UeuZacMEpJJ4hr5+paWwFqj6xYP1x58hoxU4G8 + yE63CWFBDucpxGRAJ9C1cKKil0WaczZywhhWER16+xr7yuyC3nqsJSwnsY+cW8BbIfQgXr4ot57/3Ffc + zkl6DUJp6kAqhZceWBVEojbE80BoaeLBUurKS9y7d46YZQq9MTmQOeZZ3zJDHYbYKB4ARat112ro/HGX + Vb/hzrqELXAzuSZUPcubIPxGvqJzjiqOtXXXK7ygLqhMmutuVOJSrSP65322dLZ/wa0V3KbEnXopyKIN + hJhbApI5LRgG7zDVjd4+FCBSYeuOnmqjMJcAgrA5LNWAhwTQCyIsfe7bAhCQ1bTKW/VE4LOTj4gEeyQT + +U1+z8BxIqBg8Z/BlvuEy+6mbk34SteCmDatSHLsbHQAyKLANhsoE+JNz7WkJEejyChojdAVj9HTqLbW + MevPLv9l0RJH99/MKskGchTzowUeUu48ItfUHNXuryTDmRfiQkDmsBCHllfgCnHqm/AI5HmwJpx8b0Cj + gkfkQIKRpfCYNheAms2VXXopyMNrcvNCPDTyKrSzjyFrzpm4ypwqenk6q9USaMMxNUxUfFxTLzGwomgw + a0Dc4iXzJoBINikNFmT0b6vXGu94/FIV/ylXR4uiKdHMGQrVp7su3XapMoeQ4fKAyH+sJPFro0SsKylH + 5AF9gSJGUa6UhzGnvCvhKgMIj9o68kZ6x34R8mOlzO/UM+vKnwtYfuXPIjQkjwQQUZGgDTmts5jvLlKJ + 5MMJYa0B6kqW3fNPke8Q+2rZZ/+xjNz2uzJ660fqrPurMnH1z8rIFUqyqzeW2w0x0sBee7KvMJos52cg + zz52XS95TehTACQ2ojrSswrF1fe4NuhTNhvpNtTRs3pP14qNkBfXM4ye4cwPd+dwpwVa6GQyHQ+SWUrS + hy5JkDxHCIsEeuY/BCqEUwltRodrAYjuX13jDtdhPGqNxEwQeyC/Ldc+8NuymgpIKKR0gxRVbUqDXUhY + +cQIWx1RwlwnavC4AIR8TcABeIj9sAfvQyeM+ybhQCBwrRwvI6TjytSHXQ/CQbNgPMhE1jzMKBoXAiKm + 72ojWe1KXseUI6cxWE0yXAObWNBagNBpSZBDT+zSLG6DOPJ4A7IesRhwt/ncsWp5Dq4FAUAUgsDTaYoK + WzUgw4R65EGioaJmgniwVDC8PIkQerEsOdMjaYshEJmirQMhKeU1nGBEeOkBpEKpGbE3UPjD0BZ5EVnS + +g69hHoCiY5mMUysVSJW7KnOOoVE1sdUuO4Gna8W+cSOz5XudsJbChnoPJ28V9JyhgQ+ILVX1Gk1pOtd + ItAX+PfoYqoGbbNQsanhSeAwwDcMkpqfGIaYVu3QothRF8VLsVBTkUeISgqAEJYZWkqwG1gqyCxeUPz+ + E2w6DrvMUk4sXIDEXih9fLAoHa6KAshIlkc34WYz6yyYVZEg51FggTfi9yuIkBMK1plDHC6+YgCUcmsa + rFPDV/ZcbWSM2AOhS4Lna0jxQ/QwmOBVILuAhym48hzIyZEDEfslCmOZAihvwBXrNGasuY/KuAqvpTPd + BhBNipunuy/J0PvCs9KGVwMDy1XuPicq57OPlo4/hmiJ/qvQBf89sVp9jDZpfO02FdjRM6spHIzK88Ea + aLvkRLS2shmo2/HYA4nKcwOUuwQrV6doxfilUvquOVCoVobMyHVqPaLhTwN1pqDeo7J4uMYGD2+SK0Us + vEmpzu9VSEYG6dxB6RU9JzRVwWPy2gCTnsBiNfKk7yNX6ByAZfL635bu1b9SoaHqRJLhRFNGvH7CWC6k + 1P3BGkdm6Tu17G6Bh0CDcNXy25Qwv/Pv1QDx9867kGeZkSE9JoZZtEuKTs1mvbkYMCxyG00GkDOQ8V1i + WQEYqU/9/EJ0q2pBLlHzxSM/lX59Q9cAvSqdKt06d1DhLF2XeelajPW6Jkmwz1KoiIHlNjhB+jAxI+s4 + 3PvOObEoIqTNE7m88EA2O+8BgMDG8nROdCxtf9y/DabfM6kvMlxHGFsg3JlhJoi6e1x+z0flmvs/LKtU + 0DMLhU41CLXnzDReiUFD4SqBxqxOdO6QmprphFbs/7FOUgCibeVuAQgnC3CwASJCKyddzHRRQleKlb5Y + 0bBLo2CFgCM5StYAQldcKXYSky7GwrUnPmxqpCpxWaCmHcIoudmggGB0VWjY0zzxKc3QmKZrrRPZyh3Q + OZVqSyn8aOXeixwIXSQFUs3sj5z/EXUh0Yl3OBNE7dyd2B9kPmTMFfLj0ITVGZhcQ0cV8H0XbClWTDJf + gMA4TSf46VmlAkFTc8mROF+i0BVt2TlGPDN5K7SI6Giu9ficGkiuPlomV19aJtddWSbPEfNH86m7um6j + exTSEo2SfU8x2pZcCFMK/R/PqUYE0KCD6Y9LV43n4K33qcup7DhZLsRObe0Z6HG9czF6QdbXL+v93Hbq + kYXaxHUVdnAehNbWtHPQQuJeN1YY+2v9/rjnsjh3ne6mcOhWgYa9HNpHKBwHTVUKEdmIRR1NEK0w7XUk + Rbmh5OLWV4o1oBBeTLSb0WLL7wWbKeiKPHc+wZRYWelqLIixU1vh1NohFpuT5wYIRoBSCBvJ9OpRBFBE + 7QVgs+B1TZwndTfCVyTN8T6UOG9CV9HKpDNzKIAg8xCcVzCuNOVQx+4iyqQlA37OhayPMFbtwswxjK8W + 43Hb3fJ6tcl7JzcDILO5At30XarSs5DQORAGbikJ69YgVJvH9cYqr3TdiUsUakHBCqB7R1QoxzwPMZwY + TzsvPUAC3Xk1Qj5V6RpAFNeXsjRwKJqBngFAsNInbvhtgMh1erzuNwIQkX0sUyFDK2XA+rPrPywdfd4R + 0DiUpZD7rEJlM8wn0johrI3OcD5GTKrld/w+QlcCENhXI7fK8xB4dJV3mSOagtVPmEtee73O7uZAx4Pz + ySFCGklSiNdNlflFsq1z87HWRz8XCUkgMX2R8h96XLwBFiv2CCikX+fRsdrmdE3sgdSID56J/hcm2JQ6 + GaPzzPh08SSFw0xmVc80dy2POibuH3KIRzwhUoZ1sEJWTqBrzHctICQvXYfOBeVcAGKiQOgMDEbuJzoa + NuKyy+7+qFx232/KKlWAukiQbpCU7ssLmWYqltzJWSV07HVc8KbBY97ex4/LSsADpEQQrKDklrJBLYMJ + oQVpZLRCl+uuPMj4jJIvOZd8+YQ8AVd70xU3HicG6kfP4Ha3mqa7Lv161AhOAh2LkbYQNKu7yBcANhaU + 2P65spKom3BHYGpERGXVxcBbqPkOD44yiybmgARYRAPFIYBQJ5KvCWOpnbs9FnfnFbUXL2Qg5KatyQpR + NlfoWLV1V6vH0FpyMQo/rZXAioYLO2WwnylrKgxU7sKNJqXwSf5TpYv3MaWwV2/bwwpXfbaMzewUiCjB + tVK5oVVHbC1OrCTscGUZ2anrd+6d6oiqSmDllDwCVxXprv3QFLe+XPbupa+p9cNPVVn7M3kitElQ6BH6 + NclJkxwiCecQI6Ch+9ZsC5Q9oYUAj2rt2NNQmMsxYDOiVPthllQCiMGoDR4snuFiP33gyEVHwtEeDoYI + gCVCgJSWaYkuxmyxrJo6l5oor/Rc8iYRF7ZHkS1JsMhqXYjDP54gFxRm0zyda4F9RfGdrHYttqjpQFYi + QR61FFdY4UfFtsKlGDsOu1JUGDVIhFDdYNEFfDGLw15K5j4AhghfARIHw/NIMInwVQCL+1W5Klx919yU + UbJEjsMeiGTKABKFkTWMFQDDXPBgY+HtTMgwmdgR3geeLWvSfbIAkUrl9bxsWFk5joACNGj39kBqqDB6 + pgEieHMTl/7Qo2kBCgCNLrZd5ptrlkZfLc5JopM3sHFZZQXFqg19gkU+LxDBQEWn4E2M3/w7exeTAImA + Yvrid+SBILPD3wEckzd86O/xvKf8AoxQA4iMNdYaeoB7iXc5ppYly+76OwPH6G3aAI+bf6P/+tB6DJlf + oeOjKj5kXaQAAUcoYjphPBohuUoldg6ktZZOZSAlgMwsBSAy0AEMDPJ6jjzOKV0AwM7ioZFvxhDkWuqa + Tqn4eEpeYHPftUbIXbm/IB0U8rjxSILdJyPF5QhqMsuoC3sfjKpQesHhK+XD5ClH9wpamRDCIuwonZGG + JLq9O3vEZRHLrrz7d+WKe35dVgpA5uAYQ6tTsQxMrBnRx6bkkRg8KnDsx8XUSe7B83hVJyoA0UVboZ1H + cRDTwgI8sOam5QZROAc9sLtGE7BmNUvDOQ9Z9Z63kS3VKR6UcncbeOo/3NVUi5C5zh5+orCFkmEkM6Ob + 7e12w/BCDCAbFUaCrSQiAJY5As/v2d+wUFCDotyenTYUzAGpvbHqHJCoPqcGJGpE9H0n91UUxnhbWsJL + gTiJ2j/XyE1YjNqA8WlRPPui+TKDZFatK/ZoEak1NKyUKXHO8UCmadcOkHB8KqikDQQA0t0hN3vL/aWz + QR2MVWMSABIg0lmjsJa8kOU7xdSCZrlZoAN1mdbuyocQaqRCva+pbZMqiAI8Jq96V20a5IEoHjxFYg7r + hXBj9RbxGC2kuS0QepQ+bjIhSYQmQlgAiBkfMg6wQNyLR+Gu+A5A07a+9Hv20Wx8xusfnd7GIt5GbkXG + yDa8D8mUWmVHcjiq6qMRYnoSTpRnPYcZVcMCyehsC7UVFgptHKjQpisy3XHxQvgduRAopiTXg9Lrwjm5 + 8iwqrLThlMquFxvgUUGE/dq4MeGDhC3DnPBGgqYeDQtlYOQQJ7Ou8EDsfSh8BUjkjPYmaZ7Mq/oZ3oc7 + KQtAzBDTdXCLH87DFfNS7AYP6o5oZ04yldYoFBXqXCimg+W1QW0odgpASKoDHqpE9/RCGIuViaVQVk/M + smh5Lw9E/+kwCJYslFB3NEgPrtKgxa4au0KUWuXhUNTdS14tE5ep35Om9fW0EU4lOuFwpw2XsMbZ0CWE + cWygHogIx/TRd+QRiMYLgGibEEjMHX7L+qZuc4fUpPAY3wFAPiwTN36k0Ne7NpZmGYkgY22KYVtSilMK + 5dCyfdkdv1Ou4/diX/1BxYHkPH5XJlTlTjjeRlN6DBgTVpgwAGG5WfaC5efecxg3ZihiQFXj6XRkXB7I + hfI8LnpnuB3BG9F24dvStboG++WF2ECXB6JHQHXuAG1OKC6UvjVRSeFBKMkKYfdVPFx74nnuOc1adS/D + G5G+gIEng8epgzRSDCBZRBiDpKSzPAudrtUaTUEXB6Y1OoQFgGTYkPUuPYABTxGtAOSjcvU9H5Q1orW5 + 0lzl87PaAJFZVUDOqMUAoS0nyx2yquBRlYEEAMQGOBI0XBWbFb1uA8EC0wkR7hmXlb1cVr3psYSuMjwE + d56OkNGw8EBaaZEo5aRcBKVFirUG68VdePU+SnwKyhq5BM0rmKIlCIIjhlTX8el9C3tgkQB14p5uqkoC + tTrwDlu515wHAKcQFgCCJ8J89Wz3buAj5IY3op5dNI3EM5kQ26tDiwixp7oHVbWrVg7uUqw8yDTt7uUl + TXF8ourS+LCv+o+u2kKQ3+hsvqeMr9SsiZWyFNcojKUQFnmQSTXFG92pJnbycPr6nS0reVpTKjwkWdlX + W+qOvI8xNYUDQCauU+8gtYGgnfSU8lcYANVrXKHFusIAgue4FICk56DFFOABQESOpBYPsnjCAgNAWp5H + 46ovBpD6+kQA0l54MkZMBWbx4n1AG9YIASpgWbz2DmBZBcPKytLFawAByj8ouv6em3TSxpqksEIzxPiV + S3P9w1o1JTQAUYUfxXjOiQhIWHROdru558FoGkdOTOQLcmqm7nrejMJKrpWgRX/M/giFzOS/AA1Xfhs4 + mCUNZZfnUTMy3A7lwlafNXsk0bqkgguAZGWe4AeA4H2wb3tTroehyyznTb0RYToAJD0QAUilGHeUU5s8 + X/lBecqmt3rg1BBA8PRjvTEKF2UioohzIMq9cF0aAImZGhEiBIDFDpSMd1VXQdh2Th7q+JVqxa5RtN2L + X5Vn/J4L5QwieKaWPcBgCCJzB9+UfpE3IgVLuHzq0veGACJwmD8o7ySN1lW7FO4SoPSv/KB0r/m1vA+8 + lF/bUp9TCCwARAW6hM6539JDozf+3OUJVLmP3vJ7bb9TwlyeDa1JWmEmjs9hKivLoKXb44MOm94v8uXv + 2DMnLFy97VOAiM4ZsJi+SPmOCiIVQPQ4dwFpgjdze8PnXFMHsyIZOMRmgpI8cqI7yj1RtD1Ff7zs7DFN + +xYXAqJ76a1G92V5wsid5AuwCABhnC0phe3B8mNOOjkwdzrAUIPpp9Auocc8R9Y71wRAsmF17LMflmvu + fr+sgzut8BOl8gAI/VecgNUBz9LMy0kd3XCByCrdxNV7fqziw8h/ED93LQEhK7jfnIgn8ykW5yIlJe1k + RU+oIn1MrdEjHBTt0u2FKBnTFLOQ8GasIslzx+MogIrEI0yKatmF+/6AlLb61wsk8HK6YkbBUhpIMTOz + AIU7qZbrdrVatN1RuW21urxpN+H55wpRWVEADvJQpDgCQEJxjHbX6ngBvkiokw8hHMe+3A6ZIsN5hTDW + SWB1HN39UvBqfkgokPYuPE6J4UZ9B9XlAzWc7O3S9DMAhClo21S1v+FGFwJ2Nt8pj4QkuhJfm+4o41vv + UqIdAFFoBe9FQERobKBYc0fMK3cUVdXsxLU/L+M3iEWihQGTZVq0ayw3rLUVsmxW7lMlr4yAVdxLewW5 + mPV8tYSbjfe8yGsIS2EHLB4nD2lVwuYEIuDxiuLS/Hb4e+Ri6Q2ZWbg1SsTHEl6P8y54HyxeAYjDSvY4 + al1HUlbbuY6c2x5KtI4HoGqbJoG058AroJkgYc3dXlRYlabzuhakFhCKTaRWIPZAoO8qH1E7E1Do6lkz + bkoYw8vszThRnUN68EBQyhVEmB/ikFUrbFW9DqzBDCtEwjzourUxaLRIUVLTeQmS2xT1icKb7dsNEPKs + OP6GRFDPJ6vcTWnXb2B7QRvGi+1pwiAFhf0VAjjam5AjoBbEM+KjIh2FY2vUNF5dD7e/Jw8gD6SZ6Bee + X6UTA8SzYgWOH5PFrIptWplPqFV67+LXNVzptwovqf5BxX4o29XyRi0j0iOrZNTwfNWe1ywfM0elXC95 + r8xKoU7cqDDWDR+ViZt+Z/ldtTu+wzZ7RMn6K8S+Um6ke/WvnU9wiF1WuufqyOt3XlJAyAiEntqrd6+Q + kSVK8JjCYxM3/Ma5lnkxmZDhOI6Q/8gJxmP1vpFBdI5zbxgf8kSwxi2vzTrgvI6X8+Y9nePs0fe0LkXj + vfg9navOU2BSt7nDP9V61XkYSAQgApNpfY+cCXUiJM7nFUImx4vh4A4UMkh7bmypVIF0LTI9BY2X2jh0 + pg0FojmSQcuewuRmYm22/sTrxXsOtl7UGZmUAcMvabwRjg5DkLXp7iHSecuu+uxH5drPvlfWCkDgZweI + yBsRnW6e0n2KZeRyzsPvd9gKq0EXSBdipYSAC4crB1JFz3jlH0jCZSLO+QsaJSrZzUHbmm8ARL2m3CaE + SkgpYRgBdIbMghaDg4dDqR289lcrSt2WgEl/MHJIqOu3PRSEaL20TqGiu28AUQLUHXo3LgQQAcEoDDA2 + qJlMJySkxWx0PAwBxIjG2AaQkKehkJDjFBABHnrt7wAwhMT4TPscm1IvfTWPxGvgGHpqNOd+QEwZVCJ9 + SpPNBlAd1WjSoSe1MOkT6trNd9UAUWDS2Sq2lfIhzGHoqDakp7zHxPlqXrZZbijUYZ3XgBwIuQ/tj4Tl + 2FVvuuXC+LW0pf6FrCrFdDUNjXYQ01qIFkoJ5IoDAhEBCMZAEwqw8tfCyfBSfYychYQmC/6iF1YUEeLS + VvAgLLVa1uAQME6yeLz4hxtWZIS1CB/UMBf5F6wc+g0F4wurnsUbfasAD3Ibke+IyYlZHLhJFhmLnKIp + eRg0H4Q+G4uHTrlyu+lGMDpwqCm6KJN4D88FeqJ7k2XeoC+PlzApxocba8oQCUaVvA9ZclEcqEp4BlZ5 + eBMGDgBCGEtWvcEjZo8HO2vYKyvyHjXHQe6DmpHh6/BCaGoXM0CiDXcU9wUZQMraipwW9Eqom4UWLdRd + be2wlgDGc7BpQ6/4dnoy/XMUTvZY28jVuGsD/a9qO3dCdwJYN1Rs2phEt+Og8IbydBLdM2MoEKSokU4B + Gjkgo2b8mGRNytVTBsXmpBU7BXTdK+SJSGlXmamg0cjFLnkgR38mWZUVflgAIuDokCTXtmrf6wvkZ0ZK + uK8QFtv0JfyG/CwV3LLUlb+A3k74bWKLaqsUSka/QdEdUe6DvIoNKckdBdA2hm1YvRaGTA3rOheYYdyt + yqu4TQgz4LOjs2QvDC3kN0HRALJQ1tuvAQvOEfDgHOpzAHH+AsBD2yHlhAQePAIgU9TgKU9EmoFQJaF7 + wrisA+sR6ZCOZsBE8SjkCJGOHPqn/EGbIzjZr01yh9fhtkwwSmVceCKl5Yyi0cgRukeeAUQg6euREQRF + B5Br5iQtu+ae3xeGSq2Tt+HkN9Ymm5Kt87qwVDvapSP5BVXXLqQusi6SAYQbILZMxNp08LKUvFCgMboF + uhhLyvzz3P2umA7YFRNqUolslC/MKBa1i7RUja4wgfMOVPIKPPBgopeLwEKLCRfLiXUtbpfr63/5Hgkh + ty3ZpAWNZX/+Q66nmGR6nDwD5zSyVYmbNipfEfkL/h/wEqh4ZogAIr2QSuHFArUHIo9j2Zg8Jj2P2hCA + RxPpyIVoXvrYtM5XRYZdscIG4sb3lUDvaaLZjLwPOuwOpPD7OwWwKvBz8kvfMXAwe1kJdxpQ9nbKUjr/ + QQnDAwrJ6VyU2xndJZbWRjVAO1cAuVG1CQzsUt8rCrcmLnvNoYKxq98po9e8LRD5mcCDpOBHpacY8pQA + BKqgaYDKX8HssBeC5ad72Ag9IFCVOVYGC0ILh2phywUx36xAx4UdKnx+VwHkZAuHxT/cAjwSQHYoBCoK + rS0cPXf4SrkP/megxeC54l4sQV0NtlGAR8134G4j+A65KNSD4qVC3LUWc8o5aNGY7Sf5IjQU7U8oPgwF + TEdbFPC0q7iRY83S0O/GJiP/gaGBHMd4WHmIApDIpUg5+T0AhIUan1fwiBkhEb6KViWR8+gmeODhBHBQ + 65EeSIax2F/QatVuxD2MQv5dRKjrNZtNOyMfFN6ZG0UqpxOhPlW7Y4WSwJ8nvh0MRqxS53DI0ejRwGI2 + FiAClZcuEQLBjIfjYcFI43rNnCuGof8nciCzBhDqPWjwCQ2a0a7fUL7hVdViSDdIdvA8iOt3r5KncOxn + Cjf9SjkOdQC3B4KirXKh57tUWKfPUKIAyCQeyPUfKUyFwkfvpGLepd5RlwqUjqnB4pWi3ur7K/ZHecG8 + oiZ0woAY0dl8bxndq2mSYpS6V59yHcvFwJqVUbVyL2Ajg0pUWQBkHgNLORjWBoYW/0fId2V66uREAEmH + OOkokA06MaBX7QBo8MZZC1oHOr6lQUSeEwACcFyktWkwiXAW58t5BHjI+8AL0TatvM6UvKspEWLoFwao + V+PF8znUtQKG5sR61ZLJ6AwPOHJbjWwKIOKe09ZJTD/YWNB2kUWMhcx3RWEuA+YwTii2FYBo3UeILoxF + ABMPNQDk3j+Wa+96t6yVuxlJUnrUyKNw3xbK9hmtSP99KstpgiavhHyH+9RHOwGUi1tfM/aTUnnXcMiq + gipGoUoyn0ax6qHQ0k5E4OFcCBY+j02tBdb/jJU+7pbd52yO5zkabmciZaoF5+SebmZPCw1gmlT+gap0 + 8go9qLHkD8SQGldepZkFYjBYJYUvCtsUbCrlLwhD0aKCDQ8Jpo1zNFkD0oSs1tj7GOlqxvqkjt8srWnt + X+Nu54Xqq6Qk1ujmbVJ+RrPJ+xqFyTjMKbrsimpLGMuNEwllKVdDDsPex34Bhyp6ewp5dXdrrrWS6t0d + qj7Hm9I2ckiJ9k3yShAOsbAGyq/QZ2zywu+VjsZwTlz+usDjp2VUHsiYPBCmpxEyoEJ3SswVanlYWHOK + p67AqiFJx2Lco5AAFle63AYUgwp5LYyGoGT7vpsgkS1OXBCFF5OLpS5q7W/1Cbef6LPYqgES4CWLU3F8 + JyMJnVVrT4sSIUaJBj038hpNI0KHamLADWGVsLwADzxVeR1Y/6m0J2RccK+o3YjaoovtriM7tWsyVnTk + TLDiCH3RHffCIFXoniNfJm8wlZA8HN6HwwRMwxRw2NojVNDOf2TinAQm1HSS5nRyzhkfhK/ceTd7XtUB + UjHHhvwffa+wCulXhfdBHofJcirwggWn+8HxRtI8uw27C3Q28dR7ARLKyfkYg5pb84lBLU6SSo79dbhP + yfpIqpNEz9YpHspFjzElZl3hnWFE9xWr/dUYGBWtVYjRT6k0gDlBJIIJwSB/E5rx0b1afa6UGEd5GkD2 + vtHIBvIxd1jK9AghrHfteUzeKIrtdWJJ7X9zwfemrtCEQoWusNBRuvZa5IEAFLPSW9PKxYzse7iM7ldH + B8bFqt8UwDB1qSrBBTp8f/7gGwYM5BDQWrmfsJH2pY3nK+X1rNwHtZj8rwBRkRnaCEHcgdIMoYDW9JHX + iTURXpW2BWsB2Q8PihCWvQ828iACkOmL320iBQEcaqx4mPwlPQffjlZSupaAtO8jBdOEmph1rtxvZz3s + T9XHbVDeTrVkvsfOwUUeLjbWBPm32qwTxqDCmrT0d8t+QpUUi+JlMqJC3j1kAnsgnB/OA/pBUyMlNxjt + y6699+/KNQphrVHFMrG1Cg7zFAJS5cijFQiNuwAXgQYJWGLoMHW08M2vzk6ggXpMPlMxHLOIYZzgMnlM + rRS1vAxAAy8jciD0miIngsKOvMI4wKO54xNuQiemiemDTNZTgQzWqBukKSmvBemQgwCGLrwUFwIifcU9 + u7I8KMYbX6keRtof4BAeCCwqKsrFohqosFBhLDyKCFMoVMXxmW0FI4tcB++pYEbHhxcyAvUYkJEHZTBR + 6AtiAKGrKACUQtkuhpS8j74G0HDTXdmvQr8p9aaaUoET9TVTgImApbdHjJW98kQAEG+ayazq1+4uheHO + l3AITJYffqpMbteI4I0KaW0UuwzWlrqfjl3yQpm86AU1fFPTt2veFIC8U8Zu+KDZemoJgeDRb2dOC2Ve + DA8sL7v5WhgACEK9EECyrsdURrxRWW4oCDqcZn8sJz6xRAw8GVY4TfAIAAmgYjEBCFizgEmAR1S8o4BQ + fO4uyuTGjS2mVbKszK5yjx86z0abhijmywrvHCnLvXV3A8gZKHPFgqNLaXog9CxLi53cHTkQwjfk1szE + k+GDxUY4zM0PlZ+LhoZiQmG5O0yA3LNIw9KLsFksWBcLAh4KSQVFN6i5eOQ2lgjVum2JvBADjDwked5U + A7t/kXsY0XKEBLdCtzo+AATiSk1kAyqmLOtauuVLMrUcOjNI4GFEWKNJ8Gdu0VReAMRthqITb9SGkEQH + QOicDYAQ+4+CTQMIYUQXaGr9MxyrNug0HVr0z63fESNQljahF+RPhguJ4Anl6KjrMIgolBOKtmVgHFBh + 3aW/kKWukJc8DwBkQtuKg2rlLrBZtRcgkWIVCPSuUuLcSWdZ7Zk3mFNvLTqKj1+ucbR7HiyjB7/s/McM + 3TNIxO9T0d7lvxBQCDDSE18hsAA0yLOsUDJ/FeCh4wBkVhyMxPaMFLo9eZUszKijhLtqixFJvYmLqvFm + tK7m8zf8bgX70HHzfOV+5X90/DMXvy+v4v3MgUQoaxYGlou0WaO5CTzo+OGBU2opxZyUmG1OuxkxpaQT + yVFhtE6eo+iLipsnpYPwRLrIYpVDEzoYIlbDqBj4mpXkmTAKXcmrdat36kYk0zMmqdDFm7k1yFmGrFsG + ZgMg1whArlMSfa0HxuOBELJAcSQfOhNE8yRNpTTszqEE5KLxGpolLrObeKlwCYsG4ce6mZBSRbETBrDy + JWdAsnosrDoratdWRFgIZT6uUBCFeiQ66TkFIwuhhg5cwcJNwkBedzgFNUVL1MIiFOV27uQ+Nt2li0ri + Xs0a5c2MKlRVaz5Myc3k+EhXXocoucvFquLzqBGBdZNDpdyfS8fu3I0KCwUmfHd5R4/yQkYUjhufUXXn + KjXSUzX5pBLoA9qqy+KhXfSAQVuM+xWI9FSrMqUBXFMMzVFIa0r9qvqErTRPob/vWw5hdfcoIUYXYw2O + 6qunFcn10cMKc21VJb+KDbuyNno7HtMwn++W0ctf1vaKuoZqoVytmQZXKxdy/XsGkvGr3tEcZgEILfcl + mFh/WDOzWmSmSspd92IUADgswALeDcuF0CQhrMiJwaZxoZ1buEOtDQMivAjAI37nTYt66Y0FH1v8nzbJ + D/tCZixHeB8wvuR5kDyPeg9aloss4EmDUVE+S55Dwo3CdELTLCtRUhU66qpSu9Jjsexh29nzkOHiJDX0 + cBaNvkcoyJaWcynUfkQPKXu1FBDq/wkvEdIEfNxgTt5GeC9KygJcpsdG8nkIHHggeB7kXAAPimGh67Jo + h63aJwY7Goo4XrpDWRm66q0Qu8r7xwOJBnj2QDyvI2iWBhBCironLojcBAsH4BBLTwrAwKvzqzlIU4th + oCWwBTGFOpUEF4MHhBfCXAx4C48lZsoDINki3wBSQ1jUeEWzxKj/iG3OLEwpH/pbKWQK02leCtlEDhkm + M5oxRJ4O5hTb9MU/L2t2I49vNXIyuPJXBpDe1QKQm/6gkOwflQPhc2QsZGnuQqx4hccueNvyPC8l7Ud5 + CROX/8TTBkd3C0AuVMt5TTK0d+IQEQr9p/Z8qvzPW8mThH+zrASo9F8rDr4tUGEjh6hNv18hwLF3rvPA + G8ADIaSH/OLVr1BYDIAy+AAg7Ff7mL9A+Q098j6hq+lLxAgTkAAmTqAnhXdW14h1SjNFAG9WgNVXPddA + 0wqp93IxKc0SPfdFRbUAg8ojYGzigUyqBm1CYDKxToaU73Hm4cwAJBcXjEB7nh51TK0PLDvtzySJ7Ojg + Lg107w4AWanQsnW+1+6rlp30QP6+XH3H2wIQKJN0Yo0umSsU8woQyWpRVyIqdMEFxJUxgKioRUKMtREx + Wrm+sFwUWxtl7CcsJdd8BJPJSWmFhUzdNYBgwSusNaOGiiu04GeVy2CT94F7D2uro+S76ZJUw5IUpGUI + DCw/V4iHGDkxa12ACcCHlutQaaXIJ1R1Ozazo4wOGH4SISfPQMezEEhwjCS+R6dVFd8XowAvxPkXAcxy + FY4p9h3DrWjfrfyIk+o6dnkdy7vyVEi8D0SFW6FE/SpVkKuOA0uANg49eR8GEDVH61/8E9dsEFqbYgQw + 7fAPSHmqdUyAxzfdlI6kOzmRvryLvoqDmAXSOfhsGdMC6KmFSWej6NAqOuxsf9it3UdZIFcIRNiOqbOo + Wk+PCTxGBSL08ukeI4QFv1y8cxgc4pMjoLaQJMgIOsZALEoZBXsBEN1T3/vwPmbpE+UqYsWU8ULtykLl + BggWAUdahgtBhMWuhZ+fhQBGLJscFrFVEpZ0KQ3ZA1QAhc9IMQW1Nmi6ClfJuq4FhAYQfc+1GlKKHSep + BRACCQpMY55LxwNyaPwWrXFkdYnV5PCQ9s++AKYZV26LP1/lSgBiOVarB8KdKPto80Fbk8PJk8f7yERl + O3zVFAtG0t4hg1rv4fxHzPcgOU8XagbzjHc0MlkeegDMhUGZlVFkb0gAgowHm0xeQgMgNLMMOjV1V7VT + ca0J4XpxfT1fPYdEAXbOh9TwhpliCrlybqxf9ZIDQMgh9VeFxzJs5U4eMkJY0aSQcKJACwDxdMUYahVd + YQOUIyxJIZysd4VqsPZhdWIk0GMPJpRB5PrfOWQFgFQQ6V77kWrTVM90LSGsPxhE8EoqeCBPq/bLg0gl + v1JhoxUobj321EyRfODoJc+X0X2PlNGLnxet/X17F7MXaqLhATyZ8GIs99pQ8Kv24W1IybPJW5i/4F0p + //g+HgMyy/7Rf0EgUgsXRWfcJBWWYgMgAiGF2wALwmIGIu0fIJnTPqePygPRuRhABIAkz10DIg+INep5 + SznEj8JutygiFE4JAO1prPegjjPfRQQJyhUwluV90B1jYt1VZVwAMrEmwrjNhlGDfJq6TeEo4EGND7lk + 6VPXV2EcxL0Nj7JS9glbh9FYAYTQ8LJr7/uHcuy2N8oaNdzz/AdyHM5/0JYEAIGlENxmYuKOg1U6F6iL + Gy0FY1eIeK3iaCyE6DvF6E/aX2cLbOc/YubHyOScvY0JVV6PrpWiP0cxtfXXlIlzlfher/CUOuhO0q13 + pXjLjPhkopiFXMVgbgmvAil4zu55FW2nKYxyLy0V842LCjw+t0+J7fP9X27h7opzsawEEhT9RfGfEun6 + zqiABECz5+HwmgDOXkgmyjNHgve0jNCVOghTST86p74yVPeuFWPnHN3IjfK+VIHbU0sRex7yAJgngEdB + +Ir8h1s4M6xLQ7sG8jzsfWi6W09hKyfSFdaCpTUlqu+E5i6MHxbAyBuZ3CShUY5kYudD8kqeKiOXfK+M + XPq8Wk6r7fSxH8nzkBdy3c80XU003mvUZE6xZnIg0wohuJ+ZuPVYWHNYYFhIiu2yaLwY9UhS0QBCt0+8 + D1GzPXfElbfRhdThKxaRwIYF6IXoGHbs50SbvVZ7LbG5dQiMLskTFfIAiMOhirviWdqq9fQzha9o1ZFK + K0KZ5NqkGJkSqAXRqewmhYZc3GRDYNpdR81uYoa9W4dggSlPJTCB2kqxXe3cC3vL1HPnU9QmXosNz4PR + yLWPVfS+irkeZgCaIhlMl5pXGHLuh9TdyAlqq0Vc8pLNwffGRDhtAIg+d4gq49A8cp5hnFE1Tg6DhqG3 + Z3w6vRAZfC6Y9KyRYGShwOP3tGsX0LHp2KOGJeo/WLMegcAgKQZLufU7ISzyLeR2aggLyjyFhABIeiDM + HqFtkEcWxEwat21n4Bdz0XXvXDPgOg/lHuQZQCnvyZiiroyea/1LIXwEy2ri5j8oN6BeVzY2FDK6SApf + ANK97iMxpn5fOjeoZuOWP5Y1gMw+vId4xFNABp3PwygRZX1chJLxqzQM6kLNND/wpTJ22ctiJyrnQZgq + vYvVVe6lEFH2AAigsfJAAogf9R6PApC5C99NWScEppyIiSiSXYXyafM+s11GlgDKiXgAI70Pe0cCoXnl + deYPK88hoJwRGBlA8ELIg1AHotCyPQ91OGc2inWF1j/dJhiJ0TsovUG3dF1rj6qA5OC8FukCAES5D1or + qWvF5Bp5B2ulT9doho0avyL39jgV1gpiBveVnEfkkG2UqQksfcMcys2xBx7VYKciKtEdes4QNJ7thORX + APKP5ao7GBPJgg6a5rxubngfAg+BxQoXnUX4irADALKCRnd6josDE4MK34pkdMjt6GBhQI1pcXhOuau/ + GQGqHIcWy+T8ITOWJtWqY1ztpcc236IePfeUia0PqNBJSSHVPExq6M2EvBH3ntK+JuTms5lFQH8sLgLz + GsxKUBhBHPZoVbLCAELNyUj/nGRW5ahaQmYAiBLf5C74zti02qsIQEY6DAKSh5LhNR7DC5G3knOw3QLF + 7CvlQgRMo2tk8W5QvYC6505sEPDtVb7iYiWZLlWMlmE3il1OHBGb6AK1hpH3MaCtiQo0aUvA+Ep6WFFs + 6JCVCoJiFHD0tyLRjncxeVAFWqpq72xV63p97oVxVAnCy1+S16HtKoWwAA/Nch69UTmQm9RgThTeDh6I + 6H8DWvHTtE2uMgvF8WKsI7wQWXFehAAIVhwt+emMKgCZJbFsCxM3lkE68kJJugs8vGgdcogFbwDxwo7F + XR9XATI175HMq5XyOhwjBzyQJfVR8/9KUFForg53XYaK0/ASCDE5F5JJblqMeJYGIaugxhLqHJtca/CA + rBEUxZhBEwObUOjqzJxJ9KlzxDbJvBohH5gnWHa1dglFi7xOqrVOHbpkWi05AfcakmJOimSdN0E4CEBz + +MoeERXn4fm40txtJAQeDPOpwEEBKs9ppQ1pJHMNsHzshQAgEANcZxKjZvvErJlt4QVOGEueoueXCBB9 + nSiQVK0RA6uc5GfeB8WBHFvEvbl+BhEsUcfUE0AMItGFt0mi2yMKKzUYXwr30cjTEzgTPHj0Fq1g5mBj + yQB1yDtZSX0VBg4Uwh3TDHIXoO6QoaVCwImb1MRQXgggMX/h+5Klt+VdoHA1M+NK5UrkgUwohDVzsUZv + W77aW8ge8kgIqX+pqOyqPRm/6qdl7NBXnf8Yu/J1EUtU8yHmk7+bAOTnAh6HruxpkDwP0Fi1j0d5Jfv1 + nNf6T2SZ32B4wfgyWLhaXJ6NRib4fdaUAKc+si+AEG9m7vB79kJm5IHAIKMWZJoEugFEeQ/AQ/M/Bqos + 7zLOwb31VN+2T2FtMS655gOmQmJMEGZM4gNyOCF92WV8t/LOhNPpeYYHQjgLdqrvMyFM1xIplO7eZpJ3 + ZJ/76c7FkiHnF5njgvfB3CDIM4sBRF6eAUTlEdff90/KgahNstqNV5fYisK5jwgvGDiSwuU4dVYgz9Ps + Ds65BJdinbB+oi+Ve1cpLk1IydWOlMv3NU8cSwwqmcCBim066U5uvqtMbP9cGd+joUl7v+RePZPn3qJ4 + nqanqbp7XAp+kvbvCo1RK4LlhvvPoqzuN4uYeCChL0JUnssA3VZgYQqvphA6Ye8BUUrWi4FF80JyI+Mz + apanEJYBxDkZajwidFWHSwEgJN9HlTxfxn66AkQowKsFkhsUc5TnQZJ7YsudZfLoy/JAXlc7kTflfv7Q + HkTvYiwLha7wQNRzbE5JN9oSTKuFTB/GlgAED2TAWNsdzPygzuMFexY9eShdmFrUjKi6ffToc3LP9ZnA + ZeTqn8hdx/OQy37D+9ooJAQ83jOATKv9/tRRuccKY80dUbxY3gfMEywjW1jaWCARziI8SVsase/wLJth + QHJj6Xvl/JfyHk5kvmVrsC7mNVpg3va97UcDCwvOLm8QLqJAUOdOeKNWutOJ1UNyXoohNhuYQUA9AbUd + YviYksp861rfIWVKWxtTEglvRljI+TR7HkpK90hKq406zCfapWOBodRnA2x4HhMM6wAqKrbFZlLOBQDx + ACl5AwAI/0Ouo3oYdR55JM+h7LYosQI015s0leeZQM9hUTHIp7bRZl3EPOpoarfeeZkYRxvzTWCnQWN3 + 9bxrOGJmOUlPaMYobGpzWI9cK9eAALbnKcSU/ZsMfknRrTFwHzfhtwTAKFJkZDT5lpilHqSEeL9SO90u + xSEsKRspsxjEFV14XUyI92Gyg5LK0g2mfrrGKAgTK2EgyfMmL9i9XEqZ2gIp3YHYVBPyLgCQ7nUBImsE + IrOX/LLMCjQmb/xjWf7Zf9H78lCk2FfvE3tLj2v8/G3LYHgjJJ3VSPTyN8vkpWImHni8jB98WoaV6kXU + yXelDKU1AoAqo2sso/I+BFQ1wb1KoME+1+zVfgGRg+/la8l2fn81BpcMrwgD07tLICJPxB48YTR5NHxu + 8DEAxTpbefBdgxO5HcJXANo0LCyaKqpbBI1PmSraEeOSLtx9j4sQm5S8qMLbbiXjbsyKvjCnxmAfhbJd + ecM2YFgT6vhB+yNaI3U15qKnjuUeDOYaD7oqi6ZrphVEiBi25khDFtQ2LfgJX7nuC9r+S3EfuX5a05BV + JiS3BpCbHvhDWa2ZFc66O4lODoQh97QdwPvIApKdeoSn76l0jI1kgSs0owNz619ZrFg9A4eVVK+hheR+ + VdAIa6GVhVZMFhUzuaGbhkthvU/ueqSMb7+/jO96qEzs1tzlTbcoL6IkZnoLhLoYPgUjJloQxwAUJzep + VsciJRYupVGZU5EMp6cV4CEF06oiH5vSop1X3oVQ1uxOh6RGBApu8IjXAVioNiQGSjEbPXp1uZjQACSA + 0u9G5wRqhN80oKezTSC4WeeyX56E2ql3L1Ebh0PfdU+giSuV0FZIi/oQ4pqzTBhTYntaVEfqQvA++gIQ + 6jsYGDWt+zE4JO9CCXJCXE62axs/+r3IfxC6ulrsK7XOHr3u3TIi72PkBoWvBCLj177v1hGdY7JyCF+J + QjmrxF0kECORZ5f9kCwiFg9WF/FftzmhgFQhrGTSzNHmnPAV7KjqwgIcWHEsXi9gLTgv6MXgQaFWTpDz + 1EJNd5NSpJeWq3vt6eq/xJqJ0NHt/oxiNI+WRRk6YY4lLqvJTKQsivIUP3keyk9wX8LzADzk3bqTLZ4H + DQ9JJEYRlZPoNOmkLTqWfk5qY0EGeES/I7xZK3p5Bi5IVLzZHaEl01bw58gKtDzXCl/qLKj3qOAxLByM + BHrQJu19yGqro0T9PD0RvsM5uuaJOgP3sKLduqxN6lnE7goA0brR+uH7KIDoChu1Mya0kMQ2rbd2ZVUO + xcnz2mr+qI/b7efd1oWwmHpsNQDCdUbZkHcBVFLp+LiyiDCnbg57h8Used8z56uYAaI2H+4r1SocJXfm + rgainisnMaOQzRrIFFK6sKkIUXUUrupe9/syf+TnMnjElNI2eZOaHt75T2Xl4ffLygu0HZLMHvxZAkgo + /FUYQpJh6jwGF6mpqLozjO37koytb6sztb5jzxkA0dbIasjv7CWM9H4tPrMhhBwHQK3U+ojX2vgcEOH/ + AAVyMAqLAVzOH/KIJw94NN4LBloCiA01JdGV85iiulz9vrw+Gd4HM1O1Yb2tYluKkksxMqMiBhrmRVSm + tzlmmptmTvGqwqzVM3brGeezomi7x1z7cwVCqiMzQ1HsKupEzDr0REyMgEqJj6mRs8wWwuswESJGNTil + 4Xos6lwWAwizbwQg193/z+XWL/yjkuiq8yBxwtQ603WDiRWUTSiWVFvStkQKxsycmNwGcCDckXCRclQD + LlCTA8cbIIFj4STcRG96s6ZkWW2S1ac+NT21QieMNbFHoIES3v14mdytuOXWO5SgViJeOYbRaSUzpaxp + zR5UYJhSKkLUI94MhVHh2qvjpBZ6LQgcIV9Rx9PC/DItN1uoKPw0Nr9f/3GuwGBT0HnlgcCqotqcvMmY + 3os56sqJQON1xblCYiTgZ7aWsRUaqkL+ZLV642tMKDM7xvc9IYvhq6V74Ytl8oh6VIktNXElFFtNTtO0 + tr5yHVMa+MTchFl11pxi9so+UXwFIoNdz7h+hMaLMLR6F75k74KkPL+lNcqoZhSMXfKiqLvKeQg8Rq5n + SwC58f0yon4/LM6uAKR3uRYp8wUEHlg9sypUWqGFtgLrSeCBpTcvr2QFyULiw7KiPHNZ80M8Clf30/kP + F5MqdEmc2fkSFoisQIUZvLEgZWmt4bnDWbD0GHbDXJjskUZylZARc5brUB6ASsWqtM4mHutRu65mlkDj + TuN1uC+VFgzg4TBMZTgdsUImT2XwyAmBEbaCbQV9VUrd45BlnSWdFsULmDiPkVW7bh5HHJj/ou215BnP + wAltyWuMnr3YyjQARslo13tUrn0NWwW7xVagqbvytrMmCu+D+ejhkYdX7tcicuDtePSs2V1aH2ZgRQ8q + vDI3QtS5wNQisY/nAniyXt1SBkXttar755nVMLIU7iOJzj6oXXHNB/FwulurRVAzwhYvA0uWepOwUq10 + /FrrtbYxcfiKugdGCQQjrhkHnIO5PDUy+4kRDneulBoL1xu12X3B5BsTnTc8Wilf5R8m5YEQqgJEJpUT + Wb1fRs/RD0pHIazODX8oKxJQ5i8KYFl9QOUH8kZWYdkrTOTEt+o1ZhQG6h14ztEMDC6YU6YKS27tWex/ + 17IKWKy8QIr8ck06lMzac7YxpM9zq/9h0EkgaQDEoS4AI3In7hNYwYNj0rZC++fY5hW+or4Fhhdrkjnu + NDql2LK/R6xNsy5FlFHbItd7wdgU28pNY3fIKNdUUifrifLQ+0w9yaY2ABAyMvQdexjOzdGzTL87L/oD + unO1QAPqP2Mgov1JjHYGNGxwIDOaKeRyDbP7yIdT+8fsoOi4Hd4k1xEQFTFI8j/BqIzr7/+ncttD/1LW + KZxi1otAIbo9AiI5LCU7qUZjPS34dHVAMXc3lbC5dTutIJjMB4jIHYaWCN0s5jak+wvVEOBhhrcABG8F + HvPE1nvLuEJX3f3Plo5oqhPn3lxGeqrwlnKG6WSmFo8wutSKItqMTEXbd3r5sNAIPdAlUh5KzDSvs83F + vqLWRMDgViTUnwhQxugMTFsTgcGoCgtHVSAIgMDIoljQXXZn90T/Luc91IVXnP3RaYHHKoHG3G4/H53b + rhnTSuBvV8uR3aqAF/W2o7zFxIGnVewHgERyu3OhGBWq+ZhmHjONFVV7MyU2FlWybAOFtwY7lTDeSQJd + 1+HCF1RhrhAUQnbBi1oMz2vIzYtl7Jg8DzYARKGrkRs1PQ0v5AZReK9/Xwys99zzp3/pO2J4SHCVAJwT + gCDAKxB0xWix4OYu+rktPbwRYroGEGYhaA6CB2AxRU4GBcWjToYSugI8tPiGAJLhBC3K1Vo8Dm9hcGSB + qWsEzKRS9bwUVYSlFD+Hw6424bjptJyA7QEZI5SflBQeAXmJVKa1YG/YjoEmh0G9Jq9Gm5xohZ4hK7jv + 8OANIApvZhFf7fnTWN9Y9R7dqol7NelsAFlvhcr/EwZz08RMsg8bJmbRoMcMtHpeAVYk69U+JOo/YF5J + +TPEx4N8NJRMCX6AABCM/5en4I67Sd2lvxbFjPQcsuHE1DhNw9T+ADX38GJWCsO/aogQgouAhBxSk9cB + ALN2peZlCC07nwL7yo0mSZpj4GHoJYhUjyQNvljDMedm5nzAI7oWu4kl4Su3T8H7oLCw1g7UeiGIEzIo + si1OdLClK+2bbm9SmYAoYbyNus1d9IEUvNaNwAOvBA/EIAKA6LNVB+QdpAFDvsK5DOkxuvFOa+AaYw9s + rJimrnCqw67hLRtE9HxO+4IhRh6wftaAhwDMz6uHDfikhzJ/oY4bI8rMMdaE8ie0fQJUHL6CtkseR16+ + DDQ8f1fXi22F10GNmNmaYl8SeaD5KsDR2SJvYasYgep3Bymop6mRk3t1PxWRCGNMawVFj8EOAwwg8PrK + BDgAb0IFXajlhWZ3gik1YB3IeI159eStYhAd+c05rXH6HTrf4W4TuTlqQF0WM1wyHEkISyDSAMi19/1L + +cwj/66sh+MMbxsLgsaIAIhvOCASfVD4PGi7MC0ivAC/3rQvuT1zUjgwMwCRqG7U6M3absJChqIIdKPb + L82/pvXd7hpZiAKB7s4nlTAWnVWdaZmFManW5mOqscA7WK56DdNo3Y5CLC63PBlYadiiylbdUeAi2q6n + x1UAESU3cxv2QAQebpBIISEbVF88CdWDjIh6PLZKDRjnd7ta3fM5RAsmpOWaAtq4i2o8uhqGmEBEz5cT + /prfVUY2qzvw+crniCU1QUhOobiJS8RJv+J1JbtlcV0oF1UCM6XQVLiskeeY2i8Q0WZgUfJ8Row4qtQZ + F0qVORxwupqOasTm+MUCFSUFqf0YueaN9D4EItcDJO+JxqvqXc0E6Wq855T6A83Iw5gjcX5E3kYmCFdK + uFcoDDAr625e78/BDqE2hMVH5TljcvE+JKC0hKAexLRdx36x4BQXZts3fFylBemFZEUBuYJhPBJug8HD + wV9nwt9qDfaR0FMIRf5rimpwD+6R3JDMy1CS25K4oI8kchS2NdXl8jIwIsLzmLdinpxSHYU9jzrECXc+ + xwC4D5Y8VXcbBTCYd0H4pm4U6On4FB6ICnRa8RyI4yW+LEAwwLhwK0bSNtW9NCRMvn14H7QtyfoPPeeY + JrUvkvpuYOceROpc4BbaTDJUnze3TM/whMNWqjdx3y7l57R5Rg7NDfVZ1HowdVD9sJxniDBRVAkrz6DX + EfqLDr0AoL02g1q0dVkIIBU8as0JHkh4P0HhJYGOEUjrDnpg5cyVpvMxuRDGNEc7/SH1U2EPkyag+xPK + hIBDjQ86ReE2CvhoR+IKbEJMJMIxbERBlxcCiExfoVHbAonODfJK5IXwfNVByfFF8hgOqXZkP2GsUPJ4 + Dg7DMpyK3CITP3W/0GGuV3K+Lr2LvYAC3jJ1Uih3wlLV65BM6z9Wa9+r9ysXs6/+B/+j9/g//X7uiBL6 + fh6ggmUeLCWIKRm20lpxmIukOgBD5bu8FIgznUMqNN6t+i4xLvsi0TDZsbtNBdKi9U/tVN2KGsFiLEye + q9KAnWLXJWGC6wxpCT3tdiqujQK4kwHnyBBD9RgwVTtUax0qTDVgyqyMU+cYNRgrgF4UcBWMz+1W3hOd + 74FxPLIFeLgGhOiTw5FBy2cN4A0vu8YA8j8IQJT8EUjMeQgUoazYieOrToDS10Z/4tbXcL2VSBPKwSyx + 5+KpYwIQuUUzqko3FZNYNtXtzuTHAREW46BoE4+VwEjWgYZCmR2ggUvuTLtZuRAltqHGUgRItbcHT1Fs + SPiKgr7slAujqwuAOGarvAsAosUaQ6Cir1V4IyTHI4luFlVPnoc8GoBjjFzGrEBkVp4EtSRiVY2do/9e + eTCKIWmHIsqv56LTukTANrpCVOHVWuRqX0INy/KePJfVoiRrXOj4lruUw9HchT1fLGN7FZpTLHb57vtF + J/yB+NwKR2n4Ey3eB7iuepzSOGFT9xjkxXURXY827SNXasbHpbJUjrwuEHpDlbUCECXPoSXigYxcLWDC + AwE8CGXJExm/+qcCEBURqkMpLI9ZvA9aQyiWi/dhSw23WpYdSck5WVJzSqjT6oTBU7UJHd7HrKrPES4S + 3I7zOimIp8EGeMSC4hHWCiwVz4bJ2iCzdQQIhKfM2qD2QYw8mF2M950W9RGgmoZCqAI1h6vsdRDnjcZw + TVNOz9/QbHuK+5qwldh2EmKKR2Fjce9DsYfXUes0YEaZbFEZSf6sVmYr3ixPgUpzktfUMnlELZXgsroJ + R1ETgTJG5vvqFcVr+Pco4gWhLHsi2b7EHkl0YnD7bMaIuoU2M6hV2KiwFUYW5xd1H/f7eAEVSCIYRl0m + HTqxzrWguzWFj9FIEmUOSEdHgEqRFshroZsZ6RbvYotB+Wy3lCfky/UxBRQwbQMI+Q82kukRygoAIRRC + /kPJ+drCfTGAuNCTPEgtcCS0luBBnsOzNdABNMmUkSJ5i44EzP6QPJoNSEhIlrq84kkxs3pKqAMQg6s+ + LL1r9FwAsvKwkuGHfyHwkHJvAIQaEv1WYSiPgFVY1PksHa/zMNQ68bnzGoBHAAjeAqEk1kQAERvgkfv2 + /tl4XcEkH1P+2VcQRgQi3Ad56MHeCq/G9SAAm5Lt81B+5W331aEbZmVPuo6i4YGINBiSvZ3R1wpvYZxa + IU09Hd+gAkF5JU4bYOBzb6G1E+Ill+FODuoDR1iRscJmTsmYR48zXiP7kwEYhMpnNGLb34EA5c4j6nYt + 8JiDyAKwuxYrQN4NTU2aSgBRHUjUzgAgKrkAQK67/9+Uzzz678t6uVjcUMekiZHxx4QhknEVrBnRLxEc + u03QBMW4IizBgcpSnVMfHMIvtlioznRFexYgZodLYp8c+Ky6/+IKw2uGQsYCx02b2vFlzTm/w0UxIyv3 + moZLPiKaFiq0REEg/YkMIprHocVIIQ2UNsIVoDbWXp0k6HG2gAdFhGZiKYwFVZckuL2PbQ14jCiUNbFG + yVY1LRzfcnsZWycaMVS4VVICKy/ScdBsUV4I4a4VWugaPzuuuR1j6y4pI2suKMtnNpWRjRo/q6T66DrV + tmy8oYxuvbOM7rinLD+minEluEnuURjU36fKdJLjGsAzfUiJdFF8AZLZPaL5Ujwk2h4U3omLX9SwKBUM + qsqcZDwhLBhYeCMk2EduUOjqup+W5YCIqLy0de+oYV332AfBMYe6q4pdF0Ul64rnWHrEaGfFt6dh2wwT + z0QrjjkKMgJwb9XRdI4phLTwr7FdxZ2xBL3ZSuO5iqy0YPBSnBTHwMh6BEI/hGmo5CcMYxqsQpwzm9Xy + n6mKmjnteK7a1YSyCqvZ4JFFcChA03V1b/FAg22l6ZUyHrDqCZUGzx3FCDBkB9LsLmtPI4vpQvETepLH + K3AgiU0vtPAyACzl4ZRfcOJeSWQXDpL78HAeybuTz9G+xPRdc+u1T/7b+02PJFuakHOJEc7kO8RGBOwE + UPaayTMkuNraFHgAQE5c59wJVxy7Epx5H/QmYuRuxLJRBO5l5mI4qqrJVZKj1KwIciDQjZXDiLkfWZEM + yPo6UUgW4btaWxLAgfeh64AX4pEJ9EaC7lkLCHMGSM2B4GWmRUxeNIaN5QCi2jDTdG3yYRnVkJKisDXa + iFBTpCp1Cgmx2CWT5NTmjmqejYoH7XEobNW75kOHrVZeKPCQvAWAoMzTkLH3S4dwAQgRDkLm0mMRt5fS + c6iL3EcABf9BGGogarE9CYACwKj75bH9PwfEANM2/Dy/z74yd2IAcwgL8Ii2K4DHSv2/60V0PDMKDfcU + xjaA0ECVvCggoi7dXQEIHSf6apjqVkua3opuoSO3h/RRNKoNnTnraZDSxVDtdS8wxp3fgMjg0DPfpw1V + 1vcJMBhXPqt8o99zbzvtT15HjO8IJqTZt5UhmcPieO2wdFN0LADRGsOLFoD8a7nt0f9QzlF80RXGutlR + XakYq0fTVjcGAWA6l+Jl6TbBCnDREm0MlHAh9AHCIbSm/1LR7PxJlsBTUCRQsXWgIS6zAhx+ywVBmGdo + UiZgQlmMzqoB4szmMjKtfkHKUwT7ikfCV1SxMylQYSi973J+wgcJIKbwKqnatGcHONILqa1Tlk9tcHJ+ + jDzGnOpB5kXplRdC63RmlE+K+WAQERgwn8Pcak0ajPyJ6kjkdRDqGlut0Y5rj5aR9VfIAzmkTV1f9WgA + 2XKrwEOeh0JXI8d+6BzFpCiGJMexQuB29zQMauqgwleqTgdEaNc8JYukp1nSUHipIekw3U0dd8ePic9+ + hUJhF8PCEo1X9R8j175p4Fh+PXkWZoIIpAQg9kDcLpoQFQBC/oM4MewreSNmskRhE/2xXPmqKZQBIAIA + zXOY454qee4KXxa3Yr7EnbHQWEwAhxcdoQVZjq4joRhQig2L2d4C/c0EHk5CZzHatIZ9DTZJQTMTfpOK + AlHW2SjTDd1cgR0NDVH+puwqD1H7mQWhgTnO1HrsCbaVrWqUIrM/UPIU3tG9Nl5HqxGUezSXQ7F7IJhC + RK7OVbiLbtLx3SudQ6iDo5itgPeBYq+5EyfSk1HYgJKBJDwTjgmvw/kOup5SwNdUeVODEV5RAJ/CWITI + 3GNKnj3cfM/6EHi4PoXxvbR1If6tNuUZmkCpNHU2gAhhIq25CF8xB1tgrK22WYn6FLy0nJpoAMnRC85/ + 1N5b4fnRuHRYQEhtiZQUFq9rBWoSndxHgIrZO9SSOccRYe8oAYCJh3VLP73Ir1JMa1afm/MJYMjLIV9J + 0UWpz178S3nKPxeISJ4FIH1tqw9KieMRWJnzPLwEEuRuj6N9RTmBwj5SppFfIXyVeY/0NFDyM2qhMnXF + r+WNYBRVUMr9sm+2+j/1dft9fuP/JoSmdeWW8IR6AQ95HwCKSCeEhSEW1eLYnogyhOoZvtU59G3PAaJA + mP53va2PaFzDF1zoPDKlHOwKxgbc4HwHxjgywpr0iAhFb+y9Y0xkVMisRXrHkYuqOQ30OHN1FE2YdccR + aofiXsxrn7NMolX7F3R1lG3kmA5PJaWUo+ayIENkCKsCyPUPBIBskFtoV1huCq0splUX4jYW/In7E+nR + PZF0EC5a0nxqLQgjHll84uVK8gy2hffy/2Pvv78kTc8yXTQzfKQ35dpUV5f33ret9vICCYQMRgYjgSRA + GAkBI0YSbvAgb5BgZu89M+fMOfv8hXGu637eLzKqutowzF6LtZgfvpVVWVlpIiO++32e2/nk2E1i6577 + WOIslZwSOBZWxWcAgLC/W+NFmhsMgJS1FeooEdiYEW8WFSeCF8POjtzEJdIFkyLSqz5UGa9d6bjLWZU4 + odTE0asJxNWHIYlGybPCcmIY7ECSewEkw4NMGqd+FhL/E7PpsQ8DJj85Gzz2TN7vGsuqWb+XEOoQ7Up4 + +wcBECeOx5+bDZ58B5MIN6ZHMaEdfQd8CE2CZz8yG1z/jQKQl/60CnaQ+K5c+SISX4xzTCCrTiBI+dSB + b2GqW6ND2gpQPR7j6xDnz30tq6xBAOSrgMeXo8LKBIKUN9OHEl4ApBRYvOBQYJkxpPoqHAfXDmqQXZUh + V3X5crHKktzTZCiAbDD5bJyDf4Hg76aPPLFijmrgwYvmAC+iAhCuvMgAkDaBePoTzJPAbAyIJHFLKKhT + LbyGdcNW89LZvIYaTzOoNytBx3/P1dZX3tjj72ENtNdtv87UQGSNTWq8vxzilR6r9NTJJREgRnIICPGN + sFqKlJff1wi5NiDk9KH0uzwWciClwCqtPWbWkOcVeZL1Vcx8urobSLW4j5p6uPCE+L1YGxrQMG+ocT+J + irA5Uxlu/j83b3kPjZJyCKYKu4poXpREtYS4LqOXr7ndk3WCl4N0JRGlU8xwFVC5ayw+Kwc5J1eAUTs+ + aq6XESYV3z4HkPZz+P1kCgmAuLbqVFhKeIuX2esa6RogPe3Wfj3ZZAlV5F6Rky1r73jIBLO6Km7Fk2/J + wcOvIsrYbZEgtepCevvSd3geOVE4hTCRONny3Npl1aobXZnv6gvfmx246grLSaQmgqxR5U+i/IOcd3Vq + rD3TUMetZPXaTStZuf4FQpO/TKNhTdE+n1V2+XkfeOvXWrjmHxcA8+sLII0DbM54gUMwcbWf3zH3PH9f + m4C7vq/hFUDkDt3vBqPyWgPXczUAAP/0SURBVFgj52qFaup1q69ZR7lW12s25BBiMrL3V++nPgdNbthm + K7DNFLGpiIE1cD2ucI/IblXCxkwaUZRke0chEFIaHqpxHFISiqLYPNji6OctwK/epwKS1tcTsHfSrRyy + mBdZ9y91AHL4OqqGPBExw+D38EawgeJiPgo56mASygTCi0kCZ7XlFW3J4rt3Y+WxeoK9YwxpXW5M23Xy + JEnXAi8Q96A7Fr40xUYyWHxgvQGgyhI0JKpVQPkAGicRAEnJEwCirNY4kYAIqwy8ANmBu2/2xdsl//Lx + VV5VK6xqQWT9ZYCi7YKbuM8ly7cxEjp9wF1MzhIZgpR4ZDgZ5U6DEx9gwrgVPmbYghk7NVdPeTFcSO8R + JiYnDjwgfcCj9/gzXIAK0t4BAKIbtvcME8U9bv4AwIQSqFVAYgoXssKllG8NENkkqXSTcXIF0lzOQwnv + 6DaqK0ITh0//UYXDMYH072EevAf/wd8l0pdZY8VE+DIKLPrQDY5bMcqdqIQtSfQAiDJCAUM3LC9KVljl + vgU8MDHJwWxI5pscbGQCcdjbdA8oi6ydbr2g59PHlXqR1cULnReRJ67cKHMDBhA8FKhZ17U9j6HBQ3GE + ff+TgAeTiG7bRNL48Q04Qp4DADqu4xnipuzqsgCk0nF9Trgac+2TSOq0qamaKr5gvv6KhLckvZLZVaO8 + HvDRuevEUKGBZqq57nmJFyDx+eFTiOfJ+op1LSf6Rd6kA41kESWUsIIJ/ZyCX0jnRM1bLcuUBb/ScTt+ + /tyAo7kHrF1BpOlOKbHTRnN7+39TEuUNGtNgbsa8dpxEIkZpAEIQYdbFLYhSLsfHMGCQvDA7zruOEiaf + TCACbvlKBFofrwBvko0rGj/rRgFk3j3v991IfKeRdiXoUr+Q04d786xABA/5TlMHvJEZ+W4dhDewqkPe + lVf1xBuzIe5miqHWnvtWnk8HPNk3cNi8+82Axxg11vDdP4IbgVC/Yg23Bxg/tkj43PgE0Dxun8xjUtOH + ayUPOUWO7wcsdlktje7hlXrx20w4HJ4Bpf1XVX0hLeZtff4GJA8FkPr6ewDma0QQgUwPF0PSNDdugVzB + kTfiAAi/W2upPTiukdAdzxyvAdOunfw3WHO54u2vofxE9enqc0o8iStl+eMkYudQDqei4Zf7cp5Hbd3k + ASJRVIJEWxt6zw7n0Z4zcz7a4QDKYgvw2EZ8sNNAo0vaXuSwKnTyYQDyM/919r6P/4/Z4RsoG0zE5Jr/ + IkDC9ZOMQrqSucL2c/LZYu+5FoMRxKJPDjkN1lFbZuO4M89JwOgTp5BSYjhaacPfct3lOHVUOZnmRVzX + BtmFRCxDjFlWI6poUwYFmTTgQexWUpWlVYGMdbFOUhefnHv6xFlp+KAX6AA4AZBWnWuIo9yJDnWUU8p3 + l3chz1lfuZIao7c2Nn1wgHiSE6yyILmG5k4JBPAhARDiT2ImFJDGTDiswnr7MCQehvs4DG9DtElvP2us + J56b9Y+/lzhp/j+O2N6tX58tP83aCSCxx2PlBmsqpHzTa5DqV+E5UGZ52l8n/sQJRV5DoHDiGN1kZQVx + LpD0mUb6hCb2mUZ6Bii6wlJ9hXx30AHIc38bAFkjb8fkzy1TS11VhQup9ZXxCtuqQhKxzfrMhGAAxF1s + lGCMuluMyulEgPfYF95j75R2IC8uXmi5GoB4I5MnS6+45LmgUDckpw8zzPw9rxzDS5GYhroyecaz0KaP + tPypRlItVQBiJlk3gXgQyHRDsoEEuDfxnKCdYHLjlD8xasSTd5HZku0mEgggo0wtcgEFHj7v4jWJ8xpP + CCAoD+K/eejx4FRKsIoTKVJ6bx1U4GM0SkWJdKfyyChz1RRRk0OrTQiJaZIu6jNBI9JLbnyJ0u4kmZ74 + Czw8vft6ykk+/7dMXvV65XWW9yNkAVyMackKMLJgpj4AImu1RK1I9Ld1X+OG6ufu+A8nkL3HsCLcPdEb + OFlx8aUEKwARXDN9RNHTiW66yYMTsb0uWXGpDtIrxm6+rVDKFtBWJgnzZDp/gd4P11bhIuqthxffb16W + rvTRu/9pNn3tR7SoukICFASIbE98fDiBZ2L7xazQCkC4sUfw4efycyJdRzQ0Imresqp911mVed0APASQ + 698MkAREeH4fvPT6az6FXOQ1wfchiAU8cpPFEc9rQAAPeEQp5/cGSPg8sJwNYN15Eof5UaKbzvv4WEtc + 3p01nr/Lvcbxch/rPYHog9dlACRhpt7M+b3LLRk5FTDmSp8OG4N0/FTXT5X+GRPEfZnnTf0OFDpUNNH2 + BWTfBFzu0NmyrZs+ydhujlroaRegmM9nWgWPJ0qs+QTy6of/6+z9n/gfsydu8oBFjtYUHSImP6hE5+Zp + uAqLYpg04loEKNTwF5Hjyoo1FFkwyndDmneVkJ5CTKy0kN7VlZZ59+twJWWhtxCoxuKACE9cR//KDaqO + 6BEAIiCkETBhjFbP1voqp0kAwZwto07SsRBiFZ8Gu+0ASD7WSHZkuMbGC0C+3ygSfSUYFXvbJ+E6npsN + iSMZEOxofezoKj6Ms8Smn6aQBiK89yjvR7brZGTCbyJSBBFOCjrmB+R59Q9SQMS0krdP3Jv1zsJ/ACCD + q782613/9Gz5zm9xfWE2uvHbsymrKXegpmyuyoMg7fPEr+JKma+8hj0fw6f/42x4CwBRffUcE4gXwBEA + YcWl+qr/GiVS+EwGtBGOXpRAtz4UACEiwrIdi3mqNlPllcZBgETwSKw7BT5UgMq7rKNLN+xRss0qY1sp + 9XbsZ1qRzDzISS2XY74vru7KKqHSVPWL1I2w+rpVGJm7oxt2HXOTa6sVet1dXbnrXcfslIgGQaStXYpE + b05sUwa4Ycc0qIKuddtLpk+YLNLjrYehOabr/xZ/stYiTzx8REyRlksksRDWFVcO8GTtpdKJ9RJvJZ8F + Dtc96Z6xc4Tvb96hkba3l3LDrT4RC5zKmFXVuM0b0fws6ejg+R1Xb26wyiIr7cFJIjWx0epXx0a9XWhe + zJSu2koZpfUJavQrCcJVkK/XnPSzWjatWA9W52I3mr3AoRRjXbFQAUgnad5zotcKqxzPgjm92yp9Ah58 + j428r7dyNeUzcLXt97Qn+W/99q5Uspu3fKokvumXmOcrtSrYlDBBdGv0c83kgUSuo/FsNfWymjVY8Z0/ + QqH149ngvf/M33/YiHTvWxWbU19PsObGjUHxIOqo+pzF2cmh+NY8uPELrMboGdnv9uUa08fNbwEi3+Lv + TEHXOFDz5wOAycEr35wdAkhy8Zw/BKD450cuegFGt79Rct7UFSBGAVR9HLfhcxU2JHQ0YbROj/wuW4/S + +ulf5f7A/eUqaqzL3Ny5tzrp+ntaWmLV7uHYuu9DHFaucKgjBibd68qSI3vm8ybpwYy6EiTkJp9YF1Vh + lZxbldGCi2kFqrCalNfBwPWVFcAcIvcplnGt6Pecr7HY09IFpmrG7Eh0Vlivfvi/ASD/HwAEMimjYIs4 + bgU/nh7WTzKKo8yR2xA8lOl6A9g8pXGQf7PY/YS7OKcLIgxExGYa8vQUJPaJxp83zjipVG5P5Iit+apk + hx+Knl8TllOIKbyjLeSymUDsE3HygPeYNxhWn4igknY3Iiz89ygYAiDV7ZG+dRRc3oACQMaUaBhUyksm + 1jIAMjyC7JZrxMpqcvEzs/HVL8zGl4lTP4ub9ThKKjgOHech3Vl39VaIz9CoSC9Ib5f36UaXD3kCCTAn + Bj++d5Z1HCBiI1rv4s/Oli/93Kx3CY7n0qfq8+NSn14FNOiQtnBqAxlvekTIzwpnAliMb+NGJzRxIO/x + zO8ziXBpIrT/g8jqSHcBDjvRBZGhjW8BkL+frVKas0biqVOI1bZrz34jvo90JhjrTpRKmgrRzefrsoNd + Q+q3cYHp4xwvfjuoI9ltpGWAgxeL19V28edD4UK6VUL5iaIEUnViRIkAodKKawWTVGeUWjuGdJdmtySC + ut5spG8psVqUedZYOsHxVDA5yG1pxnMtVQVL3CC73u6szLx5VuWnK5oxB5Ju9aW4wkNG18KnQ7tLSMja + CyCyjCnS3XAhSmeNjXc6KZNfvtd5nak3++InylhXABJZZWqYrQblec/rJkasduVEyItYkC3A6NZC3eQh + WV2R6LnpmkU099dgjMsOWz7B98NZGoDKjbmb+uqxa6GIraq0W7nNU32bHybBiWk6rB4Q11iVx+XP3qXv + OhV1E0i9TTcPoO/3vquhUbGNbvjszOvU631g/v9Sj2rcu9xNtVvuAY7Vthr9vDmplKrn26GsjvZu/Puu + /T1+kB+xxvox2Vk/nvXe/88h16Owauv3LszRVIz0h8hPNKXgAVdVAIiX3SGjl/4hxLwAksPQVQ7RmUAK + RAIkAMj+a9wb+bdDl3muXwJYbuJPufqt2eYzZHe98sPZ4D0/oviK93HY8kBsakKIbWKBKnhUAGH9yA3c + 54A5eQpmBtc+N+td+2UiVz4xG5K6bZyRzy2VhUkBRyhk+oXBiCuXv8B9waQI6ndbJlX18NjhzmOuWCCh + qGVirGFgL6W4axlNOkQEDdUqu0nxlg2OgkjVlRtd1Yri5qqrDjwq+848McMZPag/BEAgSVoAnl/MXCKf + LFlPeePPjq5auDS/CBwhbYgCdlLJJIIRbhsVjx+va9ZTjGNuTi1IdxPNnSRUIrRV4dDqFUKVB35kfzpA + MBZAEv+gc5dJIb6OMgBWrwhKrAVeY4gix/WV/6Yss2s/rCh5/SPwId0qy44SLw2AEurIhfsnyZzRAEio + 4+jcJ+MkH1//bf5O5/oT7yqCHIWVnIcmw2ViVpZGZG3hLYlaDCOhPEj/8D1ABFf6k6/MesffSR8zK6zT + H5j1zn94tnwWOe+p98x6J5AJkzw8vvjpfJ1VyTN04HpC4k699mVkv6yrnsZ9/lQrjLpDdDvx7VlfAR4D + 5LpdDtYY46Drq+HLBCnyojADywlEl+86AGLi5wphcmuAShoJDVP0sslN/weRKpuYGFfxngRAzOoin0pJ + olEOBSB/zwuIF3QDjgO+7cBEHiT75Yoy6UhdpxFfNHlO+Fw4RlXvWVaZ9qKcgJSm4yTTihfEbwGI00i7 + unrZBiJ1ilZFVWmyKq1SeBS/Qk07mUCysqnIk5SIMX0MJ3AmPK9CuHc+CCPOM8G0Gydf13VU1Xzi/Wix + IntTTYvj6ao/w3PU1NB5WMp34Qnf9dfPZJ0XE1a7sZYh1104z395j6y4zCdqJU1d53uMtwCIgpTmNq8I + IU772WV7E8asJ49g7H4ew/J9lICg+kMSzx6AqK7zOWku7xEJb12u5wTOznE/T5DoOJms1tqklFRkQ/ko + +mIVncC9JvfvYo/8nv0eA7aZXqwgbgVFzem8aFLOzVCnuHlqcwARRDyc1PpUD8jGs9/jpk9eFuZCp5Hl + 9/0jFbk8F5sXplRicLXcIA90ptdu8lgAEAvWpr4mnqdrHQBxonDSOCBYuL7ibU0gTiN7oCKQ7N76zmz3 + NkVX7/ynAJqGxwnTkQGJK0c4xBzjfnee9ZAdI60LZz/roV24Bkvehvf+bDbEXLx8+/Oz5WsQ5pcIfbzx + hQQ/rh7jfmGIq4fd1EaQXn4QlSEGZMU19rcXYLhSai2OrU5BGbRery7mvsyTJbJIUVzAQU+ffT8mbsMX + XWDFiKnbSaSK4tgatWmmWiJbn89C2rZO9AAIVeEAyH+vCcQHSzOMqBUOo/ZmdbJBq++LS+e4+n3D5yQI + WVmt4B53h12mFk5SvJjMbVnjpKmfQsXNugUoEqWSozrGs9uu3fP4MXbcOJIrSRfjDC5dI+BdRen6Tv5U + 1wiofLetrqyY7UIS481gV+i6S6mn0SNmVvlnCfZMI0OAImunqs7NJCIojXm7yp7xMCQ5k0YMgCc/NBtd + cgr5Td73vtnwCd5H13C8Hlw9SH4VXMurxIf7+eBCsgpzCkG11X/ytVn/GFEsR16c9QSPsx+aLZ94z2zp + 5Ltmy8demy2ffE8AZMi0E9UX0SfuOFcvfSm6cKeTpWe/DOfhFIL6Ss+HnR9yILYOYhbUcd6TZH/+z2Mc + HLK6Gggg9oDc+zsUJuyNAZA13OiusZxK1LwbHe0EkhpQQGQrBkLVX6zRAI81vocN/SgQ+glbZB+t0qob + 2zvQ8ATmCy6nto5Qz565wu1UoUQHn4RS46/5Wpx0NFJukPMlt7Z6WhctB4+c4g0AdNfeIhi4cVWpEi9I + TaKND4nnQiCx1yCn58psqsY+yWK8QFbHGvm/ziFEop2DSMWPlBqrinTMZCuZa+WzlVEwTnbAx3iekMte + MSDW87XWPZLNTjrt3zIhAUwtNVdQqhWGWVXdqbxMdU4P4RSSC8aaL+qsmmrKrKfL/JNl2M366jfm4FOR + IWaFSUi7R69k7K4DJE76pj7bA4oSItTfS7Lb8SICbb2vwGZepdv8OFUgVf3Yeys2NgVtYvTxcmVUgY7y + GU4dTbKrWsyyLsyM6V1pAFL9Eq7gikivlAsmkGbCS4hh/BgLMlp5Dg4puxoIfb5xeNl66rsh1O0TWX7v + d3Mq9uDr5OaVNXq8S7rXeQ6zksrzNCDCQYrnt1J312Lbd76dyeLQZddVTht1HbjGVAGACBbrz/9gtn7v + h7N9gIeXILLG33OgamS/ibvKcTf1uCGh3zHgUYc6CsZdJpGVp/+Kil+TIni93iXT7jLTh42JN38djvQ3 + ZoMrn2al9XEOteT8eR9DLdiDbzX1YkIat8KbFLqplOrWVenkcfLQQ1Pernkxl0q2GCirSjdpEjGelkx3 + G8Wn3SzFdyrrtQDMSUTHeVcx3KLzu/DUTCBwVaqwNu4DEB6sAEhZ8vcAxNMNTxoNTWiZ15gY1uA/NnjR + b3AqcYedyGcliolAQEt/mFIpit2nGGDWnuBJDWiskhApauUyi6eZsEY0aU2IMpkceDYdH+r6zf7xMuQw + clsTcpkYUiVrKGLc5EhyF9RVrqQEkG5dNQBAJN8nBMgZBaGJy3/zF5NkXaaUXJgJw23g+ehfIEKFm/rQ + UMQrn0er/Tne/144EbiRfbjMH3s666rlLdZeAsgmefhOIXwvPU2ETjJyIE4gRwEQeZCjrzJxvHe2/OiN + 2dKR5wGQVwGQ984GZ3DbA1gjuk+mx34GxRfrnTPsQjlpDK/9xmz5ubau6sqiAIseyivVVwNWV4JI74U/ + TVnV+HmekC8BHi//fYBEH8jkWeNMyMN6hikEEFm7i2SRroR1knkDIPZHcwpLbaZ7UMQPkudyMRsEPGZS + Mf0UdYrk4kHG9/nEweSRk5oA4p8zfbQrKwMlv2WmKv+I/hPkwryo1gAzq0236Y92bI7x0L2sUTiSs1mV + lIM9qr3Uyxo9Xh6LUkcZzaGj+vmQxRuQxl1mVpRO+DmKCK5gQgnyMsW1CPdEw6N8cR+vwSqn6XLClxzc + CaIi1EOYt6gSiXX9I067epIi1U1gogGFxqRgZiX512I1yfCsnlqOnDJVuQ9XHKl/9ubc1lwbRNgXgFRm + XDwMOa3rJCaupFVHB0CMoEhasTlY7rQRt7SVWWeELOBr04VTSPPFdO+rFNeuQEoQ3FthVYCiEuBWYcvj + UqoweS3NlP5OnJyszXXF9pstcE9ux0s1mF4DJtlu3Zc1HRFJXcPdnETXZCyAuDLxRtilOmPsW/RfxORX + ILIfstvnnM/J7bsk+NJqOHiNm70rm7MCSHGr6a3xhopcfR+xJ3IcddBRGoxC8QbxQC9/lxXUD1hFfbfW + UwBIrhyM+JxXvw0v8h1UXz9i0vjxbAL3svbiP+Z9+65/O39efRFFGJ9bZZepDr6WrO+1MGr6wjcBEouj + 4G9QRsq5+Poc89oc3aAo7irdPqyzBzepaBBEnEZOf4j7DKkNT1YO2hIBr30SMabnPs12Ag7Frh6m0HhO + 2hQSx7uvMV9z8pUBlAKVXDnMOUmUTaOmYZRXbB6yfUD5WYotQCQlYPImHYiICfpaKmgycTCKHQIgp5Xx + /r9m7/vE/5cJBADRbOMHK+XtThLGUjSlSF6YTBKrx3lxu7YSRJg8kltk0QnTRvqpO415JIFKMlkLcCNf + MU01iaoSkbbJUYDyCMVRZNePD0Ji715D6cTNnLKnFD1xc18m1DAVsk26GwltwKO5ylMQxajHRDGCMxkY + PAcHYhR7cvFNRpVc74p7mG78WCPAE5ZoHS1NiOOjrpk+Wsa/Y/R6XKb57+zH6fpgJUU8icT4ALOgqq3l + bXwq8CbLm09Eq53vB5DLGksehCeAK6z+Ey/Olvdjpts5xfRyZbb0+B0A5GWmkXfNeifxmDiBECI5Of6R + GBd9Ozn9cUg12gaf/X1UW4CIqbtpGvzrkOZ6QgbP/+ls4Bj8HGP4nT8OWIzgPjQRCiT+ffIMTYgGKj79 + 17PVuyR/kjmUP1MuVRMI9ZlXiJGgo2QLF+q2Mm3SBHTDq8jaxKG+lTA7dr7ugwMYe6ez/T5feNGpwvLF + HRK0mbU8cZXsty5fwL6Q1dxvysEQq2LAo6CSJ3hOj5KgraM6ax5fKKxBkbvm5h5gaH0V8XkIEOXQ7mTD + 5dpuZHykxN3fzXJq/QfJDELRckIy2hsda8NwH4A3N/8OQMp8ZyUov3frA4yMt9Gykfg+fxR5dBlTmX40 + Ke5ndcWEvsPnrwiIOmGXvLSmKyNG9qYPJxB5ICW8TiW2CUrE+30WX1DxJKyFLfoRPKJelBthPahyR5mw + r81cqq5qYssKq4tvYd1XwMIE0iarRNV3UwgRLt3f87gCsJVQXN9TnO28r8ADgIt0V1K85MS7JxEG8Fjm + zyit8nOm18T/K4lu5HtNTvm4GJRraslNLUVPxqQr2NBf0S55EI2DAREmiQg36kDjZDx+5TtZ3+akrdoz + gobPJTbd51w4D8GDySXyXMBjl5WVfSRTmhAnAMj6c99r4PEt3tblc3339ndnW09/f7b53A8zfQgY01d/ + PNu5i3LrBmqxW1zwIU5FJQH+uyQ/bBHFsv70NwJuK/e+Qz/Pt/P6nNz72xz2Rne/MhtdZ2V16ZcR6+AJ + QWU5vPKrs+FlVJ9OJZeIczplTNQFONYdDq9UEzDZyFGWoZXk6sify8XvpKW/y8OapksjWwpE6qYfcYsA + gnoqk4tePx8rS+04xAl6HWdVU4i/kwL1DBV+vtQ2dDEwNEvuA0DkF1++D0BUEgggsvuGn1X8gC+4Uha4 + gkKpwSrLaGCnENdT69m9onwxdz6nHcjNnHKs3wRJUzsKMalMlxjpOk2+wNRBFSORJbmoYYxZb/c6DYFW + zeImZ7W0bIETI13VzAoeC9MH/MPeSgptP6GHI3KqVNqYh7XCjjuuY9vl7P1wPdaitOMlMA11P1+XCt3x + sQ8mUXf5NDlWkOmDMx8CPF7MmqmPLDek+CM4zh+9zQQCcOwjRJEJZHkFUxrf31K/FFm9/cTJt2iTHim9 + y2sYDzfgcFBxLT3x9GwZee8y3Ij8yOAk044FVIDX+PhPAyIAyRlG2MufmC3f+mz4jt6L5TTvvYSsVyMh + oDF8VhABOO5SzAMhN2YkNoE3APIibvenMGXheJ+yb125i2LiDu2I1okyQq/epf9A/kP1VfiPr1Z8jYFq + eHPWDXQkZnqDIh/197u3GqHoTphTV+2G0c4HQErKm/GYm76uVonDPJETJGdoY5tiIECnEJbbBOHtEETn + ycyRO8Yxp5Y2/WaVEQDhtG5oZzwYRnKUNLUa+qqroi7/7im6rZzytlzVRQZ7IywS2BtwhcV5s0P2qqQ2 + LXqQl0wEK8mJKqe6nSGDsabRPeXXopExJsb0i5Siq9Znrr7elzVUhQZ6gzSZGI9P43lymnel00l8ux6S + /H0PPApAKrMo37On9sgwfb+pxTSI2kTYtgM1bZUQYO4uD4h0wZEdgPjvPj4teTdg4wpLHqQc8V0GVkj0 + NCO2pkbd8uE0nCgEhM6PorKnfAZyIl2OWaasTC/GkFs8dT+AFIh4s1KFVQCSAqdkUHVO8+Y8T0aVyqwm + rQVI/Dil6IMXvEkKINwMk1KMgdCbHspBJ+j9WV9xEHKCYVJYfZ7GzucFkO8VgDz//fsBRPAAHDaf/cFs + 65kfzLaforOda/fOd7kAD/7N9dZBJpSDV1h/OZ3nMFUEfaZ2nu/bt75JYOk3W/ug0zcn99u8NnGhjy5/ + hrj5T0TSP7jxW7mG1+j7ucwaC1LdOHYPpwEQDrnTc5TNseZWgu1zTUN3OA373K3p1cib8ipNlQZLelCk + yiEHNcDFCt92UNsngLBa3rwigDiFyIlwJXqKe76eEg8/STG2ptqDnvxmByBtAuE+u/TyR/7fs5/45P+N + CosHJRNI6XwfnEKiV0/FJtJGXgzrEKJrGGLWnUCwzq+RTZ/oiLyYi9xMsincRtWIsiP2RQaATFwL2KAF + iFgGn6gQVljJAyJAbETMuhyGBFKPBzBromHJZh+8lofmYrV4EScXSqJGBjGyDlt5hH7yFnNiLe4IY6L5 + LSJn6nVV5TxK2uXj5DU9Se7+YdZLcCF9UnV7R1hD4TAfwIn0WV/1DgMgTzwfIFg+gCuaKWR54/BsaYV8 + LAl14uKdQvp6QphC7DJZJoZlmTiC5S04k8cAkCfvFYAcfYVJBFL+1PsxHxLXTNf5+NhPQ9h/LAT+MsqM + 5VufK6lupg/UVqywBkwjQ4yEkfYSbeKTUYAYQaJrIBy+wEWV5/hpWtmo1J3SP716m+z+W1xMISvEu688 + xeRBL8i2/g9WWDuaiBhft+gA2caAtMlOdMMU36e+Odt4+tu8cGrfG/Dg8oW1w4tIYtHTYPa7dprraNXA + RK2oUfEeJoxA2YH4TGgj6wZfqLu3XAt8m8//neyy/RyVelpP/KiKkuaLZl6fgafr1skR6a3rz9bFkbDC + loC710WO2zorJ4vGlLCWmS43vjin2Y93uW65EVcIoDfaNBca/W56Ly70NFm2iWP+ljQDAxEToWJ0POur + 9JQwTfv8VhySE3aL86hoEUuxOIkLEhy61iT/29osCqwFb0UiKFqpTxnAygTmqT6ne6aSMuZJXkvGs0aO + gxwA0f8iGDRuSCNmEeQdf9NxIE5wGgfLtd+tvKoDvTp74kKPubEe/+qaEIydKPR+GAluCZFxRNUjkcex + dbZ3JHvAOz4Q+RyjWMqtvpf2Wh6J/aa8ZoI14bZlUl3sHODlCcnlylTvUSPEBaENCpriwwCssypDLluh + iMT1AB77eJ4FRPj/m09RkfsiJVUvMBEQ1jjFnLjy0g9ZWwEE7TpwlRUVE8aBa9+p911+q4up5RJT0QN+ + EVVkh/wZzvP9ySmwYsvzGtWqAhLBY3TrS2kstf9oQBWEHSaDcz87mz7yKgdnrAq60V1hnYUnPQXZDjes + pDxBiK5/eR13tdQdgKSO13ItOMx11mfWBlti1RHiZnOpsLR/fcsMvEtVKR2ZL9OHYNJxdx2A5PfSZYbR + FjlXYe0BCC/oFotc6ZKS6ZwERSXGaJ/YAY48kVgbQKYHQMitXz8qgODiPeQLowLpEr+dbKpWI+qLn/ZB + AWSa8nfC7Lgmj5DqeIBVE12+rpvGGAhN4h1QFxuFVMd92CjYVlc1hXA5kdjzMSRgD4Dp0xliDpVVtWM6 + RiyrkgMZO9kATAVOAAx1pwm3Q0UwOcQNg/Yua3UHTB6CxRJ8hWR41leaA/mcAkvvSYh0JpDe46h7BI9V + 1ldtwsgqS0UWgKG73XReJ49wJU4rrrAAkKWjLxWIuMaCG8m67CgA4gRyBokvI+zyzc/Mlp+itha+Q5d5 + YtsFENN4iXMfPoObnbbDAAjThX0jmUCeZ60lgDwjgFCpe1sA4eJjCkAg3OFHNm8YnsiT+RLmIdRW20h2 + k8iJcmSdjKL1p/9+tv7Mtyja8RTG1PDU9wIi2f16QSq6izZS26BFPSM7eFhMHJVITBcDXJkR1tt2IQAg + Oox98e5CWDrV7PA5XStE+eK+OwDC2K3ckedbAuL0YHCj1VAaTova1+ji6T5Xziuf1SnsTCnQJ9TX8+OK + kj/7/Kvp92ZuhGk7dH+cE1bVNsu/eBMv4NCZzmTMx7vyfB14dMVVcCCuRQMefI2aPuA+uNFmRZPQwOIE + ojzsIklc69hT3vo/cjNOp867y1OVoNKuW7xxILlJV6p1J38NZxRgUeDSprPO+8LEP1dWZYVldIphkl3u + VYkAakPQcSVOKfatl8qsHOzFg0jKu+ZKRlkApAGCsuX01pdB0Me3Do6lAMtaMZ3bRaDX5CSAaKTseicM + XawJpG5Utlw2GW8zEhZwdCGH/rlAJasoGjRzCjcunVO2068x5gn/dPqgvXC/4OF6iWub1ZKk+eRZXOgv + f5sJ5PuQ8YIFACBQMFEsAsnb/7NrrybzbVxKOMN8r3a8FxGdg5HeH3ka08vJmjNUdXTNddavwIt8EV7k + c7PRhV8srxmHZ7cww31Muqy0JgexCPC8t67Z2ow4zi2xMmqI1N8dSHFfc+EgU9Tl2qkc8iVq4THOWot0 + YPp/DLTcvKaRGBENAhfDFF2NpYk2OVgN3OVa7E8RQBTK8HkDILwOFiaQDkAqW78j06MZ5slbeT0SgEhu + E+/AXpogr7XjFJ8c48kDgW6KbieJjBoGQEi3gqVPppcqm/StDWtZX8E97PLvTgmskib7ILxxew/pALFM + SgCx/S/k+Xx1VeS5N2urZXPyBzzyMTs86GRRSTqNMAOO7RSBW7F5cEjKrtHs423c6nZT75CSCqDYRbJC + te7kyPtRWxHFjmRueZevD2FeDnTWX7jL+6TsGk/SQ0XVe+zubGmLNq4VOtQBEt3oy0h5l+BivHobgIbc + zRrFVrsY4Ih5X953nhXWs7MlOZAn4UaOvwODIk515cPHkfRSphXO5dqvzpZuYDp8WskuWVc40g1N7EOY + q8oy0mT4DJk4N7huASICCPlaXkOuwT0MUgLIna/y73QX38E1CnisQaCvPC2RBziwopL/sP9Due6WkkPB + AzPhBv3pm08zdgMcG+yGVZ9scKl533oaIGH6cIrYZYrYpl996xyrJot0eAJb6OOfPUik/8BL5zs759Xn + AaOnv8Pn4P/eZRLhChEvWamPJGF43BAYzXNYSeEUZU5MBakSxiwaM2kibTpDqZJufEHo5RNRo0w7FcQY + RmM0NOKdwwkTsLvxymmy873Laqq6XVvb4kr3OZsSKGuROZw8MH34dczPGq1hdnV95dQRol0QsedEXsLp + o2KxK9uq8qy6rKtOJVSvpcos8upK2uqm7NU6x/Nn3cMS6gVO5bn4SmJOoo5ssSWlRBMwivuYy3bN3ors + 2RwvFGUL8l0J9qpERQTQrbXCXRIc6f8TFASUNN35s1Qnev0cTm+aiv09qV6zVkGVJQBiDlfrEQnwuPZK + +ZTSZCPHARFO4wUg9mjIoVkx602qmzhYVyVKvSXfKiPvYkV4zli9HOOcgYXwav59k8Kk9JsHQIwnEUBY + m5K0MbnH1AHvMWX1u/YsbnOIeFdbMQoCIFlHPQgkbwtUGncSJVcHJjWRJJKlTdb+zMkNbIVOWekpdSbA + dBUf1vjWlwETAAVe1Ky9ZbxmJn9731plpWU4p6ZpDzcauV05OzmocPT1l+ghKn1TrSCH0QAkIJJIewHE + dV9J+Tevm4H3dUQzcJ5UOcTVrps9qbyVEBDloJy48ur2uxEQ5wDyykf+x+z9n/z/1Qorp8BFADEXC1WB + AKJKJimgv1rO4kQ3fHy2hm55crTC8aK2chVwCE25wYaZKCjUcZ3Upo8VJbuurphCRvRuDLmRZxXBWJYV + Fjf3Aea+nuVOHYC0Stm9CQQQacVQS66vGoDYWjjAp2Fb4PAJpLT7AAlAyqTdoVlWggjTzpBQxMkBS6ho + TdyPosfWr0fpYjj6wdn4yHtwft5FNQUZjiKid4hphLRdJ5E+XpD+yffBhdxkLXV8trTO6mqjVlW9LVZa + TB0l64Wz4Zfv+kpl1vJ+Unz3X5gtPXa7JpBjrrAAouOou5AJD04hGz79s9mJLt/4zGzp1q8BIHSe6ziX + A0G+O4APGT7ztUwf47t0q1+n+/kmneuQ6FbmDgGO4Qt/GXJ99LRxKHSp3wY87qDZfuov0k6oF2RMfMPq + XSS1TB9GGHjy2IREt699lS5pp49N1k2rL6q3/2EuCcSN5wARrm1IxW3IRbmMTWuQiV/xBGS2kOqTlUfY + z/K+HaW7kOS7rLCyB35W8Pheru2naJe77QQieLAGS5cIq6vwHsT787zypiOhXZMGANK8PPEBxQskcJhE + YN2woFHd9d2lZDsx73Jgdtbw3I1bOsF9zZ3buJY4tVske6UfAPYPgIcHGKcffUl+jJ87hVWJdn85N1Vj + RiqPCvBILEUR0RVv4g1X2XKXIeWfvQHjj1p0sbek6wKYMikqJHA6qbiQ4g1ck5VxUN6jOI1aH7OymnMf + C9HzClcCIC0Mko/xJtClCncy3+KYqsCr69yOOz2SZ1MDaqqoaBO2EHBOER4oODA80liYJo8OIMWfIxf1 + oawLy7kOGMrvaDqO+VBpaRkJHwYg87j1nOorVsQDrmGMHV+7eRvRB6myeo6M3ql8Kx3mtWpdBzCsOFhH + CbjNc99/O4STvNSFqq5cV/1PXo14LyWXAFKcSH2vAAg33E44MC9aU9acqbLWnSYTmMw9toWULqLwp9xf + +uv2HTEZs46vMFkSpJnApxxakj8oaOAN2bn4dYzd3KdZRUeBxbqsfCCNSE8MSbn95Yu2aEfcAkBUYW5e + Ym1NO2p8f4lFYQKZl4GZaQgOAD6dkEHXvQGl9vssvfoggLRo4qwT2NuJRObX1L6z1B8xADZXrieTKRn2 + U6cQuw04fXrqnxAANk4kyWXWSACE9YyCiADC9DF87AUuzV4G3fHvre/BIp2k79pR7vpKCW8LRMzkYaJu + m0Ai6RU8PH3yVj+HwYiDg0Sv29NB1PpwH9d+VljwLAYiStYPd3AjP86Lgmlq6krtcVZJFENNj+MCxe+h + 87N3mGiScwQhMnkYbxI+hD1l//h7mCgI5XPagdtYWkNmvI++C4MZnTzC1QAi9qsDMk4emUBcYT1yrXiQ + k+8OD9J7ks+tfNgq3NNkcFE+lekjAEJullEleED61tje/TKmQkIVARDjT9av4R6/wZ8BkCENha6uBrkg + Ffm7wOJ0snIX1+hTnBiYPlaeR6l1T2L9z5hAJNAAEPafG1cwOAE46Wlm+pD7sMBnhRrRVfbDay8AIE4i + qFG2IBa3IRM3eNJtcdpJrpYrBIIZV5Fsb5xCaqrT/QonItdXaPfXn/k2wAGAPMP/5wqASMLLgbBbrRh4 + wMOU5qh3PNEih14wgXa+nS7/rEdWUD0vWlmYCilSl+168W3aKl0zeYgh3aDjDKo1rl5Myf3hFOypuaLZ + TdMlFBPQuh9AlhtnRp8H4OJBxxumXIPcizdyXyNdm9uWMt2scPBABAAagIQLkIepg1i3sgqwtNpf/29J + eqtRr6YXlUWsgNqEIznvzzOfPgARJwCNuLn5Z3JoycGddN4JK2ssY19YM6cYy59ZEGEKaV4Q410is49X + psW6t1rbqNoi7zXe5WPhfWxuDHfUAMRJJjlcfC/FzcClxOviFKKfRP5EngcQiZwXQEz2Uqf46VZYxXl0 + 4FHA4g25bs6ZXLw/SSJjGhy/+A9p+vOGWpPHPzD9oo5iPbX+HD6OZ5D9MjGn88KIEz9Xd6OXDJfveBBE + 3jaoyJEwTSchuAOPWmHl9G9Glzll/v6SWcZBIHE21bdUvUsAAUrIienbRzioWlLHoXTAOn9K58x4l9W5 + WX7c/5zA01mDD2/b0FMihyyr2jyJgAFj9/z5nTUWgOEKKllWZQxUobaJTH/rOm/xw5g8oXevvocSmHjf + 74qy0m8iBzIv1cJjljh3AOR1E0jy+J1CylQYADH8MB28BSQ+oatuFBewO1jiKIw/nzzJExlZ7kRlEz/w + eIc+aG4EPgDTrK28mD7wiIwwEMo/TPw3EFY5ZMIQVzAQgrTV/YF7PNNHp76qUqiS8LK6CnmuudAVFgAC + b9InBnn4KAB1iAC9x+5lfTUCNMaPAhRyLnxvTkUbx5HDUXtpqJ9lUSP6PqaPYfBj7TUUeJiOls8TQ6Iu + mxXWgDyswamfCsGuLDfAsIORBinvEm9dVQkgvUwhfH/Kep1KdlhhOYUcug6AXJ0tHYY/wY2+xBSSdRam + Qh3qgzMfJu7k52dL1+VAkPE+hfP8WTKx7pKD5QRy6wtc9KvfoUuEfnSjEIw2WLnVxbyjzBJAMBpKvI8g + 0iXXp08j50WDPsWZPiHmfYjxcPoUJw8kfI6tgscqn2Pl1p/M1p5GoQJXscYLbu3e95I1tPIyWveX/rFA + hElEZYocigT8tusppwx5j9MU5eDC3YrHgxjrcB9kDt38RiK4M308C3g87fV9dPSsEDR58aT2iWukf6Sf + 3HC8QWdl1Qyk96cPuKpy2gA4DFjsgOMh6yZbBo1kT2umEwjrpejbWyS10dVyIl3sexJ1AZyu8XCuurI3 + RKNqlFcQ59bLNve2N8niIwpAvOl3N9oix816E0Bq4igwsCdeSW71WccImOrfkvhWtD3EdZoKq6UxcfN8 + 7pRImbfUam0Tn+JevUmEyz/T0o2bhD5rJddQ8hMh1qu5syvFKnOmacK8BjKp2JduRIxA0DrSE1RZDYUe + Hn1MPezlgJh1nu2LeHRsUcwqTULeXC1BRzUWoJpGxarjnaf3RmywACCplu2MhN6AFwufGoBw809HRUq0 + WMVyYzZ9YYJJ1ee0AOLa1BXVzl0c46+xfrX7nNRppxQPOHMAMYqHtdWBa3hBOsB48O2bTiYdeJgl2Gpx + 590hFfRY0mWAA6CLMg/5dVcXnhBEE5bT4slz8cxnEdSw0mZDYy2EkU7yw9oTIupINQXTMBzu2mGiZKiD + zgoaDnODlA/vxaYcx33eIk4qfLHSdCXQ5YxsIfW1v34e6f5ZAjihI1JA1QDE7ykAwu8jyq6sFVsTJD/n + AgfyP1BhucJiJ436ITs7V1kw7en39UXGmJUXiT+klYo8aZX2FYDUaLsKiW4Zkyd4QWO0n/hsiOyJT0yN + X0wgU0gg344BDtVXFkClDx0Q0bMRfoIXqS9Wdfc93OO1264bxp6EVze54AEH4tu2xuox7llEpWtc97iq + qj6KLo2Kfm1fGJNdYipQjNl3snqS3JqjrOD244LP16fnnOyt0SGMPABc/2zd1HWUDzQTXvhkotozUbiW + cgoBOJa2UVlJlIcPgVyXl2HF1lPWK4iwvhJAlg8xgRxmPXaEKQTwWDoOGB1HbXGO9M0LPzNbukReVgDk + M7Pend+uCHiMhH0KpAY3UWoAIGMKaFYu4xi/YiR8rbOMeA8/EgCBAyEKfgrBLrFuzMmE3oMp08cIua+F + Vl6S5fIoU9ZWZvOsPI1yivDFVaId5D9UTE1f+ceYqApA6Ki+x/U0ZDgVuTs0w20bygiAGAWtmm3zGqsx + He50jKQqF7nu1h3WV/y/zWe5nvvH2TYTiFxIDF5ICT19WbQTc13r4OgPIcf53YfrYGRPBprRNZk4Gni4 + rgp4VFTJ6/gKTmuurmz/83BigrQvirrptOmaF5jP5dVIWFm7otzyprj4ufy6qq5SXtV8H5LzBTqv5UXv + 68JDlgAQwyI3zW5yCGg4dWTKMAOuPB41cVTabt1cjcGHN2ikddKEuRGPASyVN97sA1LZTVfKasVtmztl + bHqT3KeL3oRr87hcK/9khVFq0GV3bn5RNR9WsKIga9dKBwJ2msRxnwmiIt1L8ltpvarglMlXmRc3t7bO + y0ExAPx0Vmqu0UoB18h0HptNkgbKkGjYIZEsXX0qyd3FgbTOjgBII8vzvu7ve6shvQ3eo1I9YdIv2VZT + OnZUGu7Cd+wCHpLjOwg+JpLlHmZ4bm6eY83Ic1YVYDfNFIDgBbkKiFwRSB546/ve8GJyyfRRAOJk5Mqq + 3OkckJhyK4G5ou47CXn97LUuco1VE0pV1UoHrFJ1MD5OGZiHbg692bwYy5MJm4kYPnCFmBpLpXSRe23A + /5hurQep0nRbwGJiXlocu2Q+SdweANfP0990FtA6RaQSvz+fo+l+wh/l99sVcSl9joQ6EyB/Dgfyak0g + L374f8ze+4kGIKl6bADSiPRypLdCqYS2qfU2MA4FFielai7jdOIqi1WQ5jlXWFljCSBcAQ9O/yuOx97E + KYwvMOHPTCQx/HkD37Gw6VAKobLvs772IfvtdJ0LLK6wujUGk4j95r11nOXwH/or0mvOSqv221ycilxB + bFArGbTGzzLFFDkW8HaMgqcbBKQfPQI/gzdkdBIt9tVPJc+qd4w8rFOQW3AivUcAA8j6UlexzgJQIuvV + WCihPoVcl+RHftyjOncZg+HygSuz5UeQhj4BAB3GD3IEdRcudYuneseJODEn6+JHZstX4EGu/wo5OZRQ + EaDYu/2bs/4NJL03caijFZ9eIjvLKlxyq8Z3MCTdJWyRNdcAYt3pYngPsLhLbALqq8lzRJgAHuPn6T24 + 9w9FtqPY0sU+veuaSw4FLwlTyspz35ytsidef+Y7EObfId+n1lcrrxSArGKiCqEOgGzBf2xpBiTrx5Kq + KbzHhvENVznh2a9u94jSXXTwIeOfLwBRU6/qZf0pSE2IzrShMdm6SpRwzeQhcCQE80GCfIHnaMVgDwOO + udGP5443fNdX3iyzwpoDiDL18q548p/HoPBxXXJvVSHLe/B85AaejnKJYj4m/pMD78xroKLVdV3jl0gB + k+DRiOYGEPMV1nxVVcARD0f4HuTxCx0mThsp5cLA6PPcG76fIxNUUlLLEVxCF4P6bOJrXSGpSiB3TFUU + IDcmhcFMpa4G2PWUj4urJoMmh0TiCyBZQyVjzFZH5fgl+S3CvTw2KWszZsiWRf5f5dbBB/F7c+XoOi+p + xaYVJ5q/Ho/4SDohgaqsRNuXj2XeXpgVliT63vShFyTS3rxvb/rITSxcLTdDeTN+Xg1yqxd+ezYmC87n + 6C4qwV0BBMXfBL+HvTib+J6M7dCr0XsvjvLwI/IfDwDImwLGg2ACEBmB4vfn99v1o4dPJgpIH12L3vfG + XissPTMARmpqq2LWlZ5AGKPgUZStVmkoUmLKqOmjunBqTVtTyBQeVzXWxmlCblndmUu4epjKDKXqrY++ + uIyKd8/zxSpf1s1Wiq/R/ZMJhKlnkk4d+Mv2vcaM6RqLn2MfgoQUbeV3UMWDcaJ3K6x3feL/nh2+RWm9 + qOnImEtNPi+yhLWpXpFM13zlBOLojcySU9MqnEfGY30gjMajx1/DkKfXgzUWfeKTQ0SVPMrpbhFAMhEI + Ik4fba3EZOAEIoCYhVWEkeqr7sbRdt3d3+cAIpjU1VtFuUXJ0/DxVzADskeE/LaK1rXZisR+vhYpqwEQ + f0GfLN7D8EYARKmo0t4hZkQnpAneDKeO5au/xCRCyJlmQutrAZHlQwCIF9xGYkpcZ+1jIlF5tcoaa7SW + icnvKZOKE0vMhLjZAaAesSY9eRD8IMaeLJ/5CaYQAhfPASSXPgYP8vmsr3rXPzPrX//srHfj87MR0Sor + FwWQ36YKk6DHa7+OrNe0XgCE3hAVWCOcrvIfkueZPIxQIBtL8tzcrBRVYbyK2RCgEUhWn0Fmi3N2nRfe + RsCjTFQS51MAZCUAApnOVLIhl4EJcOsGvdWAyCoqvHXWgZJymzcYjS2tIgJlh9XVDlzJ2ks/AjgADwHk + aZy9uNs3bwAyEp4nCepsXTBOCTV1kG4873xp/NZ9XEe1Sr7R5DEHEPiTlIsx0Xp6zwRiKGH4j3K+q3WP + z8Hu9dbzUSc9Xqx8Dcn79Jiruoqiy4ZBS5jeHZCoGwEqGuXtuMCr/rUl7Eoye+JO0m5HnJfno4yNnsQr + PiXgARkdhRSXU0HWtoZAMjVIWmt4THhi67fItoBrPx4DPRTxbbkt4PtJGkRc8YhUaG50UvPzFVdhrS/c + BTv0VB9kzccKqutHSctiSX7r+6n2RAFU8tZpzAOeYgJz5jK92Ai6bduhSqzqhe/WeK6tXL3Vz+zPb8kW + f1YUYAhjay2ccyDtEFsg4X2oGdjCfXijbtlTzbNWqc/+bn+fUNLfoyDqm5k4Ah5UVAgS41cJOoQ8VzAi + V+D7VQWuP/+92SNMDpLnB51AHgCOg90k8qbTB/yJ31d6SfydyHm4JtXY+PWaPnLIcEr1AN5JsLuSJ4BD + WoApPPxYDhUoEA2Y1V+HHH64RnRSnpd7HJ9g4mF4/RiTJtyHAbZrxErJ7bpqLAlutctmdaUDva2jdhC9 + CKTrJICvE6a4du4LsTt4uPD3VcVTmFQ5tGSFZZVDJhBBBN6Sn9GPnZPo72OF9dgdVlhpAnN9penEJyaj + sgDSIgdEUyPbt/2l8aLwBxU8cmJh5F1RD88LccQNXBd3uA1WG5PHuVA5ucpKnpGae6aQyUHd6PIg8BKJ + cHcCqDKolD4JEg+uLeZ/R6op/yGg6AURQGga9OYtf2GsurEjI2JKbBf069kZYiKs4LHGA+/6anr4/fA1 + 16L+8msOccEPNxjR5U1wiE8oe+nd5AZOzIlmQkFkWQBxAnnsVtRaS77dfw4QOQUnwgpLb4gGSN3pigAk + 08nQMrBxieljyQkGL4m+kuUTuNJPvn+2dJq8LNZYyxcIXjzzk0wiANcdpg9kvf1rn4m8d3KBzuQL9JRc + hQshuTNxK3cJWDRkEQDRBzJ+Foet5DnKK8d587DGL34D8CAFNHJfY+B5+0yR7Cq1JM7r+jbgwQRC4umm + 0wJcxQoAkDUWALKmrFeS/S75PhRUbfDkmz6BnJCV1SbZWpv0jmwTVbJ9kx00q4Ptp5laXvgRn8+1FaCE + uitAQ6/BJmqZDW+8Tq48T5w65iurvh0uD6yseAHlReQJ7CErqwffZ3x/wjm50bmGqUY/XkwtXTS7c17Q + Wb/6vOVm6zomkwdfw0nEm7cneBVXlcHF9GHkB2uZkMCJZOfFPk8DFjwAiIViqFrbdDfOLk9K4NDhrQS3 + VFS5YfM9OHUsFmd1Xeka9vadJso7eVHdPhqOoDNgpnMCXw98iDeBZHnxc/m8liPsZMddtW2mCJs8mW5q + gqCpMIS6/6/5R5IHBgjZrxNeEg+OAAIoWdAlOI8IrCwAUollWZWrMQ5pVOnOfSPp6TbGpUsc1pmuqkwV + lumy3nBVC1U1bGcaLPDoJpAOQNoapZHTSStI1whTuVXQTNLGh2zBfRi/o8pPAFm/w6kb1/UGyqN9RJv4 + 76b5lpscAHlLsHjYGqtbX9VNtVvvZNLlgFKrfwu0BI3m1hdQnDb0xMxNoa40FVfYsWJEVIuJYgKR09Ae + EU4YxWE3gWSNBUcoaGwQTLr2JB07Agg8rr9Ho3oSjNhqxTtJr02k+rWMcbf7Z/2izYjUa0cUwnMbZWoi + cnhMfW6q2DJnq/rhC0DkqGoCsQ8EFZYcyOFb36sOYseVeTlKxTDsWqUZsscHhHwisvZN3jXzfp0TVIUk + wjEgNVOFpZTT+POhSbusqkaH38GagwkgE4d8SAUoutrSUKgPJB4QJoFK4+UUP251tHPAaLvvhb/XhCIf + IsnOzZqbtmT6wI5y8qv0Zrgikvj2azsVZXV1jNEQZJf0VS3Wx3PiXtf8rRHgEde6jYhPMLbbB3Lxl0jS + JYb9AiCCo9ybf8ADPmPpcS/ed4ibDxPI0g6rrFVykwCzuOcHfN8qteItqY8NgCAFtmks4YqYCiXWl8+8 + jzWWse8fZOJhCmGd1btCm+G1T2M0Yk95/leSylm5OUQh4GAd3/zSHoAQEe3U4WRhbPQ0xkHydzQZor5S + 5utbq3KHSH9jMIQ4d/IQGNYAD+OyC0AY+zH7bTyvU9cu6u8nAmLtGaSQJvzeYrJ57NX4Sbb0g9B2uBXe + g9UVZsGdO/pHiLqG99jic20Qi7LJ/9mA5ExtLkC+zniuKq8Mgd3kYVT/Qw4Oc7L8YZyH77v/csXi6dhT + UiSk7Nxzs9Lx3PLeMj1wGraYyrVR8q74PE5C3iTtZehSFJRNpvoWsIhTHPDISTEBonsmu3kDYVoIBYyS + vJZySdCAM/RtTJKm52rqs/CJiZTn82LWVngE3eCRCLPXjjTTG6xrhCKCbdnLqdeKUz6mkn71arFeVl3G + ga4LnuyIbn+uIWIVV1hzXqd5WozIr8nDzDo8VJg3BXeVaQEQ/v7gGqseIwFE8ChlVz0m+kZKedXdHCMs + iB1AANEHUplOBRRmWskfVA9IBfhx8zLWZD59VPZa4jqaGi1qtiNsFGjzXHuWKToHIWTiCfrEdf7yd/Jc + 3zjD7xvlkdlYuy1ld38c56T5/s8ASBzq8h/WgStz5fu3iRVexn764o1rXbVDp3nJl5HeBkBK0doJKTKZ + tedLJ93ePMY6iw4d11iaaRPzrnioW2NxoDKkduMEPztBt6sciDVPrzAJ+vky3YUH0QMiGCt4QfiCC33j + AunbJG+vsfbbuPwfYlL03uza0clcYYuHiQSCRgHXYmQ6ANFIyHNoD0BwGPuLSvwx8RTK43R5lunK1FTk + ZkjgfJLa85F+h+yuyb9S1cGNwLcFIvwQj8IZQDyPDnPzxpbvNeFSXeDHOnmM9+M+V+4b/oP9auprSeEV + QCLfXbyRMGHcdyp18lChpfYfEPHfKHfypm3QYf8RTH9ErMvJ9OEaJnwtO7iTJix44D73fYl+TwQ8u10z + tAAPfSu+nTz+rtnk5McSub58+v2sln4hLvLeYwDIowAIa6ilI8/Fub70GJOIb7f1hzCBMAkZ8z43OoYv + QYUF8CzBhUioL2NMVM67hKx36fT7Ku793E9z4T85B4FPh0jPPhEKqUYXCF678EsErXEBaMOrnyWE7bcA + EAyHFk5BpI+IN3FlNZHfAEAmz+BKz+qK9F4I9v5LZGYxhQggJvqajWXJ1Bqu8zU6DeQrCjx06OLXIDRu + 6+kfoMj6QU51K8+hqGLdtU7S6OQovBf9JZtwHptGo7Bj1nEuaa5Md+cuGUNMHwmjw4G+QcicvetrF9i7 + 0h3ji8JUgvS2ZG1FrD6Tx54hsJPntpVV6/WY74LvA4xFEt09cT+nayNrAiBMGYk/T8Wp6sJaz2aC4EVb + rmxAPH3r9FCzovEmW33rjvYqk3RZ28KpBNXJw1QGwCM+B1dXSm9Nq3W6qETdToqbNdU85LH5KTJ9VN2v + E0Cn/FIwIPjlNGgfuam3uud5Uft9l0KJrCVek53buVs352ukGriqg72BRy0Ws6OrK15rPrcDjjzPJcEz + PVSyceS7bXIRQOp3g7tfObUTSAcimULaGssGUcUFqNeSYjyXBSuw8XHoAMQ1ntyPYFINjq7DldWazRbi + 2Ruwv5/wsGXA695fhHcXF6K7G98Rv79unR4xAgrA9WdcxXIQYhW7Y4o09zQNhK5qN89zAEb4scsKSyOs + RlbjSnbYvhy8XissgeTtgYnTh+srT+R833IM3KRz0xbY9LnkclI1M0zg6ECj3m5hqjSuZ6OrMEitQeWG + lczbRAdXWYAD91R/H9WL1DxPAIm/T7uYXBmuHPlwbXYwwyp4SBpCAKQeX7PG/Pn1aG1QX71O788Gq68t + DMWTxzjwY1/w4FESaYrhsp79VBHoLVK/I9KzaeoARCPhYftA8kurDPldzSMqPMxGiTuR/apa/cRBWF8L + B8KObh0V1hqnjS6qffVR1CmASEBFUp0JQGlvzIUCCFPJCNBw8ojUl7WS5LmX/IOrBztA9tJ3u1WGK6sH + QEUVlqsNH1Cd6J2BD39GDzVW7xCn/Edu5aQ/PsCIBnCsOuYd/sl4QvqAh2srGwotoYq6hL2iLyyTfcf7 + 8KgQtT6yD+TszzEdfLRMgAKAq6ijLyLFfammColx8652sfdvQ3oJIK6x+L5ielShtY81l5MKQBMAEYQ0 + Fp54R0l7BZEzANX5j8x6Z36KC9Ke1dnwzEfT166keHCenSgpnkPazCTVR20CUYU1Zi0VACHGRGLcQMWh + 0wcBiwbOCSBDSHQ7RfovI8V7Fu6DiSLggVejoksADQCkAuS+BwnJrpjJRIJ9SqbOKkqt6QVkk6e4UbJX + NofIyWPrFrEmEJbbOMxLqitnguSXtdXGHYqArtG7zsi8egrlG88ZOSn9Pnv+DpVWCxLdqKw68OgAops+ + umlj8f17E4gHilqv0AXCDU4S12kjkRm5KdWJvRRQAIG+E1ZUvR6Kq1Qis9tXwZWYdnf6qq6MG7G+mfgQ + 86dapE+pjAwdrNTa8m74Z8jxrHjhRkKuN2luUoJd73CD58WqUqzT9vu9rrBKWmvqJQEp/g+5D07pB+0A + TzptGX7LZ+DahxsXAFM9JXw95bI6xPm6AY/IdI2ltxveqgQUVFFf+TMWf1GciQBiAGnF5neu/7xdBBDW + bJlC8lh1AFIg1LVEuj6racwok6qtdvLYFEC6yBZO4+n5tvkyklHvPd3aqkCiFE16NkzgFUD8+VU3ua7j + BB9lmzddDJlIx9efgkTPc/k7s+lL38uNz2nc6J9EreNLklgPgCQclFWXybq3f8Aqa0GB1cDkrdVXtb4q + zqHumdVN77RRV0zYc/Aw+qXqjwWIkl/XgSOS78iy62ME2g28HmuS6qQlKPLx3uhrpg7X4xx+I3/nALOK + Oz2bFvpw5LRyaMrUXbyfAGLk+w4xJiZGmLwdfoYw1ZUnsTMc4nkOl73vFFxhAFFVWfOD3CdkoO00AMJh + +TVWWMa5H0Y3XftUORATeY38ZXVlNkrqGCXR2eMJInAgjtXW2a5Ty6kz3ReYJHVNIezhBBHe5uZ7mFWW + JkLQcYi0Vk5CQ58Biq6Khjww8h+urxKi6E09XeadfLMcx3Efu7aar7HKB1ATiF4QAAb+IVHrlD2pkup5 + sye/SlXVypPcKJ6gNArToGS7qytPnF7+YlxfBTw4fcbsyN8njyA7PkLQIk2FPSYDb/hRUhlLIoB4+Wdz + rgCEJbmQXQj1NYj0bgoh8FFFljHwSwYxHuKmERJeWS9AdAIp7ymmEEFEMGEi6anKamVUw1MfxnDI++BK + BkwkTiF9SXUioe1XHzxl5e1/gNf4WpJ5BRCluiPWVQPWVn3Kp/oor1xh+X45EOPhXW858ru6KvVV5xSv + /CtDE1WzbN0GZJ4WPDzJEZ3yJGuX1nS4ka511lYhzY06KbOgrnUByX9fJ3PHpsO1U8RUHyU2hDHbiS+P + fZPpPsh17fk7FldTTYkyn0YW11l7fzbKJIcBT9lwAKbfmmZb8Q4aq+gpSfR33Xw8qbvTj9oK1Za8wJRT + nOa4nKhzM3QSwG/BiqiSb60wYPrghd3dAPYmD2PQ4SHgBbsyp8hgmxHPG7ufwxWb3IITiKqufD4j01Ut + xStRdbZOG7VjbyQmN9uO1Oymj85YGI+Jr08FLo2ULwBRfqvqypu+z3PIbxVU+lpYeciBCJQxSvKzj1lL + RcySCURl3EOmkI5HyQSyACDNI1OudUvCvMErX67srHLgcxO1XdFSqe6UnHWVU4g/n+BYU8ieAksCvch1 + edn6XCpCfzFrRdeoikH0MXkg8mC0S17b2k24wduaZun+Ng26AxALo0zVZYXlxLwfIdEjl99Mstv9Wzd9 + FKB5c66IGXMDyygYeXd4DqNLuslDorwESKXC47lnPEyXcJw2RYGlxdgkpQCVFWIftz2qWBPnE4uDiQzc + U+CAPThsHQFoeI5piRBo/P1a1hbhyFm2SSZmpysdAEF2rwJy9QqPIe51wyfXTrLh0FrBfa+bQIpvc/qo + ibCecxV+OpfxvvIz/332np/7b7PHMd/Mo0wWAQTnriASHTNfVOlZutFByA1CwVQKiI7RmyfnCh25Lxyv + R1GDACT6MiTWV+Q8iBYZotIaHLxT7nCCDr1RD9cwEKZJkBs/k0T1nxeILKPFj7QzAGKERXdS7QCkOkGW + lc2SQWWkSdRQnvrt40ApNXyEr3WYG9d+ZLg2Cq6a9uv0IYDwy+BrjNZP8H2wuoCL8TQ1cioil2vyJC/2 + E8jpaBGsKBLIb7wc/nk+hejrcIV1AB/BLmQ6ct4ACGm9xYXwPfvnHVAbgDHRd1lnuv/H/xtfCOuso7w9 + QczJOQh1rt6pn6w+EuW+5GbpTelf+iTE+mdRYcGBoMwa3vl9MrJwqT+L9wMVlj6Q4jz0hbiyAjziEfmL + 2Qj1leDRfwWPCKmkke6G+2gAkukDAAEMdjil2QK3BSluVIRGw+ExTjmAiN0irrI2OPG5otoh3mSXF+Hu + bf8/ay9fxJDt69f/OC2Hq2eQGD75M+X6RygR4HBtlUPC3u8zK8k5Wf4gt/HgxPEwQFnO6SwrLEMPmSJ8 + oaoq6SSw8TfxwpLE92Ts2seVTBnjriaCJ82FKbJ6KSuwAg/WXcTH142+4nyiMuqmj6xsqvPDdVf1kHNw + atLYUmqZaM3aKua7Z4onkLcI+d4I95Qv6VbGZKd6pgOPFo/haT0vZKePSHkxbjqpqPIBdKzK7SJNUqHA + 1zfpoYhvV3tM2QBrCrIUCKCAE0QEXNeIA1Z4TmC+LgIgBlW+bgpRjeXngyeK18ZprR6ziofH+JgolwpT + FKxr58+9o61oKuNLsrfWLPuzoisA2ZPuVnTJ3gRS0t6YmhsY1e8XjxoAIomeA5HPadZZG7f/MgbC0W1u + lpSYTYnoUYW1y8re6cNLANl/4/v4lX6U5+98hfWGvEgDkCjCWCeept2vKwDrpo4GIOE7AiBeTWkVVZ5q + NCeH1vpoNXKbSsIRtZDKHAwEEIj1NfgJNyX9Efe4SN2xOXCYjoeD6aV6lziU+zvmML7K3xP7HqOmIFId + IcYP6T9ZpT57O+owpLwYgePbg2KoKHd5k07Q0Li2bgph0JDrjgrr5Q/9H7N3/+x/bQAi4pvkyAsswAH3 + 4UiGxX7HyG7fml56Cimv5i9GMH8wCZw10jo9qelk9ZNnlcWVSHUnD7wV8X4AME4gw0ch6B4hl+oAT+ym + vkpDoNMHax+BwqnCG0zSVT0B5cTK+9OH3npBQigxhfg+P55mwt4awMEEkigRE3FRR/UBjr6ciC2HBpWp + 2IIzydTiDQxXc7pCUGFVrDyyTXiaEQCisdCcLL0lPYIQlzD/xQjo1JELHsRVlmAgzyGZbtiiAGLUe8eF + qMc3xXeH4EUNiEwicae7AvNzHMVgaGshyqz4QnDC9yymehx/AjW5PbpK+qch2C9D7NMbMLnEKukChDoN + hiqxBJAQ5QIIaitlvVlX0SWSnCzAZEKDYf/lvwFAcKXTjhZSPOBheY45VW36sLaT6cM49m1MWILIysmP + z6aXf4NVFsDzDIDivpkJZvNZOBOmDk9x7pO3b387q661239OvAQZP2d/lcDNj9X0Z1Dm/CDg4WDBHNit + rKK0WlxXLQLFw6aO+1dafn5vhiYuqwzyBhYJrGN5ukfIUeK0KAD4b7qu52a61glSHR+6timb4nRbnIfG + uHJkJ1CUm38BSJOqNu4jPIRxHoDNKpOF5WlyKHVjJf5ElRJlS04KWW0c9cbq2qKaBj2spSej7dU9BXZm + tZKLuuZRwrsXN+TP48l+L56dLYCEeOTJTBaZPFzr1el07iJHOu8aTYluvc5KSj2c8jrhcayUYwGkm0II + +AsXQjKyXJETi2BkYKpEfFJ9La0SaHFKh0BvUSyJqS9uYB4HD6AIlKWOk/9QCVq/o5LsdtLd9jZ8A2bV + ZPNxQteoCfimc4VJuJIUau3qAWf1LtwbptnxbVZleJacSnZapYCx7bXCMtiT6Zk11tqLP57tx1S9j2nk + zddXTC4hlFnd2ssSg2hTVmVd1U0gi4S5E5hTL6ur9MOYPNBEFRDmm8ecQIof8mer54QfD8chz8GkYqJ4 + fhc2q+Z3s5mDd+dnUjARMzZRUDrYN063/DQEGD7GxphsWyBHku/KVdRWJALHi3WG1/UhTd7P57XSrRT3 + 4llaK2l+ZgCETDUPD0vv+vB/nr17cQIxS97qQysTueKUZIW1dQGyy84Ikf4kMl4BJCSQayxLpX4mgBGJ + Lmx+wONRCPWQ6iXhNcJkzEoo/Af7tj5W/eGB2/guGOU1D6b/HEI1k0dbYQkg7fSzuC9PpEl3Ug0P4k6Q + VZcAQg1uQAIVVqYQww6JGPF9uSaCB4otORO7RjTmmDED/+L4Z3xAjFZqo1WU0TMyfoKQRb0ltgxyg19S + OSVoCCioqmqFJbeBworVWdzprtGYdEzmDZnuNYUXEVz8mAOE9jmxyIsceQYAQZVlUi8qrPhBVH5Ri5sg + R/tJmEYCIhTODM9/ajY58wn61D89G19C6ssEYlthJg9Lp8jE0u9hDLx9IoMXIdAJWbSJbSCAvPp3s/47 + GPch0Yv/MOwQEAFAfIFJQAY8kOXKcejgVbWmAmuFmlwBYvU5uJPn8IYo09Vlfrfkuq4RLK5auc4p5/xn + 8doIHhR1ESvj2J3ROwm6HXi0EMQ3nDwe5D5er7raI9eX8gJzVSMZ7u+xK3iy52ZuQGMiyemY07CrKgvP + 0iPSojxKmk45lM9x11YpswI4BBA7MzhdOz10USNdr3m4jZRfaaRztQuIaMZLIyCKGf5f1EdRupR7fG6o + C+mpw9yGvnYKN/DvUmvJa9lKe2tmw07LQOhptorcDDQtoEqlQtzmHIKQ4rrC0pFe/IfTFj4ZHqfuQNYB + Rr32/D3VlLgHIMWFpM3TlsbwIOVs7x6/eQxKi0CZR7lEfFDS53k4a5OyRs4bkUALU1TMw2NQANLI83Ag + RVj7M8c70aSv8Suwpll5gRBQxB5riEGcQlZZs67RwLlC2oIAYqT79CUOOAEQwOM6F/yHHIg+ECePfbfI + aWsAsv8G72vvn7vT5UlCnndpu3ie9MaxQpqHRLrC6n62jgNpMf0+n0qRVgbSRMMYBXWmExm09d4igKjQ + ctsD2KxwX+3I9A5EnETWWhts4qAQYfhvVnybcbV9Srl0Pa/MAbMLPQByhdcAyrQtphzbSE38VR0bAFEN + F7l4lz9WAJ6DDL+fkOjGuf/kz//THECUa3WSwCpXr0veY5O8FXX/m1jmk2XvGus4BhZQU93y+hOssQxT + BJmSHmnzoOBhFzqEaW7IrJGU1BplovdjQF7VYD/mwV36xqmvLfe5a43F6YMxOk/a7t+6iaHC85bNnWIP + mFWXE4hmwkwhEOQWOiGhXRIsJoAFU4cx8QEPpw+VXq6X4joeFg8iF0OAmZEnKaN6jKReJMap27WpEHly + nOMAiJHscZTb73HwWlJ6l3CmhwfZ4OvjQjefK2DWhT6yyvLvWXPtB0QO4mKXF3mcpF6DFk8h5T0HgKDI + MmxRr0jAg0kk/er2qVM4M6I7ZHzmk7Mx3pAx/e2DAAhmQgjzIZW3fSJNXF31Xv5LLoyD1tziOteVPqK5 + sP8q1zt5wT3f1FfhPyyLYhVFFIRko1OH6irjSaaPQSITkGjD2fpTltRw0lPaS0aWLnPXVoLPJk2Gek9W + bvyH2fTi5wnaJCrmyAdYVQKuAQ9/f6rnWhAik9+cLJ9PHg8DjAfXVQ9OJXtTiHLckMWohTz1uy4w7iMA + 0mJ6kj/Ec9iTm+uXgIckcjd5YOyrPXVViOaFnkZOC5ckxZkyGg+SBr6stepjEmXedbGnn51pxbZBvRzx + PVQacJnoqhM8/Q1dqVIylYrv6MqMYuCSPNY02FpDvSm4EfAUW7HrbgGqytZ1skSqq6rEjgAaNX2USCTG + QEQMFUapEVcvVVVD913rCiIPA5BwIU4hJkaUl6Rb/VW8PTLeONkr/qQI9FbR2zLD7jPUGajoxAVx23Vu + lzS5RZh4w5oT6K7tkKF2bZUBkFIteWLehKszisdLbs8169ot5Oo3v0q0D4pS+Twk5nbb7JIGbbNgZLzX + C0AOoMQSRJxADlz/Pv9W73M66d4msVcACbj5/bBOi4scL0rn+YjvQ/luFW11nEhNFJoFlVortIA/Znsz + Of2J2QplUfLKXfJyTWhMNFnTlRHVG7xKUk/+Jf7hsJ1V1mbupz7eEuj+XjKd4B2ZooaV58iUp8QYZa1q + 2i3bR89hOj1TPhoBRG/chIO9oqmaQErx19X8BjxaaKSHlaywPvKJf5y9iwnkMUn0uDsl0Cs7xUnE0hM1 + wQGQi8RV4GAUtVSjRIqmlV50zBQiQYr6KgGJGK9cZTUAyfqK9w8w+Q2OIKuNfJe47qyWaAgkiDDrq0aU + Fwfi+oodbIs1qRWW3o898rzbnxfo8KTP9MELwyZAJwCVULYGOm2MUS90q6sm+U0pVQCECQTUdsUyMsEX + Ga9TVOLeuXmayz88RMkU8evLp96bNkHj2M3Jsiek/zgOc1J6Awb7AAcnHxzoSxZK+X0Qb1JTEgDibtm+ + d93rfrygIx8iv4JcOKZCuJAUWPH500UieBj/fpJV2hmaC5lAxud+ielDLoRKTAGEqtuRAMEE0n8eruMl + JhBWVaqvprd5ET2NgfAFZL0vMH289o1Z/93fS+qu/IdeDWW7uzeNgQA8UFUZ/+D6auWJDzKBskMmusSM + K/9tFRevAYtrL/24XOZKfm+7c0bxwot1TG3n5NQvFHgQUNkTrH38w2ktTB6vW1strqPeiEB/2ASyCCCY + ST0dI1eVsM4KSwDJCbfqc70JZfcrd6cBLtHmLZWWFUzFkSCjlPCOgsq+8VI5VWUrYJJTdvlAutVRrbf8 + eEHGUMOfCXCk5S2x5WYSmcclELCCirNcD4QxQt2Jz3Kirp9776Rb8mMrfzX4cgrn9VehpkwcrSTKnyEZ + cxDhrmJrbeXk4dqKC35vtMpKlxuPwD1PegiA8NzkNRRZdaaQbgJZ4EGyDagJpFz6Gi0l4633bVJewCxc + kRNcbvCSwvIdFSo470SfPyYCaFWnzoGjeVz2wKMj0OU/un6iilTy8fWxUUYueKy8oGrwGzHTCiDTG3+Y + pOnt299KiKf8h82aXgEPQEOQ6CYOASSXq60GIvtvNoAxdJHK25JQOylxwG75YwEN13Mtqn6vUdJ7pSs3 + V1MS6IKF1ydnK6d/kdcy/AXeNH11pVJrHEjUWyrNBEqTM34hZkEPOz05XH9HgEjaVeFvzU7zd5EJZeBr + DS5why4ctkXdlGd0yjZUhNlZm6y3pnx9bRnG4K88QYgjyljz1vYAhNj7+xoZy/cyB5CPfvIHAMh/hwMp + cqr2qrUvi/cjNYc4h606BUC2zuDePcs34RQShQGeECS960whKlIiJdPn4fqHJ7L5U5lKXGO1NFy7xwfE + uQsgI7o5+mRFyVv0NA8mxmKPPBdhi0D3ycy/e1rKE7+UVwnZywTSRm5rcM2f8qbtTUvwsLfciUPQ4CYW + TsI/q4xq0RV+vt6EshbWaWkvhNyPDwSgM+tpyC8i669T8CACBwDSP65MGYL7UVzlmgLNxHIlpYwXP0ji + S1xVSZ47CaWa1xIsRAHsKAcIB3r0l5inFTd7JL1tssFgKP8RACFGvsfXGp5GjUXt5egcdZg45McXPzMb + XcRkeON3ZkMysewLGUOij56mR8QyKohy5bp9phBNhVP08GOiHkavfHs2eNf3uYgqIbJd/kPuQ2mjIXSm + 6G7ekveA5zhFF/NJxmrB43ol7O4AMiq21l/8ETtjvB5OHhDpm0wnKbm6jLz4/C9Wvwrcl0/yyKxTDLYY + wf6gx+ONwOPNAOP1RHtFbrheOZqbf1zo7MiLdPY5znObFdYuL6aorDJ1dPlPlTA9Bw8BJKGClWYb819i + zo1Or35xZa8V/9EFEBZX4orCr1F9F5jlMmHUTTJ+jvR+V8bQIa85aJRBrTOplcNZ6XG5zTWpbSvxTO6W + lbN+b3wfpjxkHcdEBSkewFDK3NZV3lx8THoB8KZenEcF+b4q4to7xHVrrEUAaWosAUQOBDBKaKUkelaA + Xi/WYxN1EO17UVzZRtiaCLO2063dTG7u5qOQKyCtx2VhdTWvi+WGzWPgDVpyuWTYn6zpksd058Y/xK80 + fREAYfpYsUyNUrXUH+B12sR9numD7qN9AEKtq35Q/g+nDECjm0DkQDKJBECcVFxnCThwJvbYtCrmCB24 + P/r9dB0nXdbV3lutDwUgOe23orGV479AidwvzMZn3eDQ7WKgZivtiqCi9S91ZWOJzNFYSO/SMhsWD7yZ + GkdsZ7h3dWkKmSwjTGGrgq9ug/8TTgbOTW9HSqyIc5KCGFOjrZxYY28naMoEwnM1K6w0LVq0ZVeK4OkE + xoraXEFXWB/+xI8AEEh0eh2KQG+5Oow7SYvUTMgn3LQ3gg6I7TMgFyCyzSlgC3dlOhwCInwTKArKIMaE + wQQSaZ89IO5ik31lcCLmQdj+AVHrGleG3KxT3yhXEFJbma6yXcdpnsBxKLvWKl6kjIPNVOjfYy5sACKI + oOJSiSW3kVWV4OHU4QSQqQNfhgBi37B/bmmuAS5UWdbhSqRL9Evyjx7R8MiLkdHOX5qhiP0TdHgwicwB + xMIpiO60DxKfsrQF92JiL2ASALF4CnPhEiVTS6nf5ZpwQiCp14mnfwBwgg9aVh6sM52U3p4AAnhoNJT7 + GJ5w8vjorH9eAGH6cHV1+XOc9Enpvfv7tJkBIPSAjJ79ExJ6WWW1FZZqq/4rVHmSxjtlRzx+6Tuz4Wvf + mw3f8b3Z4N0/nA3fxfQgePjCMsWU6cM8qy2jSogcWTnCDRjzkfHsBiSawmvCqcGIEo4pmtJljkprHa/H + 5BqJqJxqlB4PDwOAXabZG00eDzUEvh3O441BxdgH9/Oejl0TePNSKbPoAfEULLBUU58nZlYumTI+kBNi + tfw5SXhz7vgPo8wlx1tOlAm+Tb2koknOQXDx/xaxS3S3KqqUJbW2PV+UbT0lQXzocq1E5i/Q+WmvTnpF + mjt5yHe4siJ5Vfmnai5XZaq97CVJFa/Acbf4iJCprpdUW1GgxjQSw2IOXB7AuvKtLmuuUq2rpIspxFOt + RkLelhqrKbG6FRZ8YVRY7Nu7et9UAiMXVvWVOPissNzpewJ2+rD/o8Aj8tIY3EzVRVZtim23tsok1gAk + YNL28PIf8X+obBJAqnTLqewg/9fishVWsiv3qKulsmBqF85Num5ukn7QMt7kPlxbCQh7ANFMhI3vcF21 + S5KCIOIlgMiVBEAk3ali9tpHT4bbmXSSCBC2RrYJq+uyn6+yOjmvvfE8Lmb09bm/DOhEGnNQTZ6ghtPI + wrseGKuAVa8Z/18/78aTJjdzH3Brg+hofn/kkF2qOu5PPP9rNcmhGJDxZl/SYCgHNkh2iNgdYvzUYD/T + I/dplVxDLBWD1SMxd5oZ93AAkQNaAJCf+Ll/nr3jY/9Hm0AagHjK8YSgCksAofFKAHEK2bE/2xITAeQU + TlCVJDwoIXlAOp3pa8h3E5HOODShO6HSeL1UYWEiNH0XF3iPcMHhlg2EJ3gwUCxZIBUuQ1BwnG4noKyz + lO82p3KCFJvqKm/b6O1J1wwtjTaCA+BhpIjlTrlcoQQ8apUSY2KLBU/7IUT7YJNIk11A7TB5Wo/B07Bi + 01A4pFTKycmV1+Boc9nzix8/wnrJCYSfpb+BPBcTYy5Ngk4WAEr8H8iKl9a5JNGdQgQR2gz7W6fhTgCg + g6zNkDbLqRjxXgCCXJhpZ3ic2tsz+D9sLjyDEoORd3IR8KBLeXyDqHc8IIKG+VbDZ+A5EpioWRAPCES5 + qqvJC99gAvn2bPLyd2ej1+oavOeHs/57fwTvQbw6++F9aOatBnXS2Cazanr4fbh7K57d9cAO8exOH/Ik + ej62MBtuMXms3yHaxHj4q2RjnQfYdO8TA+OYnUrieYKAHR5dGGKntHorn8cbAEXHl7RYh72kUkMQC0A8 + gacLnedoGaKsKCgPiIej6tkQPOz8dlW1YPgLgBQY1NpKYvwD4RgqYFB5LmKQuN1NpnWVQ1EZp++ARwuz + 0wx3cN5x4T65tdZ19amLQX0NPIosLr9DbQQAIVZWMfAa/pgWwjrh+30IGKmPbq55I0X8vqKOYrWU8qvU + 2r4QBdX9ANI4kFYFnNcdHFXFuSAq4WczT6z8IAUiFWniBFIAUoGKVR8cHinFVQAIa6wqkGJ9hXu/A5AA + a34f1RUebw5caxdnkuIiMqz2Wv06AyX8B7+3Uq4pbqigymrew2HN83PK+ioXUvMJIGJHyIqVzqxpTVQI + 53FD8tyVVQGDbwPgzYUecAFEfFsgItjIj1S+VmpyaTw0mHH3HDyWyia6PraNK3FFNI8vkSvu4kss5EPt + xIHGe2N/H7yv3O+hWzE5e9BehV9bU4ShsVCVVsyXe9XGMWLaAnmMyYUYIYVHKkf7bF0qu+1Ifuf+fXE1 + 6cEh4Z/cp4e3fw/zsQDy+YBGSvgAjSGTyqAJT7a5xweUmZLT9T5/rrbGRt43n0De8eF/nr3r5//r7DD5 + MLXCMoHX+BK1w7zQeIACIGQYbcHe75zlF0h0sA9Y5LxeZmO5L8Z2r5MxeuSssUA2c3JSKMVeNgqtatdy + xTWiyGl5PwACv5BxLP3nDUCU8o6cPFqs9wK5Xnt0QKRT9HSeET8mIOTnASgED6tlOxDx82d1JRB1AAJK + 83XSIEgU/GCHRsMDeEXgNAaPPgN5ji8A0r9/gLTeo6iicLj3913Gy0JQ3aOWYrFiOngjvcXxN8i9kHu1 + TH2tqbuqrTKVKOeFWDdoMROQAMLbXqLe0dyj3tIbk6h3+Q8rb3k7ADyGT2LIJFp+eP7jONJ/HumuyqvP + hfsY3/jibPkFYtlvASABEbwgRrbDewxe+wcA5Juorv62ZLWM8Sqnxi9/mwnk+7P+e/5x1n8/HMYddsOs + MM3JqUmD8f9J/AlW1tL9kfeRoruNAUuFlgTkDlLdHWPdjcm+RrbOxS+yUvvVkOYjvCL+TpVjl3igwi69 + cZVyDgHEfPJ4M4num6yuHgYgibuWyzJF93BO3nnhWJ2KkrC7Wfnc9kbUdV50QCE5XjJdi5DkOSpqZC7d + TQeIN2LWsdyUQ1aya54n0wIgEtrJD3Jl1Qp5OtPffEV1X0FRmz7uy3qqVNfcWE2D4IbrzaMc6t1KDZUj + XhUd45k4BA9bBwUUQGPuzeA1V2ox1std0m/Mt90EsgAgHQ+i74qJYzAmnYHntJ6QGC25WaWTO2GKLVCx + xbp300/iTJqU1/uANzyd1fG1pBMDw50AYqxMA4+9t12Z1AKAhGuobCxJ3eTxRSZb6jh9L/X/ARBWWK6v + plQXWFUQALlK+oFKQ0vSXlBmXoARkGgAkjKp9jvJCqutrbK6kvvQqc7a6yCrKyty91/F+0HJ0k76yPFX + XCLK5wy8AjyCG5qkdcgRNzVWyvhaJbiBs5bcJWaJqm3vHao9EwWF8VqvR6YQjIMFIPIhnfnQMi74EpRV + 06OQ6ahFc+9k4ojQCNDXCOvvaC6O4GAgsJRknQih02ToEcJqiq8hmU4oiof8mARl8pzewaWuqON+AFmo + +10EEH0g7/n5/waAdPWLnHbmfbitZ4ApxOpDO7QDIEjAdk7zQMHcbyHpTakJPEikhK6wHuOFhvJKAKmY + EtI+AyD2DQAs1ozaFKfblb6OqJW88Ts1eHN3ovCGrtzW8Tl92EWwZ721ABiCRc/8qwAOJHsUJEwliTVp + qyuDDQWJTCDNSyI/4vsCKkwncCZ9DIh9OIke00D/MQhz/qz6avDIMxRk8bMQVW+6sC8mVwS61IePYNyR + x2ECSRcIl2BgWKJGQddYldILL2J7oSBi2KJTCGu0vM9VF//HKUbXvCbFkOZcoyPv5kQPeLgrdfI498tM + H6TwXv3N2eTm70WeOIAwN+tnTAvh8IW/woGOF+SVf5gNXv0GIAKAvPL38XtsPFWpuyv3vjUbvvOHTCA/ + mvXfR1ou709K5xUnD7TymIpWeZLaG7DD9CEXsgMBGdCQJ2HdpRlrx1UXYYrrcGNrZ/ieiFuZEP1iK6SC + hjnQx7PT6ohfp7TqAOThsSQPhiTOJ40OgLoJpHurGGLoKfnRGNucBqqJsJUWZV2iMdYq24q+TvR4ixrZ + yBTSokY68hyPU0jq9I3D6QkeAFS8SIlcfzKSWFdK857vbvKIiqU7xT3QuR01T+dz0Mjb6hSS18UqWYJW + 31U8KPV9Jf1acyCrotRBZ/JAsCKPYwpEK48SPAUTf64E9XHyFTBVnO31x9eaY68yodZYNf2jxuLGpPzX + yWqMvL2TO/uzJ5Axke64/eeR8M2N7gpLL4gcCDctb6QBEE1tbDbSgx6PS+s16d6G/2iO564adl4RW/W2 + glAVcpWaqSSnxSvZQjh5kf6P5/4qQo7Jna8ygXw5K6014ts3rCNg5Roeo4GEa6lDCVOs300I9bayqunE + acT3f7smD9dX3Cv3XRY0+FmIBtl3CVEGPjkP04qO3MzUFOLPLU+spwPBA3yVh+YeAhqL5vq759N26v1Q + a0PSO9jerPN8S8GYqyzDJyXco9zScIqpkAlF353P77rxI6mWB0mOGwkbhi62Vb+/W6dHQT3CEB636XHi + keAmxwBQhEtuXjJRkj7N79KYk/3W/t43gTwIIKqw2Ky89NP/Z2S8BSCOkhLoVRUpOeQUopR3iwrU7QtG + m5CfwhfYFkCQh6XT4YQcCCssZWm8AAWQqLF8MgMeml8i7QU8/KE9NaUSk3FLtZOEcm7unljlLryxawQU + QACEPpxG7WKZMJSBOpnEPa7UsHlGIjks1UheBHIe7Uo0fDiRItKzKvNtlFntfdbROl1I6JOaG16CtdqA + ycMR09gVR09PcVOAMcVTj2I0RJ4q+dRjklpab+ZFIkp6WWHBg5h/JYCQ0is3EsCQD8kkhIR4ylunlES8 + w4MAIEuH4ULwg2TyIEJlcg5CWs6Da3r+12aTy78+m1770mx06w94odBESAqvUe4WSQ1fpnnwxb8DNAAQ + wEP+Y/gq7lxMf5sEHW5Q5tQBiOsryXS5kX0EaNou6CHBrDDBY1sAobbW3XIARH+IChZlvgYn0mqmtFsX + q1LEyTGyujhd1SRZB4EuKXnu2emKcR5Iz30oUDz4MYvg8yBwzP/er6mAm5zEuHvjrj87/F5uzByITNKd + gwWejjmAtEDCTCBOJJ3CytWVN+7nIw/uxBdDXrzelJ08qrTK6BEIYUhvT80PBY8Qk43j6HiO5NC1qaP1 + 8HijjN8keVus22z6w5To6yqchuupTnrMzdrvQWe5bvo4wU39be749EzwMzohOF3srbFMs14ILV2cQlh3 + GZhXzY441uF7XON1ZrWouyIPNv6ki3THAxYwq2jwuMR9TPCTZbNh+i7ruORczQGkNh+lRNuLzMhjF+lo + SWa9oZWEF4kr3Io+nqzCGr/kFD15iTXts+TA8boY3/p9lFhUG7yAL4SKZrPZ1mnW3LW6IoR48RrFbRSI + 7Hfq6CYPgcQrjnXViUWeJ833Al0f9qsbPCsXwt/1WwRATqMS897oep/6i5D9tAWOH0dFuYnbn7WRaRkK + aAb74C3MI0Ptqd1h9TFUfU4gRrrb0tnFnHTlZIDIGA40GYSAtIcX8wOVrhdPZRU06/gFAPE16CbI50ei + UQAyFaXx36nYQrnq26zA+Djv7+mNf1MAaST6Sz+NE10SXRVWI7QiFYyZ0DBFdnxqh8lP2WaVtcvYZnZK + AIQHyvXVBplYBiuu4QXxRCeSTh9Fi67yymnDaHSfYOkDYRJRKaKJyWweTjL+8FFMOR0IEHo5WPksw0v0 + WEG5S6/dKw+SpKzrro5cz8QBcHTrrqy1uHnNAQTgaXJEuZGexLp+ED93Bx44xuMbYawURJY5FciH9Ph6 + 8iGjx0FbJpDcQOBxBEfNhdkz83MpjRT5s/M3OoX8rZ5ZV0p0dZzrTHeNJYhsHgFIAJGUTjGBeNlkKIC4 + 9uIy7dcV2ggiWoXGBLnu5OKvxVexcvHXMQD9DierL80mN75co/rTcB6srNZw3U5eoP/gRcADAMn6ijXW + 4B0a/r4NEBjbjgTv3nfpSPj+rPc+OJB3ocgCaDxJOW1YSLNtRHuaBQGVeTw7UwfkeU0erR6USGh15Kuq + SU4S9naAlOKAh5NiA4+Hch5v19PhSuoBruQNgaOa2rwEEJ3SPhcd+fc3WWJV2VZJWgx/MQMaLdKqV5Os + i78jPg69HW1dlI5vV1eAOi8y+0KWlpdiwhNQnGCiNlLl4tdqCpbuBtitR7JL9qYYD4E1oSqxzBmCe0xG + VwlYXK+FME1OEocygKxTWGVlFcnsrVoVBTg+mlNqt75ySgkRa8pr1DwVJSJ/IrBosqySqUo8vj82qE0g + mfQ3ARBWWEklhss0eiXT2Ufy95pMNCS2StwUVnlQVIUlgPj4o5IK51Ed5nvrqiqKiqwa83Lyr6JMa3xH + xxVFjdY1/v3tQgZWKbCyKozpjRs5NcljAGR8m3jy21/h9fE7+JUwvQkgeJbW7xHwSVzJxnM/nAPHfQAC + iOyLP6Q8IAJJVFjkZe1H/muPiHUX+xAcmcyxe9F+8QKQfRdJB2YzU/dFNzPww3Aim3jlNo5TU3viFwAL + PG9OH6zKnUAEEGW2Hq7XWF9pxt6gA2QjrnSv8n9sp/5YMUJlaK0fx9iq+o7DTVaLrp4STKr82pU/h+j7 + JkvXWE/G0Cq3sgFP7XaoD5jJoyg6MoPQFdaUdZpbpt1LcHdwUeHswoG84QRilMn/VSqsjM5q051ABBGm + EEFEMyHgIYDsnINIR3lgQfwWqyuNhIkzwU25htFllRuQ0cNJ4EX+6gusbrIQeo7cOT1BHJFvX+Fu3Hhd + T3Fzl2B26jBuRB9HbvLqnVlxGXzoqJY0Snd8AET9v5ZllelE/oMnfgcMmTK4YopiJHdcQ+4WToT3uyZz + ElhGJeVE0mMKWda3QfxJvu4+V1hIeo/hZSAEMrH07Jq7VYDfj2mknsKiWHGSMuPKpN2EKgoaTB++VY1l + yKJTyA45+sp6XWXJh/BzpxrX4EcSfVVkqc5Qtjs+Q1/FOUIIL7BWOv95ajvRayOTnXKt3OBF8syf4/ou + snydrKoxADJ65VuYBf8eoyATyDsBiHfyAgqAEFti9weKFF9US+/7wWz53d+Z9fi4XSaNVGliLnJlpWFw + G7/HDrW09nvsmo0lB6JK6+qfJ9l0/exvZB87Oc6KjTVfvB7x45Qyrvw6ch5vFE3yRmbAxn0sEuQLdZ57 + pTp7oLH3vkGbQB7Pjc79sRNHhShWla0KrAIPfRqS4zrL29pKAGk5V6plEofe+jF0XTspeXp31+xJ249N + 0CIrilIWkSGU/oROlrvn6egqQasvuxJ1599XZPMYvFQXtdbCSgquVUVWVZxUnTzsJVd5NS9sUo2EMkcS + O8KAyInlH1oPB+DiOiUELIDjNLHHgTQA6SqEO7VcU0K62vBn7doMBZDORS2g+D352p62UMb74kyyPhNA + dNhDkgdAXDctgkdrHQyQ+Lh1ZVmLsubOC/M3Af90hzcCvfwjJf/djwjECWTMandyB2HJ9d/OdL3Kc331 + JaaPexScca0iPQ8pnunCCaTysLycTqxg9t+z5nKNRWpvAITPv4817+4lqgAgmj107Yc3DICw0vLeGC4E + 4NjKdoZyrxPI4K2MhfROgOsaPJLV2/CsJkysPCpwcHABELyPbtCzJIBYeuclNRDp75wLqQRplVge1L33 + dCASRVa43T21amTz8Z5tB9zjezIVhHvvYBWpOxsDSfQ+hucACGDmZLVL5fSbTdBzEt0J5J0f+efZYzww + Xc9y9q8NQFRHeKqSSJc0Ep22VBwwmun/ECk3zKzXiU4fr85HCXKBYmqUCVNIOA+eZK6tfJI7srmjDYCw + dysQkJ/gRop7vL8BOjPm+UN5U6/kXIMWUS2ZlyWQmKRrcKIgEu5DV6brKx7AAIhuc1dXus2VIZof0wBE + Yn21KbQAKsMOs85SKQVv0psCMtzoB0hzHfWmhACOnyTp0hEz3Qp2J8CLcEPJ+LjKk4IXWrK3XFupvnLa + sBskVbeAh6ssneeaDAUR11jyIXpEAJFlfSOEPro+s/lQbmV4AmOPcSVnPz1bOW+d7W8AIqyveLtyGXLw + Jp6Lp/8SzTvmwFeIW8fnMbkn74FclxpbOZDeu78LYW60AwACILjGciW1Roii4LH8rm/Nlt+DKdC0XOLu + JcVNNU2/B8S5nEeCEp0+jDbBDyJ4bJz9wmztBA7aJ1lbkbZcfFJJsLsd+/3Vsw/zeDwEQN5QXfUwsHj9 + +yLp5vfti8qbqTtfFUxzgyw3MWMnTNB12qib7UJMSae6cl0UtZU5VsQ2mPuj4ZQXoweirIhwo2+lnpVK + VYlzm/VazPqhSHRr2ugmjpywu7pop/0ECDoRERWETLPiz431rgIqX+yClOm44TQELL6v+D8Wghs9ifv9 + OK14U/d7NTrFKSbyTx6D3ePc0GyZ43v2RpJJvxHpvd60ea04ZKUywZtQS8BmHWIr4xTg8nnvVNYBnI9f + TURGwptezIYhJHrzxDjFAcKuEGut193sa+qo6aPddzr+IzLn6t5+0ExpBpOHgUh47aOHV6n1VYGP00Hq + m29+mfXVl7PinSJb11i48jKmV9ZX+pZWU7NMfHtWU22NlVpbvVDfm03e8U9JViiy3bUWqytlu6z5d65C + nl9gpY+Vwa5wv+Z+7p37LgEsHLYl0QUOp5ANO5NOfz6HrMFBNgusub2fTA4Ti3SKQxeqSiNIvHfer7xq + wKFrnQnGfKxUiLPlSVCnyQMWhRm7o7LOimGjoCKZ5wAXr1XZHToAyfPW1SbTdHmFBH62K5imx1RX1ATy + WLi0TFcBECcQJsCHTiBthfXCB/959trP/IgJpBy6WWOlY1nHqzyIkQsAB59U8nyLPd+Wez2UFUFLS6WM + dD/8ocR02yzYlUsp57VYyoRei088ybjKUj7m2wAIu+rozCXK8XA4VvV2zlQEyCZ5RuS5zJHbuBNu1gUm + /LuRJUwUyYRZ9IsIRJ33Q8I9ZsTq/XAttSxAuEIysRfJrblaRaRjwNFoaAgi1bR9mg3TSkga7yrmnS4I + ryvP8YUTBYSgBpon2yrRJBDnfl4zr5w+BA7fl1UWNyJyslJ9u8U6S05EuTFXz65011cCiPyKoHWq8q5W + mD6m1NmunGNldOE3k2MTACFzSgBxbTWhunaVzo4BnIcTyIgyKQFk9CrJpHdRUbGO2oG/sHJ2/Sm4ET5m + +d3fnPVe+1ukwvIerK1oF5T30A+iqTCEufW0TiIQ7FuXvw54QECf+FQ1Oj5KP4rrwpaanC7vlhRQHptF + T8cDxU8P40EeBJC3sbLamz4M1RRAWL3ggUjuFAaq9IC0hGmNeGkHVJnUTIJxk2faQH0lgMTroeKKAwOX + L07Bw4OOEln/PeDEOiC8B8SuMRHz8iN8HgJI/B65ymOljDg30TjRfX15M/x8gKja+0zj1SAosMl3sC71 + ICb3IHCYndQu11FZJ3EZ2FiOdMymvJ78Hv2zJ1UBZOeYUlJIXd7aWSKPkq70+EGKSK+wRPfnvA5T7tXk + vLyuXNV588kJ1lItAFiQ8+f366xA4lcaryqw8oDoRK9110crGDK1tcptq7Z28dLDEeAlpuQ+c2VnrGyp + t/67nye2ASP6E/pXrYWRPHMT9zkv9+EUkvieF/GEIF1ffYlmTaqZC0SYQkhQcEUl75FEXt96QZhPX/tx + QEbyPOurKK+UucN9QJhvGUZIv/ouKy15FxVZ+xWhnOd7kwPJBMLEBze8cco4n48nPcIIoulxOE24QsFj + zOS+epjfG3UYq6geNzxAOH3aE+Lluim8ckXlZLWqVQKOZF4pACcVVRxXH87Kg3JN/4sRNf4up7XGMvBW + AGEDVLH9bIIQOnkv9hDsdmVHwAdALJLKASi/B9ev7eqc6Agslp7/yR8ygfwXJhBjTDT13A8g8YLotMxu + T+muvAfThxEmmFqyi2P8N7ZkIseBiTB9IMSAqMJIwCKrLKNNzOEJb2Dard+0DYStkS6FNTiz+8how0Pg + nRgicxtuS7Rz0sdjMVhnKkC2liklEwoTiUCj+7xrtRNIOgAh/6rMiE4fch5e5mEBIvaW69FgQkhOloqt + rr+jVdD2D2N2ZBIwUNG+Bl94PuhRv/CC0c/i1w+AqbJybQX3EaBw+hBAnESSeWXEiRNI40K2mUKcRASU + BiI9ppRletMFkPGT7+X6yRQ3TfBWmGg7PUfw31kMQOeZRC5/EQDBe3GHuIZnMAkyeYxfZdJAbRUFFuT5 + 5FleULxPZcrGXXgLZLe7nqKII1m/Y1f63zF9fDepvwYwrt3ldMXzwFE9RLmKKz0fFkXhQN+m8W2DVrf1 + E+TyPAlhiyJNEC9PzgJhjsu5M2guhhze/+eHSHT/p8GjctEqG42VDDdADyu+IPUf5OYu/8HNJ8GDtgam + EbDAwudpl93k3j4ei/g95Av4PQIevjjXAJOscCxsMkLDtZXgkSwrb47eADvQaD0KC8DRHcr8PjSYpfuD + 7vDUvEqSahBkulgjh8vnmqqvbmW0BbjYE1IrKsEOExjcYbUBPjvbDOh4unQCsJKWFRcgo4kvWVMeAolO + z7TC/51ssMaa8yAFuiFi21VmXicTDYUku+br0OrJ5+46K8oJ/vFMHdYCd53qpcAq1767+z0AcX3Vre4E + DFZWPmYIDnx/+I9u+pjfuLh5RanG4xoAIbq+AYjGyrQ0hkvx/xPjA2iM79LOeecP432aKOt9+XusrX44 + m77640wgXisv/zilaQENLgGku9Zo0pzwsR6cdJ0XgLi+goOhV2MLG8M+AcNDFtc+11j8fR+cyI4y3vjj + OGCznVk7heQe9eTwAgna54j2AUDGxwEQ1tNKcTVep0+JNsH1J5kwjDPh+eCfzckqw2gJOnw+r+MYX+P1 + 58f5b059Et9KritR2dQOs+YeBJCqxEileCToKq7kcLkPU+rn58ihi9+Z93ulyQcuCyCLsTr3A8jYqfze + B348e9dHBRCLpPZApJ7sKLBcX7HD1GGpyiCyXUczpw+5D9vlAI3qRIdsRHmhFG2VEMLVx3X20vfMns8o + E9FuuG7bm+md1+P4rj5sn6TwCYQYDnYZpwCK5f28Ne6drpD+Nua+DQifgAgEIJOJnR4qoTKpCCBOF1lj + NdOgp3rlvU4g4UcEFqYQ117mZdkJsssNXwWU3g1BRYJbox9lUPIRfUITDX7Mz8CLxOa2kId87yOLp3jg + XauFV+H/xnUuiLTOj/kU4tpqzoP4Z4h1AcRJJIACiPk9kJ+VCQQHutPH+Cjcy0meaGd/BXf3L3FBxgEg + K6yxVuBC1m7Zy0Hi6NNErePzCNdB5awx7UPAYcRUMr2nAqsmDr0cPtG3MQvaaT56+Vuz3s3PzZbvfgEe + 5FvEtFeEiSerbWMfWF1l+sB9voWxcPMCcl0lvkc5ST2OEx8QN5YlAKKk9XV8x8M4jjdYWy1OGm+b71hc + YQkiEsNwIEwKnpg9pc6bCFsMiDe/TB/JqZIk75zm9VYgcR1koq0S1ZLpoqPn/Zue/gGfbW6crk/2naoy + pEwWuRl6AwQ4fJtiNh3kqr5QNgoyvC0AQ4Yp+S0QGUeemtfmfk+2lr0hqLpMZG2R5a7cPInqrk++FX0P + Ou7LAf9KwEXnvOARE1/L6doJyJWMefckJC/Bhk5ZgsHejUbQrS2AE4y78ORhASBJ3eWaYBb0/+iDyVRj + sq4dF2Y0cQquOltd/ayveOz8+uGgskLkRk9abj1OHXA08AjoduDRuc5rgpuvsBqAZMrg95giMKtW029f + nIrgcohrrJwdEn0MNzhhfTXNBPKD2erL/xgAkf/IxYThNHLf9CGIsMrSIDt+DbKdds7IdlFelVwXnuPC + 10p9xTTiNC+xvhsPFWssDYVMIEkpV5XK/XF8FuAQPM6ToC2AnETqfurn+Dueuaz9KyAxAiR4ZEEiXAhA + kQj3TCGslp1MwoeQ+CE/gnDJe62rSg8dEul1GK9wxfkKq6nq6kBAXbL33q5tkolzwOQSlZ2bIa6KhgFA + +HkPXPb34ArWVWy7nEbaBDLlnrz0wgf/8+ydH/3Ps8dB0QIQx+y2n9XE5DiDBE+HpeARZHX6kPtgnLI4 + KqGJZGCpTV7j7epjTB6AxyqougovYryDU4juc6eOIS8ARygrbKOu4nSXWGh+kNEW0ja8IQN6QlwhDbfQ + Sm9DFAE2qbxVOcA3Lt8g9+AU0pNYz4qq0imzopLTaAqgkEgdT5L1FVMDTtA0F+5j4kF95ftyIw+5TRQA + AGJ8iCfEAhD8K6B1xbyXv0XXevExrMLkTwSGrKiqNCrTh/0fG/xbekD4u4CRaYSPDSfiW5Rbfm2mmB5/ + 7h9752x09P0psQqAHCOkUgA5y8373K/XCuvcr5Hz8ycBkBW6OVYh0AdwHUatj5ExDl5kLcUqyw7zjdt0 + Ilj8ZEAi5PgW5kDraCd3v07nOn3vTiHvxKn+vE7ebxGMWNW04T1QbhmguHmJOIgzfG0UV4aumR6QqUP+ + aN7N0hkE/4XmwNe5yd8O31GAUZNH9+d6WwByLS+GAEgKdbyJK9+twqec5rMCAkQ40VeMCS/I1gHijVrw + 0GHu6S91tU4dOdGz/85axirW6uYoBVG7XKlE8dVCSfn68hybT3B69HTu58vUoTpKQ1yVWtVaDN5C57bZ + RZYvMZV0MSuS597oK21Y/T+TAQAi8PkzZe3WMr2KK/kQn0MAoQvFJNa0+KGaBDx9Plcar7tyzLQctPy8 + ThuurHzr45hcMYQubg48PDllOAE42fnYJlCVddbqPsHDAi4nJ1dqrvlQh3Uc1FkJ9CLP55OHE0ceO4G3 + gW9iS8wGez2AFChzk+Z3IGe0uL6qSeavCAy1fRB5O1xIAOTl789WWF+5lnLq8Op4EP+sKbabQA4AHknp + pd57BcBZJWi0XOdMHxQxZcJQoWS7n9wHIJJwxqyxBBBWwGxqTOXYYEJYOQVw0B5q9YIAMrhA2q0bBa4B + puBsb1xJpdXVXhC5EJ9nlcwbgRJA4VtrpAWm4kMAbVN8IbwTvsjHmwbgVFF2B+59ixlnSe6ow7SAMWZz + IjfsPdO15ZDftWo6728erkJb8PMInPPfw+Lvgynbg0IA5MWf+s+zd33svyDjtYN4ATzygpP/UHVlD0g1 + EapnFgHXjlCZKQIKHLrPn2AX+7j7PAGDlYD59CRHpmxKaa+7NyS8dqB35qMUn5hblB+AqGkQUFnvaJe3 + j5KXdQBDHzf6gY7NHUAEz0h8I5tGhkC0q85SfusEkvUUIKLnQz4Dp3f8IL6dO9d50Pg4jW49Pt/ytnwL + ALIfIx8ThG+TY6UZ8PGnAojZl4PwaW3zwjFqNtaA+JJlAGiwpvvctRqncVdRThVOIHnbcR28v1tlyZPY + /+GkIi8i4a7kV/LdLC3Ap3fsXeEk4gE5DoDQp7Eikc4aa+0sUt6zrLQk1e8QFGfvxrMCiIDBFPHs35AD + 9MepsdUTMn2WTKtbf52sqi3ebtxCXYWKavMm662TPw0P8rez3ruIO3kHBizAY8UgOghHo0pKtvsPxLn/ + eVZXayd+MbyHnphMHT62i8Ve8Xi8hbLqzfwfb8p37K2pHgSMTB4GbLbLyI1pWtpUHxWA5EVBCOGWe+YU + +bjCKtd5l3fVqZdcf8ndxMmedZVcAnHdVrDabGgwIydhVyd7oFFBjXkNZdrZi2zXTCYnoKKrS/nNCiyV + uq6B6D5nMqik2pZWy7rJm7Rch74Ly6tK7WcGFcITbgq+6CMj1nTGfjzgpxzUNGF74OEpa4XUamPtDmF1 + FrDh9ejnmweTOm24vkokBhJ1QKNi2w8kttt1R6TDAI+f0xVc6luZRBI13toXuybETFgAlY9bZNSq05Tq + BkAaiDh5ZHXVgDeO87pq974nROi60H18A2D8XvcmmuqFP3jOygL8H5DoqrGcPiavEBj6CtMHAOIEIg/i + 9LHKW/+stPcAJkGNggdYV+27UYor116TVzhEAQ5yK3IfuxdYnwEQAsp+JNgaF13vHsjfJdKZUFCo2mM+ + PUtF7EXBA8e30wcTh9cY8DBA0SlknXtokef4PSDI5ZOzwuL/uyYWPLbMGOTAvmKvziXvv/A/SrZR2Tml + mEPo478CgGcCSSFf60xvMf0dnxV1Fve/AR1MxR/rQm8FYS2eX1FIajxUmGWFVSKQvd8FvxOm7KQ+F4D8 + 8+zdH+tkvN0KS5LPyGhGGdImlexu84QRQDaOE6kAMKi4WmN95YOQSluNLckTsjOh1X4GYW0r1BvCGov9 + m7n1jlFpSEtnA65WDUmshYKiTChmT40JMTQyJJkxqBd0iNf0wtSydSpR6T0Ko5TFZYWE8koSvv6sq92O + 9E5SWmVTPliur/r7r9bUAWAo1Y1zXP7BAESUUIKJKzd35J48vbGoVFAgMH6Mvb/R7XR1JIIEIFuO/JeV + lDElThqdXDc8hzwI04iA0RHsTBn5u2+NcdcD8ijOdb82ICJ4BUDIlJraAnjsZ2erp5hArIVlhTU5+0t5 + Mq2QfJsphKljjY6O0UvwH7jQLdDRFzJ8iWnkHtMHveRrd5lEWFtt3mAVxRQyPU6m1o3fw7lOtDsy3h5T + iDEQK+jlV3jB6djdped8Gz+IOWjrZwCuo3w/h0kGVkZtj8pcqvswme4imLwJqLwt3uPNweP1ALIv1Z6e + +F01eQPbr58J0rV6GFwHceLLBLIXmLjBCsgpWPDwxlw1s1aN2vWgk1oXtdOMIYDtNN3JcSXpm48j66pk + V/1myE9fbBUl4brKAEDA40lD8jDE+XnDUWiw44Xr95mJBSklIJKOD9bD3vSz7uWxH7EG9pTpLtvJyalK + 2a5TRzctuWaK3JOTre7vWqG5xuIwmLUTqdkAU6W21r68C1B0HeLkJelqrpgAkqwvJ3BWVd6wAiAGIzqF + MGVUgZWti67PWAMGQFCpAYzJBVPCG8Jb0G2gkbVfByDKd11hedPy5NuRt51vRm6p+BO/XhJ45yuxpuRi + TZZ0BiS8Th+ZQACB6au1vgqAvFIgsngZUyJ4HIDrOHCF3hVO3itU38odetDaZTW1Czeo+mqX/KvygxRP + aES8ZLMqLAFEhaKc5YDG0MFFQkWZOowgGlyASOfPVjAML31mtkoHeRSsAMTaSWW79eesvk5w5e+lvkqp + GSCyfgoOFB50jVWXk4ttgp1R0eey+W9dV3pyAx8AkNwP8Z2FZ4YmiFEbv5sioG5V6Xo2tQOo5ErG2wFI + M3M242tUYKhll174qX+avfNj/+fsMXwgdi+7s92XvgHygiTeQNTkXpGmafXhmobBIwCGJI/yXTvRE0Vs + kiQgwonODBz/vM6Ldc2Id1UGNhSayItKY4yEzByWyl452pJCyZKy+c9dnF0hB6m83RZAqNsUSFhrDVlv + WYrjSitZMgQRqmEWNKLGasqsuaM9zvYWwKgXRCMiKzCrba25FTQCIAc0/QEqAMLyo5h9SLpcgZj0Z5CM + XGGnbPT85ACJu6yXlo/aAfIcqinc5pZW2XwIL5MpRG+HoBESnQlEMHFNpYzX1ZVTR6YQyHYBhVWZZVLJ + wMK93qOYKh3u1OdOTnL6hGibHmXlQCXs6mm4EJ5ARrlPSOE1rmHl9p9UgRMgMnkeMKCBcO06q6lX/ioV + tgLKGtOJBPnKU6yubkK6n7MH4JdSSzt5/m8i+13GEzLpyEbGd4t31ll7bV0m5+ockmGmj+mRn6piqOZc + LrWV4PGwyeNBs+ACaf62zYEPX1EtThsP+7MHBW/am7bE2XaXNSw3dG7U8TDkxF5dHTEOOonwVlmjLzr5 + j81W4qMvIzfL5mWopsDmY3Anb1Ku8Sh2Tqta5OClOsivoaLFq3oeVNX4FrLcale+L2PZrY4u31VzyWt0 + lOxnyjG2vKYK1kEcZFzP5ntklx3uY8Ftnm6SGBqL3PfrradyFyKdg98+kyViUmxrLH5+JZuCxhxAzL9S + lu4aixWeW4GY1DzsGVcSKe+9rFi2jQVPpwrEPH/XdR6jbfrfNRFWnH0kxIBiwLU5xnWbl+u8OlDq0lhJ + GkZAxCTeVl4Ux35X3qThEhm5AJIoFIHD34Hv/wuA8g8JGCUf7rm/xFDIRA14OIFMAJBJm0ACJIDI9JUf + 5e0K08jms0h2E1GCVFen+aW/5jXFNMPrafUpAOsiabuXUV/h/djhZL4roc76yhWPayzfKu+VZxxTGT28 + 8qsAyK/MBpcAEIHk6q/NBtc+PxtfpSPnyhdmIwJQN4hTV6G1dhLwPQWgYzZc15ANt7weHwgWiVAFOO5V + c8k7O5kwpTi9RMyk4gvzqpy0Cq3cG+WATVUOkV4ekNoWmEsngLCFoTpjsMW9z61NK9+TZ9an58FjHq2f + abBaIf395PfXFHO+vkKiv+AK62cbgHRNZ3MAKdNgAMTdqYSOERCUvHtZ9r6uEisgohrLWlvWWra2de/j + /RJEciJGZKzwpJ9gxivZGGFt/NCeFpXGjiDM0wSI9HdE3LHyMrOo+vtIx91hOoEPGZHeawjZgB/YSaQf + ANGtXh4RuY4EFfJAmauVbK3EagAgKreIjjf7ZdnKWUIPexDp6rN7xLT36DPvHcKjsoHDFtlxQiFJyVxj + RzlFojx8jHh1Wgj7gMfy4xjnyK6Ko1TnPJzMEqsv+RNTdrOy6sj0TBttArE33evw3arCpQdk6TDrMAGE + SxLdOJPhE/hnjgEeRzCS4bWwEnbl5CdTAJMa26uYpG4JIOZgUdvpGguA6NFKuEKw4uDFv6BUinj3e7wY + nvvrVMyOyQhav0Y+EEoQ6z6nTwM89JsPX/sOjvTvJ9rdffE65OE204efc8MYf7TsIc6dPoyB4Um51K9S + r9errd5Gp8fb5jzu5zn2knxrZXX/5FFJv16epgR+bzTe4CIE4RRuqc+G6yslsNxc1+cgwj6Z9aQu3rin + 09vAhGCWkRHk8TFUzWxaO9tJOAcufRyJ/fFSlvvZcCmubAUn5ZjhOXQUJ+qEKPP551M23/wQqVLw85kW + zI2e79mJRa6i4r1Zf2TPXZr/eDL8/DGVKQE258jgPQqIXCspFhBQ+PppQmxFVgFSDoMbAGkJBVibtn6d + 8JEBDPhFHeiGKPLvAohudMEr348hhgFAtxP4HvQoGNaYDvYCkDJqQv7yb5naBMkmNtgDEIGkgUcAxKur + UF0AkHl9rGBBxA6Po4/TnhS4nOyu/KZXf7fMhPTemDy9CCCvA5G20pq++iPk6qyuBATWNvtI951QvjZW + EsxrxybOnct/llI9VYz75EQSaYJSEXm7viq5w9HLyOef59B24zdnw+u/HtAY3Pzt2eA239MVjL8IX8yw + G15lpUmo4SoKLft2XFc5ceQ6AZgAKhuhClhXEbu+oWFbkPCeKk9i9iCJ6PpNNuGlnUyUAuvJqcxApw9X + +E0dGQABUBIT1dVWsD0BPGKdwNioT2VIxcYam4ao2wSKBQCRl9qfxIQSjFShVCYQSHQ4EGW8/hLqJNXU + VxZKhf9gb0p71gaX+zet+flhRUqVAoKJfpBUfLLaYmUlyR6gQVGgQW3lSZyTGPJWHsfbwCpL4PDJam6P + Me8+WSfkZiXB9/F3lswXLsRyp4GxxwYbWjdLX4cRAMnDhwvpKeXVNR41FqsVH6wEJVbnh/0fHQL7QGlS + tJdj2fgQ+Q45B30nkumAx9hU3YNk4wNcE8yCmnz8xekFGRyjRIpCKWPel62xxTW+TDVtyqtSn8sKK90f + DUA6lVVXWyv38Ri1t4IHoLH0+J26jvC5nnAt1jrRj8D/PEr21pM/NZscxZz5BODLYzcFUCancKYzIk99 + Qt74I1ZYX4cLwY0OeKze+dNZ74U/TbzJgDpbAWTyHC+EZ+FJKNeZYjo0aj3/hz9PAY/If1/+DplYxJoQ + rmjH+SbpvPagq/IyMiXcB19fSXW1CRqO2KaD100fb8Nd/kZBiAt5Vovejo7zeLPJQ4XJHEDMweJE7k27 + +sZ5HqdDW/+AJDq8VkCEzCE5Boyv7vrDd6T8iAnB8qNkOBnlAx+YxNcyvhVwmBvHtN4mBoEmoKSKSt1+ + bu461DWCYTS0N8I4jxh0O+9CnaDrhlqn8kw0fIzTiVOHZGVivJXLctByTaGMXJVTRZV40e1uYJ/AIamt + U9u1lrW77fup1Vu9tp2QEolhBWrCFVt3hBOIakjXV1lbsU7WbGZgYnpFiN3ge/AQuW09LT+Tj1HylYyZ + T7w8KiwOkD4Gfg/+7FmJEI20Z/prPpCWfVXAUVfc+l2F7fxtJfIWcMMzAOx7jvYGupoxn+RmzAFpjLow + mVhOICiwJq/+MBPI4iVo1FrLSQSHOoemXSLaJY93mSJ9fYyeJxroWab261Q5XzQPEPk1ZlojU/ZfJtKE + VdYWxtx1ouJdl40DIHCLd/5gNrjDehjwmF76Qsy/qheNIhI8xpcRw5wBQNgorJ6CP+KytK0uzJ6nAA2n + Di7BZP0EQGNKhG51CPpNPSYk/27GTsHHADpr8M+ulUKiJ3SWyUPAUOjiNNJyBrPiwvSrAGi4dTH3zAH3 + RPlm0yTcbPjz+jg4dVR6wmK0Pqnt/B4USxi0CYD8MwDyn2ePBkB8QTjqSp5zagNAzPfZjJXefZwqAMcp + xq+TfuOcPLDqR1bGJLImYY6h0Etw8Voz4h2Z2ir5LWuCCMaZMYVS8yepMQhomQ1kSxVnSGrCCvdTx0lO + zJA11mCHFdYupy/Kl5xC5C4GrK/6rLycJvo2BYKkuqHjKs/00XKmGhditpZR65oTc4PX66H0Vvc4ZLix + 6k4jSoUj82W88/vJ9MT3PaK5awAJZid6n5h3E3NN2413w/VV3O1MH3Z+SKZ7ub7KuqpV1nYAAmAsEZy4 + RIGUPehLAEfqbHPh6j72Sgq3Jk9QUYnpaHJU8IBQB8TGp4l0P/9pokx+M13PciArd1lbUd25fvU/zgb3 + /gxPB33oz3+NThC70P+ci1hrQGR8HjXHFbqPWWcJONPnUV7Be4xfsRuEYEWujWdpFyTyZPP6X8zWLyOH + pJp2SjXt9PH3NKc500di2RdXV4uJum/U77EQT/K2ZLr3K6veHDwqt6k+ZpS1aDgHnrMBEGSsclnFPwgg + rrGqtCfhiJDSyRoyJtz+BhSHxopkvRS3eKvCnec2Nb7D+JHkVqGUcm3r2qYFGEq8+/k9octr1OdhgpnH + eLTTd26ctbqpNF7kotzoXQ91AY+Cg2DoJOCkFHD05mygoG5zv2dXStxY/VgnkoR+oprS3OfPXMDVolxY + jwky3uRVFWocLCUWCi87QCK1x2BmEq9mM1Mk1lXp6IG6m8kqveY8rjsCSHK7mlhGr0zrhM/3yPcTAYNf + f+4aXwQQfuY5gFQ74xsDSD0+PuYpv2thjIK7Hpf4aQj4tK5g8lKbPl4BPNoK634AKU4kqyxNhnB/rqZ2 + WVXtcP9b5VA2eo56ZqOCbiM6Oc+6DiOtCdRyHfsus/IHcEx2WCfpNz07Agico+2g42vkcGH8TaMnN/jV + kyilaBAdXjYUVZKdfLszHMy4pmcgwVkpT09RcXsSD0j4j5pI1uBDnP5Xn4CrIydrk3uvK611tgIBGjkU + vSHIgVdRw9pAmEQOgSPRQk1m390Ho74ioJYDd5KB5T8QAg0O3cUlT6rzpd9iW/GfUv8gQNrLUryQa0Xe + eiEgEKzGqGIbgPwXAKTKpOYAwpPeE4aO867gPS8wT3Ign/u7dUHEcYt9ncYXlVnmYYVk9+/d+8KZIPl9 + kr0rADI59BJkOacan5z2NhMr7P7NJ/uK3xiEtSmVXplAAJCeaizLnlRQEYPcY4UV9RPAECmvUlqQdkkC + PdNHW2GxzsqKSaLbqlsNf0puNQ2SeZXsK2PYo9yqSJMhIGLwo36WycmfT/rl4CwAchE53rH3zPpUzWr4 + K+Id3kROxTyrDkCcPCTQ9X7IeXQA8gi8h+srgYN1lZNHAOT4K7OlU+/i7WtZkVlrOzyClPcxjItRYf0c + HAikN0AyOs1bghVdYa3Q9RwOhMlj/frXZuuXcOBSKiWI9J//KkACcKDIElDGN0nvvcCTkZ3uFIOhDYVx + 6b70vQQrDt77jzQUok4hM2vzNpEnV0naPcfozbQzOfWzPPb4ZTJ9PMh7vBF4vEkR1FuqrRbBY09d9TAQ + sUEvnoV5wuw4UR6VPFrpuO795T/mGVNGhXDTU1LrJJxqZn0NTh3dpGCYqFNGcpa6yUO+gytTAq5jXgvF + oRi//dGK3NahjQR3HiGfG7fA0aYOQWLxtN1OeAER/s2v57rMm3PWaQE21hR8DaeP+Cv0BUBOq8CRJ/F7 + 9kbedaR3dbYKWsIBtYrqNBu6ZUiPN1sFJq5kGgG4PrauPjKBYChTcZUgVPvOIdszgVhhwOs1Pe9OIHyP + TjOJGM/2gcOjMmW5JdWLlnnpl0ml756Mtya5BQ7kwcfjoRNIxZuE7zBAMdPI3iRYirZPsWbhoMRErXzX + yWP6auNA3sEEwjUmpuQ+IAFAVukJMRtu8w7+p4usD89/dbZ2w2I2XjfIgick+q6fR3FGiGj8IHwNV13y + H9sCCF0jk1d4HTH5WKcwuVT3RnvO144yRVIAZZiiVdSR80aRVb6Q0TkOhOTdjc76loPaSQ7cuXfiFXJz + w+te5aOH2LVjTCGAiBuRlVMosY6zhvSey8cpYtJO4Sq9ZwpHJyCag0hxIPHENcWqGwW5EO+hKiuHj2IE + v4JBmf54Q1fX6ZffvKvAoBMX1Ft/9ilNpUOyvBqJLoD4y2DEVX2lWsPmr1TW0mUcBZbtWv5dL8hvACDs + kwUR9m9OICmTklj3B2StlQcggKJJhidWAxZ5ELtBhpgG01JINpaEeiIbiDxxxzqSvNOlvo+KRcIM/UH7 + +y6GPLf+VvCQ/+gBBOE+zMUKADB1eCMHBApAGOGMCAFo9Hz04Dwqh8rwxPZx8iXm/ti2xuccHOEFdfyn + eGFBEh15X1NOqOP++Kx3+VOzyQl6yY++k3WXqinAw+BEV2E625lCkm8l99HFlpjIq9JK4MjKirj2J1hf + Pfl8A49XAQ6uU+/meu9s+fT7uKiwPfbepACPT5B8ypNq5QRARt/G8PRHKZP6LABCoKIcCH3PqrHWr36V + Xg4aAXlf7x4k+kt/DnD8KaQeBVOAipLg8fOssp7idAH/EZUKT/rRO36Yq6LdecGxyzXVd+3af4RsZ/o4 + /Uk6SZg+5um6ej0WI0keBJC3UFz9i8BDIHkTAIlTmt8bPqCKKMfTAMh1MSaessOByE3Y5hfDHlOIxTox + 090JaHjzDdCEm2j7+i70r93o9k67f1E3TdY4nrSTX+UUMP9anrZbJYIBjnPg4IZniGK3plk8aXckcTeB + 5PtFsAJ5rgLSn6FMei9H9lmgYse4FbGskfBpCSjpxEag4seFvM4U1U7/3RQVocwf5+Yvf5JwRQ5yy8s+ + dvgE5CVtGQzfwUbAmJKYZ6sS15WXwJavz3RVAGLoY4vbEExdDboqtEyK+0atsBYApGVXBQTaY1L79odN + H7jQW5x7gDeThxNhJ2BAIaXHhinLjckBpbwQ6NOOPHd9xZqqAw0BZBFEphgGV15CeYjqSjOuobFWeK/d + +FpeN+Nn/oyiNjxQ1wGWuM0BYK54Q5hC5D8KQDAfAlxjppYN106snLzh26tj9/mKcSYCyIVPzPoXBRH/ + /vPcV7jO8brmgGpl9ar2B9dRcsbcpMfHWGM/QSQUf155nBUhce/eT6dHueAkp4fx/ihQIiF8eIAcPVM8 + XKkLIrmvVcBs+nmSytFyA5XzYsruY0fob57IRmiAdWJ6CeHGnb8EQP5+tvEMQhpWe5tPfze115qLt2kv + tYBuzFZiRGPq0r0P/tPsHRgJHyVNsrKvrPv0xGb5epmFqte3e1s1jQGR016MwsdLPRBuxHHK4vek8zJ5 + uALyBz5IRwCgIgdir4bd6Cu4mZOLRcSJkkSJT00uMRRCqKu6UoEVdzorLBVTImYpqVg5uZayXB4QCTnE + g2LX+Hx9hSKqZ7Ku5S30eyTk0BBDyfXOI8IDnWh2vxY7wCEGvjTqPYISjBvnCB23J4cBJ4beVcZMJoK0 + BaKW6qvCojgqBsLmH1l2heUEYkyK6isnEAGkkeWZPORAnmT6OAqCU127xNSxJHCc+6nZ8tkPzHrnAKlT + KJ7sAyH2IF0bKC9GZ32ycVq5+Cskjf5uAYhrLC6nj7UL9JEDKMsvur76U4qm/oQXwZ9keprcZKyGD7Fs + R9Ph9IVvU2v7/YBHVy41hEgfk6e1dhNp8CWqQM+w8mICi1TZjCuJ63m21cNyrd6GB+RNejyK9+gqb7v2 + wjcAkMhO3dljdLMZsFvDMJHob4jLW8d0VFi0aXpiVwmlhJUTstPuYj93OkMSSdIC/5rCpziK2r3HDJjk + 24oyEaCcNJLCK8meaUNFVVt7tYwmJ4syyrWYk6Zs6RQuecu/yYOEREfOW2u2ny3SHXCLmTCyWJRl4WcA + DlVc2f3/SkWNQKJ6M/fw5/cU/ian/+bYTiaXNbm1etN74qpPoHCSk3StCYSe8ybZTce54aFN6JLIEl6n + ChJCpGNS1FfTJRiX+qoAxMws7x1ZYcV06RTWKXl8TBdVWMp4G4H+sMeHf+tWfHP1VXP6Kwrw6wWk+FkN + UMz00a2vWFUZTVLXHpgIKmMnEz7OxN4p0e+bFzhE8NiuXfvKbPRU1URHNXWD7Yzp5ByyzbzaBwdikKIZ + cQGQVhW9fgvPFNNHFFO0/q2SGbeK+GWV4NEh1Qx9DqFL139ptnz1U1yfnPWufCqAoqF3TCVCBx6mmrt9 + 0Eg8Ogwn/Bi5bEeY8jygc881THXDFZbUAYbtEYfd0WFWWG5lOi9c7onm1DURkQGaZP3NI51Y+w/hmd22 + OIWODsK7XiYmiXTv9acKQDae+V4c+Zu83QREAiRMXTFDEqKKE/3HAMg/ASDWZ/IAaTayNlKTkDvOXJyC + eBL7520jTVpdowCiP2Ct40JCnHOqEUCcPEBT0TESWKps5Uh0rFvhKGIavjhKl4Ax1dWgJu8RANFkiGlw + kCgTwALjXwpY4ECMNxlsQaKDoClnUYqWHgqrYlVeMYmYtktgYU+/iLElmAaXCP0LwKQrBIQOL0IhiwZF + CKUR3pPhSXJqngAgmHiGR/neGS29afuL713mSXDip0N4JzXXBkFyqwJMejpM1BX9ley63pI87/Kx8HmE + OOf/1lt4FLiOrKycPM78JOABgJz/0Kx3XgBhRCSxc3ScUwhPPMfbOFqjL/9UJIEdgKxc/YMqdsLsN73+ + h7Pll/4YMh0z4T0lhb8GcUd/+tPsdFWIvEI+kBHXz6EaYXU1oplw+M4fMH1wEYViDMrqNaYaHO8reFAm + +F7u93v8T0wfb+n1uJ/vKBCp6/VrK07KrltC+DaXNCuXOYBAILpukegVNLzRphKWkMItvBcVaf4T7Sar + 90KTYXfz74jyjtQuiel+/AWuYhJ4iFPcfXspi5Te6jhvb7s+nU5thDs68lTJyGQ8lSTyoVcHIDjYd0/9 + QUBOJ7ogIYfjNJKfR6OhwBGjIr0tAMp0h56OgI11sUqWS7ZcTnjz7cotP5fMClKnqWfICo41FryFwOEh + Qed5SqSyUq56Wt+ukLElV6l3RFNk3PI8DgUglnO1CSSdKh2AYOREGVUAYpiiqrNFAGnfU3uc3hpAqic+ + P0vWVx56DVcsbtaf1Vwt+88nryHdDYA04JBEvw9IOlL9R6xwARtWuSZZr1w1tgn/zSXSfJ+CU3zqK/CA + qPEwEubnAEQk2ff7vIgXhKigboX1Cqfza6i15CiaiMgJxFVTTSCfBDx+JQCydP0XZ0vX+Ps1AOUq241z + 3BudPBAgGRO0wqRhnXXSOB6n+ZR7gWT7xhnA8vyXIfVJVSB3a/MsB8mrX4T8hts8TWfQY+8mo47fp/dG + e5Mk0Fvzau6R1lZ0mYCoV00AcXI14t3JXZmxis00mAogmUC+N9viyltWWgEQLAbDwy9VFtY7PlIAsu+M + GnZOL55ucsKpt9F7R7LXdq260lkJ+MMERDKFgLiorkKaNwBx6kidLaa8Fd3pkukAiMGKgkuc6Tu0qqWl + kNj0NBgSUshpyhu6psEorxJnIpCUF8R9vMGLFsoHCBzNdJjjA5lzHEaSOAlg7ItCCk9Gyp68CGrU9Ndj + 9dVfIRMfPiYGRjrOB6c/gqyXiYc+jv5x8p4uQ3Yxri1f+cXZ4MxHsuJaxuinB6T3RFXPxgAIz2EWlqqu + JZ3t+jwwJsZ1LsA4gbjCkv9AZbVEcVS4j5PvBkDeN+ud+gATyM/Mehc/BogAIGf5BZ2hAvP0x7IfFTz6 + Vz49619FY841vAaAMG3oBVm9+oez9QucUs9bNPX71Ez+MT3pfzLrPfMf+J75/09/HVki5OLzhM2pUDGd + 9J45Qd9p4EG9rR3p1t8i/51eZxVGB8kEB3zECZk+HiTNHxZX8hYd5q+bPhZ9Ht3kUWur+0DE1VSkpg08 + JHvHnJT1J/CkHyO7ngOIBjsjGUKaIyHlZpsVLAod/54WO816MdYtAMdcYrogK+Vm1SmW3LHvnsRIGDmv + JHr5Pyq9YaHjorvB3TdxvAV4dBNIy8+qeHcc5E4Q/tloC+PLYzgEGNpU4Q1cr0VAsikn698l/506OkAU + wLqQx6qu9uM9EBpDEqMsoOtjbLq0E91ky3Tdlm+lt8ObDEVRk83rxYEQJ7JzQtf8lzLtmcNV1cB6ayzC + KrFCJpCmAJs/XvPpTiAoEMn39xYTiDljBR5Oas1/A2DaH+6k1kl7N4niCSgEQCoY8b6rU2R1EwkfN1ax + ZR3uLaZM5bFnfhve8Pdn/af/gFUuIMh0s+s6sE0hmUCU/CLltaxt/CorMKqid/CMRD2ln8PD9FFqvuFA + NATLeyxdAziYPJaufJzrF2ZLl3iNnSdpgs2MnqE0uXKN6VMyZslq7dQ6wMOuXiKL0FpxfSkXScWGp5zc + RXV5G86GDcQ63+e6dALci7L/EdFRCaIlvbx6krrqC9ZYMaVaJEUcDmtJ00JMcTb1e6WR6E5WTiCZPgSP + p9rFCssJZPi4HAgTyDszgbDb87TjyCxwCBiSc/NLSW8DECYUpb22bm2c/vUAiFJPyR1XV6uHP8DEwQoI + fsMHJMhKxImxJk4kFqHIj8TzYZWj04jZKnYDpy8E8k4PCJWLEuxDSHQBRT4kRDqqAc1ifQ2EKrAgxztg + UVWVsiYltSqh8GMsdz4LbuLL+yl8MjTRDnQfQMh3H2SnmglA5+pIQ6FGviGy3eVLuEi5mfcuMQEcBVCe + wAvCL1U3uqGHvSdRTcVFbn2tYYpOIoAVnIdXOc0BkZDnrK+8VF05hRwDwQUQOI8e04eTx/KFjwRA+pxI + Bl5nPszoy1vJt0uAyPXPAR6/zmTBjvzC78zWLjNuX6QgiYj11Yu/BYD83mz53h/Nll/+Mz4X3cdICsdP + fY0JhGrPZ1ldPVepva6w7IqWPBy99j1iUCieevlvZ4PnvsYeVOXVJ5jI+Fm7Uqg3XF39a13mD19bzaeP + 1lkx765AXWIy7pBTcrXhEUvNC6AMca61dqs5DyVSTFGtgChyWk7rdXOFo0i0RgHB/FQ79yRUbHitaFRR + GdVe5sFwIXPA6AyFksI1tbiq2rshdjfFJoXsJJEPe5ubY62XSiJslJB8pBla3ogho1lt1feumoqVShze + pawKgORnc322AB5xejcAiYu4eIR4TTgsCqqunZTnajxLNlJaCC/X5NGAo3rYSZJIfe9HI08W0JyIEjlO + ZlynvtKBnt4K3mZaU4XGFNdNbPNCqYBtq7GNZPTNHi8BUBVWKbi6yc/fkXxUkfTFjdiaGeVVpLoCyMIF + 51FrrHbpUkfq69pL8+EYY+3qRU75SpMBkRGvM7OoAiCQ6+GI5YoFEB3oKJXWnxGwSPx9lrRrSHhFRdob + lN5Koq+gohqfRsEJ57F0FRBh4li6wp8v/+xs6QLkt9mBxNwYSjs5SNc9tgbtBh5MPcRKttu/s3UJ8cMl + wINCq61rfwpP8ydwnxwwzrl9+BIXHST4RrbkthAymUm4Yhr6Qe5TtCCOMWhrnUgne9pdqwt9zLbH37NR + O/LZSpidQNbpEFp/rgFIQKRWWJtPoXLDDjAin5AJ5EessP559gjfVAAk+1NBRMBooBEQ+YOQdV5W2iad + Fx5kHQAxsngVO77Th70Z4Th4IPLAABxekfYymawAHpoM83HwHT5oaxJGRJ0ko96odC4zszrACIioGDC8 + kDh3iXSNhdbMKkUbUhU53IFwhx8ZqMZKdEhze598JzdpFE44zJXULkNuJ/W2xZ544op5ijXWhAd6cPIn + AQkmkePvRwlFdS38wfK5D3GTB1AOMXmcfC+TB450ZLwCiN3lApSThuAUzqPFlARYBA68HyHbnTqO8EJV + Aoz6Kl4Svjc/dwDkHNOPU8j5j8z6Z4kmOP3TAbTBSRQ4Fz85618AxJg8Rte+MBtgVtKYtA7vsU4+lpK+ + 9dOACk+i/rN/NFu68StJ2R3e/Q/scQEQyD2d556SRq+hTEHmuMYay2IpifPhy+RhvfQXs8FdynguEplA + 1Eli8QWQpYdJdh/s+Xhg+njbPR7dxHH/5DGfOO4DEACCKI+E+yUdVqUQzxcAY6CJVFKdQ4Gtap6C7doo + dRJKQkjfTsraVTd3aqB5kJ83V818LYm6zFSL7YGd/LSLD38gCHB+E/wXAEcHJq03JAAQgPBtpfd62t93 + GrBoeVJ7PhKjh7oW0Q402ooocSECx0NuzK5fVGMxrWSNxfrL9XEVEq1lsnONHOLecMYUa3nAY/WsDwTF + mWujkvLWFFSTh22OxsOowhJUPph7SU1FCgu673HPyd+pser7fDOg7XpVuv8r+P9pGSf5XubcCj+bLvH7 + AASfxxuDSK26ppoPvYj2Gd/4EmsocsSo69Z7oerUyWPnHBOhE8gFfj+qsLyQ8nqjtTZhDd5gl383y0rP + nMKi1aPc844ifDkDl3iRiSOTRwOPy7yf1O0VcwIf4fF1C8OqX7l2Dr8IbeRDFSvtWFZ1GfC4QhQRZW8b + N4wYItsNc+MWa6zNsxwiAZEtKje2MRdunML4rVgE3tk0C5O9vddGoPQYq3oOzUbjJNEZmbY8l6kHZmGt + UxGx2gDEFVauBiBOI0a4RL0XJ/oHf8QEAoAwErk/LQBpK6tMIXWp6KhoEwCkxbsbbWK4ouYXSaLpY+Rd + EfexYhMhia1ZWVlzm9YtjEbGmgAcorMvcqNNREjBZcqfbS7UpV4NhkwBmAb7+DNMfh0BIGM+9wS52fhR + uqmfxBlO6dLgIPrlA3cAECS/utZZdeV074WyaRmEXzoG2ePfvZmzakoMCkCk/DdtgtyQnGASoXKYGzor + pf5xWsMY0cJ5nGG9xA1fs83yiXcDIBj+Hsc5Dg+yfBguAyBINIkrK+NKXFlpMLSiVh7EfyOmRBARQJb8 + P3o+WIXF9+HnB6QEjd4ZeRAmkLMNPACRPlPI4NInydOBg7mClvzm72JU+uJsdJlod5sJMSTFTGQsAjWz + w6ufBUB+OZPI4Fm6EZ51fcXJSgChnS2RJUwga8/ChQAgBjGOMUD18I4MbhK1INeCosO+iKXew1ZX/wLp + 7kOB5MFsq/tXVin46lZWcwCp0iPTRH0ReBL2RKyPYcqlO7tkqI8wzaJW4qYmbyGPkEDF5sOoG271T3QT + Q3fzClfRJeu203qdehfNfl3q7kKC7Fve/N7OBFKrJVVE8Uw0EOlSbws8imsp4CtCvE7k/jyLN+WWbPtG + 31eAElEAaq8ioKsYSuOgarsACCut3FTsNtdZD8C4wvIq17uBigAIj23i8ZMmXFdFxCA7lWtiyikAqe9/ + L0G3M1EuTiBvDiCddLdrTvV+5SHBz18A0mLhubF3gFETyAKAdJNHN4n475oN9Y3gXh+/QDIDVbhr5znx + 67AnhWIHdZfrq91wIEx6AZBaYcmDWBftFL9+VwD5+h6AMIHEwyGAnP55thkNQC7/HNPHx2b909wj9eug + Pk1OIIch1amR4LJmt0bb7g/vvYLH9hXc9kSmbN2gGE5PCr3lrrNca8mLuHZL3QZtiJunS+y0eZIUCVzv + ips8wHuvVSg0OcT9Nq2EtsQ+U+tKAEbg13VvMZ3A2IFHuBCmj13bGfWBCEYcuhdIdKs1mTAEEEn0mKka + cCBrs2REAIlCq3Wim7HjgyxJpKRMDsHujyTyKuHVDxIlVk0fvt/oYjXL8iDpmk6SL0Y5x2PjTPCAKCEc + 43pVoaW5pX8I/fkTgBIdI9PHqMx99NX4JAaQOGqXY7qjr9yMrf5BbtpwDLlBu2PUW8GfI5uVgzC4EI4i + LnarciGbjIc3Gnn6OI1uJ1BBnflpOAlIrMMCFUByDIktU4Pfx7KfT/DwInLEK+GKjJsBDycf11lOIhD4 + y049fk2Mg2ZdxUAomOk67xzoAogTSC4ASwBxCuEJ1j/F9HEBxQPrqwF8zAAexGiE4a0vEpkAWLDOMt4k + AWwAyOpp/v0sa7AXkPO+8NUYCgdo08d0fUzu/QNPDADDis/na4W1ylpLU+EYjmTw1O+FXxmwMtO5Wqqr + B0nzt8F9vOX0cb/P40HSPOurB1ZXmt3K5FaFZDmAMOqvEDVj46Wnoe5jvNkZ0+7N0RN2br5zWW6XoNsA + ILLavRTYSn315O6/L04YHWAs/r+H/N8HP9fb/XvI9gYGAQp7RIxG+VxI8eI9zH+q/u8uAn3PT/H6UMLX + /Vzz76W+lkbJXZIm4krHMyIZ7xpQMNYfs8KNRQBR6mvGVU0iZIwlPZgbmwIb5dEWdAU0agrJZTEW/8/Q + w/r+5Y4MVBQAF3vRG4A87Pew8P3WarC1piqP5nfq79Zo/fqcXbglvSB8rAGK8xXWwyaQhRVW4k7gBae8 + PpxARvaJXAVAVO3h/FbWa12t4GGu176LrA+pv9iPjPcAQOKNVi/V1k1bCWm8ZOVVdgYAhKbBGJHP/Byv + aa4LP8eG4aOZLOy11/dmxp6+G7cpchVGMk2IUnKC2zay5PLXEqeyT6uFoY00IKbAiu/BHpId+n22aRPd + vAKvxe9z4zSGUngcD/h2OG2y3jZ/bZN6XNdrAw6YG5oSlaCnG6e4K6OoXD/uhwvPCovV3MZz320qrO+G + 7ykuzSgTnOgdgLzzY3Siy4Ho/wiICBzIAHmwfMACHrZULQCIHIhrAbN2VtQjP0bG1ROcVACDdUtSOgBR + zmtir74Q3u+Dq+FF1E3sOwCSwim4D9VZGloc5+RQVGmF2GYSsJ/cLmF71ieAyIgppHfkJdr7WCXBQ6iV + TrfvYcY+1kq5ER8n+NAbPsY8DXtGj7jKSve46ix9H4DHiF+W+8KxbnPUDhp9evAHxpYooxugxuo/CVku + lyJokN7b8+0jAohrKlZTkuUaBn2L96P8IZD3kvbyIfIvBidqJhTMnEQIZcx0dBKfxXlWV0whgsjyRb42 + /Ef/OF/3DN8P66vBZZzIhrR1HMitLwEkX4TkJ7DtolEIgAiT4OQIKrcbvzNbfv4rs96Lf4Kc124Quj/o + RzC2ZPUZZLqAh9eKYML0YXDcCLXJiPWYX6t3gHXfPK/qYaqrNyHL39Jl/gaKq7jbHzZ5UHbEZBFyF7+Q + GWVTImZ84a3KnR16JxfjNFLwFCKxv1dmqldBAPH0Nr/BcAPaA4W3uPnPQWQROBZXQg+AztsFijf6uPb1 + ssdvyb4S1MmSUpILmNx3yu7WU/e9VQr7dr4vAYQbIFNZTrfW6jIxmGWVvhGmuDHiBNdVnpAFAntAqsuE + mCInEOTMWWPzf6tfxewrAcS3BKtqKsSdXynDD66wGoDEY+PvpEvifaPvvQB9Pm25fouy7lNZu5f0ms/J + zdWPO0Sh1x6AmMT7AAeyOH0EaAQQOBAk7BGaUInrwcy1sI9/dw/cx3QRrxB1r+kDIXQxAMKNVkHKrkGL + 8CTmnwkgkueZQACRAAjg0T+POIZ7TDwdRqJzEFKlOiJCKQkYrhARMawgMNpgq2AS9uY1Xfyo/fj5/Jrm + selBSRMikSMCyA5huK629tNbsuWqi/pxV1kawTdZgXnY34azdioZ3tYg/plSr5kQbYaaBnGbEAEto/e3 + cdw7Wa0/rwILM2HWi+33w3NnPoHc+6kf0QfyzxgJC9X38wDsj/nIi0TeKFZUgxSA+IsT5XaMT8BoaCBd + otoBkRXiNlZxTtqslR4QHZI8eDWJcNkPwgOrkXDKxKDWWYI9qy93gCCxKbyTQ6iz9IPw1jWXo5yGF2NE + ROsRyq0k88J7yEPIEYwIOhxSEN9HFdUDOHonUTbJVZyAAxFEnEqcQAQQV0sWN5nmi7LLzCtlaZrtLJEa + QVp5+l8GhFRByYWMnkBu69SgAsv49+6CJK8/CyCAg6S5KyzXWZZE6Q9RpeVk4lrrUT4+SqwCkMh4fdsA + pM/0s4wSq3/6g7P+yQ8AJLjASfYcXvp0CL0RT2zfDm9+cda7+7uRFsefcp7K22M8MZlGlPU5gSy/hBKL + VF5j3ackizqie7JQwhsAeZYmw2f+munj6/l84wsozfiaSwN7zd/O6qoDlzeop31Tz8fC2krwaACS9dXi + 9CGvgVhC3sMwQXOrnDhck9p6KaemKGMEfxZZLyCTRj5udFYRVLKo5Crx1N1Ecd9ptyLEX3/5Yll8/4M3 + tzf6f/+T728TTxkP3e+z606WFqdsXnNZ/8wBkMnoTYHirb+HyJPjSjdckWwlO0K44cdTg8pNL42ch413 + 2RS0oqoyTxqjYs4YE0jL3UrCcTrQARCTiE3lBnDmkuI0N0p0Cx7ND9KiYfJ7gWt6+O/Bn6WmwUpBFmCL + +xDEaiozIRnwYLVSH0v6NNEkFeNeV8WZACT4PvJ3/5zJBKVWc5G7vjK6ZERe1QD5+4TXVGqL4T5yoOae + 6I15PxOI00fyoviaW3crEkiHunHviWTHAxIj4TH4XngQ49zH3EumpEmsoJBa5dC8qqotB2c2J3C6qU5G + RWhr65TD+AbKym3kuvsosMqhQgBhbebXFLj8HvY7hbDWEkC2bwpqxM5fRWUn0X8BIQj9JSkDNFEEELGb + ZvAUicxwJf7eE4Pjqpf35znA763j2gSQHUJVbSa8/3dDsjdDQDiQF38KFRZZWI9dURZXDWr7GW0Fj1zz + VkJGUYl0SUm/cFQtmAft67XzAJ3zKjkuK6h31kDepPHGki+IVH59JG3Eg7h2yAMYByWrKU6QU/gH+zYS + pshNYmrrHw9sOA/RGR+HOfYaAiXRR2RkqSqI6Q+OYIzZZqQTU5MfN+W8PcINH/CIYQ/1U1ZJTgy+1UVu + nDspvANO+XotRscoqD/JiZ8VkKssZbUCyfAwJ9xDTDYJUKypQ1Nj+kMkz8N9OHmwtgIk9iLc2SnbD5L+ + jwYglkc5CWkoFDgAuHyvTDuqppT0OeIO/LoAmU+8wbXPRnU1vPL5PLlHlwUQyPJbvwF46E8hZ4cda/8s + ig6kfsaWLL/wNdzofzpbfhUAoZ0wDW2csFYBjTXUIquosWwyNK5hcvsPC5QETv0yyx1B/jCz4GLa7r/U + df6gbLeBSAcg94FHBfxZkDNAah3eQ0k4WWlR7T2Gmg+tfKfqc61lppWyXk9vBib6fM0Nhhf2vIPioWDx + 1jfcN765/S/6vwGQMix6yUN6o/b1VkGEAmBbU73pzfbtfT/hUJL8yyHRmJdU6hquyOuDNZbO5BRI6QPh + RleTCLW+SHarFEtZsV0g8gR2rFj3a4c3CiwBJL3oTCC5f+CZmQNIAeTrVopv+DN1q8T22Oi7AUD8GloJ + 8th04MrpvACE7htOzVO8IPcByCKYBFQEjzZ9vMT0cY9OHfpE4rfy9cChbYfI9Frfc+879xUAhN+HTvSs + kgAQbuTbtwAeVFy2FvqxSSlHfbXG9OG9cPU4SiziiLqG1pXDEOdsV2Lgo/toxME3ybn6mzDHmkS+dob7 + 6wXuuazEnCq66cOvN78EEq6AGUCyfbOVXxlL5SHEFkVKsLyPh8vWHM5aqw+AyJc4oaeW2PBQDgI1gfxE + W/k6ZQnIgtUDAOIKSw7EMMUXI+NlAtFIGPUJu8o0ETJ1xJRUWvTdU+wBMQ2lkEZdfVCLCwRzlbVOxPCa + 5rNzvMXQkv5e0yJP/xajGFJBogb0iShREzACHrx1jz2lZCoE+i4XPIaFU+kLkZ/AJT6wOz0lUpoJiTSh + u8Oxz4A/5WQ9Tu/j41yPop1WFYU0tneUP0NQZ0Wk34Lpo/watv/x1rUSQJIO8mufTsnL6Ek4EFdYFN73 + T6CMOkl8+Qnc4GRSjQ4StY73IxyKIYohyq2jBTTS/UHGVnpAbCK0zrb6RvL3TCF8vEowXejNB6KRcOkE + 09GZD2bN5trM9ZU/j6PumCfy4BpP5Mu/yuTxW7PRdQhuQeQyqZ43fwtPyGcADwprKK4ZPfEuAIUuBDKy + hk/9YYyEvZf/HABhwmAsn5h99YIA8g81hXBNnuXfSO41FmV0Hn7lxPsrov1N3eYPqq34ewDHt0py3+zq + 1levnz7u5zwaeBC7MEDooFxwrEJP3oOVVSqTuaqojD87ATNF+oSuVIPncmPTkJfa2TTgyWe0FdS/pbdd + j7orGipZ66KYCGLbG3s1+RXxX1WwCwT5v+bn4PP4tSIVjisd2aqd6iivdKWbu2XESbwBtN2tWYqV8qpq + dJR4T6yRHpWssFRiVS2vnhAnF+XBkR6fKc+NNb9zM2H8MyVmuK/S9nU/U9XeliqNxyLy5a/m6+zrfr96 + Xloveve5tih6CgdiG2Emjbrqz2360CdiZhb+D6eP8d2vcR/4lYhTDD0c0Ci4frF44KhQ4UJ8m5uz04DJ + zGkmrPpcyXU/1sNzTNNWehsgC4jE3kAm4Ap8sAkceuPsJh/tcvBhuu6aPPsYo6fUNxjXnh6VyJM9ADU+ + DoDcR+hjbuweKFolsECyc91QTicj1lyu1zrnf8yuTCTex/n+Bs8hNRZA+P2p8EsW3FH4EiXdCB9K8OBz + rq0XH/ydGOcugBjnbiPhu362JpCq4iz9ebWqeXLwCeApwnZCV1hN6huzoW71SgF1PFo7/1s4ONEkX/4y + QXycTuwRYVTK6gqj4RrTiprkFYtn6EiXB3F95M1hhPrAk2ZaA1HbeHmiFECMLtETkvInU3M5wfeR2ToO + Tk58DC31R2ajEx/CtwDPAWAsn2AC0Z9ha6Bkuid8FVP0fTgt9IgfUUEVMyDBiP0bv45Jj5swFa8jnOgC + iIZBez8EoiHg0T8khwEARMnlSgrPh1I7s7XSeU7CbwCEv3ed6Mh54w3x/ca4G57YEnh1s5vAu3TqPbMl + XehKeU879bDCQqUhaW7q7vD6b+KEJQIa5/nw+m/wZ4ppABCnEsGjf5X1FuAxPguQ3PgCPhAIdgyERrn3 + Xv6L2fJrgEfiS1RhoRghJG2VnBu7PqaExOkbGV8AoIhJWSat+I2nj39tTMkbEOcPrqy6aPGO9yDxc7xN + 5D+iC7tZVO2ZE5TLVszIxJEochCxsVJViSfmdIG7+gmB3m6+80iRBwjxfxPv31NV7ec1pvQ401NeyP+p + NfctEOX/2u9ZQ56S5QDIXsmUk0OqUfXTWCBFFlY6PojvrtDIn21TyCdyel1/BFAxgXje8FiErEAkud5N + HzWBqMLqQKR+rpqsFjvlH/zd8G98r6q5AkLGsCQBmKRlDrPel/J557/jutHuo262AENDYQcgThzd1GHU + O8qrSHe/QQQ7HCDTvakTgsfovG2CmIjvsgY6yz2PLnQJ6X2ss2oikNA2y8sVEpM8HMo+rBA7Z0mFwNiY + ym8BRBXqk6Ry+Hdrv0nVNQ9Qy4CbFu99qUdgfWWC7oSk8k2I7pp88B+19Vzk5EbI00NygDXWQddXAkny + xNokIi+Tj3GV5fNJtV639uNxV9nHY9h/9W+L007KQaVVp56YicTfcbZQrb7goUISPm9kvHsAUn0g+QLz + KaSBSEZQp5FuhVVTyF5/s3EGGK6U89Fct3H5j8jk/6PZ2pWvoCBgWjmlOxJks1OCddUU+VgmD2VkqKzM + vNLMkrrOAIcuSeWaOMR1UXoRWzI4wJ4wkSZEmECcD1A0DLnprfDL6ZMjoyN8iKTXddDyMXgF37rKAkTi + Fn+UfyO/qneQqeORu+n06MORyDU4gSxzJeTsDADCSiyGQfpB+gIIHcI2B4YYdxVlWZSgIICQtZUI9wcB + xCnEjnNBxKlHdzry3azTJPRN4eXrL+lTOY1hUa8J67beBXwnrKXkPUzdHQEgxgtMTOAFOAxSHPLkjqJD + AHFSETwBmPH138p+s490d8gpo/dKAUhNIEh4mULWaE1zdWWL4RQX+4RqXF2uQ3NtVFy94frqLdRYbxpX + 8sbEeXwm9ymumD7IKQvvQdrACANpVpoePNi7KrgQMKxUTvCcSc9cq5SQhWDP2uXVHGy8MXpzOTi/Sf1b + BI7ue/JGWT6T1PBm8vCU3mpg7zup/y/4OeLo5utpQlS+z1Zhy0gSVhhyTcp5k4fFNBcAMaa9eT0qqoRO + ENz5PtZKgMN9oHzzY1xnmaHlv6skMz339QCy8LO9JYBAGncAxBTjyXlftiGYFI12T1Bkd0hoZk5WlVlf + LQJIl43VTR7c9A1ezPRxG+KclVU6zC8YnopknknEKoTNS6pPiQ9B2bQPjmMOIFFheeL/m8h4t68SBS+A + 0IEUUzWr+ySQE4TYRTutCSDwd5Ln+pg8NHdKRxWh+ja26ftQOpxctcazCBb7r5JGjO8koZKGOVJuFd5H + A6qrrTadZEJZ7Jhx3YZqK6tDHr/hq6TqOhU6GLT7uo+ja1N7bDRNdtH7+TxZ+y4+5wAQOZBSYf0TJLoA + UkU21a5Wibxdra0nuS7ipDKyRCsnj3blfRhYnDYuE+pHperadcZMAQXVldKxVR5MiXL31xMiTpw+sqaC + +OynDF5nJLW0gIj+DM00Q06fOjI1Dfb34/GwSOogRDm1soJHSuqJN++fIEuKm7OtWgOa/Jw+nBx6fJyX + H6/UNv/3EB9DaGL/cdRbAJGkdY/pY/n6p2e9G7+G4xyZnVOApDsBh3o+DHRcOsA6Sn6jmzJ4m9gUOQ7B + wxRep5EEKfJxBCkm2sTSKXOvBBDzsASOgEi7XLGZhcUkkjwsVljL135p1r8GiQdoGG42vfB5/vy5kHoj + otXH5GNFKebUJHgAKj3XV2T2DJg+TA91HNcY2GOFNbHik/2uJy1VVytPEVdyl7Kpa19iyvmliAeMhHk4 + eLyB56NbW3WrqzddYS2aBNufw3sUeBSA1NrK/buRC1YV2/+itHF86IVIt6eHGf1V/D1hSyNkpOuB6Oyt + CvhYpN+mx6oayqlKp3bWG51TvKtP/bf4tgUdZgvADbe53n37/8j331XB8viYZptYE+W8nED116gGEgRc + B+q1caqrwESJcqtyuVhdGT8k5+TaqgtS1AcisLjqTtZYq/udZ4dFZdbiYN70d9MyyfK9dtHtEugmAZvN + xymdTchez0rz63izAyADHi87ceytsCb5u7xHcR/xfvD6GF2jKdAOc6+WlDu6/jupR1i5AXkugDCBSKjL + daQDvRHZroyGr313tn4b8PcmnBI9yHPvedRRhzhvE3MK9Q6RQm7aBuv6PP8zfazGC2IL4babHddXrMQi + 2bWnBMf7LgbJXSargIgrT/mPGF3lQZw6ar1la6KrQSejbhrJ99rywzQTu6aq6vISSCVzjfu8HFalSe/l + wnWely5LzdVdxE0plIIDeVeiTIxDMPTMT9j8Hq6plOop2U2UO1KvNKyRKZQIa5QQ7tCQg5UmmzTY87ij + AQ8BZPU6Bhfbs3BmemqcPorkUhkup0k5DDNa0sFMhlUiuZ1CdIYTVaIzfIAawfwrY90NN9TjYVBY//i7 + C0AMOcQ5rtpK+a7mtzE8ynCHNZX1tK6n7O9AAjww2+oRlFyCDN4SPR4BGqaXZdyhAsjyjc9w88aAd/Hn + imwXQOge6VNAP19NCRzhPNr7AiBcxqP4/rjgK9IkHecS77YN6kJ3nSVwHJeXMYXXaYk1lnJeI01M4zXK + 5AbT0PXPziYXCEcDNCYXiW+nxUyZ8TgJnazuDFc8ywv4LN3LrLb6d3iy84TvP/MVVlhfI333K+lEF0DS + EQ2ASKSvWmN7m/wc0nlHlEUpHhg8AqH/UL/HIng8RHG1yH28bQBpiqv7wGMBRJxAfU5YHmYjJQmhcluT + xzl4PIEBCpnyBBWLHfF2LFjzu0rH+yq90vGHWHjESToR7QkU7ADkfjPgXgtgF5z4b+BtokyaUdAX+0IH + 9f/a77cMiF2Xuyshc+5cC3nzj7kNU5trqAQoCiIYzRKYaGRJ3lpdDdgoRWWXn7Rgu+UDMKxsmEoqu0v/ + REXHVK3tXvBkelWar+XhP9+D9cFGt0MId8GudqGgBMvnXozfb6fyOMwBjGRiCRgBDldXBCdaOkUfzpjX + xJjU3eEVJntUiIlYJ4NuiPpxdANBiom8qBQ3iQvZdq2ksEiynMkgklpv8LwdvfodXlt/nZu/giF7OlaY + PqZHbBVldUUPkuCxguJ0IufLYWe4xv2ive48MMnp6deIcdvEX8QfAsDuNVsQAQbAQ3DowKKrVu7iXQQJ + P1ZO5oDfW5P8zqt/m89oi8K46n4SRIrvjsePtwohyrPTGVb9PAVM+R0JWkx7CqHmTvR3fPiHs0cvtSTe + gIdmQsMTnSyMcodskaWPbhhzjcU5jrB5H2ACkVYdyexSz5Olf9U8/a8DIGiiz2FsIVjMrvQpyhn7zg1Z + HBJP4oPmCFcA4iRS6ap9ww0TosjEYR86l+ChnHdy5ANk5H8AwheDnaY/Vk09wePxAiXbDEX48SMvwWOQ + beVEQqJl/+g7MnmYoNvnhukarIfbfMmb9iVA5BrRH9y4l28CIv5d+S+mv75mw6T5FlGeUEbCGTNpCBrh + QRr34WorEe4Vo5KoEqePKMB0pbMaEEwkz3XJm8abSYSpJHHukOl+7ausqK4zPl+g+xzw6MN3GGuiqVAQ + GcLReOPX/b9yBrDRUMgEormw/xQBcM9RyXnjK7O+tbYv8+SmF31Ct/P0WXgQ2gunN/8I7uN3kuw7IkI6 + PSpvCSD/0qDEjkx/CPfxwPSx1E0fxk+jhXfqHJJ7pnBBH5DpAAEPpI3W/BrNMHqU7oszFGShOlu7xHOM + ADvznFS2+Lz0+Vs9FAvO7flY/28ALB76vXQlS/dHpvyvBY9aXVUYoTeRrwc4KvIF8QvKL9VWaTQ0C8sJ + Q/ECf048iZXV+GzsPddprucmTmZ8Ik4vAZD2cQl57IIUkwTwLwGQlpPVZV/l9CyAQGQz2SSOnp29kfp1 + w+tOzMUJuNaZvkTGVQOQ9IMIHjrO5T5CnGMchB8cdesrD6WEj9rL4dsRfqpwI4DI6lUmEOJCti9gJqT6 + QgBJvXHI9L9EoMIk8xIFU6xO141Y79ZXEOJOIINTvEX0E48bClNVhXvTB6IFvG4r1NyuwSFvq/bCl7dz + DWK8Aw+BwzVW+lNq8pDn0BPi1RlKrdv1EkCqCG0PhPN7B/C2cbIHvFNh7sbJwUHFLfdr7u1yLwH6BXCf + A0iTUwdAOOAv3fvJ783e8eHvAyCOM8rV9kjyWlc5fSwCiLWgAghSPpVWtKIp/0q5TToIvkKWPgDCGsvu + 7TWTYiPfxSci+rqOYALJ+or6RRN1nUJcY/l3E3hdWZlrZS+51bam4+o2H5/A0YmW2pz8wdF386ADAiTi + DgCP4ZF3sOow6oTLQDJI+sQaH4UUVFF1Ao27rna4EONPnEpiMBRAAiJk1VwhJVMQYYW0zCpLR3l/k4Yv + gsiq+raaBhPG2HEgTiIWSHUlUuZgGV+SOBWIe70nvkW2GzDRL2IHiOR+60DPNAIXsnwBHgQC3e9lmXWa + U8jyNZRW+FHG1Nv2iTkZ+ORmP6tqanKGnhBqao1sXwVIpleZQJhEBk/DQRFLPbjHvvOlv54NXkElQqXt + 9On/xPTx9dmU1ZUnruRraRp8W+CxQKK/7fXVG4HH4vrKfnVWVzZHTllj2lvPBDk8AD+GKGL8OL9XAGT8 + xHsBD6YPeuFHh5gm8fCs8KJeu8LYTQaQBUwVS32vODmfi+7e4wFZbMDbe7Eturj/7fy5bkz/j37P83WQ + h8b/0JoDbWWkJE61JK50p5CssNzVt8gYJby+X1Nhx32YIFvArWsd6S5CmSrb+nAzI+sr66aPB6aQednW + w34/7TGIw9xJxZWXaqI/zu+6S8uwA75KwJrDvf2uD/J2DRd1ghLnxDmThwCS2BIA5B7cB4VRw259FfBA + wn+aGz6vs9Gt3wNAcKXf/SPMuciqqbXVlxEAaa7wfG8Q6tvXiEAnQ8ookSrXYwJhfbXCYWd6RK8bz+HH + MUYf5DkNVydh3r3urJuwKG7C6zfJurfxAN2imx1vRzdR7ANI9HzYQdL5P+KGb+bC7jkTc2G79p5HjUxH + NLFKy+Cu/y+PqbRFt3kSROh9tzLA5IAACDxVezydhAqUvCimQ7RiyO3S8z/x3dk7fuYHs0fNwnKUSSIv + EwhEeXEd5ThX7pVSHvoQlPDFTJSu9M/k71VvKYBgpLkCcFDIsmox0TVqV61exKCi4UsEHhszzPhWkexM + IYQZZufN2ipqrFTZ0gliNzonUSONxxYrYfbz5N0/xdrqMcAAXsMpY/R4mQ1Hj+FI16TITjZEPdELExq7 + Bk8icdXVzRprwI2pz+fvP0qaLobDpYCIJ39u3Jz8M4EYt3wGSSu+DqcPyS27QwSQ5UwhHYg0zsPJo1td + deChUdA1WBoIkQAzJUURptlQMGly42XAxEDFJZRj82kIIJPY710E1DBEWizl9BbPCzEjGbW9cKCP6Fme + wIFMzxOmSDfLiByfIScqb6zjZ/50NqSjuf8qAAJ4TO/8cU5SY8MYLzHlENTYnYLeOLLkgTWW4NFdkfu+ + kXz3AeJ8wSg45z76gEcuqnJplOytPZHWyeF+ImxoR0sjI8A5PkLc+BEmEPrhxyQE91YPhxdy0l0nUG4b + Y6vP0URtcCLO89DwwSTAejLtTrP/+23WGa2Iqapzf6cKsiyqortj8wm8ALrID76nKqaV8XIJGvF7ocYS + qAWQ1QN4QwCNrrXQ95eUF1WW/ST8DiohmElHdWcyvlrhFmTufGpYLO+a/67aFJZwSz/Wm13JUbUTVAUx + Zjgrc+k2qU6WPWmwv/ONp5DydmusJO5iLsTwN2V1paQ9vCAAMXJ9JXkOgDgpDIhPd0U+ukHe3O0/yDUk + +UF+d/sicSE4zr0SJ8Ikso8JpJPJmuKbEj0EHtZ3T59gY3KYtf0jRu7QtsqWxBy+Hs/5vOZ4ax/5+MJn + qFH4/ayX1wGP7Wvd5y8Q8QZeV/3ZVdauYNKmoPSjGNMvN+P7VF91j0dLkj5w7i9pUGR9FYlv61OJF6hN + IRDr3ud3EVVUdlz3eDaA7343vN+J086mBwCkkSkdgCQsTQApvfB9AIIWvGzwAghjzwmb2cy9AaExv6zA + f6xet3L1D8mOZ0+tasbTCvrnIT3nEuQBENdYTh6MQ8ZRjJBsDriBjA+g6z8IMb7/eojuCdPH5BRtfOz/ + o6yCNHd9VcABgIDuueGw2kg1LsRfsmbQKzuNSKQryx3sR1mll8RcKwhseZDIaL2Jn4bMJnxx2cIX40bw + bnjSNaAx3enxdxRYLNt3LtchWZ78K5ykgoNS3WNwGlFtscbCuW4pzGg/1b0H+ZpmYaHmijIMj4nhjMsk + /BrgGDWWK6zLSAlPkAp8FLDl55tqOoI8dv8/PMX0xeQg0acPZAxPsnKO6yJNYufJxaKS0pOMpVDKdAcv + /CVqLCps6Ua3K2RymYReS6mo0TRU8s2nj0XT4MIK6y25jwXw6IDDXK0HV1cNQJblPawmNhmA3/eQNsjh + 48gEn+B3KniQWDo+SkIAv2PbJ1fOIsqgREvw2LxYUkRvfmusVdKPEf+S6p/2IohB739f9Rg0MjokqtW5 + xpjQ35HIeHKT2Ca4B7fAqiY6QUQlFmorPTcaCymX8u3qfkAEwM6kgnhBoEkvSFRa3BP8PaRzRQDxrSDy + dgCkywSrm2DX8FgTCCDkjU4TnCDCFbPlfTe8+l1v30TKGwBxlSWAfA/wYCrpAISpfHSVQxfSeP0fewDy + wfKFucIi1sRJxPWwtQgFIH9BKi4TQgAEFzh/T0ovP++GK0DXfK4ByRGbcpB16nCazj3AzDZW9vPpg0K7 + 0VEma16XcsZr9JFvkWu171LxQ/IagsZuyPF24ffIn/36mUCqZkB1mO/bJtpkXjtwH4gwKaXXvQAkj22q + Azou5KsRKMQ/9SCA3Pf6qQkkJHpNIKyweGAqjVfFFSRO10TYAunsVthKKY8TiCusTxSgCCJwIOlN6JrS + MPrYIbx65ctVTkSvtgBQLnRksRZCYQ7rphD1+zYTmkk13mV1QbquxKmkeMx9nAymJ34O7oMkyccBD8lv + QESvxpipI2sOVDoqddyZ6xcwoXUFsFI27J9HONqjvmI9lnZDO83lI/R2uHYSCMykco1FycsSHIj/3j/I + xIIHRM9IVFRGs5tppRFRwNAgaAZWF+NuF7rvT6mUnSaXEhDpjXFMYvDAyYev3QPMMhXBwyQiHh/IsgBC + pa0iAaNcnKiSWIzmOhwAN9HpUZoKmT4supIbGfICmKC+WkW8YB/I6llWOReIeofnmD5FCi89IKqxxuxy + VWkFPBjT+/S6P7wk6mHxJA+srxankDeLKwl4mOj7JuBBaOOyvAe9zPJdQ2uFOQiMjhBP8iTT11HB4wOA + CeZQ+CjXdmsXqzFu4wrqIYPufM4CIus05XmgiV9pXqrEDTMA0k60/97fdtxH/B9fqcTZx5Tg2t0Bp8Br + OY5yyHKnDk2EgsMq053ThqDiyioFU/yb+Vkh2+lNV71lMVGkvBoh5wCiiU1A76aQljbcfCB7ScIdcFTn + Sim1BA1Bx7fdn425ZwrBh2Jt8S4H3VqT6THZC2qUC9gDEKaPAAgTCNPHhGifcB9IdZPuIIiY/HDS+gSe + bwILqdcjUh0k0/2ziqyN63g9UKzusMJKkKFvScXdhkPeVsILeCoosN8oJmlDYvEw6S4Ppwt49IgrCYAg + JFHYM2YNPb3yxdkqvPHWVXgJvB9ONYJDgIKfw2vnxt/Ptm5JpAsqrKr8d76HfazQ9mXlxPeGIXzzJoDS + 1QLEuV/FZzUxCUotlHIOIAbpVmJA6svZPM1rme8rS2trRT6fidejVVb3bwogmUBMNGWF9ToS/ZONVLcq + FFOPdZpmZcWACJIBSE4f00t4GM5+KusnA8TcqYYgB0AGG9U4ONriJkv/R8IUc+OkyZBVxfgxAIGIjvHp + Ao8R8e3WO7p68tRuIm+UV5xMHREFkMmjrK3481CSFVOOuUn2jqR0CAlv3ypcTro9bu5pJpzwy/SCj+hd + lExHhUWtbFZaqKT6jzIFMa30yOKKCVDQ0QToJBHwgTRXwjulj52r57TihKLLHXAxsDHOd7iQNBiyuvI0 + IiiZr6XTffkUjndMhK6rXMsND3JSeZRd6SF+BkIqTQl2Akmbo6TcCcg+TkxyJBoNnTrWiXG3IXL9NI1i + l36rAOTWV1lbIefFVOgLYSB4ENNi58myhVtvyX0sgkkDkfvA42HrqwfiShZiShZlu1ldsQdehvfobRCt + v4OogsdZriu/V/vg7acHRBRN2PXsc2jtAioXL8DDWs8uMcG1qyog1xopWsqJt24ojvmVdPvv/epOnd4w + CE6N8so4Im56TG++xuU3bRh0Kqk6W1RYSqNRVRUvQvQ4AGLQYsW725nuBEJGGX82vkQy3UkmPFSA/EEA + aaVY9wFId+Nv/pCcjLtppXWkzMGEUENJ9ChCjZU3rv/1AOKqRtnufPqYAwiFU1Y8453K+krjYKJLUDRm + hQWAoGy0Cz2XH8c6y8RqxSjbAohx6teYPriBb+H/8H63de7LeY0m+h4uTnVayvFUXFnNjVVBc3TXr9On + 2GnCanaVFkBzr3YsrLpQP8fmbaeMBhyoqgSP7Zu8jz933EeAw2nIcEf4PkGsMgytO/byNdAVjPEx+fi6 + OoNqTSBOiKXG6iwaD3s856+fOYBw/7znBPJhORAmkCbfrUpbu9BbXoorrAUAkTT30ijkRFKxEcomK3a6 + +2ZWb9Judw4l0flfpjCeYhX3gUaVsKryAU3jIOsswWNCJozcyBgCfEw5vKAwPQl4YHKLUY70XaeNITdd + ORBvugO6y/u7ZGIBNLbnRbEjeABA+bsSUMMZkfbq+OxjJDRPqwcxvrR6sEIDvYnp1XACUEKrke8yFbaX + 4R8wJA4f4YbOPl6VRGJRlN3qRjdx16lD8KBneHlM17CKLfO68KvEdIiR0D/L42TlxuTUP0K6MMqwAcCU + PT8/a5/IlMFRyqs4jQz3E2l/ABAFLJ1Axk2+KhGnFHDVKPzjkHNn2Zmeo9qW09Ga0ukzAMg5YmMAkVW6 + DOxGX6HyViAZ3sVceP3XAUhytYgr6ZEi/Mbgseg4fxPiPEDysNiSzvOxOHkskOZz3mPMY8bqCm7JFaET + 2oBofidMO+kDIEyf5pMNdumCYYJdu0DSgS2MVyjSuejzzIiMpiCRDOYkXcm1rblvHvPd+jLmQNL1Z/x7 + e+vNeS/WIpwHgKF018kiikpWMHGWAyo1baCw4konSNZV3hgpPmodEvm74BG1lv0hJvZ+sIUtslpqDZB7 + E4jg0d3Yumj3zlRYb+c98wJPthptHdniTPycvl/exonJNVY+57xvpAMj1FGor4r7YHUFee76ylRq62on + d+jKETjkEg0qDReCrN1wVovbCBhNdJARQhzADB0dkSu3BWG+fd0UXMAErmLzugACAU1HecQ7HJLTaZR7 + ndXcJyoeJl63A0md9u+TreusvDAOaoGAx/PGv0tQowqvjTuuqwAogYOsrR2UU+XraFHufMwua65dwGPX + lsLFFPUWoV8BuJVDZmbYLr3u+/k/WY9lMukk1R2ASGHQBcXQkGmxSw6Yx++31wv/NyssaIgCkPkKq8wk + BSCS6MWBJDMlzV8CRq2sPLnMASSxEUr2PPlZrWn8CZpi3OgT4jjGZwn7Q346eZJfjOS4XAdrnRFhiWbB + jAMe3OgNVLTXg/23K6vJmU+hukKPzTThVOLN1lOpclZP7v0j+DxQEQ0Py4G8EgBJAT1/FzyMINGdbj2u + KzJXJJ52l4erjTzuVV8HRLr5WSl2Sq3sz7BKgrCmtEpexZWKYCVHEhCRHE/jIasreZHpbjiS3j5UW/hV + NB72dKGThSWQZAWW6eOVrN3C1fB9WlA10ZBDkvBon48F5DET1fAQ4EJrWJHIrLPgPqZoyaemHVNOMyWY + bY3ej9Wzn80Te4MuZGNkrL3coJHQVdbKtS9z/T5cAVEldBv0rv4yrnukwPAqy+M3k+0+aBxcmDxCmHfX + G4GH738g82qR+5jzHhuz5VVaBAHzPo9bvDkCiB0v8D6CiL9rJ5LRcXbKF6lO5ZS2cZGT5wUrBrp617oh + lQTx4y2Gp7rO51lA88IluzT+vYHG4s9b7YWpZQVwS7ZL9azgwLrK03wAhJua01wHFgLJOpyI8RWpudUX + 0rwhtcrSJyLZ/lybQPAzsO7WQ2YfSH4/rkjmp2JvTv5+nBC7aJPubUvDyLqLlY4ryfh5FtZfrf/de5Ci + ngBIO23v9Y2QHwUYKd1debHjPlxfEb0ugX6bexMSXmOCOtd5TSEcypDJBzQ4nCUby4iTO4hP9ITQ7Ll+ + B/CAp9gBPLavAR5XKHWibtbDW6q8Cf00UmdMd03SjQGLHlL5Tizk46RnKaID+kb02e2cYxVreq7yXdJ0 + jVPfJp598843EpK4i6RXVVYprGoVFfCgQld/ijErOcTn3o2EPQ5zOWkvgET/Cp9/lwnH/9e1c3YZY/U7 + qsSR6tDZq32+/3VUhxC/93FxIN8BQL7HBOIIsxBX4jeTykp9IK6wOgAB9QMeZMi3CcQsrHSIkK9So5PT + TCVXTo3KQEE1xvTmzVCFldlGiTEhhXLMTd7E3WTDZGUDghOQaCz5mOJ2QwKz0vJmCpkq4eQJoefax+h2 + 03QBkgFRHE4J/ScAGqcVJL1GkAwlZam8tSukt8a00DeqHOMab/V0xOinoc9Y9bOosSDUXWe56hnztXIK + 5vs20j3KLE1/R/Ft2A1iLwhfv7dNOZV/tm9dA6Nved8yU0o4ExsI7SghXsVIem+OgpOqsCjNIPaHGByt + zK2JhzUO0uQRKcBRIcl9ENW+epTHBfBYOQkPQMuY08fKFXTngEZ4ASaQ9fO/g7z1S4DH78FBaewk/gQ/ + ies5XfnL9L2/+fTxJplXb8p9vFXSbnOdAyAC+LJ99vhpEk2Dx0d+avBY+XlyIGACsXVy8uQHMl1tnSXp + gOdT9dSoU3eP3mShLUF6G0l5PfG9QbWO7JZu26XcKkHM9eD7/z38vSXZmrbtQdEuH0/Aej4EkXi84C5S + LgQRnPWUpVL+O9xGJfMWgNQEIrnumku/SDnWlfWuo7isuHduZqyaku7dDMqJNslU0k0MHYh0wCGhW4dQ + 1ylOSBZfGU9eKi6vAsBMIDE0/1qbaloyb0v7FUCcPla61VUn330ZdRYNnUloIH13ZHTJRUMU5RSZRBJe + anU0wGGNgn9WkUXCw+TZv0zxlFyD9bLGl2xf/mMABAKcBF053HFEQmxY9LSRKWbVsqsri6LG3PcSDYO4 + xxDQTUJot5lcds5zePcGT57Wtp9XcLr1t7ONu3hLAJAdyG9j2+c8BtOE08r2OSaxU7ZuIipQvm4RINuj + TOKxVVShVxKFiWHRCLlzobrd56+VRM00E7lePuuf2+pxDvLzBGUPIX+W3/UCgECi+0lFLBj4ItF5sTYV + 1s4xJxBifwMYSnlr+sjfYyLkm1e5lXGJbwaVRNRYEOurrB3CY0B+urJRojk+AGiYgw+55IrJtdPkEdzG + OtXd8eNpWHHPD5HqCicrLeLac0OHVB2cNHgQKa9R6Ny4B5Q9mV2V2BHe5vT+iHW33JQBD53shjR2wLE0 + ojJyhwnBQEV7zU3uhX+QxHbC6FEta1yIwDeSwH2SXTw3crvMiwfBuX1EUCAu3jpbo9m76lr7QDQTGmMi + wW4KsLEomAY9/QscPaJXJNDjS2FakZvpPc6KK13phECa44UqTIJ9xI50zOQ2xf+wYiw0zuuVU59KTaUp + uut0H68zgaxe+mJO6YKJ4KHXY0VV1mlWgKc/HpJe4cGi/vxfrcB63QrrrU2Dy0NWhhO61gHz3haKFH5+ + nfABENslOQgMkV1HuvzkT6eX2hQEZeI+x5Luqjy3q6hNQJzxH9wUJVMTBmpq64PJr0XMVh3qv8ercpBK + xeRrk0DCEOZwHdbUKuVVgQX3IZh0K6yVXUABfsS1lKqrmkD2Vlgh2lFlBUyMO0Gp5bTSCWsSeKhJTVl1 + knm5RySdtxRZ+T3lqqC/Wk9xEj7FjVHLAACSm1n7veZ3HwEAJ2UTMHIf0kzox1Ra717i73/iBkxXhwBC + C2dJeL81G7wmgOiNYsV154+qwvkCayxTeAGQAcbcebTJHEDgQhCiBHSoRQgPIv/AxBD+g+h10xDGbFTc + rgggZvz10qSJTWHi9Uh4Ee0F6ViBL9m02MnOjnPGxfN7IX7dSll9JU4g9vZsyX3oCRFATNpNlIoAAtjY + KIl0OIG2rCTNNPPgn/u3k4ivGa0ZcZoLJBgxMSpWMC6UQ34fTHjJxaqwXIeFCtI1QZnHc/5aagGYvE8u + rADk/d+uCaQDkG6FlcDEboVl/4cTyK8l8rdQvyJMctKQK0nccQOQTCAQMu5YQdgJaa9p+1NhwzShmVCv + hsVSTh1jwGMK+S14rB6nL/3ML6ZhcHQEApUWwrFvI+fkRq4XApVEkmu9KaKOiqvcdkK9IUwgOckqBc0N + GgKbXbs5S73RJnJRfqkopHqHUUMBHpHTGv+e6YPPiYTWfKgJN93xCacQAAtjkeufxJsgyxU8KgSRlZbx + 7JLpAoiJu1FjNTe6YNJ5PgQQOBUNjQLIEImqk4cTmZLi+74fFWAowpZQZNlJYkvi9HiL7qBvZZX2wZXT + v4Sfg+njDKqry1+arV4GrHm7wtvpNa5LZGid/eXZ9BQCBEAwoGT8/BsS52+wuuq8HnO/xxutsB4Aj4cq + r+Q9NqO6yuoq0fzIqo2Y0aPj9AHH5bSne9dKTl8YO5yoPMmWW7btZnOjaDee5EeVivC+G1NLsu0Iw3/f + b7vHisevvTYDIPBG3gwED9dXTg9eqaSF8xA80osugDRyWABxZVXrKwAGJVZWWPpDbIMEgKy89WDpDSw3 + srberhtWR/C2G37rf6+bVt3ITFM2Nt77y3z1FRCptHDvLwUgv5Y1e20+SC/unhctylxJayfdXQFErDXo + vxteRACBEE8XjuABiIwuocgi3mdwC6m7Kiyk7lFpZQJB0svHjpH+6iFZv8tE4BRiAi8n++1zrIuJbTe7 + zaI7bQmapIcxS1fahgCiesktizLftceRPBO6mFInQGSbAEU/1y495ztMNpu3/w7woG/kBgosV1id72TO + fbC+4t676UbICJR4YwgRzQqL10v8UIKHJYAMBbxvh1Rh+ZL6d383XgtrL/6Pj31AJVOIIN+lKLdDGe/z + 9x4Z7733f2f2Tp3oARAQqP3Cu8Td4kBa8YgA0moQC0CKE/Hkt4uE7WEAYlHJ5CK/DE70riaGT1pJi1qK + B1GJanLxzTqyDlfD4YlPZuftjTs1tV6sMSLlVNJ5jAgTV1g29+GhSCS7p3emD/OwrJ7NLl3im/XVMqAR + kxo3rAGEe077fhzTQCaBY/AfEugGKN5g/wmJNuUmrb9C0LOkKd6M8/y7veasomI8hCeJV0THueBh10fk + u3hDWpRJOtjtPTeyhBt4n251V1hKaAXSSFZx2vs9ZZqhv6SnsVBvCCu6fE/yMSjCDE90ilvBU7Nymhph + wQHt+PoZJLtMHCtwHSs3/mA2wTGrmXB86XMIEABipyiVazxGkdO+JYDo93iDAMW3zLtaCE18iOdjmaiS + 5amrK1RXJCvLX0UmLYDIfZAmoAJr5fAH4jbOZAu35qkpwoyO2JufMutUXSnS1Rex94Rvp6X/DSLtRO5J + soIavZnPFVct+NDNglJep4cKRfTP5F0hSVWBNV9hceMo/gOflRJeLk2Hkude3TosK25WISmhkwuxR2Ox + IqKR6/PfXYChuFNVVVumXVgapdNco2Cmk8aDzAGE6YPvO6RvODEBqfWut9+7RLfA4fRhmZo1Bv330BPy + PB6R51hj3YHXEDhMd+gkvTrTWWMp6w25rgqLpGtJdZ3rEyJQJOK3r8hBUP96oQEI7apW047cenBzTa8R + obDJ+2MaCYDoSyPOyeljA0GMkmmjoPJ8p/5iFxBxEtlGzrtx9+9m609/I5W1ketqWlRFJYDYy05e1vYp + UpRd5alIIy04xVHwKZG3p4ocvvB8NSqad7Zzxn4Tk3d5m6xDDeA2zBJ82SYW2wnr99U9pm8GID/BBAKA + PKJFvyUyVg5W50Sn1yNRJvSfz5VYEOndnwEUT4jJzI+EzP2l5fM8SXGJ+sCsnmG3eOwnoqzxbTmLSVZ9 + DKON2Vi4xacnSFWl1XBKUJ4AMgIoJqSvGl8xPuY6iffpCzCJ1mnAG6wrH7kIVVTyDKmwRc1EUGJ/P1zE + +hOJQVEa64prAIDJlySl1xReotCTxHv712fLT1HQRC+Iap/xOWpib34e3gA11pVSZCWrSr8GsetL3tjN + sxJABAl7zuk8T+ugE0jKo/h7uj/4GNdiSI9Tt2tEvHH0cjYQ/JoLnZyWbU9MwZSEvr4QlGZ+HYBr6QrR + Jrjje9dZW6FoWzlDrzxrvtVzuLFdX10EMDA8jW99mSc6fSA3eAFcoRDnrHW8ZICx0ksz4puCx5twH2+Z + uPsQ1/mDabvhPVhd0Tmi1NnfT9KRBQ87711dMZWtUFO7RSKp3FtIQV8E3Q48qpGFML7s9NvVgcibfczi + x/+7+3NxDHltcvrc4vAXBRZg4Y0/fxYwuApA5EGIITckEVDRWCjfEQlv5Ls1bWgutBOkknqZWjxZ875u + S5FQS29cgkg2E016HZ6jSXyT/t2ilLj3xGtGIKaAJgiZqly8SPu4tuFImKskOoAzP2A02Wo50/8sno0J + CiwTaAMg9745G73DSBOkvAIIqdQjifSOB3Ha6BRZ+K3kRZxKRld/s8IVSXcwgFEQWX2KxFsSPLa5YVsA + ZdK4HMgA79cAz8cg4MH0YUxTm0Cq06YAZO2wwZQ8Zk53mJ4TWGusPuuwrSt4Tm6i8LrNBILiqzwnkveS + 59U06OtCAt412AaBtZunuU+fgSs8+2W+J7gM+BG/t+3z3IvJKNxxAgE4thOe2e7v2TKVXaNLN85jbo6Z + 0+BcMbfw2uN55AHCugVUWB2AICF7GICkBlEgKCK9AhXNwGrhiiCfAOI3K0kThYckHeSNOVkCiEqDkfEA + gggrqCF/rlyjnw6IrBDJHdWV72PnP7TYSXcml+Ax8hSNA314HHCh8KkPRxHVlKd1I0EEEXOmXBcZ424K + LtyIJ37jOtL5QWWs67ABn0OOwx7xviBBdlTvmS/j6ubEwZOod+NzONHxgtz81dnStV+cLRlr4oW5MDJf + V0vW5CYEEXAQOFxj6UTvwMOVlrW16T1X/ssEItj5fTkxGegomCUZmEZEJyLXcGZk+fnPMBGdJZ9Lh7ym + RkGM76VnLtZNeA0kvCtnSerFfb524QusrTA6AR5DHbM36AS5yi73LFML0uC+kxkTzpubBh9mHnyD8MS3 + 03P+uumDqBInwTnvgVot0fr6PpRIIxhgKvWFtckNQZexT3J3trnhmeZq8F/MUk3mKQBguJoDyL87QPiX + /uwCSEVW+HpNggRrqwBAUnS9+TcASaIuAGKzYACF/hWVWprjEmMicc7qyqnDiSU9IdWFniReq28xGzvl + JPiQrUbWWV23UAcIuVcICoJDHWDNtkrDIVJiI1UqEr4BSD7Wn6GAKDEsAN82N8DXA0iFN9oSGOnu81Q4 + P//NqLBW+PPoVd5HuKh+EFs8R0zrKrA0EGZ9lXwsCHSnkq5KmveN736Vfp2/qRRfrq3LAMh5BAk0r6Yg + j6RdvWw9mgVNFR+sOHlUZYVvk9NHLtYK2YACiK51BQlWMUuqC+yW8AkA+kJC1CsZviqIVN+5BP4upsEE + YaLA2pQHPUYz5GmSz0k/3zpLtM9ZjJaWYHGwLyCxVRHwAFwCJA/Ucnh/TyCuBk3/HMB3ZVwg3/lJcoBr + ADIyTfjeT3yLCaRUWIsAUjLernFwwUxoeCKkTecLEVT8OJFuh1FuN79k3jIybR9n5YWCy85k+QR7J+wa + N44j2VZME1P8IZbPT3BYy3G4qhqStDvhrQAz5v3pvOAaHsdQpoRX/sMJROd2QIQTtkS1U4jTCDfh/iWC + As17Yo9p+VT/ws/X14ATGFLW1L/7pWoivPWbgMZnEwXSv/27s8Ht35717v4WE8nvzpbIxVqi3Gnp2qeI + eAc8WDFlSiD80BiUKLFsOnR95drqEYISvcy/crUlwNh7DshErWWZlcS9AKIPhAwci63CxcjhMKU4HS0h + IVYRtiQvoy+Fr78kqNlXcpuTEKcki6CGt1BfnWFquoFJkBTe4U2CFCEAB+c+GgJez4mrK816/7Lp4wFA + mYPGW+VedY7z+30frq56K02ya6eLqyt7WXDlW2Slj8dV5iY92zmFqSTJRNvKiFDgeCPQoWtHQq75pPG/ + //y2HotOvcRKIym2SdH+ZEAg6bkNJAIYrTiqJhAAxvh2Y0wkfjUTZgKhJz2mQZznBCgWeLCOQdVlmKL/ + x7VKeRxMzjV6vaT+MRwrGe08Y7lfcIMLIEDkt4pcga0MygJI8/3cBzg6vz8agcXc+zMPbmwrTQBHwJDz + 6MDDv08gwqeUrE2fYUJBjDI5TT2CBVK60r10nyvrVZFFWKkeEcFkTCbW+Jn/lBTfMSnXpo5rINzUf2XB + GWupAdLdgcZBjIL9qeBBVQXX8ipVFaaGE/JqJfOK6eTEFJnMOxjzMcNtyqg+zr3VCZybOa8BD+MChiCy + rXkR+fDWDacR5L6uzwCLjVM0Q55gAjmJLPskYidK/LaZiFQturKqiaQmDyW/OxDvmUBan1MObHLcEauY + f8gkI+CnK+SBBAETlTmIKKZoAOIEsggg3X7ML6KZsHOjlxckU4VPjLhA7QGx3IVvljFpRxmapxwNMe7c + eBD8ptZ5UO0DHp35uUwQJk+aquvaSoJdwtTV1eSo3IcTCgBicB4AYnyHvMdQQxkxA5ZH9ZwoILyz5iFD + KhLcJsN1zTO4zSkcIsxI9IGrHFNndW3z53w9pK9p7nva9r4/mvXufTWu+f6zX531eF/vOd73HLWwVz9d + Uwj5WJkkJLdtOxRIbBWk48NJR7luUnZdZaX3XKKd6cMVFkT6MhxJ2hCNMBFAJPC5vIG6WtPPktpdV2vc + +AOM/lyUSy2xPlu++glSgombv83EBID0+fkyafB2eoXVmz/H0wAIlbYGMPaZtlKk5eoOX8pbg8fD1le8 + 71+UebXIfywURWV1tS+8R2/33Hx1pe8jbnujZwCPdesBfAK3WoCsQ9MjUdPH/waNfw1Q1s20Tu6ulllH + 6/kIgLyTtzToBUA4FTcFVrrNDVW0bdBsLN4WeCjlBUDMwmLtEgBh1ZR0bg3Gjfvwc2a374ZCVZBrLG5K + 8Zl1RrcWIR6ZqSffTEXlhLcZLwAi2fu6iaXAxINqQhvfEECKcF+9+1cJE7X/wxVWAEUzIWuoyTPIci8z + WZByYMyP94eJ/KHO82u8zgQQL9sKVWQBJGZiZZUlH/I0q6ZzXwRAuM+dIBGb7Ctz/gyGLQCxLI+iPA2E + NJf24WcnZPdNTeXgeZ/+Ij52ebCSMjV5E1d4UR9y84+rnNeA3g2nD8Fj96LcCwos1mcbVyiPwxRpkKpV + uJtIejc9uJ+GR3KSATC2IOidSpxWkizSwDzKxi7r0Ht6AMT7vas0QioD9payLXhw5gCCCTorLFRY7xRA + INHnSbxNxltfoNzoCVTslFh+MbOxeLK43grQmGFvVn43gfBEScsZY+y6T8bDAAhJuiMkvUNURUPAZEIC + pcVAgoU9DwkLNL6Cf0/vhxLWI2Yh8X5XTzi2AyBnagox5rxutJzSPZ3ftVDpD7ixMknc+T0u3t6i94JY + gsGdL/L+elKYqjmhzrX3wp8lJ6r/IsYYSOiBYPLMH856z/7hbOm53wfYPpqcqvR1mJZrh4eSXyce11GC + Ap4Pp4vkY2EaLPBA2mvUiVyIMSaQ6/awJ0/rMf6dqeT/z95/f0l6XUfaaFelKV9t4F0DjQYaaAvvGkDD + gwAN6ERJlBcpkZIoUqIcrQxFUhRFUpQdSaMZme+78637X+Z9ntjnvPlWdjUMB4DuXXd+OCuzqrKq0p44 + sSN2bC27mWUCg9KGvK4h4PQHU2qzSTI2ZR/Xg7+6LKk9/oXSa54CKJ6EKbEmT319sWYJ7qk/Yq47/R48 + N9FQmitN19PbA5BDhPN3BCBXsw8tw+nQp9vc4MbJDSQr47oyfdRmSeNqdOM5/vP4vfXmHU6pKW/Y5zGi + zweiLcYxF//n+sHYj9Xno1lfE1/CSdQMqTvpAcHlJDC4YVW5ynKWjIIsLEtSlLHUQNyknf9hEm+l8QIg + uq5wFFnDV/DWTBNXlGUr3UCUldQxZBTuGxV46fctk+gIsudM2ygaF86faKwAjk6wWInJ4pIJWf6qjaw5 + twKC9qzVspxeGog23nFvQ3drkcv3MCMMLmM9DXBQwhJErvwdDIQlgBhASlCrkSaZwePoaPpDZPbRQOwR + YT56EnsV1ok32bj8nTQWbtAbsnMJ+zwswPG19oAkURz9Y5IxFTcxYfP6OA+P7MJAKNvOPTRRxrJj3RzA + CYP1BI8jaxy8WLvE6ZvqezwjMlq6B5+FlK5YN9xPwyH5W1qR11//b4u1lxi7ew+Swj28rsTJ7ztmg8rP + sXthmojsNhkKJsfQRxxYVeUqWH5eEx22ZorBejRLJeG49vr++uS57/1VfiZ5rn395/S5RAMpALEGyemg + DZMaSlgDgPRmwmIfvYQVl1YDELNYTOJ1slVa4qFJvjltVvJNqLtp7vxtGYgvCl3mm8Ry6Pe3YWxOo6B5 + /MZXOP8h9l0uTWSdniYnSvBwfK32Xco76+oEaBnrz3wjm77LeeDTp5nGx5JROOJ1yuUMQJkxJ2Pj8W8C + IIydfOTbi+nLP16sv/iXi7UXoWQAyOxJ2Ad/a+3KH6OB4Ac3XgStIg2EiOiZIAgTkXmswSxSlrqh2IWA + skZpSi0mLORGnFmyEq4LLut2o/tz3VCWtezJADzW4wYDOHxsZmEBIGsR+XlsA4B8nnLabwEeAMiTAMiT + X6bEJoD8PozpawWcdJqvn//5ek4U4mU5dMK/K+BxTd2jdZ0fyLtq5SsbBk3ZTenKoESERccS032v7mP/ + j3POnR/hm90PizXavGkbbU7zWE4846bB0fXxz4Yms3HD2f+53hvvqrlXhxMbipUEnDulM/xsqgqe+qOB + UJv3+wUiPx+AsSRVQYpGktsERwkmzYf0MSRU9XPVj6EzMyVtG5DRRfmeQNTttrGaOuwrzh+bDMtmGteV + oyFiJUb/4H+rrXi9W4CHSI7WZFhxSWgECf9rJazeoBjht/WUOF7iIrlwCOZVuvpHJgcipl/5e5a9IEzo + fOAPkxgeOy9AYXd6GIhRJhmZgIarzZdJhdMzuEnTqU6J6wmi4Fmbj8IATvN7ZO85KC/TVEkZNzhR9iGA + HCF7bm0bJoJ5ZEZqhu0LOrZ0aTnCezkWYS2T/o7aoa69VxbSLLW6vq5H+zj2KAnbb/z74sjH/m1x5I3/ + AYgxMRGt+dgZGm5xYgkmRwGRgAqAElC5H8s/SRVpXAyQq001BhJCMAIQGQivUzUiVrmx4mcaQPPcCyBa + lI+8EADRxlsD1gtAKspkmcjbZoKIXu1NUjZePdjtRAEDsSPzhABCnbXcF1A7Kan+8lPYT7GebvAiifIZ + SUsZS4FcAOklLF1WurTmdzJ8iiZCnVvmRjk8KjZYspwyD4T+CDf59Wf/FCbxbYDgL8IkJi+QPvvC9zNM + afr8X2as69Svn/mzAMnm4+RDPUjfxKPfWsye+/5i/bk/A0WJPn+IRiGm9HnCnzz0eWajY91lQ9du7Gjb + MBDKUrHyGtWO1mI/iYm70V38WhcYnejGo4R92AcSkd2fU7rCbWXn+xGtwJbctOvKNlwARy89hV35+AQQ + BPwEPD72hcWRJ7/E+p3FERhIQCSXAMkDuMaIYMnv2MuiHVgRfzS05q2BZGzf7XM+RpfXahq8RuLu2nw3 + A6KqdOVMexIDBA+MAxs3kzzA4C+nVB6Dbp/gpKStMF2zPclA3SMiaJtk938AYtSJ/U6AsUe9+PkWQNQ/ + KoTQzKveyZ0udEMU04VuJDvgASNxfK1Op0wbVB9ponpNH/xUieWWrdwPYrRB8+iRGlYgwk6wmer64rb2 + GKSE0kGEU3AOozCYlL0cRgWo7QBccQNlE2s9Cc36W+DQAGI0Ta/HKNV7qDLS/J49GpasdgCQnSv0cFxm + tLOOrGcEECYXPs7YCUZDb57BKo/LUduu46Gdm+O8nXSqwzysnEzv5pCH5XxyC4Pp7iZqh2gil0Gu5vvZ + AzLd48DEnKOwD8u3GwStkr2X4FCTF05WakYqEk46TZVAfbHcjM6jNwr+qIwCLcPn4ASlrBNkXgkik4/8 + 22Lt4/+xWHvjfy7WPvI/yYUjWBSQOGrZyxHigogal84sHFpHcTUevfe3k9i9r1NLtm/lqM1TKSkC4Pd7 + AnIOGaQc94T1PP/tOZeJNAYyAhA1EHNQDjIQ/dtpEmzZ+54g6o3SgcTThDQLwAFAjgkg6iCJ2LbmyYM6 + xaniLuaBMK5x+xwaxDnpIAAiC/FFQe+I1nGaspUaSJoGmR5oIisNZcZ9VKQ6wrOzzXVW3Y8TS/H7+e8A + Fn+xWH8ZRGb29/qrP4ZVMIGPKXyzF3+caXyzl37MWFeWQAI72aDz1Jyo5PwT52z558izXycSnTcLDYT2 + XKybVnvuE2Ed0SSw2KYsJYDo9rK73Jkelq5oLIxQHasuJ/9oIq0vxNBFbb7pXBc4ABhLV5SXnIEe0EDP + 0XG1DigGGG02BAjWFc8z5AoAcVb740wnFEDQQQpEABDLWQzB8rbr5+hXkb0ITLfjRvON+Za23S6WH6KB + DOWrazQOrq/M/BixEKcL1oAous2bZTdhiUbLME1w84Zn+IC8HrtuTlk2CgY8POno+nBVXlKxEDfMpof8 + n8t3+FyMYiq05yuQpn9LBmKfhayBrwGU1N5bNEi3+YZd6KSMJgFoUOKqhdW3xbaPAcQegjqAVnOadmwr + EArqNiYWyHjwVFSnJp9ZQ+3/Z9KpScDGy38qP688pxaRlPdFPwlbsqowzb4SlxJdxQ2vAwgbL3rsFiNn + twEPnVi7z/zdYoe1/8QPM/3PXpDN84ST0qy7ofMK19WGtl2ZiA4sSldzDrxT3KFOQnUfkkkLBuvHCEpk + TY7eW3rGMcpXaAOWpUy/iP43J2x1yzLWDWTmEW9Cm0ESLEzsJg9uzeFSOaA1AJnsZlzsUaJmjgMMuqmO + MTH2+EM08NG/cuTj/wl4ACIf/XdAkB4RrbrEoaibHBNABB5BA01kH3eWLlhtvvv38j1YSgBEPcq9nVW6 + VWtEPAAguNvagMHqCWnPfxgIMUwykOc/DgP5tPNAKkgrDCRNJjIIAaSmEqYjuFl5C0CkQo6WFCG5/TlQ + kFCxlLFsKuR7UmOp2O6Z38LlRMz4edxO9DAE5c9Sc3R4vWMkAZHMIVYb0ep76g10AV8o+iXISTKM0NOr + 42htwps+AvNQqwA8Ji//aLH+2t8t1j/Aev0fF7NX/m4x+wA2vZe5fOUfGOfK5ct/E1Ax1nx2+Vsk1QIg + zgLAUaGOsPYstU7AY0buVRxedIAfUaB3Lrrpu3fRDKjDyygTxXOvyzTQM9YBl+Rynft0yk6GJhrfntIV + pa7YedMP0gZN4eBKhlcDkPS0kP47CQDgnPL/n8fxlURg9A9cYMVAABDAY+3xLwIiLAGF2SUZxXsercaS + lzH3utH8vxPqqT8RgDTxfKx/XJW8e62+jykfhtZtvkvHvx8sS1dEyTiiduacF2JstkjyrA8HmwkCX+Vb + 6fboG0SBheBxFYD8HzB5hwDSE4spK3eHTcZQozdw4j8QlOprogMon/dK4O4VB5mI+VgFIp8MM1EjkTHU + BqRl19JIua2yJ6Sa8dUwnZSmBBwCL3P7VC/UVtlHvD9J1rWE5TjcTydvr8pXWrk7gHTw6JeVuzcASE7K + 9pmUbtBz+W4AULYAjh1WieiACCxkn1DE/Uex+ZJYvfHAF6uV4OyvM+1S5xVOLL6nBrJho6F7lbNCrILY + Z+bBlspILpmYapK24bAZU8HGavlKxiFwBEDogToiiAAY6n8TB+U5rE531pFxMGkxEPtH0k+DKH7swtcz + X2n/sb8KaKx9FPbBmn7wX6tRkHDRE2Zi3Qe7TAkLK3Q0EVxZ9oic/nyBByzkeACkXqdUjyAAxxOF0r9X + mVq+PgHwNuJ8+fn0+YaxdQB5ARvv659eMhBb3JcAwod7CFRsAOIL3hhInTYM7jJmgmYaml8EERHRerZ2 + 3/17YB4XGHZ07rcTALhLDIfjG6OF8KKI7DOdWYKIlwEQNA8pHmWP9eO4GbC/KrzaNT55FCfSZer+z+GY + QjyafODvIyRNPvjPrH8BNAARsm7mL/89111/u5i++KPQ2HuiAAD/9ElEQVSUsiYv/hXR5k4YczEXHNur + Qv4ac9AnzE13iFGa9+xMd7gUm3EE9EwZhGGw8Ue/iN6BDmKpiFwuN3mj0idnYQ7qDwrqlK6qbGWPSitb + 8Td0WyUGBfFfwXtyPzEplwAL2QZNipmH7lwSxXMBAhdY+lIeYVY7wBEA0V7s7HSnJ1pq81Jbsz0xsI9E + zL9t8BhPHVxJ3n0n42phIAEPu823oe5HOYUxuCtZVwJIYuqfCvvYv4tNh1NSEkTpis3JUcsunbUVstci + v53y1tby5DnaRPrthlPp6gbz/+9fC8hupK08DRvIht30hjLBdKAoU0wBQR0Y61TqrHSnFlra6uBBiSsA + gvuKslcFqypmMx0wtXWst9lHCkD8W+olMg1jUur2ZfEdIpEAr2NUKnqcvHX6cmBZgxdAxgeMzlI7eLQI + FG/r7yTSf8lEBBJZhxrI7rN/n+u7l/9msfdEAYia6CbCuVbeHSKCMoJCIR031pxx0elE94BpL5t7k+MY + jEyyFEUwqsaaCeXpGUkXsz0SL3ZORjQ3dUHgWEcLTGK3Yx9g5rHtHmMx2nZt47qWcD1iINM9whfvJHjx + EcT5Lyz2Mf3sPULH/Mv/UACC/rH2sf9gdDgVH/vv3G9tFsSua/kqYrrgwToGgLgED4HFn53I68qyWVcA + 6ZFBgkhKWwLIb4WhVFUKIB9A3PcTVZwxgHywieiVj9Jb3G1zh12g1lecCX8Yp0SYR1t+L2FpmYUOgJhK + CYDYlV7UCMAgq2mPTvS9+6CwZ34zgWNbjCRVB5nfT9ouDW+Ws3RZ2echgNiVbK9AJgdaPwfh3agnNNJN + cFatX1H3gH28CvuAdax/+L8v1j/yP4go+B+Axz+FecxfgnlQvppTypqidaiJTK58BzcWM47NtYGiattT + tBc01oksMSolrq7eWwLTSPquPR9s+hGnBQPBwcZANvwJPRfrDwIgxqXTbxIG4+9Z5pKhqHvQKHik9ZDI + amyCPCJInaemyoxzbcY2DUYIpyclrMPS1SNYd9P/AXg8zPXHEdL53hG0kSP2pTj4SvA4x2xzZ7sbm2Kc + inT4HQPIIY2DodVv0fsxyrxKyq4nrt07iCpxFDB0nlkoJiIrGNpgtXcS0ZbTkV71PgJg2bDU66ytPGEH + emzhDVBy2uybx1IorVPo/1kHn4MqXRkNEmMCc8STqq3YjXNJbfLEKereCUktEfU4OoSf8es0zgRY0DO4 + 7iYfbcSGw85AHF3b5p8nVl03FLfXyVN7gvuIoaxVylILiWhP+esYwnv/X8tIJMpncWEhyjuMKiBUs+2j + gcSFtXRiDQwjvQouY5h8jGZBuR81C6qGDLSf/Sf+Gv3j74kGoXT1JODxFEGFl3+cCYP7FzHW3A/rOPcZ + cvh+PUGlmxeIYHqAEhajECxnWcqakSg+d6Q0pawceE9z2GXvMqTUctTU2T97JHxTul3btnxF8kIABI2D + oXU5XJnHh713KvtgSFrSwXv5irLwGi6sBDAiwjvN1N61nYeYlf74txdrH/6X7HNrH/03ynHkY2l9pqfj + +P08bpsFqfxYnpLZmyNnBWj3HCI6OuMxDgY2aQ57t69Vyli0YOR1a7pIC2TMbHSbOPP60b9jtEljeF4a + ZzOn3wUR/b8tCkB8o/WAraWIHo0jb6hiIIpgffn9ElpEfOpw1OlkIWmdB+mkUfuo/nuUsAIgdE/v3vsb + +KVxLFz0BSOhVxYiPfQFUZQS3dU7nK1hwxmdyhPB44HPppfDnod1hXJKV519rH/4f+JK+Dee3P+5mLz2 + z4vpq/8QDcR54DOXAHIFwEFInz9FIJonC4QxM7Wmzh6XObChz5g9YZ9HmvssU53ijYF1NzPTzcLiNtpQ + k2obB9ivwBIAj4fZ4OlqnzxA4yLlp7i1bDB0iNQdUNw7cG7xvZqk2Po8kr8FAOGcmsJCor0AEvZ5yDIG + 4NB9FSARRNBoZCf2pbiMnj+DzViRH4BKKvDODe8APN6kA/0tx9YeHBhVlt3uuiIo8TjsgxOZYZEGzG2w + dm/7WLlAqNMaHmfpytJnTsnj2ralrAEoBBHBotdf+8+w+cpY/n8BOPrjeb/va2JDTF7V6cQhMDZ8TqTO + 82GTzuc5LKAy7hKAmA1E3bPmAGWD4WcyEHWJWuofXmr1tXnQ5jdKUu4N/v6w+bMvaMMVSPibGTSlIB/r + sP/LQ+mohNXKWCfY/CpFVvbRGEiCFpd6R4FjJclmFHdMP6WpDKUvmUvb9E48qH6g/gGIMKzp6OM/BET+ + erH32PcXu499l+oI5fV7ENGpSOwwayfVEkBlMwDCUhexpGW3enNrZf9Cx/WAGy2UQ9P6HiMKcB7KNLSw + JzyUWSBrJoAHQGpNBBpGGtQBbTkKoUJfrwu4mN03J95nk2BU2w3WX6Pa8iH2t9f+KSkNNhHaLKj+kURf + GwcNZdR5BWC4/+4wnVT2IYikbJjXyH28A4i23dJEus26i+j1+jfHHCDSwy5v4Hl1IqWzTlYAxBfcCODK + wsovdwDp/4ATSv65p5OI7J4UFEB5QPSSSKuOXUBQ1xWA4r9/3xdhHl8IFdujnGXt29qrALJxnqwZwUMG + gjVudkrHFQm6AofT+e4ETHQ9WOahx2Fi3wOlq8lLBR4TdI8J5av1D/9rkDmXfD1FA5k9D3DAOmbP4cS6 + 8l0EdEa7PoO992FEMXpQBKyMrwREJqcQrnFQ2dyWOei+IRSj7amwRKQe4amfclamFKLRBNQoWylwrz/C + Jo+VNq4wOuCjoWij5W/aZZ5GwQQkVmR8bMg2QtLHMj1HHpfOMpoWE1XyJM4qOuGPKJALHrivIqJb0iJK + JTlcnXXQsR6A0yGmuK/z620zjzF4jHpA3nJkbavXhnk0EIlll25zXSa88Yt9cBqzdEWw3Jzy1ebNL/OG + lkpbumqhccm5GolzHSjGG+0gqjcQGVjI/5cCyGFg8V8CIK10lbIOLp5sGi1B2wY/2YZ2ThlI+77MpMBj + FUAQYylXdQApAd0cpwIQ+0lKK6lk3DqxtlJSWIRsBJFXp1fiU8g78/9nTylRvcpaFc/ewxf7LIuARC9j + xVnVVvt+jZ5wDoYAYmOzh9oCnwCIw5R4DQSQEs9hHpavENH3Hme+91PEmdDbsXvqFxl/8Osx++xSKXFo + 29Z508TNwwJA7Ey3Iz3pvdUX4uc3fVymTBw7TVzPbUPpKingAofM3IUzMYumwTgkG7tfi5OxSlhrzA4R + WCYAkcPwkt93H5WGVwCQV/9msfah/7Y4+gCahzElDpKiYfA4LkYvT9DrcQI2Yj6WLN/P2j4jri1lDdH3 + 6dPx4GAvCBUkc7BOW7LktZCRtNe+9/Msh1QJIF1jGgHI8x/7RzSQf1ncwqa/FND7RMLeiW5HeWsmTE20 + 6qKxgQk0iXKv0K79h7672Lv0TTozHa/KqFXEm306NBVyAh46Aqh1Gkc+B0C08gZA8FfHqntLy0ei1qho + JbD4IgVA7LhGCLd/Y/LaP1LCAkC8RP8Qmdc/CJi89g/5frEObvvcdxYz+0GeQjfBnjs/TWLmPZSOBBA7 + 2wUPACM1TIY5WV6yjBZhWm2CeHfZQfWCwB7sP7HDGz1meoGAQ0BDZrT+9FfY+BHkYQrriuCI79XrAfOw + 1yNzz40oQWjXauslzGdyGjcWLGQNEFonDXjtid9NjEouAyIAiOUsQGMSdxjMh9JXylbOL7Ecpk6jXZga + 6zsHkLEDa3T9mqWr1d6PGR8OJq5R413fZWiOMz60Kp5glOd1D8XWuHEjI1HvYlBR2AdvVE9KSW8u7SMB + nH31eIs227kyjlpIZ4I6a2SyQXLXwUCWcRhtlPIQj/Ff8PXo/h24X97/9/1+FfuoiBA2GrvP2wzxau5T + g+j5drqgYCb2AgzxReolxoPTfIZDqzrTLWGZm2VwIqJ6mg2JMOFAmL+drvM+Ga+J6IOz00BFosfteuf3 + y93F/289B+XuVF8tS3f1pI3mWERM12XVVotEicU1iRk+Rg6siPDZ9NRf4uyrUpbP/w623V1KWLuUr8I+ + ooGQemujIc7MjfOAxt0MbHMekWGl9/H1vS4qJgrrMJDZQ0aaMMzt0ufK2sv+pCtr/XpGRLDpq/8JHAEI + D1Y0COqySqe5IJLv97JVHcZkHQEPRt2uzbS/E2uyTxBj5uNQBVFrpcIxfYmmxyep8AASx87jzDKJN5qH + 2gbPJZpi2AgHNPUOI05k/GrRydjqvTqtmTAOyLhsKzGkAhXt4UF+aFp3D1jMPt9eAy8N1QwDWQKI1ltf + uG7Bc4CPWVh9KqHt7dRF889bN2M6hzuAlJiz/9B3FnsXvxb2IW2yocXJZx08CkA4hZyquRtz6ooBj5MK + UWzMeKpTW1QPicj+y2gElK8eQv+AQUzoHtdRNf0AwCED6SwEepfr2Hgtb1mymj1Ds+DTf0y4IL9rPtQF + /tZ5dBcBJB5uylU4KhS6jYGfk9MVR9QFykmARwBEOy2nfktFag4V0U5AIZlcahfrj/9O8qeizTz7zWz6 + 65cY4CTbUPeAyaTD3O55I+iz+XOiYCXUkTG3k4tEldBlrrsqJSy6yteeBEAsZamHwILy/wIg/A1LV7Ic + 2YcuMcMcHWL1jtnHYREmb9b70d0ivXzVJjvaMJjxtFgabRokql36PQM85tc9TIcup9TELPD+MU7BmQTJ + +RFAOkAIJF73UgF0dJnr7XYRRx28A4Cwhtu275ee8l+wxvd7/P+v9f23ex/7c/F2b99v1zSAzIBYcTtV + fHgdAtOD0W28CuEH8u8UVCmBoHHExquInlUgElaiw4oDYTUW+/vVWDyAgC6ezOuuQ6n/q2amt5iTHqWR + +2OqRXN1RoSv2JO+hhwt4/3jDiq91hj0CL/8DSciljO0RPxycRXoHH0UtkEHukBy9LEfMMv8+1z+5WLn + CcpYl+g8B0B2GNq2ezdaCCxEx+gO4LFzppb6iCWu6cPEIl3k8HtWZxYVDCOKYN0RzdN71Xuq+uerQEKT + SYbarY9cV3xdNl4AxNvQM5KZRboXEzRKCZ99cc58Izvj9y/JPAB1sq2OEZ7oRp8Ik7uxYYfd23nOa3bW + 0pWHhNZ2kT27aSB+T8BpQnqev+bKqj3f57JctuWqKyxIT45VA577BEAi9GPjxYX1szIQ7GDDLBAFdMMU + C9lDaTkZVDx7Rbt7vepj7bSQF/SPoVfMBr4ggICOeVOJfA6hgoEY0yyAKKjd+cuI6Zaw8FfbjKOrAXYw + u4/ARRdiVeahX4A1QBunRJQbR5ImwRd/CMv422IgaiFef6UBB82D9nzMnqYj/RGaAjndK25PHiB9lzLR + hIh2nRSJOfd/YheeujlrI8YRtt4YR5r4dDVllgdAYLChJSNFda4n5ZeNf/LY72IHJi7lsp3wfwIAOH8c + LUMWYuiiqcGCSaLZEbwvwGyyZCkAGPTU+7SGs0qX1RGB42kA5DKlrFh5ue/0hagPrd8n+wDEYDDVGU/p + ysBGo+NhAe8cQFZmf7xl+arZd7tw7gfCmq7jaS1dOSSKvo+Z4jklrBmxDlt3kNZ6N6+7tkJpNp21Ff1v + +armZNe87NEaf506flsdPGQgsA9TDyrh9b94DZv2yv0Q6MI+fsL715+bd/z4quRT2oDpqjUQrj6L9nsQ + O9It+Yil+X4GxemkGplm2qnUBsCwjiagVxOhmkgxEPWUijZqFuBW2q79pLuxuMyeQnqsEScK6fzvgIZl + lBxULUM18T2TUfvvC0CCSbvM0Dtvt/ybtUcxG4eJfwGwbgZKI6LjXJka+MD3IqTbhS77EFD2H8GFBYjs + PsRI2tNkg50i3oXlYLttQGP7DOMTnL/D2uHnO6d/FbcWiRoefNmn7AtZ19KPaL40r7TPVbfCX9PNuJZZ + 6WEgAgnsI8PW9ukVccyBvXCWsZjYKYhMmc++f97Xh9fTFF66y9MkmH2VQ7pMQweWibyJLSkbdmcfx/J8 + SwJ6FalG4ZZ21PZzXyMZydCy0V8fn9PSpdznt04MANJLWL7ZmgMr+sc4L37cTFj/fCmwtAElzS98jBji + /fN4v89Kg3gwOd1IoXyDthIWNNZJXNvQxXSaM+ZVwJg5WhInhG6HZM44R/2iCZmEmj1mvhV5T5ajdFRh + zQ14JM8KQMGiG3B5DrGccpVMY8Jc88mDJO8KHOoLl9jwYQFqGJlNYumMMlROE+d/BUcUeoSjbRO/jtsK + R1Oi4o1v1/Xkpm/5iSFPE/o+TPidPIabi+yt2bPfAUC+xeZPbwmR8LKQRL+70SvCR7sAOAg7TO+GfR8A + QNgOABJrrg2CrUnQEEeZh3lYTmGMQwzNxPKXDq6wD8HM5N/rzvwE4LFauhr1fwzlq1UH1ghAoOdHqOce + sTlqn7kre7zpAyBnaaYSPC5mRPEeH8R9rYQK57pF7PloM5oH0Egya3PTDCWK7q5ZucymzDLxIJvzNW43 + uHPeh58HIFbvZ29qO+Rnb+e+DaD0k9z/Es5T3mFzHpiG4IGIbSd6nUbbULg2WbTnShVjUWStioMb/tBE + mIFTxULKhfVzyxDFxGH0/oIuvvY9xc2+Bhi5iR29/Rea7tEi3zMBtYYb9SbEZUNimyki2xgGIbXbhTH1 + /CbcnswmqfveSmkpZf3J4ujDf4nBByHdDnQ70mEh+w1Ajj74ncXuw9/OdM/dUzCQu36ZkuuvwESY/nnP + r8FCGpioj9zNvgWj3iRdXB11YuYcusfy8DY6lPUD2ZsCCE4tmYcmFErQ6/uI8LhPTe2dcGCc34AWfCuz + jO6nlE+6+M75Agh1DzUOJQJTrGWJHgwsV2nljS4S110bv+HPklfWSpcBkrLt1uhyDVFt3w+AlL27v54d + 3AtA6OzvAPLCx/8BFxYM5OIYQNqkqv7iDN3obS5IfMSjOIImmOnpN/Vx//xXslKX00ImMvrAoFldA9m7 + E8HKKGOHS2nnNazMfCxdDnaDmkED+5AymkszZ9bF9DKhgU8Sww6ITAIigAcax+T571YwIi6ryQPYabO5 + AwjM+LBvZIK+oEPKjm3ZiKxngz6U+SX6URKQZpcpTUKwARNjHV1rGKIx7XFiKXyrgwgiAgGsYF0QYOOX + 5cyeIE5dlxf3RYvxGmUo540MPSWOppV9NEFe229KW9FZ+Dv2eyRtt9xXAY8GIDKP9MZgc075y34PdQ+t + xYLcbfScTKHA/1vlqyaovykDsWw1AhD/p9ZEEkbXjt1Nhy19H3TjTnFfzU5cSlCiJ7q9e3ndzeghkiG6 + B2XOsI9xPds69bDa6bl/nfp1r2OXpVPQuI5ZCcVg2s9ayabbN9+3ywDYyn3Ife/1+p/w/h2o9V/jb1zz + sZdw3udwFIBUn0exD79u5as2YbTHjQwn1NTLzcxSQP+5NlTKKJMKXFw2E2LLNq5EYGrMpgTZcmiOu9IL + HAooeh7XwFwyx1vTThlz+u1yOm51eTfG/Qd4/4SxyFbMcir2UnEovNdgNpbW/Pq6OJMo+Vz6Npbdv07Y + 6+7TfxPwEEj2H/9BGMhRdFuF9G0aCvfv/izgAWACIlZJ9rl0VK0jJ3ZhHzYbbt3504vtO0kMJ5bdHLxl + yWqldPU2GIjDptb4LK3NMKFYBtaA4qwcytVH2C8y8tshd5qOmImkeL/HCAcP57IP9eW90xzMBZFT2KAt + ZWnZjXXX168nDBgn017/LqTndVqGmC7jqwQQ9vo0e1ZfyBB02prNt048XSWsAAiNhAcBpL+ArRM9ANK7 + 0YsCFfXpoWitXmnuP/U0Gcj+BViINe/4j50hAlIGQGipN9rkFtI9byWgDVTfPG9csiIVHZ96rh0f2Wxz + GzTybD5M3wYhiLMnv1EAIsMQLJ7DWeUiRXdCfLvd4BMF94d/K+BhrTIAYknpQUIXKS+pVWzo79ZGbIep + GgsuKb3ddrmv0/hmo+ARmwFN1pWNpGGPqYT2XdjwR2lp3eZBo9X5e7PLBDY+h7X4+e+RyYVfWxHcznHL + YZ19CCBYcNcvAj7qKjCJCRMRnXZYfR8snVaA1JGHARSuzyiTzVt/zMROc4GIpN21e+n56OzD3K2fCDxW + LbyrHeiH9H8EQHCMyD42KF2Z73MU4ZBT09pxwOMY7APwmN/EzGxObVohFfISI910jypdAQCyiPEmewBE + RoAyBpC+UZu1JoCw/ksBpAPFVQAyEnt/EoBbfV7Gf/+tnqf8vwYglqB7inYHkDaCoUeK9BHV0SScLtpc + URWQaL9IbciGKvZVIOIgqRpEZZd54tz9nYx7sHQiC7BRzY2+66qdNRRQ1GgIb8uGqAMsYOHPWgNzK6dZ + gtknrHCbzXvnQXsfmju0W3ed4hfAM29LtvTxbKIy3v2HSON98ofk9GG44PS8h313BxDZJhtLUAmAPPwX + SexNtPsTNB3CmqvMViGw+ydJB+bAGxAhcdeRy1tOSyUMNE2CwwjoUS/VGDyuxUAQ2Kcm8fpZMvLEmJPr + aF9gH4p5hnEOG/cBWOe+QIc8DdgkeBhEunnjlbCLNGpjTnIWiJElBSBWeTgkuOcCMFX9sUmzGEiaRTPo + r7mxIpwL9u719boEMAYA6YcBX8dy3BYDgRkVgPw9ACIDWYpSdVLop4FWn+xolSRHl37vDiDdcaHTAvFG + AIGBKOSUGNPyduyI5MHsEqK3y/zgfWrje/SF2KWeDH47Pp07/BhRI48xuIWvNx9gPQioACBO3ZsCINMn + GJwkkJC0O3GiIHZaT/OWqaYP44rSscBldBPngriMPnkesLnyLbzdf0h44u8ndVOdRQ1mDguZaCGm+z2R + JTeTZyV4ZCqgXd9s7Jd+rkbckj+19rjTDAky5HJypcpq0xex2r0AG1JM15Glq0rBXOZwURACPIwnQRuZ + PIAAf6FZhJtFt24HuAAqMqUarsUi4t6U3biuon3QEW/Ph02DRx1VOz75jPOt3ur6uAu9Z14dVrZadslG + BMRNYmdtOt4ZlSv7WL8ODzxOlPn1j5K6zAeNptE9mpiOnlXw42DhSE1cegUedTmwjj5kKLPPu/d/dNm/ + 1y4z5pbpl5mA2TfM9Au8j2tgSCv/c3WDf6f36cDvX+O56M/ToZfGpFemXe/lWJaqeuhhZx91Is0IWZ1U + 2Vw4ufo1vR0Bjwyb+mRyrHaZ/1FLMHF0bZWzapgU8SNGkaSU4mnXTczyVJ1gI2xnT+n7SjGLSvbue4T/ + m/6QlM6q6dHok727fiFjH7ZI7t49iz313DJmKSzEDvtYgWuDtN9o3yl9DzMv5BEypBjX7fvKgXf72HZ3 + nsWNhQtLLcRO9KM0Ex57kBLWw2RiPfvDxZwZH3uUrgpAfj5RLM5E2RdEaITdvv3jjOJ+nd4mysceqoYD + 3Eog6YE4oHFcSTXoGnGSKPcthHOaDy3/OmjNnrKEpRJhtMm0xJ2zziih0vEYc4xg+IKOKdbRPAANwWPv + 3pIHOoAEPCwdNxNTvSa+vlqljd2vabFdjhhE9JaF1TPT6vsmHpdhqnemvwMAEZmskTUGEvDQ/tVmVg+5 + N+XgMln1KOUKxZ7987xBUsYqj7iIKXA4G0Rvshazo/fgymAYyvYFuz5hHoDExpN/yryOP03uvt2gm8wk + TrwyESTGsme2x8NfqLKUrMMGPsTsiYxA1sH1zAF5EsBBl5AZJKmX0MXJS39FFtbXkr5rfIGTDu01sSlo + mJ9O9lbKQzqvOAVEzHakreCh2K3Q7QsMy4jeYYy8GgxC/jp/v0CEoEZvY9kqHeOUvwQiAUlHlk4tNBl1 + kSNaczN9sG4nS9E1JoDMKV/NyejKzxl161CrEs5hSDfgvHpHXeergDICkGs2DvYmJ970iue6TChdGU99 + ZI/arwBy4kzNRUFMVLuKj/4sFu6LsFAOJscu0lhK1toJ+oRcHUSWAFJ9RAMArILIGEAM6gyA1N/7rwIQ + 78NVgHUoO3hnoJa/m/UmYDr++SqIaF1N+UoxtLSMZVyIm3rfrMs1VRlURogUg6g8KuPcax5Ija8lev/4 + U6zHI1Lbhez3d5kR4mEwTYbYe2saIWyEeJNkZBnMGFYjG7HW7km3Avw6mBRQmAZbZbZqNuT+uNi4dxlE + t33K9TOL7ZPMbwdMcjClVJ5m1MHCS7nGkg59D84S2iJ37ygd5ic4vKi7ZV7RJeaHEEgogOw8zTjbl/5b + +kAsYR2/RJbfBdI0mEe+xfCp9Fdoj028igGPMC3BlI3b6sn2Ta8wE/yeFfB4JyWsNfKubgMM6BtJ9A/2 + 9xsJaDVPz6QN2gI05ej+0lK8+dgfU+n4s8Xm/VRvGCu8efzRHMZljjIPjSoykaF0FfCQlemCLTAXPHK9 + s5Bmne4NpZ0YVAlSDURTRLP6Nnt2vbfYP2EgVcL6mCWsf8aFVT8oIWV0UqDGWM0lNv20bsUIL010Geip + NNWapPOs/6DKWOegqQo+Eex4c/hGA8Vr8InLoSfUNbGj7Z39cm3qj/9x0jE3TMh8gut2gV6iicf8/af+ + tMpYiuJEj3iCT7lKhmEn+OMFHFMcUTYOzq58L53oPaFXt9b6Kz+O53vrQeKaKWPpyJqbDEy449R+EJxZ + Zm+lkdCNv00ErMFOdIObgvs0TYOOvRVAmMlhou+6jT6EOk5eIV7lZWPi0UIuczu7xy2BqZ+Yc4WmEouw + pSzAz7KUXfD+r6TwkjQcwYyIkwIQHGLYmrXtrtkwmNIVVuKbaRqE+v7k5asVB1Zodrfwrp6W2tfaDTf2 + 6HYnpoGwRCesrR1H/2DuiAnEPh6f/x2yz3YvfWWx9yDi5SWaSi99i/XngAgAInOQhXQfv4J6W9U45gb4 + JkuzRhoQ2RBkICnXvMXvvMs/jx9+9W+OHsfy8ZTd9O3ev/57+fv998a/f0024/NWZavq/KaknAaxPgSO + jaQ16qVE1aJLwj7QLvoMDiNG3LTt8dg6/hgbBCUV5lk4btVavb7/jf2LrAuLjb3zi82jD2cuhJ3lVdai + 5LpzT30PIDhKg6FAUCm/AEmLzEheVhqU1T24n8OgOnUMXJo4u7xPe3dRsmKo2/adn+LUz0x2ZoYbJ29t + 373lKCGDxy6gu7Lp72Fv3T3PWFlYr+acvTsR6RtQHT9PLwwHDt93Xu48Q5QJ+sc2l5axZCgn6IOLRsf+ + d5S/twtzKXGZEzj3vXQeWQn3KyN+MeIQeHjw83dIHFCqA4eUgwlQnO+Qm7WFAcXoH2JQ1ghizYwfmqXX + GE+x+dg3Gf1N+fACk0eJnJ89+z3EfpgUr2v2UlhRWiTQP4qFlN6Ydguj3duhPTllEcwBaUqF1VToqrlO + AfjWHL6MNDEluUqaJbS31JE4377SAOSkAGIJ65+WADJ0oJf+kV/0Be95WLkjtri3utko+z+doFH/v9yE + dF5k3FgCSBI59YsbT8zPj9FQlkYYL7GcyVb2fKIeYVqg4MHw+k2i1zcf+UrLpMHt5BhX8qsSa6KF9kFq + go9h1cUJlRnndpo798M5ILi0Zi/8NVlY9IRg952+ap+ICwGN/+FY241z9KHgyNrA+eWa3kVYo2UsZok7 + dyTg4Tx0BW3LUTKPNovD/o/oHLCM9We+SqcokfKmAr8GSJnR9cJ3AJavpdQVFgMTScSJDAPgM8pdQdwY + dyctpicEh5jRKvbFmNHlJEYdWHa9270e4VxXmIOqUrp6qxLVW/18dGIaGMg18q9kH1qFLV05HIf5zmtH + CY1D+xBAJg7DIuRyQt/NjgO7HvxmSgJHH9I+ycLpUh9UZnLn0s3fLuW2OniMvzf8rN9GB5dCvABiSUwB + u07c79vy/6/+z/a9oWdBm3IeT93fYV3rfuY2y36HA787fg6G56gB7YGvfQ6WUUR14OvsowNIbRY9umTJ + OJwDYjAipSg2/o3d+xfrRIrb/LY+2SEddi/5TBNKLtPN24gaP7vYOvYYAEKfD9cFjc1jDwIslH0tzUx3 + AJ6bAaEn+XvMDEFPOEY57Hii4nVq9S7oBiQJ77O8Qt+BgYtqKwjZO6d+nh4imAfjX3dveo3lIKsPZNNM + 3hP7xtGL34iwvn/x6xxEFZfZRDmVOxLXplUb7pwH4nzxvD5c2jx4NOL5X+S9GfCgxFrPn0nCtCEwKnbv + IQ477H9HL/F7d7vvuZlSOQFoBZHZ1rVCSw8BkpV5Oj6n890zsJjTCOd8hjDtrNsbFvD4LkOi/hzBHgH/ + DKL++T9A4Gco3vOI/lR2anqnc8wFAMENALGUZcO2/R+0UCx79mQeDUB8T8R510CkDZLK8x4QaTEn2eOL + GVbwooap0kjy/HC9GEgApBjIrZ2BrAJI3BGCiCzEeljPkm+uic5A+mkiCY+8cGdxYjEr2Ac81FdtGuJn + J2x2yXB3xyyS5UJN85hzhZmY5XjIrSfRKdraevSbNavjfuLfsdxGHH8EjUNnFQCScpV6iB3qGSTlAKkf + EOH+twlSnBHrPrVbnWWXuhu8IJU5yPdjFab3ZBNxykFXMwDEqOZMHaMnJBEi5lDZ0JcBTugaLHUPmxsr + o8qfo4fAPNY+SFqm4Y6AlAOu1q6ghRhNIhDJQuxOR+NIjEnrTLdBUNo6vRdRHQCxXJVAyQ4guNS8bdiH + ZTVC247cwKTB/63S1Si6pAuAbzb/wzqvThFzfWyWMiiO8tWanbeWr26nY/bxmjOvjXrzaU5Kj36bDyiT + 0lyAhxlpRx/+Hv77Hyx2ETW9VLw8RvnAD/F10UcsT7WT9GFAEk9/pR6kJMHvvK8Akv99CGC1jSmb1Ghd + BSBv8Zj67xYTWwGfNwOPgIwe/ZY71TKhKmeqBSVqsQ0D6OGJLROrsY7ElFC22gAQ1gCA9SmuIIFjQgc1 + 8Rpr67z+9iqY1cTPp2yeMpGtE08CJGQ27aKB5fbczoVA7O08Ze8wAvcoG/oxo9xbWas2raalpoej3S82 + uN2TaB1YZR0Ru3ub4PFBSmavpnTjOF11kYjAHkZtgjPVmcsIywIIZXGFb11bifcgcDCpz+3571rI/uPM + Gc9hpD3feQ6dillNj3tYe/dZO49/lz2JURXuXdFlBBAqA7Cyww9xb90HIrMTfKdHaUB0rpCVCWYcrRES + 6/6kdrFzB2VBmwRhFruPsCc+A/ABmNEjBmMTe6mz5C1ledv7f4+DOHuqVl7lA1dAuw79XdtIeGaMB2MW + 0oCkkYS4sHhdijEWoUiuWRjIUx1AZCCWsLhj1k3TddgaCGOfqy7PPow97e9R7mUbrNzenpF2O59kRS1q + iEdpKNwlRNFB7+lu9Pu+0DCVCgGjJd+OSi4VxvZhK3vUzrcfYQAMM8u3oHCK6GZm2bVuLn/mm7NZhXG4 + LlPScowtArat/ulSl3UQ524i75x49+nr/0Jm1j8RdULcyevMRfbvP4iIfuYXcDlg6WWYjP8js7q18xpR + wBjLCTpLwIPxsWET9HiEgVDKmskMzL1C68gwK4HjQ/4P4lQEEMpYGY1rqUtrrllV9pCgq9hroiiuVW/C + PBCXZSrZx/wuqDEjfaf0sGQ+/B2wFgdVmf6rO8y8K/sv/rfZx0oX+jUBBPBITDsNT84zyGAc2Ie9H7hG + nIui0y0z6BkZPOWUtPH8jxabL/wNY0QBa9b2s1gnn0a0ZHm5++QPAJC/WuwhYO7TxHUUAfOEQ3FcaiWy + C5epzjndH1x+39gcT43VXNaa1d7ry5xiV/5fu2+5rytr9X5f636mRj/63at+r/8Pb9fWgdsMj7t1Zqe7 + u83sSSNZRVksv1eWXiNNav4GZRKcS7uMqXUWhWyjAAQWcgBAeB/Ys2B0f9ZGxY7vnVtswEbWjjDLwtvn + Nsvl39s89nDpJVYiMhOEslYXciOaW5lglgWuveRQkUu1g166y2S+gAejdLdveH6xdQPlsdvo9XDj4/ZV + 8XAoGYdRTuaK526ke+oxlHbSD5Eu6uWMEp/roxxadi7/sL3PKrJ8WOluZ1/jdxx97R41f/6vFxvPcfBh + fzqGwUAjwXSTOeeHfg6vUcrq/VX8znT/nsWcRtvpifPFPhztgMFn62EbP3kOEOu1EOuyOuY4WsrBajP7 + D6Anak+22uM+6jL7KgI6DAQASRsFl+YRDiASHUox3AZvX/+ukRSAlKC+TBnx9fB2+V5zapV1uhrMBZBZ + GMhH/44+EEpYUL0aYbvaQNjC1aJ/LCN/h87R6CVt/O2g4CvC/D7iONk05yhPgZoBDl0XPmBOBFrsjpFf + b4a9AHLMiVqylvvRQyhnlUbxJcQwHQgEmuFCkIno0ErGlWyDlZ4QAcSJg8SYyDyMca9ZIP+4BJAPEflu + 8CIsxBcpf+tenB0EpW3xt+dnyORiAqI9IjM6PhOaxjCZ9ctkXDH2NmBgCcuSFmL6/CyBkI9g1/0AAWcf + JCXzg4CHcctcrpmaqSZiT4is5cFfqb4S4+AZGmUmljlYU7vZYSA2DMlANk5+MDPgK6cL/YMkTsPUkv7r + 7zuoSvH63QaPrn8cln/VXFc2OWWmQYbi2C0LgJB7NdW9RumqRgb/BQO8/nax8QLrpb9fbLzIc/08jVsA + SFYDkQAI4qUdwMeHDLYCAUGkb44DeKQZbLl5BkA6yLi5Dt3LvYv5PbjU1bT6v9rG3Tf11curAOMa9/PA + 710DBK/6H8O8jf5YyyqbWeQtin3ZhazrpuaV1/dkH9TO0zNRmocAYilq3X6Ezj5gEIcDCEyE2PFkN8GE + 12Eokxk9QclzaplO+Vm7TcBkM6xFFuEcdmewC2DpjPc+Ob2U0ouf//0zNAQ267CjXXdueBVd5YXkL7m2 + EfAjFss4OKimFG6woAAC+8i4XsVvwGqZ8dT2KZ+jiOoVu6Q7MK9Tek8qen5oqG79KIrru87jeInBdJTH + ty7S8Y7O85YM5Br2XZncnGZbh6tNbRtgRMSENoMN9F+nCQoaO7fLPqoXR3Dcp4y2fRkGgj4jgGQfzarD + /jFlAdkRZbvsuRzG7VSvvp7eNNjH1aI/mzwQQb0BSPqC2mqN4vUzQaWaQwMgLZ3E8uQ1AKQxi84wIiQ1 + F1YHkCF0q/u2GwPpAGLsCeh1NDVKao48eEtVCTwTwUB2xzQm1iLg0QEEFoKLYo8Asx2i37cu/g7zywWT + PypW8hjurCe/vZi7UQ1sA2fVFey56h5MHsxEQkBEzaMAhHTe1//7YiKAhIH84yJlsYtMGjvzS5Syfq/K + WbARgx2ji2gnphdlAwudNf019QzLWbqxyKxae/7PGEzFieDhbwS01mQeHzKr/1/J7BeoKGW9iiYi8MBa + InwDHPZv6MKyZBXQCIDIQBAfbai8HWvg7XSno3lMSSae38ZclJNmdcFeHJV74t53CTxWe0DGAvpY8LPn + w9IVm4MT1QQRez8AD3s/ch9xsul2i9PNaBmYXgePTQBkkxGcAQ9Gb4aBPMUY0cs/gn18LyzCU5/NXn2z + jd23nfL7Zf/ZCTdxF2Lnkp0Yd/HeAMbwdwMeK/9ntNG/LQB5O+DxJmzqanBafcwtfijso83tSXRJpUAM + c3yMHMk8EEoeiNzJuMKOu3PjBwABOqEH9mE5SgChfDWUsBoDCTCMQQTQYLMsQDk4rTJlr7UCkCpr7TNQ + 6XxswGEj2oUVgnVkomHs23TquF2AbZuxxzs30yt2A+wD59f29c8sNjn5buEEs+ZfIOKEPWv+7Dk6QIdc + L1iMI3QV71so5NDp3qYlmhoeAEldf9z02PpW2mRWQXmfEv/Oo4DIM99NqOuUsu2EuR5XH+bepv5xjH4p + OsydlTO96cm0L7gvaRDYvcPJjVREAKy9hwiofZAGR5jHzpN00wMg2T+dA+JB3NWBxH6YyAdqz+y9xpkY + e5JBUW3FmSfYVHTN8r0hePi+aTmHib9p/Tx9VvoAIOzJA4B87G8pYf03GIi1rWbZHbo/ew9Ic2FlrG0b + fdjKW11cqQjoVupqIpmpq8cAEEFE5KxQLtmHm0YtS1nHzgIg1CoN/9q7h8YYsvn3OInsXvoqGTW8cI/8 + CSISYxQfZzQldjbnms8pk0xf4UQAYJiNNTVkUQbSmEdmgrzKdMKXKWEx+jHswM39g/+Iu+Ebiw0aczbP + fi5MJ4L6GTrU6XwPsBBatoGdWEfY/EkAJJHqaB2yEJiF4DBhJomgNn+OMZP87TXAw7+/llRgAOQDaCIv + 0plulzmxI4mGt3yl/sHQKQVzZ7uHidAsuAl4zO94jTcVTY2n0GJoJprfgitDZ8bNjyJU0zA4M6jtrYTx + t/vzlciFw1jIlKwrs3ocjGOzkwzEuOo9vOukDM8eYj7Co2gfxrgk1PKfAOp/ZXLaPwIi/20hgGw9ZwkL + 59sIQPZgHgEBwYODRIFIReLISOpU2L7XSwsju3g1JTI8x2lsPdrigBuwN669C5cd4MZ/f1TuEFiyciAa + rXFJ5Fr3Udt7wLAB1IHf6SWXKq1c9bd7V/eou7sn0i6ZRu/zaP0fQzf6mH18KqNTN48+iEhOM9vAPihl + 9fJV0zSSLBs2sQogAkeBh5fj+d51vbER9RP+loxFAVp78B6b5R7Bqn7uLT2ltMbap+l4m54TQWT7+ucB + kGdSNtk8zmiAE48H+NQJ8lit82fOt3pAK8/wN+yY30F8r8ZnT9/tFN103r4HDb0pq89pXvNeXcFZilB/ + lKrKNn0ZGbHtQKhrapHXAhLsu7jaNtCNNm9+gaZbOropW289/FWaJDECOEXQEbNs2tPXnLRK+Z3P1BZN + jjZFHn0AA0o7eFc0kPEu1bdXZS11ZRgJ7CN5WFwuZ32MQCRAq55jqGVjp62ENUwlHMW+D70gMhCeRwFk + voOR54UBQEThZqsb9Iyua3QA6U2Evb29dzA2hhKtpF7ILrocA7mPEZOSDPtWujpB2aoevAAi9eTkAXi4 + tKEdhYIdxaa3xwu2i5tn92Hy53EhbD+OMwEGYp/InHkfAQ9mf5jMO2VGSACEcbYzWMfstX8J85i9+k9L + BiIL+fA/AwywB2cfP8AT8RDITwlLjWXrIs2Mj1LeepRelKe+VUBFrMq66bgCwmuUq1jrr/6YS8o0lxG8 + nhFAAA4nhb0BiLQSliAjgCiOxcVlHwiNgAOAxHVFkCJ25I07PhTmMb/91cXGzZxKGJNpOvCM+STrtzLZ + kB4Lu77fPfAYM5DVDKzGQCxdGUGdmQbUwh3HqfPKuAUALV3+aFCOFV57HfdZRgrL9P4HrA8W8nIByGYD + kO1n0EAAkv2H8dyTl1abZjtIuJE2wCgvvvqHbKMcMQGXdj1fB0BsThRA2of8qg9/S1P43/z+8L/Hf2d8 + X0aHofHBqN/3N7t/A+j052L0d5eP17Trg4eug3+zeiGqg7hrHzX/ofd5lFjqqj6AY8ZetNnjbrJqH9PN + W1OSiRCepf7R2McAIF3X6OWrDhwHAWSVhSwBxVRa02cV5QET2I5jW3duJxqF3hPvU5J/AyYcJBHT04MC + gMg6IthjL9488Wjus3X/oat6mOktgzHvyx4JMqxueKFZVbt2W30obrTVCF2DqLL35etD1tCdrS2afYqS + nzbm6TYbaABkpSF3+Hrcmd6s8BwANRYI2FvXXaaM9SwmHiYgstfsPMxh+QHMRArl7KFTpqu6h/V1jF6V + fdxhFUi63EPdS+t+d10E4EAOEDzcR2Vo3fxUPR6yi5aJ1SLe++jiyr6qxsFhiGCbFdL7d3yfbQHkDUD+ + pjGQDiA1aL1suu3J7llYQxNhCeXVAt8cAbmTxpssQcUHdFyR/BKbgv0A561juyH4gZCCUaPLkPdWywxy + +uBBe0Sgo7gJ9pgHvAuN24U+7jxhZo0un79YzK/AOGAZU1iGE7oCIs4/ZyLh7FUA5ANuaP9aQCIDYVph + DZ76l8UmG/82vSDbvGDblKHyAqKzbAsmCvcwnc2nvrPYeMLrsIwrCOJxWP09DKO5uShb5e88RQYXIr1j + JpcayN8COH+9OIL2kbKXLMSGQns+nCcCeFi2Wkc89/QxD3h8YLFx2ythHTN0j9mtRNvTlbqO7mHW1P++ + 6+qwJsKRkD4OUMx8c0oOjN9MQqiriecOi3KQzowu/8ylVwP6CAD68f9gTvN/Mlb43wYA2XgJtgeAhIUA + IPtYeuPJDwD0D0A7RTkIh+8LHset8wYcavOszbQAIYcQf1f9zPcTl9f84F9rQ3hb369Ne7lZt6a14T61 + ++L7ud2f4TH59eh2w/1rJ8V8Pf49N4SAaH+848s2aQ6WfsLF52b5eNsQpXxOnSDYLLoBihqjUPEiaiCG + 6rXGM3oZMt+Dvg27yXVT2dMgiJQGAvuI/iGAVOlpyT7GDOTtAMfBniI1k2IxMJG4vXb43ydjzxUw7P04 + egptBgH5KFlUm8ceRfN4MbbRrROwD77ePP4Im+9TgI3d8zy+zPluNlv2KC3DabBDB0knOY+3osnLPlyR + 862hMcDRAaSez+Uyll5wbnth5sTjEqORcAMAmO1gIpFxHehE74kOHTBWekB47PN9bdA8BgBx68bnGTtL + 8+MTVFc4HG89heOLbvjdxxi/7b7W9q/N5/4m73f30YF5ZB/1s9DeF2ms9LGwrwogWeypLM0GedzDrHtd + bG0GSJ6X5ohr5KEcW1ac2nPWEwXyXqPs/3YBZPnkVXdidSb2/JQCiwrbknX0yIL2IviA+FDYTFYNZTx4 + HQQRgcqpdUIGogAWuiV4+IAV0xHUAJB9hlMFQB7DNREA+T6n/h+wqRPZjtMqwAHVm8I88oSzmctAvBQ4 + pq+B4AJIG3mrU2rzGWYA0JCz/QjMRm3lwhdLZ3mULlTLZPahPMmQGQBCS6prAtNZ+8g/12b50f8ZtrGJ + K2Mbe59ls7U3ACjLVwjoYSp4uaN7MB9keo4OdBsRMwPEQVLluprbxGjpqoHHxq0Ep918BfB4jtroo3Sm + Ah43WLr6ScMS36qcNbIbjvpAKh20AYe9AJwUK7L9ZAW6YTBIl78mhjwvsK+P/+fiyCf/X4u1T/yvxeSN + /1jMAfCNl2Agiui4XRza4wlqAI++6Xp6ahunfv3eDZxar5ts5s20FWdMGTAOAMh4Y35b4HCNk+b4d9v/ + KeBqt281535/+v04ACABxrcAkNHfXgJpAVI2rGHV18Pf7+DRKgVDQkQ2hpb4EOCQZdQJvOaVe92Z43Z4 + 2ylOR7XNcAjn2mInjFC1SdCyktf7xv7OAcTy1VgDOaQhtWslsQQ7bIkJfGgt2lo3TjyWTu/Ehpx0VC4N + gTi3dnBfbQoedF/r5tpwHX8oj2OYK5Jyi0BSEw7r8dIYmS5yelwys6RsqcM+NuRAFUBoBR4iV3r0SgOX + 2nwr228XXWZT9nCU5lkA8KookzVZ/eHNuFqkY3++/ll+/2LswOq+Oxxkt9xzqGjscCjdehYn4/N/iwvs + Oxy8YB2ARADEz0V/j7UqTjryx++dBoLH/R069o8hT2TfHdJECkyKIJQzq/b5qkANlajcvpxu5bzthEIA + oYQlA3vhoz/GhfWPi1vMl0nTYHWer16vOtrIhTXcpjca+o9b8+EomCvJm24MxFkcRQgq8NC7XXQrAtAA + ItIul3HwdrIDJDYJkdWvnW73cU/8AAgIvYFNNH0eMhCpXsCDecECCJvXlHLKQP8oq6y/8e+wj2IJm5eJ + M3gIV8OjgIWsg1LWzsM0wPk1HZ/bT3wnwLD9FDoHyxd1/hKs4g3LVCwA5AhrA2vfFi/2xvOUtPh+rLyU + t2woTPAh0wrXHqfZ8FE62J0qSEPh5B5tugIHjOMOXFe3cel10mvnNwEcNzIHwBkAhBKu3XCBuPTr34PS + 1YqIPo6d9oOd6WloH55AHVU7J6tn4/rc180LWJgfJ0DyaRqbXqBZ8xVYIDR77aP/CYj834u1T/6vxdpP + /a/F+sf+L16D/8Fr9ePUbcMsZAxhEJan2ukp1vGyj+cDwvvkGBqIDCQNYNZcx9lsTUM7nvJnndzH+UoH + 34Pj9+Pbv577Nvzdnt3U7O3tvuQ+dzDrtejhA93Y0pAnd/B/h9n0tIdmF63noJ6HZW5UCzPN/amDV7fU + Zwxpd0YqfvaZHumWtkSFOJ1AQC7T6wHrMNMpkwXRPW4mWZeNUOCwJh8AwZKrDjKZYuON/nEN9hENZJV9 + dAF9lJs2zPpe2Uyjt3WgEUiqd0T9xdKQ4vc+IY2CnA2OdrxvoXvYuLh5jAmX9p24+SLE+9iKZZXDrJrh + uC5oxmUGEPE8GEXi147yrZIet0tzYDlGU3Yf73t9L+v9bb2RmpkaPpfGxsuapjxf1+xGXwUR7bs81/Oj + dPFjR97YP1fZVXSNG/uz84QlcRyK7nWPsgc9/QOsxj+oyk0r5crii63WWuo3q+/v6n/R5ernyMve+b98 + nH2fv3q/7zgwaN5Dz049V7LBdOK/8FFKWAII0SPVrt4ApF+2J3UAkD76cHjCezdpo4EDgrUHlA8IdT1O + n2EhCOpd7AmNTEMhm0cbDi/7OH6OvhBQM37mB4gpwEK3xxO68zgbOla2zSs/Bjzo8aDPI7Zd2UfqhcU6 + UrZq1K8cWA1APuwlG/8VmtkeImdGcR7w2H7wq4AJbAQA2UFn2X5cACnw8HLraUCLJUCtffTfKdVYrvm3 + AMiOP79sGQvwwH21bh7WM+RgCSCJO/kCyb2fSykr6bq3v4xYzvRD+jtcG+oegMcGCZuzmxkaQ9rm9PqH + GQ1LgxGd3u++7rGifxyIMEEEzfhNyxecDgWRDZw5JI7ObuMUiPFg69xv0UfzFWJimDdPk6ZON3WmCWAh + 81j7BCzk4/9XAQnXpx/+n3wQfpjXf6DercTTv44A6JudD0reIw1sjmMtX9Z3l6yhTv6ertpJ/xob9U8K + JvYnLcNER5t4A41+f5elhGUZrt/f3k+V++DpsG9IAR2/bie9zqq6t38wp7SyiZ8RD1iwcyfRVVmhd0WP + cq5kGgx+GrKonFUOWHhKP+r1DIByJC16AzEcagj2VkwTVXJzwGMAEMX0iYOO3ln56qD2sXoCN3TwcGG5 + dBHFdYV7BfY7Frv0flQ8yidj/TVCRd0gUSqc/OdHL0QfSYZXG2hVYrAgok2V50MGotPLsbsOxCIGxeei + Jw+nrNUsq0uNoFI3lptsXe9CdER6QNq4Fe/fQSvvIWGKKyAyFaQZ2z27gVyx62mKVPdleutR9rrdx6rC + kiZccrx0XQkiW88St9IOX3uPfndZxs37anRwz+dgxCCSgs3nRBkB3TEMa2VfPwAmKwwkjzuaSCMPmZne + AIRctAYgMpB/gIEsa329bHWd1KbHmOSPNAdWgtFcgscyjmCpnYyoUKNTcWJh5w0LkYH0IfABED4gAofz + fAEPKZfiu5MN9x8gEgMAsSa462aNG2Hzyl9D7wARSljDJpZSVjkWwjziXvBSAKG8FAZimQmX0Itk4ARA + YCEXfxc28o0wkN1Hv5X/40lg54kCK+nkNgCxTROP/Q1rnKzXPspGySa5ASuxrGaX6gwBPw2ECuwEHqb5 + 8AliTIhAMXnX6PYEI96OzgFo9GXZan4b3e8OkNEaeBOlq2P3ZyZykm/fNdfVYeWslQ+0pSuTdjN+s2YU + yEAS0c6slk2yw7bxwO9eNC3gu3keu2FB4XxGuXAdEFmHjUzRQtZ5nvJ1YyMCidlFUuvhRM1rXk1bvPYx + XGD59pIPjACSk9O4Lu0G62EjNL6f2A9S71Uq/qZf9/p3+/B4kDmwwfv9fvrvNeZ26KnZ7kttIl+322QE + 6KiU0D9TlhSWn69+gKpUhl5OMMOp9y8cd7Kn0RT3Yc8kMy71/h6MpwtJC6w1f9lGNkvBgj6LnN5ZloQE + DpNzTdE1VRdnUrq6scZOZieifZQGYubVzQGViXbeNAV251UT0If+j6v1j94HsmQXyxHIa0mtbXrAVUCC + LuLfTUnL+JRdmNAN3L/LATuZUkpX2H/tlN9AQ/AULxOxRGWpTsZRfQuu1i1uwOMd9VxUmvCHAaYP5OsC + kWIjMpZ06UcLcJM8uApcerwH7iWjQzIj5Q16W8aRQisAcqAPxIZcQJLYksntzy8mDI1y5nrSco0fYf/b + peN9xz2H/ce90srLzlOM4b3MYt87SjXmmAGRfmZSzuyH9nbw531ZINFKcpaceL+llOVhzJ+Poqn63j6+ + /YHruW0rXzXxvQCkNJBEubzw0b8OgNyMWt+1jP5GPnDZ/MTVid4iTZqQvqyNjUT3Xi9LuUptA1aBmL7P + E3CMEDRPU8vSlbqHcSau6k4/ykYT/eOBryeW2TgBN3SfTEHEstH8RdgHJZSUsVLCqn4PGUccQS670DkF + TyxfASDezt8xlCzsgxTg7Ye+HjayA/PYCYDwQqq3yEI8Bfh/ARCBSwbixqho7Ol7+/FvRy8xuDHlK/Ox + nP1hhAn6h/bfCXHzBiQ6HErgmNHfYY/HDDYyvePlxfopXFcnX1is3/LEYnL9xYCHG/d7Cx4rnegK55Su + nPWRATeyEABkund6sXWK8cLoHpt07+9cpNxH+W+HU5KvySagqt5RAPIvsfBGg1J/el02iJkBAA/wsgQZ + X0MPFEknSGNplTItV+pAORoA8dRks6lgU++hPvu6v5+inTXr4pu+B8dmkDe5nr8XJrB0H1ZqQvteuw+l + 2QF4+XC25dftdsNjam6fft/q/i6BIukOaYQzF87OYfz5rArD4xTNiiuRJAenz+3f66CgPt9BkZhSlZHr + rZvcevoum9pO2AUpuoDEli4meyfQD1L62bsP98zdaeqbUE6JbZcmQC+zeSeOpAnoAwMZu68OOrAyyzvW + 3YP9H9fSAA5lIaOSVndpCV4TS1rpGcHOeyMHrd17c/9nNDzOuD7DzWRulmW66D1xnhHrodZjHhaMw+fE + 58PmQ5+H6dYt9JYwKdM49PyeMed2ZffO7N6RPYoCib21jwS2h4ZBaTY6Mn9dIf1NAxVHDERzwnT3bjrQ + HyAK/kmsy3bjAyC+zhiHPNRa9ehzz/fpPi9Wwh6U9X1cWNjcfZ95AG/6RekzFWLbr5fbyu/VPmtUlCy2 + 790H9vHctv7G8Pvtb3bXVsT3lsLu4WYzDAQAeV4A+TQAEqW+BJWrVhNf6o3dACTNOau3vTaAeFvBQ2rm + RmH5KiDSPoxLAEH/YPM4ygnUBkSfzN1HQGJQeVtWoMDkZh4AMaoEFhIBXf1jFUD+tQAE4NAdNAVYqtT1 + z6V/EPm8fekPEdLZEBXp26ZYgr0spP7nFhveJqLWBv9P0NBtJJDMYD0CyBY9KsbPG+m+Ztd4S+pN0yFp + vJMLv0zPB+IzOVeWrWa3vgB4cLt7mKfMXPT1O2kWvPUykejEguByWife+b0FjxXboc4YR2o64zz2XbUP + ShhYhzfuZvraGSaxYTSYPcXcaNjHDkxtBz1Klubl1jM/opwIkAskL/wd5oK/iYC+8SLd6AiBG3xv9qq6 + lC44ABhWIsikMYrDgidu3w/7HDB8f7iWAMKhIk2oZb0s/cwDiS6+g5t9r2W/YzCJbVHffNMY4kDRqdPe + ny1vaQkEVXJN/1JKr3VfqjO4v687UHQLvAyirJF+AOtzhGMowMGlTkQ7q9lMEiPuIDYuHci1zzx5O6wT + lneK069ahqdqwSJx63RocyLUGTTfux976cnBlpskXU7ziuOyDZsFo3EEKHRblW23Tv61ls2DY/YhQzjc + vns1iBwunh+0vI7Zb4nOS12lsZHm1vIxpeYOYGiBNUbd627eOze8UszLtNzmOhsAVQBBhDcCRRG+Ghn3 + 0tUuqOhC25fBREfRbKD9t4Yx9XJYXZobpYvNVGHTixlaRUnMJsclgIyCSVcZVusVmW7cyO3vjt5kFIqx + 99WJD7NnGqLJ5VtPE+1DOSvvEZoB3fs8yCaPCwA5et73nO8tHWG1F1dwYr2X4qzyZ/l5jba1Wz9N3Ymo + b/EmfS5628/DeIdyVUteH9jHqIzVmja1Uw8M5EM/+/fFQDoKHaAtjcJEQB8NY+//bLht1cYOrAOnPag4 + H9ACBcoUlqzyYatTX5pf4hiAqcA+ioGgf+jA4km0LhiGEE2CDf05smk8/b5sH4giOhuUQAI4VBmr+kCS + gyUjkX34NbdNYw7i+Q7lGMtX9ffZFGUflsr4XylluUnKfNjotii/5H8+j8MqGsh/JKBR0X3zMfpKcHA5 + gz22XSNPHiO9N2GLn8vAqwnjcud3fqhKV7eSa3WaMtc9uLROwUBuo9/j5seYhXwWpxPdrSbfvl+lK9/c + AodR7ZQZsnlQxrL/Y3YaxkR/zPb9NHVd+r3F7LnvE5tNvhnBbh1AwtAEdl4TmWHotuNBreVyegpbBEhM + BBBkvF6uOMtb/xnQMSYiDHVoOsV0IQuVhfieECwaK6gstdrYD2z4fdNvYDCAyOp78hpfZ3P3BNd/Hna0 + ciCyUa2DSjN7hImoUfT75Xs6S5G7m074cFOGGgYltZyqAIbAwdcZPwpo2EltplFO0IDF7p0k0hJr4fjn + TSyfm3Zjc/pTWFZwTqJr25SiY1iK4mRoam56OwCQCRtXxHHMEAGQxjgKPJptN+CBrfaq5sF3mX1kM+29 + E/2yl1e7AC+YtEgUQYTr9lxYxppt1wbsxu3axA5bWo+Jv7AQ2cFthDBarmolO+eYqOf4mZLVpKfkuufS + 4e5tqtSn3Zcy4BA/36f4OSNFPaUZEwYLNCI6zEg2t5xIuJovdxBIZzwGX5s5aceZoQLw5T4DSrsk7hrh + ZPuAgYh5T5gNxsa/4wGag6q9cIbTHqOcOcSOxDxQuWc1Qrx+L+DR8q08oByl/Hk0v1dmgyGZYMi/6h3o + vWu9v3dXLtPJzpC/DiDPv/GjRQGI9GZc76qGk2ENwp12uZE3eJTQe+D3r8FmLEsFRJKP5QeSD1v6P/Qs + dwCx3IX2AXjs6cASRB5mk5cZ6I5SSM9mbu6VDITeD0tY9H/YF2LpKoDSmgndsJbfsz/kn+O82qVpp8Cj + A0hZhbMEK2uSLsBE5rN5RRD5cUDJEpYW1q1HAY+H6Fxn7O4EIFhzPohDpzqA0ES4fpGZ64kr4Q1H6Wp6 + B+zDaHcnHhJzsn4Lb3BKV2vH78nJ/70Fj/GbnOtNwMzpsDd5UcqaMhdlfonZ9Ext3CLSZUbC8RzXlUzN + YDcBJOAhWAAaEfy4tI4rAFfZkdsE7GWLvE68Hgruae7U2KBGkoVmQrlLJuPBwUNEVsCj/OwDPU8gZ23S + vmciLF+TOa++n6/xdft7Y/o//n9jWh/W7O2b3Vzb+fC9BPe1xOmR2O1pMHNx8uHtH2AZRptrTUPc/p2c + ahm0tmvJhbkXDixyZOrmDTSa3YBl9DoYBg102le1fxpg6MlcADHDqkCkAUgHDxoDC0BkIB1AKFcNcSXL + xN1Ydw+wjy6gt76PQ9hHL1u97RLW+GQexmHZa6wbXEOna6AzNDfaQ2K/imAIOKaMlSFWuqNkHRgFAAZT + gM2sEij7Z8rHbikrLIQGxWpMfLL6UDJdUfswwrzlrcwA0cWmvoTmkRG+iPE2X4b9YcEnhfhtAQiHwhnz + VZz/IWus/wXwYasu4Pssc3Q4ZGcQlMuZ5ixKlw7Qsr1gm73GaPdjMNKaKtjnetRlTSGs3zs+LMueHEws + g9pzN6TwLpN4V8GkjAV9jWNQCg8EpyWAfPSHiw/+zN8BIL2LvIPGSOtoAtIwueqAl3p8uxHgNNGlekaW + S50jIIK7qjtL0gPSP5D8PBn/DwIy3CYuLDasPQHEZkIZAY6ozecoKcXKa3mExkFjS9oa94SUnZfavHV5 + QCbsBMF7k7RfZ1Z08CgBXQDpwLHUQjqg6LbavML/5X8fwYXlfBGnG24/yITE21+g14OgReeGOHgq1l2D + F5l0yAz0hCMaVWI8CV3ma8z2SLnr5LOL9RsfqpkAdHq/9+Ax+pAqbMo+PBGGfWinJGH1+EUCJT+XufTq + HsZLz4iO8XFvYjOUMRQjBFxbbbYDSYwHAWFLW8yY1s/eyn8BdDSQKnf9U/SSsBFLgugj6x9FI+H7WqNl + H9X01ZtWl++hOnhUH1E/7ffvlWe9a3Qrh6Dxz0Z/O2xh+LpAoEBp/Lf44OT/1f+tnqXqXXLuREVpVKRG + zbyp02BOhHx4ncGQEktOslhqGXi0d5KJfyTL7lBLty4vaNg0t43F09TZzRtZAMjG9QLI4+nangsg5igd + Bh6WrsI+qqv8avAw60oA6c2C1XGedSj7sIQ1Kl2tgMjh+sc1hpEd6NheKV8d6OQeg4i3GwnxzRYcdpJm + V0pSvGfDNtjQBQXTe41mSXovbE3wHFuOBVJdXNsGMwIcxc4wEmzdWt9HN6opi4jvTmVEhBc0BG2BOvNP + YBDzndJgLA8GSMOqxqs9xmgg5IRxP2VOAr4GBpmPgJT/kTIaQGVjpMOh7nWyIpu+0S6yUSOeznKQIwTW + veYY1t+U3Hw/jRfxL8f8HSPt/T1vl5ReFp39dvhnwqKgaCKy5oswLllQjQNONlaGTbW491Hke02zLOef + zG/GREVE9B/CQASQLrD0uJJDLkfNOtWM09wJY6Zy2PUxiPABLBaiZROnTRhIBxCYiJMM28/3L2Hl1YUV + ALGUtRTT0wtCOcnE11hJYydldUtvayoM8wBgdGzJSsyWmRH3vgGD2UMMTumKvys4BUDCPLjs1yOmq4VY + zoKJ8LW5/EZ32J3u1MTte5j3QWZVRHM0j+RfGV/iCFznf5xnUl96PxDOe/nqLgCHFM61Wx9brF1n6QpB + Km/Et2r+e5d+3ktX3as/qY1i/dg9lQt2kYh7EotrwBfxMQDI1rNYCgHQMA6ZRnOsdYHPWq361i7Pk8Ax + AAilxjCPMEX6cDAjpPzIa7bJayhoWGLUrRUgAVAEmT1ASnY6WFdHm3zVeRWh68SfWQ19jY0eb/bebIxh + 7C5MPHgAZPzeVu/rAFI15SyaXQs8/CyUiycahqe/1MxxSPnhTfNe9V948rSBb+cOgINZFzu3Ch7MuwiA + fCBicWLLLVfRF7Qh+0Bw3bjuEQDk4Qiw82NsZorhispNC1iWr1rpKm6qXrpC/0j5SvBQMO9xJV5WN/iB + 4MQD0SXX1j6uzTxGY5C7iHyIhTcMJABx+Pvevy+4uclnImJGwN5eTItBTHZ025S3eyOuMk71gsYurMDB + UwJETsk7jaHxO4KrZS+FeVmIvysj6GU/L93gncZoBIqsRHCq5F2ez75kddGUOhi3nqmx7XkwFlCObsx+ + He0pPTewxUx0TEc9I4L9X9zvOM58f1DecqDW0btqo98HWPbu/iw6JAc6xlsIOLrA+tjhvfTMOM+F5lDW + LocS05W1GQusiv27vM+2b+O6ABvAdYokyxIe5bvMasEGXuU6ImJ0tQkqcbcJKo2xOJ4ct9sAIM+/8YPF + h37mbxHRrdl2f7n0ZfU6Xw9jD/vPR/Smpz1e63L0QVYIUhwPUJB31U90Rx0qpQYSHUQnFgDi7QYWQiKl + DCRC+g+qNEIJKydawSMgYoxJ6wsJYHDixa0lW+k6ibfza10PKY0FPDxVw3AEjugffTUASV8IIALg2DE6 + M0TRDChmgRisZlrvEQMXBQ91kIfoPHcG+vmfSZCiAYmz2xDPbwE07oaBCB6MpnUU7NpR6qg6oN4v8PDD + jNvKkLuUENRcdF9t0eR09hcZ1sVph5h7M8G2niB/DGFvRmxM3/gVxQOmsg+AVcBIv4y6B89nmIkGBJss + Y3SQIbYlw5CZWBKMm65YZJikQIJjTm1Eo4LlLb+3SzksAGHDXGMFdeJnU+/soVvM3+p9OPr58Lujw1AY + hGLkkGBaMQ8FFDVtUz3DkpS16IxnzvhQw+lKu0jzHmmyxmhYpihLbQeP+nDv3M4SQIjFKPAgsnyYeXGl + gcczDTweBzgAD6b+CR6zo5SveumKssgSPGQeLsGjl646eLSk3ZSvlnlXvXR1cHDUKDRxzEBa8+BPVLo6 + jIH0WJMDcSArB6TExePIml3HaR8gEQQ8ycPAZAzqImociumubbUNwcOJiTQdpndErYjbW0LyeUtPSfQU + dRTFeJbairpKAIWVOSf8D0qF9fzK7gTnem4LnAtEJlNBucIn7WPpq8wIOtuaWcHbwlj8GzPKjMahz30s + MBunQGZUsCGLxpxgYS5gcfY87w/eI5u3vR4np/0v20a70A2eOJQsvlbb0VCRxW3yfnopwLpzy2uL7VsF + DscCAyhc+v2jmfVO+a81nVY5racXtCicnpeV5ssaUmakTDGQN/6KEtbfNAAZ1756NEBNMRvKV3384fC9 + 1d+5xtc9BkXnCSFfS5aBFtJKAgGQgIhOLGcTAzSOqgRE9gQRtBA3+GxWXQdJQyH1dQBkrqVXEGliegnp + lK9GAJKNzA2N20X/cA3gMQKQEZCEgWQBJgY64pjYIJDRHKgj6h2m7ap52G0ucMg8zL5ypvr5T2Uc7eSu + 1xKOOCXjau0u2ErmezALgIh2U27fP/BQ9/CE2IT6MBFOmQjnG3cRI++0x6egyhcpXZnPQzbPJp34lv5K + yyjjgmXEsjm7dGTJSOq1Cbj4/TR9LtlGBxIddEOZy/4a7diAvYzE6/799O3Y3a5GggXb18u/66Z/XSbr + 9Y3dg0/P8lnmIQ3f6z8bkkVHcTz6/se13pSgzGbz7/T3PZfte/UzrbXaatUwKBU4GCl2Wk6KMg0HGTkN + zz6BEXg4Klbm4amwwIMaOh/oATxu4sN+IzMvLF3dcGWxcRMr7APt47pHF/MTjI+VfdBAN9tnM9zzZN0E + 5Wx6lK4ow/TS1QH20YXzA+DRyletdPWmAHKg67zbdbuGsfy6gOUaJayrnEnVEzJEwKf883bYdQFKjdgF + VGQmPA87lK+2j5PWCzA4IdEu74CsLA2domtEcxxcaUYMMNh9LwA3cMjz5xIoRkzOcmCWoKyWdJB99BJg + lYDVjkwdBkjC7qpEaF9N7q/gA9Opxk3Bw9dQwNIYgMWX+5oBXZn2aHS9QPFEuexgLNMbHuPSnpgLxWD8 + Wb8dTEndZ0cWm/G/jAFOSQ/gkOnewfvvNgaH8T1ZrpdpNE1eGCaE6D4FIMPsdONfeod/BxAAZVTC+qsR + Axl/oDporALJ6IN1QGx5CyAZAUgGv4SByC6wbEb/aDVlr+MIy4hb7GxLEClRPSyhC+nqEXFi2VAIgLDx + lA7SbL1NTJ/x/YCMdXdBxto7jixLVZbFevlqyUB6KavrIAUecULYqW5+FvHL02e/vThyG+xDu+5DlqwI + T0zZihnoLtnHuZ9KjLtz1gWQyS1PMZ3waUbTPoxwTre5pau3/eF5Ox+wt7hNE8uHD2vYB6UCph7OHv7i + Yv3ZP0lUveFuMxolU/YbR8G4seOg8nu9oVM25+vgBu/zaeOlJcJ08AM+xjP4dYCivT49JkYtRQDKz4yg + 4XWR4Vii9LUKIwFIZCP28myQPiDD8T0SV2AYSQOT0XtsyDs6BEBqpnQHiaUpJAABs1gelqDrWmrDMqoH + w7p07LTUm48yk8K6dWrK0TWqmU8hdgAPrKK9bJUOcE5/2yc/kdPg9i2WrhrzCHhQuuLkuGHp6sZnFvMb + yBu6/jHAA/ZxgvA+hhDNaKCb7bMh7lmDN7+qgUc2PHWPa5Wu+pTBJpyPdI83j20/mLg77vc4PHX3kNiS + Q2ytahfRUKKr1OXbAxAtv7xfSUmw4dGNWD2iRuuScEv5aYuN1Q0uwYsCSpoQBQ2YCGwjJ32upynRpabB + xi24zGUhAZRVHYmMMAHYdAZ7pNYrUdgVBp8y3Cg4sZXmApDqNc5ESVzLXtmpLcuFUcFEeA3neRwCSDEk + 2YcR9kbXb/E4tsgJE0zmRB15oPCxWqLT3hwGYiksAAJrCeuAjaGp1TTHV9NLs8NseQGkeoReqCZThXyS + kGvcsMDRS1Y1hKyaVuuyA0kxkEEDAUB+Vgai93cMDn0+bv9eZczUGt/ubVzPB3y59CILDgUgLFiG9eRk + 2HcgYYMwithE3n1yYtRD9iw5pQeBEy55VhG0PbGmP0P20VZKWFW+EjQEEEElQNPKXG6AOTVHPK/y1UEA + aSASQVjtQ/Cw38Oxk+RnPfLVzFA/ch6AwKpbJStYx6WfBzxoJLwAeBBncuTsxxdH7mMKIb0eMwbH2Czo + XPO1687UYCZnbrytk9e7AB7+n/EHtc8yYNZ6OuefY4Ki806YmWK0y7ohiZ8g34qAxESU5HpbBCcK2EOk + DKzO5s5YrHlddKz1CJiYDwCRsl5TslL74Db+3NgYB/Vsqmnxc3/mayRL8W/4N0sjoRE04FWZZnNeT8HK + A8ggYAcsegOYTKOu573X3rNLkGhzJJp2kXnaulTUMFo3s24Y52uHaSBCyjYCHoiR+2ob1qhdNvJZl4Z5 + pGQVAZYPZ1gHjiBE2YBHrKUfWmydpDfhVprjLCvcLPMgbTbjWi09ULa66Vk2CuZE3EBktgByHeWW45cA + EMDj6Nmwj9kezqsEIGoNbeDRdY+4rlrpat5su2/CPg4dGnVI6erqTvO30Tx4mPZBP4abaP7vMITKTfbt + spD6LHh/Jjy+AhE0EUAg5R+dVQII2Vkb+5cCGIrflocE3Q4s+b4Nidhr8zzyvGkwCIsYBmaNALEBhIAQ + wMhY31GHfp+V0plIYoFac6YMROCwhNVKYClldWsvJTSBUPYhEPhe2bu1NIutWylhWZ6iVGf8u++JAkaz + wQogDZrcvl49pUDE95QlKt9XBmbKRnZu+xj6SIVT7lIS0yAQtqyY7oCu9MHIqBuQpB9GBlId/l4WoIwY + yPOthHUTA5yWNsNuN3yXLg94jW2UogRA/dh5H3uWp1hHARC/51hLRzHamelUrX1AZP/CV3KbXZxZzgbZ + cTYIp9ZsOm5IycSqMlYHi2os1PWDcNsFduekJ8FXNxZBf5Ze9FjLavqiKdC/n/8R0ZzVmQcTEbceRVQG + QIx/nxxD/H6wieUPIKSrecg8BA9LVwIIM0CO3EvPx0mEOKaPrd0M87ju/kz0O0KvxfsLHj2PaARGN5zL + nPd1Z76/9D10nb9dHCHyficA8m/VQS5oGJSYxddt+Rz2RABLWzZr+js+5wKJr9EWnbWbuuZgIgUsGhh+ + HLDQkCC4+DwHZHRseRsZS9es+Fv+fA7DSU9PB5Jc4oRDlPcQkfeQOoWuJxvz0lxV1wc3VBxRy/d5b9xL + 054TNLVAZlJbd6/oXPnNsI19wYMP1i7TMvdOe50OcK23ggesY0+9w6BCBdAk3Zo5RbkAW2n1I1BKIE5D + sXQTANkCQLY4IW7dRLc4H3jD9dLjgeNqHgB5io0C7eN6TnphH2ofzKCAfUwBDzuapzsIwweYh+LuCDwO + LV0d5roax7YfPvOjHFergDEuX73d5sEj2aTLVsyMmVF57J2OLFgHiAwzjD7BptyTfcviy2pzR9zoS9PA + QRWgISpIsFB3BCiurgDgmoJBOOO9gMTnpCLtS9+oTv2U0rq+0WaoLB1tZUxY6h+yFzWQVgIzgyyivAwE + 8T4OLxomYR1Oa9QJFtMF76Wt++kT4X0kECQF+AYMADKQgAdAaV+QpSy1D8FD+zJlrJ5GEPCQgVDG2mrf + j+hu6SoJzZVoUII913VldR0k3f3lyDpmVEyuM/6C/y1LO3IQQEYNJoNnfQwiRWd+IqAZgcgxToo2UO3B + QvZkFjIRy1ZsAEsQMR+mZvsWgHC7zAYxRqMBiBtNRFjKH51dNLZRfSAtnbezD0/M3Y1FqUQAWgIIwBER + XVcWnuuARl+UZQIelK4IEtyEfUxgEzNsuY6lXbsEeAggFxrzUPtg7kfYB/rIkdOvLtZvJyQxCbvnEc3v + eo8GRL0JSxlEzN4HwuUuH7rHSQx+5qs1/MoYegZuHfnYvxeAUD5aAscYRNp1gCXgzfNrGq/uqQmBlen8 + x55rVtaWIBEQEUDoo2lMw0vjZHTABWjQSzYEDxsSXa0M1kte6cjlbwlYAkmSlWEjgpb/sx8UIupzyAg4 + pJGKElRstRUNku+1D4EdwFmOeNVDn5kZnsAq/jzgof3xbsLz7ABnGT9R3eAwjqFcJXgAHKzd26tPoMAD + F4zgYR1a8PCDTDnBE+XmnUyhuxkASekK0dx+j+vZGK6jbMWUuhkAMuOkOSNYc3aCkzPlq+lRusw7eOye + Wkx2urDbLbuHNAym7NI21AOb3KjjPHX7cd/H1TM/fiIAuYYDq+sXbqZ9rvqyH+Ra7+Eye2SOCEGPloC6 + LTb9FQ7DYoNOGSklIzU+QU22AICwSfs7CYnsWk1+Pp7XUdrgwD7Cwjp49OdInaPE8QMDt/rslGEIV+/s + F0TUm3wdZIOyENhhnGWUySLYyz50fzUzAHldO3m/uIxheYn3xtOARiURe92SVYBDs0AHEPUSZ8aHdSx1 + EMcVCypbshLei73XZcmcHebljHpdX8xQCYBU133ZeysixpXPDp+XEYB8HxH9x4ubGNV4sH2/g8X4soeV + HfazN/le+yBXZ2SvKcNCAIe9i18rcODyqM6WtuzGlJXsCyJ0Xxp3vAQQNx27nIlZf0En1oiBJBurubBk + GmYyCSCcaBM9ntysajJ0g3OjDGg01qHLKtMPFYTVOxyli2i+Zbc5uodNdRtnf3UxuQ4r5d2fTDyJVt2U + rqJ5wDzQPY7c/zHYx0cWR+55jZnoWHZvw3N+FM3jBM2CeyD3UEpaTShdafR7V8pbPcRuBB7mXTmj5Gmm + Lb747QzAWvsQQEAs/RHKVYKoz9FVpStZSC9jcd1okp5zVQOlAJCWPSaQpBwF0HcQSS+JLIRlfH5eUw4Q + /r+UtVp8/hZW6TCXsExEd6NnTEc2OoZLk5ATnpmMswIRhf5MROT9sAFY7T5IUyJlqX06fNNEFcDQI18D + l2p+dvVnHE3GVIuqkG0EOD4H22A+NxbKslJ+ZrF7mg5xxPI9qP+ecytkHVp0tVDmxEjZStZxDfDYcb63 + GwLg4RTKzVtImr3p+Yjmm4CHp8sZcf4zylcz2cd1sA/6cqaw3en+mWSTTQWP3bsAEDZFa/UHus0VeN2o + RvPN0/fRnVeHWXbfHDzevHT1zvs+xh3wYeAHNvHxhr4SD5LeD8Vp2UVvfCwWUN31u6WrRHdAyEanSDCj + 82xgDwPbH4ANltHyvyrIscXK91iXiOArLCP/t6+l46rHwBRDWf7OJGxL0OjA0UpYsSXjKFP/QPewHFWj + ewGAvnRStVG+amICTFYaH9HOKHW5wjzSXf9MObRiQVb7sK/I9xv2Zi27Bks2Z6C28pRb87VCejVi1oz6 + xkDCQirepcCjrYMA8pcAyF8DIDWI5c1X7158q9ut/Fzv8GiVKFlBcQEG4jEEEQHDpis/9Gm9F0SwF7sB + HAQQ82EcvvL9AIPljYDI0A/SBkw1ANGV5YYyg6kEQNrwKUXihCga4w5IBEgSaVKAEgBxPgjgsfkIllab + 6ljT4zg8TpGse+eHE08yYcb5Gs2Cg+4xBg8aBo+cvLw4cjM5V8SUrO0jmpt4G2A4rKFqtMnn5++C9rFa + W/ZrSmvRPZ7/s8x4D3h81MFQ/8FgqP+V50EdaS1Dokb6Ry9l9bJW/1kvayV3zPDKulwnM8xLgb60EFxX + ahv2k1AerMMD7wFY5nYD710HfSnIk5Dsz2Wd/X1SNmrccLw+W9iqPQT00lb+ryBiqSuLoVbP0h1PIOcx + XFNp5guACB5t8FJrxLJfo+rACOOWqAIgMA7Zh+UqtI690wAIILKXJkCFcgGkPPgyj93by2k1eO/DPAg2 + 1BETMVNbpY2CbBQpNyCYZ4gYorknTJoF1T1mN7Iod86ufwjWKnhQuuLwMd2/N6WrgMfuycVk+zYA5JZq + hhvrHgGP3qMgeIwZyEpcyVXso/d9rM78uFb56hplrMOi29v3elmnhPMOQMUUigE0BtFKZst+kcM+D+0z + FHZSsfCdGdRGXhpEHF+DdjEPqMS5RhkpJoKkAdfvFhiMyk9j23PAo5UBD/TT9GbMzjgqpHIAD1+fLBOP + YYyK5wj2sfDuGU3fWEPeH/YCVRlqeL+kNOX7BoDIbbHmal0WJNAzLFFpyiidzZ4So/B5L97BoUbgUJeL + K9Buet6niOlqIDW8qzuxCkT2LWf5WUiTYbP0tkFl6QmBlYwYSAcQxcM+O/lalyrzb3WbQ34+aq3XMz+s + ewmLk10EQLDsXkA0Jxv/AIgg7u+bE3ORMhYbQUpYbPA50aaEZaQJ4utQxrLLuWy6w0xhmgrduASbpPGG + oXgb7KhhIOogbXG9gKPAY4eMq4y/fZD56Q98GdbxCeZ1YKcEQGZMFHRN70LjOFfsI8wD19WRexHY734R + 8Hh2ceTWRxdHbrh/sb4D8xgsu6vhax0oVoIOr/ogvguAcudzND1+ebF25RuLI6/+YHGEhsgjgMeRNlXw + yKf+n2y6agwFHmMQWfm6M5J2mbKSTYFNoyg7riwFdqIVmA3dtUFT4iav4d6DljABEEHEoTq8tvseGkhG + OIou53thnybXY85M8FDB93dhLTX0y+wyjA3PMpuEA0TNZDeF2Vw0X3/HHMs6yeBifsneOd5bso2AR+/i + LdCoblzqwacAiHtgHgEPy1aldezT2LV7GhbCyFU/kHt3WK6SdZCAa+OW9shbbdyyZMWHOOWHJXAkPt1N + wA9/PzVqv8ycb0oRuGyMKnFOxPRGluBx3SUOK610dfQMB5DTLEtXzJTYIU13+1YA5ObFZLP1JAzNgs1x + NTCPvuH1XoXVYVErfR9DZPthusebMI5xyerQzvM6HNXm7Ka+tP0WaLiJdwCp/70U2bt+13OyOtMYl5na + GIKU45ZAkhys1qwY3cQ8Khox1U+qXGUKQ01HPKhtdLbWGUXv5+jPb++pWYZSRt+JZbcxDjUPrb+Zu1Jl + q9I8KFtxHxTNU7pKEySNixw4euS+sfuCgY2RlqH6+6m+/8Gyhd9B4+BdHGbuBAja+zI9R5ZSPdQAINun + iMjRxIEoH0OHwBIR3TyuAhGdWGVBNw8MLUQWwudhCSI1Z74A5HNhTKWBfAQA+WkYCGMVD7Svj1vZh+sr + Le6H3mbUAn9VO3wxk4iWbalx9NPlPiAhKwlDQSPJoBVYiBtIAMQgPycJ4ojyFJpSBhtRAUgT03sz4VCq + Ki1kk2a4nFZ1ZeVn1dhWp97GOhqIZLAUp+BdNrftB78G6yCxl7khmxexufIBDvs4SQ7OSaJJuJwx42P9 + zMdK97BshWh+ROZxJ+CBzfeIY2mPn1qsb55Y2v0OxDes5gEdlg/0k7KRld+7EQ1G3eOypau/SDPkkTf+ + O7pHzTg5guPqyKf+39EnLGXJRvo6CCYAycBGuK7YbknLuPtWVuquqcxPMa6Evy8o+bzLRmxQ3CVOJgAC + A5FpDgDCwcHX3oPBHqDhoSMA0tipACPIbdPoaIlxgxHHNdqYLDQvAY3pK7LSvyO6Bub5MiXMF7EWY082 + 2fa4w5dSqoKN5LTFqcsylexDEMmytwOhHMaxe+qXFjusYhye4rTn2tdRDivjSPxQZ9aGbEMrZQcM5m5Y + itBJc6ABTBsmIuiGUev2etBtbtlqStkqzAOmm9KV4LF/T4HHruBB6aqzD5o/C0AqKLGspm2NNQ+tp+O8 + q77JHph3fjj7qN6ON+nxOKz341AG0txTreEuTqqMuCUBIQOlumPJ03vbpAUbAWAco5Lr7b668fsY+tfd + CdVn2uRxFtPxdorpmf0ep1W3Ebf03yaQL0XyZR9HhU7W/aoO9HFDZru/7WdVQhwBSJxXCOatCbI0j3Jc + bR6tXo5N3GIpTfWYExlE3luri/ecOVrOfLF8ChPeBTx2TwIkNqjm8NJYbwOe7duJebmTQ47xKY2Z7HHo + qRDJ+jsO3Vo2FFLKCngAIiYVpzektMH0h9zZAITnEQD5HgDyIwBEcfFgONe7+vWIuVTglyBS07j2YB7Z + RFhH76vZBwkR42f7MhA2C29jTVumUGUlhfSKFbGuHi1kxEKqTKWIrp2Xk28DkCEvKwPrdfjowJJ9ABgP + 1fwRL3dcDzCp8AFmpZPaK4AYQzK7CZeMpSsnCjrXw3iSO16h0xzQuO+NxjxeATyuLI7cQc/HjRcXR06c + RrC+pRJvh9LVaglrVQu5ljZyWOnrbbKSnRsr6JHS1foVAOI1hmDBPtY+/K8tYfg/Cyx+6v/J1EYBYwwg + B68vf1ZTCAtQFNKXAFJOqWIhFZxYQPJ/hwlmomPKUxwOfA/ANH0tdmWjgIfah24tG/cSIGcoXJhIWzAU + wd6DQZiHr/Xr6F6ugAiOu4AHVuAX/hqWgm7yCgeNp7Fvn+N9BkX3cg9nVYL4Thfr2BNIAA/jJHq5avcU + IHKncSQ11W83q6IiDD+Mzz7gYUc0bMPGtgYc6RLOTA5r2M1imi5pGt6O013O6kJ5TsawjskJylbHz6Kb + AR5HGUK010tXY/Ao9rHuvPqN3tzWRPNseIc1C3b2cS3dY1m6unow1NtgH9fMvKqDjFbd3C822xqlqwbA + STyTBh/K3BL7HmK1NXGY7ydx2Ia/WG11mgGUAcPeuNdApFlqBZwwipTEyhosC9HxpIDdRfQl62mNf6va + Rk8r7iaEAZhHPTUDaFCuEjgGvaOYR7GOimGp5sHq9dAJ5uvv+yL9HE3biIUXtrGHa89BWjqysulHV/P6 + 0hIeVnIzVvBbEMntJ8LRl0bCLEpcHmSMY8H5t3X3z9B/5GCxKm25ZCrLzC9H/8JCooXYVOiBqhpkKzOr + 9JCMBO4MhMcFgPwFAPJDAKRqxO/ZMjmyrXFq5NEzlrE6w6DfA8AQPI5R3hJM9tkk9s/9Phv715gayKau + ZuEoWktN6iAAw8ZzNJ2xQdSEPHs9tOo2AEkjHM1pZDmlMc6TqWWsVsLKJML8XS4BKFlHgMoxt4IHMebb + zMLYvP/XUneenyLiXPBwNC1zPVwzpglOGfm6dvcHcFyx6DQ/YkzJzQ8AHvcujiiabxxdgkefQZ4k0jep + 6x7QP1b1kneolRjR/gA24yfJ67ryzcU6lt0jHwI8nPEu+0DTGAACAJngUrs2eCxZycBOHGErwzDLqg3v + OsBE2iCuDiITgQVA8bXbA6gDIqywvjBATAt0wfva573AOpaeDBNKCZcDbLbI6ApwREC3dIU7K0BSADLx + tX4VBvKKqc2CyA8XU0Bk9tKPFlPShbcvUSqjp2PvDCwE+r5HuSrAkQV43IXWwelu7+SnYR+VxtrLVXuC + B7bIclgBHDYFBjxMgK0yVbz7AQ8avdJNvAIex3BX3fAo9m5KVzit5ukupy9Bq67gwVjjgMc+pavoHgdL + V+t0Rgc8skYAck3waHbdtznr/N1hHcv3reUpRWZLPG6qNu1V4xxd1QGPJwO6aYqLeGzvA6dz55ykX4Pn + QPAYRGrttCMg7M18K+GMApYbueWpEu2LUQ1Bkekcl/2UPnSVPTcAMmJ2o68TZdJMC0vWocuqieVpFLTP + RLeVmoed8caWXCzwIKSx+ljMx7KxkYws41l4zxSYMNqXcmjFj9T7LQcV32c+R1q/b6hlH5EaiSnD1ZHO + +1EAseTFIUcQ2RVEBgAxzLGVsfr4Y0EkpSxZiOGOMpGWGNxmphwHSDaJ1ck43+c/8t0GIHp8HfH4Xi3A + yRGcWQUmiS5mQyiNQxZCGeOCjhkBxNMmLAR32B7fy8bu7I6Mn2XDd4a5sSKX6WK2pg5ABEAyp7sDSA2P + yqK0IUspgOG6YEI5K4Dk3wNIdugwz/9hQysAoXR16XcXWxd/h5ICH/BbnqvSleBxm6NoBRBYCflWs1tI + /rwDEDGm5I7LBR40Cx5RNI/ucYi2cRWQvB394+0wlVVGQpkAdpQRu+geay/9ZcWw6LiKaD5mGnXdTVkm + 8o5AJEL6uIzVylkrLCRd5ZlP/2/8f9gIr42sz9ff519gcE7L0bPOMAA8OGQUeDAr48xvJ4tMkFhTb8kE + SkbpwqIKQBDP0UAmlrKyeC8AIhOBBCYyFTxewlDx/F8CIri8HkODuRddREsudeC9uwGPuxt4ABx7J5k8 + Z405JQK1Dk6CYR7VFOgHdPvmOgFWyUpnjCWrMXjIPFpXNBtlmIeR7DayEew3N3Yj4Yh2Qjs0CVvqMZiH + 6yjgwYTKiOa7d6CjKZwj/Mo8KF8VeDDD3JWT+Yh5tJDE9EN0m2lO54ewjwNJu2Pt422yjjdjHj2yRAtu + HFM0/2WEbp3KBYdEd3AKr+evknLtcfD5KPstYNGSbQfn1gE2fxgLR29pm719HUsXVgcPLbpj51ULluzi + ePvdaBrNDl3XBY3OODrrsHGzA8eIdSS2pKJK8vqar+VjteGRw0WaCpON1ccKm/VlZ3ppJFts1L53fD8J + CoLIPu/Dmm+PlmGeGh3m2zYbwkC2MWakXMpzqOi+k4ZC87QAETSQ7dPoIXf4uyQOo98VCxFEnKkiCzHW + hM50WYi23jiy2qyVjA6GhVDSGgDkuQ9/d/H6p364uPEMJ7ukL76HK3awigzuS0vlHqxjFxay6wkUIHEK + 21GnsCmyAyB+b5fylmtHJgJD2A4LqWBDAWQugCTevVhIua0sU7HaFELBZXBhNSfWJgDk3xNEthHM87eZ + 72F08pbC+XnYxz0/mxNgSlfONGeGubHss1sMR3wuZa0p1svJzUw9w667Zqf59fcvjhw9uTiyQ9xzHxDV + Gcf4cmAh2hdH64BLa/zhuBbIjEX4lQ+ToJZ+D5oFX6ZZ8LW/S7/Hmhv4J9A9us7RACPlHzbjdwIgazKQ + pOm2EpYOLId4IWynjNUbAFspKwCSRsUWnGhMidZb3gfOPdj1MMEBImNcOXTsnSMZGEbi62mH/Hp+30vi + 4AWQBhymJBcDETyIQnG9SpMjLCSXr6KDASDTF9BMnuPvPf+9xezyny42Hvi9xc4ZGrYUyRnitAt47CqU + I1LuDLHrfAABj8zr0PXChzKjUikhbKVspQ3TE7Sn58owKq9+Bw+C/ZLTVN3RmemRGI3GPIZk3YooETzW + BY+9uxbrAY/bY8QIcGS18pXgsXECAOlJu4q63Wra+xUOL/dUn8PYcXXQAXXNbKtV3eMwzWPIuvLvt3nn + Nt7pgGr5U7PtFi3S8qnSUJdwQzRDblv6RnWp9/TfLq4vGw+vZvGV5EvPRxskdcDNOACapa/mvOqpxIOz + apV1jBmI7qpxuUrw6EK5zYHlsirNozMPHtcQmPhgi5PHrp00Ae28Y6ZiLpYHCX+Hg0XmwFcAZJKCjSy5 + 6cPRQew92rkLhnznzy6273CWDJlXTYfTvlvmDZsKq5zlz7fvqsTe9CslUr5H1+sq1NZrKQsxPSykxb+r + GabhkFLWyc+m3BgG8tyHvwOA/BUAshzZ2Ec3vnuXlepYHb59CSbUnuny3cNCvHeeMtVFQMRTKJvFvqUt + NpA9GQhf+3PLFrvUyncQtnce/kaGOclCBIG5ZaywEFhGWEjr+bCM4UkUFmKibLlyaoa6Vs8Zt9/mtOum + ZbNgcq4EEIRzmcfW+d+KgJly1W2voIMQScKSjcxufrYCErFdGnI2vf5BZnvQLHj9OcCDTvNtwGNut2un + zePTXPe7N9BITMIYQA4Dk1WQuJZOsgSZNC4a9BjR/Lv0e/y4wIN5JuoVxT4Oah26mSKoNwvv8jb9dgcZ + y9AXklG/hh8CHtngl5eyg8464tQSWAQQWUsDkcxMhxluGRfDa7HP+2L30h9lStuUQ0H/22Ecsg1ZR67X + kLCAyAAcfw94wDxcARB0EsBjAguZACCTF7+fzK/Jc7CZ5yiFXfnzxeTpP64BWvd/jg8lwmSsuT9FCB0f + zACHAFIhiAEP6s9bxJG4YrccTs+yDzUPAWQUq0F6bM9hqrkSLZI9sextKJT5VtlUaBKkUVAAcUrlAB7b + sA9GHmdtVelqbQQea2Q1XZWwO7CPg1rBsoRz0LL7E2kfHUCyOTcGM5RnRxu8szE4UHlaD0jCmCYd+Frn + +GyLx8sJf1xiWkaGLG2+xSoU4Q9GoPS5NoeXh6v0W70i1fsxlK8GzaPAoovlS8axWq5SKG/AQTmxOstt + DhQ8GvPg9azud0t15G9F94BpKZYPFm/SCIaDR3vv5P1jyq7lPEtTlqUsSeHKsqfjVplD9XLswpjV6Hbu + 1BmoztHSD1rqbkW4d2HdcithiifLPZicNllIF9S19fa+EEEk3emAh/0hGbDFQh+xE97H+z4BSOtqXBmA + 4sATAWT/foACkNi9AEBYyjpH6YI6976LEkZWbvPlAho2lZSYABE3/cyrwIUzf95ej17GMhdLJiKAUA9n + wyldhOtt7K2bnN9zJrq9HrkkqmTrwT9abF1icPyFLyw2Tn4QAOEDfju6hyUsgeNWweMZ1uXkWxlRMr3u + AYTPczk1rh07hWjOk7uxfxAUOgW/5uUKiHRAObRf5DAmstKESPnM+SRGlaw9/62hWXD9IzWh8SAwNFD4 + qf+Vzf+IAMJ12cmBDKwhD6uApwT0FnGyCiCCSFt5/tGjBA+BIP0asodm8+16SUCC30mp8SU2/M5geqPg + h0daRweOdinzWP8gB4NWsirgADBcL/+Iy78GPGAeL/wl4PEXi8nz3y3weK7AY3L5G6yvLyZPkXP2KPOp + z/zyYvtuTncG0DWxfEcACQOhZHArH8TbqC1bPug9HtE/LMFczhzuYh84rYayVS9XKaR6wvSyA4mn7xYr + nqRYNtiACKfxPS5lHx1Awj6woeLsW9/QfWXpihO7ALI62/xaneadeaTj2o25W2d/AsdV1xWyMTeXVB9W + 1g5HwyCo1vvhRttNJV3QVjsQQHt0SIBjsPh291WPW1nGrpRAj5sr892b1nGtHqoOcgGQnprbGi2b1tFB + owNJHwV8oCkQ8Khcq9bb0RJ8o3mEebC067aYkmg9mCdkqBV46LwRnHvd+u31aGp9VV/HMGVRtsDsj/Ru + JDpHxkCJFb1u99Qvwp5lzg7AKhCxTJVya0quzfAhACWht8WlJDJFJtJKWfmbTVBPdzosRIdiknqbI+sg + gHwbBvJ9GIgZQN0T/15cdhBpgV12/WbR6YuAX+AAiFwERLg8aoAdNe99SmsdRMJU8PLnNrAVXVLqFptY + OTeeRUzHOTQwENw3nmYDIp5K7RHwFMzGNT4de3IVPOw033Z4kjMwHqBhEPDYOvvr8drHbUXJKnpHwIOo + iYF5IIKij5iLlZIDpYZMFtw83lI6D2Md/XudhbRIhWFW9IiVHMZMrgkoS2F9bZPu24jmX16sJySR+SWt + 09zSz4xyX8pOI0AoMOiMYFTassR1WDPhOB+rswh6SQbxvJWpwkT4nx3Ik2ElgKRvg9ejW3/f4HZ+7e0T + nFgMpgTyYht5DTtgeOlra8nqgxwMDmEfuq4G9vEqGoilqxd/UEACC5nKQgQUmMhUIHnmTxuQfGMxBUym + T/zRYv4Auss9fED7B9IygUBCqu6Wg6EipvvBdDUrb+8BaaWtxHKbnBotpOkg6h+WNYaxtAYk1mjaOsW2 + LnOaBdf3KWFtc0npaq0zD8BjbQQeb79s1e2646a9ApB3KpyPezXGrqbKjaoyWoFEa+RLM18dftaGzvGy + 0Zp0a93fTXoZITKaijhqFKwGwR4XUh3hbvrRekzIfZMG3MG+O4jn5Qrra7Dpdr3jkHKVwYvGuxfr6HHv + xT5Skgp4dPahxlNlKN8DgkexC0frXlnsZjZ7A4+wBZeiue4r2UZt8gno7A2BKTuVdrEneISFWH5Fr7MH + xGZBG1sDDhXjXuK5LizcXP3rAE23BstE+JthNoJIObJsou1ZWTXmVwbyQGcgfw6A/CUAovZh88h7sXqj + Fn9bz/2Bhe8ekBAY9s5/GWD4/cUO4HDUsY5mEZ3pIIImcv8XC0CYHSyI7DDTPKUsSh6bl8lJollsKGNZ + yuIE28tXJba2TSiljzoB+/2txy1dwWbQPTbJutq6RBnj3G+SSQS7wI9fAIJQjtNqxjyP2c3ULm8kC4uc + ojAP/Prl04d6c0JcMyTRlN1r+eOH76+UsYZIhxUAGcoDq99fbT5spQJPk8bIRzT/44jm9nuswTx0XUU3 + aHbag+yiAUhjFKsCevWBLMMUwzwEoKZ9BHz4ugBhpYzlKOE44BoDDBA0QB9cW+13vH8NdLpIvgSN9nsy + jVh2/XsNPA4ACCUsmYglK0tXKV/BQqJ/CByK6LUmz8tGRozk2T8DRL4ZNjJ98iuLCWv62O8l7n6TGJvt + U1giFS6Zr7B9O+mmOrA6YCRC29pzRZbkurESPVoigGL8hDqJQjGAkvhxwvHURpj3kVJHhhmVsF6A0rQP + WMga5auAiKWrlKya5pFNlU17Vg2DV6fsrjYMjspBwwS9tw8iA2MZZUYtZ19Y2qn+lG4gqXyqUdkVwApr + UlinpDVnyqCPtdiHQv8K0xhHjUSz6KzB5r2u/yi2v0U0fBxYNh0uY0dKJF8K5AOYBDxcY5G8A0efUtg1 + jxF4KITHZbYsX1Vibjn0+iFCQ0V3XWnCKEZi7L9NfwKIEeyCgGCg6N16kFpHeZoG0e0CIJo/0O/SIBi2 + YjMht3cNf8O/VdpH/5t1WbcvkOqiuo4sFizENIalpfdXMsyrSlgf+lYBCE6UQpf3YtXQ+KwDAOU8BaIi + AIu9s5aoAIemhaSEJYAIJF5vTGTvbGMgYSuwEAGEgfObT1HGevZ7aCF2OTdRHRAZAMRoiwBIu8zmpQX0 + X1Nvt9vciHZngG9eZBrfvb+Y056iebQOmQdOq7APNY8bYR6Ah81elrgidDbwWJtCoQ8Dj6F0NWYeb6KL + HACaFX2kZwhd1VcClb/7FXSPHpKI7vHa33Kyx7WEXdfS1DosYUjVHSJJGhg0ECgwGGseS62k0nn9eU/q + XeoYmd0Bc6jnesQyLBe2Bs50iKc/p70Gso7ODAPsuqpKQxkAJD0eAkUHjXYZoZy/BzgNjit7P9LzYfmK + Q4SlK67HffUcjOMlGIji+TPfXszQPqZXLGOphbhgIVf+jHTiPykGInjAQqaP/0HW5PHfy9Ct+flfW2zc + R4mLWnJZeFsDYUaruoyk6J3n1K+tYeuISYMh0e1pLKTOfazsvdX/YFOZsx8q76hsv204kvZPxWUAZYqh + Q30kJ9+Wajs0to3dVr0be2garGDA9TTfNfF8ENAPAY4+43uUHRUm0WJBKjqkMY0DqbSlw/ShZb08tky9 + bQxEACEWJK4jyzywL0tFBR7dKVZg0p1kyyFNBCoSULgsKbWNHhB4y9HQuf/e92X5qkpWlZhbQOJaEcrt + 60hk/ph1jHWPBiBtomG6zW0YxGUX7QPWoZNKbawPjpo7PCoDpGAnzYVmactRs9X/ITuAfbS5MssRAU0E + Vwi3G90+JUEE63lYStc1AgrLaZg9ysS/V7dhqacMt3d6ZrEQh6L13pAAiGWsrF/m/nYG8r4BSB/e3kEE + 8HAgD2v/Xp1YHUAAhkv0hfB1QKOt4Wv0kDCQC94OFoIWsoV7avNJxXRYyDN2p9N1jqgeBpINx81nBBz9 + 9JsNjBndTBfcIutq8yFKV4CH41xlFY6qDXAEPGQeah6Ch4I57AN2Eq++4GF9mnKC3b7vtAxwEGxWwaV9 + vVrKOtSxBSPBPlyi+R8u1l4gJPE1RPMP6biy3wPgSMnKzvFyPxWQjAMSRwwjvSEdOMaXlr5Gf8M+krir + bBhswYaWp3pjX2N/mhhmNvex6QdEdHv5+kQf6a9Tc1F1cIFlRLvy99LTUX0dy1Wd5unzYOX7Ng4+b4mK + 9wD9HpasLF3NcF3NnwIYAA9LV3FhPfWNxezJr3EJWKh/sNYvf22x/hTM44nfBzC+DGD89mL6MGaKBz+/ + mDxAWfOBz3L9c1zSG3Se+fEkE/Rk3fLhV8hd2XlhGgm6M7ak9YSknEX5It9zGJCT5/rP+/WaricbKReO + onub7+3Qo2H8atlh+yTCflJWH8mGKBMZus2bhrASVbIMS1yx7A45VU0Y7416XXg2Eyo5Un088mGzzev9 + m7LSeAb6oEPM0nAngFTpSkBqzY7DXI2eTzUKKWwNe5m8mBwwY9Jxo1kWe6v8uAMAUjEk3ZY7LmMt40hG + fR3NdltlqzbBsJet4qZS/6iJg95mozVJ+lr290OlB1MaV1yn9ye9HxmGxeEhh4knwlQSV0KJKbbddJ/3 + 4WSCRy9JFTuJgI4bK5bzZF91NiGjKBAp2+6IbWTU8njJXAQPF7NCAiB2qANK6QUZA8jAQP4MBvI9GAh6 + RESSd3t1RtOaUmxMycIShse4AASbpuWps7huzsswdFzRhW756j41EEpcZxHS29f+vBbWS5r9drTcNjF9 + 8zK2XkGEctaMjcVNrG9SQ7fysFm5eTG74jEnDOL2Ietq69xvLDZO/1QskjYMzm6tHo8wD0taggpuq8kJ + uoWPMVcAgVOdxFp0TSpr3a/XZCCrvvo3Kxl01tF+5wD9b6WAQWgHPI6ivyiao3uUaP6jpnsQy87mPugY + XecYmMQynv0AsDQASaCinearArrAo21Xm24XzBOiWOAx7Zt/ixhx849G5UavUy5uOQCgRY8E8AMQuqfU + NgAOVrSsF7Vpu3TboXUBELn0e5gnpvw8DYIBDcDiecqZT//5Yv4MoPH0txYbT/3pYv4ELqsnv7mYPf2n + gAjgceVbcV/NAI/5o3+wmD0h2xA4/ggA+SpAwnqK60/CPh6jFyhAwuEil7/ZAAUQAVCml1jnf2mxQVba + Nkm7O+lCd1VzV3z5ue7Sp2+siQ4bwcUYblcDkQBM71oXRKq0ZQ9BjWiVjXC6TSSGjq0aLFXhgG5sOLXs + FxkysiriZNIE5qsF6muwj1FKbk+47RMEw0SclzHW7Q64rsbWWl1SozDDQaxv+VcAUEpZEeDLFbWMSpcl + dOCoOJGhpGSXdzq9+xwUdMe3DCDVgTUuYVVcSQAkw7daGWvQPVo3ef7XWPMo8NB+W3pVt+GWgF7BiTc2 + cHiA1xr24eAwe1s4CFiSdAqhr1kxFbSv9Mbcmj6hfvDQ3bcPEymGAGsQSBqg9FyrTBmkT2nnJK5BgGQP + 23luO4BIA5CW3Tb0f8R5NSpbNeAo8OgMpPeGVNy77MO+EBmTzzslLAHkLwAQ84BU2t/tJSA1BT+djX1h + DUt4HYF1dgPfj5AeFgKIyC4u0IEewFADkaHwc4EEoMnPAQ9vE83kQXQLhXByjjafgokQVZFsJE+tOeXq + wmonXTe1fvK1JEKjmZuMrivZx+b534jjZX493cF2mEfz6OBh2cqcIsAjHcJYLPXma6Wk7lynrMMA4u00 + Y13L+TJ2ZjWx/bBO9i02iQtMRKR0ta7u8fL3mSxIp/lHsOQy36O6zRsIjIZCdd1iKEsdYCatRNWAY3Bd + HZhOWDlYpXk0jSmDvHiem4U6rwOAIHAUCLjoCCebKsxB0IBdjIGh2ATfh63k9pQmAxpeqnVdgWVeoWSZ + Sxlnu3wWS/czDKByXQY4nqTH48k/WWw88U0A5BtZG4/84WL+2Fe4DvN4mhG+lK2muLCyYCOzxwATy1WU + r8JGGpBMAJLJY79b69Evsb64mD70m4spbGQqM7kEmDQgmd33c4DJJxdbt+nQag2G45juAImgYimrR3hz + 3YlySWEFdBK26EhTNRJnQXQbMGwk+kib+d2aD9Nb4amYEovuLZsP+/S7muVdeVmDXtAGI/U+kAPv3V6+ + 6izkKqBYtZB3wBi7A5upw/iSlM26XXgUlNj1kxbB3hnI0A3eus6XG3tFo0fEbuDRy0qW096SfbRJhkcE + v8Z2Bt2mPTfL0lWPI2n/6wCAtHiSAMcYPNSrnE1i2u9t6TRPI6DM1MFhvoYcBAIWZGQNVuIAI5oWYObP + fF+k+S/lUEfSEn4Y4KjSVUAgX8tEcFvZ6NqWQFJRJQ1EDugbNeysayRDIyHgcTQAwqWTCtOZfrC58KgN + hQGQX1wCyBUB5Kf+YnHDPZST9Pq+J8uceUWY8bIxheElfM/o7F2cWLuCAyAiC9mhTLUHgOypj3Dpz3IJ + iOyea7cRPAARI0e2dFA9oaUXRxYsZP4cZYs0E1a4Xjl12saW5rKqmadD2Y5kylabsI/5yQ/Ed+9sBuNJ + prc9u5gimlfZynhtwOM4g32oQ3vKsxNY62TevG8KHm9ljXyzn4+ZyIrVV7o+4YN5Ftb0CDlXT3+Vfo/v + pdNcS+saekQiRtjgj4xLUilbHQSIoaQ1BpHOUsZlrvFo285SFM/jriqnlM99GAWrmAW23LCFH8AOWFwf + Vn5OJD8a1obgL2sAKGYyC0FH0FDfcsks/foZgYIlYFz+djENAGP+lKBBuKLAAePYEDAe/dpi/vjXAY4/ + Wmygcbk2H/zyYuMhwhofJp5fRhL31TdhGn+4mD1CDhf9ILNHKF8FSGAhgkiA5A8BkC+zfqdARDby0G8A + Ip8fgUixEsFkAiuZ3/OpxQZlrs3bP5Q5IFXKKNAoLaTKXAlbTBex0d2Cjos5IV1sT0lLTaR1saeXpDUi + GvWRBjz0EXtIiH1fp5N92kEFZmKUeJ9Y6HCjDDkKK5E5l2hdukUxhqEvaQwmbxLTfvjmXSWsyqcywHDU + czKI712PacObeqxIhHJLTC0afYhHH5WURg6otz3RsMfEB9BkPyXGl/tKLaTP76iyWIY/pVTWWUibl95s + u2kYzGz6MftAP03eFaUpy5X2CVHCTLaXPT8OuHKsbxsdnDkigkgLxPRwkA7y7sgiEyuxJGNbbxtcZplr + h9TdNLzKRLheDi7dV44YsPSlM0tgadcFnjbxMGWrLLWTFv0el1dZem0u3BuSetnLKWkNDOTKh/4UAPku + AEI5KQNF3u3VQUk/sXawvgpMMmuBoT17MI1dWMgupSoD7nYsY8k4YB8BjXa9wKRutwMTCYCghWwpgjMx + cNPNAwBJ7lHrAxkAJDV5Siu9jk5Cq+Lq7Nlvh3ls3vcr+OqhrHfQKHgdWsetzyymtzzN9EEbBen1aOAR + u67MgzLX2pwZyhHNrwUA72SOQv8b/fIwsX0FTACQ9TueAzx+I82C6+ge668yHApba4UkNp2jO6W6DjIe + Tzs08qmLNEF8YCljfaSJ54N9d1T64nspkSHQB0DUJVq5KhlkJuMibM+1W6tRySIEAoFCMBEoAAMZ5AbL + 6+oYARyNEZYmn7Y8WaCxIWjAPAQbwWLzcXSwx3n9WQEOvq5LGcdXFxuUKDce/sMAxybxNJsXv8RlrQ3W + /BGAQh1ETYRy1sal32J9YTF/6Et8jXBOWcv+kIDIk4CI+sijgAgAkvXwFxYT2MjkoQ4kn1lMLvxKNJLJ + uZ9bTO7/mcXk3k8sZne+BrNlBggzzzeMcLdHJJ3pggLuKzvU3WS4rjsrw4EsfQAs1dXee0qWv7NsSuyM + hA3KuSEaPNDoaua35S21kj6AqusGOrl6smwDkhajXhvyYUxj7KRquVJttvkw46ObO2wcbE17VaZy05aB + NAdYn73eHVfNGbUUuMthVSWm8VCmigvJY2olpKtH014jZPRAJ3qVz5YsZPR/mq7SmwWTb6V1V4aX6/3/ + a9s1KLF6P9JEaLZVusd5De0ch0XYVFoAwlAw7rPPewFIz+KqmJe8HpTQLGXZVZ4UXTb+YiLd7tvsvWEk + gAFOK6PbZR8pZfX+j5u17baGQcEj7ivBpEJB63qz7w76BzZerbxZrefEfpBEvbOw9/o+TQnryof+pAGI + 3Ya2r78Xq4FSmlL6KiDZZ+055S0AAlBQqpJh7JCA6/U99JFdfrZ3H2UstRL6VXJbbydTMexQALF73Hnl + sBBPsdbMAxS9E72zEEtYnngBjzh1FFMvs/mc44N/02PJH5reQcIuTqu53eWAx+TGRxYTZoDIPJJNZKyE + 4BHdA/AYdI/DQITv+fP1MTgcdr1HZr8VUxlZf/2Q3oQec5HJgk8y1xzdY/2VHy3WX7d09a+Z7zG4rWzg + c76Hibh+fxVY0uDH6vpIAGT0+x1QxuyjC/CrbIavZXwBEMpU9Vy7AIkOHCk7jUCE10twCBBQipRFzAEM + WceM24VRBFyKYfi7vn6WpzYf43V3CRrEkjhyePNRFjlXm499bbHB2mSSZDQuIvk3tWkTkKlZIv0+MM/N + BwSR3wcsYCDoIBv0fmye//xi48Ln6U7/IhZeNBBKWylrwfLWL2vvbSWtMBEBBGH9EtMqLwAaZz/NoLFP + LSZnPgFwfHQxOf1hFk2pp15bTO56FWZ7Je+tjKylLDpnaFRmdluWMlSxZ2NxmWl1lLYq4ZcGxdZLUrEo + DXiGWJRqSpyxotNddyFgks52yyYdSHQSjRhJNi4ZycBGZAtjRnINIIme0Lq6hxkclYZbzX1VKsrkv95d + PhoatQSS1ebAKnllcz/giOqd3yuRITyupVD/FunUHUAy81wnWMvAopIwaCGx7TYG0i9TBtSZ1e+DTKSV + rwIghiIKDuoapysgEva4Gws388yN7aeEldsAPgUgPnctDTiPtfWkNGuzxosS02kEJFQxM0OS0iuQjEDE + uTSWsMi52iEwsXqWKsm3ble9HgN4NAApPaQL6bKQHvE+ijdJ46J2XgHEvVwGMgDIHwMg34GBaNOyceTd + XiuAlDvR7kj8xcRoUz4TGHYBid37Cxx2LiCmn4WBELXt9wMcXM/ytrndF0nKhYE4r8Nxs/ZxIIhb2giA + aOcMiCydPzablUunOXOexbZJB/LGGfQDmv+mJ1+K22p6C0u9A+YR8LjuPCWBe6sjWB8+8QtriHsZTTs0 + YF2DbQyT0BTYx7cZz1kQaN4MPFZ+JngQ1rj28K+Rc/U7i/VnSdh9mQh2wGM9ritzrqpMVdEhlUrsnPMk + 4rYhT4MGohjev6deMmYlA5AIKG8CKmNtxb8HA5o5h2NUskqZyrJTnHKyD4MNYRmK5IBCDgGdTQgal2Uj + 3yujgykBeY3/JKxFhlHA0VgHQvnsWSL+KVk5engLxrH1EKzjUQDB/h4AZJtoGoGjQGQEIDKRhylpwUTm + lLEEk62zzD2QmV4kkeDBYimzxwEOe0Se/VOA5BthI5YOJxd/KcCxfv4XWJ9erJ/72cW6ZUWmVU6YFTO5 + 540CkLtfX6wDIOsnn19Mbr+ymPg+E0iuozyaIVJEux+jW51E3nSq21hoQxqAUE4eQ/LoIzHJla9j800w + o0s7qJ3uVdZyIJXvXa3miUdpm1ydkmUkrRQzOJmswffphb2XpFl+e5/IIYzkAEgMSbkw896V7gaZDZGS + zdhCvAIkmUaYzbQJ6X1zHbEPQW65gRNCONIfUoqKjbnA55p23iFupcp0y8797VFIogAynulResgyon3k + wJJ5EL+SyPmUEG/LYaBsuTQKGrhpuTIMBDMEvSExOvBcD8+Rj3nI4+p9PTZW3h8WWt3j5FiZ0NsSoJ1D + ky72RLQT9EkJq3QQWYWswzJWv0273aj/owcyDnbe9ID01SYYZuytQjqr7904s2TLU0waR658EAD5JADC + tLUaKPJeLGlPD+gaAYoA4nxpxokOwGDJCiayo84BSOwhsO9GC6n51LkMK+F2AM0AIA+xQWRzwWnjqZUN + JiffVRDJjAg2NURXQ/SmaRhj83X+AmtG2WpyC5rHTTUVbnI9H0LAY3L8DN3Aza57QDRfBYU3AZEwkUNu + 34FjnTf0NUFkBCCCh7M9HqLk9hSOqxdwXL38V6V7vP6PYR+JNe+AQRd414DSRMjXJtketPKO7LsBmDFT + 6cAxBo9rgEkApjKx6hLwUkBHz7BPR3ZY2kXTNNK7g67RNJFYqgURF69lGCXlKkuTHhS2/J5Nn8TNbJMY + 4IEhpSuBhBSBTctZAMv2A06QdAEEgIguOy+3zTe78KXMd9mijJW8swcJaiRMcQPWsgFr2RBwYC3G+Hub + TW4je9l4GHDhZ7Mn6VJ/EssvrGMdN9a6zONB9A5B5PzPx8wQEDn70wDIxxfr98A+XKcZf3w3DOTUq4vJ + nS8v1u98kfLj84t1geRmNLdobGz42fg1azjKFsE1DKKdcAES52VEQ8HFVXMzCGmMNtKbEO1wJxI+ByDe + w6z5nnHobnC1yQ2MZLMBiWUZT9bDPPXWmDcI7X2+Rnv/rmZfZQZ57wkpzcIejworlH0oEl+3LNs0LWQ5 + wrb0iOokr4yq3gsy7sfomog9IEmxHWJDiLpHlI4Q7cnev5OGwrEbrDGTHrvSTC/l+NKODJg0HWKIaA+I + yDxqJG2ZEnoDoS6spn+0SHYZiRpHxdM/VXM5bB5NuGYDkDAQAQT9aQDZsi8vY+WrUdK/r/Ce2BMYSInr + 5Fo5wdDIk8wLcUaI42vRP5hZExBR+8j3ARFuk852AhhrHkjpIukFGfpLxr0gZePtZazYefvAKQmGAIL1 + WF0IAPkmAPLnAIjiSJuN+65fCh6uigoexiei5mdcqEN8sBEHHOiIL3BQ/4B13MP3+V5YiqUuLwMidbud + C79Tm4UAYumCDScMJKfaVj4RRHoPQYv0nj/zLU6TZB5x2lx/4DNxUmnZjVhuKevGhws8yLdaP37fYv3o + 3Yu1PUpXgseccZxS9GsCwiFA0W87ZiNjMHlT9jFiKn4grJte+Fk6zWkW1HH1KjElGQz1L6wa6brOZbGM + li1lXwTAOSTYJoeqBj7VxMAOGkSYNC2jAKYmFVbJq62hf6SVucaie/9ZZzn9PiDi+3qUxkEZSj1DMIkw + DhuJNZeFe0oQqVKW2gYOqtyeKZS8vluwC2e07AAAli/93vZDggM27Cf+hL8HA5Gt8LXvC2d+pMwpkOS2 + NJ/yntkhZXlHIEEP2YatZGSx759HTCOwBGYaM7+DO287twNoLIEBNmop8wcQzi8JHJ8DRD4PiPwa76Nf + LfBA8wgDue+TmVQpgKzf+waXH1qsw0LWT2HUuKsDyHMwkWdZTy/WbzPRmfffdc5Bpw/pOAcX3oPTvA85 + 3NCwOmOcbUaihpGYzEr6b7QROtmHvK0qh8lqJryXp5Rgk6gQtxZCuz0knZFE/AVE1BG6WJwNczxfpLGR + vrG7MY/H0XYdI5MF2ym+T0hMZ3yJwzqnFKJ73f+qTvOrwg3dRPvfkxFYZvO+IDi3mSIFIJaOqrfCFaBq + vSSHspBBA6kIlR7pnnG7K5MHi4WsWHkHN1YDkBbXPks5iw2/xbUL8jqpKqXZplH1LhiI9xUQiu1/zNKG + Wew9XYCSGv/bqBvLX0k1wBpeEy9fqJiTPrkwoji6hizExkJnoWdiZutmz21r3HKBSDm6xrbgw5xZS0vv + yJEFGwkDeX8ApIPHKoBYU2sA4gAfgcIFOOwKIverdwAUAQy+77Q4F2J/vsfavQ8mAtB4mtwOgPDhf4r6 + eFw8MIwDICIboXRl7ZxGsvnj2DUfxYGDy8bww/VbYByeAm+gQdA+j+tpEuRDG+YR8DhZERKK5k4WHIPH + KiisgoUftq6DCBQHfrcxlgDIuEy1Kqh3Vwx++tOvLdYexXH17NeXdt03FMxLx5BluOELBJaG3ESPUiqU + CYSB9Ah0wYZGytzejd5mQFxb5daiWfBAUm4Hk1UWMgKRaCuduTRA8v4EpOpy8hq2XAAjTIHXSmAoLaT0 + kA2+tyWj0IIr2FDCym0AQHUQAUAwUCPbevgrXFcDY6Pn+ga/I/AYw7/jxt+AIyBCSXTbBZvYOY/GJoi0 + 5d/bFixS7gI47AlqZTC/vw0LCYh0RnLpi4v5uc8sZhd+bTG9gOZxEbEc7SMAculXYB8AyP2Ur2Qg5xoL + OfNRQOQjBSaWsWAh63e9lFLWOgCyfhsAcutTtW55YrF+E6VTgQQGMt1nLgjvxfXrL7B4X3KgmTJkylKU + J8GyA6ON6NICSLrdd34cNhM2zYEIRp2yWCLCO4gIJE38ZeOLy6i7mq7SR1pYY8uaWrqp6n277Eh302ub + Lqf2cjepG7S/DVAtc64O0T2G7nD1gNb30Xs0ZBf9lM73Mumvb97EwtdjoUrQTQGGKg6uslHsz1DC6gCi + g1JR32mJJagPsSYDgHTb8GrulaCheF6jcu3nkBGm7yOJuwIIIB8nnS46Sow2ErYBV+PRvCndDc6zZYPj + nMfkgcC/W4OkmA2C1bu61XuWVetWB0D2iDIRSEo8Z7UphgU4LEpgvYekZotUk+KbAkgvY+Xy06WBFIB8 + ozEQy0yt1vWuXzZmc1IGMl6CCF2Ojg6VVQQsGmAMrKOBBiW2/bsPLn9n5+xv1UkyJ0wE03Zajb2TjUon + j+4fO5LnV2Amunueoa6uXfMxnDTOMt+li5wTYU5qlhE8+YV53A949IDEW5J8WrpHYxgHLjmVrX6/A0fX + PQYQaaL6GFSucnGt6iHV5bt2GzNHBA/G0q69+B00j7+lZAXz0K4bFuGkPzvC/z3Py/4pTQtk5Zz77WIf + AYyWaNvYSlxq0UjozHdQU8R09JMeoriqiYyCE5daSddVOmOprzt4FEBRzgp46dL6mwCDpactxe4ACgPC + +Dqbud9T4xBMGmPxukxzG7AIUFCyCnNA/0rZqoGLl2EbAom6h2wFxrF7jtKozIPnYud8AxLAJO+dAIZ2 + cC7DdBwoBsPhbwREYCo7AZIvYLj4dWJMfmExP/vLi/n9P7eYnf35xfQsTivKV5axDpSw7oeFuCxlnZGF + ACCnARCmV67fCYDc+QIggovuDkCksZAAyC2P1boRFoEQPsVNJWhMzVy7jvemy/RnDjgzBPjNGy5XCrC5 + WuYr2W9wDPZyK+MGtKHfQnYbjCQCfZoRZSMt+TfNiDaxlaaQEMfm1op99UBcysoUwFHyrgJwpg3CAPw9 + hySlfyNf+7crZNDSVrSKA/PYW9kqAFKbZ2cuSwdWBxCCE9nYZ9zPikGxEc/MKWJeFNNbsKLsJexiGG27 + dDUuGyPLOlwTCgGRbOIFXsuGxcP6QKqJsBgQuofPHW432YfOqx1ei4jnfXIg/Tzp5bEHxNvznA6zTlay + xIZQzGYt9rUwF20YugWA7DJKYGAgDofqPSKwjwAIl8teEYFEoClNZI80aX/XHpIlgIxBxP6Rn05fSC36 + Qhpw5JLvFQPRhfX61xevf+JbixvupraV7sN3c/nPWkdj6midBnWgKjDZd5xoSlSdZYxZx2fQSOgXYdzo + PkzFDVHh3euyERmIm0Jq2sSRpAcgp1abyXo/AafbNJhxkr38Z7hsvh72YTje2hbxB3dcyQdY5jE9wYdO + +yMfzDQKdtH8sNLVoUByCLh0AfJazOTtpKACHpNtTolnKV09+buLtefsNMeua8ZVYkrapp9Rsf8evSAW + vADILwVAzZuyoTL6SOZntHRbGyrRhuyLscwkUxGIusBeDYQASi91HbD9NtYRkOmraSANQHqpLAxkYD0O + gfrvAZK8TpQdo3UAEjv3/yZitwYJypO+roIEj2eT13eHg4XMwa8FCm2864BeWETTPKqkSQkLxhGwEDiG + S6/3r9HQBAh1kJSuWvkK8FKH2ZbFADABrdwXFiGbm/f+/GIT04WDxub3/PRiRp/H7N5PLaZnfhq7LqUr + GYjr3M8UEzkjeFDKGlgIZSwBZGAhDUTCRC7DQp4sFnLzo6xHYCMPASRl5DC0c7rLCXaPBASaWddlyCco + sd5AiYrAz83bsIve+GybJy6A8L7Gih4mAsOe90iU0fTDmjfec5y0/LJG2ki5tZx4SGkoJZ426KltfIP4 + 3YRyG+QKjGhmTOkK3cC/32aCl5jexuvGvtvnlFTmVZ3Cy420HBlb9tqeiVUAgt6Q8pUx+DV8qZrxivVE + pF5v6bwrB7QDycFWFDI3vaUC92iTQUTvAGIfSM/BWuZe9Tj3mu3eus6dHtjE8/T5ZDQvOhW3Sac65bgh + qn7UDzMwkDjD6jmYtqiXgFNYSM0SCZOwS32IOwEoDE4MiIwBpDUdDpqILEQQeYPfFUQakKTL3dVzsgAR + rL1ZAy4AJnwtk4qI/uzrX1u89ok/W1x/dwvhinjybi19xF2MWYoyRhDXYoM76SLH/vRnFruUqnbv4RIg + 2bVE5SWso2ZUI7bLVPrie/kdylhuCJYYsgFo5YwFFLBwta7kGexjrkuHxrLZ43+UbuMJ5YK1Y/jlFTKt + P5ttlbIVzOPYPfR6EA0CO1ljJK2d5knYnWBt1OFx6FoBD4Ej5a3RuhZLuUpcH3WvK5rvYftDmF17HCbx + DKWrV36wOPJhwMOE3Wa/DfMw/pz+lz3Hs7bnzM0vbED2kSj0YhphHbm0a7zMBRVCaAQMQNOZRwtYjKsr + fSJjsBhdHwBmWb4q6zCrl7FkIA6D6iujbY17r05275/3IT0elqRgF9nIAyTE11jCbP70PQ4SaigyJw8N + CuYR0y1tyTpgp7v3wVI7IJ0HMAQSWasHD8ufNhXyvhGAor8oxMt+jPWX0fDeUnSPEI8Oontr88wvAR4I + iXd/ajEnusQsrNndrNMfX0zv/eRiep/lq09VCStC+idgHrAPdZAzlrE+tFi75/UqRZ4i+NJS1sBEOMzc + DojwfhxA5KaHAZAaVrZ+Q82dme7dTaAiZRNDFZ2XztdqdZPb6F0CyGanP7aY02syVdfDMjyxp4kVFpL5 + I8VEhubDnKBLqB9mWcT229iIsSiJRlGkFkRkIj2U0ZkdNYsjegH9AaWr0CyXfokq8xRTAAD5uoY+ublX + H8RwmT6QMYDYOb8MNey/p54SRhOHmuBRs8arn6O5p5LQ25skR27J1l0//p+Jlx/Fux8IUox2czULqd4a + 7dA35LEt55ljvUX0jnhu+So9PK0HhPspmMrMhjLgYQDSS2lxnaHPpoxlZpYxJ8+2/pCKfV+WsdRBcGN1 + DaT3ekQ0d7WekcwGGesho1ytftsetBhbbxfV2yXfC4BYwnpvAeQQIBrAo4FIAxA3u13KV1mUqwIkrgDI + CngAIrvMrnYz2UUn2bnv8zmxRkhVAGUTSRMZZZF0J8s8zEUiSG+Ge2b6xB+ma1jbbprwOO1N1EAoC9gH + ouZRU+CMzqbTnNkaR6bqHrwJBRA6v4/o4Hi7QHJALD+s/LXaKzK290K7Z1DxS9iMn/wS1tGvkST754ln + P/LRVrZirnn0i0zp++/ZIPcoDeZ5Y9lQWLoHP29lKm9bceisZFURcKhGpP25mQ/8vhv7UKZSG+kzQ7re + MbCRBhodXFrJKsARsZ6/k8ysuh/RXiL2t/vWgXD4ey1+xb/Tft/7I5PyNXbzN7o6YIN+oj6xy2ONTiEo + RASnhHUOsEBP8z2SJYPh6wCJBw8uNxDfFcsFkNJRKJsBQgUaX+Z/Ydbg7yiizx+lIfHib2L7BkROfTLg + Mb/rI6w3FrNTrLs/upieZt0L4xA4RiWsiRqILMRS1r0fBkQ+SHLyBwYQWesgcvszpYkIIre2ctbNDURu + EEQupoSVRASBhNKJQDIBUCa7LN1bpz4IkNG8eA89KHdz/Y6XABeAhJXGQ/tM0msiiMBmAiDd6juy/AZE + KqxxQkRHObVG0elDKWqe6YKelj2RB4harIpAUtHmbvIVCBnwidNqrIOMBzwpvvdE3Bal7qk9v7dVJTIZ + iKDUB3NRHup24TIByELstG+Bkq2JsWaqt2bGNlSqsrpwQkX077rNsnGxd6MX26i5H4JrYlV4bjLr3NJh + Rs6SvBztowI1nSqYBlD1j94DMjRVal3uIKrduYHnUMZrAAJYpYyV/6GgblPhGEAsUZXmUZM0jXJXSO+p + vR1AOojQJxILcO8lWQGRPi99AJAesli9IiMA+SoM5E9hIE64Gt3oXb/eBqBkIEr3GHPJ7GlXMu0FDuZS + 78BEdjw5nqGUBVDsMXEry3nV/bqAA4DUxvC5MBCtmF0I3eggwuaw8SRggi0z9sunyD+iUWz9BgTJEwyB + smyA82XdU55fH4V5kK67RkzJ2rbNgsz2mCHG6boKeLh0YAkg43UYKxmBRSj0NcpbXVgf94j05kSbqaiV + rz1Wovm6UeP2e9DrkUZBN9y2MTv/23LQHqDs8ySzm7EpersunPcZGgUkbZaGICKAGH0uA4lTrRxsit4B + nmgsTUDv8SXdrjtmJB04RgBS4NFYhvNIosOUeO90xKW1uANNv609K90l1v93ifYC4IyUXUHIpkEPHj5m + Dx3ONt+BbaTvQ5cVm//ufb6vOJz4M98zZwEVgEEbr2Aj6Br1rovL/hF/b8t0Zh1agNK2t7//81h6f4vG + wt9ezC9+DhDBjXLnG4t5liDy4awZa3r3G4vpPR9J/0f0j/sBEy8DIm8s1lLOAkRwZQVEjOC/68WFILJ2 + 8spi7Q5ApDMRQGRNPaSVssJErm+ieg49NA0a8Q6QTGDNuQRYMjXz9CdgJPSiACKTu16JfXh2I4L60T4Z + EQCJFdXTfIX6lTbSRusm8M+/yWl7WyCxnOXmbPR5xbb3clTpBl3cVhdogYM9rj11fJKFAbCh1yMg0kpY + jZWU00pLq0OiOvuovowBQJrmUAACMDVAHFhQEnrLNpySWxf/PfQNI22rUTIgJoB0Ebu5xpad761xcJg8 + WPpHmE7Yh3PdYQfOLE/jIOyDDb5CM7uAPtI/+DtlG17txpfFdQDxuW0RLhn/S3Mij7O62xHp6QXq0wyj + a2RQVEW/1zApmgl7jHviTEbx752JxKVVfSJDMGO/XRfWD/SGtB4R2ImvYTGQ174CgPzJ4vpTAMhV8b6r + cb8/6dc9a6VnzXdKtASSOjG3DYAPej7sMoywD4BjdXlbSljebgcWEgDJh14njWUI+wIQ1e1I9kRK5tH8 + od+tjuL7KQVt86aAfUysNWPZTYngBCcYez12EeJ0XG22ZsGAR18NQDqYDCDyZmWtZf7PoQL8WGwfC+3a + CjmJTmhOO/LMVxdHXqa/5YmvUqJC+5B99JKVAJAS1N9mA+3P1Q7lvegXCus58Y9LV7CLlLBgH3SICyD5 + G4lDb0AiE0mooQOZ0Ej4/ZSjmqU3bi3ztBqIdaH8wGVjD0OZKlMHbWhcrgBgBkixAjSATGcmuZ2W42Iw + y3JYK53ld2tqob09spOwBlnHvRow6j1iKaqYSAFJZyR+fxuw8WvZ6mYrW4XJKK4r6PPeCuAAINv3/koi + b+YXfn0xO/+ZJDdvnPwIQPIhQITFCOT5ydeJLHl9Mb3rQzABej/oQl+XkaiFxM4LiNATYjlrzXIWonox + kZdTzlq78/mAyEFh/fHF2qCH8F6ViejKUky/XlGdww8Hn7CRLDd8Nh3LWLzfJ6dpZDz1+tCDoi4ywzAy + 2yddIZsxDCE2X/WEZvfNdMRiIymX+XfDKixlNZtvP+Fns6/5HDmRW6qy7BPhXJ2iYsvTq8IpuvpEWupu + twcfmE/upr/ROsN7R7jZURX70R1YBSB9LDBaUEIJK7Oq+kJKC+kd9mXrpVzVgKPmm5QDaymgj2eB9Dys + 1gPSYtzTVAi4KZxnqmTmfRDD3vs00ECcAVMNhOofpA1wP5OBxe9Gyxk3UvZMrEMB5PoYBgJUJA5U9PsT + 0UFiy00vyLIfJEBiZ/pQwmrsIrNFGsgMDi2+zu+37Kw2f6TPIBmaDMclLcpcmgFWAAQtYrhRbyp5Ny87 + +KzGBzv9ijm+npobw0h56rQLRhIGIoAAMOPlGEdvwwaxzQc7DWGNgWjpTBeyDWL69+0yBjySbURExTr9 + HPHe68dXqESgXOMDuXaC8hUZVwUeTFKbo3sosAU8+mXVfZeA0nWRERsZdJKVMlcYSAeaw9jIqAlRUc8N + AtF8SqaSzYJHXvsb+j2w4iKcZ9NMXLrMgZwpYsw9Lfsc+bxZ3hEghhJSL2F13YOGwypf0eSHwUDG0UfC + hoE0FpJMMV1s9pEQlz7h99RZhp4Q2EC0EXWSgEtzY4WBWL5qoNBLWBlT28BDIOlgImhYLhsAhJ81IBn+ + hl93JjNc9/fq+0N3vWI9fT9qGftOaDPvhwNKMQ8EektSYbhV/lQjyfdhKv4sywMJ758I5+cFHw4pvs8A + kG30j827ERLPfHoxv4+FDrJx8kOLjTte5/J1xgC8BoiQeeUi+2p6Fxv33QBJ7weBhUzu4r0nAznTS1no + IbKQgEhnIs8BJM8s1uLOQli/FRC55VGAZKyJNBBRSAdEFNVN4o120UBkchKHISAyPc3/5bpMJEkLiOqT + GwAjSrWaR2ZHlzNHOoh0p9Z0r2zDve5fMzhM960Tvhu0pa2loAwrYgPvukpO6HTM1wQ+nI6I0f33enT7 + spFOF5Y6y7IHJD0kgFbXWsqBpf7hpur0xlr+3hC7PgBdlbLK+aUWUvNJhtUOcCXgd/G+M5/WExMNpAR0 + H3vvQxEos6mbeUU6gOzDjT1R/gEQ4vqjfxhhQkYZ+k+ZAXSHWUZrh8sDAOJjH5kIKBtaDiydRQC51Jxe + shBjTUoQX/Z8lBYyTBwcZod0AFkBkYBJtwPXZZ8/srT3jgdQ8X6H8fmajBjIew0gIzA6QIsEEH3LAgip + j07Wkl04XUuAuNs6fmcgIxDJHGDLWACIH3i7im30CmDARJJ75HWyjx74HbKNAJEHvsCHmQ8qwngyijgF + 5lRHSWCNU9za8dMDeKRZUN3DFfBo+T58XQCyAiJaAcclrYBIXwUasRMGQN4ESHJCIiCRkaWTMz9FPMYv + L2Y0ra2//JclmtPvETYhc7A5Mps7LjNOzwFYx1ryPM6fxeI72swHDSQiutpHK1/hvBIsJgrnbcZ4DWuS + haCH+PedsaEd2jkbzhS3tMXvl3W4XFgFIs191fpRAiAjDSO3D4B0PaYDSCtlBQgAJxlTAMWv6/rye+13 + e/nLEli/bS6LrcQAIJAAeJYvdzmcHL2FDwrPkUAQXYNy1i4sRWYRQOkg0nWTVuYqUJGBfG6xdeaXAZFf + XGzd/dOLzbv4IN310eggHUBkH/PbP1CzZO5gmqXrzg8spi7eeyklyT5Y09txX0ULsZSlqN5KWStMZA1N + ZO2Oy1i4n1ysBUQey/s2QBJNBBBpLCSMRDHdklbTLozgEbBmWI6nd3+E+/ISwjpD0mw0zFgC8t3SPNts + 7B1MtPym8RAmgvsrYNBmVnRnVp3wq/HN6zUjnM1OsVjrbsuHWoKH0fSMSmAzHXouWrf70IWdv+cm2oIU + kz9V4Y8BkBaV3nWVAg9LY7Cp7vqSKchCBB5KTZXz1UpZLdyx96OUhVdm08X7anwcxtimkbABCH/T+20p + r7MfwaEi2xkCJStIo1+NrrUDvfQP0gF4HgNAycBqANJt0D1UsacPp3xVTKhcbbI6AYTHmumFTq+UhRi2 + uAogbQxuylnj4VOrANLdV72pcHQ59IX0/pDRJX93CSAf+MPFax//5uL6uygnDTaubud6Ny+XrfNXN61o + O5OFoIU4FJ5TY52kAQhWMQ+/11cBSUBGAPHkSK5RGr502qThC/BwvofgQd3adNXZJRJr0TUMtIvAaf3Z + DyMfurUT9y7W9mkWJI3XZsEjhiRmFYisueI6ASj69Qh69fWSoYxFwS66N8C5pujebtd0Dx1fbjzTc4jE + D/5GUmDXXv/7mu2BYD5JRAsLAOmDk9wAfd527/0MJ2fiTdQJON0PDKT3gMS+yxJEzAUThAQQAaWVtKoc + 1nSQ1kPj/8myQbMDCSATIdzSUtdBhm71Fs7YAaSxi0FIH1hI00IGMb2YyODKasykl7fq922AFAir434o + eTUgqcc8KnlxH3w8BivmMMIBZofst66zWeo6ACANLPI9S14CjOUrrm/f+0sNQH5msXknwIH2EfCgdLUB + cGwAHBu3v5pRyPPbyFW7Hc2BuTIm8M4I6ZzeSZAim3kiTchdm18PEFDWWrt35My6+9UqZYWJUM66EyaC + JrKGJiKIFBNpIIIusgaDLhA5z3sZFiIbEUQsablhaUfne9M7AbMz2I1hRMl8I8hRYVzmYaBjgh0d1XyD + 6xG+9wA/I0eL0+aMZsYqZy1ZSC9l9Vj4Kl9VvEiAx7o9AOJm47z3LTWCNnFvk02wgKdswQdzoPrmaQrv + mAkUgMh0ahCTwrylsdJV/D91H7pzrAdGdkG9uccyD73Fy0eDAZQioBfzOTh7pGJMavaII4S5lBEIjIj3 + afCDUQkgxpbsOtoY8NhJ8KXlKxoIjZqhzJVSIH+nhP2KhjmogxSIFavrKcTaoHW2ASA6sWIV1s5b/7NA + CztvSlnac2EivSQ1sIreje6l8Sb0jVxzASKx9h4CKv17/K7d8cVAPvAHiw98/BsAyKhz8SrBZVWA+Um/ + bmJOGxDfh7nbgr8LC9k9+bNM1KqxjM743RFA6E/J18NikwRIdtgI/PnOfb9GmipiKImqW5QaKiCvklad + bb5BEJ5lq/lDX8TKiD1S3zzR2qlFy0ACIPdj50U4xyp7pDcLDgDSgaSBSX/jhYkIIL4ZG5CMtJJ8f3Bt + jQT47t4aNJRW0srXMBMcV9Pbn6evADsoA4rWcVxNSAyeWD76AJP6ZAc4kRR8Z1dq2p725E26p6du8DjO + nAOeGSDZXLX5NveTG6ybrr0gAgjgMXlVy656CCuuLOeOo4fIQF4uBuLfdSRs/r4AkkVDJpd+X8AZwKr1 + o0QbEUwa61heyigUzrsGUgxirbOIltVVGogMpZxlA8tYvS4YNndZ/U3/Xuko9Tcbu2mRLT6+TcqbO7yH + dtH9tgIKHEJcZz672JJlACBbHkoEDQIVty1fYejYvu+zWHjRQGAhm2EgMo8PF3hQvkrpCvDYuK3AY34b + 4HHbC23xmjJfRiCZWkZCzDaVd3Y9Ey5JfR5KWVp7BZCI6iMQodlwDCLFRGQhLAwggshac2dZyloDQNaO + 0yfixEycWevHOfFjTZ+c5GByD+GOMiJzsticZsdI7D12cTGTeZwASAx2NJGBnydPi2yu5MTtwUIySlct + ZHnCj54R7YGGwXSHU1qStbQucV1fbni6h7ZOMAM+QZAwf1nBECXv5t3X8vS9ZAIlWNvsVz0gTfSPgF4A + opC+BJA+5rei15eCupt3y77KZTU0Vhd4F65XNJCegSW7Sj8LINq0l2zmzrLPxEGHP9W8F6NGTNIt+y7l + K91udvunl8YIE63PzYE1zsNSA5EJaZUOA6nHXc+roAVgphxIdI1gzHOZyPfoIeXKytJhlUReLLuuiOVe + 1vVluWt8vQNME+Qb2HTQGezC/A0fj/cLAPl9AOTrAIiWL+tf79Xq9Im/zwjGWo1iealrwBCwzPb9OQCC + RW+KH/Jdrmcx8zff53s7pwGQe7BtAiBZZ6lP2yUs6zAAz5LVg78LcDiK9Hex7X4OdsFJxGhtnTEpI/BB + 9QTHh2tt//bFESy7RyhdGdFei65zu1mz6ntLZuLPRt9rIJKYk85axoDSaq4HnFxDmaszEKKl2TjWLxDK + x5CiGktLueglN282bcHCkayUp2yInNtR74xvwYSfB0wIiLQh8MhPEUXipMAk8ypcsxFHU2ibcpoHAQ9u + azks2kZ0EQdwsfhZaSFG3hv/InjU/ynwAkAAMAEr1/m5AHdkiD8ZNxV2RjAuYXUA6QykfR1w6Ru/oY/t + eoT0Jq43Q8CaWowjdMOo2vLxjXUW/9Yg2jfHl3Pb0Y58z+zd/skAg9e3zwgkv8rXsDgPJET8b3Pp2rrf + 9xnfv+9Xqw/k9M8CIB9fbAogdwAgAZHXwj42AI45zKNARAABOG51UTYKiDDpkvKV1lpLSREkGVy2pqg+ + uLIaiHRNRABp7qzORAIitwI+TRdZu/EipVhYyA0yEQ5FAEhARFu6fU2mKhyjXAV4Ke7bUzLFbRVnlEm+ + js0FSFyz420Z7miDrbEqNNgmWiU9KOosxnosAwyTVOuYV5lBSl/l5EoHdRxKgEfmv6MLcN2TdUpg6Sup + MtjB2v94Bojd7GiTHMrcuCJeu4mns55TedNAJhvlWOozQqpPw2FQo//V49u9jNurNzC6afey2erskSrN + FXB19lEDo2KrdW6LjYMpXal/mFGGeN7m2gs4YYO41EqLab0voyysMCGqDx08AiAyqt6YqZtN1uPcGHWQ + lLFI/E1joTHvHUQEkkrvNdK9AERQQS9p1t3DLoeok0SedGG+A0z/2nBG3IbcD5/rI8+++nuLD3zsa4vr + 76SDcQjeGlOed/N60aeDINWAJQ0w+JcNA7uzmIhAETBpKwASJsLlaWrZnhj5kMtAMiiICXMuU1M3jOV2 + tsOjX86qRiwyrqJ9tE5gT3h+6I5q270Z9qFll9PBCDAG4IAZpB8jIFLXc3kAVFqZa6SZXM1Oun4yuoyw + hzOE2R6JwXAs7VPEhhMZPnmREz521RlAYTnOxydIZL7303Td05cQCy63qcfPtDw2/mzk9GwMp/2c1C35 + VC/IuiCRhU23g4fMo3/faY2ynZcQ0WUgAEeASvYR8DAWhsFdAggDuQQvr8uOkggc/aNW7MZN1yjHVQOC + kRNrlZF05lAaSgPA3H+BxsfQmEeShVtZKyyKFYvwyOnVGUpAtDEbWYoNiGSi+X5S48ghRLC4QMmT72+d + h9kS5751gcuzAAjsY+t+AOTeX1hsCSCnGoB0AV0GkhJWZyAAyK0vZA0AIog0IBE8bPIzs2rO5l0A0hoM + o4cAImNRncSENRITFNUPgAhGEPUQ3z/FRPhbAom6HsaQlGctawVEyH3j0g51c7WmNz1Z4BGHlMvr7URv + 1zprdlyGAnj0dZTyBaJ6ek+20ROjM1BqEkCaW2jW5rWXxVWNoE7pEZWjC1Amc2PPFMBexloFkLGFt/pL + 3HjtyagIE+NLKt8rPRJ2ouc+LIdMFVNaspDqYVHraGWzgIgAApCMdIdiPmP7rgCyjC4ZM4GwgM4+Mvde + 667pu8SX2H2e+BLHC1O+8rGOGygPAIhltBLPx134vYRVoKlpQMDXzlslwTi/7AsJE3ExKyRLIOmg0UAl + LKWvEuAPW1US62UxS2N98T3+rvdDNgWA/C4A8lUAxNCtFrb1nlyOEU3fcl/SJRDyNujWHVjPGIhinr1M + RLaxizaz09cproeZsACZHRwx+bCzaTrnegPA8HILt9VGhgMBHg/99mJ2jiY8bbvYKOOGof5caajUlz2p + 7d1WpSvAoxhIZxxcCih99e97u6tWA5UAS8U0dA2lRPdycVVZa2wLbjk8+zjDSG9V91h/6o8ou9GsRsPa + 1nnmbVMmml8maZYo8Tm9LLIQy1bzp/44IyzTSY7QLaAkZZjyksCwtPCiFwgUiTFZlrCqbNXLVwUmWc4U + 8VKGIgPhb6eEFSbSylcBkAKPMCMZkcBGz41fCzw1UrcaCXtJq0Tx2sSHEtOBElSVq/xZ5XoJDgIG3+/l + t9y+PQ7/jswk7ER2JbBUia5KWw04h1JXB9F2yf2RUW3LMO6F0QoUZ3+9lUQLPDYxYmyZfyWonKWMFQBB + A4GB2AeyeWcvYy0BZMOpg7cx2TIA8jwxIw04bnl2MSNyZOalAGJ3+A2PDyxkaDBMp3oX1XspSxYCgKiH + 3AGIKKqbjTaUsxqI6CiknBUQ8f19AoZ9HSUt2EcAhLJWnIgAz4SGww0YhyK3DCQg0gRpN770V6RnxCFX + losoxVjKEkDUWOg7mWy5QbcO9GxyTXAP+2hjXa3Xwz7SGwGIuLGWoNwBpLOQkQuqd5RnDkfpEB7IZrEd + V2e7tfjSQaq7fuhQN45lPPMk/SuyEDvp/R+j/7c6kbAL6GmKHNl3WxxLsQDLcuo65F5lamSLbc9I4mbd + VTwHmPsEwipflT05JSxZSBPwqxyuC2ys/xQDW0bDNNY1LmOlfPZExbs7AjdAohPMpcDu4CmZCStlLr/X + vh7/7MD3/J2+BJvR1/4N/q7PvfcNAPmdxQc++pXF9Sf1A3fUeR8uD4BUNcLs3i4LcbKWAILQKXAIJF6e + kpH0Ela7jm5jGWuT+dWblKtcOTWyCThRzoYvAST9HXSap3zV5jE4iyEfxDivqK0KHMaVtEuv1xoByMBO + BAtvO1p+PYCKPwdkDtFRlhbgZgumiXBtlw8gfQITSldTx6Iyg3uO6L/5gBsXkeGM3d2wjyXM4+t1CYBY + bnF85QxwsRQ1ha2YNOyGGB2kxY6sI75XqarKVLKProMEQLru0W7TgcTJhqWFNBCB5QRIwkQoXwkelNEG + AIElBdzYaOdGxgAksqEOBkPgYyLmO5OgtySAMi5lodvoxkopqjGmfvuYAMYAUqwi/6NrHvzO8jFUWe4A + WDYNqANqQh4BTIFi+8yvcgBBR+N5L12t6WsCCAcUgcQ+kM17fw4GghsFAFnqIJawYCBoIJaxNgbwEEBg + GoJIAATQsMnvZnoxBBCnXx5lo2EDT6NhBHUMHvc0PcS4k1P2h/CeJb23SlljFiKIKKoLIIrqAogsBAYS + AIGFpJzVGIiM2xQGsrVm9IfMEPbLJeWY3DGIFAOZAwLVa9F7RCrFN/PWbVrcBgiIObGklWgRwKYi408N + 9fqaYULgY2bAMxs8uVUlbpdobAmrVonYB8Xz2sgFkK3K7WrzNwQQ/1ZAJABip3ibE2K5aRjj20pZbRMv + JrIKWqPsrTaRcHBfqUFoDoh1mCj9pkPosjIwMbElWnfpOvfxyQw0DiieJ32X+5TO+Ex87BEwdqD3aY5t + kNYg4rf7EgARnJs5wX6dACZ2Xv5+xHSe2x3H5lrKcgVIVsEEQHGmSBYgM1wff7+BzgBADYiG3/H3XDBs + GGYA5JlXv7R49aN/uLjupKMPx8jzXlwf0adbrNG5GsW69SOLnds/zkD4T7ApfhLg+NRi+9TPLLYBklwC + ItsAyDYsJOv0z+PHp4ylK4bRo1nnENStUXNK3Dj/a2zCjKkl3G5thze4kQ72fbQAu5QCABVnfGS6oLbd + DdxXxpZ46dedjYzBBNAohiJIeBtuO7p9fU8m08AlQNJKX7KQxlACLp5A+NuCmvfTeJUJE+6mTkgEALUe + z5jRbeOgj3fTRkhYhsvHuQ2A+rx4u2RIqYM8hpiONuEmW86oFgXCqTwiPEtgkGFkAw2AyD4AmNf4mT/3 + dgjsHUDCQixlNS1EkJpeoXwVAIHxtPsU8AA45jQ7zh+DLbHhzpm5MgVsatBVgcLgkkopq8pNSRRuGo1W + 5QKPzihGICKTEDDyd9Q30HiaUSC/01hW2BOrHiOPb3jsHUDLNBC20kpb/r6Px+mDGx5KZLJMKbR/aFMm + wtoA1H1vbZwxC4uGKl1YYSD0gKSEpQML/ePWEfugZFUA8ixrBB5MvhRMpgIImoOn/XUHTfXeEFmIZSy1 + usHa2zvVWymLuJPSQmw07CBCGWsAEQR1ylc5KMlEyH5LvtsO5SAaZqdkZ2kXt7s5MfBZgEhEaUovaiI9 + 9qQ1GQ7zRFYsvQEQ7MMzYuOLpcBYnJjYavVbDUAUf+3fMOgwAnwHkAjHIwF9ZZiTpatYaAcmYAlLVtRn + wWMddqNuDCVif/SQpStr6F+J9tJE/M5IMnt9BFxtfkl0lPxPmwZlPeUqswyXeecm7qJ9WMqSYW1G+6Dz + PNElPA+OE9b+O5SvGoD0KJemidj3MmgwK/el54tFX8pj1s6rFmJfjSyE/y0TCph5f9p1Yt93bkLcd8mS + svr1fgn4cTt/J0sHmStf198TnJa/S2kWIG0A8sUGIE6t6tTmvbrsdIrLW8YLILn1w4ud294AQACRk4AI + msz2XYAH4n5dthXw+DmAAy++bhhOhFucCAWTePS5vnH+14ma+LXFjLiJsA8nvsk8aKBK6coZDEZDEEq3 + tnsLcSWCgMDBUgfhMnM/OoB4OSy/z6KOGpAZfncEJGNACZBwu7CTFc2E+meaue7/6TQLTh/54mL6DNoG + YY9pfGRlQ6d5MF/DsNzQ3Ni2mXu8fbdgiqPMznQ2UpnBBqdngWToEBdABBJP+YCEbCaX/l1Bww3US/5H + NtkI6wINt/F2KWPpxmrs4wWdV6wACOzjGQGNkEpLbCmvwZAY+xrweFQtCubEpcxp+uJfVllrAJIuqpde + ESDIauDQtY5B86iyU24jeDRLcgeQgFHsydx/QG/yAQAkPTPNINAeXx5v1356Wa8zHdiaj23jYScQqqex + HiEDi8cksBhlsnHxN3hvMS/9fiLd7/2Z5GDZgR4ASR/IUkBP+WoMIDCPedgH4CEDIWp9hg4xR6x2o55h + n12/D5OH/SHd2hstpDUZJupkVVAXRCrupFxZaiGyEHUQVgAE8HDJPmTcjjBwQJp6CJ3yGzc/1xrUBJA2 + Z132EWAbMZCwkB51opCu26mmGZrOWg4sO9nZ6GAuG8fZSE9wGr/eDY5U2uurL6KziUrbdSPv4NFttG0j + H5Wv3ETTwDcI2SsAYpx7NvuKjXfDLxDpEfWtLyTswibIBl5hPA240nPSh0j18pXieRtclTgRY0uYU389 + czm07LLiiLruSVabPOjsc0FY8dzYE9OMBap034+iW2Ipbk6wIcLe58Ty1fI5KAbSuvp9DRIL4whjXWA4 + 3DLeWKMCojolwh6jYuRJhP1cKu47O0aWhBaVxf0FfMrcIEMc/a5mAH6vHqNlOoCkrQKQ4zCQV76wePWN + P1hcd4cjD7sI815e9vrcISAFI9m5/WMFILCQgMYplmzkLgGlsZIACIABiGzejzMGFmJ38Bbf3zj7GcDj + 8/R8fI5gO0TJXd48+u6xxk4BknVPXDc/HgdKfPMRzwEMM6+g9VlbhLYJErzgtWAdc0HF2wkUMBbBRmBo + gLMEnwZGAzNZZSiK9LIPHBfYLyPqO5DoYUptz3+HoESsuQBI5pWwMWeioGJvNjOaI33sPD/9efFEvP4q + /Rg2FsIQBBBF92F2uY1+CtGe7j2JAyBurh1EnGBYmykr7KQL6ziz3IDddF/+Yf5mGIjggcYyhX1Mn+3s + g5DKp2AfgkfYB/dfAMHIUBsxSwDU2MDtBKQ1GVIvPTWxPeDQmw8dcpUu9nJi1ZjeAohMXvTr6Dd8Pegk + /lx3GWU3ynl5XAJDL93lZ1qhjWbhOfPnyfoa6yTFcPJcer+J/fdSM8MUO3WA5AHysIgymZ/7FWaB/EIa + 9Oak8W7cWTEmvQdkYCGUrop9sG52ARw3CSAFHgUglZWkZmC8iXEna4DIuqWsbu09RQkrvSECSNdDeimL + SJ6wkDGAoIO0vpAwDwFk7/a852XlDklbV3vjfTgju2vzOJtQL2VxOXeDwuLb9YVoIJ2FjHtCNipkMQGH + zcJbTXZd/wBAon+wYQEkspzSAuw07yWsMfvQfdQdWF2HqHiSdRvrMjZWp1dL4Q1DsulRp9MIQPq42wPz + 3wWR1l2e/10gUkBWYFYb91j/6OJ5Kx8NMz+067LBwkLSC4IWsU3fh46zmn1evTND+Sr9H6WP1rheS1ha + iAUQbcSr/S8dQOxBGQFIy/8qMb3iYUqsF1BkJZYjcYd5n5haGTEfDSogk1kx/We6uLBWpzfn8br/MTrw + WgVkNAS46jEOQAKYWEJsAPJbAMjvASCwAAagvD9Ly1lfijpt3cKs39tlIR8DNNgk7xREAI5+6XUBhZP3 + lozjHjZT3DA6Y7buw1p55hcZ9OP6BdbPJVE3kQ04XRQrJ8xaSPZViy8JgCRtF0AwuoTY9iPbLhqWwkI6 + aAgcBTJLoGkgEtYC6ASAxqsxms5sAjxVFkv5yhr1Q58lJPELzGTHcUXI4+Slv6yNipLPxiO/x8ZGtzeZ + V26AczaxbR8vWlWeD5Zsy409pRo2SjfNTU7HE6y/Q2d4T81NHhZiOhtnAAHWEhaSEo8bKafyNhI3AroM + JOUsGIg9KPxOwMPy1fMAyJUGIM/APp4WQFrpSvYB+IV1tM1342GZEw2dloYe+lJ+JnMJYKWE1XSMHn/S + GMbQO9KdU60clfsb5iCbUURvpauYAgBAAGoCYwpwCA4+toBI/XwwCPhcpMzVjQTNkZaoGGan8Nz6GObc + /zIR1OOe8VrNLximyPvMOHdmgTgPxDj3+V0ykVbGioheAvqcWPVewhJA5jIQQUQAQUS3oXADsTp1fGZ3 + JPYdBrJOGWs9YjorfSEwkGRlNRbSh1Ahpq9j511XB8Ft2EtYPd5kXeZhGcvyVdZtNaKZ5lk/J85p37zJ + OSLW1ZuozkCqEtYV0/sgqmIgbuDLpkKdTrXJzdVAWkJuP6nHKdQ2pi3YiL9bQ5MAEDfrbODj1U/fMIUI + 2YJH/f1K4e1NhAUgcWBFRJeBqFXUSX3JQiosshoMuxZSgnr9//7/7KqnkU/dIb0XXU/peV46ymwcJPdK + 4Xo4neu6qoFR0T5kH2FhzrKvUcGlueD86gDSQSPx9TrAqvdjCWCCR3XD98c+1n6qibGFU0aPEegFEEGl + 2bI5APj9ek0tuVnu6ksQgbHEySWQCCL2lYxBZMxIiJBPf4tAggmkzTQ58szLAsiXF9fdTklpEF+6CPMe + Xw6A1VhJgOSDAMhH20bZQKRtmMVAABBB4/SniZOghMOmunU/oiZry0E/p2nwokPYssFkFxqr394SltlX + AZCWvJvsK6i9sz4CHrAOmgkFjwIQvg6ICC5cP2xt4dwKa+lgIiMpBlNg4qUA03QVwcQylsLmQ59hpvnv + 0Othuu732UwNNGRD07b7yo84zX+tNkhO35ZkbF4bgBWA3bxAn4gbbStRHbFDHXYxfwIgYmO8GkAoC+UU + X+6l6Yv+TzZPN2NWidb8L78XLcRNV2DhxC6AsCG7solyEk/5KgzE8hXOq7APNlY0jzAoAYTSj6d3N+AN + +nE2aObcwNgQfcdEW8pbUxjXoGM01tGzr7qQXiI7QJH73oBAAPF7MpY8rtI6CvAASACvSnQFmus+twKG + JbymA1VjpiU9mRa37UYD/4dLEPE51dEXwOQx+1hhWRuXjHSvg8oGibfzUzRXGaZ4Ck3EfpCTxJngxIoL + i16QKmPJPixhXWY9tZjfBAMhGXd2AxrI9Y9SLmqnfTrDi4W4sJxr7c3cEHKyLGEBIOsJW3xmlNgLq/Zg + 1BN7bSo0sVcGYsK0IaHqfTIQAaRf5+sMTeOzMAfwtmz4c7PBJrpxHF2k23qbSF1C+hhAPJ1XwGLiPXoo + Y4Tm1v8RAOFUm7GuBDgmB6usu8MG3k//XUAfokRGDCRBhpzEGXbVpxBuCCD2gURIN2tKAGnDqzLvvdxY + WQGQaoDs2VpLELGkhUMLJjAASEvf7VMHu3jupruDGSCncqPbLfWw8ZYri+cPwB3ugyJ+IvB7ZlhjID15 + uI/obU2Mg4FglEK8FNGribGeYwAk/S+uBhhe5vkoV1r/voJ/WIrW34AJABh24msNkBjOqI4SIJGRUAYT + 8LNkI9384GMWSCjBGgrJ3njk6Zd/Y/HKG7+7OHE7LfgKLu/LamLOTVxmNZHnZjJkYCbbt30IAPnoYuvO + j7M+sdi6i9O269RPsT4FcPxMLb34iJmb98M+ZB44YzacEkddOuDBh9JxnhMBxFRbRMYJI0L1v4d96Exh + ImGYxw3nFkc4jR3ZwekhqARYBBHAoX89ukzTYQebgAZg0nSSAAhfH2QkaiuwELrd1x4kHPHxLzJV8E+W + M80/rBjsJgmTcLOmhDJ5lc3NzZ5Ne0vGAQPbOgl4nP3VpUjeokMS2c6GP2VDX38VTSQNfZSuDDv0ujND + ko0FkOhScjPtVtveqZ4yVpWtSnvhZN4ZS/pRuE8ykOe+k810CouYykAoS8lA3FhnYSAwDJasyUbOuawD + BpIY9OaO87qlIPPJBB/BqWsgQykr1lzKVVkNJBTNu3Au4AzNkYCLrrGwD+6rz6HPXx4PoJLS23eLPQGA + XgZoZGKW9QIy7bGHsfT+GJ4DNaA8Th4j93X2OAwLd9/8/l+khPVLi/kZdZCPZBbIPGWsClOMoC542EyY + /g9Obt19JQO5kdIVSxfWjPiQ+XHr5pz2ARAZQTEQAQTb+dATohurayD0cgzDpzgYJa3XfCzLszi6MvYW + DVD7riCRspXMAxDpCyE9wAIjmfC5qHo65RBP0fSnVJ29zQ/JPI+mgejAijjttMG2KXM5zOfI7IoK/fN0 + bg+I7ENWYgNalYva2NihfNTLSF2HsAt7tRfD/zdmINqL22yT6A3O6hgzkCWIlF7TWIi23tahXplX9T/D + itpMk4DN4PiCURjJAivzcaS0E13BmR/Ydhs42p8RFqn+4nOU5kGzuHSYyboEEFlHW0NPSrMWDw60JQPp + FmkfW3XBd5bXDAQBi8oDG0Iw81r1mPuWFdaApEpcBST1ejcNpQFIJQZUSatWaTsFJKWfVFe9APLS5xev + fOR3Fiduc4JWV9zfj8sxWHVAEUjI0Q+IfJjN8hAQcRPtICKAUK7atHwFgMyZz5ARo7COCVEOipTTGx+r + yIbrH6jkUcPnmDFdcQ+nq/RkMyGnOUFhLQACA+nL/pDR1wUc5ODvMg/YSwHI3xMwBJHm2Iom0r43gIkO + rgs/A/P40mLtyjcAD0RlN3tOu2sfhAU0RpFNU9cUP7MsNeNkv0VwnwF+G+c/u5iwgcsMcvruc8uNDrF2 + /yyMhg3wagBpo2dzYkf38LSu1beXrQIensJlIFxGV+E2A4AAHn0TdiNWAxFAdGBdHgOI7OP3uM8ASWci + gsgIQBShPcHPBRBLQZgeZCT+Pf+/jqzSNszTan0gvdTm/exCei4B3c5OFP25j4l+CSCQ86Vw38BScVzw + W5dJCSS6w3y8Ak0Dk1y3rNVNBl73f/I3ApQCpADi42Em+obvt/uZu0IJa4hzJ8o9abyUs8qRNepE18bb + yldzmIfsIyyEw84sDYXYebftFmdKYeant6bX5GO1uPdYedsc9T4C15k2CQZt73HZh+DB5yCd6ACEAZ0B + jqNkvg0AAqDElcUlB6gZIJZ6elxZiuk2FuIm6lMMm0BeJaEqXVVWlCWfSoytxj77JNygPNEKHmxEbExu + rsOG3TqtD4ytPeA+cmNfBZCetaUeYQmrd6LbUKgGsgogFQBZLKQDyJiFtLj2PoBKUEvJzPJVZzNu2D11 + F/Ec627syOk4L1E6j28ITaRHJv8PAd9AxzbYKhElY/DopavVDvyxgJ4SVk8C7mL+skxYQ7qKgck6EnwZ + HUqW0odtNZbWmcqgmzQQaZpIlbTGushSG6kDgCyyVs1DCYD8OgDyJQCEzbs5Ct7bS+1lLqjfjSr7B9X9 + nZsAlptfXmzfAojc0UHkY42JwEiykWI7vOfTePFZgIZr4z4SaAUQToMTPjDmSU1vBUCceZAOWnzn+N77 + NLf11kC4dj0U3w7g46dgH1gbBQsBwWFSWe1rgCWgwW1q8bWXAorXG4iEsSi8m3ejkG4pK0ACm7F+zUja + tWe/Bnh8L1MF12QepOwOZaREoDfRWEZxhaa8K5RO2JBjTWbjssQ1YaiUzGJul72bYDZSmAVsJZZZGcfA + TlouVViIgrpNeV0P0I3VHFm57Fbe5caZ/xcGwuYc/QP2QfnKU3mdzDmVPyn7qFHBMw0AfG/69B/Xbfid + 2ROjn2FTjrYA0MhOwkQEEkHlsd+vx2D5jvu6HmZW7izLSgJrB9g8hpSuqtQWY4Dsw/JVZx4yEu837KmY + E70pAEnYFM9hbu/PBZ18r7GSxl5kKCnjUQLT7ebrMEOfmj8Gu7rwWd5vzkX/qcX04q8ipMNAOvsgxt0o + 9xnBhSllJc5kzEJkIAII+gdZWDM0kDCQYwCIOUNazgUQy1g2vspIhhnqlK8CIK2ElRnqAsgq+wA8zH6z + fLVN2Ygon7iwjt7ZSlkdPBDV+XlSqmk0TD/IiUqQXXam68RysxrHujftIyf5NrOijZdd6h89/4oTLSdc + 3TsVYbI89Q9lpLCAvnqUyEjMbjpIhTX2Uba9XGMJi/tmyWiYv64Tq69VECktJKUsGZEzOvpM9+H/NOvu + KPcqAYaexDEElNOJS11Mnth5fGoOpb8IsGyy6dJvfS5DdErTPVYAZKkDHXwOqhNd4By5wVpczHKcr69N + S08O+6nxxEtNqhxrQ3JxmGWP2O9spIvr6iJdXG+XsK7OSCzXFYCwvxWAfBEAsZNSgeT9WlrD+F83joHE + UZCwH0Bk+2YWILIVEHkDAJGNACQ0b22pc9gJfPpTdckpcMMPMvMZjIeYXH+JktWzxDQU+5gyaTAAwqXN + U04eNFxOoTEjR2nSEhwG4JCFCCbD8sMF/afhLw4WLo+4OpDIRDqINDG+9BOcXF566lDcfIQ8LgZDrb30 + F8m4Cnik50H9gcse/zFyHmXztv7u5ufGTQ3ezdEyjFElG+fMZioQdUPOhqqtd0jHXQJJL2FVWUhxWQ3g + R7l9WEfXPwIiupRa+ScAUgxkCSCyD8Tzy4CHADKAB5urDAQgsNSTS0HF6yn90NsC2Mwf5tLbPc2p/jGB + 5IuUuAi+DKjQAAr4BOiaNVfgqBIfz9ngqlJMVxRvuo33s234BSCyKM0AWpFhHc+pY/wZoGFHPSUsHxPX + 67G1x2fp65Ve2mrAGVABlAAV/04exyMwEPqMNu6Becg+nLchiAgglrEAjzmJyi7j3OfkXqWERYTIzGFO + YSGUsACQYiDMKifMcE7WVBa9FGEfAoglLDSQLFxYAY9BA0Fwd+xt1z96+cr3eI8vsXwF+1g3aRqASOp0 + K1vl/ez8mxyaXGxU/G/7QgIkEdErKn0jTifFczfjpn1YwgqAOKP8Nk7CJe5GiOdvlIBuGYQNiL8X5pJN + u4vYfVxtE7QjbPflxt5O4O3/dDdSAYixHisAkk22aSDj+e65z42FpPQ2BpACNMtM6fpuybtL0dr/42Ni + Hnlssg1AUtLxRC54uNHqcuIxJrG42M4wvbHNTBlmngzah5EqlX81AMgKiBaAOGfeElazE4/MCgXsfS68 + KQA+/m5ltmO/MxYeRzcdaLHWENAE+Hq9ZIzqIZoBurju4/IQ4BJE1Ed4vzrONwDy4q8tXvnwby9O3MrJ + X5X9/VixvrX/NQBWB5LmNQZItgWSWyhp3f6hJYgQH7F1tzoImgBMZIu51GnoAkzmfJgd72nOT8VSmyYK + mGRdaABiXRgaHQvtx+kPQaAUTAIgAocgYZNVnciWSwDxa+vIUv4CkjHQFCspNjIs9RFKZFMiVKb3fYqY + kj9YrL1CvT8boqDRbKoDeJTY3Xsdwirc8CwTsfFavsrmR/lljRkcG9hJowMh6FrOE4hik+1NhL0PZGgq + 5P+1EpmlmmgAaiGt5FM9Ep7mLe2wAbtpehsZyBhAUr5CUFYXGPQPs8cAAMIrZUbZZDswqH8IEH7d1sz+ + Cr634UZMac7H4s82sGHLtCxNCZq9FyZgESG9MY/0eQCYEcMFQgGESwEj2kbTNzAolLguiHy3QAPxPuxD + 5tHLXl7KRgSRQUsRZEpTyXPh4us8Tu53+kDOUMZisNT04mcWs3uYk95KWPOTaCACCAm4M6zkYSKJMWl9 + IDchnjteFgaiCys9Fz02xLA6Os+jgQQ8ZCACCKWtsA9YSHdgyUAGAOFQpP4hgPBZSICiPR/0aNgtrm13 + bb8zEN7HgoelrWYmWdvidkSTKICX5VMAsYzVROo2EySba/SEApBhRnk75Zag3LKa3GAT60ElIBMN/R1P + /1U+KgAaA0djHynfjBlI9WVUR7in67Yh9iiT5nrqMfLeZslAxoJ6S+oNiHBfInKXG2voZE9wYs1yL1H6 + XBhGucmaHhCRuUpzeawRpSlDJsq+98e08b/DmF7DG9sa6x/jGPmRgF4urHKE+XyXw0wh3cdvuVBm0RIC + 2mWBu6vKaHV7QGRkcKjH1LURu9rHbKSByIGSVgMSDwQs78uE+3zk8oufBUC+sDhO52x5ft/nZXPLsBCk + bnTR+HITXZANRLZueWWxBYhswkJ0WBkhsYl9ctNSFoF2Gw70YcWqK2jwwZwy22Cq7kGKaBgJbGOi/mFd + GCHdDKBEahtQF8Bo3bn9esTGtjqQDN9rQDIGmxFjWTITgOQYH9aHtevS5/EUXeYP0qPyyJcW0ye/UqWX + XutPx3jvrrbXoTXWKSRHHObkSxloijvL5SldEJlfoCuaUt7GPWxkbMBrH0MzUEdYBZAAlODEisuITViQ + 8MTOZumc9bK7dibStAHdS27MfZMNeNVJXgYisNk5Pw0LKQCZASCODp49/EWiZGpFdLZ/gpksrpniuWzE + 7wksXpL/lU2ZBtA5Q7RkWzNAaAZbmfLYfQ4CBOpGAjA254ALXwsew2VnUpahOsPqgrqsK49FER1gsPdG + EBFQAiatlNXBJSUuHGu9NCYbcfH73q85Lqw59t3ZWWa3nCeKRhaCG8uRtjMAZIaQnktj3GEiiXcPgNgL + 0gV0GQjzNzLIiRJW8qY45NwKu7AXBP1jABBBxUbYAwDSLLw6sDSIhGUrnjf3Fe/T9S16KACHCOlXAQjM + RK0vTkNO4pRgszkPDMT71EpE6f8Y50yVGN07patM0vWPNv/DRkI217LZdtAxIbeYSOkoHTRG7MMyV25T + wNHF7aUrqjUSWrrx/rUZJNVoWKN4l3belcbC5ujqM97ToDhYd9VRmuMpib/aZRXPmxnAhsFoAgKjDXxV + +skJXt3IdOXYd83fQkDvYZEdOIbSFZpI1z+u6gFZgmh/fiOiD02SIwAJiJRtuJ7jBpAxFDQg6WWtdLI3 + 0Bks0N3223tIuuX3aoG9mBaNoJoDYGwAyGcAkN9aHL+lxi++Lyu1w7YiRo1WwKS5G9BHBJMtgGSLktYW + VuNNhPUCkE828DDQ7iPpBg77EDwEEcGDGQYTKH2W7iusjdp4p/fygTdSm7q0GsjALKwDyy5WnSpEvS+d + K2NQGbGSXuI6UN4CmC4QpaLj6mlLV7AGN+0X2Kw4vc8f/E023T/I5uRpf41Nfck87G+AifSmOTc+S1n0 + IERPcKO2DKT4bF2fjTC3jXOJMg9AEr0jwGEwYXV9pywUlmH3ucK5LIPlCduTei9fuSlHUG59Iyn1WMLi + vkcDGQFI7hPagOUqAyzd9AWMBxsoAAYBB1YAQxBRz4F1CIAFGPws1l7Yy0WYSPv5Bo6zDVx2W2ZOnf/V + uL8Cet4/jQTRQHgsAUIeQzZ4LgModf/rMTWw9PFmWdbitj4eQQRmV1pJ10O45Pk+CCxdL2m343dml7iv + WHhnaG8CyORBGljvoR8kI21HUwkdKoVNtkAELSQA0my8IxeWel0vSTiTIwDSS1imKKSENQKQ6B+WsJqA + HgCBZSue677SZaX+wZoQvb7Ohp0Sln0ggkn6oACP1hwbEEkvxPVNAzFcsTGQlK+6KN3nbTQ20fovyj5q + /4HlkD5ASm2A4VRpquvlo85CGjhEEzlsKaJ3kGk9Iabi9hP4IKRXI2GdvJcawNUMpMpvV/WEyD7M8+rC + ef5G6Sw1NKqDYXMmtb6JAkszxNq43vRjCCC4lKJ/2P/RHVjV+1Jieuv9uCaAVA9I1ijQccwqDojlYSO1 + ZlsOrqoelj4hspKEez9LE9gDPE2EH7GRakzsj2fZeDh0uzuS2PSBApBfBUB+EwBh0x6sWt2y9R5eKj71 + /xdBqi/AhMiD7RsFEtgQlwGQmwCSW15abGI33gQsNmEcm3rvFS7pAtaumyE4AMjkJspXJyhZdfYRAMHa + eCM/P/NJOr8ZE3sH/SHUoqsU1dlG98hzGarv4sM2AMjIAjn8ThMie3kLIDkCCB0RUMw0UjR/+iuZab72 + yl+10lVlP01epLPZjZUN09N6OZDKmlrOol73Z5OENUzRC6ZqDrCXuo5I/TSn/2ewAwsQOrEEDMV5v9bF + FJ2FvxeGIyCV9pFNN/pB21wVnsNCmp7QASSd63ait9M57GMAEAVyGYgAAhCW7iGIwEAeglUAkDKJOakA + AQVFZy/zfdYFUgPOjxaAI/Bs6G7CHruBTVZzhJeyUN8LHh4EoClR9wUkDfR4zLneGJVAkMfTNRHZXgce + wcUJjzrdvB62ASMZGEgBpf9j8tyfh3EtgaTfTg2F54TbzGQhvA+npD5PyDPzcs68jWIhjrVlsJRL9mFf + EuGF0ULSia4Ly6FSMhA22QCI9WzKILyHE65oM2EEdAHEEpYAooX3aZIVYClkugVAdBn28lXEcwZJWb4i + 7HDdxFw0EK2XeV/7/vS9r2mk29XTLKvg6+a2W5tnL2ElNr03D/ZN2L6MavLr9fnqprccQq9BbKGslgs1 + jMPNxtYBpBxPlZS7CiAFHgUglrmqnFPaRJWXuhOr9JkqHY1P6b2Es9pUmN6VoanQxsHe7d01lEr7rdh2 + yldxJ7Vmu3YK19KrvmC5bzAcqBfZj2KfxFUAMipdXQUgPUSyhyh2K3Mv4/X71wFyrIV0QKj+nLxO3QUW + puXyca1qKEs2Mmgjef26NjK2+8qyemlrDCAv/PLilQ/9xuI4EQvL5pHeRPIeXqZdvpqLqnW+N6w00OqA + Yn6OLITS1tZNrJuZ9IVjbJMhPpt47/Xfz+8iop0TV7rO0+sBgDD8pgCkwCOlLQMVz/Mhv/TLSeb1lJYP + 0cgXvx5AkYUIIoKHq4FJvmczVgOW/N6o1NWuR5A3/E7R/DIM48qfLNZfRDhncw4oxHlVfR+CRk7tsIl8 + z+5zNvwpibxuXLlNyi/2baCF6GyyZIQ7y1N4NjkAZOrY22HkLRpLylWNwbRk24BHswzLPmQ8JZ6Xw6gA + pOkf6gfDid6SjWUeT+pspm6qusMEEO8PADJFn5k+oVAOkAggKUsJHpSkBgARLCjxkFMmkGycxXoNWBgJ + kuXtKMMVcNikJ3iwGQMmHhy2bnt1sXUr5UxfezQvQcr7NABFA8RiIAJigWI1FTZRPYxL9sLXPhdvyMh4 + zO3xdgYSsd3HdxWIWOrqIMJ1n48neczoIPN7y401eZADAQ2FdqWnfCWIyEDukIW0yYQ5wFDKShmrlbAc + ISuAEESYjYBS1kEGAnh0EV0AETy6Ayv9H1rUO/ugfNV6P9Z3ABG1jQ2b5QCJsI8mngdAZCAtacG8ptTm + 9xKbniY0bbxupkN8yTUAhE1TAOlxKNWsVvEZhhAum/ma9jBoIQ1MrgKRkcW2J/fq9nIzTJy7m2WVYyrW + 3Y1bbabKT8WWDu8Jqds1O2+fpDhiH4PG0gwBVbpR6xAQ22NqjCeP2eepuaBqGqNRH13/6Ayks4/DGcjS + hbXsjA9ojrvRAwQNRGiUzP3stt3RZVmX20r5qq0D2kj/3aWW0tONw6w8CBxoQNStBYgYxS/oh4G88EsA + yOcBEE79aWN/n9d1o/9HbXF7WGbn6HaotXUjzTqum2UilrQIMEP4dwb1rLutvIRl2O8xIShxkuvqH3ww + T3+EEsPPV+7UhZ8nsO7j9UESILQ1emmtmFNaHCsBFoAiP+tsZHSplz7fb+UtL12AzxETUh/6tcX6k79L + vweuqRe+zUYm+ygbqrbduIkaiHi6jQWVzXD6hCd5BFpO527Ekyv0Rugk4rTrRqcWEAZyGUHd07PuItnI + Myw285R1UvYqp1VYh8ASB1MxGXtOcjnEu6t3CCDd/to2WcT+lIS6HmC5p4GHJ2+ZT/6vAAKACSBTGUh0 + CzUPAQTG4ZJ9CB4CBY/NstT8PFlSgsk5GQdg0sDF62EgNumdk4lgEAA0BgABSDYFE6PTdd7xnEUYJwrG + MlwBI4+J76U8KKDw+LxNgGVgJU3zaYCS5yNBjDyneWz1GMM01H4EE4FFIOVAEFbi8/E0luWH0XTUQM7+ + HNMkmeFCwq1OrMMBRDsvDISInYGF0EjoXPI5AGKSbZwzbA52oWd1AZ1O9Ijot2PhHQCkd6B3AIF9OPfD + LnPBg1JV3tOJ7cAZGO1OALHnyRJWa5oFSBL414YaaantM8fnTbgth1FzYeVk6+avsF2bWjEQS1iK6J5Y + SxcYnFtdewh4jFhI/g5Mo7GQbJoDI+mRI+ZUFYDk/rR6fpxf6cDuDKTpF/2+Dlbeg0J6sRAZULfIjkRq + JzX28tW4UzvCcnXohw0BsgVelIIE2DQ5+tpVWu0yqn6lfNWnIo7G+KaxsudyDU6sawFICeT9dclzMdh2 + 634M5a4GJAU23VhQ1wt8GoDElFBg3DvZN30th5JWMRLddAOAPPX8Ly5e/uCvL46Ry7OkaJ2qvU+XEafG + q9UZARfTOw1g6yt5PTCRzRufWWzcxLoR1rHPG8e5zYzenLhwXGndjXju2E4Ec+PSJ54OmbmxDoBkdoJM + Q4A4TtAc/vh1PlABEGvFB0BE73wHjAY2HXTy/b4AkOuYvfDArzBV8Av0e3wD8KBm78YGi0jDYEAElqHe + 4WpicMWZG/zHphatoZ320UsOsAIAZQrAuHkl2sPN0NsCIhPLWZS4rP9XY2IT4mUexpUIWr1p0fvgyqbZ + BPN+ck9zXROm3YDdnD11+3/QP7KRurGmjNbYB4xJ8Jg+WuAxsxxloKWpyAEPAPGCACLjoIQIOKgfTGER + AR4A0euzlLW8HeAhqMhAKBFt3vryYpODwyYMdNNSpiy0fc955DP+vpt7nuvGpNbUPwSMAIfNguo4ALF6 + j89b3FktyqT1wMRg4HWZi4+Xx9nBaEJSsuaHgPezPP7nABO1k2f5vsaIR2BEjiO+VO+zAg91kCphZYyt + /UnJZsNmTp9SdBASmS1jTWUgx8+32eOKwCdJkKZspZ13BCBrg4De9Q8AxAbClK+aeC77sHxFg2BKWL6v + ez1e0Bjsuw1EAib2Qhycx1ER5oYCNlvogaa83pDXgv4agKRjOw6uymAq91U15VU5pTOQlnHVbLNVxlot + ZbkJl0Mq9y1soTmkhs3Pkl85kbq+MWgfw0m8g0e387ZsrNYAWX+zl4fG5as2f7x3bAMm6h027FkOFERK + d1g2Kvb/Xb0lFdlSXejj1djIoIFUJ/oAIHnMvYzV88CquXF5X/2f7XENhoFmHGj3ZwkkS0dWtJM4skZa + SHdzRRPpQ7qWLq0htDGMhP21Resfeer5X2gAwibdadp/xWU8xt1r7PXRgpVsNiDZvLESPTdvINWTpV9+ + to9r5SglrGOIV8fp+djHiXAMF4sjO0/ywfVUKPMI+/hFej9+aumFt7HKkZ+CSPzygEg88+WbH1wr3T9P + U9bAWgSRvmQjzp8+99O4rj6/WKd0tSZ4uGE191A2dZebeTby1oHeY0xaU2GBSlt9QwNYpo/BaPj+VGbC + xp4SlQ4tT8gyANjAJKL89+tv5+/KRGAeboq6l2wyFMT6/xewooOoH3g6b+WeOLQsAbH5RljWfVWlqwIP + 5pQAVpbaZACC2pTmugIPBXEWACEgZEXrkH38KtcRw9F8sjm7qT9HOczfA2jqttwuwPHpWqcxTNwCcHhw + kHl6XTCBgQZMYKabNzxdbPQSzC/6h8BXjKScWDwWWUMARGbCCmBqHqiu9aHM9aoCfNmBvc1aniOuyzgE + kTCtL+dShuj9nzwBeD78W4vJo7jjHibQ8gEei8AREBFAcGH1WehpchVEAJCug8BA0vTq+FhnaTB32817 + ItOIlVcNhBJWGAgWXjvQw0C6gI7Gp/uKyYPFPu6o7vOwj3YwIhw07EIdRAG9uwi18spUAjJuYiXglisJ + cMh9aQ15qwAyDhxk0+qjZYdQRjbbnpJbJ/4GII259KDEGTEoQ0ruAeYxBhDF/QYgAtv49NxcSFcByLh8 + 0+Ldl5tqWYoP2F6HPgvmfgQIdSRV/b96Y8pllT6IJAYzg71FlnRhvpeLkh48zHofMZAWJFmlwpETa9wL + MgaQHijZnuuDANKBYWxZXhodlnbeMYC08t7Qsd671lfdWcuIlIq0saRVy/eGwAiA/BwA8lkYCLa0NI/8 + Vy+zc5r45uVwHUC5HpZynbn7JF9eh6/8Omj/LoIRteKABrOa82b3jWonqCe704ib6h4I5zkdUsZaN87d + D1jirAEEP3R26/YPGs1LAREvAyJ8uNLBSxNW7+TVCukKgPCzY3xoTVB9kA2MkMT1Z2ECL8Ie3MTYvNZ6 + l/dwiYgbIRcW4EYvsISZNFDxZ8PmXk6inHo5Fc+YWujfLS0FgPggJa5sbGzkbGrRWxTkA0JNV9Hy6qYq + s7CEpejcxPT8Hzdaf96E9JzE3US7K0nnWAR0NkzvB8zDNQAIzEP24UyT2YPadI3UB0DsjWDWSUABVjHj + NuuAUQRsNvPpozjJvI3lrPOyE5mH4GGmmboCTaPM2th0XkXY52jlewjrOVR4yGA5uAnm4gafjd2udhmZ + jzH9H2omDTwauxqel85IBtYioAIwDfh9HfM3LdvJth7BAWf5jBJW2B+vS1jIY18CyHlcah+CRwAE/SMj + BRhj25fNrhg5pjcrpPNejpAOA/FAlMwjspT4fgBEK2/TPxyGFgARPBIOWg7Dyr7q4jnlKwFEB5bMIvZc + T8OWqIjUsXzbU3m9HZ+FaCSWTkbNezPE95pz3mywMpGcbjsYtAa3Vlvf4EBXG69OntpslsyjC7pNRM+G + WN3gxUo8aY8bC3vpyows3GE05FYulBoIpaJeskFfKRur4rFMArZzADj6fe9aQH8MvV/CkpcMq/eXlDhf + ybvd0trYlDZrrbJJ2C3BuzbpDoyysf53AcXhOW9gEfF8JKYPJSyZ36iZMDEvBVBDL8wAILK5FrMSjac3 + DfbH1y3L/XZNQB8MBvVYS0fq3eo+5vY8pkFTO7arlbNa42HKkzwv3qcCkOcAkNc/sziGlbAnNL5vl4JV + S4U8cNlBrP9sFdTaaSB+eeueCnQAyZQ5zVVr5Q1vBLU1aFxXmfbHrPHpfZ+MYBlPPKeuXAoOzErIjOh8 + gFi+iXWswEK8Xv55yl2ZKQ3QBDxa2UrwMBLbEsPFX1isP8LmfvmPEM7VPtiset196OxuNtLmdgqIuDoz + 6V+7wbsG22mBiFrDkJ+VMlQxlWghDqRioqFMobuMSm9hNWCSQQwbau5DWwr1ObWz8j8puSmwW8oRPHpJ + LeWrPz7IPh6HfQgEsAqZRQGI4MEpPMDAeojTOSWfmAEaCBY7gZHAGqq8ZcmKSJr76GkRPBSm7/74CDyY + 9nYDA4kAjLrka68DHFvXW+4kEdXv3wyowFL8W7rUAhqYAMJCUpprZa3OQgKcrGg+XFo27N/L9y0J9tIW + ji0Zk+CZshWPGWYYBvgo1+nzCQt5kjIj77m5ll1KV32ZlBAAsYwlgBi3M3JiTTF+DADCe3kKoBwOIN19 + 1fQPxgMYzxPrbtxXsg/Aw+V7fQwg5rXFAFJmkNyeA9RykJIbecuCaoxhfiDZ1g1yGUqYTVvhmqUWUXVz + wUP7L8GC7W8tbaUr+kcAxHIYl0MJq30WW/nKjdo5GssucQGkNcgNFlbKfoJLGz/b+1X6YKkDybyHlXhG + AFKPYxSFnoRiyzdnixkOAvl+/b+hNNcBpEpiQ4z7UMbqQrpA0tmHJa5DACSZWDrEejNlJR5XInEHkFGf + x4ru0Z/vun8rIDI0GI61kGVJa6kr1ajg0kSqpLWpTTmd+wzJe+q5TzcAsSlG0et9Wkwqy//y8sCSAbWf + 9Z+ntb6tiHI1u7kQlDeNrINRmlOXiPr/ae9Mnqy5juv+9Xuvuz+MHwiAgAmAA0YSAEFwEghwMCeRIDXQ + FEUNlCgqFPLGIYW3lhxhW7LklTdeaCUrHOEIe+GdLYc3Xvgv8Nr/zvP5ncy8lVVdr/v11w0BYmhxo95Q + 462qPHlO5s0rYIGhnL78I7UEEI0CP0MmkCcVACFwcJwDdiEA0YtUNXEqdZD//dkxEb2EsBbkAZfG5sVT + 4zcyv177idnH9i3VqvqqYh/fkKHG+6Vg4hiTkGmnQ3dP403abQeOyoQamUOp1WP8KIECm+A/B+aDtZjp + EB+BBcBCzGhysJ33nam7AAIpsOzLLITspMjyinEU8s5LwsngsiUysw9537AP4i1mH5JykG4kXQEgyFAO + JssTd/zjTQWTf0HnA1shKK0lYOHSHzAMJmMCPJKlnGkwXjAPBaAZ0a0lkzSZdQAUo0nChG0YPIiPiZEC + HjR+U0r6XeJnkkTPn1UJESbrgkkhwQEmFd8xYGTGFp/VtgJ9GIbXLbmLfqaPixHShwYRxUMAEfqcueyR + tT6nFOMvCCzfEqhoyZgj5gKBfTh13Cwk4yDFQD7y9mAhxPGQY4NJi0XfkyzqarxyUEjfZT50ZK1iH9S/ + IkVd85+bfcCSHf8g0woHqQCE0dZ4zHi5YiI8uzzLOE+SXrfMndOkkjBQFRfIoPUskyeymAgiV+YTBt3s + I8EDACG4XGm+MwCZpfHmXB9jVHsF01vw3PWkHooBiznmJALprXAgtsBgFgzkbClfjXImxUDSEyfwPUZ3 + Ezx/0SXZa16UWAIeXI8KJXoGxikuU+dUJe3HObhsC4Y2YyBduloZTFj3ZoqDLABkMJACkCUotOtysUvA + ZhoPMr+nATzjukcAPkCEPphApDERMs50jxuA/Pb+29//g/09BfHmE470yUfe48+ad+BuNQBi7TtUUtVK + 72qO5nPmaYZ5DG1WrOMhmqibXrgzwIPJesQ+AJEdE/1QNpsy2YABo0OhYJR2gOIbFPRCcbP53f9lDCRr + CBULIbMF6So0ZskEyrffvvSD/eZ1xVk+LyMig7qRkd18Q5lXeLIOoOP5osOTDYS2ngYbMCC19/tqLFsL + BlDGnQFxgE+0wVb6OpabZOiRsSStBKsh00rgtDjG5tvyxmUAHdjvIIUxrSA0+8ND93lrJDrSzT8mCwkA + kWQDKMB2YB8YTgBEnvjO3+V9qx/8n87FbETs4lTgQLorg+5iqcbvkq7IYDpVrOpUNaUMIBrb46ZqtucC + BZIlzp8i7vW2GmDx1v7cwIGcyZSpX9J3NdZRxdvzJ/WbnA4/S4qVIaNtxRY23yCpAQkrmIXviWMiETfZ + ct/oG1gcnyUH8nn0Y/YlQEvw3Nco0Kz4hxkIz8EvKMYDkLz6E6WM/zBGn6tSQpevqNe2FQPZAiAaDLhj + /BLp5kpB97NM0FnPdYxEVzCdeUAkX51o/MfJs29rCtuJfZxQHNRT1kb2FfOde9paAwgyFs89UhAgopRd + nmFidgTdVZk6SrOXIUe2wgiHVBRlxDP4bAmLgoVTPKN0dhtzZI8xqVF4695vYyxxnJSuPEiuqvnKMOe4 + jxgTMgFIxWbCIHJuKdvYgQwQYenS8j73AocYMzK1knyWS+wHck6MjfA1WIaTvWEsjKQrfnNig0uwACAR + U6oBiAEgea0eBU6MRTZmpEZ3GaviH4diIDUeBEUkGcgCEKJ0fY1bSSYy5DMSFlIidH8nkLh/apuSskLO + sj0tQB5yVs36GKXjg4lQUVk21AzkH/+mAOT39/ekv84RN2Yle88bwFCzZfGyG0Ayg8P6Y86QJtCIujx1 + IwkakakSDzSNB/icekIyHhiSM2nQZ5qqc6eKqDwAO8lc3HgzjhpYZQDRd71w4+E168hBTCVlEQthXadF + xou5FRPxZFUCEBsKvNB3kK/k4WOoviVvl4Cug9EZsHVKaQZpi1F8T0ACmGQb2UFViiONeBhzxVMAhQyC + R4A+gYAgMbEQecFmJwaQiG+M/etY3n8axnGsknUMepXuqn3jhTsAzaA5gUfKV9t3/oUARGNVNAYCIDF4 + wEYEJFtiA2Ifjn1oUB1lPgwOLAEPGAgM4yUxRBchlJTFevpcwMLo7nPVkTrX+KQCDQOG4l6zphiZp2LV + 7/wP0Nwt8LDUqdLk+p2xQkwnuxPjAQgNElzbkLR0n2CMAEeBhwcRSnZjXQDGfZegLyAxSyEGAssi/kH6 + rtr2c8hYioV8EQD5Tc15rwrRekZcQBHJCuahqZWRr7aKgWw9fgkAofjnZy1bwaZLz3fgnPgHZXcMHkoT + Z/paxn4k+/DkaIrDOZtQCR1O4TWAKIjuUiYMxAuv2cuH9D9Bd8q+K3uLVNad3omJdZSBBQAypjAkki5h + wVQiQOv3z7o5UkdIHmOsxUj5rcyrBhwGEKr5pow1qvX29N2cJXBRKdcj0tN7DrCK0ddT8LiB3zj/uac+ + 6kul8bTubxkupLioBUY1YsU+UpYac7lTwbdLcAnCFSPimsZI9Aqaz9jHEkB6HGQajV71xiZWURlZxRQn + thj3MErGRK2xixJYZMXVNlNMZOrPlqXl0ic13oZ0aTFWA4gmxwsA+ZkAhMExIO772MwykmmYbQAeGYxz + QC4nt/Ggph7Ui4FFDuCJZcBAzpUUcP60pg4l314aNL87OEhRufS68NpcsRS9WB7ZTMJC4jJ4VJNHZADR + A0FapJYM+jp9Ri+/CuUxwn33GaWSvi3PW0bWAIIH6yA6GjtGOXV2a/EdRFKiqiDuu8U2MnuosqNyeQIg + eOS11jNLECvBuPFZRm2nIC7HD68Zg5egUSzGBQeJeWh9ACOByd64AYTzJICsJUaWWI6D6DKYyDuZgbVV + ba9gGgKP9MJ3b/5T9cMfui/MKhQHOBW4niquEeAAeIgRKrmBdqrxEqdKrz59XUxkgIjWYWY/wEP38Fzs + EUZxrjkz7j4OWAg0ntBS84jb2WDiI9WSMtvwb/kMsS7/UTJdo7/PxUjOnv+VYCNiDnGPdG20jH943A2g + gQRpMOFzshL3XzFIjdCnP5iOGAYGaIp9AJwBIAIPZeNtPyUAUezNTfOcnwIcmrLWsQ99Dgbyjqda3j39 + VhYAlUF/hNRQGdRHBAhIV5oKgPLtZh6Sr2AfJ08rddczDzK3jTIJFf8gqWNIqzzXbgISSpmUR897ILAg + 9XdLU8biKBfuSq7yXklISS/ewNIctclApZRSAWh5sFPgFe1cck8FyG3Yl8yjjFssO4BMJd8DRJZGsEaj + j8KCowLuGoD0oHkC4wg+T0HoqPAb2VcxGjtAhCl9XUzS83tQniRYXATImVVR4DaqBWeMwkH1MNKjFtYM + QCoGsgYgITMG2AOcfTR6yVIlTS0D5RGPiaA+AJKpwCMxosVRHIhfA5GSBlMebMH1GLT5UjjiAsI773zt + x/tvf+/39vekvVaHvX/LAAlnb8A4BgPR9wzeENDpE8Q4YE7+OQOJWgbIOSDi8tmaSpRUSZXIjjIIMv5U + KCXoyLS2T2uUOoAgFjJiI1nALRhJlJT2yweYOACvh1Qj3M9UauJcaZdn8iJtmPCg0f2RdjBEOYDQkpH1 + dIFJSiUjZXaASRqnApYZaKRW7xhFGveSxGo9QAdWIWNndiBDD9BsCoz6/kpS47+Sb0YAmSyllN183gIU + DKkNK0Y1spCI8zh1Fe8b44n2jwFV4JzR2DuNhQj2UeAhoIBxSFI8e1HSFE3s0CACM1GG3E5p1mYjiled + KwXWchQAYrlKkpTBQc3AALvQM2JHozkbNQ80/8FK2EYAcq7n4FzbVVyMcyNjqu7VVmBi+QqwZFlAYgbC + 2BdSjmEsAAjFJRl7w3gQ9YVYpx0HguhmIchYSuX97B8qNqbxR0ob337yR65+sH3xVwJAkK0AD0+z/LYB + hBkzq46bDbgDyzL8lGgn9qF1T1S2xODxj5R5xXQEzKxZ8hVznpMNiDyVyR4Gk4cV9KXJKYrS4GHIt6rg + yzHn4BDG1sH89NirUOKUXUScgRYA4liD9fSqkBtGBiev5rKYqvbmOdgrjljHaGNgYVunspAqrTjrQoXh + 45g1mA7Jr86pM6kykC3jaozGLtknz12Kxjn6P3Eca/3RYnS2Uqt1rWMmxYolASAK9E+DIjP12X0DmGkb + SYfTWJDMwLpQkVf7GYH0DiDa96wqcR87QzwojjML5DtOFJlus3ElgFFWPx7xmhGQnwPJemyk4iOMgQFA + HgBAfl0A8lMBCFkGoO4HpKmstc+FpWSpu5po55zJdjzKs2SruOhz5c0bPAh8+eaTRqj1qXBqEJGnp8qk + HqVO3IIy17x8Ag9exAAQZaFkwHxkYDkLq0Ak6bSkgN2j8g7lLZ7KEJwLmAARGI9LV5DxhQGREY8srDTC + ePYYY48LKQ2+Arg5/qKMfGcEZdi9TbViNJlmCrCw72IKKp2y1WC3EwGE2QpA4X3n8QqEYCaKvxhkvA77 + ycA/xwLsDEp44gkcyi7bflUxEIwmzENsZyfNn2sO9iHg+LRiGjTYh+QbAMFMg6SGlwAPAccLKvWhAZ5n + TLhE3SgxkJ1KgCCB0Y/nihkEi4R9CAieADhgGMTLYB3Im2Kn1cQw/azUM+PnJmNmyrw7V6UFPw+cC+dk + xhPsaEfyA9eD/AhguB9JGlDMh+ut2A9ASiqv5rE3+yJV2H2gxAlLeYr9KH13+yX9Dvtgv8TGPvUbwUBe + ltT5osruaGCgGQjJF6q466bUcgz6TkU/dwyAZQ4bmADOjFiGpatiHgyC5dnVNAEEz08UPPdYJhiIQMSZ + WMiyxEPUmCTKcuvQxDEwMi6SwnZKAY4aSVNMAKPMOfCeBThUxk8FbVlmAP0CgEwBWKcAG7DSax7xjkjX + nYADDxt1oKX1FsDYcy4PfIoF1DnVOVqRyAD6mDsjpZwJ+BYgktccIJQSHAH0siGp9wcYqh9skMu4s4yU + aIz0DCAFzqxbhj3mGqnBhADIA1lMcc5CjgMQwLVSn+M+TiBSYNIBpOJeIV3uVhjNAKDGRjowT6m+lbBA + xp5AEQB5WwDyrXd/d/+oHpjQLt/nVpPXmDaWlprSlIzEKam6jP0gaK6bCnhE4A7geMU3PzJBpFnKCz1l + tjfry0rfJU8e9iHZCkDZEgAn/12sAk3Yxc+GdCUPrT4XCyHNlxdHo97J2Seb5lx5+nc5tgzWOfM6MHGQ + jNROA8k2CrKG/CHDAxuhYZA90A02kkBS8ZHMBAqWka0MudcHfJLJ1O+WyJQVRPDeun4Yv42M/ImA6ERs + gzaBjwYZutwHI9Wz3AmBYbR9B845TqaxGvzwyCuATvaVvO4vYzyVZUTGGeMeYB/IVjAPsYgyzrvXFPeQ + ZBXAoQrIgIeA4xTAEHBEE+gqVrVTFht9hlH3vBlKgmCyJc+VIbnqXMABiJyr4OC5QONc8uEUrI0CcCE1 + 8Dm/w2SZX4P9IIMx6ltA5mPBeGBHMCDSvQUqnPv2SwIBwJ/6ZYA+zISsOt9L9S99AeugHwQaTh5QvIMg + uh0H+oO+8YBCfReAbBQH2XxSLOSVYCDMQePmFN4vZBBdAMJnnBwNgGX2zO2jSk0nrVXPreMeAhgqKDju + 8WExD8CDqZkNIIqBKIjuwDiFFL1Uk7Pk55znXUFxxwjS0AJcTLQ2guCjNIaYgyTts/Two7ZUc9pcUbfG + PYR8HDEQ4hHToLQxT0jLrlotmlhjPyrY2wPrGQ+ZJCypCFlpdjbnRZZXqWl2I55DpljPVJqzEYMP18i2 + Slo4zxjOXTOOaLYtWSJlmtsc4IiG0We0eQBIxRpgIZVuC4gqgaHLVwcAJILtyGJZDcDjQCoO0vY9+qfY + yCLbapSJQcJCPQFEsi33aVYaBS3pM8tus3pbGWDP2mIxeFNyPwkESqsWgPwoAYQRlmF8PxAtdUcHtFzn + JmvN6OQpXeLyJYzaFajE/23ASwIPM7udir1EcFIvnrOnoPd60XihoPF0MABCEJ1lTrwT8xCkfOUlOudT + 0kgV3EwAOVU+/5lGF58DHpV5wrSkTF1qENGgQrxa6+kYH4CEwHoyEctZLTYyxh4U00jJC0NuYw740Nr3 + 2gfGroL3HA8JhsGGFcsowPFkVpQwUXzE8pYAhsD8GHXO/omD5PFK/2dcC1lHeOp42BhKSTZbRl/DPhTz + MIBgmBlzAxPDu5fhPKV8vljH6QuS+RTMtsEeVWqZ7lXprfQXrIX1mMFP45LOxDwMIICH2hkAAnigS3Pf + L3tWDSIBJCRVeD9Uw+U4nJ/BTVl6zBzIOA0SLpS9xfn6mmAYyjRzn5qVAMoCEpbIhGSiIVXCPhg4SOYV + TSwKZrIhiE7ttQEgkrBe+aHjIDCQ7QvvRntWMpaeTaQkqkgz7YDrtymw7dgEz6Fe7BMNGDxRxd0TgccJ + jATwMPsQcBDHq0ZcD0cpG0zG7UOScB8WMJSXibSigH2MMO9BVBkMOWU7Sqos03bLozd4BIA4eaUAZFbY + T46Zvd3U3AejIIOpBgsul8lWFgAShnkZDC6ZKuMbda6W/SKbbEqn7cypg8i0rSUb4h9pa2xvXBU5ClsC + CMwZUsAxX04AMgb+tfRZ7MYqAwFIVkajT+VkCkBQP9qAwgsAUnGNYnpN5jIAp3qyDEYIHgAAO91JREFU + MmXw4TEmTdJyvKiABCdB93YCkB8KQH5HDIQ69hjhD1KjFj9ZHWiqDBJML4iLeUxsBIOSQR3nLTMlqMpB + +DdPDSoPglIniu84xiHwcAwDeo+3pmB6gIZeUpiIAuMxPgRgyYFMbaIbvJQz2I+Ofaa05zNJY5SqOFcR + vJLQbLQktTHy+IwyKmTgyBu1R5tSULCElLfMKpo8VXGSARhIUyl/eVkAlEtNj2tQgYV8RQbv6zJ43egN + BiPm8V2BhwcLJkiUlOY4CMHyktkAEK3DOTruIQMKgGj/lmkwmBow6WatX9KTpCsAgFH/GOedgsc0G+mX + 5OXL8z59QWzjebEOypnTP2JwgO0ZRQUBGTX2TcD7TFUEmKXvXPcO4Dijj+UM0LfBNCo3vZ7XheOTkqaD + nxr/w/2C8exeFdPgHDk3zsnnIQDRORi0yJTiHHUNgMNGTAM2577hs/tJ/WIWQhJByFhO2wU06BN93qhx + DMtXmjZ5q+KdFPDcIGNpZDlznm+VnrvVAFTHQQhmi114WQCC4Ze8ukNvVrWEAI9kHgYQsQ+qKBg0Xo2x + IATVkbaQaD0XjtgM+6M+3COUY48gudNzeZZ5l8zmMyklU+HN8geA9AyfCtoWgEyj1GNcBnEQjAyD7cLp + Cg+3DOBypHl/zx63JLOzV1xxkEXMxEH58PBHAHjIbyG3lUcdMtcyyNwZyWIEugEk4jfRyDyKfoAJRpHJ + lUYqb57vHEAqoK6EhSZheYrragNACKazbzGQIZMxGj2C4NF/WV5mBrDZvyNVFyaUrCJTpaeU6HUgme5N + Y04XAuwTiASA6DzNQL76T/bf+u5v7x+VxzLvvN6R79dnBrOoUSTNWmykDzpY54C5jAhZV5I1MDBnikmc + Sary3NIAjktji63AOMw8BCIqLjfiIEhZ0Hv9thO9J8vKDKSC5gUi+u7SCbwYztKQV6IZDx2cxwBpGQCS + Rgx5hXgN58U6ms4Ww4LRGRk+lrQAgQSACyyjYhq5Xq2f+nxIYglEyFtOy5Wx5xiA1ddzLMpgLQkaY/tk + GWyLcXRLma0vnamk/RI0z7jHqPekyZMMHm+KfRg8FMeAdWCk5cmTmWZggHlglD8h5vFx5seAdQg4FOc4 + UwormXI7xutovY0C0wYQjD7Awb3U53MxO7OOAobZi37J86ln5ExyIwxkp/EYzNUBAzGoCeCdAKE42RnT + y3JPWZfR40iRrC9pDoBgbA/gGQNExUDoD8AUAPkSch4shAGEWgIksJE3fqYguhwIguiwD1oBCOxDhRK3 + qm/F1LWOg3jeGgAkJSwcHI8QlxGh5I5A4cQjzgUWBg3AI4GDiaQ8542cJdJ7s3nqZu9T6cF61qfspTII + NZiMUd0ZCyADzKwi4yIlA1neqNhH6u1+H2PdCLxGORAb8RH4roA5QdwOGBjH3gCQkHymNs/UmsaMpPY/ + dPsMiJuBsP0Ug+hB5go2T9lHYlCZAOAAugfQYXNqbg1iR7ILK+wj5KtoA/DGNRfzIh7C9hjcin/cneIg + y7nRUxabV+aNfpuC6UtGdjEletaHPVHBn2t/bb/LQH2L4VTWXa+r5evZnHcAQQrKzvvALLmhah5hGuDh + dF3mKeZms8SYwzbIhpK0dKaKpmePM9CQui4MCtILyLgN6clbUnUBCHlgW8BE84Fs8wUMdoI+nA9+drLR + X+uf6aWKND/mSJZnwjEoQYEXLSnr/FF5whpBPJbOJc/GOQloqMcVTKTkLGIiCQI29AUa+dvSoNuYZ6NQ + Y0liZhQV+0CvT80+5yExuHRWkkbQLCOZB5JN7Dt0/gEmChibeZCuSqbRMJCKeyhmYfD4jLKn8Ool2exe + lXQlr3uAB4ZawXKzjmIegIfYG97+GckHMDnJVsQmGHx39jEBDIYcADarVAzEMY90GlQrqjzEy5/ZYLBm + i0w4BitSMU3kMs9RrvEYBg5ARMzVx0IqY44ORo5Tw0rgf4oUBeuinpr6wf1DogIyFzIe8Q4YCOnTsBIA + 5M0/CAmLLCwH0BX/eEnxD+QrNwBE4KHxHVul6W4p0a65PRz/QL6SQ7dFlmKUuFPJVS13AAjp5ylVUYHX + rEPgoRjKhhiJ5DAmmdq6hTTmQYpiIZNcVYHjWqbxFxuxTDtqXuWI8xrhPbJ+JgPuEuEzAMFDJTOpDFsF + zAtAlsAxfTcDWQWQeSB9BI+HpxxZWZG5Fh74PLg8Bf2DlUxMxLEQUpA9/3nZHGI5et/JSHPZkgyeZ+0q + B7xHDOThTALooJksyYaY4LtYpGtgAR7VCKJnVlaWNYl9VqC+BhNm8NtGfmJyc2mvx0iWoNu3md+LCZiW + iQrzRICpzyIRwQkEASA/EAP5LTEQ0tWy8z4wS25oza6Fp6OgOYEut/hvNNHzAJu88UWjBRQu0AZgKJXR + D4NqA9mzsz4sL48XVpkqu5z2MzJE4mHn5scIW4GGCjb6GHwWWNjIYfwAEMlaBhDktlGIjM/ZkL0IvMt4 + WQ6aGWtiI9WSBfT/x7iEHKPg1FLGJ+RgxQ4s6PRILjARtRMC8/zPb2YmDHLs8ZiUwuxRE4hH829NRSG3 + qu21fUdZRnja9q4lWylAbACRl+1GYLrAg5pjlq0y7mEACebhuJHGP2DQz5QdBbugxAfTvAJGxFMAWxt0 + stuqGTzItkOyisDm5c8rBeHifpmVEgcD4Ih9IF0B/Mhk3EPOQw6BGY60f7NHChvqXAEamMjp84qVSOba + wEJIY/YYGALu6hcHzcU+1D/EvGCbO00ZYAnLabyVgUXs43tT/AP5yuChVjMMYvCVmotjs9U7uaU8CXXa + qKRLwBx5ChbCAECAg8Z4EGYkBDCeVTqwxoogi+3cSBlWEglpwwrQh8SE1JTN2UcJIv7M73wntgGrQDYm + noDRrSwflkhIGQNhGxvh2g4Dk3OMO3aRhs9ZQIfBg/9O10aoj31McRDWizIqk0TFOYeEFanKE4C0TKVx + LSHLxXWmXSl7kjbGfYWxVN8bQBzc7m3KxApb0aQ6yWxxjnEeLmli4EC+yqVnfpwAZL7/HFBIyfhZ9lSB + yDI7rQCk+qgDwtpva/8v+7dlec36TWpNAciXvvKr+2995zf3D8vbqekQPxhLov2k7EKPI42wJkTpE6dE + LZxgBvF/VaLEGxF1lIbsNF2yUVxxVACCR8dvvJwCEcsAys6CqTh4PqQrDW7ioYQBGUDkzcqAVdVKB9OR + qPCmAQjWgZ3AijBctRwDcfSbPGmkFBsbB9fLoGeswb8BEM2IlyTFEvDhP8YlGESy1WfYB7EQsxCBCCyG + /76q32j8jrzlwHAxjQjuO1aDgeQYDpprXTxuedUbSTUbZ10R91B20ecULPa8F6p0rEDxTplGDoS/IimK + xgReNElXHmgJSGCQmQucPmMWPow0TTIWEyzFXBrK4gKUYZNIkAC1wKNGwpIVE5+n6TvXn9eq0Jop1wSq + ATrO7WOqjEulZsCLaWTJOOIYHIv7WPeZgaKMEmcAIOvov61AbgNwwDo83kPSJOwEBkIfCVBcE+2N33N9 + NMtXApCNxoFsXvmBypJ8P6amlWwV1XW/GeXZNUhwmp72iwEQZiB6Rp3w8XhUjiYOIsCAjQy5StlZVOX1 + eBLiKW5KXSdATyON3aPd1efW9HlHSqLKMh85mjziHpVx1UecxwC9aFPWT0hiUXYltmMsBgASc2XEpFAL + 7b0ygvpyAAtGDEO8MIhDYikj1wbEjVHVmWU2SqP0QXc18G4aMzHJWFWFt2xOjG4P2ZyxH8EI1gPoSFgP + ZZwC25Eefg90Z4ZWpe+eyHMfMZAL40FSFptV5p0H09eSEJbyVq0zWMqF/luylDVZrAfnK0MrZEz3BQzk + S1/5ZQHIbwhA9GJWAOwDs0zwsJfQvKbhQWXAzt8jcBcBwXjwx4Or7JMtpUcqvlHjPZC2FIh0xgovaU37 + mQAy8uMfpkCjDJIYiAPz1NvyZwXoCc6i4ysd0iBWYCYZIOrqFCNiGQDn6T0/KskCYz0DigQNgCIZRMQ0 + MOjBKGzUy8D3JaDg7WAgf7o/Mchk1hDrIVEBBJqfPRhQjrYeIAbIiG0Qq4GJ+FhiLayvdNWN2UempmIg + YQsYScADaUisw01SjZuM7k5jHnbyuG2wVfKFUfunMnLMIIlBJrnhVLWfTiWvYNC3msWRoDNjbM5UD+pM + 87tYnqSv6X9Ag8/u40gnPNzSqUCO0bHsgb8uliQm4fMAuDQY9JQBc4CVEy5o1PzBCcjGPUbqImmDyco0 + WRgMbPfKr+kaJUnRB2Ji2y+q36jC/I5kPqZMBjwYA+JSJj8WePwwAMSzC357FEbcfOxrCR5fngokVo0r + Z1IhVykdl/FLZBFSut2MQ1KV1rNMpfEhjOkwcKjQosHjOQEyTcymwMRMRJldp0pZH+M+XENO3/0bzhI1 + kTCcJfFMzGNeRqMkrAYcyQBgJjV6fAIPjOCi1Yju2e8VeF/zqLv3jUQUBm7GREY6bbCQi63WryyuGANz + gZUZSBmH0+SrGfuYmEgACIAZGU/zoHSdJ6m8EQOhqvAEIBlQX2RjBdOZWEj0XY4qT/tU8aQY29ED7QXa + 89+mQPxl7COBxIkKvf/mbMRJAROA/FgAwou5YqQdGMu29v97+FvV2Tc1vtCSatfvDt7lS2AvCG9AHc7Y + jZaOuyOrRQxkp/LWzsCisi46sjw+sjucriu09kPpbBU04QYgBSJKI8aY2QgihWDs3Bdp2DBwZeT8+aKx + w3gy/anjEwDE19PzL7DwMgDBrMIsAnmKVrGOBJbOGljnq2QPqRVrARQMIjlYrgBkyW6QqzgnwA3wwKN+ + m0wjedjFPj4r8MBISqbZYpTlYe9kJHcykjvVfDJwKMtoJy979/Fvi30wD7hYhQLFBo+nMN7qN43k9wx8 + +g4YI/fsPqFYidmHAFmpp2YEMEDYgSstwzy647DmWFQ2UIAIU8W65IxYAMBtwGL2P+be4PiAFU5BOQa+ + Xwn+jDvSOCKAhXN3bEPg6esRAAGOW4HJVvKd54GBiXxeyQXESwAPRqAr+4oxIFGW/d0o/U9hRKrqPveO + mMfbAR6qb7X5CHEMQELNQXExDRgyMQ/GdViqgnEAHMU4xDIACuqysVTNrK36fICIWAhlUwycAObIWqos + pHxveN71nAaACDgopmjpIiSrpTH275XV1db3O+SGQS3JqoMH2UVVDiQ/891NMpelIN7RJn9ZBuuGcgKI + SU7L86yUXxvApSFMbb9JMkN+W9oSy2GMn6iYxFLCiu/TYEJiL9O1h52ZssZiVsKKg7RMrGU6r8rtzwGE + fikAmSRAH6sHxMexp2SFJbBcDiI9463Oe+q/6OeQLicA+fIviYH8+v5hjWAdWRiV8VQBrRz+HjuIWMTf + RYsyCaHDzlsdv0oZMBioPKEIloVuWC07mofQAJIdxZK4By+nMlV26pzSMssDc4ZGAcjwTNMjZuY4ZCxG + pcsQRZZWAsfwkEOGM7hUlkoxEZYCHgynJaUBCgUaAgBlJVlGMohoyffR+A2wyFbbW3bKbSoeAhAYZJKp + DJYzxUs8zoF9wzaYVVFSjdlIafzEPrp0BYAoy8jMA2lIGUYTeCiFGeBAtpIHz6h9DPFgHgSsMc5UnvVn + xaqImcBQZNg9hseyYAKGGUiliKaOf+VzqD4nowiwQsIRqJ3KCx/gBavgGJbJdE9hH7CczCQqwGJ9AwgS + kRjITvfLkhbn7nRygRFSEfEhEgqUhWZmgiT3qtJ4X/7VYB5iY2NmQTMDMYYqy87EUIBDgQcsQ6PN/V1j + Qyi7U7GOARywDYPF1zOOoqW+7/TdLYs2UsCR8zOAEAfh+hz0rhgHXngmqeAUATBZTyniCHifpefXMjx5 + 3ju/eyMwzbs3eb6DdViuaqBx8DOefElYXbuv4O+chcR59RHZOaBvVvqkgvnzc6/y5r0vYnBh9oXHidV5 + R7xjteXAv6k0S4BnH7tSo9iPAZCtR7cXA0kW4rpYASJz27Zi5wwqi99HGvBa7ETnmtlZHnBIEN+B/Cij + ckoJqNHH0dcGw82ZJKwvf18A8iMBCC8OD0MEoYys0C2tVI3v/M7/rNcDbeuGfs34H/fbqQx97H/Z+vbt + P1Nu6HaAwNQaiJzn5wrKpbdDBhYvKjEQd1Z6J2eApVJ8zX4UpB8N9uHvMk54sXi01MaSVFa/e2mD1wOW + ee4VdCxgZGCk5JABBBh9A4eMPoyht6/wPZkEvxtUGlgU82CdYhwwFtblPz4DJh2IBsOpY2rbt5Gs0PcV + F3FpcgLn8qzxwGEfyDOvk3GVzAPweKmYh1iHAsOnMnCnMpIhXQlklVJqDxiAqD5UDCoMt9IlxVYsaT0O + I0iQLq/QgNyCvJJcrnzm6GcDiAw87EeSDgb0VKO8T2GMknPcOBbnw1KJFhPb1fYesBrrch1cO/eKc4zf + iZ1oOyRTgcaOMiWK/Ww/JeZB8Jw03k8q5uU5PWAfin/kvB4blSch6G1GYWkq5akCD76bbVDyRDIVkhXL + 51KqAjzEZLaq1rtVLIVgPP3uBpBwvQUcJR8qQ8vPJu8Vz7YBYJKrLHHBPBygLvBYAxAZY/3vd8TbZ0Ab + o+sAeiSiTAa4g0d59H05/T+NAVkASHncQ65RjHIEqwtEKpBdMs00nmRad85CLtiYvB689z6HykEASWAJ + wGjOaoJIHdeJED2I3qUsB9QZCyI5bABIk7EAXAfUq10GJPXfVQH4AJOY9Ap2dN7s/ak+R6yG4H441pUY + IOXG6wMg77y7/+Yv/tr+IVXxBM3HAJE7p/s7bqr5fudRNU1feEe1T/TbyeaudnjP69cD9P4tBTQjN728 + DzqwOm+lozuAACJothqEtVOqb9HhM7yrAq9MbTQgYMhUIXUwDckepwQnMYper9YBYNLoFVA4EaBApBlD + l6JXnEbSj417GXzp6f5+oS1+L4AxKCRLkezkwLezhgQafEZikRRFMNz7NMjk0qAEcMA6siFbCUQi84ox + HyldaeZFpCu8a8cCinlooODu4zAPZt2T8RpGC/AgYB6yVcQxdP02zkhUxIX0/LEN62CU6bvqf/o06zIN + pyUN16XPHdsweE7jK4Z0ZtmM2AqSlc6DY3E+SFaqcRbHKcdEnrhjIzpPihsSW1AaMPGcsb3/13YkbMBM + 2D+D9jDgn/iOwEQlS5CvaIz9ULpuyE3EKmAgkq1gHgUayFY4M45vABgZ4yjQAHQUcN8q8M6+LBNKRgu5 + UH3PZ0+Zm+BBggKsDuYlILKzk4BXDiPvD+eP07ZT3wyvnlRYHKpDzQxE27ouVhlwGWwAxE5cl3/WQGP9 + t9OeuTVqZi3kmmQ5rBvnl+zCgfv0wJvXHevVupMh9Hue1zCWybqcMZZVdwd4tPTdkcoLgNjIVvbmPO22 + jusBoQNAFhlZOdUthtkA4laMZ0rrdd+6yb659c8dYNp/toXVf1OGqa+P0inEMu7s1DZp47H12HxsvwYL + yuYHeYg4D/1tAIGBvCUA+eo3FPDM4fZ3+FE7Oz15fL/f31ltd+7ogCdnBpsYEdoCUsObKa/mNpY9b7vv + L1P4RmZIxj0uSRWc4iJNnwWFVYCOHPzQ+HK/OWLXmrDYhQOMGDoahsmf5TlTBE+GcKzHul6HyW5yu6EV + p1yQtbxmwUyuQzq7jT2swAZexpyMLYy6l4BCb2nsDQQwi2QsgEWtD6jwWammnnL3F/4o9se+2RdAVd9Z + z0CjMQ00GIikq42kq43kGQ+OS+kqKszK2yaY7JHVyrjCkMk47og5UGtJzIN6T57ngnEIAC7PCP1CUUoa + 35GwkFw8pasMNkHdepY8HzfbZHZQyS3HPGvJICgO6MZ9Agz4nWPDIDkn7if3qybkcUBZ950gOusKaHZ4 + +QyShMUoa8/b8R/3GwARG3OtNl+P0sIpighYwDjIukLCgoUwv8eIe8BAdM9hGx7DQSPOod8cF1F8RKDh + xlgRtnXaL+xD5yPW5sagROJNxT48Xa7ugWc71D2g0i/PqY6zgz2VTFPMPUt/ACBmAIyHqqJ9s3EZKQct + 02jrHXTcIwzW3Hs/HkAqfjJJQCFf9eoQ86KAMe5jxGi8LuNQutw1pahGifliIX20erMnuY+L13AoDhJe + ulnLhaKFlRCgTLoLMZA2qHCwEAov0jqAFEMDlA+0C0kKud4AkCYDAmba/8kGkgB4nO6fUSXnNZt/cucJ + rwNxMIiQxSoAQZmShPXu/tNvfm1/Z8MP7OyBg8DRd35XO7pzRyDCyXEzKtj2d7rMoE4Gy+IBW8n2uPAb + wfUMsPMf0hbjRZBYHDhMULQR6U0GTBLHABEDheoLCXh2yCKVzeJ1MptFqcP+XTIZHp7BiX36OBmorO/8 + jxfI2BRJJWYTNuhl1MUebNwBBxl3g4QawAEYeBlB7wAA1mdsAnEMgcYXFNcQk9ggTb0lYKjta//+Dmho + XUtXCTjKjtpQmryYx2tkFgk8lFW0lWzlsQ0MipO3vZPBNHDQMFqAB/0DOGOwPcsdwVr1kRIYvKQflGa9 + k+E8VTac+676ptbvfVZjEo551hR4xuPeUd1WzUYf48/9gHH6t/xuUM97YsDiHLWO/sfouhiirhcGY7DR + fsNJIGYgWi8mdqrnKK4xspd2jDdiZLmypJyqy3gPwOTjAgNAAQbyDDKV2jMMAAQ4aPodeUvMw9vAOpCr + 6GfGjwg8drAZgwjsQ99hfrASZXYZxGsMSN0HPd87xVIM5AZjrhXnL9kDFRmUNjwFsCuI3ZdTlk68J/0d + jJhBsf+rgs/rkpCcUmc0deNfgemm7fPONikrzjkDvzbi7KNttwSTkmPqXR/XEXKdpZ0a/+Eg+oH4R/4e + 84LEOc2PnVJaJgRcHExYY0IUVK9xIS0jazsLqFdWViUhtO+c40hEWCYmwAg5t+qzAg/Iwna/PXnoSpv/ + uVeeNxvZ7MREsJk6V+PFF9/61v6xJzWTmZnH+ZU76iDyxGMfEvBIztKJTRH69lD1B+zWPwNaQVsrW+M4 + 8MhsBqipR6bnC0HsRNlYYdjZt67D4IEhaSCidMoAkQQJTdizo1S8vE0bjQKRGZhom2EskQowMKkxdyCp + 33i4MTyv/1aAQjEC11iSYcf4u8X3EwMNshRAAbAkeAAElqz0/YuwCIBA4xg+LzZhEMn9eZ/1WdvwH+vT + ABxLVzCPSkuFeQg8kGeQZWTQ7J0ryyiMVnq8JCZIPsL47jDSZVgLUAGKNLQ20oCM6zW17J8WnJ0ZLIPH + Ec+agIm+3KnqgA0+jAGjD7CzzP/9vR+X86p7DbhRZoRsKqQhM6dkLE5/jfNFtvIxnJ3E+fF8RrbQVsfy + gFXYBeyDDCyDSKbvAhoAhllHNYEI0pVZjBiHJpXaKgXYACLGYQAxYEgu8xLpSsABiDOIUPsJ1iHgkDRm + 8GD2QQAEAB0ATD/qXBloiyPlc15mQDWDrgxG6+F+T+bv4QAQHLSDRpcg8bKlgT4DQDKGMgOAMoAVx+wG + Ueemc5rOu4x4X6dlcOW6lurqXW/XEkk2ZDvlAMIrwCOuswCE7QCvMtaZUDAAhNgBoLFoMsxLAJn6aCll + ARbJ6GppACkQ6WASnwOUoz8iTIGKtN0/+tAj17L5gAjnxfkbQD71uoJy2iFIdEiyuuz37R1oGUP5CWgt + MzXey+/omGif+aDb86GjsrNmAaeFNlj/cVMxFKXxYlD47gdLL1X3Rm38Sn7KPHoDC+yCAosZfKx8+s5e + yGrR7w5Qjrz1BJDSj4dXXXn3nIMGZCkAG0xBTAIAsXEXM6ABEIpPBKg0ADCDgHEAAqyrbZCuAA9lEW0U + CA8mAsPQOvxX67EuAMP/nw/AiZRdgUev68S8Fq7nJPBI2QpQmcBDUoklI3nrGO0CCoMsDCRZRgVrKV1O + rSb+GyOeI+sv7gf90rNojnm2tD2Mhn1bbpLh5x5XqirnMFhEMqG69xwvGSbb7EiZhWEAcvzu/dQg12SO + zOUBEx2ZQWGgQjLRswbIMN5IqbmuuiugDVmKlF7YSABHjOdQrMPxDrKsQgaLulnBOAzazrQSYAMWBg7m + XFfKrhmgpKuSDzkvMw+lqgPmSFhc9yhLErEOQH7Hczq89QoIX/Tkrevbi6/3EKMbYyYc+7DxbV770PVL + 32/LASZT5tEsRdWB6R7L7IHkBgyzEe/LGGi/FjKL+vnzLPXrCBnuWgzKge86Zju/2fgMARsD8NYAZBRX + zNHpjoVUQL2ysnpm1qHPB6RC28WIDXsmwRNkq+uBBzjwnXdeDibigLsA5MNPv2T966lHn7kvAGGnd+48 + 6JObPVD94XpPPldQDF2vg0eByJFLlTCJ89b+7IVhwNIzSUkpmEXKEv1zMRTYiMpNDGZR2zHtrRlMbosB + s9edWS0Gqcx0sYyQwGXvju8RwNwhaxggUoZCivqCDDzLYgqdNfh3QIN1AAIBAr99VsDxpqQxsQmDSP1n + sMh98vlzfxiN9T9DOirgoXTUV5VVhBf+MjWdkK3Q3ZFO5AFTPkO/76Th2+NFtkIeEsubMYXy7OmTLn9g + 6GEB/i1faJYG9OqP9qLXOpc9W+wLo1hso4w+zILj+74BBsiM3Pe6B3kfzED4X0xV2VMYcEtUrFvblATE + LJUwFUlPfpYMIumlW1qpcQyRSr6lxhVVchn3AVBQEwuAkPw0wAPWkeyDPuYcinUgZwXjYIwHrE9yoe6B + gQPmAXjwm9kHTBCZNWS8nUa4G1i5Ds5Rg2zNlHROTmUfnv+atx8edVxjayMDKRy4ML7pmQMQRwEIhjK2 + i3NoDGIAyNIZ7J5+evted+lIztnI6biGAsG8lhxvMjz8C+zjEHvid5jT4tgzJkJcqAMIWU5hjKfqvAUg + DyaACESGjHW5jHZIEnSfVn/o+BX3uB/CwDZP3fvo/uSEZCqB0N0Hn3KA5H53xnYvPvcxja58JLMcyrC/ + l0s8CLXKLBiZCZWhcMUyM7TYfsgNwyPBG0sDYBkqPeJMES7az1zVF0DlgjZfCQYptZiFyBM2C2neWwLF + SJMbbC4zYDBADHYEBJCuWCJH0WAJBoAECv+WDMLrJBjwG2BAHMPt9xIkCizETmp9wAWmgmz1BoMFs54T + MQDAg5iHdXgZMcAjg+Xb57+bxkreruI4IZP0FFBdDwYX470cW4AkZDBNw1t9YDaSWTMjkya9x/597XN6 + /AYhzsVxqZScigmh+/vYOifnu2efc1zHXRSTYqInJCNSkQGVEdCv8y05LWWskfKYjgmGNs8vvPs0dOoH + G3XJWu5HYhwpTwEcZhQMAnQ8A6AQ0+A3M41iGwIMzq1mM3TdKwLm2ucAj5SuAA9JeWZ6jvuoP7hmp+3q + GVMiyTi/9FYvZjPqneH6eP98TfkuVv24zAy6CBg9u6i86+Zld4ABQFazKBM8KgNptk4wjLAJZCCJCc3W + m7OW6bwnRzRsSjqkPe4xMq+uAsL08iszqtmZkRkmmWliIAkgTpetYDoDDAGPar3flseP7K+RsTUq+ebv + i7pd9AcxDLKtnvnwh29k84mVG4hOJD89/5HnbrSzYCE6aaNtD369F5/nAbV5oOsamR4jU0L7m+m9qf/y + QukF28lg2CvDGFWQDlmCWlrSp535IUbhrBWmu/W6teS3HBRV/xMvwShVPw3vtPoqJblxTlOMxgX2KIdB + cLuMPbKUQUJGH8Ywmn63ZCXG8dmUrQQgm0//ZGr8Z0mLJlbi9WiwFNb9nf2GOIyC5htJaZ7HAuaRQdxI + R5XcQrop82vjSaPzE4il3yq+VNfCtbofMm5VWjtLjCleLH1XfeP1Kp//Pp4lA4iMIselzzkGS+4RjMGf + CXR/PO9T1/m5r/qP+mhZLZeCnPGbtvPsfhm09T3PwCtsoAbS9esb97sk10z1JGuJeBcFFOlHyo+4Sq8a + rEMj1WPgIKVKtETi4rt/Y6k0X4GFGQyMhtLtyGOKebgRwHd13ywcyr0hqYBr4fm23k/8IJ73LSOvncWY + MpQDs1NiSgRjl7LRlH00spayau00YVKMcbi8pYF0PGE5+rrOYRkgXg6uq7Eni4Dzkdcwpe52bz9Zx7im + ypKK5Szt1uyrzjHOuctvNUxiYh7EEgpAGohcCKjTd9NxOWYde3YOxfZmsuB0LRHrPr2xvbfNtwwmPesm + 7KO2feoJDW9Xx509wAvSNdPb/pxUNGnqfI7i4wAkAkpJkVWkbpIX0jPkGjBkmifdLxkGw8YsXzYAg1Q2 + TwIkT8+AwTYFIiw7qJQGrnWorPqYXt7yRIe0kf3k7xkULE/VsRoZrodltHg4FUwd7AOQsNQkALA0VQDA + 5wSCz/x0vxHr2LwJKGjUO6BA4zf/p9/FNAwa9ZtSdTef1jqSrTbKuNqQrgt4MAmSS5Bj3CjUlwPcGLug + sQw22PSXA5UtuMk10U8DTMoT13W7/xIs/PywXQH7oeenbX/oeeM+UWWZ82C/9GEBPP8V8EvCCeBqAU8x + c99jFdzcKtiNoY7nQOt5yTOQ+zUwxvZ+Hsb5t3s56w+urV+Xnmm2J6lDlXa3qrhrwOC49PVH1c8ulsjY + EJb1Ob8rNdeTURFMByjYBw3gcGVfSsNHZV+kM98j4kJ6FndcO9dNXwCWGG6DSBlB5I/4PljBQpYZwdku + XV0JFutgMgLHDqbP5ao5qE1AMj+vDH47oNwDy5NRn2ck1X0ouwIArIDHhaB/A7v6z5lYHKcHsTuA0I8U + ZYRlABq9VVCdYHq1KR4SAwyvaGvn2H5jHxj9xx6+dys2nyxcAcjt7CxYyL39g4+gobaMiVv9jOHPtgzS + HcqUOKvsDi31eceD6X1wjrn0y7w45wIQvFOzEIxfrmeDh8HQw6qXfKcXPoxJAcXaMv/HMA2teUqrmx+/ + GZcCOL/gWSaC36gk/IYYggPdCRQYfwNBAsNn9Jl13oB1CDhgH6+LTbym4n4AQ/02WInWYV+sr4C51wU8 + XpFsZfaRc1hg2EgrxQP2LHryfCk9rlkebYjKoJeR7MazA3f1eXc6xjYN2Nfuz9pva/eQ+1e/GzDy3j1U + nyv9E2Ofz4CdAQBH2VOaAdDXSq20ArraT90b1jXbEIAAonYCcl8OnqdDwr2v4xtIG5C4jwBTHVODercq + 8mn2AEB74KCYCWyDCaJ0jG0C9hbw4LtBQ+fKPdF98P0o1lETp6koo+8RDgyZaY/ouYaVcVycE53bPJNn + boAjO6rewf6+xG/DeJ6GoZuyiiZd//BvaRzZluZ39WJsczLQ07nNz6udxwxEYv2jrmHYkh7vyPOq81td + dgBpx7PDGtdyNYBEquxFEGkxkQ4k2dcGl4PnFtfhGQTvM1lqjWRsNwrG3wb7qH0AIB96QiOMeSCPyYK6 + 9jpTYPyqvOy1/w0ePbjmgNcycyK9Hl5w2IdfNHlqw0NNo19sRIFYB1jRsovZDOPQ2UT7zDYYtsrNnvVD + P6d6SQEfJBVkkjKs+k0Bf7xOy0+DbSRoKG6xGS0ZB1IUwPGqQIHsrlcFJPzmpnlK+M42gA7fFTC3dFXM + 4wXmrxB4ZAkOGy/SQgFE0pkNHi1bpoxo9Utd58iqyb729wL1vH76cOjwtc/mkY57twyq9nXURxjI2o+Z + QTEdQL6zmDwu+x1MU4MDMcwEpUuSs5PQZLZxPxIQXJSTcy+WW/cOBwAZDekswWvk5jfprILFsCXPWSPW + 4GC7WAdAAqAAHoC2p6vNBtsAKPxd90TMa8sUBgTraQyUhXkgXZlZ65n2PQM4dL48Sx55XcHv7oUTT6Ad + ynKM38e2Q7/vwNHTVHuguOv988DxdLw8rmMLcS7O9qo2si8X53Fh7o7cZjVTs2/bZakjPP+ZQecYLZvM + WWnT+ce8IhRUFPtAupKkNDGRntrbii22/pxiI8t+6zGTdbAJ+er+sm3XcOKFZ569XQA5OfnQ/tnnXt4/ + 8BAv0JFZUNdaj5tRN2gtG+LwbzshcABItQPnl56CDeGjAhB5g37ZbLwzw8Leb8ozGAqth6xkz25IYhgi + Wpej+B4AYCmB/2apx+nhdU+vDBGG68E0et4vRjeyPijDYlDA8MM+YBYAAM2Mg8+wDrVPZVlxYimfVHkN + AwoylcCCxn74zvqs85LGerxExhW1lgAPSStIKXi9eLlIRHivNrzdcWj9W326vNZ+74sN1m+zvrnPZ8nH + Le8vPxeTLI9/eVy+F4NgCgAVNMQoBztIJjFjGJ29alsZ/B3sZhw7mW4HyGK/S0PWWXGdN2CDtAWrQNpy + aROBCSCCPGWmIolKz4AZB2AhIPEz6+cXIHkhZFPuFeDB77CPR3TfDGh6tnUPJ6dr+R6JDRDY7sZw9t7G + OzWyrmzwqKEEUHRvev651rloFMNox/EWzaCR5+Jg+9o6BX51HRMYTvtcPlN1DWxzCDQOGe0y2Fr63OJ4 + U59N5+g+GhKWwGMGICVpNSDJ/rsaOC47tzg/Z01JdrpV0nCbO/vwE5/Yv/zKZ/aP3tNDv3Zjb/QbD0u0 + w1RtjcbFQ1TbHndePFy66Y/qJfMLh1aM5o0R0u8sMeI2NoCKfuPF/Zi0ahvT/L1kFht81td+aztkikfk + AXJN5+0lYJ1BtdtD/kB6yz5e/l77Yn3kCeQLyU0hQTW2gQwFcBgkABCt80lViH1Fje8ACZ8BDJb+rnVe + /uVML2XsgWIeDtjKcCGV6HgGV7OOlBpsjBcvtH+ra1p52b1+/l99lMB43L1a2efyOeP4HMeNe0PD8Ne5 + 5fHr3H2/9N9DkpN0vbvH9Axg3C1V1XYJTOM5yH3h4T+M1NivOe+X+4Fzacfr1z+McvZJfxYMJDL8Knpq + sEA6/AhMRKCiudHdHOMQ0CBT1TPLku3KGbrHZ9iHntOHYUQwI42ipw29fP4e2fmysT5gsMd7WcYX8Jia + Ry8f1eZGcDrm9O5P7/HyN/osfxvpw5UCmzbgUjtQhr9f+1VGeeX/7CvbnNnx6tw4FxgIzKO3lXjIDjlL + A/eO6rtDfVznqKwpxT/OFae5TZt/qxLW51//wv6zn3t7/8QTosM60UDg22p5Q5z1cD1aGS/ANc4nWY5f + svLWHH+AQvMghOc/vEz/rgcYGQCD44yi/L9rxsMwan2m1cUrHN5UelZl/Ga/A1rp3a/R9pJdMDI2JmIG + zDMBEMAkkKsEBgYFAEKMwnNTsEyg8P8v6zca/72oYLmrvGasA6+3WAdSiGW9ZJrjHmf/lGdYHuvwGg89 + C50V8jmB+raeHd/P5rkWO6j7Qd8uz5l1MKqSinydQ6pi3QK9FWYEG+WZGd4x6yTY+LjpcIzjlTdd59gA + cXn9bA8LFXsoVmFpylPf6r4zSNFsQ0zDEhXyFOxCjgrNrEPN3xM8zD40LkXX6PiH362FITcbuOwdiv9q + W7T2bWvL79N/MnoU6Vu2ZC/Xfm9Hf63biJ1t0iE7ML+Gix7/VSA4SUg+xoU+q2NzbshTyT5gIL2tBNYP + 9xf9XP3XPy/61P2p+IdGnj/5yOEah/cDLLcKIN/52rf3X1F76umPRVniK7ICjv+/WAedv9T3rvISePg5 + lyWtvUoC08skT3ILKEDvkTOs8xIoq8wUBewIHspTjCwVvfwAA16gPNMpm0XrIzWxfWVo8F0vOlOVTplk + nFPXnisBgMyY1KctFbQsj/E5vWt7ySEnbTXHC6wkgAKGESBBMHyjbKqNYhoBJt8XYGgp0HC5cQYIOstK + 23qCIxX4g3Ugl8A8MEI2ODXauJ93/9xkjUufhZ49Rzp43+9V9+nY/+nLOjfuR2bb0E9id3EPMgjKPeB+ + cs/x6skuIsPKdY7qHi6zfPI7mUywS+4T94z9I1lWWqyDzdUvtY9I8HDzsdf6Lc/PXi0OiIDELELPp1hy + MA/dbxrHp4lpmFmQDKD4i6dsZunnWb8TNKcBIH5eVW5c78oU6I64xTxAu9bf6bVbsqqBcZWSulK2Y3Uk + dq43SnpQ/bXYQN27A+/H7NmazmUOAj1If+AaZpljXX5bxnKWslz9H7Id5w1YxfnX+1zXEjZsXjq9pKxi + JIcytNb6ssVKViv9VlA+AujPPvHUB5eB/OiXf7h/9/s/2D/9kY/Hg3dpxsIxWQ1LOnmVF7D4X1QRunjf + 5/GgjCQvGy8YL5yNTgIjL7vkBze//GkMCmD8Xz74Zwk6XrcASP/x8kuHjqyTeuDag9YyUgKk2LYZm/65 + jjcMUVBlbycJZvNR1VxiKtUCihf0+XkqxAowXhSQsHxe6cGSqjaS4jbPqayGJJLN028IPCSZIJFpPzZW + gAfH84vbz7e+c579JT3iXtf6vsZlXxyx/WXP2thf26/vF/dQ9xQjb9Dqx9G6yEUYX/6rtnYPfM/zXiN7 + wRD4XvuVHBb3rdbL+13XOruP/f5e0Q+ck4DEz6fk1q3kKd+jxxI8JJEik/rZ5bzGMj9zHwHPh5iJU+Ch + e7rROU1xizA+YRQve5fyPxv/ApClEVz7XqARUs289eNe9/5XDKbbg6tsQTii6zGbtfO76pzXjlf9VADC + aO5oFyWtHlxfiY1cSAO+un9hIB95/GYDCJcs5VYZyE9+/NP9j3782wIQGMgNDPcFYzA9oJfrgY2N3BQ8 + 2B6vzCwEANFL9wBsoQBELzcAgRHoy/psUChgSKNYRoZ1zvUbAKWyAGFYFoZ4GJfcdoBPGaLaJ8dPY5jp + j7Gvvk+ARNsJrACDzbOqwfS8ajABIIAG4PGCPgMcH5X09Syz4wk8WPdJ0nPxamWc6AvOGYNocCrPsAxi + XkNd97j+AwZgXLP25b5hmUZz/Hdd47Fcn2cn92nQ4xh5vuUAFFv0vc3nVutsMMa+vzgDgAh9X9e6BIT8 + /rCMNUabbaqvHkiWeui59rXmM+79Z5ut39+nhUG/C5Dg7PCsqj2q43O/ABUclHp+AQo3rcv6BR4PJPvQ + 9RlAzELKQMIErgKQXOdoALkMOGQIfew0/qediRz7LKw5mscBCFLPRRC5DoBUf9Vy4QRzPYOpBeM42a4B + yAFAMEBXuwQ0DDDz8wZAPvTQYx9cBvIHP/tn+9/53Z/tn3hSo7Q9k1Uz6Df6fEAr9TEOtVs4tj08vDW9 + lHhvGJoBjN3DXnyeXevCqy22UQCBscFTLU9vrZ8MBmoXcr2bx1//dQ2bF7+8x37eGA6MiljF5qnXY+pU + T5+qaVRpsI4nNM4E4EAGwcu1rJLXYm+9ecd1zhi+Os4x99vZLnWOK/s7Zh9XroMxbizRWn075gCHvKY6 + f7bhuguUSyap+Ftp/qMf8vwrIM39snyFRMYyjLTB12wy+7Lfnyuv5dAznUYWNgWrABz8zOrZ5T4PBwjQ + SOCwvKbGupbVAA81wMMAgjQShmp6xy45/lj/GOZx2TqTgbT2f9l7cbC/1mIAZScuuQbHE64puS3Wd0xi + 2KS1Y8X/kcYr4LjQWkxkBNlv2qexPVlY25MHP7gA8sd/9Cf73/3p7ysL68nFg3dN6ekCKPAgXafd9Hjl + /egBGJ4dAJKG/jK5xA/1kjqXoWxgYk9b6/kl18t+abbFgoEVMNSxnBqYHmo/9gCQYgbpTZfkMownMg4N + gyKjae80jV4Bx2y/CWjlrc9emHIc+nJ5P7KPfH4lVRT4LPvvhvfSTKmkxgT60W+NiVhG4hwwxmo28iUn + JTiMPu7A17xz/ud+FsAO6Sv7twDEIJK/FQANj7uMznWuu/cZDEvXO+6nnAU7QSljGUAKzBJESrqCfcC8 + yBJSH9T4hOndu+ycSrpaZhdd9v1ywzgByHX6ItftgfyZ7Ti0rynwf3GU+PEGvADocqUk+2oVQBqoXMjU + uk7frmR5OY33dsqYjLF/9xN5P7TNv/zTf7f/9R//1v7uA3qAr2XwLwOHc+3rOu06QHPVunrYMKSm/XoJ + H9TLWAbG1LoZwkHzeUDbfk1Z0yh5uTCeJZPZG185Hx+n70Pr1PcCnS578Bl5zA1DgpFIr7cMqQ1byjIl + qw0JJSW5EcNJOWWARB6/5J4BfPxehqyuY9EX4/qqH3K9cX1sf9U9ueb/JYuN2EXKRXWcJlnNDKXlOYxx + k5dSfnD/9zaMv87NMiegconEaQmz7kGCm4+X97mOeZO+OMtzr/sMaOAcIF8NAJliM5auOngMANGkcX7/ + rup3jOxNDNxFg7eV13z1cQ+dl7Zle++j2tXXMLaZxRiOva7rHSfYx661BSOxtFXt2HO4bL2YffA2bf6t + xkD+4i///f6b3/xFZT0dMhxX3cC1/+sBvgpEWO9+9n/FNtaX8eKQBsjWWRiP0zKoZegP7M/b9XXTc8VY + PJxe69qLOrZh22xcZ+9jPmMwBghgPFrsxJ5vtgEizXDZoLV4jtcp7b+kq35PdS8GgBZw6Dcbvn79lxiA + 6g9fS4HqbT43BU6tLzrQjmclz3F23glwM+1/CeR5rh3gARL6mX2NmBXH597kPerxoQL6EVzPe8jvF8D4 + Os92e1fq+bFjQWBf9xMAMcOMxIwBHjrPDU3buNmIvpcAUtr/xRjAZPyvc92LZ28GHseAUQOdg0HqQwa6 + g9VV5xz3x+BwCEC2ApZbBQ/OGwC5vZHoLl91W2j0V//hP+3/7V/85f61196YkL88gPte6uHlAT6qzW9+ + 9yRu9NladlJ9YgeZUx30urX6fuy11rawA4KsvNC+zsV1ACqm4/WA1jGX62GIS4JJOWtkoOV3Zx1l9lgP + Vo/MLdhGCw4Prz0N2oVz41xkGOvabfTauR7qi1m/8TI14Di2/45dr4DOfdGAYbb94pzXHJFxf7P/656M + 68190GfsG+PsoH1nluV8LJjrsg/rPh7Tl8f2Q3nzAIpBrLLQKu4BcPQsJAGIPeR6/656v9Du1zT9y36r + bS6OiZje+auOe+j/pd04Zj/rtqb6YDZeYzF+46KNuup4de2dgVzCRq7dt+vxFeIgJ3dubzDhrQHI3/zN + f93/8R//8/2TTz7tB+k4o38sOLyP61kPT00Zz20Yu2bQu6dzFNilV8e6ldmEYV/dluMcef0jA6x59EOG + wQNumVsjiJue8SxVM+UPe84t3mFj1c6d7xgk/5bLWmeAYTNABsP0jlmWsS3mdex1Xme9kg07yzF7u6Jf + Bxts51tSyOwa8/rGtQGo+g1no4w0xx7bLPqgtqtrGlJhHffIe3+dPpEnGucTTNbxDktWi2yjNFrHPX9l + sNYM4vWAZevzq3a/19/3caw9Wm6z/n0NKK9/zr2/tgsmcghUbvJ7HG8rZnObMtatAMh/+y9/u//rv/6P + +++++739+V1ynLt29/f8806eAumNbgy0ylGk/O5G2mF+tgZ8xfWybqXteTu9tMqS2QicrEEXta39jH1f + 1Y/aF7JDnav17GYc/BmJooKkyBSZt1+Shb9nG9u2bZziuLjGcf2lgS91267h6rPXT0Pl43Xt/KprvI// + uZ5xXWUg855deq9SqvD1tnbp/cjngfXJaJLk6WM7NZbnZiHZ9H3Pnqfq5yOep6uet4P/l0TCMeiPChS3 + 59qjpbuUckn/z6SY+zB0lmzW2n3c83HNR577bP1D53Hs79c4X9jAZntFY52btyGVIWPpmGeqW3gb6tON + AeT//Pf/vP8ff/u/9v/qX/+b/Seef/FqA3rfD/w1bsxtH8PasAyvtOmg+QvjUkZ1d91zTAPxoOaVVxzE + +vMFA80LjeE9Yt+sU+cprXtk0xggMGSZXVPfvZThKAAZhj018A4sBpQ0bIdA5DIA9TWk4e7Hv+17tdzf + DEQXwLG8jr5tdw64rsvW7Vq17xNgTn/rmXlATsdZfvb1N72/73PmhPTn64j7fl99iEFMz3cY7nzO+jn+ + XQDIQfC4LgAs++p+tj8WKG4OeAEM7z2A9DjLVs/Z6dm5ZyV83wHk//3fP9n/z7/93/s/+7M/37/0sqbJ + PNWgGHXI5uetYWQxBuXV88D7xVosr33d9RDKYAAieKqzfdQxrtGnGOcBeMlohjFsBvQCE0ov1EauWgJP + gUcByLj2PK9ZP1xyrvZy86UeQcRrXNu1+1f7tjEnIIxRXvQnBtTnvnIONsrNSBxzbBtk9llgyXOTgenq + 0+HV932352hpTI857o3W2eic11r1Cf8dc48O7eeyfR+z35/ndTYqcHh86/fpfrfDadidxrN9Gym9N2Ig + f/Hnf7X/xe98x52gmancTk5Ofv4aXoKM0ImMwIm89BO9cL6BLP35BtfMvtle4HQiY3Miwz7t7z72zf58 + nmo+Z7Uc7TqnwlpPD5EbnpCMno9djW38OfdV+2A9b7O49uqHQ/3B72zHtfozJRzy2m/Sf1dt6/PkOO1+ + zc7xQB/3e3zVMZb/V3+OvsWxav1c5+NzwgNt5zgMyg2eqeue7z+sf7N3+O9l/8lm67xvOiPtfQPIp1/7 + +v7evXs/38DRHwyMaRnVMka3BiJpQOTpn9AwNjd5KG3sm/EHBGzAymAVbU4AsTFPEDFAJHiMZWmw5S11 + 2p0GeBjlNYPcDGUHkJtc43W3LUCwgW7G+SgnoG0zA5bltdd+ud7qzwbSgMUA7eaELM9p7dpu6qhct7/+ + Yf2bvYN/T/ovHP+z/Q9+6f4ys/4/6+/9Icj6RjQAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmGroups.Designer.cs b/SLBot/bot/GUI/frmGroups.Designer.cs new file mode 100644 index 0000000..49f54ab --- /dev/null +++ b/SLBot/bot/GUI/frmGroups.Designer.cs @@ -0,0 +1,125 @@ +namespace bot.GUI +{ + partial class frmGroups + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmGroups)); + this.btnMessage = new clControls.clImageButton(); + this.btnActivate = new clControls.clImageButton(); + this.btnLeave = new clControls.clImageButton(); + this.lstGroups = new bot.GUI.GroupList(); + this.btnClose = new clControls.clImageButton(); + this.SuspendLayout(); + // + // btnMessage + // + this.btnMessage.Location = new System.Drawing.Point(278, 54); + this.btnMessage.Name = "btnMessage"; + this.btnMessage.Size = new System.Drawing.Size(75, 23); + this.btnMessage.TabIndex = 1; + this.btnMessage.Text = "Message"; + this.btnMessage.Click += new System.EventHandler(this.btnMessage_Click); + this.btnMessage.BackColor = System.Drawing.Color.Transparent; + // + // btnActivate + // + this.btnActivate.Location = new System.Drawing.Point(278, 83); + this.btnActivate.Name = "btnActivate"; + this.btnActivate.Size = new System.Drawing.Size(75, 23); + this.btnActivate.TabIndex = 2; + this.btnActivate.Text = "Activate"; + this.btnActivate.Click += new System.EventHandler(this.btnActivate_Click); + this.btnActivate.BackColor = System.Drawing.Color.Transparent; + // + // btnLeave + // + this.btnLeave.Location = new System.Drawing.Point(278, 112); + this.btnLeave.Name = "btnLeave"; + this.btnLeave.Size = new System.Drawing.Size(75, 23); + this.btnLeave.TabIndex = 3; + this.btnLeave.Text = "Leave"; + this.btnLeave.Click += new System.EventHandler(this.btnLeave_Click); + this.btnLeave.BackColor = System.Drawing.Color.Transparent; + // + // lstGroups + // + this.lstGroups.BackColor = System.Drawing.Color.Black; + this.lstGroups.Client = null; + this.lstGroups.ForeColor = System.Drawing.Color.White; + this.lstGroups.Location = new System.Drawing.Point(21, 24); + this.lstGroups.Name = "lstGroups"; + this.lstGroups.Size = new System.Drawing.Size(251, 223); + this.lstGroups.TabIndex = 0; + this.lstGroups.UseCompatibleStateImageBehavior = false; + this.lstGroups.View = System.Windows.Forms.View.Details; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(329, 24); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 4; + this.btnClose.Text = "Close"; + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // frmGroups + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmGroups"); + this.ClientSize = new System.Drawing.Size(365, 270); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.btnLeave); + this.Controls.Add(this.btnActivate); + this.Controls.Add(this.btnMessage); + this.Controls.Add(this.lstGroups); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmGroups"; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmGroups_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmGroups_MouseMove); + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Groups"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.ResumeLayout(false); + + } + #endregion + + private bot.GUI.GroupList lstGroups; + private clControls.clImageButton btnMessage; + private clControls.clImageButton btnActivate; + private clControls.clImageButton btnLeave; + private clControls.clImageButton btnClose; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmGroups.cs b/SLBot/bot/GUI/frmGroups.cs new file mode 100644 index 0000000..15164da --- /dev/null +++ b/SLBot/bot/GUI/frmGroups.cs @@ -0,0 +1,175 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmGroups.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OpenMetaverse; +using System.Threading; + +namespace bot.GUI +{ + public partial class frmGroups : Form + { + private SecondLifeBot _client; + ManualResetEvent JoinGroupChatEvent = new ManualResetEvent(false); + private Point mouse_offset; + + public frmGroups(SecondLifeBot Client) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + _client = Client; + lstGroups.Client = _client; + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmGroups.Text"), _client.ToString()); + btnLeave.Text = bot.Localization.clResourceManager.getText("frmGroups.btnLeave"); + btnActivate.Text = bot.Localization.clResourceManager.getText("frmGroups.btnActivate"); + btnMessage.Text = bot.Localization.clResourceManager.getText("frmGroups.btnMessage"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmGroups"); + this.btnLeave.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnLeave.idle"); + this.btnLeave.Image = bot.Localization.clResourceManager.getButton("frmGroup.btnLeave.idle"); + this.btnLeave.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnLeave.onclick"); + this.btnLeave.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnLeave.onhover"); + this.btnActivate.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnActivate.idle"); + this.btnActivate.Image = bot.Localization.clResourceManager.getButton("frmGroup.btnActivate.idle"); + this.btnActivate.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnActivate.onclick"); + this.btnActivate.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnActivate.onhover"); + this.btnMessage.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnMessage.idle"); + this.btnMessage.Image = bot.Localization.clResourceManager.getButton("frmGroup.btnMessage.idle"); + this.btnMessage.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnMessage.onclick"); + this.btnMessage.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmGroup.btnMessage.onhover"); + } + + private void btnLeave_Click(object sender, EventArgs e) + { + if (lstGroups.SelectedItems.Count > 0 && lstGroups.SelectedItems[0].Tag is Group) + { + Group group = (Group)lstGroups.SelectedItems[0].Tag; + DialogResult _result = MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmGroups.btnLeave.DialogLabel"), group.Name), + bot.Localization.clResourceManager.getText("frmGroups.btnLeave.DialogTitle"), MessageBoxButtons.YesNo); + + if (_result == DialogResult.Yes) + { + this._client.Groups.LeaveGroup(group.ID); + } + } + } + + private void btnActivate_Click(object sender, EventArgs e) + { + if (lstGroups.SelectedItems.Count > 0 && lstGroups.SelectedItems[0].Tag is Group) + { + Group group = (Group)lstGroups.SelectedItems[0].Tag; + MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmGroups.btnActivate.DialogLabel"), group.Name), + bot.Localization.clResourceManager.getText("frmGroups.btnActivate.DialogTitle"), MessageBoxButtons.OK); + + this._client.Groups.ActivateGroup(group.ID); + } + } + + private void btnMessage_Click(object sender, EventArgs e) + { + if (lstGroups.SelectedItems.Count > 0 && lstGroups.SelectedItems[0].Tag is Group) + { + Group group = (Group)lstGroups.SelectedItems[0].Tag; + frmDialog _frmDialog = new frmDialog(bot.Localization.clResourceManager.getText("frmGroups.btnMessage.DialogTitle"), + String.Format(bot.Localization.clResourceManager.getText("frmGroups.btnMessage.DialogLabel"), group.Name), + ""); + + DialogResult _result = _frmDialog.ShowDialog(); + if (_result == DialogResult.OK) + { + if (this._client.Self.GroupChatSessions.ContainsKey(group.ID)) + { + this._client.Self.InstantMessageGroup(group.ID, _frmDialog._output); + } + else + { + JoinGroupChatEvent = new ManualResetEvent(false); + this._client.Self.GroupChatJoined += this.OnGroupChatJoin; + this._client.Self.RequestJoinGroupChat(group.ID); + if (JoinGroupChatEvent.WaitOne(15000, false)) + { + this._client.Self.InstantMessageGroup(group.ID, _frmDialog._output); + MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmGroups.btnMessage.SentOkLabel"), group.Name), + bot.Localization.clResourceManager.getText("frmGroups.btnMessage.SentOkTitle"), MessageBoxButtons.OK); + } + else + { + MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmGroups.btnMessage.NotSentLabel"), group.Name), + bot.Localization.clResourceManager.getText("frmGroups.btnMessage.NotSentTitle"), MessageBoxButtons.OK); + } + + this._client.Self.GroupChatJoined -= this.OnGroupChatJoin; + } + } + } + } + + // I do not see whay this should do nothing here. + void OnGroupChatJoin(object sender, GroupChatJoinedEventArgs e) + { + JoinGroupChatEvent.Set(); + return; + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + void frmGroups_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + void frmGroups_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + } +} diff --git a/SLBot/bot/GUI/frmGroups.resx b/SLBot/bot/GUI/frmGroups.resx new file mode 100644 index 0000000..dfe5b6c --- /dev/null +++ b/SLBot/bot/GUI/frmGroups.resx @@ -0,0 +1,2857 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + 7xo+9HefHj7z918bvvClbw9f+sp38pkvf/W7wxe//MTwuS9+a/jUp788fOXr3xu+wbz4GoD9hS89kc/c + d/8jw0c+9rnhE4D/33/+G6PPf/ozXxk+89mvco4nOdf3OOd3h09yjs994Rs5/1c9Fzb/ec796c9+ZfjE + J784fOBDn8i1efzdRz87fOwTn+czX8p1ee4vel187usAufdEm3bufOfJnw3f/f4vYu81T3+feaCt93sU + Gx0f7zZvts3bvwab/Te+RnHyqZ/+cXjX33x2uOyq08OuXZsvCKw7Vr9o0PYEKwvXDPsvPzXcdtdrhwt3 + v2646fwjOc7c/OBw6x2vGm7nuTvueT2vvZ7HNwznL7xyuO3O1wwXeO6u+9403HX/m3Pcff9b6nigHvP8 + fW8e7rz3TRxvrHPc9br8Xf+/Iee+7c5XDzff9thwy+2P5/tuuf0VOb/v6eevc/od9V117jcNd/Ceuq7X + 8fja4dY7+fyFV+Qab+f3eC7P7Xn7c173rXynn/P3etx57xs4J7/F38NxpwfP5XmvY+x7cx3tesaf33Yf + fP2v4ciYbd3X0fiNX3v/vX+G39PH1bFzzEZHt7dmU6MxyjhhS4zlnfdpV4xXe87nHevb7npNbOvm2x4d + 1jcvG244cftw8sw9w/GTdwzXHb91uPbI6eHAVcfy/Kmz9w1nb3ko9n8Ou/Hx7C0P5/Onbrov/2tH/u/r + J0/fM1x+4Aiv3T+cOffAcJo5c9Ot9bkzNz/M/w8Np3n+5tsez3n92+PsLY/kuXO3PpLz9us5ev352O9p + nzt7b147fY5zc56z5x/m/Y8ON/Pdzo9+j7yeW+94deavz/V52ueZtjyaR6N5Oj5n29z9M4zvX8WceI77 + cCeYds3R24ddk6sA9vyLAmxx9yWBdk6wa/8wNX9wmFk8PMwsHRqmF67iODhMzl05TC/yf47Do2Nq4Wpe + vzbPzywdGTuO8nc/2vOLPHrefH7HuTwH55qa5/vm2zlZRLyWrff6HV5XO0//vvHz5Twe1+TI9S3WuacX + fa69Nvr+uvZ+9HNvPXct52jn9DfmvrRr2PZ7x3+7f4///r+mv/vv+Le85rqG2Nn4eD7NxrbbVcY8n6mx + 77a2zeaanc0sXjns2r2AXV8+TM1dVsfsJcPkzOYwMb05TM76/IHYfuwyj/X39CKH8yHf42vaK4+ze7Fd + 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 + e9doZAkAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmInventory.Designer.cs b/SLBot/bot/GUI/frmInventory.Designer.cs new file mode 100644 index 0000000..cdb57bd --- /dev/null +++ b/SLBot/bot/GUI/frmInventory.Designer.cs @@ -0,0 +1,192 @@ +namespace bot.GUI +{ + partial class frmInventory + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmInventory)); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.copyObjectUUIDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.deleteObjectFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); + this.wearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.detachToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator(); + this.emptyTrashToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.emptyLostFoundToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tvInventory = new bot.GUI.InventoryTree(); + this.btnClose = new clControls.clImageButton(); + this.menuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.BackColor = System.Drawing.Color.Transparent; + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; + this.menuStrip1.Size = new System.Drawing.Size(275, 24); + this.menuStrip1.TabIndex = 0; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.copyObjectUUIDToolStripMenuItem, + this.deleteObjectFolderToolStripMenuItem, + this.toolStripMenuItem1, + this.wearToolStripMenuItem, + this.detachToolStripMenuItem, + this.toolStripMenuItem2, + this.emptyTrashToolStripMenuItem, + this.emptyLostFoundToolStripMenuItem}); + this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "&File"; + // + // copyObjectUUIDToolStripMenuItem + // + this.copyObjectUUIDToolStripMenuItem.Name = "copyObjectUUIDToolStripMenuItem"; + this.copyObjectUUIDToolStripMenuItem.Size = new System.Drawing.Size(183, 22); + this.copyObjectUUIDToolStripMenuItem.Text = "Copy Asset UUID"; + this.copyObjectUUIDToolStripMenuItem.Click += new System.EventHandler(this.copyObjectUUIDToolStripMenuItem_Click); + // + // deleteObjectFolderToolStripMenuItem + // + this.deleteObjectFolderToolStripMenuItem.Name = "deleteObjectFolderToolStripMenuItem"; + this.deleteObjectFolderToolStripMenuItem.Size = new System.Drawing.Size(183, 22); + this.deleteObjectFolderToolStripMenuItem.Text = "Delete Object/Folder"; + this.deleteObjectFolderToolStripMenuItem.Click += new System.EventHandler(this.deleteObjectFolderToolStripMenuItem_Click); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 6); + // + // wearToolStripMenuItem + // + this.wearToolStripMenuItem.Name = "wearToolStripMenuItem"; + this.wearToolStripMenuItem.Size = new System.Drawing.Size(183, 22); + this.wearToolStripMenuItem.Text = "Attach"; + this.wearToolStripMenuItem.Click += new System.EventHandler(this.wearToolStripMenuItem_Click); + // + // detachToolStripMenuItem + // + this.detachToolStripMenuItem.Name = "detachToolStripMenuItem"; + this.detachToolStripMenuItem.Size = new System.Drawing.Size(183, 22); + this.detachToolStripMenuItem.Text = "Detach"; + this.detachToolStripMenuItem.Click += new System.EventHandler(this.detachToolStripMenuItem_Click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 6); + // + // emptyTrashToolStripMenuItem + // + this.emptyTrashToolStripMenuItem.Name = "emptyTrashToolStripMenuItem"; + this.emptyTrashToolStripMenuItem.Size = new System.Drawing.Size(183, 22); + this.emptyTrashToolStripMenuItem.Text = "Empty trash"; + this.emptyTrashToolStripMenuItem.Click += new System.EventHandler(this.emptyTrashToolStripMenuItem_Click); + // + // emptyLostFoundToolStripMenuItem + // + this.emptyLostFoundToolStripMenuItem.Name = "emptyLostFoundToolStripMenuItem"; + this.emptyLostFoundToolStripMenuItem.Size = new System.Drawing.Size(183, 22); + this.emptyLostFoundToolStripMenuItem.Text = "Empty lost && found"; + this.emptyLostFoundToolStripMenuItem.Click += new System.EventHandler(this.emptyLostFoundToolStripMenuItem_Click); + // + // tvInventory + // + this.tvInventory.BackColor = System.Drawing.Color.Black; + this.tvInventory.Client = null; + this.tvInventory.ForeColor = System.Drawing.Color.White; + this.tvInventory.Location = new System.Drawing.Point(23, 27); + this.tvInventory.Name = "tvInventory"; + this.tvInventory.Size = new System.Drawing.Size(231, 511); + this.tvInventory.TabIndex = 1; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(230, 0); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 2; + this.btnClose.Text = "Close"; + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // frmInventory + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmInventory"); + this.ClientSize = new System.Drawing.Size(275, 550); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.tvInventory); + this.Controls.Add(this.menuStrip1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MainMenuStrip = this.menuStrip1; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmInventory"; + this.ShowIcon = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Inventory"; + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmInventory_MouseMove); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmInventory_MouseDown); + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmInventory_Load); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem copyObjectUUIDToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem deleteObjectFolderToolStripMenuItem; + private InventoryTree tvInventory; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem emptyTrashToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem emptyLostFoundToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem wearToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem detachToolStripMenuItem; + private clControls.clImageButton btnClose; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmInventory.cs b/SLBot/bot/GUI/frmInventory.cs new file mode 100644 index 0000000..fe87d97 --- /dev/null +++ b/SLBot/bot/GUI/frmInventory.cs @@ -0,0 +1,138 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmInventory.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OpenMetaverse; +using OpenMetaverse.Utilities; + +namespace bot.GUI +{ + public partial class frmInventory: Form + { + private SecondLifeBot Client; + private Point mouse_offset; + + public frmInventory(SecondLifeBot client) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.InitializeComponent(); + this.Client = client; + tvInventory.Client = this.Client; + fileToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.File"); + copyObjectUUIDToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.CopyID"); + deleteObjectFolderToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.Delete"); + wearToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.Attach"); + detachToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.Detach"); + emptyTrashToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.EmptyTrash"); + emptyLostFoundToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmInventory.Menu.EmptyLF"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmInventory"); + } + + private void frmInventory_Load(object sender, EventArgs e) + { + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmInventory.Text"), Client.LoginDetails.FullName); + } + + private void copyObjectUUIDToolStripMenuItem_Click(object sender, EventArgs e) + { + InventoryItem item = (InventoryItem)this.Client.Inventory.Store[new UUID(tvInventory.SelectedNode.Name)]; + + Clipboard.SetText(item.AssetUUID.ToString()); + } + + private void deleteObjectFolderToolStripMenuItem_Click(object sender, EventArgs e) + { + InventoryItem item = (InventoryItem)this.Client.Inventory.Store[new UUID(tvInventory.SelectedNode.Name)]; + + if (item.InventoryType == InventoryType.Folder) + this.Client.Inventory.RemoveFolder(item.UUID); + else + this.Client.Inventory.RemoveItem(item.UUID); + } + + private void wearToolStripMenuItem_Click(object sender, EventArgs e) + { + InventoryItem item = (InventoryItem)this.Client.Inventory.Store[new UUID(tvInventory.SelectedNode.Name)]; + + this.Client.Appearance.Attach(item, AttachmentPoint.Default); + } + + private void detachToolStripMenuItem_Click(object sender, EventArgs e) + { + InventoryItem item = (InventoryItem)this.Client.Inventory.Store[new UUID(tvInventory.SelectedNode.Name)]; + + this.Client.Appearance.Detach(item); + } + + private void emptyTrashToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Client.Inventory.EmptyTrash(); + } + + private void emptyLostFoundToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Client.Inventory.EmptyLostAndFound(); + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + void frmInventory_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + void frmInventory_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + } +} diff --git a/SLBot/bot/GUI/frmInventory.resx b/SLBot/bot/GUI/frmInventory.resx new file mode 100644 index 0000000..8405a89 --- /dev/null +++ b/SLBot/bot/GUI/frmInventory.resx @@ -0,0 +1,4289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + 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 + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmMain.cs b/SLBot/bot/GUI/frmMain.cs new file mode 100644 index 0000000..cb71770 --- /dev/null +++ b/SLBot/bot/GUI/frmMain.cs @@ -0,0 +1,2276 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmMain.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.GUI +{ + using bot; + using bot.license; + using bot.GUI; + using OpenMetaverse; + using System; + using System.Collections; + using System.ComponentModel; + using System.Drawing; + using System.Reflection; + using System.IO; + using System.Runtime.CompilerServices; + using System.Windows.Forms; + using System.Xml.Serialization; + using System.Net; + using System.Collections.Generic; + using clControls; + using System.Threading; + using Claunia.clUtils; + + public class frmMain : Form + { + private clImageButton btnSetMaster; + private CheckBox cbGreetMaster; + private ContextMenuStrip cmsAccount; + private IContainer components; + private ToolStripMenuItem editToolStripMenuItem; + private GroupBox gbAccounts; + private GroupBox gbMaster; + private Label lblAccoutnsInfo; + private Label lblBotsOnline; + private ToolStripMenuItem loginToolStripMenuItem; + private ToolStripMenuItem logoutToolStripMenuItem; + private ToolStripMenuItem objectsToolStripMenuItem; + private OpenFileDialog openAccountList; + private ToolStripMenuItem removeToolStripMenuItem; + private SaveFileDialog saveAccountList; + private ToolTip ttGreetMaster; + private GroupBox groupBox2; + private GroupBox groupBox1; + private CheckBox cbRelayConvos; + private CheckBox cbAgentUpdate; + private TextBox txtIRCMaster; + private Label label4; + private TextBox txtIRCChannel; + private Label label3; + private TextBox txtIRCPort; + private Label label2; + private TextBox txtIRCServer; + private Label label1; + private ToolStrip tsBots; + private ToolStripButton tsbLoad; + private ToolStripButton toolStripButton2; + private ToolStripSeparator toolStripSeparator1; + private ToolStripButton tsbAdd; + private ToolStripButton tsbRemove; + private ToolStripSeparator sep2; + private ToolStripButton tsbLogin; + private ToolStripButton tsbLoginAll; + private ToolStripSeparator toolStripSeparator2; + private ToolStripButton tsbLogout; + private ToolStripButton tsbLogoutAll; + private TextBox txtSetMaster; + private Button cmdCrash; + //private bot.HTTP.HTTPDaemon webserver; + private clImageButton btnObjects2; + private clImageButton btnImport; + private OpenFileDialog dlgImport; + private ProgressBar prgProgress; + private clImageButton btnAbout; + private Label lblUploadStatus; + private Label lblMain; + private GroupBox gbBotConfiguration; + private clImageButton btnConsole; + + private frmConsole console; + private frmChat chat; + + private Dictionary Interfaces = new Dictionary(); + private clImageButton btnExit; + private GroupBox gbSettings; + private ComboBox cmbLanguage; + private Label lblLanguage; + private ComboBox cmbSkin; + private Label lblSkin; + private CheckBox chkLogConsole; + private clImageButton btnChat; + private clImageButton btnMap; + private clImageButton btnFriends; + private clImageButton btnGroups; + private clImageButton btnAvatars; + private CheckBox chkHaveLuck; + private CheckBox chkTouchMidnightMania; + private CheckBox chkInformFriends; + private CheckBox chkInventoryOffers; + private CheckBox chkSounds; + private CheckBox chkTextures; + private CheckBox chkAnimations; + private CheckBox chkLogChat; + private clImageButton btnInventory; + private AccountList accList; + private Point mouse_offset; + + private delegate void StartImportCallback(int maxvalue); + + private delegate void SetProgressValueCallback(int value,int maxvalue); + + private delegate void StopImportCallback(); + + public frmMain() + { + this.InitializeComponent(); + + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + Application.ApplicationExit += new EventHandler(this.OnApplicationExit); + + //Puts language resources + //this.tabTools.Text = bot.Localization.clResourceManager.getText("frmMain.tabTools"); + this.lblUploadStatus.Text = ""; + this.btnImport.Text = bot.Localization.clResourceManager.getText("frmMain.btnImport"); + this.btnObjects2.Text = bot.Localization.clResourceManager.getText("frmMain.btnObjects"); + this.cmdCrash.Text = bot.Localization.clResourceManager.getText("frmMain.cmdCrash"); + this.btnSetMaster.Text = bot.Localization.clResourceManager.getText("frmMain.btnSetMaster"); + //this.tabConsole.Text = bot.Localization.clResourceManager.getText("frmMain.tabConsole"); + //this.tabBotSettings.Text = bot.Localization.clResourceManager.getText("frmMain.tabBotSettings"); + this.gbBotConfiguration.Text = bot.Localization.clResourceManager.getText("frmMain.tabBotSettings"); + this.groupBox2.Text = bot.Localization.clResourceManager.getText("frmMain.groupBox2"); + this.label4.Text = bot.Localization.clResourceManager.getText("frmMain.label4"); + this.label3.Text = bot.Localization.clResourceManager.getText("frmMain.label3"); + this.label2.Text = bot.Localization.clResourceManager.getText("frmMain.label2"); + this.label1.Text = bot.Localization.clResourceManager.getText("frmMain.label1"); + this.groupBox1.Text = bot.Localization.clResourceManager.getText("frmMain.groupBox1"); + this.cbRelayConvos.Text = bot.Localization.clResourceManager.getText("frmMain.cbRelayConvos"); + this.cbAgentUpdate.Text = bot.Localization.clResourceManager.getText("frmMain.cbAgentUpdate"); + this.cbGreetMaster.Text = bot.Localization.clResourceManager.getText("frmMain.cbGreetMaster"); + this.editToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.editToolStripMenuItem"); + this.loginToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.loginToolStripMenuItem"); + this.logoutToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.logoutToolStripMenuItem"); + this.objectsToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.objectsToolStripMenuItem"); + this.removeToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmMain.removeToolStripMenuItem"); + this.gbAccounts.Text = bot.Localization.clResourceManager.getText("frmMain.gbAccounts"); + + this.tsBots.Text = bot.Localization.clResourceManager.getText("frmMain.tsBots"); + this.tsbLoad.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLoad"); + this.toolStripButton2.Text = bot.Localization.clResourceManager.getText("frmMain.toolStripButton2"); + this.tsbAdd.Text = bot.Localization.clResourceManager.getText("frmMain.tsbAdd"); + this.tsbRemove.Text = bot.Localization.clResourceManager.getText("frmMain.tsbRemove"); + this.tsbLogin.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLogin"); + this.tsbLoginAll.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLoginAll"); + this.tsbLogout.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLogout"); + this.tsbLogoutAll.Text = bot.Localization.clResourceManager.getText("frmMain.tsbLogoutAll"); + this.lblAccoutnsInfo.Text = bot.Localization.clResourceManager.getText("frmMain.lblAccoutnsInfo"); + this.openAccountList.Filter = bot.Localization.clResourceManager.getText("frmMain.openAccountList"); + this.saveAccountList.Filter = bot.Localization.clResourceManager.getText("frmMain.openAccountList"); + this.ttGreetMaster.ToolTipTitle = bot.Localization.clResourceManager.getText("frmMain.ttGreetMaster"); + this.dlgImport.Title = bot.Localization.clResourceManager.getText("frmMain.dlgImport"); + this.btnAbout.Text = bot.Localization.clResourceManager.getText("frmMain.btnAbout"); + this.btnConsole.Text = bot.Localization.clResourceManager.getText("frmMain.tabConsole"); + this.gbSettings.Text = bot.Localization.clResourceManager.getText("frmMain.gbSettings"); + this.chkLogConsole.Text = bot.Localization.clResourceManager.getText("frmMain.chkLogConsole"); + this.lblLanguage.Text = bot.Localization.clResourceManager.getText("frmMain.lblLanguage"); + + this.cmbLanguage.Items.AddRange(bot.Localization.clResourceManager.getAvailableLanguages()); + this.cmbSkin.Items.AddRange(bot.Localization.clResourceManager.getAvailableSkins().ToArray()); + + this.btnAvatars.Text = bot.Localization.clResourceManager.getText("frmMain.btnAvatars"); + this.btnGroups.Text = bot.Localization.clResourceManager.getText("frmMain.btnGroups"); + this.btnFriends.Text = bot.Localization.clResourceManager.getText("frmMain.btnFriends"); + this.btnInventory.Text = bot.Localization.clResourceManager.getText("frmMain.btnInventory"); + this.btnMap.Text = bot.Localization.clResourceManager.getText("frmMain.btnMap"); + this.chkAnimations.Text = bot.Localization.clResourceManager.getText("frmMain.chkAnimations"); + this.chkTextures.Text = bot.Localization.clResourceManager.getText("frmMain.chkTextures"); + this.chkSounds.Text = bot.Localization.clResourceManager.getText("frmMain.chkSounds"); + this.chkInventoryOffers.Text = bot.Localization.clResourceManager.getText("frmMain.chkInventoryOffers"); + this.chkInformFriends.Text = bot.Localization.clResourceManager.getText("frmMain.chkInformFriends"); + this.chkTouchMidnightMania.Text = bot.Localization.clResourceManager.getText("frmMain.chkTouchMidnightMania"); + this.chkHaveLuck.Text = bot.Localization.clResourceManager.getText("frmMain.chkHaveLuck"); + this.chkLogChat.Text = bot.Localization.clResourceManager.getText("frmMain.chkLogChat"); + + //Ends putting language resources + + //Starts putting buttons + this.btnSetMaster.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.idle"); + this.btnSetMaster.Image = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.idle"); + this.btnSetMaster.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.onclick"); + this.btnSetMaster.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnSetMaster.onhover"); + this.btnObjects2.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.idle"); + this.btnObjects2.Image = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.idle"); + this.btnObjects2.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.onclick"); + this.btnObjects2.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnObjects.onhover"); + this.btnImport.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnImport.idle"); + this.btnImport.Image = bot.Localization.clResourceManager.getButton("frmMain.btnImport.idle"); + this.btnImport.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnImport.onclick"); + this.btnImport.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnImport.onhover"); + this.btnAbout.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.idle"); + this.btnAbout.Image = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.idle"); + this.btnAbout.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.onclick"); + this.btnAbout.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAbout.onhover"); + this.btnConsole.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.idle"); + this.btnConsole.Image = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.idle"); + this.btnConsole.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.onclick"); + this.btnConsole.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnConsole.onhover"); + this.btnExit.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnExit.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnExit.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnExit.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.btnChat.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnChat.idle"); + this.btnChat.Image = bot.Localization.clResourceManager.getButton("frmMain.btnChat.idle"); + this.btnChat.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnChat.onclick"); + this.btnChat.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnChat.onhover"); + this.btnAvatars.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.idle"); + this.btnAvatars.Image = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.idle"); + this.btnAvatars.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.onclick"); + this.btnAvatars.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnAvatars.onhover"); + this.btnGroups.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.idle"); + this.btnGroups.Image = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.idle"); + this.btnGroups.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.onclick"); + this.btnGroups.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnGroups.onhover"); + this.btnInventory.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.idle"); + this.btnInventory.Image = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.idle"); + this.btnInventory.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.onclick"); + this.btnInventory.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnInventory.onhover"); + this.btnFriends.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.idle"); + this.btnFriends.Image = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.idle"); + this.btnFriends.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.onclick"); + this.btnFriends.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnFriends.onhover"); + this.btnMap.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnMap.idle"); + this.btnMap.Image = bot.Localization.clResourceManager.getButton("frmMain.btnMap.idle"); + this.btnMap.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnMap.onclick"); + this.btnMap.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmMain.btnMap.onhover"); + //Ends putting buttons + + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmMain"); + + if (console == null) + { + console = new frmConsole(); + console.OnOutputSend += new frmConsole.OutputSendCallback(this.Console_OutPutSend); + } + + if (chat == null) + { + chat = new frmChat(); + } + + cmbLanguage.SelectedItem = bot.Localization.clResourceManager.getCurrentLanguage(); + cmbSkin.SelectedItem = bot.Localization.clResourceManager.getCurrentSkin(); + + this.Paint += new PaintEventHandler(frmMain_Paint); + this.DisableControls(true); + + Program.NBStats.AddStatData(DateTime.Now.ToString() + " NatiBot main window created."); // STATISTICS + } + + void frmMain_Paint(object sender, PaintEventArgs e) + { + lock (Interfaces) + { + foreach (Interface iface in Interfaces.Keys) + { + iface.Paint(sender, e); + } + } + } + + private void btnAddAccount_Click(object sender, EventArgs e) + { + frmAddAccount account = new frmAddAccount(); + account.OnAddAccount += new frmAddAccount.AddAccountCallback(this.frmAddAcc_OnAddAccount); + account.Show(); + } + + private void btnLoadAccs_Click(object sender, EventArgs e) + { + this.openAccountList.ShowDialog(); + //ACCLIST + this.DisableLoginControls(this.accList.Items.Count == 0); + } + + private void btnLogin_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + Program.NBStats.AddStatData(String.Format("{0}: {1} logged in on {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, + this.SelectedAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS + this.SelectedAccount.Connect(); + } + } + + private void btnLoginAll_Click(object sender, EventArgs e) + { + //ACCLIST + foreach (ListViewItem item in this.accList.Items) + { + BotAccount _bAccount; + _bAccount = (BotAccount)item.Tag; + _bAccount.Connect(); + } + } + + private void btnLogout_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + Program.NBStats.AddStatData(String.Format("{0}: {1} logged out on {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, + this.SelectedAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS + this.SelectedAccount.Disconnect(false); + } + } + + private void btnLogoutAll_Click(object sender, EventArgs e) + { + //ACCLIST + foreach (ListViewItem item in this.accList.Items) + { + BotAccount _bAccount; + _bAccount = (BotAccount)item.Tag; + _bAccount.Disconnect(false); + } + } + + private void btnRemoveAccount_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.Delete(); + } + this.AutoSave(); + //ACCLIST + this.DisableLoginControls(this.accList.Items.Count == 0); + } + + private void AutoSave() + { + this.SaveXmlAccounts(); + } + + private void btnSaveAccs_Click(object sender, EventArgs e) + { + this.saveAccountList.ShowDialog(); + } + + private void btnSetMaster_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + if (this.SelectedAccount.Client != null) + { + this.SelectedAccount.Client.MasterName = this.txtSetMaster.Text; + } + else if (this.SelectedAccount.LoginDetails != null) + { + this.SelectedAccount.LoginDetails.MasterName = this.txtSetMaster.Text; + this.SelectedAccount.ListItem.SubItems[2].Text = this.txtSetMaster.Text; + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} changing master to {2}.", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.txtSetMaster.Text)); // STATISTICS + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && (this.components != null)) + { + this.components.Dispose(); + } + base.Dispose(disposing); + } + + private void editToolStripMenuItem_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + if (this.SelectedAccount.LoginDetails == null) + { + MessageBox.Show("SelectedAccount.LoginDetails == null"); + } + if (this.SelectedAccount.Client != null) + { + MessageBox.Show(bot.Localization.clResourceManager.getText("frmMain.ErrorEditingConnected")); + } + else + { + frmAddAccount account = new frmAddAccount(this.SelectedAccount.LoginDetails); + account.OnAddAccount += new frmAddAccount.AddAccountCallback(this.frmAddAcc_OnEditAccount); + account.Show(); + } + } + } + + private void frmAddAcc_OnAddAccount(BotAccount botAccount) + { + //ACCLIST + + botAccount.OnDialogScriptReceived += new BotAccount.OnDialogScriptReceivedCallback(botAccount_OnDialogScriptReceived); + botAccount.OnStatusChange += new BotAccount.StatusChangeCallback(botAccount_OnStatusChange); + botAccount.OnAccountRemoved += new BotAccount.AccountRemovedCallback(botAccount_OnAccountRemoved); + botAccount.OnMasterChange += new BotAccount.MasterChangeCallback(botAccount_OnMasterChange); + botAccount.OnLocationChanged += new BotAccount.LocationChangeCallback(botAccount_OnLocationChanged); + + ListViewItem account = new ListViewItem(botAccount.LoginDetails.FullName); + account.Tag = botAccount; + account.SubItems.Add(bot.Localization.clResourceManager.getText("botAccount.Offline")); + account.SubItems.Add(botAccount.LoginDetails.MasterName); + account.SubItems.Add(botAccount.LoginDetails.StartLocation); + botAccount.ListItem = account; + + this.accList.Items.Add(account); + + this.DisableLoginControls(this.accList.Items.Count == 0); + + this.AutoSave(); + Program.NBStats.AddStatData(String.Format("{0}: Added account {1} on {2}", DateTime.Now.ToString(), botAccount.LoginDetails.FullName, botAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS + } + + void botAccount_OnLocationChanged(string newLocation, ListViewItem item) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + botAccount_OnLocationChanged(newLocation, item); + }); + else + item.SubItems[3].Text = newLocation; + } + + void botAccount_OnMasterChange(string newMaster, ListViewItem item) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + botAccount_OnMasterChange(newMaster, item); + }); + else + item.SubItems[2].Text = newMaster; + } + + void botAccount_OnAccountRemoved(ListViewItem item) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + botAccount_OnAccountRemoved(item); + }); + else + { + item.SubItems[1].Text = bot.Localization.clResourceManager.getText("botAccount.Removing"); + item.ForeColor = Color.Gray; + } + } + + private void botAccount_OnDialogScriptReceived(SecondLifeBot bot, ScriptDialogEventArgs args) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + botAccount_OnDialogScriptReceived(bot, args); + }); + else + new bot.GUI.frmScriptDialog(bot, args).Show(); + } + + private void botAccount_OnStatusChange(string newStatus, Color color, ListViewItem item) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + botAccount_OnStatusChange(newStatus, color, item); + }); + else + { + item.SubItems[1].Text = newStatus; + item.ForeColor = color; + } + } + + private void frmAddAcc_OnEditAccount(BotAccount botAccount) + { + //ACCLIST + this.tsbRemove.PerformClick(); + botAccount.OnDialogScriptReceived += new BotAccount.OnDialogScriptReceivedCallback(botAccount_OnDialogScriptReceived); + botAccount.OnStatusChange += new BotAccount.StatusChangeCallback(botAccount_OnStatusChange); + botAccount.OnAccountRemoved += new BotAccount.AccountRemovedCallback(botAccount_OnAccountRemoved); + botAccount.OnMasterChange += new BotAccount.MasterChangeCallback(botAccount_OnMasterChange); + botAccount.OnLocationChanged += new BotAccount.LocationChangeCallback(botAccount_OnLocationChanged); + + ListViewItem account = new ListViewItem(botAccount.LoginDetails.FullName); + account.Tag = botAccount; + account.SubItems.Add(bot.Localization.clResourceManager.getText("botAccount.Offline")); + account.SubItems.Add(botAccount.LoginDetails.MasterName); + account.SubItems.Add(botAccount.LoginDetails.StartLocation); + botAccount.ListItem = account; + + this.accList.Items.Add(account); + this.AutoSave(); + Program.NBStats.AddStatData(String.Format("{0}: Edited account {1} on {2}", DateTime.Now.ToString(), botAccount.LoginDetails.FullName, botAccount.LoginDetails.GridCustomLoginUri)); // STATISTICS + } + + private void frmMain_Load(object sender, EventArgs e) + { + bot.license.Version v = new bot.license.Version(); + + if (Utilities.GetRunningRuntime() != Utilities.Runtime.Mono) + this.TransparencyKey = Color.Yellow; + + string str = v.ToString() + " " + v.v_rev; + this.Text = string.Format("NatiBot - v{0}", str); + lblMain.Text = string.Format("NatiBot - v{0}", str); + this.LoadXmlAccounts(); + //ACCLIST + this.DisableLoginControls(this.accList.Items.Count == 0); + chkLogConsole.Checked = Program.getWriteConsoleToFileSetting(); + chkLogChat.Checked = Program.getWriteChatToFileSetting(); + + if (console != null) + { + console.Show(); + console.Hide(); + } + if (chat != null) + { + chat.Show(); + chat.Hide(); + } + + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("bot.Starts")); + +// webserver = new bot.HTTP.HTTPDaemon(9001, "DONGS", this); + } + + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain)); + this.btnAbout = new clControls.clImageButton(); + this.prgProgress = new System.Windows.Forms.ProgressBar(); + this.btnImport = new clControls.clImageButton(); + this.btnObjects2 = new clControls.clImageButton(); + this.cmdCrash = new System.Windows.Forms.Button(); + this.gbMaster = new System.Windows.Forms.GroupBox(); + this.txtSetMaster = new System.Windows.Forms.TextBox(); + this.btnSetMaster = new clControls.clImageButton(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.txtIRCMaster = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.txtIRCChannel = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtIRCPort = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.txtIRCServer = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.cbRelayConvos = new System.Windows.Forms.CheckBox(); + this.cbAgentUpdate = new System.Windows.Forms.CheckBox(); + this.cbGreetMaster = new System.Windows.Forms.CheckBox(); + this.cmsAccount = new System.Windows.Forms.ContextMenuStrip(this.components); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.loginToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.logoutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.objectsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.gbAccounts = new System.Windows.Forms.GroupBox(); + this.accList = new bot.GUI.AccountList(); + this.lblBotsOnline = new System.Windows.Forms.Label(); + this.lblAccoutnsInfo = new System.Windows.Forms.Label(); + this.tsBots = new System.Windows.Forms.ToolStrip(); + this.tsbLoad = new System.Windows.Forms.ToolStripButton(); + this.toolStripButton2 = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbAdd = new System.Windows.Forms.ToolStripButton(); + this.tsbRemove = new System.Windows.Forms.ToolStripButton(); + this.sep2 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbLogin = new System.Windows.Forms.ToolStripButton(); + this.tsbLoginAll = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbLogout = new System.Windows.Forms.ToolStripButton(); + this.tsbLogoutAll = new System.Windows.Forms.ToolStripButton(); + this.openAccountList = new System.Windows.Forms.OpenFileDialog(); + this.saveAccountList = new System.Windows.Forms.SaveFileDialog(); + this.ttGreetMaster = new System.Windows.Forms.ToolTip(this.components); + this.dlgImport = new System.Windows.Forms.OpenFileDialog(); + this.lblUploadStatus = new System.Windows.Forms.Label(); + this.lblMain = new System.Windows.Forms.Label(); + this.gbBotConfiguration = new System.Windows.Forms.GroupBox(); + this.chkHaveLuck = new System.Windows.Forms.CheckBox(); + this.chkTouchMidnightMania = new System.Windows.Forms.CheckBox(); + this.chkInformFriends = new System.Windows.Forms.CheckBox(); + this.chkInventoryOffers = new System.Windows.Forms.CheckBox(); + this.chkSounds = new System.Windows.Forms.CheckBox(); + this.chkTextures = new System.Windows.Forms.CheckBox(); + this.chkAnimations = new System.Windows.Forms.CheckBox(); + this.btnConsole = new clControls.clImageButton(); + this.btnExit = new clControls.clImageButton(); + this.gbSettings = new System.Windows.Forms.GroupBox(); + this.chkLogChat = new System.Windows.Forms.CheckBox(); + this.cmbLanguage = new System.Windows.Forms.ComboBox(); + this.lblLanguage = new System.Windows.Forms.Label(); + this.chkLogConsole = new System.Windows.Forms.CheckBox(); + this.lblSkin = new System.Windows.Forms.Label(); + this.cmbSkin = new System.Windows.Forms.ComboBox(); + this.btnChat = new clControls.clImageButton(); + this.btnMap = new clControls.clImageButton(); + this.btnFriends = new clControls.clImageButton(); + this.btnGroups = new clControls.clImageButton(); + this.btnAvatars = new clControls.clImageButton(); + this.btnInventory = new clControls.clImageButton(); + ((System.ComponentModel.ISupportInitialize)(this.btnAbout)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnImport)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnObjects2)).BeginInit(); + this.gbMaster.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnSetMaster)).BeginInit(); + this.groupBox2.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.cmsAccount.SuspendLayout(); + this.gbAccounts.SuspendLayout(); + this.tsBots.SuspendLayout(); + this.gbBotConfiguration.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnConsole)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnExit)).BeginInit(); + this.gbSettings.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnChat)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnMap)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnFriends)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnGroups)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnAvatars)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnInventory)).BeginInit(); + this.SuspendLayout(); + // + // btnAbout + // + this.btnAbout.BackColor = System.Drawing.Color.Transparent; + this.btnAbout.ButtonBitmap = null; + this.btnAbout.ButtonState = clControls.ButtonState.Normal; + this.btnAbout.DisabledBitmap = null; + this.btnAbout.Image = ((System.Drawing.Image)(resources.GetObject("btnAbout.Image"))); + this.btnAbout.Location = new System.Drawing.Point(745, 380); + this.btnAbout.Name = "btnAbout"; + this.btnAbout.OnMouseClickBitmap = null; + this.btnAbout.OnMouseOverBitmap = null; + this.btnAbout.Size = new System.Drawing.Size(75, 23); + this.btnAbout.TabIndex = 30; + this.btnAbout.TabStop = false; + this.btnAbout.Click += new System.EventHandler(this.btnAbout_Click); + // + // prgProgress + // + this.prgProgress.Location = new System.Drawing.Point(51, 452); + this.prgProgress.Name = "prgProgress"; + this.prgProgress.Size = new System.Drawing.Size(742, 17); + this.prgProgress.TabIndex = 28; + this.prgProgress.Visible = false; + // + // btnImport + // + this.btnImport.BackColor = System.Drawing.Color.Transparent; + this.btnImport.ButtonBitmap = null; + this.btnImport.ButtonState = clControls.ButtonState.Normal; + this.btnImport.DisabledBitmap = null; + this.btnImport.Image = ((System.Drawing.Image)(resources.GetObject("btnImport.Image"))); + this.btnImport.Location = new System.Drawing.Point(421, 381); + this.btnImport.Name = "btnImport"; + this.btnImport.OnMouseClickBitmap = null; + this.btnImport.OnMouseOverBitmap = null; + this.btnImport.Size = new System.Drawing.Size(75, 23); + this.btnImport.TabIndex = 27; + this.btnImport.TabStop = false; + this.btnImport.Click += new System.EventHandler(this.btnImport_Click); + // + // btnObjects2 + // + this.btnObjects2.BackColor = System.Drawing.Color.Transparent; + this.btnObjects2.ButtonBitmap = null; + this.btnObjects2.ButtonState = clControls.ButtonState.Normal; + this.btnObjects2.DisabledBitmap = null; + this.btnObjects2.Image = ((System.Drawing.Image)(resources.GetObject("btnObjects2.Image"))); + this.btnObjects2.Location = new System.Drawing.Point(421, 352); + this.btnObjects2.Name = "btnObjects2"; + this.btnObjects2.OnMouseClickBitmap = null; + this.btnObjects2.OnMouseOverBitmap = null; + this.btnObjects2.Size = new System.Drawing.Size(75, 23); + this.btnObjects2.TabIndex = 26; + this.btnObjects2.TabStop = false; + this.btnObjects2.Click += new System.EventHandler(this.button1_Click); + // + // cmdCrash + // + this.cmdCrash.ForeColor = System.Drawing.Color.Black; + this.cmdCrash.Location = new System.Drawing.Point(621, 65); + this.cmdCrash.Name = "cmdCrash"; + this.cmdCrash.Size = new System.Drawing.Size(105, 23); + this.cmdCrash.TabIndex = 25; + this.cmdCrash.Text = "Crash controls"; + this.cmdCrash.UseVisualStyleBackColor = true; + this.cmdCrash.Visible = false; + this.cmdCrash.Click += new System.EventHandler(this.cmdCrash_Click); + // + // gbMaster + // + this.gbMaster.BackColor = System.Drawing.Color.Transparent; + this.gbMaster.Controls.Add(this.txtSetMaster); + this.gbMaster.Controls.Add(this.btnSetMaster); + this.gbMaster.ForeColor = System.Drawing.Color.White; + this.gbMaster.Location = new System.Drawing.Point(250, 98); + this.gbMaster.Name = "gbMaster"; + this.gbMaster.Size = new System.Drawing.Size(240, 52); + this.gbMaster.TabIndex = 24; + this.gbMaster.TabStop = false; + // + // txtSetMaster + // + this.txtSetMaster.BackColor = System.Drawing.Color.Black; + this.txtSetMaster.ForeColor = System.Drawing.Color.White; + this.txtSetMaster.Location = new System.Drawing.Point(6, 19); + this.txtSetMaster.Name = "txtSetMaster"; + this.txtSetMaster.Size = new System.Drawing.Size(144, 20); + this.txtSetMaster.TabIndex = 4; + // + // btnSetMaster + // + this.btnSetMaster.BackColor = System.Drawing.Color.Transparent; + this.btnSetMaster.ButtonBitmap = null; + this.btnSetMaster.ButtonState = clControls.ButtonState.Normal; + this.btnSetMaster.DisabledBitmap = null; + this.btnSetMaster.ForeColor = System.Drawing.Color.Black; + this.btnSetMaster.Image = ((System.Drawing.Image)(resources.GetObject("btnSetMaster.Image"))); + this.btnSetMaster.Location = new System.Drawing.Point(156, 16); + this.btnSetMaster.Name = "btnSetMaster"; + this.btnSetMaster.OnMouseClickBitmap = null; + this.btnSetMaster.OnMouseOverBitmap = null; + this.btnSetMaster.Size = new System.Drawing.Size(75, 23); + this.btnSetMaster.TabIndex = 3; + this.btnSetMaster.TabStop = false; + this.btnSetMaster.Click += new System.EventHandler(this.btnSetMaster_Click); + // + // groupBox2 + // + this.groupBox2.BackColor = System.Drawing.Color.Transparent; + this.groupBox2.Controls.Add(this.txtIRCMaster); + this.groupBox2.Controls.Add(this.label4); + this.groupBox2.Controls.Add(this.txtIRCChannel); + this.groupBox2.Controls.Add(this.label3); + this.groupBox2.Controls.Add(this.txtIRCPort); + this.groupBox2.Controls.Add(this.label2); + this.groupBox2.Controls.Add(this.txtIRCServer); + this.groupBox2.Controls.Add(this.label1); + this.groupBox2.ForeColor = System.Drawing.Color.White; + this.groupBox2.Location = new System.Drawing.Point(12, 17); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(232, 127); + this.groupBox2.TabIndex = 2; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "IRC Settings"; + // + // txtIRCMaster + // + this.txtIRCMaster.BackColor = System.Drawing.Color.Black; + this.txtIRCMaster.ForeColor = System.Drawing.Color.White; + this.txtIRCMaster.Location = new System.Drawing.Point(96, 91); + this.txtIRCMaster.Name = "txtIRCMaster"; + this.txtIRCMaster.Size = new System.Drawing.Size(123, 20); + this.txtIRCMaster.TabIndex = 7; + this.txtIRCMaster.Text = "NiCK"; + this.txtIRCMaster.TextChanged += new System.EventHandler(this.txtIRCMaster_TextChanged); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(15, 94); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(69, 13); + this.label4.TabIndex = 6; + this.label4.Text = "Master\'s nick"; + // + // txtIRCChannel + // + this.txtIRCChannel.BackColor = System.Drawing.Color.Black; + this.txtIRCChannel.ForeColor = System.Drawing.Color.White; + this.txtIRCChannel.Location = new System.Drawing.Point(96, 62); + this.txtIRCChannel.Name = "txtIRCChannel"; + this.txtIRCChannel.Size = new System.Drawing.Size(123, 20); + this.txtIRCChannel.TabIndex = 5; + this.txtIRCChannel.Text = "#bots"; + this.txtIRCChannel.TextChanged += new System.EventHandler(this.txtIRCChannel_TextChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(15, 65); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(71, 13); + this.label3.TabIndex = 4; + this.label3.Text = "Main channel"; + // + // txtIRCPort + // + this.txtIRCPort.BackColor = System.Drawing.Color.Black; + this.txtIRCPort.ForeColor = System.Drawing.Color.White; + this.txtIRCPort.Location = new System.Drawing.Point(161, 32); + this.txtIRCPort.Name = "txtIRCPort"; + this.txtIRCPort.Size = new System.Drawing.Size(58, 20); + this.txtIRCPort.TabIndex = 3; + this.txtIRCPort.Text = "6667"; + this.txtIRCPort.TextChanged += new System.EventHandler(this.txtIRCPort_TextChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(163, 16); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(26, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Port"; + // + // txtIRCServer + // + this.txtIRCServer.BackColor = System.Drawing.Color.Black; + this.txtIRCServer.ForeColor = System.Drawing.Color.White; + this.txtIRCServer.Location = new System.Drawing.Point(13, 32); + this.txtIRCServer.Name = "txtIRCServer"; + this.txtIRCServer.Size = new System.Drawing.Size(142, 20); + this.txtIRCServer.TabIndex = 1; + this.txtIRCServer.Text = "irc.irc-hispano.org"; + this.txtIRCServer.TextChanged += new System.EventHandler(this.txtIRCServer_TextChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(10, 16); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(59, 13); + this.label1.TabIndex = 0; + this.label1.Text = "IRC Server"; + // + // groupBox1 + // + this.groupBox1.BackColor = System.Drawing.Color.Transparent; + this.groupBox1.Controls.Add(this.cbRelayConvos); + this.groupBox1.Controls.Add(this.cbAgentUpdate); + this.groupBox1.Controls.Add(this.cbGreetMaster); + this.groupBox1.ForeColor = System.Drawing.Color.White; + this.groupBox1.Location = new System.Drawing.Point(250, 17); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(240, 82); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "General options"; + // + // cbRelayConvos + // + this.cbRelayConvos.AutoSize = true; + this.cbRelayConvos.Location = new System.Drawing.Point(18, 65); + this.cbRelayConvos.Name = "cbRelayConvos"; + this.cbRelayConvos.Size = new System.Drawing.Size(131, 17); + this.cbRelayConvos.TabIndex = 2; + this.cbRelayConvos.Text = "Send IMs/Chat to IRC"; + this.cbRelayConvos.UseVisualStyleBackColor = true; + this.cbRelayConvos.CheckedChanged += new System.EventHandler(this.cbRelayConvos_CheckedChanged); + // + // cbAgentUpdate + // + this.cbAgentUpdate.AutoSize = true; + this.cbAgentUpdate.Checked = true; + this.cbAgentUpdate.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbAgentUpdate.Location = new System.Drawing.Point(18, 42); + this.cbAgentUpdate.Name = "cbAgentUpdate"; + this.cbAgentUpdate.Size = new System.Drawing.Size(123, 17); + this.cbAgentUpdate.TabIndex = 1; + this.cbAgentUpdate.Text = "Send update packet"; + this.cbAgentUpdate.UseVisualStyleBackColor = true; + this.cbAgentUpdate.CheckedChanged += new System.EventHandler(this.cbAgentUpdate_CheckedChanged); + // + // cbGreetMaster + // + this.cbGreetMaster.AutoSize = true; + this.cbGreetMaster.Checked = true; + this.cbGreetMaster.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbGreetMaster.Location = new System.Drawing.Point(18, 19); + this.cbGreetMaster.Name = "cbGreetMaster"; + this.cbGreetMaster.Size = new System.Drawing.Size(86, 17); + this.cbGreetMaster.TabIndex = 0; + this.cbGreetMaster.Text = "Greet master"; + this.ttGreetMaster.SetToolTip(this.cbGreetMaster, "Greet Master"); + this.cbGreetMaster.UseVisualStyleBackColor = true; + this.cbGreetMaster.CheckedChanged += new System.EventHandler(this.cbGreetMaster_CheckedChanged); + // + // cmsAccount + // + this.cmsAccount.BackColor = System.Drawing.Color.Black; + this.cmsAccount.Items.AddRange(new System.Windows.Forms.ToolStripItem[] + { + this.editToolStripMenuItem, + this.loginToolStripMenuItem, + this.logoutToolStripMenuItem, + this.objectsToolStripMenuItem, + this.removeToolStripMenuItem + }); + this.cmsAccount.Name = "cmsAccount"; + this.cmsAccount.ShowImageMargin = false; + this.cmsAccount.Size = new System.Drawing.Size(141, 114); + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.editToolStripMenuItem.Text = "Show/Edit details"; + this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click); + // + // loginToolStripMenuItem + // + this.loginToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.loginToolStripMenuItem.Name = "loginToolStripMenuItem"; + this.loginToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.loginToolStripMenuItem.Text = "Login"; + this.loginToolStripMenuItem.Click += new System.EventHandler(this.loginToolStripMenuItem_Click); + // + // logoutToolStripMenuItem + // + this.logoutToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.logoutToolStripMenuItem.Name = "logoutToolStripMenuItem"; + this.logoutToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.logoutToolStripMenuItem.Text = "Logout"; + this.logoutToolStripMenuItem.Click += new System.EventHandler(this.logoutToolStripMenuItem_Click); + // + // objectsToolStripMenuItem + // + this.objectsToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.objectsToolStripMenuItem.Name = "objectsToolStripMenuItem"; + this.objectsToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.objectsToolStripMenuItem.Text = "Objects"; + this.objectsToolStripMenuItem.Click += new System.EventHandler(this.objectsToolStripMenuItem_Click); + // + // removeToolStripMenuItem + // + this.removeToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; + this.removeToolStripMenuItem.Size = new System.Drawing.Size(140, 22); + this.removeToolStripMenuItem.Text = "Remove"; + this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); + // + // gbAccounts + // + this.gbAccounts.Anchor = System.Windows.Forms.AnchorStyles.None; + this.gbAccounts.BackColor = System.Drawing.Color.Transparent; + this.gbAccounts.Controls.Add(this.accList); + this.gbAccounts.Controls.Add(this.lblBotsOnline); + this.gbAccounts.Controls.Add(this.lblAccoutnsInfo); + this.gbAccounts.Controls.Add(this.tsBots); + this.gbAccounts.ForeColor = System.Drawing.Color.White; + this.gbAccounts.Location = new System.Drawing.Point(51, 31); + this.gbAccounts.Name = "gbAccounts"; + this.gbAccounts.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3); + this.gbAccounts.Size = new System.Drawing.Size(750, 153); + this.gbAccounts.TabIndex = 9; + this.gbAccounts.TabStop = false; + this.gbAccounts.Text = "Accounts"; + // + // accList + // + this.accList.BackColor = System.Drawing.Color.Black; + this.accList.ContextMenuStrip = this.cmsAccount; + this.accList.ForeColor = System.Drawing.Color.White; + this.accList.FullRowSelect = true; + this.accList.Location = new System.Drawing.Point(11, 44); + this.accList.MultiSelect = false; + this.accList.Name = "accList"; + this.accList.Size = new System.Drawing.Size(731, 97); + this.accList.Sorting = System.Windows.Forms.SortOrder.Ascending; + this.accList.TabIndex = 26; + this.accList.UseCompatibleStateImageBehavior = false; + this.accList.View = System.Windows.Forms.View.Details; + this.accList.SelectedIndexChanged += new System.EventHandler(this.accList_SelectedIndexChanged); + // + // lblBotsOnline + // + this.lblBotsOnline.AutoSize = true; + this.lblBotsOnline.Location = new System.Drawing.Point(67, 0); + this.lblBotsOnline.Name = "lblBotsOnline"; + this.lblBotsOnline.Size = new System.Drawing.Size(0, 13); + this.lblBotsOnline.TabIndex = 22; + // + // lblAccoutnsInfo + // + this.lblAccoutnsInfo.AutoSize = true; + this.lblAccoutnsInfo.Location = new System.Drawing.Point(454, 25); + this.lblAccoutnsInfo.Name = "lblAccoutnsInfo"; + this.lblAccoutnsInfo.Size = new System.Drawing.Size(153, 13); + this.lblAccoutnsInfo.TabIndex = 21; + this.lblAccoutnsInfo.Text = "Right click on a row for options"; + // + // tsBots + // + this.tsBots.BackColor = System.Drawing.Color.Transparent; + this.tsBots.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.tsBots.Items.AddRange(new System.Windows.Forms.ToolStripItem[] + { + this.tsbLoad, + this.toolStripButton2, + this.toolStripSeparator1, + this.tsbAdd, + this.tsbRemove, + this.sep2, + this.tsbLogin, + this.tsbLoginAll, + this.toolStripSeparator2, + this.tsbLogout, + this.tsbLogoutAll + }); + this.tsBots.Location = new System.Drawing.Point(8, 16); + this.tsBots.Name = "tsBots"; + this.tsBots.Size = new System.Drawing.Size(734, 25); + this.tsBots.TabIndex = 25; + this.tsBots.Text = "Bot handling"; + // + // tsbLoad + // + this.tsbLoad.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbLoad.Image = ((System.Drawing.Image)(resources.GetObject("tsbLoad.Image"))); + this.tsbLoad.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbLoad.Name = "tsbLoad"; + this.tsbLoad.Size = new System.Drawing.Size(23, 22); + this.tsbLoad.Text = "Load accounts"; + this.tsbLoad.Click += new System.EventHandler(this.tsbLoad_Click); + // + // toolStripButton2 + // + this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image"))); + this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButton2.Name = "toolStripButton2"; + this.toolStripButton2.Size = new System.Drawing.Size(23, 22); + this.toolStripButton2.Text = "Save accounts"; + this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + // + // tsbAdd + // + this.tsbAdd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbAdd.Image = ((System.Drawing.Image)(resources.GetObject("tsbAdd.Image"))); + this.tsbAdd.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbAdd.Name = "tsbAdd"; + this.tsbAdd.Size = new System.Drawing.Size(23, 22); + this.tsbAdd.Text = "Add account"; + this.tsbAdd.Click += new System.EventHandler(this.tsbAdd_Click); + // + // tsbRemove + // + this.tsbRemove.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.tsbRemove.Image = ((System.Drawing.Image)(resources.GetObject("tsbRemove.Image"))); + this.tsbRemove.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbRemove.Name = "tsbRemove"; + this.tsbRemove.Size = new System.Drawing.Size(23, 22); + this.tsbRemove.Text = "Remove account"; + this.tsbRemove.Click += new System.EventHandler(this.tsbRemove_Click); + // + // sep2 + // + this.sep2.Name = "sep2"; + this.sep2.Size = new System.Drawing.Size(6, 25); + // + // tsbLogin + // + this.tsbLogin.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.tsbLogin.Image = ((System.Drawing.Image)(resources.GetObject("tsbLogin.Image"))); + this.tsbLogin.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbLogin.Name = "tsbLogin"; + this.tsbLogin.Size = new System.Drawing.Size(41, 22); + this.tsbLogin.Text = "Login"; + this.tsbLogin.Click += new System.EventHandler(this.btnLogin_Click); + // + // tsbLoginAll + // + this.tsbLoginAll.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.tsbLoginAll.Image = ((System.Drawing.Image)(resources.GetObject("tsbLoginAll.Image"))); + this.tsbLoginAll.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbLoginAll.Name = "tsbLoginAll"; + this.tsbLoginAll.Size = new System.Drawing.Size(56, 22); + this.tsbLoginAll.Text = "Login all"; + this.tsbLoginAll.Click += new System.EventHandler(this.tsbLoginAll_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); + // + // tsbLogout + // + this.tsbLogout.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.tsbLogout.Image = ((System.Drawing.Image)(resources.GetObject("tsbLogout.Image"))); + this.tsbLogout.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbLogout.Name = "tsbLogout"; + this.tsbLogout.Size = new System.Drawing.Size(49, 22); + this.tsbLogout.Text = "Logout"; + this.tsbLogout.Click += new System.EventHandler(this.tsbLogout_Click); + // + // tsbLogoutAll + // + this.tsbLogoutAll.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.tsbLogoutAll.Image = ((System.Drawing.Image)(resources.GetObject("tsbLogoutAll.Image"))); + this.tsbLogoutAll.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbLogoutAll.Name = "tsbLogoutAll"; + this.tsbLogoutAll.Size = new System.Drawing.Size(64, 22); + this.tsbLogoutAll.Text = "Logout all"; + this.tsbLogoutAll.Click += new System.EventHandler(this.tsbLogoutAll_Click); + // + // openAccountList + // + this.openAccountList.DefaultExt = "acc"; + this.openAccountList.FileName = "accounts.acc"; + this.openAccountList.Filter = "Account files *.acc|*.acc|All files|*.*"; + this.openAccountList.FileOk += new System.ComponentModel.CancelEventHandler(this.openAccountList_FileOk); + // + // saveAccountList + // + this.saveAccountList.DefaultExt = "acc"; + this.saveAccountList.FileName = "accounts.acc"; + this.saveAccountList.Filter = "Account files *.acc|*.acc|All files|*.*"; + this.saveAccountList.FileOk += new System.ComponentModel.CancelEventHandler(this.saveAccountList_FileOk); + // + // ttGreetMaster + // + this.ttGreetMaster.ToolTipTitle = "Send a greet to the master at login or changing it"; + // + // dlgImport + // + this.dlgImport.DefaultExt = "xml"; + this.dlgImport.Filter = resources.GetString("dlgImport.Filter"); + this.dlgImport.Multiselect = true; + this.dlgImport.RestoreDirectory = true; + this.dlgImport.Title = "Element to import"; + // + // lblUploadStatus + // + this.lblUploadStatus.AutoSize = true; + this.lblUploadStatus.BackColor = System.Drawing.Color.Transparent; + this.lblUploadStatus.ForeColor = System.Drawing.Color.White; + this.lblUploadStatus.Location = new System.Drawing.Point(48, 436); + this.lblUploadStatus.Name = "lblUploadStatus"; + this.lblUploadStatus.Size = new System.Drawing.Size(81, 13); + this.lblUploadStatus.TabIndex = 31; + this.lblUploadStatus.Text = "lblUploadStatus"; + // + // lblMain + // + this.lblMain.AutoSize = true; + this.lblMain.BackColor = System.Drawing.Color.Transparent; + this.lblMain.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblMain.ForeColor = System.Drawing.Color.White; + this.lblMain.Location = new System.Drawing.Point(47, 9); + this.lblMain.Name = "lblMain"; + this.lblMain.Size = new System.Drawing.Size(61, 17); + this.lblMain.TabIndex = 32; + this.lblMain.Text = "NatiBot"; + // + // gbBotConfiguration + // + this.gbBotConfiguration.BackColor = System.Drawing.Color.Transparent; + this.gbBotConfiguration.Controls.Add(this.chkHaveLuck); + this.gbBotConfiguration.Controls.Add(this.chkTouchMidnightMania); + this.gbBotConfiguration.Controls.Add(this.groupBox1); + this.gbBotConfiguration.Controls.Add(this.chkInformFriends); + this.gbBotConfiguration.Controls.Add(this.groupBox2); + this.gbBotConfiguration.Controls.Add(this.chkInventoryOffers); + this.gbBotConfiguration.Controls.Add(this.gbMaster); + this.gbBotConfiguration.Controls.Add(this.chkSounds); + this.gbBotConfiguration.Controls.Add(this.chkTextures); + this.gbBotConfiguration.Controls.Add(this.chkAnimations); + this.gbBotConfiguration.Controls.Add(this.cmdCrash); + this.gbBotConfiguration.ForeColor = System.Drawing.Color.White; + this.gbBotConfiguration.Location = new System.Drawing.Point(51, 187); + this.gbBotConfiguration.Name = "gbBotConfiguration"; + this.gbBotConfiguration.Size = new System.Drawing.Size(750, 154); + this.gbBotConfiguration.TabIndex = 33; + this.gbBotConfiguration.TabStop = false; + this.gbBotConfiguration.Text = "Bot configuration"; + // + // chkHaveLuck + // + this.chkHaveLuck.AutoSize = true; + this.chkHaveLuck.Location = new System.Drawing.Point(625, 42); + this.chkHaveLuck.Name = "chkHaveLuck"; + this.chkHaveLuck.Size = new System.Drawing.Size(99, 17); + this.chkHaveLuck.TabIndex = 3; + this.chkHaveLuck.Text = "Have \"Lucky\"s"; + this.chkHaveLuck.UseVisualStyleBackColor = true; + this.chkHaveLuck.CheckedChanged += new System.EventHandler(this.chkHaveLuck_CheckedChanged); + // + // chkTouchMidnightMania + // + this.chkTouchMidnightMania.AutoSize = true; + this.chkTouchMidnightMania.Location = new System.Drawing.Point(625, 19); + this.chkTouchMidnightMania.Name = "chkTouchMidnightMania"; + this.chkTouchMidnightMania.Size = new System.Drawing.Size(105, 17); + this.chkTouchMidnightMania.TabIndex = 9; + this.chkTouchMidnightMania.Text = "Touch Midnights"; + this.chkTouchMidnightMania.UseVisualStyleBackColor = true; + this.chkTouchMidnightMania.CheckedChanged += new System.EventHandler(this.chkTouchMidnightMania_CheckedChanged); + // + // chkInformFriends + // + this.chkInformFriends.AutoSize = true; + this.chkInformFriends.Location = new System.Drawing.Point(496, 111); + this.chkInformFriends.Name = "chkInformFriends"; + this.chkInformFriends.Size = new System.Drawing.Size(132, 17); + this.chkInformFriends.TabIndex = 8; + this.chkInformFriends.Text = "Inform of friends online"; + this.chkInformFriends.UseVisualStyleBackColor = true; + this.chkInformFriends.CheckedChanged += new System.EventHandler(this.chkInformFriends_CheckedChanged); + // + // chkInventoryOffers + // + this.chkInventoryOffers.AutoSize = true; + this.chkInventoryOffers.Location = new System.Drawing.Point(496, 88); + this.chkInventoryOffers.Name = "chkInventoryOffers"; + this.chkInventoryOffers.Size = new System.Drawing.Size(135, 17); + this.chkInventoryOffers.TabIndex = 7; + this.chkInventoryOffers.Text = "Accept inventory offers"; + this.chkInventoryOffers.UseVisualStyleBackColor = true; + this.chkInventoryOffers.CheckedChanged += new System.EventHandler(this.chkInventoryOffers_CheckedChanged); + // + // chkSounds + // + this.chkSounds.AutoSize = true; + this.chkSounds.Location = new System.Drawing.Point(496, 65); + this.chkSounds.Name = "chkSounds"; + this.chkSounds.Size = new System.Drawing.Size(82, 17); + this.chkSounds.TabIndex = 4; + this.chkSounds.Text = "Get Sounds"; + this.chkSounds.UseVisualStyleBackColor = true; + this.chkSounds.CheckedChanged += new System.EventHandler(this.chkSounds_CheckedChanged); + // + // chkTextures + // + this.chkTextures.AutoSize = true; + this.chkTextures.Location = new System.Drawing.Point(496, 42); + this.chkTextures.Name = "chkTextures"; + this.chkTextures.Size = new System.Drawing.Size(87, 17); + this.chkTextures.TabIndex = 5; + this.chkTextures.Text = "Get Textures"; + this.chkTextures.UseVisualStyleBackColor = true; + this.chkTextures.CheckedChanged += new System.EventHandler(this.chkTextures_CheckedChanged); + // + // chkAnimations + // + this.chkAnimations.AutoSize = true; + this.chkAnimations.Location = new System.Drawing.Point(496, 19); + this.chkAnimations.Name = "chkAnimations"; + this.chkAnimations.Size = new System.Drawing.Size(97, 17); + this.chkAnimations.TabIndex = 6; + this.chkAnimations.Text = "Get Animations"; + this.chkAnimations.UseVisualStyleBackColor = true; + this.chkAnimations.CheckedChanged += new System.EventHandler(this.chkAnimations_CheckedChanged); + // + // btnConsole + // + this.btnConsole.BackColor = System.Drawing.Color.Transparent; + this.btnConsole.ButtonBitmap = null; + this.btnConsole.ButtonState = clControls.ButtonState.Normal; + this.btnConsole.DisabledBitmap = null; + this.btnConsole.Image = ((System.Drawing.Image)(resources.GetObject("btnConsole.Image"))); + this.btnConsole.Location = new System.Drawing.Point(745, 352); + this.btnConsole.Name = "btnConsole"; + this.btnConsole.OnMouseClickBitmap = null; + this.btnConsole.OnMouseOverBitmap = null; + this.btnConsole.Size = new System.Drawing.Size(75, 23); + this.btnConsole.TabIndex = 34; + this.btnConsole.TabStop = false; + this.btnConsole.Text = "Console"; + this.btnConsole.Click += new System.EventHandler(this.btnConsole_Click); + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.Transparent; + this.btnExit.ButtonBitmap = null; + this.btnExit.ButtonState = clControls.ButtonState.Normal; + this.btnExit.DisabledBitmap = null; + this.btnExit.Image = ((System.Drawing.Image)(resources.GetObject("btnExit.Image"))); + this.btnExit.Location = new System.Drawing.Point(775, 9); + this.btnExit.Name = "btnExit"; + this.btnExit.OnMouseClickBitmap = null; + this.btnExit.OnMouseOverBitmap = null; + this.btnExit.Size = new System.Drawing.Size(24, 24); + this.btnExit.TabIndex = 35; + this.btnExit.TabStop = false; + this.btnExit.Text = "X"; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // gbSettings + // + this.gbSettings.BackColor = System.Drawing.Color.Transparent; + this.gbSettings.Controls.Add(this.chkLogChat); + this.gbSettings.Controls.Add(this.cmbLanguage); + this.gbSettings.Controls.Add(this.lblLanguage); + this.gbSettings.Controls.Add(this.chkLogConsole); + this.gbSettings.Controls.Add(this.cmbSkin); + this.gbSettings.Controls.Add(this.lblSkin); + this.gbSettings.ForeColor = System.Drawing.Color.White; + this.gbSettings.Location = new System.Drawing.Point(51, 347); + this.gbSettings.Name = "gbSettings"; + this.gbSettings.Size = new System.Drawing.Size(364, 66); + this.gbSettings.TabIndex = 36; + this.gbSettings.TabStop = false; + this.gbSettings.Text = "Settings"; + // + // chkLogChat + // + this.chkLogChat.AutoSize = true; + this.chkLogChat.Location = new System.Drawing.Point(6, 44); + this.chkLogChat.Name = "chkLogChat"; + this.chkLogChat.Size = new System.Drawing.Size(103, 17); + this.chkLogChat.TabIndex = 3; + this.chkLogChat.Text = "Write chat to file"; + this.chkLogChat.UseVisualStyleBackColor = true; + this.chkLogChat.CheckedChanged += new System.EventHandler(this.chkLogChat_CheckedChanged); + // + // cmbLanguage + // + this.cmbLanguage.BackColor = System.Drawing.Color.Black; + this.cmbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbLanguage.ForeColor = System.Drawing.Color.White; + this.cmbLanguage.FormattingEnabled = true; + this.cmbLanguage.Location = new System.Drawing.Point(234, 15); + this.cmbLanguage.Name = "cmbLanguage"; + this.cmbLanguage.Size = new System.Drawing.Size(121, 21); + this.cmbLanguage.Sorted = true; + this.cmbLanguage.TabIndex = 20; + this.cmbLanguage.SelectionChangeCommitted += new System.EventHandler(this.cmbLanguage_SelectionChangeCommitted); + // + // lblLanguage + // + this.lblLanguage.AutoSize = true; + this.lblLanguage.Location = new System.Drawing.Point(170, 18); + this.lblLanguage.Name = "lblLanguage"; + this.lblLanguage.Size = new System.Drawing.Size(58, 13); + this.lblLanguage.TabIndex = 21; + this.lblLanguage.Text = "Language:"; + this.lblLanguage.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // chkLogConsole + // + this.chkLogConsole.AutoSize = true; + this.chkLogConsole.Location = new System.Drawing.Point(6, 17); + this.chkLogConsole.Name = "chkLogConsole"; + this.chkLogConsole.Size = new System.Drawing.Size(119, 17); + this.chkLogConsole.TabIndex = 0; + this.chkLogConsole.Text = "Write console to file"; + this.chkLogConsole.UseVisualStyleBackColor = true; + this.chkLogConsole.CheckedChanged += new System.EventHandler(this.chkLogConsole_CheckedChanged); + // + // lblSkin + // + this.lblSkin.AutoSize = true; + this.lblSkin.Location = new System.Drawing.Point(197, 45); + this.lblSkin.Name = "lblSkin"; + this.lblSkin.Size = new System.Drawing.Size(31, 13); + this.lblSkin.TabIndex = 1; + this.lblSkin.Text = "Skin:"; + this.lblSkin.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // cmbSkin + // + this.cmbSkin.BackColor = System.Drawing.Color.Black; + this.cmbSkin.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbSkin.ForeColor = System.Drawing.Color.White; + this.cmbSkin.FormattingEnabled = true; + this.cmbSkin.Location = new System.Drawing.Point(234, 42); + this.cmbSkin.Name = "cmbSkin"; + this.cmbSkin.Size = new System.Drawing.Size(121, 21); + this.cmbSkin.Sorted = true; + this.cmbSkin.TabIndex = 2; + this.cmbSkin.SelectionChangeCommitted += new System.EventHandler(this.cmbSkin_SelectionChangeCommitted); + // + // btnChat + // + this.btnChat.BackColor = System.Drawing.Color.Transparent; + this.btnChat.ButtonBitmap = null; + this.btnChat.ButtonState = clControls.ButtonState.Normal; + this.btnChat.DisabledBitmap = null; + this.btnChat.Image = ((System.Drawing.Image)(resources.GetObject("btnChat.Image"))); + this.btnChat.Location = new System.Drawing.Point(502, 380); + this.btnChat.Name = "btnChat"; + this.btnChat.OnMouseClickBitmap = null; + this.btnChat.OnMouseOverBitmap = null; + this.btnChat.Size = new System.Drawing.Size(75, 23); + this.btnChat.TabIndex = 37; + this.btnChat.TabStop = false; + this.btnChat.Text = "Chat"; + this.btnChat.Click += new System.EventHandler(this.btnChat_Click); + // + // btnMap + // + this.btnMap.BackColor = System.Drawing.Color.Transparent; + this.btnMap.ButtonBitmap = null; + this.btnMap.ButtonState = clControls.ButtonState.Normal; + this.btnMap.DisabledBitmap = null; + this.btnMap.Location = new System.Drawing.Point(664, 380); + this.btnMap.Name = "btnMap"; + this.btnMap.OnMouseClickBitmap = null; + this.btnMap.OnMouseOverBitmap = null; + this.btnMap.Size = new System.Drawing.Size(75, 23); + this.btnMap.TabIndex = 38; + this.btnMap.TabStop = false; + this.btnMap.Text = "Map"; + this.btnMap.Click += new System.EventHandler(this.btnMap_Click); + // + // btnFriends + // + this.btnFriends.BackColor = System.Drawing.Color.Transparent; + this.btnFriends.ButtonBitmap = null; + this.btnFriends.ButtonState = clControls.ButtonState.Normal; + this.btnFriends.DisabledBitmap = null; + this.btnFriends.Location = new System.Drawing.Point(583, 380); + this.btnFriends.Name = "btnFriends"; + this.btnFriends.OnMouseClickBitmap = null; + this.btnFriends.OnMouseOverBitmap = null; + this.btnFriends.Size = new System.Drawing.Size(75, 23); + this.btnFriends.TabIndex = 39; + this.btnFriends.TabStop = false; + this.btnFriends.Text = "Friends"; + this.btnFriends.Click += new System.EventHandler(this.btnFriends_Click); + // + // btnGroups + // + this.btnGroups.BackColor = System.Drawing.Color.Transparent; + this.btnGroups.ButtonBitmap = null; + this.btnGroups.ButtonState = clControls.ButtonState.Normal; + this.btnGroups.DisabledBitmap = null; + this.btnGroups.Location = new System.Drawing.Point(583, 352); + this.btnGroups.Name = "btnGroups"; + this.btnGroups.OnMouseClickBitmap = null; + this.btnGroups.OnMouseOverBitmap = null; + this.btnGroups.Size = new System.Drawing.Size(75, 23); + this.btnGroups.TabIndex = 40; + this.btnGroups.TabStop = false; + this.btnGroups.Text = "Groups"; + this.btnGroups.Click += new System.EventHandler(this.btnGroups_Click); + // + // btnAvatars + // + this.btnAvatars.BackColor = System.Drawing.Color.Transparent; + this.btnAvatars.ButtonBitmap = null; + this.btnAvatars.ButtonState = clControls.ButtonState.Normal; + this.btnAvatars.DisabledBitmap = null; + this.btnAvatars.Location = new System.Drawing.Point(502, 352); + this.btnAvatars.Name = "btnAvatars"; + this.btnAvatars.OnMouseClickBitmap = null; + this.btnAvatars.OnMouseOverBitmap = null; + this.btnAvatars.Size = new System.Drawing.Size(75, 23); + this.btnAvatars.TabIndex = 41; + this.btnAvatars.TabStop = false; + this.btnAvatars.Text = "Avatars"; + this.btnAvatars.Click += new System.EventHandler(this.btnAvatars_Click); + // + // btnInventory + // + this.btnInventory.BackColor = System.Drawing.Color.Transparent; + this.btnInventory.ButtonBitmap = null; + this.btnInventory.ButtonState = clControls.ButtonState.Normal; + this.btnInventory.DisabledBitmap = null; + this.btnInventory.Location = new System.Drawing.Point(664, 352); + this.btnInventory.Name = "btnInventory"; + this.btnInventory.OnMouseClickBitmap = null; + this.btnInventory.OnMouseOverBitmap = null; + this.btnInventory.Size = new System.Drawing.Size(75, 23); + this.btnInventory.TabIndex = 42; + this.btnInventory.TabStop = false; + this.btnInventory.Text = "Inventory"; + this.btnInventory.Click += new System.EventHandler(this.btnInventory_Click); + // + // frmMain + // + this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); + this.ClientSize = new System.Drawing.Size(841, 481); + this.ControlBox = false; + this.Controls.Add(this.btnInventory); + this.Controls.Add(this.gbBotConfiguration); + this.Controls.Add(this.gbAccounts); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.btnFriends); + this.Controls.Add(this.btnAvatars); + this.Controls.Add(this.btnMap); + this.Controls.Add(this.gbSettings); + this.Controls.Add(this.btnGroups); + this.Controls.Add(this.lblMain); + this.Controls.Add(this.btnChat); + this.Controls.Add(this.lblUploadStatus); + this.Controls.Add(this.prgProgress); + this.Controls.Add(this.btnImport); + this.Controls.Add(this.btnObjects2); + this.Controls.Add(this.btnConsole); + this.Controls.Add(this.btnAbout); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmMain"; + this.Text = "Nati-Bot"; + this.Load += new System.EventHandler(this.frmMain_Load); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmMain_MouseDown); + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmMain_MouseMove); + ((System.ComponentModel.ISupportInitialize)(this.btnAbout)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnImport)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnObjects2)).EndInit(); + this.gbMaster.ResumeLayout(false); + this.gbMaster.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnSetMaster)).EndInit(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.cmsAccount.ResumeLayout(false); + this.gbAccounts.ResumeLayout(false); + this.gbAccounts.PerformLayout(); + this.tsBots.ResumeLayout(false); + this.tsBots.PerformLayout(); + this.gbBotConfiguration.ResumeLayout(false); + this.gbBotConfiguration.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnConsole)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnExit)).EndInit(); + this.gbSettings.ResumeLayout(false); + this.gbSettings.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnChat)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnMap)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnFriends)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnGroups)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnAvatars)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnInventory)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + private void DisableControls(bool what) + { + this.cbAgentUpdate.Enabled = !what; + this.cbGreetMaster.Enabled = !what; + this.cbRelayConvos.Enabled = !what; + this.txtIRCChannel.Enabled = !what; + this.txtIRCMaster.Enabled = !what; + this.txtIRCPort.Enabled = !what; + this.txtIRCServer.Enabled = !what; + this.txtSetMaster.Enabled = !what; + + this.tsbRemove.Enabled = !what; + this.btnSetMaster.Enabled = !what; + //if(!what) RegisterAllPlugins(Assembly.GetExecutingAssembly()); + //EnableInterfaces(!what); + } + + private void DisableLoginControls(bool what) + { + this.tsbLogin.Enabled = !what; + this.tsbLoginAll.Enabled = !what; + this.tsbLogout.Enabled = !what; + this.tsbLogoutAll.Enabled = !what; + } + + private void LoadXmlAccounts() + { + this.LoadXmlAccounts("./config/accounts.xml"); + } + + private void LoadXmlAccounts(string file) + { + LoginDetailList list = null; + try + { + XmlSerializer serializer = new XmlSerializer(typeof(LoginDetailList)); + TextReader textReader = new StreamReader(file); + LoginDetailList list2 = (LoginDetailList)serializer.Deserialize(textReader); + if (list2 != null) + { + list = list2; + } + textReader.Close(); + } + catch (Exception exception) + { + //MessageBox.Show(exception.Message); + } + if (list != null) + { + foreach (LoginDetails details in list.Items) + { + this.frmAddAcc_OnAddAccount(new BotAccount(details)); + } + } + } + + private void loginToolStripMenuItem_Click(object sender, EventArgs e) + { + this.tsbLogin.PerformClick(); + } + + private void logoutToolStripMenuItem_Click(object sender, EventArgs e) + { + this.tsbLogout.PerformClick(); + } + + private void objectsToolStripMenuItem_Click(object sender, EventArgs e) + { + this.button1_Click(sender, e); + } + + private void openAccountList_FileOk(object sender, CancelEventArgs e) + { + //ACCLIST + while (this.accList.Items.Count > 0) + { + ListViewItem item = this.accList.Items[0]; + this.accList.Items.Remove(item); + } + this.LoadXmlAccounts(this.openAccountList.FileName); + } + + private void removeToolStripMenuItem_Click(object sender, EventArgs e) + { + this.tsbRemove.PerformClick(); + } + + private void saveAccountList_FileOk(object sender, CancelEventArgs e) + { + this.SaveXmlAccounts(this.saveAccountList.FileName); + } + + private void SaveXmlAccounts() + { + this.SaveXmlAccounts("./config/accounts.xml"); + } + + private void SaveXmlAccounts(string file) + { + bool flag = false; + if (!Directory.Exists("./config/")) + Directory.CreateDirectory("./config/"); + + LoginDetailList o = new LoginDetailList(); + //ACCLIST + + foreach (ListViewItem item in this.accList.Items) + { + if (item.Tag != null) + { + flag = true; + BotAccount _bAcc = (BotAccount)item.Tag; + o.Add(_bAcc.LoginDetails); + } + } + if (flag) + { + try + { + XmlSerializer serializer = new XmlSerializer(typeof(LoginDetailList)); + TextWriter textWriter = new StreamWriter(file); + serializer.Serialize(textWriter, o); + textWriter.Close(); + } + catch (Exception exception) + { + MessageBox.Show(exception.Message); + } + } + } + + private void updateGUI(BotAccount acc) + { + /*this.cbAgentUpdate.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + this.cbGreetMaster.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + this.cbRelayConvos.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + + this.txtIRCServer.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + this.txtIRCPort.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + this.txtIRCChannel.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + this.txtIRCMaster.Enabled = acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + + //this.btnObjects2.Enabled = !acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online")); + this.cmdCrash.Enabled = !acc.GridViewRow.Status.Equals(bot.Localization.clResourceManager.getText("botAccount.Online"));*/ + + this.chkAnimations.Checked = acc.LoginDetails.BotConfig.GetAnimations; + this.chkHaveLuck.Checked = acc.LoginDetails.BotConfig.HaveLuck; + this.chkInformFriends.Checked = acc.LoginDetails.BotConfig.InformFriends; + this.chkInventoryOffers.Checked = acc.LoginDetails.BotConfig.AcceptInventoryOffers; + this.chkSounds.Checked = acc.LoginDetails.BotConfig.GetSounds; + this.chkTextures.Checked = acc.LoginDetails.BotConfig.GetTextures; + this.chkTouchMidnightMania.Checked = acc.LoginDetails.BotConfig.TouchMidnightMania; + + this.cbAgentUpdate.Checked = acc.LoginDetails.SendAgentUpdatePacket; + this.cbGreetMaster.Checked = acc.LoginDetails.GreetMaster; + this.cbRelayConvos.Checked = acc.LoginDetails.RelayChatToIRC; + this.txtIRCChannel.Text = acc.LoginDetails.IRC_Settings.MainChannel; + this.txtIRCPort.Text = string.Concat(acc.LoginDetails.IRC_Settings.ServerPort); + this.txtIRCServer.Text = acc.LoginDetails.IRC_Settings.ServerHost; + this.txtIRCMaster.Text = acc.LoginDetails.IRC_Settings.Master; + } + + public BotAccount SelectedAccount + { + get + { + //ACCLIST + if (this.accList.SelectedItems.Count == 1) + { + return (BotAccount)this.accList.SelectedItems[0].Tag; + } + return null; + } + } + + private void cbGreetMaster_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.GreetMaster = cbGreetMaster.Checked; + this.SaveXmlAccounts(); + } + } + + private void cbAgentUpdate_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.SendAgentUpdatePacket = cbAgentUpdate.Checked; + this.SaveXmlAccounts(); + } + } + + private void cbRelayConvos_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.RelayChatToIRC = cbRelayConvos.Checked; + this.SaveXmlAccounts(); + } + } + + private void txtIRCMaster_TextChanged(object sender, EventArgs e) + { + this.SaveXmlAccounts(); + } + + private void txtIRCChannel_TextChanged(object sender, EventArgs e) + { + this.SaveXmlAccounts(); + } + + private void txtIRCPort_TextChanged(object sender, EventArgs e) + { + this.SaveXmlAccounts(); + } + + private void txtIRCServer_TextChanged(object sender, EventArgs e) + { + this.SaveXmlAccounts(); + } + + private void toolStripButton2_Click(object sender, EventArgs e) + { + this.saveAccountList.ShowDialog(); + } + + private void tsbLoad_Click(object sender, EventArgs e) + { + this.openAccountList.ShowDialog(); + //ACCLIST + this.DisableLoginControls(this.accList.Items.Count == 0); + } + + private void tsbAdd_Click(object sender, EventArgs e) + { + frmAddAccount account = new frmAddAccount(); + account.OnAddAccount += new frmAddAccount.AddAccountCallback(this.frmAddAcc_OnAddAccount); + account.Show(); + } + + private void tsbRemove_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.Delete(); + } + this.AutoSave(); + //ACCLIST + this.DisableLoginControls(this.accList.Items.Count == 0); + } + + private void tsbLogin_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.OnDialogScriptReceived -= botAccount_OnDialogScriptReceived; + this.SelectedAccount.Connect(); + } + } + + private void tsbLoginAll_Click(object sender, EventArgs e) + { + //ACCLIST + foreach (ListViewItem item in this.accList.Items) + { + BotAccount _bAcc = (BotAccount)item.Tag; + _bAcc.Connect(); + } + } + + private void tsbLogout_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.Disconnect(false); + } + } + + private void tsbLogoutAll_Click(object sender, EventArgs e) + { + //ACCLIST + + foreach (ListViewItem item in this.accList.Items) + { + BotAccount _bAcc = (BotAccount)item.Tag; + _bAcc.Disconnect(false); + } + } + + // Tabs disabled in new interface + /* + private void EnableInterfaces(bool enable) + { + tabControl.TabPages.Clear(); + tabControl.TabPages.Add(tabTools); + tabControl.TabPages.Add(tabConsole); + tabControl.TabPages.Add(tabBotSettings); + + if (enable) + { + lock (Interfaces) + { + foreach (TabPage page in Interfaces.Values) + { + tabControl.TabPages.Add(page); + } + } + } + } + + private void RegisterAllPlugins(Assembly assembly) + { + Interfaces.Clear(); + foreach (Type t in assembly.GetTypes()) + { + try + { + if (t.IsSubclassOf(typeof(Interface))) + { + ConstructorInfo[] infos = t.GetConstructors(); + Interface iface = (Interface)infos[0].Invoke(new object[] { this }); + if(iface==null) + MessageBox.Show("iface == null. Yell at N3X15 to fix his shit."); + RegisterPlugin(iface); + } + } + catch (Exception e) + { + MessageBox.Show(e.ToString()+"\nFUCK SALT"); + } + } + } + + private void RegisterPlugin(Interface iface) + { + if (this.SelectedAccount==null) + return; + TabPage page = new TabPage(); + tabControl.TabPages.Add(page); + + try + { + iface.Client = this.SelectedAccount.Client; + }catch(Exception e) + { + MessageBox.Show(e.Message); + return; + } + iface.TabPage = page; + + if (!Interfaces.ContainsKey(iface)) + { + lock (Interfaces) Interfaces.Add(iface, page); + } + + iface.Initialize(); + + page.Text = iface.Name; + page.ToolTipText = iface.Description; + }*/ + + private void cmdCrash_Click(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + if (this.SelectedAccount.ListItem.SubItems[1].Text.Equals(bot.Localization.clResourceManager.getText("botAccount.Online"))) + new frmCrasher(this.SelectedAccount.Client).Show(); + } + + private void frmMain_FormClosing(object sender, FormClosingEventArgs ev) + { + this.tsbLogoutAll_Click(sender, ev); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("bot.FormClosing")); + Environment.Exit(0); + //Application.Exit(); + /*try + { + webserver.Die(); + } + catch (Exception e) { }*/ + + } + + private void button1_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + new bot.GUI.frmObjects(this.SelectedAccount.Client).Show(); + } + } + + private void StartImport(int maxValue) + { + prgProgress.Visible = true; + prgProgress.Minimum = 0; + prgProgress.Value = 0; + prgProgress.Maximum = maxValue; + lblUploadStatus.Visible = true; + lblUploadStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Proceeding"), dlgImport.FileNames.Length.ToString()); + btnImport.Enabled = false; + } + + private void SetProgressValue(int value, int maxvalue) + { + prgProgress.Value = value; + lblUploadStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Uploaded"), value.ToString(), maxvalue.ToString()); + } + + private void StopImport() + { + prgProgress.Visible = false; + lblUploadStatus.Visible = false; + btnImport.Enabled = true; + } + + private void btnImport_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + DialogResult result; + + result = dlgImport.ShowDialog(); + + if (result == DialogResult.OK || result == DialogResult.Yes) + { + MessageBox.Show(String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Proceeding"), dlgImport.FileNames.Length.ToString())); + + SecondLifeBot _client = this.SelectedAccount.Client; + + Program.NBStats.AddStatData(String.Format("{0}: {1} importing {2} elements.", DateTime.Now.ToString(), _client.ToString(), dlgImport.FileNames.Length)); // STATISTICS + + Thread thImport = new Thread(delegate() + { + StartImportCallback s = new StartImportCallback(StartImport); + SetProgressValueCallback p = new SetProgressValueCallback(SetProgressValue); + StopImportCallback f = new StopImportCallback(StopImport); + int counter; + + counter = 0; + + this.Invoke(s, dlgImport.FileNames.Length); + + foreach (string filename in dlgImport.FileNames) + { + counter++; + + bot.Console.WriteLine(String.Format(bot.Localization.clResourceManager.getText("frmMain.btnImport.Importing"), filename)); + + string cmd = ""; + + if (filename.EndsWith(".xml")) + { + cmd = "import " + + " \"" + filename.Replace("\\", "/") + "\""; + } + else + { + cmd = "upload " + + " \"" + filename.Replace("\\", "/") + "\"" + + " " + + " \"" + filename.Replace("\\", "/") + "\""; + } + + _client.DoCommand(cmd, UUID.Zero, true); + + this.Invoke(p, counter, dlgImport.FileNames.Length); + System.Threading.Thread.Sleep(500); + } + + this.Invoke(f); + }); + thImport.IsBackground = true; + thImport.Name = "Import all"; + thImport.Start(); + } + } + } + + private void btnAbout_Click(object sender, EventArgs e) + { + new bot.GUI.frmAbout().Show(); + } + + private void btnConsole_Click(object sender, EventArgs e) + { + if (console == null) + { + console = new frmConsole(); + console.OnOutputSend += new frmConsole.OutputSendCallback(this.Console_OutPutSend); + } + if (console != null) + { + console.Show(); + console.Focus(); + } + } + + private void Console_OutPutSend(string message) + { + if (this.SelectedAccount.Client != null) + { + this.SelectedAccount.Client.DoCommand(message, UUID.Zero, true); + } + } + + private void frmMain_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmMain_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + private void OnApplicationExit(object sender, EventArgs e) + { + this.tsbLogoutAll_Click(sender, e); + Program.NBStats.AddStatData(String.Format("{0}: Natibot exiting.", DateTime.Now.ToString())); // STATISTICS + Program.NBStats.SendStatistics(); + } + + private void btnExit_Click(object sender, EventArgs e) + { + this.tsbLogoutAll_Click(sender, e); + bot.Console.WriteLine(bot.Localization.clResourceManager.getText("bot.ButtonClosing")); + Program.NBStats.AddStatData(String.Format("{0}: Natibot exiting.", DateTime.Now.ToString())); // STATISTICS + Program.NBStats.SendStatistics(); + //Application.Exit(); + Environment.Exit(0); + } + + private void cmbLanguage_SelectionChangeCommitted(object sender, EventArgs e) + { + bot.Localization.clResourceManager.setCurrentLanguage(cmbLanguage.SelectedItem.ToString()); + Program.NBStats.AddStatData(String.Format("{0}: Changed language to {1}.", DateTime.Now.ToString(), cmbLanguage.SelectedItem.ToString())); // STATISTICS + } + + private void cmbSkin_SelectionChangeCommitted(object sender, EventArgs e) + { + bot.Localization.clResourceManager.setSkin(cmbSkin.SelectedItem.ToString()); + Program.NBStats.AddStatData(String.Format("{0}: Skin changed to {1}.", DateTime.Now.ToString(), cmbSkin.SelectedItem.ToString())); // STATISTICS + } + + private void chkLogConsole_CheckedChanged(object sender, EventArgs e) + { + Program.setWriteConsoleToFileSetting(chkLogConsole.Checked); + } + + private void btnChat_Click(object sender, EventArgs e) + { + if (chat == null) + { + chat = new frmChat(); + } + if (chat != null) + { + chat.Show(); + chat.Focus(); + } + } + + private void btnMap_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + new bot.GUI.frmMap(this.SelectedAccount.Client).Show(); + } + } + + private void btnFriends_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + new bot.GUI.frmFriends(this.SelectedAccount.Client).Show(); + } + } + + private void btnGroups_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + new bot.GUI.frmGroups(this.SelectedAccount.Client).Show(); + } + } + + private void btnAvatars_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + new bot.GUI.frmAvatars(this.SelectedAccount.Client).Show(); + } + } + + private void chkLogChat_CheckedChanged(object sender, EventArgs e) + { + Program.setWriteChatToFileSetting(chkLogChat.Checked); + } + + private void chkAnimations_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.GetAnimations = this.chkAnimations.Checked; + this.SaveXmlAccounts(); + Program.NBStats.AddStatData(String.Format("{0}: {1} animations {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.chkAnimations.Checked)); // STATISTICS + } + } + + private void chkTextures_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.GetTextures = this.chkTextures.Checked; + this.SaveXmlAccounts(); + Program.NBStats.AddStatData(String.Format("{0}: {1} textures {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.chkTextures.Checked)); // STATISTICS + } + } + + private void chkSounds_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.GetSounds = this.chkSounds.Checked; + this.SaveXmlAccounts(); + Program.NBStats.AddStatData(String.Format("{0}: {1} sounds {2}", DateTime.Now.ToString(), this.SelectedAccount.LoginDetails.FullName, this.chkSounds.Checked)); // STATISTICS + } + } + + private void chkInventoryOffers_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.AcceptInventoryOffers = this.chkInventoryOffers.Checked; + this.SaveXmlAccounts(); + } + } + + private void chkInformFriends_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.InformFriends = this.chkInformFriends.Checked; + this.SaveXmlAccounts(); + } + } + + private void chkTouchMidnightMania_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.TouchMidnightMania = this.chkTouchMidnightMania.Checked; + this.SaveXmlAccounts(); + } + } + + private void chkHaveLuck_CheckedChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.SelectedAccount.LoginDetails.BotConfig.HaveLuck = this.chkHaveLuck.Checked; + this.SaveXmlAccounts(); + } + } + + private void btnInventory_Click(object sender, EventArgs e) + { + if ((this.SelectedAccount != null) && (this.SelectedAccount.Client != null)) + { + new bot.GUI.frmInventory(this.SelectedAccount.Client).Show(); + } + } + + private void accList_SelectedIndexChanged(object sender, EventArgs e) + { + if (this.SelectedAccount != null) + { + this.updateGUI(this.SelectedAccount); + } + + this.DisableControls(this.SelectedAccount == null); + } + } +} + diff --git a/SLBot/bot/GUI/frmMain.resx b/SLBot/bot/GUI/frmMain.resx new file mode 100644 index 0000000..ee353f2 --- /dev/null +++ b/SLBot/bot/GUI/frmMain.resx @@ -0,0 +1,2306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + AAAAAElFTkSuQmCC + + + + + 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 + RK5CYII= + + + + + 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 + riRSP861ygAAAABJRU5ErkJggg== + + + + 148, 17 + + + 268, 17 + + + True + + + 594, 17 + + + + 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 + srvWocAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + 379, 17 + + + 17, 17 + + + 676, 17 + + + All Asset Types|*.animatn;*.bodypart;*.callcard;*.clothing;*.gesture;*.landmark;*.lso;*.lsl;*.notecard;*.xml;*.simstate;*.ogg;*.wav;*.jpg;*.jp2;*.tga;*.unk|Animations|*.animatn|Body parts|*.bodypart|Calling cards|*.callcard|Clothings|*.clothing|Gestures|*.gesture|Landmarks|*.landmark|LSL Compiled Scripts|*.lso|LSL Scripts|*.lsl|Notecards|*.notecard|Objects|*.xml|SIM states|*.simstate|Vorbis sounds|*.ogg|Wave sounds|*.wav|JPEG Textures|*.jpg|JPEG2000 textures|*.jp2|Targa textures|*.tga|Unknown Assets|*.unk|All Files|*.* + + + + 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 + rkJggg== + + + + + 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 + 3b8BUFv2cF/yefgAAAAASUVORK5CYII= + + + + + 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 + gg== + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmMap.cs b/SLBot/bot/GUI/frmMap.cs new file mode 100644 index 0000000..3b7384e --- /dev/null +++ b/SLBot/bot/GUI/frmMap.cs @@ -0,0 +1,321 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmMap.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using System.Reflection; +using OpenMetaverse; +using System.Drawing.Imaging; +using System.Net; +using System.Timers; +using System.Diagnostics; +using OpenMetaverse.Imaging; +using OpenMetaverse.Assets; + +namespace bot.GUI +{ + public partial class frmMap : Form + { + private SecondLifeBot _client; + // = new GridClient(); + private UUID _MapImageID; + private Image _MapLayer; + private int px = 128; + private int py = 128; + private Simulator sim; + private Point mouse_offset; + + public frmMap(SecondLifeBot Client) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + + this._client = Client; + this.sim = this._client.Network.CurrentSim; + this._client.Grid.CoarseLocationUpdate += new EventHandler(this.Grid_CoarseLocationUpdate); + this._client.Network.SimChanged += new EventHandler(this.Network_SimChanged); + btnTeleport.Text = bot.Localization.clResourceManager.getText("frmMap.btnTeleport"); + lblSelectedPosition.Text = bot.Localization.clResourceManager.getText("frmMap.lblSelectedPosition"); + lblMapDownloading.Text = bot.Localization.clResourceManager.getText("frmMap.lblMapDownloading"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.btnTeleport.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.idle"); + this.btnTeleport.Image = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.idle"); + this.btnTeleport.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.onclick"); + this.btnTeleport.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmFriends.btnTeleport.onhover"); + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmMap"); + } + + private void Assets_OnImageReceived(TextureRequestState image, AssetTexture texture) + { + if (texture.AssetID == this._MapImageID) + { + ManagedImage nullImage; + OpenJPEG.DecodeToImage(texture.AssetData, out nullImage, out _MapLayer); + + this.BeginInvoke((MethodInvoker)delegate + { + this.UpdateMiniMap(sim); + }); + } + } + + private void Network_SimChanged(object sender, SimChangedEventArgs e) + { + this.BeginInvoke((MethodInvoker)delegate + { + this.GetMap(); + }); + } + + private void GetMap() + { + GridRegion region; + + if (this._MapLayer == null || this.sim != this._client.Network.CurrentSim) + { + + this.sim = this._client.Network.CurrentSim; + this.lblSim.Text = String.Format(bot.Localization.clResourceManager.getText("frmMap.lblSim"), this.sim.Name, this.sim.SimVersion.Remove(0, 18)); + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmMap.Text"), this.sim.Name); + + if (this._client.Grid.GetGridRegion(this._client.Network.CurrentSim.Name, GridLayerType.Objects, out region)) + { + _MapImageID = region.MapImageID; + this._client.Assets.RequestImage(_MapImageID, ImageType.Baked, this.Assets_OnImageReceived); + } + } + else + { + this.UpdateMiniMap(sim); + } + } + + private void UpdateMiniMap(Simulator sim) + { + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + this.UpdateMiniMap(sim); + }); + else + { + Bitmap bmp = this._MapLayer == null ? new Bitmap(256, 256) : (Bitmap)this._MapLayer.Clone(); + Graphics g = Graphics.FromImage(bmp); + + if (this._MapLayer == null) + { + g.Clear(this.BackColor); + g.FillRectangle(Brushes.White, 0f, 0f, 256f, 256f); + this.lblMapDownloading.Visible = true; + } + else + { + this.lblMapDownloading.Visible = false; + } + + // Rollback change from 9.2.1 + if (!this.sim.AvatarPositions.ContainsKey(this._client.Self.AgentID)) + return; + //if (sim.PositionIndexYou == -1 || sim.PositionIndexYou >= sim.AvatarPositions.Count) return; + + int i = 0; + + // Rollback change from 9.2.1 + Vector3 myPos = this.sim.AvatarPositions[this._client.Self.AgentID]; + //Vector3 myPos = sim.AvatarPositions[sim.PositionIndexYou]; + + // Rollback change from 9.2.1 + this._client.Network.CurrentSim.AvatarPositions.ForEach( + delegate(KeyValuePair pos) + { + int x = (int)pos.Value.X; + int y = 255 - (int)pos.Value.Y; + if (pos.Key != this._client.Self.AgentID) + { + //if (myPos.Z - (pos.Z * 4) > 5) + if (myPos.Z - pos.Value.Z > 20) + { + Point[] points = new Point[3] { new Point(x - 4, y + 4), new Point(x + 4, y + 4), new Point(x, y - 4) }; + g.FillPolygon(Brushes.DarkRed, points); + g.DrawPolygon(new Pen(Brushes.Red, 1), points); + } + else if (myPos.Z - pos.Value.Z > -21 && myPos.Z - pos.Value.Z < 21) + { + Rectangle rect = new Rectangle((int)Math.Round(pos.Value.X, 0) - 2, 255 - ((int)Math.Round(pos.Value.Y, 0) - 2), 7, 7); + g.FillEllipse(Brushes.LightGreen, rect); + g.DrawEllipse(new Pen(Brushes.Green, 1), rect); + } + else + { + Rectangle rect = new Rectangle((int)Math.Round(pos.Value.X, 0) - 2, 255 - ((int)Math.Round(pos.Value.Y, 0) - 2), 7, 7); + g.FillRectangle(Brushes.MediumBlue, rect); + g.DrawRectangle(new Pen(Brushes.Red, 1), rect); + } + } + else + { + Rectangle myrect = new Rectangle((int)Math.Round(this._client.Self.SimPosition.X, 0) - 2, 255 - ((int)Math.Round(this._client.Self.SimPosition.Y, 0) - 2), 7, 7); + g.FillEllipse(new SolidBrush(Color.Yellow), myrect); + g.DrawEllipse(new Pen(Brushes.Red, 3), myrect); + } + + i++; + } + ); + + myPos = this._client.Self.SimPosition; + //myPos = sim.AvatarPositions[this._client.Self.AgentID]; + + i = 0; + + g.DrawImage(bmp, 0, 0); + picMap.Image = bmp; + picMap.Cursor = Cursors.Cross; + + g.Dispose(); + + string strInfo = string.Format(bot.Localization.clResourceManager.getText("frmMap.lblAvatars"), this._client.Network.CurrentSim.AvatarPositions.Count); + lblAvatars.Text = strInfo; + + strInfo = string.Format("{0}/{1}/{2}/{3}", this._client.Network.CurrentSim.Name, + Math.Round(this._client.Self.SimPosition.X, 0), + Math.Round(this._client.Self.SimPosition.Y, 0), + Math.Round(this._client.Self.SimPosition.Z, 0)); + this.txtSLUrl.Text = "http://slurl.com/secondlife/" + strInfo; + ; + } + } + + private void Grid_CoarseLocationUpdate(object sencder, CoarseLocationUpdateEventArgs e) + { + this.BeginInvoke((MethodInvoker)delegate + { + this.UpdateMiniMap(e.Simulator); + }); + } + + private void frmMapClient_Load(object sender, EventArgs e) + { + this.GetMap(); + + Vector3 apos = this._client.Self.SimPosition; + float aZ = apos.Z; + + //printMap(); + nudX.Value = 128; + nudY.Value = 128; + nudZ.Value = (decimal)aZ; + } + + private void btnTeleport_Click(object sender, EventArgs e) + { + try + { + this._client.Netcom.Teleport(this._client.Network.CurrentSim.Name, new Vector3((float)nudX.Value, (float)nudY.Value, (float)nudY.Value)); + } + catch (Exception ex) + { + MessageBox.Show(bot.Localization.clResourceManager.getText("frmMap.TeleportError"), "Natibot"); + return; + } + } + + private void world_MouseUp(object sender, MouseEventArgs e) + { + px = e.X; + py = 255 - e.Y; + + nudX.Value = (decimal)px; + nudY.Value = (decimal)py; + nudZ.Value = (decimal)10; + + this.PlotSelected(e.X, e.Y); + + btnTeleport.Enabled = true; + } + + private void PlotSelected(int x, int y) + { + this.UpdateMiniMap(sim); + + Bitmap map = (Bitmap)picMap.Image; + Graphics g = Graphics.FromImage(map); + + Rectangle selectedrect = new Rectangle(x - 2, y - 2, 10, 10); + g.DrawEllipse(new Pen(Brushes.Red, 2), selectedrect); + this.picMap.Image = map; + + g.Dispose(); + } + + private void frmMapClient_FormClosing(object sender, FormClosingEventArgs e) + { + this._client.Grid.CoarseLocationUpdate -= this.Grid_CoarseLocationUpdate; + this._client.Network.SimChanged -= this.Network_SimChanged; + } + + private void frmMapClient_Enter(object sender, EventArgs e) + { + + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Close(); + } + + void frmMap_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + void frmMap_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + } +} diff --git a/SLBot/bot/GUI/frmMap.designer.cs b/SLBot/bot/GUI/frmMap.designer.cs new file mode 100644 index 0000000..f019e69 --- /dev/null +++ b/SLBot/bot/GUI/frmMap.designer.cs @@ -0,0 +1,267 @@ +namespace bot.GUI +{ + partial class frmMap + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMap)); + this.txtSLUrl = new System.Windows.Forms.TextBox(); + this.lblMapDownloading = new System.Windows.Forms.Label(); + this.lblZ = new System.Windows.Forms.Label(); + this.lblY = new System.Windows.Forms.Label(); + this.lblX = new System.Windows.Forms.Label(); + this.btnTeleport = new clControls.clImageButton(); + this.nudZ = new System.Windows.Forms.NumericUpDown(); + this.nudY = new System.Windows.Forms.NumericUpDown(); + this.nudX = new System.Windows.Forms.NumericUpDown(); + this.lblSelectedPosition = new System.Windows.Forms.Label(); + this.picMap = new System.Windows.Forms.PictureBox(); + this.lblAvatars = new System.Windows.Forms.Label(); + this.lblSim = new System.Windows.Forms.Label(); + this.btnClose = new clControls.clImageButton(); + ((System.ComponentModel.ISupportInitialize)(this.nudZ)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.nudY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.nudX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.picMap)).BeginInit(); + this.SuspendLayout(); + // + // txtSLUrl + // + this.txtSLUrl.BackColor = System.Drawing.Color.Black; + this.txtSLUrl.ForeColor = System.Drawing.Color.White; + this.txtSLUrl.Location = new System.Drawing.Point(19, 335); + this.txtSLUrl.Name = "txtSLUrl"; + this.txtSLUrl.ReadOnly = true; + this.txtSLUrl.Size = new System.Drawing.Size(279, 20); + this.txtSLUrl.TabIndex = 12; + // + // lblMapDownloading + // + this.lblMapDownloading.BackColor = System.Drawing.Color.Transparent; + this.lblMapDownloading.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lblMapDownloading.ForeColor = System.Drawing.Color.White; + this.lblMapDownloading.Location = new System.Drawing.Point(99, 150); + this.lblMapDownloading.Name = "lblMapDownloading"; + this.lblMapDownloading.Size = new System.Drawing.Size(111, 37); + this.lblMapDownloading.TabIndex = 11; + this.lblMapDownloading.Text = "MAP downloading..."; + this.lblMapDownloading.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblZ + // + this.lblZ.AutoSize = true; + this.lblZ.BackColor = System.Drawing.Color.Transparent; + this.lblZ.ForeColor = System.Drawing.Color.White; + this.lblZ.Location = new System.Drawing.Point(142, 382); + this.lblZ.Name = "lblZ"; + this.lblZ.Size = new System.Drawing.Size(14, 13); + this.lblZ.TabIndex = 10; + this.lblZ.Text = "Z"; + // + // lblY + // + this.lblY.AutoSize = true; + this.lblY.BackColor = System.Drawing.Color.Transparent; + this.lblY.ForeColor = System.Drawing.Color.White; + this.lblY.Location = new System.Drawing.Point(82, 382); + this.lblY.Name = "lblY"; + this.lblY.Size = new System.Drawing.Size(14, 13); + this.lblY.TabIndex = 9; + this.lblY.Text = "Y"; + // + // lblX + // + this.lblX.AutoSize = true; + this.lblX.BackColor = System.Drawing.Color.Transparent; + this.lblX.ForeColor = System.Drawing.Color.White; + this.lblX.Location = new System.Drawing.Point(21, 382); + this.lblX.Name = "lblX"; + this.lblX.Size = new System.Drawing.Size(14, 13); + this.lblX.TabIndex = 8; + this.lblX.Text = "X"; + // + // btnTeleport + // + this.btnTeleport.Location = new System.Drawing.Point(216, 375); + this.btnTeleport.Name = "btnTeleport"; + this.btnTeleport.Size = new System.Drawing.Size(75, 23); + this.btnTeleport.TabIndex = 6; + this.btnTeleport.Text = "Teleport"; + this.btnTeleport.Click += new System.EventHandler(this.btnTeleport_Click); + this.btnTeleport.BackColor = System.Drawing.Color.Transparent; + // + // nudZ + // + this.nudZ.BackColor = System.Drawing.Color.Black; + this.nudZ.ForeColor = System.Drawing.Color.White; + this.nudZ.Location = new System.Drawing.Point(159, 378); + this.nudZ.Maximum = new decimal(new int[] { + 10000, + 0, + 0, + 0}); + this.nudZ.Name = "nudZ"; + this.nudZ.Size = new System.Drawing.Size(51, 20); + this.nudZ.TabIndex = 5; + // + // nudY + // + this.nudY.BackColor = System.Drawing.Color.Black; + this.nudY.ForeColor = System.Drawing.Color.White; + this.nudY.Location = new System.Drawing.Point(99, 378); + this.nudY.Maximum = new decimal(new int[] { + 256, + 0, + 0, + 0}); + this.nudY.Name = "nudY"; + this.nudY.Size = new System.Drawing.Size(39, 20); + this.nudY.TabIndex = 4; + // + // nudX + // + this.nudX.BackColor = System.Drawing.Color.Black; + this.nudX.ForeColor = System.Drawing.Color.White; + this.nudX.Location = new System.Drawing.Point(39, 378); + this.nudX.Maximum = new decimal(new int[] { + 256, + 0, + 0, + 0}); + this.nudX.Name = "nudX"; + this.nudX.Size = new System.Drawing.Size(39, 20); + this.nudX.TabIndex = 3; + // + // lblSelectedPosition + // + this.lblSelectedPosition.AutoSize = true; + this.lblSelectedPosition.BackColor = System.Drawing.Color.Transparent; + this.lblSelectedPosition.ForeColor = System.Drawing.Color.White; + this.lblSelectedPosition.Location = new System.Drawing.Point(19, 362); + this.lblSelectedPosition.Name = "lblSelectedPosition"; + this.lblSelectedPosition.Size = new System.Drawing.Size(91, 13); + this.lblSelectedPosition.TabIndex = 2; + this.lblSelectedPosition.Text = "Selected position:"; + // + // picMap + // + this.picMap.BackColor = System.Drawing.Color.Transparent; + this.picMap.Location = new System.Drawing.Point(19, 49); + this.picMap.Name = "picMap"; + this.picMap.Size = new System.Drawing.Size(279, 256); + this.picMap.TabIndex = 0; + this.picMap.TabStop = false; + this.picMap.MouseUp += new System.Windows.Forms.MouseEventHandler(this.world_MouseUp); + // + // lblAvatars + // + this.lblAvatars.AutoSize = true; + this.lblAvatars.BackColor = System.Drawing.Color.Transparent; + this.lblAvatars.ForeColor = System.Drawing.Color.White; + this.lblAvatars.Location = new System.Drawing.Point(19, 319); + this.lblAvatars.Name = "lblAvatars"; + this.lblAvatars.Size = new System.Drawing.Size(43, 13); + this.lblAvatars.TabIndex = 13; + this.lblAvatars.Text = "Avatars"; + // + // lblSim + // + this.lblSim.AutoSize = true; + this.lblSim.BackColor = System.Drawing.Color.Transparent; + this.lblSim.ForeColor = System.Drawing.Color.White; + this.lblSim.Location = new System.Drawing.Point(19, 33); + this.lblSim.Name = "lblSim"; + this.lblSim.Size = new System.Drawing.Size(70, 13); + this.lblSim.TabIndex = 14; + this.lblSim.Text = "Simulator info"; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(274, 12); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 15; + this.btnClose.Text = "button1"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // frmMap + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmMap"); + this.ClientSize = new System.Drawing.Size(320, 435); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.lblSim); + this.Controls.Add(this.lblAvatars); + this.Controls.Add(this.txtSLUrl); + this.Controls.Add(this.lblMapDownloading); + this.Controls.Add(this.picMap); + this.Controls.Add(this.lblZ); + this.Controls.Add(this.lblSelectedPosition); + this.Controls.Add(this.lblY); + this.Controls.Add(this.nudX); + this.Controls.Add(this.lblX); + this.Controls.Add(this.nudY); + this.Controls.Add(this.btnTeleport); + this.Controls.Add(this.nudZ); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmMap"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Map"; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmMap_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmMap_MouseMove); + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmMapClient_Load); + this.Enter += new System.EventHandler(this.frmMapClient_Enter); + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMapClient_FormClosing); + ((System.ComponentModel.ISupportInitialize)(this.nudZ)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.nudY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.nudX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.picMap)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.Windows.Forms.PictureBox picMap; + private System.Windows.Forms.Label lblSelectedPosition; + private System.Windows.Forms.NumericUpDown nudX; + private System.Windows.Forms.NumericUpDown nudY; + private System.Windows.Forms.NumericUpDown nudZ; + private clControls.clImageButton btnTeleport; + private System.Windows.Forms.Label lblZ; + private System.Windows.Forms.Label lblY; + private System.Windows.Forms.Label lblX; + private System.Windows.Forms.Label lblMapDownloading; + private System.Windows.Forms.TextBox txtSLUrl; + private System.Windows.Forms.Label lblAvatars; + private System.Windows.Forms.Label lblSim; + private clControls.clImageButton btnClose; + } +} + diff --git a/SLBot/bot/GUI/frmMap.resx b/SLBot/bot/GUI/frmMap.resx new file mode 100644 index 0000000..0f4d352 --- /dev/null +++ b/SLBot/bot/GUI/frmMap.resx @@ -0,0 +1,3960 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEAAACxABrSO9dQAA9UFJREFUeF7s/fezZdX1 + 5Ylm5nXHXH/TQCbpDUl6C4lNvEeAhEdCwkqAEEKAEBIgnEB4hLz/uqrq6i7zqrvq21UdFR3d/eK9jnjx + Xsf7j9YbnzHn2mffmzctIKGK98OOc+8x++yz11xjjTnnmHMtKWVJOdXjzVffKP/+P/yX8s//+X8r//BP + /6784U//uvzxz/+9jnjk/3rEc4P/f/eHfzXvdd73+z/+d83R/uxif/PeP3C0vuPT/N2+tk9znsU+W3+r + r/kzut7P8jzt+75wXP5S18z3cvz29//Sj7//Y/zfvrYT/c3nfvnrfyivvPpO+ehnvy8f63j/g1+Vn7z9 + UfnBD18v773/q/LBR78t777/y/LeB78uP/v5n8onv/iz3/vhR78r77z3S/39h/L+h78uP333F+XHP/5p + +ebj3y3f/8GPy0/e+ljv/2P5+S//XD78OM7Bud557xf6zr8vv/ndv9DxT75e/v71b/+p/Oo3/6jz/8mf + 4zNv//ST8vY7n+h6Pi5v6Xj7nZ/7fw6+7z1d68ef/KG8q+vg3FzXz3/5d+UXv/q7PDf3Je5N+758lnbw + 39K5fif7ef+j35f7v/FMGZvYcsqYJvQ7dQDkvbd95Ynyr//Nfyr/w7/95/Knv/vvy29+jyH8Sz/+/k9M + eIFaPvK8DdvG/S/92h//LoCRR/73+/W6X9Pz9e/Ba/9SxvUPMq4/2sgxwN/+/l/kuQS+9XwJuPXcf9S1 + 1YPr5DDo5XdwPb/9w79orqt+X3y+fjau85ij/V0Lvnfh76kLwRfpsf7Weq3ta6vj8Hlebx1jxuDXv/1H + gcYfNPn/JCD4Tfm1gOX3f8SeNDZ69N9+roJkfObjT35f3nzrw/LQw4+Xhx95srzw4qvlme/90P/fcef9 + 5anvPFeee/7l8vIrb5VXX3vXwMjx49feKW/85IPyo5d/IjD6WXn73Z/5+Rd/9Hq5596vl+989wWDIO/j + eO319/ze1994398HgL3y6k/9mXfeBdR+JoD8RXnjzQ/Kc99/pbz6+rvluedeKt/93ovl2edfKs/ruRde + fC2uQ69xjrd++rGvn9/9roDwg49/Uz7S/7/41Z9l33+ne/CPtnGO+rvbY/aXGKPPc/w/j3N/osXjrvuf + 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 + S7juq4wAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmObjects.Designer.cs b/SLBot/bot/GUI/frmObjects.Designer.cs new file mode 100644 index 0000000..9cee6bf --- /dev/null +++ b/SLBot/bot/GUI/frmObjects.Designer.cs @@ -0,0 +1,472 @@ +namespace bot.GUI +{ + partial class frmObjects + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.lblStatus = new System.Windows.Forms.Label(); + this.btnRefresh = new clControls.clImageButton(); + this.lblObjects = new System.Windows.Forms.Label(); + this.btnExport = new clControls.clImageButton(); + this.btnExportAll = new clControls.clImageButton(); + this.chkRefresh = new System.Windows.Forms.CheckBox(); + this.cmsObjects = new System.Windows.Forms.ContextMenuStrip(); + this.copyToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.namesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.uUIDsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.locationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.sitOnItToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.firstSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.allSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.touchThemToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.buyThemToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.requestTakeToInventoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.objectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.particlesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.objectAndParticlesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tmrRefreshTimer = new System.Windows.Forms.Timer(); + this.prgExporting = new System.Windows.Forms.ProgressBar(); + this.txtMeters = new System.Windows.Forms.TextBox(); + this.lblDistance = new System.Windows.Forms.Label(); + this.txtSearch = new System.Windows.Forms.TextBox(); + this.btnSearch = new clControls.clImageButton(); + this.lblSearch = new System.Windows.Forms.Label(); + this.lblfrmObjects = new System.Windows.Forms.Label(); + this.btnClose = new clControls.clImageButton(); + this.lstObjects = new bot.GUI.ObjectList(); + this.cmsObjects.SuspendLayout(); + this.SuspendLayout(); + // + // lblStatus + // + this.lblStatus.AutoSize = true; + this.lblStatus.BackColor = System.Drawing.Color.Transparent; + this.lblStatus.ForeColor = System.Drawing.Color.White; + this.lblStatus.Location = new System.Drawing.Point(30, 411); + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(35, 13); + this.lblStatus.TabIndex = 1; + this.lblStatus.Text = "label1"; + // + // btnRefresh + // + this.btnRefresh.BackColor = System.Drawing.Color.Transparent; + this.btnRefresh.ButtonBitmap = null; + this.btnRefresh.ButtonState = clControls.ButtonState.Normal; + this.btnRefresh.DisabledBitmap = null; + this.btnRefresh.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnRefresh.idle"); + this.btnRefresh.Location = new System.Drawing.Point(115, 370); + this.btnRefresh.Name = "btnRefresh"; + this.btnRefresh.OnMouseClickBitmap = null; + this.btnRefresh.OnMouseOverBitmap = null; + this.btnRefresh.Size = new System.Drawing.Size(75, 23); + this.btnRefresh.TabIndex = 2; + this.btnRefresh.TabStop = false; + this.btnRefresh.Text = "Refresh"; + this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); + // + // lblObjects + // + this.lblObjects.AutoSize = true; + this.lblObjects.BackColor = System.Drawing.Color.Transparent; + this.lblObjects.ForeColor = System.Drawing.Color.White; + this.lblObjects.Location = new System.Drawing.Point(9, 398); + this.lblObjects.Name = "lblObjects"; + this.lblObjects.Size = new System.Drawing.Size(0, 13); + this.lblObjects.TabIndex = 3; + // + // btnExport + // + this.btnExport.BackColor = System.Drawing.Color.Transparent; + this.btnExport.ButtonBitmap = null; + this.btnExport.ButtonState = clControls.ButtonState.Normal; + this.btnExport.DisabledBitmap = null; + this.btnExport.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnExport.idle"); + this.btnExport.Location = new System.Drawing.Point(196, 370); + this.btnExport.Name = "btnExport"; + this.btnExport.OnMouseClickBitmap = null; + this.btnExport.OnMouseOverBitmap = null; + this.btnExport.Size = new System.Drawing.Size(75, 23); + this.btnExport.TabIndex = 4; + this.btnExport.TabStop = false; + this.btnExport.Text = "Export"; + this.btnExport.Click += new System.EventHandler(this.btnExport_Click); + // + // btnExportAll + // + this.btnExportAll.BackColor = System.Drawing.Color.Transparent; + this.btnExportAll.ButtonBitmap = null; + this.btnExportAll.ButtonState = clControls.ButtonState.Normal; + this.btnExportAll.DisabledBitmap = null; + this.btnExportAll.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnExportAll.idle"); + this.btnExportAll.Location = new System.Drawing.Point(277, 370); + this.btnExportAll.Name = "btnExportAll"; + this.btnExportAll.OnMouseClickBitmap = null; + this.btnExportAll.OnMouseOverBitmap = null; + this.btnExportAll.Size = new System.Drawing.Size(75, 23); + this.btnExportAll.TabIndex = 5; + this.btnExportAll.TabStop = false; + this.btnExportAll.Text = "Export All"; + this.btnExportAll.Click += new System.EventHandler(this.btnExportAll_Click); + // + // chkRefresh + // + this.chkRefresh.AutoSize = true; + this.chkRefresh.BackColor = System.Drawing.Color.Transparent; + this.chkRefresh.Checked = true; + this.chkRefresh.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkRefresh.ForeColor = System.Drawing.Color.White; + this.chkRefresh.Location = new System.Drawing.Point(358, 374); + this.chkRefresh.Name = "chkRefresh"; + this.chkRefresh.Size = new System.Drawing.Size(150, 17); + this.chkRefresh.TabIndex = 6; + this.chkRefresh.Text = "Refresh every 10 seconds"; + this.chkRefresh.UseVisualStyleBackColor = false; + this.chkRefresh.CheckedChanged += new System.EventHandler(this.chkRefresh_CheckedChanged); + // + // cmsObjects + // + this.cmsObjects.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.copyToClipboardToolStripMenuItem, + this.toolStripSeparator1, + this.sitOnItToolStripMenuItem, + this.touchThemToolStripMenuItem, + this.buyThemToolStripMenuItem, + this.requestTakeToInventoryToolStripMenuItem, + this.toolStripSeparator2, + this.exportToolStripMenuItem}); + this.cmsObjects.Name = "cmsObjects"; + this.cmsObjects.Size = new System.Drawing.Size(209, 148); + // + // copyToClipboardToolStripMenuItem + // + this.copyToClipboardToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.namesToolStripMenuItem, + this.uUIDsToolStripMenuItem, + this.locationsToolStripMenuItem}); + this.copyToClipboardToolStripMenuItem.Name = "copyToClipboardToolStripMenuItem"; + this.copyToClipboardToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.copyToClipboardToolStripMenuItem.Text = "Copy to clipboard"; + // + // namesToolStripMenuItem + // + this.namesToolStripMenuItem.Name = "namesToolStripMenuItem"; + this.namesToolStripMenuItem.Size = new System.Drawing.Size(125, 22); + this.namesToolStripMenuItem.Text = "Names"; + this.namesToolStripMenuItem.Click += new System.EventHandler(this.namesToolStripMenuItem_Click); + // + // uUIDsToolStripMenuItem + // + this.uUIDsToolStripMenuItem.Name = "uUIDsToolStripMenuItem"; + this.uUIDsToolStripMenuItem.Size = new System.Drawing.Size(125, 22); + this.uUIDsToolStripMenuItem.Text = "UUIDs"; + this.uUIDsToolStripMenuItem.Click += new System.EventHandler(this.UUIDsToolStripMenuItem_Click); + // + // locationsToolStripMenuItem + // + this.locationsToolStripMenuItem.Name = "locationsToolStripMenuItem"; + this.locationsToolStripMenuItem.Size = new System.Drawing.Size(125, 22); + this.locationsToolStripMenuItem.Text = "Locations"; + this.locationsToolStripMenuItem.Click += new System.EventHandler(this.locationsToolStripMenuItem_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(205, 6); + // + // sitOnItToolStripMenuItem + // + this.sitOnItToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.firstSelectedToolStripMenuItem, + this.allSelectedToolStripMenuItem}); + this.sitOnItToolStripMenuItem.Name = "sitOnItToolStripMenuItem"; + this.sitOnItToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.sitOnItToolStripMenuItem.Text = "Sit on"; + // + // firstSelectedToolStripMenuItem + // + this.firstSelectedToolStripMenuItem.Name = "firstSelectedToolStripMenuItem"; + this.firstSelectedToolStripMenuItem.Size = new System.Drawing.Size(142, 22); + this.firstSelectedToolStripMenuItem.Text = "First selected"; + this.firstSelectedToolStripMenuItem.Click += new System.EventHandler(this.firstSelectedToolStripMenuItem_Click); + // + // allSelectedToolStripMenuItem + // + this.allSelectedToolStripMenuItem.Name = "allSelectedToolStripMenuItem"; + this.allSelectedToolStripMenuItem.Size = new System.Drawing.Size(142, 22); + this.allSelectedToolStripMenuItem.Text = "All selected"; + this.allSelectedToolStripMenuItem.Click += new System.EventHandler(this.allSelectedToolStripMenuItem_Click); + // + // touchThemToolStripMenuItem + // + this.touchThemToolStripMenuItem.Name = "touchThemToolStripMenuItem"; + this.touchThemToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.touchThemToolStripMenuItem.Text = "Touch them"; + this.touchThemToolStripMenuItem.Click += new System.EventHandler(this.touchThemToolStripMenuItem_Click); + // + // buyThemToolStripMenuItem + // + this.buyThemToolStripMenuItem.Name = "buyThemToolStripMenuItem"; + this.buyThemToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.buyThemToolStripMenuItem.Text = "Buy them"; + this.buyThemToolStripMenuItem.Click += new System.EventHandler(this.buyThemToolStripMenuItem_Click); + // + // requestTakeToInventoryToolStripMenuItem + // + this.requestTakeToInventoryToolStripMenuItem.Name = "requestTakeToInventoryToolStripMenuItem"; + this.requestTakeToInventoryToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.requestTakeToInventoryToolStripMenuItem.Text = "Request take to inventory"; + this.requestTakeToInventoryToolStripMenuItem.Click += new System.EventHandler(this.requestTakeToInventoryToolStripMenuItem_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(205, 6); + // + // exportToolStripMenuItem + // + this.exportToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.objectToolStripMenuItem, + this.particlesToolStripMenuItem, + this.objectAndParticlesToolStripMenuItem}); + this.exportToolStripMenuItem.Name = "exportToolStripMenuItem"; + this.exportToolStripMenuItem.Size = new System.Drawing.Size(208, 22); + this.exportToolStripMenuItem.Text = "Export"; + // + // objectToolStripMenuItem + // + this.objectToolStripMenuItem.Name = "objectToolStripMenuItem"; + this.objectToolStripMenuItem.Size = new System.Drawing.Size(179, 22); + this.objectToolStripMenuItem.Text = "Objects"; + this.objectToolStripMenuItem.Click += new System.EventHandler(this.objectToolStripMenuItem_Click); + // + // particlesToolStripMenuItem + // + this.particlesToolStripMenuItem.Name = "particlesToolStripMenuItem"; + this.particlesToolStripMenuItem.Size = new System.Drawing.Size(179, 22); + this.particlesToolStripMenuItem.Text = "Particles"; + this.particlesToolStripMenuItem.Click += new System.EventHandler(this.particlesToolStripMenuItem_Click); + // + // objectAndParticlesToolStripMenuItem + // + this.objectAndParticlesToolStripMenuItem.Name = "objectAndParticlesToolStripMenuItem"; + this.objectAndParticlesToolStripMenuItem.Size = new System.Drawing.Size(179, 22); + this.objectAndParticlesToolStripMenuItem.Text = "Object and particles"; + this.objectAndParticlesToolStripMenuItem.Click += new System.EventHandler(this.objectAndParticlesToolStripMenuItem_Click); + // + // tmrRefreshTimer + // + this.tmrRefreshTimer.Enabled = true; + this.tmrRefreshTimer.Interval = 120000; + this.tmrRefreshTimer.Tick += new System.EventHandler(this.tmrRefreshTimer_Tick); + // + // prgExporting + // + this.prgExporting.Location = new System.Drawing.Point(33, 427); + this.prgExporting.Name = "prgExporting"; + this.prgExporting.Size = new System.Drawing.Size(461, 16); + this.prgExporting.TabIndex = 7; + this.prgExporting.Visible = false; + // + // txtMeters + // + this.txtMeters.BackColor = System.Drawing.Color.Black; + this.txtMeters.ForeColor = System.Drawing.Color.White; + this.txtMeters.Location = new System.Drawing.Point(62, 370); + this.txtMeters.Name = "txtMeters"; + this.txtMeters.Size = new System.Drawing.Size(47, 20); + this.txtMeters.TabIndex = 8; + this.txtMeters.TextChanged += new System.EventHandler(this.txtMeters_TextChanged); + // + // lblDistance + // + this.lblDistance.AutoSize = true; + this.lblDistance.BackColor = System.Drawing.Color.Transparent; + this.lblDistance.ForeColor = System.Drawing.Color.White; + this.lblDistance.Location = new System.Drawing.Point(12, 373); + this.lblDistance.Name = "lblDistance"; + this.lblDistance.Size = new System.Drawing.Size(49, 13); + this.lblDistance.TabIndex = 9; + this.lblDistance.Text = "Distance"; + // + // txtSearch + // + this.txtSearch.BackColor = System.Drawing.Color.Black; + this.txtSearch.ForeColor = System.Drawing.Color.White; + this.txtSearch.Location = new System.Drawing.Point(62, 344); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(370, 20); + this.txtSearch.TabIndex = 10; + // + // btnSearch + // + this.btnSearch.BackColor = System.Drawing.Color.Transparent; + this.btnSearch.ButtonBitmap = null; + this.btnSearch.ButtonState = clControls.ButtonState.Normal; + this.btnSearch.DisabledBitmap = null; + this.btnSearch.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnFindNext.idle"); + this.btnSearch.Location = new System.Drawing.Point(438, 342); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.OnMouseClickBitmap = null; + this.btnSearch.OnMouseOverBitmap = null; + this.btnSearch.Size = new System.Drawing.Size(75, 23); + this.btnSearch.TabIndex = 11; + this.btnSearch.TabStop = false; + this.btnSearch.Text = "Find next"; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // lblSearch + // + this.lblSearch.AutoSize = true; + this.lblSearch.BackColor = System.Drawing.Color.Transparent; + this.lblSearch.ForeColor = System.Drawing.Color.White; + this.lblSearch.Location = new System.Drawing.Point(12, 347); + this.lblSearch.Name = "lblSearch"; + this.lblSearch.Size = new System.Drawing.Size(44, 13); + this.lblSearch.TabIndex = 12; + this.lblSearch.Text = "Search:"; + // + // lblfrmObjects + // + this.lblfrmObjects.AutoSize = true; + this.lblfrmObjects.BackColor = System.Drawing.Color.Transparent; + this.lblfrmObjects.Font = new System.Drawing.Font("Lucida Handwriting", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblfrmObjects.ForeColor = System.Drawing.Color.White; + this.lblfrmObjects.Location = new System.Drawing.Point(29, 9); + this.lblfrmObjects.Name = "lblfrmObjects"; + this.lblfrmObjects.Size = new System.Drawing.Size(69, 19); + this.lblfrmObjects.TabIndex = 13; + this.lblfrmObjects.Text = "Objects"; + // + // btnClose + // + this.btnClose.BackColor = System.Drawing.Color.Transparent; + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Location = new System.Drawing.Point(470, 12); + this.btnClose.Name = "btnClose"; + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 14; + this.btnClose.TabStop = false; + this.btnClose.Text = "X"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // lstObjects + // + this.lstObjects.BackColor = System.Drawing.Color.Black; + this.lstObjects.Client = null; + this.lstObjects.ContextMenuStrip = this.cmsObjects; + this.lstObjects.ForeColor = System.Drawing.Color.White; + this.lstObjects.FullRowSelect = true; + this.lstObjects.Location = new System.Drawing.Point(12, 47); + this.lstObjects.Name = "lstObjects"; + this.lstObjects.Size = new System.Drawing.Size(501, 291); + this.lstObjects.Sorting = System.Windows.Forms.SortOrder.Ascending; + this.lstObjects.TabIndex = 0; + this.lstObjects.UseCompatibleStateImageBehavior = false; + this.lstObjects.View = System.Windows.Forms.View.Details; + // + // frmObjects + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmObjects"); + this.ClientSize = new System.Drawing.Size(525, 455); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.lblfrmObjects); + this.Controls.Add(this.lblSearch); + this.Controls.Add(this.btnSearch); + this.Controls.Add(this.txtSearch); + this.Controls.Add(this.lblDistance); + this.Controls.Add(this.txtMeters); + this.Controls.Add(this.prgExporting); + this.Controls.Add(this.chkRefresh); + this.Controls.Add(this.btnExportAll); + this.Controls.Add(this.btnExport); + this.Controls.Add(this.lblObjects); + this.Controls.Add(this.btnRefresh); + this.Controls.Add(this.lblStatus); + this.Controls.Add(this.lstObjects); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmObjects"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Objects"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmObjects_Load); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmObjects_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmObjects_MouseMove); + this.cmsObjects.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lblStatus; + private clControls.clImageButton btnRefresh; + private System.Windows.Forms.Label lblObjects; + private clControls.clImageButton btnExport; + private clControls.clImageButton btnExportAll; + private System.Windows.Forms.CheckBox chkRefresh; + private System.Windows.Forms.Timer tmrRefreshTimer; + private System.Windows.Forms.ProgressBar prgExporting; + private System.Windows.Forms.TextBox txtMeters; + private System.Windows.Forms.Label lblDistance; + private System.Windows.Forms.TextBox txtSearch; + private clControls.clImageButton btnSearch; + private System.Windows.Forms.Label lblSearch; + private System.Windows.Forms.Label lblfrmObjects; + private clControls.clImageButton btnClose; + private System.Windows.Forms.ContextMenuStrip cmsObjects; + private System.Windows.Forms.ToolStripMenuItem copyToClipboardToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem namesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem uUIDsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem locationsToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripMenuItem sitOnItToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem firstSelectedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem allSelectedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem touchThemToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem buyThemToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem requestTakeToInventoryToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem exportToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem objectToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem particlesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem objectAndParticlesToolStripMenuItem; + private bot.GUI.ObjectList lstObjects; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmObjects.cs b/SLBot/bot/GUI/frmObjects.cs new file mode 100644 index 0000000..edb17e5 --- /dev/null +++ b/SLBot/bot/GUI/frmObjects.cs @@ -0,0 +1,760 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmObjects.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using bot; +using bot.Objects; +using OpenMetaverse; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using System.IO; +using System.Threading; +using clControls; +using System.Text; + +namespace bot.GUI +{ + public partial class frmObjects : Form + { + private SecondLifeBot client; + private bool firsttick = true; + + private delegate void StartExportCallback(int maxvalue); + + private delegate void SetProgressValueCallback(int value,int maxvalue); + + private delegate void StopExportCallback(bool oldtimer); + + private Point mouse_offset; + private int LastFound; + + private struct ObjectInSim + { + public string Name; + public string ID; + public string Location; + } + + public frmObjects(SecondLifeBot client) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.InitializeComponent(); + + this.client = client; + this.client.Network.Disconnected += this.Network_OnDisconnected; + + //Puts language resources + this.btnRefresh.Text = bot.Localization.clResourceManager.getText("frmObjects.btnRefresh"); + this.btnExport.Text = bot.Localization.clResourceManager.getText("frmObjects.btnExport"); + this.btnExportAll.Text = bot.Localization.clResourceManager.getText("frmObjects.btnExportAll"); + this.chkRefresh.Text = bot.Localization.clResourceManager.getText("frmObjects.chkRefresh"); + this.lblDistance.Text = bot.Localization.clResourceManager.getText("frmObjects.lblDistance"); + this.Text = bot.Localization.clResourceManager.getText("frmObjects.Text"); + this.lblfrmObjects.Text = bot.Localization.clResourceManager.getText("frmObjects.Text") + " - " + client.ToString(); + this.copyToClipboardToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.copyToClipboardToolStripMenuItem"); + this.namesToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.namesToolStripMenuItem"); + this.uUIDsToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.UUIDsToolStripMenuItem"); + this.locationsToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.locationsToolStripMenuItem"); + this.sitOnItToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.sitOnItToolStripMenuItem"); + this.touchThemToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.touchThemToolStripMenuItem"); + this.firstSelectedToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.firstSelectedToolStripMenuItem"); + this.allSelectedToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.allSelectedToolStripMenuItem"); + this.buyThemToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.buyThemToolStripMenuItem"); + this.exportToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.exportToolStripMenuItem"); + this.objectToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.objectToolStripMenuItem"); + this.particlesToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.particlesToolStripMenuItem"); + this.objectAndParticlesToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.objectAndParticlesToolStripMenuItem"); + this.requestTakeToInventoryToolStripMenuItem.Text = bot.Localization.clResourceManager.getText("frmObjects.requestTakeToInventoryToolStripMenuItem"); + //Ends putting language resources + + //Starts putting buttons + this.btnExport.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnExport.idle"); + this.btnExport.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnExport.idle"); + this.btnExport.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnExport.onclick"); + this.btnExport.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnExport.onhover"); + this.btnExportAll.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnExportAll.idle"); + this.btnExportAll.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnExportAll.idle"); + this.btnExportAll.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnExportAll.onclick"); + this.btnExportAll.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnExportAll.onhover"); + this.btnRefresh.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnRefresh.idle"); + this.btnRefresh.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnRefresh.idle"); + this.btnRefresh.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnRefresh.onclick"); + this.btnRefresh.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnRefresh.onhover"); + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + this.btnSearch.ButtonBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnFindNext.idle"); + this.btnSearch.Image = bot.Localization.clResourceManager.getButton("frmObjects.btnFindNext.idle"); + this.btnSearch.OnMouseClickBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnFindNext.onclick"); + this.btnSearch.OnMouseOverBitmap = bot.Localization.clResourceManager.getButton("frmObjects.btnFindNext.onhover"); + //Ends putting buttons + + this.Icon = bot.Localization.clResourceManager.getIcon(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmObjects"); + lstObjects.Client = this.client; + lstObjects.OnObjectAdded += new ObjectList.ObjectCallback(lstObjects_OnObjectAdded); + lstObjects.OnObjectPropertiesUpdated += new ObjectList.ObjectCallback(lstObjects_OnObjectPropertiesUpdated); + lstObjects.OnObjectUpdated += new ObjectList.ObjectCallback(lstObjects_OnObjectUpdated); + } + + void lstObjects_OnObjectUpdated(TrackedObject trackedObject) + { + lblStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmObjects.Status.NewObject"), trackedObject.ID); + } + + void lstObjects_OnObjectPropertiesUpdated(TrackedObject trackedObject) + { + lblStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmObjects.Status.GotName"), trackedObject.ID); + } + + void lstObjects_OnObjectAdded(TrackedObject trackedObject) + { + lblStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmObjects.Status.Object"), trackedObject.ID); + } + + private void frmObjects_Load(object sender, EventArgs e) + { + lstObjects.InitializateObjects(); + txtMeters.Text = client.Self.Movement.Camera.Far.ToString(); + LastFound = -1; + } + + void Network_OnDisconnected(object sender, DisconnectedEventArgs e) + { + Close(); + } + + private void RefreshItemsCounters() + { + int totalinLST; + int unkLST, knwLST; + unkLST = 0; + knwLST = unkLST; + totalinLST = lstObjects.Items.Count; + foreach (ListViewItem item in lstObjects.Items) + { + if (item.Text == bot.Localization.clResourceManager.getText("Controls.Loading")) + unkLST++; + else + knwLST++; + } + + lblObjects.Text = String.Format(bot.Localization.clResourceManager.getText("frmObjects.Status.Statistics"), totalinLST, knwLST, unkLST); + } + + private void btnRefresh_Click(object sender, EventArgs e) + { + RefreshItemsCounters(); + lstObjects.RefreshObjects(); + } + + private void chkRefresh_CheckedChanged(object sender, EventArgs e) + { + tmrRefreshTimer.Enabled = chkRefresh.Checked; + } + + private void tmrRefreshTimer_Tick(object sender, EventArgs e) + { + if (firsttick) + { + tmrRefreshTimer.Interval = 60000; + firsttick = false; + } + + RefreshItemsCounters(); + lstObjects.RefreshObjects(); + } + + private void btnExport_Click(object sender, EventArgs e) + { + List AllItems = new List(); + + foreach (ListViewItem item in lstObjects.SelectedItems) + { + if (item != null) + { + ObjectInSim newItem; + + newItem.ID = item.Name; + newItem.Location = item.SubItems[1].Text; + newItem.Name = item.Text; + + AllItems.Add(newItem); + } + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting {2} objects on sim {3}.", DateTime.Now.ToString(), this.client, AllItems.Count, this.client.Network.CurrentSim.Name)); + + Thread thExport = new Thread(delegate() + { + int counter = 0; + bool old_timer_status = tmrRefreshTimer.Enabled; + + StartExport(AllItems.Count); + + foreach (ObjectInSim item in AllItems) + { + + string filename; + + if (item.Name == bot.Localization.clResourceManager.getText("Controls.Loading")) + filename = CreateFileName(item.ID, item.Location); + else + filename = CreateFileName(item.ID, item.Location, item.Name); + + counter++; + SetProgressValue(counter, AllItems.Count); + + string cmd = ""; + cmd = "export " + + item.ID + + " \"" + filename + "\""; + this.client.DoCommand(cmd, UUID.Zero, true); + + } + + StopExport(old_timer_status); + }); + thExport.IsBackground = true; + thExport.Name = "Export"; + thExport.Start(); + } + + public string CreateFileName(string UUID, string Location) + { + return CreateFileName(UUID, Location, bot.Localization.clResourceManager.getText("Object")); + } + + public string CreateFileName(string UUID, string Location, string PrimName) + { + string corrected_PrimName; + string corrected_Location; + string FinalName; + + corrected_PrimName = PrimName.Replace(" ", "_"); + corrected_PrimName = corrected_PrimName.Replace(":", ";"); + corrected_PrimName = corrected_PrimName.Replace("*", "+"); + corrected_PrimName = corrected_PrimName.Replace("|", "I"); + corrected_PrimName = corrected_PrimName.Replace("\\", "["); + corrected_PrimName = corrected_PrimName.Replace("/", "]"); + corrected_PrimName = corrected_PrimName.Replace("?", "¿"); + corrected_PrimName = corrected_PrimName.Replace(">", "}"); + corrected_PrimName = corrected_PrimName.Replace("<", "{"); + corrected_PrimName = corrected_PrimName.Replace("\"", "'"); + corrected_PrimName = corrected_PrimName.Replace("\n", " "); + + corrected_Location = Location.Replace(">", "}"); + corrected_Location = corrected_Location.Replace("<", "{"); + + FinalName = corrected_PrimName + " (" + UUID + ", " + corrected_Location + ").xml"; + + return FinalName; + } + + private void StartExport(int maxValue) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + StartExport(maxValue); + }); + else + { + prgExporting.Visible = true; + prgExporting.Minimum = 0; + prgExporting.Maximum = maxValue; + lblStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmObjects.ExportingObjects"), maxValue.ToString()); + tmrRefreshTimer.Enabled = false; + btnExport.Enabled = false; + chkRefresh.Enabled = false; + btnExportAll.Enabled = false; + btnRefresh.Enabled = false; + txtMeters.Enabled = false; + lstObjects.StopRefreshing = true; + } + } + + private void SetProgressValue(int value, int maxvalue) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + SetProgressValue(value, maxvalue); + }); + else + { + prgExporting.Value = value; + lblStatus.Text = String.Format(bot.Localization.clResourceManager.getText("frmObjects.ExportingObject"), value.ToString(), maxvalue.ToString()); + } + } + + private void StopExport(bool oldtimer) + { + if (!this.IsHandleCreated) + return; + + if (this.InvokeRequired) + this.BeginInvoke((MethodInvoker)delegate + { + StopExport(oldtimer); + }); + else + { + prgExporting.Visible = false; + tmrRefreshTimer.Enabled = oldtimer; + lblStatus.Text = bot.Localization.clResourceManager.getText("frmObjects.Idle"); + btnExport.Enabled = true; + chkRefresh.Enabled = true; + btnExportAll.Enabled = true; + btnRefresh.Enabled = true; + txtMeters.Enabled = true; + lstObjects.StopRefreshing = false; + } + } + + private void btnExportAll_Click(object sender, EventArgs e) + { + List AllItems = new List(); + + foreach (ListViewItem item in lstObjects.Items) + { + if (item != null) + { + ObjectInSim newItem; + + newItem.ID = item.Name; + newItem.Location = item.SubItems[1].Text; + newItem.Name = item.Text; + + AllItems.Add(newItem); + } + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting {2} objects (all) on sim {3}.", DateTime.Now.ToString(), this.client, AllItems.Count, this.client.Network.CurrentSim.Name)); + + Thread thExAll = new Thread(delegate() + { + int counter = 0; + bool old_timer_status = tmrRefreshTimer.Enabled; + + StartExport(lstObjects.Items.Count); + + foreach (ObjectInSim item in AllItems) + { + string filename; + + if (item.Name == bot.Localization.clResourceManager.getText("Controls.Loading")) + filename = CreateFileName(item.ID, item.Location); + else + filename = CreateFileName(item.ID, item.Location, item.Name); + + counter++; + SetProgressValue(counter, lstObjects.Items.Count); + + string cmd = ""; + cmd = "export " + + item.ID + + " \"" + filename + "\""; + this.client.DoCommand(cmd, UUID.Zero, true); + } + + StopExport(old_timer_status); + }); + thExAll.IsBackground = true; + thExAll.Name = "Export all"; + thExAll.Start(); + } + + private void txtMeters_TextChanged(object sender, EventArgs e) + { + float distance; + + if (!float.TryParse(txtMeters.Text, out distance)) + txtMeters.Text = client.Self.Movement.Camera.Far.ToString(); + else + { + client.Self.Movement.Camera.Far = distance; + txtMeters.Text = client.Self.Movement.Camera.Far.ToString(); + } + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Dispose(); + } + + private void frmObjects_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmObjects_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + private void btnSearch_Click(object sender, EventArgs e) + { + bool SomethingFound; + int counter; + string rowPrimName; + + SomethingFound = false; + chkRefresh.Checked = false; + + lstObjects.StopRefreshing = true; + + for (counter = 0; counter < lstObjects.Items.Count; counter++) + { + rowPrimName = lstObjects.Items[counter].Text; + + if (System.Text.RegularExpressions.Regex.IsMatch(rowPrimName, + txtSearch.Text, System.Text.RegularExpressions.RegexOptions.IgnoreCase)) + { + if (LastFound < counter) + { + SomethingFound = true; + LastFound = counter; + + lstObjects.SelectedItems.Clear(); + lstObjects.Items[counter].Selected = true; + lstObjects.Select(); + + break; + } + } + } + + lstObjects.StopRefreshing = false; + + if (SomethingFound) + return; + + if (LastFound != -1 && SomethingFound == false) + { + LastFound = -1; + btnSearch_Click(sender, e); + } + } + + private void namesToolStripMenuItem_Click(object sender, EventArgs e) + { + StringBuilder sbNames = new StringBuilder(); + + lstObjects.StopRefreshing = true; + if (lstObjects.SelectedItems.Count == 1) + { + Clipboard.SetText(lstObjects.SelectedItems[0].Text); + lstObjects.StopRefreshing = false; + return; + } + else + { + foreach (ListViewItem item in lstObjects.SelectedItems) + sbNames.AppendLine(item.Text); + } + lstObjects.StopRefreshing = false; + + Clipboard.SetText(sbNames.ToString()); + } + + private void locationsToolStripMenuItem_Click(object sender, EventArgs e) + { + StringBuilder sbLocations = new StringBuilder(); + + lstObjects.StopRefreshing = true; + if (lstObjects.SelectedItems.Count == 1) + { + Clipboard.SetText(lstObjects.SelectedItems[0].SubItems[1].Text); + lstObjects.StopRefreshing = false; + return; + } + else + { + foreach (ListViewItem item in lstObjects.SelectedItems) + sbLocations.AppendLine(item.SubItems[1].Text); + } + lstObjects.StopRefreshing = false; + + Clipboard.SetText(sbLocations.ToString()); + } + + private void UUIDsToolStripMenuItem_Click(object sender, EventArgs e) + { + StringBuilder sbUUIDs = new StringBuilder(); + + lstObjects.StopRefreshing = true; + if (lstObjects.SelectedItems.Count == 1) + { + Clipboard.SetText(lstObjects.SelectedItems[0].Name); + lstObjects.StopRefreshing = false; + return; + } + else + { + foreach (ListViewItem item in lstObjects.SelectedItems) + sbUUIDs.AppendLine(item.Name); + } + lstObjects.StopRefreshing = false; + + Clipboard.SetText(sbUUIDs.ToString()); + } + + private void firstSelectedToolStripMenuItem_Click(object sender, EventArgs e) + { + this.client.DoCommand("siton " + lstObjects.SelectedItems[0].Name, UUID.Zero, true); + } + + private void allSelectedToolStripMenuItem_Click(object sender, EventArgs e) + { + lstObjects.StopRefreshing = true; + foreach (ListViewItem item in lstObjects.SelectedItems) + { + this.client.DoCommand("siton " + item.Name, UUID.Zero, true); + this.client.DoCommand("stand", UUID.Zero, true); + } + lstObjects.StopRefreshing = false; + } + + private void touchThemToolStripMenuItem_Click(object sender, EventArgs e) + { + lstObjects.StopRefreshing = true; + foreach (ListViewItem item in lstObjects.SelectedItems) + { + this.client.DoCommand("touch " + item.Name, UUID.Zero, true); + } + lstObjects.StopRefreshing = false; + } + + private void buyThemToolStripMenuItem_Click(object sender, EventArgs e) + { + lstObjects.StopRefreshing = true; + foreach (ListViewItem item in lstObjects.SelectedItems) + { + this.client.DoCommand("buy " + item.Name, UUID.Zero, true); + } + lstObjects.StopRefreshing = false; + } + + private void requestTakeToInventoryToolStripMenuItem_Click(object sender, EventArgs e) + { + lstObjects.StopRefreshing = true; + foreach (ListViewItem item in lstObjects.SelectedItems) + { + this.client.DoCommand("takeitem " + item.Name, UUID.Zero, true); + } + lstObjects.StopRefreshing = false; + } + + private void objectToolStripMenuItem_Click(object sender, EventArgs e) + { + List AllItems = new List(); + + foreach (ListViewItem item in lstObjects.SelectedItems) + { + if (item != null) + { + ObjectInSim newItem; + + newItem.ID = item.Name; + newItem.Location = item.SubItems[1].Text; + newItem.Name = item.Text; + + AllItems.Add(newItem); + } + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting {2} objects on sim {3}.", DateTime.Now.ToString(), this.client, AllItems.Count, this.client.Network.CurrentSim.Name)); + + Thread thExport = new Thread(delegate() + { + int counter = 0; + bool old_timer_status = tmrRefreshTimer.Enabled; + + StartExport(AllItems.Count); + + foreach (ObjectInSim item in AllItems) + { + + string filename; + + if (item.Name == bot.Localization.clResourceManager.getText("Controls.Loading")) + filename = CreateFileName(item.ID, item.Location); + else + filename = CreateFileName(item.ID, item.Location, item.Name); + + counter++; + SetProgressValue(counter, AllItems.Count); + + string cmd = ""; + cmd = "export " + + item.ID + + " \"" + filename + "\""; + this.client.DoCommand(cmd, UUID.Zero, true); + + } + + StopExport(old_timer_status); + }); + thExport.IsBackground = true; + thExport.Name = "Export"; + thExport.Start(); + } + + private void particlesToolStripMenuItem_Click(object sender, EventArgs e) + { + List AllItems = new List(); + + foreach (ListViewItem item in lstObjects.SelectedItems) + { + if (item != null) + { + ObjectInSim newItem; + + newItem.ID = item.Name; + newItem.Location = item.SubItems[1].Text; + newItem.Name = item.Text; + + AllItems.Add(newItem); + } + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting {2} particles on sim {3}.", DateTime.Now.ToString(), this.client, AllItems.Count, this.client.Network.CurrentSim.Name)); + + Thread thExport = new Thread(delegate() + { + int counter = 0; + bool old_timer_status = tmrRefreshTimer.Enabled; + + StartExport(AllItems.Count); + + foreach (ObjectInSim item in AllItems) + { + + string filename; + + if (item.Name == bot.Localization.clResourceManager.getText("Controls.Loading")) + filename = CreateFileName(item.ID, item.Location); + else + filename = CreateFileName(item.ID, item.Location, item.Name); + + counter++; + SetProgressValue(counter, AllItems.Count); + + string cmd = ""; + cmd = "exportparticles " + + item.ID; + this.client.DoCommand(cmd, UUID.Zero, true); + + } + + StopExport(old_timer_status); + }); + thExport.IsBackground = true; + thExport.Name = "Export"; + thExport.Start(); + } + + private void objectAndParticlesToolStripMenuItem_Click(object sender, EventArgs e) + { + List AllItems = new List(); + + foreach (ListViewItem item in lstObjects.SelectedItems) + { + if (item != null) + { + ObjectInSim newItem; + + newItem.ID = item.Name; + newItem.Location = item.SubItems[1].Text; + newItem.Name = item.Text; + + AllItems.Add(newItem); + } + } + + Program.NBStats.AddStatData(String.Format("{0}: {1} exporting {2} objects/particles on sim {3}.", DateTime.Now.ToString(), this.client, AllItems.Count, this.client.Network.CurrentSim.Name)); + + Thread thExport = new Thread(delegate() + { + int counter = 0; + bool old_timer_status = tmrRefreshTimer.Enabled; + + StartExport(AllItems.Count); + + foreach (ObjectInSim item in AllItems) + { + + string filename; + + if (item.Name == bot.Localization.clResourceManager.getText("Controls.Loading")) + filename = CreateFileName(item.ID, item.Location); + else + filename = CreateFileName(item.ID, item.Location, item.Name); + + counter++; + SetProgressValue(counter, AllItems.Count); + + string cmd = ""; + cmd = "export " + + item.ID + + " \"" + filename + "\""; + this.client.DoCommand(cmd, UUID.Zero, true); + cmd = "exportparticles " + + item.ID; + this.client.DoCommand(cmd, UUID.Zero, true); + + } + + StopExport(old_timer_status); + }); + thExport.IsBackground = true; + thExport.Name = "Export"; + thExport.Start(); + } + } +} diff --git a/SLBot/bot/GUI/frmObjects.resx b/SLBot/bot/GUI/frmObjects.resx new file mode 100644 index 0000000..46ca37e --- /dev/null +++ b/SLBot/bot/GUI/frmObjects.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 125, 17 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmProfile.Designer.cs b/SLBot/bot/GUI/frmProfile.Designer.cs new file mode 100644 index 0000000..01f0758 --- /dev/null +++ b/SLBot/bot/GUI/frmProfile.Designer.cs @@ -0,0 +1,795 @@ +namespace bot.GUI +{ + partial class frmProfile + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmProfile)); + this.tabProfile = new System.Windows.Forms.TabControl(); + this.tabPageSecondLife = new System.Windows.Forms.TabPage(); + this.txtAccount = new System.Windows.Forms.RichTextBox(); + this.txtAbout = new System.Windows.Forms.RichTextBox(); + this.lblAbout = new System.Windows.Forms.Label(); + this.lstGroups = new System.Windows.Forms.ListView(); + this.picPhoto = new System.Windows.Forms.PictureBox(); + this.txtBorn = new System.Windows.Forms.TextBox(); + this.txtName = new System.Windows.Forms.TextBox(); + this.txtPartner = new System.Windows.Forms.TextBox(); + this.txtUUID = new System.Windows.Forms.TextBox(); + this.lblPartner = new System.Windows.Forms.Label(); + this.lblGroups = new System.Windows.Forms.Label(); + this.lblAccount = new System.Windows.Forms.Label(); + this.lblBorn = new System.Windows.Forms.Label(); + this.lblName = new System.Windows.Forms.Label(); + this.lblPhoto = new System.Windows.Forms.Label(); + this.lblUUID = new System.Windows.Forms.Label(); + this.tabPageWeb = new System.Windows.Forms.TabPage(); + this.txtWeb = new System.Windows.Forms.TextBox(); + this.lblWeb = new System.Windows.Forms.Label(); + this.tabPageInterests = new System.Windows.Forms.TabPage(); + this.chkHire = new System.Windows.Forms.CheckBox(); + this.chkBuy = new System.Windows.Forms.CheckBox(); + this.chkSell = new System.Windows.Forms.CheckBox(); + this.chkGroup = new System.Windows.Forms.CheckBox(); + this.chkExplore = new System.Windows.Forms.CheckBox(); + this.chkCustomChars = new System.Windows.Forms.CheckBox(); + this.chkEventPlanning = new System.Windows.Forms.CheckBox(); + this.chkArchitecture = new System.Windows.Forms.CheckBox(); + this.chkScripting = new System.Windows.Forms.CheckBox(); + this.chkModeling = new System.Windows.Forms.CheckBox(); + this.chkBeHired = new System.Windows.Forms.CheckBox(); + this.chkTextures = new System.Windows.Forms.CheckBox(); + this.chkMeet = new System.Windows.Forms.CheckBox(); + this.chkBuild = new System.Windows.Forms.CheckBox(); + this.txtLanguages = new System.Windows.Forms.TextBox(); + this.txtSkills = new System.Windows.Forms.TextBox(); + this.txtWants = new System.Windows.Forms.TextBox(); + this.lblLanguages = new System.Windows.Forms.Label(); + this.lblSkills = new System.Windows.Forms.Label(); + this.lblWants = new System.Windows.Forms.Label(); + this.tabPageFirstLife = new System.Windows.Forms.TabPage(); + this.txtInfo = new System.Windows.Forms.RichTextBox(); + this.picPhotoF = new System.Windows.Forms.PictureBox(); + this.lblInfo = new System.Windows.Forms.Label(); + this.lblPhotoF = new System.Windows.Forms.Label(); + this.btnClose = new clControls.clImageButton(); + this.lblProfile = new System.Windows.Forms.Label(); + this.tabProfile.SuspendLayout(); + this.tabPageSecondLife.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picPhoto)).BeginInit(); + this.tabPageWeb.SuspendLayout(); + this.tabPageInterests.SuspendLayout(); + this.tabPageFirstLife.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picPhotoF)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnClose)).BeginInit(); + this.SuspendLayout(); + // + // tabProfile + // + this.tabProfile.Controls.Add(this.tabPageSecondLife); + this.tabProfile.Controls.Add(this.tabPageWeb); + this.tabProfile.Controls.Add(this.tabPageInterests); + this.tabProfile.Controls.Add(this.tabPageFirstLife); + this.tabProfile.Location = new System.Drawing.Point(28, 29); + this.tabProfile.Name = "tabProfile"; + this.tabProfile.SelectedIndex = 0; + this.tabProfile.Size = new System.Drawing.Size(446, 554); + this.tabProfile.TabIndex = 0; + // + // tabPageSecondLife + // + this.tabPageSecondLife.BackColor = System.Drawing.Color.Black; + this.tabPageSecondLife.Controls.Add(this.txtAccount); + this.tabPageSecondLife.Controls.Add(this.txtAbout); + this.tabPageSecondLife.Controls.Add(this.lblAbout); + this.tabPageSecondLife.Controls.Add(this.lstGroups); + this.tabPageSecondLife.Controls.Add(this.picPhoto); + this.tabPageSecondLife.Controls.Add(this.txtBorn); + this.tabPageSecondLife.Controls.Add(this.txtName); + this.tabPageSecondLife.Controls.Add(this.txtPartner); + this.tabPageSecondLife.Controls.Add(this.txtUUID); + this.tabPageSecondLife.Controls.Add(this.lblPartner); + this.tabPageSecondLife.Controls.Add(this.lblGroups); + this.tabPageSecondLife.Controls.Add(this.lblAccount); + this.tabPageSecondLife.Controls.Add(this.lblBorn); + this.tabPageSecondLife.Controls.Add(this.lblName); + this.tabPageSecondLife.Controls.Add(this.lblPhoto); + this.tabPageSecondLife.Controls.Add(this.lblUUID); + this.tabPageSecondLife.ForeColor = System.Drawing.Color.White; + this.tabPageSecondLife.Location = new System.Drawing.Point(4, 22); + this.tabPageSecondLife.Name = "tabPageSecondLife"; + this.tabPageSecondLife.Padding = new System.Windows.Forms.Padding(3); + this.tabPageSecondLife.Size = new System.Drawing.Size(438, 528); + this.tabPageSecondLife.TabIndex = 0; + this.tabPageSecondLife.Text = "2nd Life"; + // + // txtAccount + // + this.txtAccount.BackColor = System.Drawing.Color.Black; + this.txtAccount.ForeColor = System.Drawing.Color.White; + this.txtAccount.Location = new System.Drawing.Point(270, 77); + this.txtAccount.Name = "txtAccount"; + this.txtAccount.ReadOnly = true; + this.txtAccount.Size = new System.Drawing.Size(162, 113); + this.txtAccount.TabIndex = 19; + this.txtAccount.Text = ""; + // + // txtAbout + // + this.txtAbout.BackColor = System.Drawing.Color.Black; + this.txtAbout.ForeColor = System.Drawing.Color.White; + this.txtAbout.Location = new System.Drawing.Point(46, 387); + this.txtAbout.Name = "txtAbout"; + this.txtAbout.ReadOnly = true; + this.txtAbout.Size = new System.Drawing.Size(386, 135); + this.txtAbout.TabIndex = 18; + this.txtAbout.Text = ""; + // + // lblAbout + // + this.lblAbout.AutoSize = true; + this.lblAbout.BackColor = System.Drawing.Color.Black; + this.lblAbout.ForeColor = System.Drawing.Color.White; + this.lblAbout.Location = new System.Drawing.Point(8, 390); + this.lblAbout.Name = "lblAbout"; + this.lblAbout.Size = new System.Drawing.Size(38, 13); + this.lblAbout.TabIndex = 16; + this.lblAbout.Text = "About:"; + // + // lstGroups + // + this.lstGroups.AutoArrange = false; + this.lstGroups.BackColor = System.Drawing.Color.Black; + this.lstGroups.ForeColor = System.Drawing.Color.White; + this.lstGroups.FullRowSelect = true; + this.lstGroups.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.lstGroups.Location = new System.Drawing.Point(46, 273); + this.lstGroups.MultiSelect = false; + this.lstGroups.Name = "lstGroups"; + this.lstGroups.ShowGroups = false; + this.lstGroups.Size = new System.Drawing.Size(386, 108); + this.lstGroups.TabIndex = 15; + this.lstGroups.UseCompatibleStateImageBehavior = false; + this.lstGroups.View = System.Windows.Forms.View.List; + // + // picPhoto + // + this.picPhoto.Location = new System.Drawing.Point(46, 58); + this.picPhoto.Name = "picPhoto"; + this.picPhoto.Size = new System.Drawing.Size(209, 209); + this.picPhoto.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.picPhoto.TabIndex = 14; + this.picPhoto.TabStop = false; + // + // txtBorn + // + this.txtBorn.BackColor = System.Drawing.Color.Black; + this.txtBorn.ForeColor = System.Drawing.Color.White; + this.txtBorn.Location = new System.Drawing.Point(270, 32); + this.txtBorn.Name = "txtBorn"; + this.txtBorn.ReadOnly = true; + this.txtBorn.Size = new System.Drawing.Size(162, 20); + this.txtBorn.TabIndex = 11; + // + // txtName + // + this.txtName.BackColor = System.Drawing.Color.Black; + this.txtName.ForeColor = System.Drawing.Color.White; + this.txtName.Location = new System.Drawing.Point(46, 32); + this.txtName.Name = "txtName"; + this.txtName.ReadOnly = true; + this.txtName.Size = new System.Drawing.Size(171, 20); + this.txtName.TabIndex = 10; + // + // txtPartner + // + this.txtPartner.BackColor = System.Drawing.Color.Black; + this.txtPartner.ForeColor = System.Drawing.Color.White; + this.txtPartner.Location = new System.Drawing.Point(270, 209); + this.txtPartner.Name = "txtPartner"; + this.txtPartner.ReadOnly = true; + this.txtPartner.Size = new System.Drawing.Size(162, 20); + this.txtPartner.TabIndex = 8; + // + // txtUUID + // + this.txtUUID.BackColor = System.Drawing.Color.Black; + this.txtUUID.ForeColor = System.Drawing.Color.White; + this.txtUUID.Location = new System.Drawing.Point(46, 6); + this.txtUUID.Name = "txtUUID"; + this.txtUUID.ReadOnly = true; + this.txtUUID.Size = new System.Drawing.Size(386, 20); + this.txtUUID.TabIndex = 7; + // + // lblPartner + // + this.lblPartner.AutoSize = true; + this.lblPartner.BackColor = System.Drawing.Color.Black; + this.lblPartner.ForeColor = System.Drawing.Color.White; + this.lblPartner.Location = new System.Drawing.Point(267, 193); + this.lblPartner.Name = "lblPartner"; + this.lblPartner.Size = new System.Drawing.Size(44, 13); + this.lblPartner.TabIndex = 6; + this.lblPartner.Text = "Partner:"; + // + // lblGroups + // + this.lblGroups.AutoSize = true; + this.lblGroups.BackColor = System.Drawing.Color.Black; + this.lblGroups.ForeColor = System.Drawing.Color.White; + this.lblGroups.Location = new System.Drawing.Point(2, 270); + this.lblGroups.Name = "lblGroups"; + this.lblGroups.Size = new System.Drawing.Size(44, 13); + this.lblGroups.TabIndex = 5; + this.lblGroups.Text = "Groups:"; + // + // lblAccount + // + this.lblAccount.AutoSize = true; + this.lblAccount.BackColor = System.Drawing.Color.Black; + this.lblAccount.ForeColor = System.Drawing.Color.White; + this.lblAccount.Location = new System.Drawing.Point(267, 61); + this.lblAccount.Name = "lblAccount"; + this.lblAccount.Size = new System.Drawing.Size(50, 13); + this.lblAccount.TabIndex = 4; + this.lblAccount.Text = "Account:"; + // + // lblBorn + // + this.lblBorn.AutoSize = true; + this.lblBorn.BackColor = System.Drawing.Color.Black; + this.lblBorn.ForeColor = System.Drawing.Color.White; + this.lblBorn.Location = new System.Drawing.Point(223, 35); + this.lblBorn.Name = "lblBorn"; + this.lblBorn.Size = new System.Drawing.Size(32, 13); + this.lblBorn.TabIndex = 3; + this.lblBorn.Text = "Born:"; + // + // lblName + // + this.lblName.AutoSize = true; + this.lblName.BackColor = System.Drawing.Color.Black; + this.lblName.ForeColor = System.Drawing.Color.White; + this.lblName.Location = new System.Drawing.Point(2, 35); + this.lblName.Name = "lblName"; + this.lblName.Size = new System.Drawing.Size(38, 13); + this.lblName.TabIndex = 2; + this.lblName.Text = "Name:"; + // + // lblPhoto + // + this.lblPhoto.AutoSize = true; + this.lblPhoto.BackColor = System.Drawing.Color.Black; + this.lblPhoto.ForeColor = System.Drawing.Color.White; + this.lblPhoto.Location = new System.Drawing.Point(3, 58); + this.lblPhoto.Name = "lblPhoto"; + this.lblPhoto.Size = new System.Drawing.Size(38, 13); + this.lblPhoto.TabIndex = 1; + this.lblPhoto.Text = "Photo:"; + // + // lblUUID + // + this.lblUUID.AutoSize = true; + this.lblUUID.BackColor = System.Drawing.Color.Black; + this.lblUUID.ForeColor = System.Drawing.Color.White; + this.lblUUID.Location = new System.Drawing.Point(3, 9); + this.lblUUID.Name = "lblUUID"; + this.lblUUID.Size = new System.Drawing.Size(37, 13); + this.lblUUID.TabIndex = 0; + this.lblUUID.Text = "UUID:"; + // + // tabPageWeb + // + this.tabPageWeb.BackColor = System.Drawing.Color.Black; + this.tabPageWeb.Controls.Add(this.txtWeb); + this.tabPageWeb.Controls.Add(this.lblWeb); + this.tabPageWeb.ForeColor = System.Drawing.Color.White; + this.tabPageWeb.Location = new System.Drawing.Point(4, 22); + this.tabPageWeb.Name = "tabPageWeb"; + this.tabPageWeb.Padding = new System.Windows.Forms.Padding(3); + this.tabPageWeb.Size = new System.Drawing.Size(438, 528); + this.tabPageWeb.TabIndex = 1; + this.tabPageWeb.Text = "Web"; + // + // txtWeb + // + this.txtWeb.BackColor = System.Drawing.Color.Black; + this.txtWeb.ForeColor = System.Drawing.SystemColors.MenuHighlight; + this.txtWeb.Location = new System.Drawing.Point(42, 6); + this.txtWeb.Name = "txtWeb"; + this.txtWeb.ReadOnly = true; + this.txtWeb.Size = new System.Drawing.Size(390, 20); + this.txtWeb.TabIndex = 1; + // + // lblWeb + // + this.lblWeb.AutoSize = true; + this.lblWeb.ForeColor = System.Drawing.Color.White; + this.lblWeb.Location = new System.Drawing.Point(3, 9); + this.lblWeb.Name = "lblWeb"; + this.lblWeb.Size = new System.Drawing.Size(33, 13); + this.lblWeb.TabIndex = 0; + this.lblWeb.Text = "Web:"; + // + // tabPageInterests + // + this.tabPageInterests.BackColor = System.Drawing.Color.Black; + this.tabPageInterests.Controls.Add(this.chkHire); + this.tabPageInterests.Controls.Add(this.chkBuy); + this.tabPageInterests.Controls.Add(this.chkSell); + this.tabPageInterests.Controls.Add(this.chkGroup); + this.tabPageInterests.Controls.Add(this.chkExplore); + this.tabPageInterests.Controls.Add(this.chkCustomChars); + this.tabPageInterests.Controls.Add(this.chkEventPlanning); + this.tabPageInterests.Controls.Add(this.chkArchitecture); + this.tabPageInterests.Controls.Add(this.chkScripting); + this.tabPageInterests.Controls.Add(this.chkModeling); + this.tabPageInterests.Controls.Add(this.chkBeHired); + this.tabPageInterests.Controls.Add(this.chkTextures); + this.tabPageInterests.Controls.Add(this.chkMeet); + this.tabPageInterests.Controls.Add(this.chkBuild); + this.tabPageInterests.Controls.Add(this.txtLanguages); + this.tabPageInterests.Controls.Add(this.txtSkills); + this.tabPageInterests.Controls.Add(this.txtWants); + this.tabPageInterests.Controls.Add(this.lblLanguages); + this.tabPageInterests.Controls.Add(this.lblSkills); + this.tabPageInterests.Controls.Add(this.lblWants); + this.tabPageInterests.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tabPageInterests.ForeColor = System.Drawing.Color.White; + this.tabPageInterests.Location = new System.Drawing.Point(4, 22); + this.tabPageInterests.Name = "tabPageInterests"; + this.tabPageInterests.Padding = new System.Windows.Forms.Padding(3); + this.tabPageInterests.Size = new System.Drawing.Size(438, 528); + this.tabPageInterests.TabIndex = 2; + this.tabPageInterests.Text = "Interests"; + // + // chkHire + // + this.chkHire.AutoSize = true; + this.chkHire.BackColor = System.Drawing.Color.Transparent; + this.chkHire.Enabled = false; + this.chkHire.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkHire.ForeColor = System.Drawing.Color.White; + this.chkHire.Location = new System.Drawing.Point(216, 101); + this.chkHire.Name = "chkHire"; + this.chkHire.Size = new System.Drawing.Size(49, 17); + this.chkHire.TabIndex = 19; + this.chkHire.Text = "Hire"; + this.chkHire.UseVisualStyleBackColor = false; + // + // chkBuy + // + this.chkBuy.AutoSize = true; + this.chkBuy.BackColor = System.Drawing.Color.Transparent; + this.chkBuy.Enabled = false; + this.chkBuy.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkBuy.ForeColor = System.Drawing.Color.White; + this.chkBuy.Location = new System.Drawing.Point(216, 78); + this.chkBuy.Name = "chkBuy"; + this.chkBuy.Size = new System.Drawing.Size(47, 17); + this.chkBuy.TabIndex = 18; + this.chkBuy.Text = "Buy"; + this.chkBuy.UseVisualStyleBackColor = false; + // + // chkSell + // + this.chkSell.AutoSize = true; + this.chkSell.BackColor = System.Drawing.Color.Transparent; + this.chkSell.Enabled = false; + this.chkSell.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkSell.ForeColor = System.Drawing.Color.White; + this.chkSell.Location = new System.Drawing.Point(86, 78); + this.chkSell.Name = "chkSell"; + this.chkSell.Size = new System.Drawing.Size(47, 17); + this.chkSell.TabIndex = 17; + this.chkSell.Text = "Sell"; + this.chkSell.UseVisualStyleBackColor = false; + // + // chkGroup + // + this.chkGroup.AutoSize = true; + this.chkGroup.BackColor = System.Drawing.Color.Transparent; + this.chkGroup.Enabled = false; + this.chkGroup.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkGroup.ForeColor = System.Drawing.Color.White; + this.chkGroup.Location = new System.Drawing.Point(216, 55); + this.chkGroup.Name = "chkGroup"; + this.chkGroup.Size = new System.Drawing.Size(60, 17); + this.chkGroup.TabIndex = 16; + this.chkGroup.Text = "Group"; + this.chkGroup.UseVisualStyleBackColor = false; + // + // chkExplore + // + this.chkExplore.AutoSize = true; + this.chkExplore.BackColor = System.Drawing.Color.Transparent; + this.chkExplore.Enabled = false; + this.chkExplore.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkExplore.ForeColor = System.Drawing.Color.White; + this.chkExplore.Location = new System.Drawing.Point(216, 32); + this.chkExplore.Name = "chkExplore"; + this.chkExplore.Size = new System.Drawing.Size(68, 17); + this.chkExplore.TabIndex = 15; + this.chkExplore.Text = "Explore"; + this.chkExplore.UseVisualStyleBackColor = false; + // + // chkCustomChars + // + this.chkCustomChars.AutoSize = true; + this.chkCustomChars.BackColor = System.Drawing.Color.Transparent; + this.chkCustomChars.Enabled = false; + this.chkCustomChars.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkCustomChars.ForeColor = System.Drawing.Color.White; + this.chkCustomChars.Location = new System.Drawing.Point(216, 196); + this.chkCustomChars.Name = "chkCustomChars"; + this.chkCustomChars.Size = new System.Drawing.Size(132, 17); + this.chkCustomChars.TabIndex = 14; + this.chkCustomChars.Text = "Custom Characters"; + this.chkCustomChars.UseVisualStyleBackColor = false; + // + // chkEventPlanning + // + this.chkEventPlanning.AutoSize = true; + this.chkEventPlanning.BackColor = System.Drawing.Color.Transparent; + this.chkEventPlanning.Enabled = false; + this.chkEventPlanning.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkEventPlanning.ForeColor = System.Drawing.Color.White; + this.chkEventPlanning.Location = new System.Drawing.Point(216, 173); + this.chkEventPlanning.Name = "chkEventPlanning"; + this.chkEventPlanning.Size = new System.Drawing.Size(112, 17); + this.chkEventPlanning.TabIndex = 13; + this.chkEventPlanning.Text = "Event Planning"; + this.chkEventPlanning.UseVisualStyleBackColor = false; + // + // chkArchitecture + // + this.chkArchitecture.AutoSize = true; + this.chkArchitecture.BackColor = System.Drawing.Color.Transparent; + this.chkArchitecture.Enabled = false; + this.chkArchitecture.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkArchitecture.ForeColor = System.Drawing.Color.White; + this.chkArchitecture.Location = new System.Drawing.Point(216, 150); + this.chkArchitecture.Name = "chkArchitecture"; + this.chkArchitecture.Size = new System.Drawing.Size(95, 17); + this.chkArchitecture.TabIndex = 12; + this.chkArchitecture.Text = "Architecture"; + this.chkArchitecture.UseVisualStyleBackColor = false; + // + // chkScripting + // + this.chkScripting.AutoSize = true; + this.chkScripting.BackColor = System.Drawing.Color.Transparent; + this.chkScripting.Enabled = false; + this.chkScripting.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkScripting.ForeColor = System.Drawing.Color.White; + this.chkScripting.Location = new System.Drawing.Point(86, 196); + this.chkScripting.Name = "chkScripting"; + this.chkScripting.Size = new System.Drawing.Size(76, 17); + this.chkScripting.TabIndex = 11; + this.chkScripting.Text = "Scripting"; + this.chkScripting.UseVisualStyleBackColor = false; + // + // chkModeling + // + this.chkModeling.AutoSize = true; + this.chkModeling.BackColor = System.Drawing.Color.Transparent; + this.chkModeling.Enabled = false; + this.chkModeling.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkModeling.Location = new System.Drawing.Point(86, 173); + this.chkModeling.Name = "chkModeling"; + this.chkModeling.Size = new System.Drawing.Size(77, 17); + this.chkModeling.TabIndex = 10; + this.chkModeling.Text = "Modeling"; + this.chkModeling.UseVisualStyleBackColor = false; + // + // chkBeHired + // + this.chkBeHired.AutoSize = true; + this.chkBeHired.BackColor = System.Drawing.Color.Transparent; + this.chkBeHired.Enabled = false; + this.chkBeHired.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkBeHired.ForeColor = System.Drawing.Color.White; + this.chkBeHired.Location = new System.Drawing.Point(86, 101); + this.chkBeHired.Name = "chkBeHired"; + this.chkBeHired.Size = new System.Drawing.Size(73, 17); + this.chkBeHired.TabIndex = 9; + this.chkBeHired.Text = "Be hired"; + this.chkBeHired.UseVisualStyleBackColor = false; + // + // chkTextures + // + this.chkTextures.AutoSize = true; + this.chkTextures.BackColor = System.Drawing.Color.Transparent; + this.chkTextures.Enabled = false; + this.chkTextures.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkTextures.ForeColor = System.Drawing.Color.White; + this.chkTextures.Location = new System.Drawing.Point(86, 150); + this.chkTextures.Name = "chkTextures"; + this.chkTextures.Size = new System.Drawing.Size(75, 17); + this.chkTextures.TabIndex = 8; + this.chkTextures.Text = "Textures"; + this.chkTextures.UseVisualStyleBackColor = false; + // + // chkMeet + // + this.chkMeet.AutoSize = true; + this.chkMeet.BackColor = System.Drawing.Color.Transparent; + this.chkMeet.Enabled = false; + this.chkMeet.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkMeet.ForeColor = System.Drawing.Color.White; + this.chkMeet.Location = new System.Drawing.Point(86, 55); + this.chkMeet.Name = "chkMeet"; + this.chkMeet.Size = new System.Drawing.Size(54, 17); + this.chkMeet.TabIndex = 7; + this.chkMeet.Text = "Meet"; + this.chkMeet.UseVisualStyleBackColor = false; + // + // chkBuild + // + this.chkBuild.AutoSize = true; + this.chkBuild.BackColor = System.Drawing.Color.Transparent; + this.chkBuild.Enabled = false; + this.chkBuild.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.chkBuild.ForeColor = System.Drawing.Color.White; + this.chkBuild.Location = new System.Drawing.Point(86, 32); + this.chkBuild.Name = "chkBuild"; + this.chkBuild.Size = new System.Drawing.Size(54, 17); + this.chkBuild.TabIndex = 6; + this.chkBuild.Text = "Build"; + this.chkBuild.UseVisualStyleBackColor = false; + // + // txtLanguages + // + this.txtLanguages.BackColor = System.Drawing.Color.Black; + this.txtLanguages.ForeColor = System.Drawing.Color.White; + this.txtLanguages.Location = new System.Drawing.Point(86, 219); + this.txtLanguages.Name = "txtLanguages"; + this.txtLanguages.ReadOnly = true; + this.txtLanguages.Size = new System.Drawing.Size(346, 20); + this.txtLanguages.TabIndex = 5; + // + // txtSkills + // + this.txtSkills.BackColor = System.Drawing.Color.Black; + this.txtSkills.ForeColor = System.Drawing.Color.White; + this.txtSkills.Location = new System.Drawing.Point(86, 124); + this.txtSkills.Name = "txtSkills"; + this.txtSkills.ReadOnly = true; + this.txtSkills.Size = new System.Drawing.Size(346, 20); + this.txtSkills.TabIndex = 4; + // + // txtWants + // + this.txtWants.BackColor = System.Drawing.Color.Black; + this.txtWants.ForeColor = System.Drawing.Color.White; + this.txtWants.Location = new System.Drawing.Point(86, 6); + this.txtWants.Name = "txtWants"; + this.txtWants.ReadOnly = true; + this.txtWants.Size = new System.Drawing.Size(346, 20); + this.txtWants.TabIndex = 3; + // + // lblLanguages + // + this.lblLanguages.AutoSize = true; + this.lblLanguages.BackColor = System.Drawing.Color.Black; + this.lblLanguages.ForeColor = System.Drawing.Color.White; + this.lblLanguages.Location = new System.Drawing.Point(17, 222); + this.lblLanguages.Name = "lblLanguages"; + this.lblLanguages.Size = new System.Drawing.Size(73, 13); + this.lblLanguages.TabIndex = 2; + this.lblLanguages.Text = "Languages:"; + // + // lblSkills + // + this.lblSkills.AutoSize = true; + this.lblSkills.BackColor = System.Drawing.Color.Black; + this.lblSkills.ForeColor = System.Drawing.Color.White; + this.lblSkills.Location = new System.Drawing.Point(46, 127); + this.lblSkills.Name = "lblSkills"; + this.lblSkills.Size = new System.Drawing.Size(41, 13); + this.lblSkills.TabIndex = 1; + this.lblSkills.Text = "Skills:"; + // + // lblWants + // + this.lblWants.AutoSize = true; + this.lblWants.BackColor = System.Drawing.Color.Black; + this.lblWants.ForeColor = System.Drawing.Color.White; + this.lblWants.Location = new System.Drawing.Point(3, 9); + this.lblWants.Name = "lblWants"; + this.lblWants.Size = new System.Drawing.Size(90, 13); + this.lblWants.TabIndex = 0; + this.lblWants.Text = "He/she wants:"; + // + // tabPageFirstLife + // + this.tabPageFirstLife.BackColor = System.Drawing.Color.Black; + this.tabPageFirstLife.Controls.Add(this.txtInfo); + this.tabPageFirstLife.Controls.Add(this.picPhotoF); + this.tabPageFirstLife.Controls.Add(this.lblInfo); + this.tabPageFirstLife.Controls.Add(this.lblPhotoF); + this.tabPageFirstLife.ForeColor = System.Drawing.Color.White; + this.tabPageFirstLife.Location = new System.Drawing.Point(4, 22); + this.tabPageFirstLife.Name = "tabPageFirstLife"; + this.tabPageFirstLife.Padding = new System.Windows.Forms.Padding(3); + this.tabPageFirstLife.Size = new System.Drawing.Size(438, 528); + this.tabPageFirstLife.TabIndex = 3; + this.tabPageFirstLife.Text = "1st Life"; + // + // txtInfo + // + this.txtInfo.BackColor = System.Drawing.Color.Black; + this.txtInfo.ForeColor = System.Drawing.Color.White; + this.txtInfo.Location = new System.Drawing.Point(52, 330); + this.txtInfo.Name = "txtInfo"; + this.txtInfo.ReadOnly = true; + this.txtInfo.Size = new System.Drawing.Size(380, 192); + this.txtInfo.TabIndex = 4; + this.txtInfo.Text = ""; + // + // picPhotoF + // + this.picPhotoF.Location = new System.Drawing.Point(52, 6); + this.picPhotoF.Name = "picPhotoF"; + this.picPhotoF.Size = new System.Drawing.Size(318, 318); + this.picPhotoF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.picPhotoF.TabIndex = 3; + this.picPhotoF.TabStop = false; + // + // lblInfo + // + this.lblInfo.AutoSize = true; + this.lblInfo.Location = new System.Drawing.Point(18, 333); + this.lblInfo.Name = "lblInfo"; + this.lblInfo.Size = new System.Drawing.Size(28, 13); + this.lblInfo.TabIndex = 1; + this.lblInfo.Text = "Info:"; + // + // lblPhotoF + // + this.lblPhotoF.AutoSize = true; + this.lblPhotoF.Location = new System.Drawing.Point(8, 3); + this.lblPhotoF.Name = "lblPhotoF"; + this.lblPhotoF.Size = new System.Drawing.Size(38, 13); + this.lblPhotoF.TabIndex = 0; + this.lblPhotoF.Text = "Photo:"; + // + // btnClose + // + this.btnClose.ButtonBitmap = null; + this.btnClose.ButtonState = clControls.ButtonState.Normal; + this.btnClose.DisabledBitmap = null; + this.btnClose.Location = new System.Drawing.Point(407, 12); + this.btnClose.Name = "btnClose"; + this.btnClose.OnMouseClickBitmap = null; + this.btnClose.OnMouseOverBitmap = null; + this.btnClose.Size = new System.Drawing.Size(24, 24); + this.btnClose.TabIndex = 6; + this.btnClose.TabStop = false; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // lblProfile + // + this.lblProfile.AutoSize = true; + this.lblProfile.BackColor = System.Drawing.Color.Transparent; + this.lblProfile.Font = new System.Drawing.Font("Lucida Handwriting", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblProfile.ForeColor = System.Drawing.Color.White; + this.lblProfile.Location = new System.Drawing.Point(24, 7); + this.lblProfile.Name = "lblProfile"; + this.lblProfile.Size = new System.Drawing.Size(68, 19); + this.lblProfile.TabIndex = 34; + this.lblProfile.Text = "Profile"; + // + // frmProfile + // + this.BackColor = System.Drawing.Color.Black; + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmProfile"); + this.ClientSize = new System.Drawing.Size(500, 595); + this.ControlBox = false; + this.Controls.Add(this.lblProfile); + this.Controls.Add(this.btnClose); + this.Controls.Add(this.tabProfile); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmProfile"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmProfile"; + this.TransparencyKey = System.Drawing.Color.Yellow; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmProfile_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.frmProfile_MouseMove); + this.tabProfile.ResumeLayout(false); + this.tabPageSecondLife.ResumeLayout(false); + this.tabPageSecondLife.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picPhoto)).EndInit(); + this.tabPageWeb.ResumeLayout(false); + this.tabPageWeb.PerformLayout(); + this.tabPageInterests.ResumeLayout(false); + this.tabPageInterests.PerformLayout(); + this.tabPageFirstLife.ResumeLayout(false); + this.tabPageFirstLife.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picPhotoF)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.btnClose)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TabControl tabProfile; + private System.Windows.Forms.TabPage tabPageSecondLife; + private System.Windows.Forms.TabPage tabPageWeb; + private System.Windows.Forms.ListView lstGroups; + private System.Windows.Forms.PictureBox picPhoto; + private System.Windows.Forms.TextBox txtBorn; + private System.Windows.Forms.TextBox txtName; + private System.Windows.Forms.TextBox txtPartner; + private System.Windows.Forms.TextBox txtUUID; + private System.Windows.Forms.Label lblPartner; + private System.Windows.Forms.Label lblGroups; + private System.Windows.Forms.Label lblAccount; + private System.Windows.Forms.Label lblBorn; + private System.Windows.Forms.Label lblName; + private System.Windows.Forms.Label lblPhoto; + private System.Windows.Forms.Label lblUUID; + private System.Windows.Forms.TextBox txtWeb; + private System.Windows.Forms.Label lblWeb; + private System.Windows.Forms.TabPage tabPageInterests; + private System.Windows.Forms.TabPage tabPageFirstLife; + private System.Windows.Forms.CheckBox chkHire; + private System.Windows.Forms.CheckBox chkBuy; + private System.Windows.Forms.CheckBox chkSell; + private System.Windows.Forms.CheckBox chkGroup; + private System.Windows.Forms.CheckBox chkExplore; + private System.Windows.Forms.CheckBox chkCustomChars; + private System.Windows.Forms.CheckBox chkEventPlanning; + private System.Windows.Forms.CheckBox chkArchitecture; + private System.Windows.Forms.CheckBox chkScripting; + private System.Windows.Forms.CheckBox chkModeling; + private System.Windows.Forms.CheckBox chkBeHired; + private System.Windows.Forms.CheckBox chkTextures; + private System.Windows.Forms.CheckBox chkMeet; + private System.Windows.Forms.CheckBox chkBuild; + private System.Windows.Forms.TextBox txtLanguages; + private System.Windows.Forms.TextBox txtSkills; + private System.Windows.Forms.TextBox txtWants; + private System.Windows.Forms.Label lblLanguages; + private System.Windows.Forms.Label lblSkills; + private System.Windows.Forms.Label lblWants; + private System.Windows.Forms.PictureBox picPhotoF; + private System.Windows.Forms.Label lblInfo; + private System.Windows.Forms.Label lblPhotoF; + private System.Windows.Forms.Label lblAbout; + private System.Windows.Forms.RichTextBox txtAbout; + private System.Windows.Forms.RichTextBox txtAccount; + private System.Windows.Forms.RichTextBox txtInfo; + private clControls.clImageButton btnClose; + private System.Windows.Forms.Label lblProfile; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmProfile.cs b/SLBot/bot/GUI/frmProfile.cs new file mode 100644 index 0000000..fd08b01 --- /dev/null +++ b/SLBot/bot/GUI/frmProfile.cs @@ -0,0 +1,476 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmProfile.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OpenMetaverse; +using System.Threading; +using OpenMetaverse.Assets; +using System.IO; +using Claunia.clUtils; +using OpenMetaverse.Imaging; + +namespace bot.GUI +{ + public partial class frmProfile : Form + { + SecondLifeBot _client; + private UUID _targetID, _FirstLifePhotoID, _SecondLifePhotoID; + private Image _FirstLifePhoto, _SecondLifePhoto; + ManualResetEvent WaitforAvatar = new ManualResetEvent(false); + + private delegate void SetPropertiesCallBack(Avatar.AvatarProperties Properties); + + private delegate void SetGroupsCallBack(List Groups); + + private delegate void SetInterestsCallBack(Avatar.Interests Interests); + + private delegate void SetFirstPhotoCallBack(); + + private delegate void SetSecondPhotoCallBack(); + + SetPropertiesCallBack p; + SetGroupsCallBack g; + SetInterestsCallBack i; + SetFirstPhotoCallBack sfp; + SetSecondPhotoCallBack ssp; + + private System.Windows.Forms.WebBrowser webProfile; + + private Point mouse_offset; + + public frmProfile(SecondLifeBot client, UUID targetID) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + _client = client; + _targetID = targetID; + _FirstLifePhotoID = UUID.Zero; + _SecondLifePhotoID = UUID.Zero; + + InitializeComponent(); + + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmProfile"); + + if (Utilities.GetRunningRuntime() != Utilities.Runtime.Mono) + { + this.webProfile = new System.Windows.Forms.WebBrowser(); + // + // webProfile + // + this.webProfile.Location = new System.Drawing.Point(6, 32); + this.webProfile.Size = new System.Drawing.Size(426, 490); + this.webProfile.Name = "webProfile"; + this.webProfile.TabIndex = 2; + this.webProfile.Visible = false; + this.tabPageWeb.Controls.Add(this.webProfile); + this.tabPageWeb.ResumeLayout(false); + this.tabPageWeb.PerformLayout(); + this.PerformLayout(); + } + + p = new SetPropertiesCallBack(SetProperties); + g = new SetGroupsCallBack(SetGroups); + i = new SetInterestsCallBack(SetInterests); + sfp = new SetFirstPhotoCallBack(SetFirstPhoto); + ssp = new SetSecondPhotoCallBack(SetSecondPhoto); + + this.tabPageSecondLife.Text = bot.Localization.clResourceManager.getText("frmProfile.tabPageSecondLife"); + this.tabPageWeb.Text = bot.Localization.clResourceManager.getText("frmProfile.tabPageWeb"); + this.tabPageInterests.Text = bot.Localization.clResourceManager.getText("frmProfile.tabPageInterests"); + this.tabPageFirstLife.Text = bot.Localization.clResourceManager.getText("frmProfile.tabPageFirstLife"); + this.lblName.Text = bot.Localization.clResourceManager.getText("frmProfile.lblName"); + this.lblBorn.Text = bot.Localization.clResourceManager.getText("frmProfile.lblBorn"); + this.lblPhoto.Text = bot.Localization.clResourceManager.getText("frmProfile.lblPhoto"); + this.lblAccount.Text = bot.Localization.clResourceManager.getText("frmProfile.lblAccount"); + this.lblPartner.Text = bot.Localization.clResourceManager.getText("frmProfile.lblPartner"); + this.lblGroups.Text = bot.Localization.clResourceManager.getText("frmProfile.lblGroups"); + this.lblAbout.Text = bot.Localization.clResourceManager.getText("frmProfile.lblAbout"); + this.lblWeb.Text = bot.Localization.clResourceManager.getText("frmProfile.lblWeb"); + this.lblWants.Text = bot.Localization.clResourceManager.getText("frmProfile.lblWants"); + this.chkBuild.Text = bot.Localization.clResourceManager.getText("frmProfile.chkBuild"); + this.chkMeet.Text = bot.Localization.clResourceManager.getText("frmProfile.chkMeet"); + this.chkSell.Text = bot.Localization.clResourceManager.getText("frmProfile.chkSell"); + this.chkBeHired.Text = bot.Localization.clResourceManager.getText("frmProfile.chkBeHired"); + this.chkExplore.Text = bot.Localization.clResourceManager.getText("frmProfile.chkExplore"); + this.chkGroup.Text = bot.Localization.clResourceManager.getText("frmProfile.chkGroup"); + this.chkBuy.Text = bot.Localization.clResourceManager.getText("frmProfile.chkBuy"); + this.chkHire.Text = bot.Localization.clResourceManager.getText("frmProfile.chkHire"); + this.lblSkills.Text = bot.Localization.clResourceManager.getText("frmProfile.lblSkills"); + this.chkTextures.Text = bot.Localization.clResourceManager.getText("frmProfile.chkTextures"); + this.chkModeling.Text = bot.Localization.clResourceManager.getText("frmProfile.chkModeling"); + this.chkScripting.Text = bot.Localization.clResourceManager.getText("frmProfile.chkScripting"); + this.chkArchitecture.Text = bot.Localization.clResourceManager.getText("frmProfile.chkArchitecture"); + this.chkEventPlanning.Text = bot.Localization.clResourceManager.getText("frmProfile.chkEventPlanning"); + this.chkCustomChars.Text = bot.Localization.clResourceManager.getText("frmProfile.chkCustomChars"); + this.lblLanguages.Text = bot.Localization.clResourceManager.getText("frmProfile.lblLanguages"); + this.lblPhotoF.Text = bot.Localization.clResourceManager.getText("frmProfile.lblPhotoF"); + this.lblInfo.Text = bot.Localization.clResourceManager.getText("frmProfile.lblInfo"); + + + this.btnClose.ButtonBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.Image = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.idle"); + this.btnClose.OnMouseClickBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onclick"); + this.btnClose.OnMouseOverBitmap = bot.Localization.clResourceManager.getNoLanguageButton("btnClose.onhover"); + } + + public void RefreshInfo() + { + _client.Avatars.AvatarPropertiesReply += new EventHandler(this.Avatars_AvatarPropertiesReply); + _client.Avatars.AvatarGroupsReply += new EventHandler(this.Avatars_OnAvatarGroups); + _client.Avatars.AvatarInterestsReply += new EventHandler(this.Avatars_OnAvatarInterests); + + FillInformation(); + } + + private void FillInformation() + { + string avatarName = ""; + + _client.key2Name(_targetID, out avatarName); + + txtUUID.Text = _targetID.ToString().ToUpper(); + txtName.Text = avatarName; + + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmProfile.Text"), avatarName); + lblProfile.Text = this.Text; + + _client.Avatars.RequestAvatarProperties(_targetID); + } + + void Avatars_AvatarPropertiesReply(object sender, AvatarPropertiesReplyEventArgs e) + { + if (e.AvatarID == _targetID) + { + _client.Avatars.AvatarPropertiesReply -= this.Avatars_AvatarPropertiesReply; + this.Invoke(p, e.Properties); + } + return; + } + + void Avatars_OnAvatarGroups(object sender, AvatarGroupsReplyEventArgs e) + { + if (e.AvatarID == _targetID) + { + _client.Avatars.AvatarGroupsReply -= this.Avatars_OnAvatarGroups; + this.Invoke(g, e.Groups); + } + return; + } + + void Avatars_OnAvatarInterests(object sender, AvatarInterestsReplyEventArgs e) + { + if (e.AvatarID == _targetID) + { + _client.Avatars.AvatarInterestsReply -= this.Avatars_OnAvatarInterests; + this.Invoke(i, e.Interests); + } + return; + } + + private void SetInterests(Avatar.Interests Interests) + { + txtSkills.Text = Interests.SkillsText; + txtLanguages.Text = Interests.LanguagesText; + txtWants.Text = Interests.WantToText; + + DecodedInterests _decodedInterests; + + _decodedInterests = DecodeInterests(Interests); + + chkHire.Checked = _decodedInterests.Hire; + chkBeHired.Checked = _decodedInterests.BeHired; + chkSell.Checked = _decodedInterests.Sell; + chkBuy.Checked = _decodedInterests.Buy; + chkGroup.Checked = _decodedInterests.Group; + chkMeet.Checked = _decodedInterests.Meet; + chkExplore.Checked = _decodedInterests.Explore; + chkBuild.Checked = _decodedInterests.Build; + chkCustomChars.Checked = _decodedInterests.CustomCharacters; + chkScripting.Checked = _decodedInterests.Scripting; + chkModeling.Checked = _decodedInterests.Modeling; + chkEventPlanning.Checked = _decodedInterests.EventPlanning; + chkArchitecture.Checked = _decodedInterests.Architecture; + chkTextures.Checked = _decodedInterests.Textures; + } + + private DecodedInterests DecodeInterests(Avatar.Interests Interests) + { + DecodedInterests _decodedInterests = new DecodedInterests(); + + // SKILLS + if ((Interests.SkillsMask & 0x01) == 0x01) + _decodedInterests.Textures = true; + else + _decodedInterests.Textures = false; + if ((Interests.SkillsMask & 0x02) == 0x02) + _decodedInterests.Architecture = true; + else + _decodedInterests.Architecture = false; + if ((Interests.SkillsMask & 0x04) == 0x04) + _decodedInterests.EventPlanning = true; + else + _decodedInterests.EventPlanning = false; + if ((Interests.SkillsMask & 0x08) == 0x08) + _decodedInterests.Modeling = true; + else + _decodedInterests.Modeling = false; + if ((Interests.SkillsMask & 0x10) == 0x10) + _decodedInterests.Scripting = true; + else + _decodedInterests.Scripting = false; + if ((Interests.SkillsMask & 0x20) == 0x20) + _decodedInterests.CustomCharacters = true; + else + _decodedInterests.CustomCharacters = false; + + // WANTS + if ((Interests.WantToMask & 0x01) == 0x01) + _decodedInterests.Build = true; + else + _decodedInterests.Build = false; + if ((Interests.WantToMask & 0x02) == 0x02) + _decodedInterests.Explore = true; + else + _decodedInterests.Explore = false; + if ((Interests.WantToMask & 0x04) == 0x04) + _decodedInterests.Meet = true; + else + _decodedInterests.Meet = false; + if ((Interests.WantToMask & 0x08) == 0x08) + _decodedInterests.Group = true; + else + _decodedInterests.Group = false; + if ((Interests.WantToMask & 0x10) == 0x10) + _decodedInterests.Buy = true; + else + _decodedInterests.Buy = false; + if ((Interests.WantToMask & 0x20) == 0x20) + _decodedInterests.Sell = true; + else + _decodedInterests.Sell = false; + if ((Interests.WantToMask & 0x40) == 0x40) + _decodedInterests.BeHired = true; + else + _decodedInterests.BeHired = false; + if ((Interests.WantToMask & 0x80) == 0x80) + _decodedInterests.Hire = true; + else + _decodedInterests.Hire = false; + + return _decodedInterests; + } + + private void SetGroups(List Groups) + { + lstGroups.Clear(); + foreach (AvatarGroup group in Groups) + { + lstGroups.Items.Add(group.GroupID.ToString(), group.GroupName, 0); + } + for (int i = 0; i < lstGroups.Items.Count; i++) + { + lstGroups.Items[i].ForeColor = Color.White; + lstGroups.Items[i].BackColor = Color.Black; + lstGroups.Items[i].UseItemStyleForSubItems = true; + } + } + + private void SetProperties(Avatar.AvatarProperties Properties) + { + string partnerName = ""; + Uri WebURL; + + txtAbout.Text = Properties.AboutText; + txtBorn.Text = Properties.BornOn; + _FirstLifePhotoID = Properties.FirstLifeImage; + txtInfo.Text = Properties.FirstLifeText; + _client.key2Name(Properties.Partner, out partnerName); + if (partnerName != "(???) (???)") + txtPartner.Text = partnerName; + else + txtPartner.Text = ""; + _SecondLifePhotoID = Properties.ProfileImage; + txtWeb.Text = Properties.ProfileURL; + if (Properties.Identified) + txtAccount.Text += (bot.Localization.clResourceManager.getText("frmProfile.Account.Identified") + System.Environment.NewLine); + if (Properties.MaturePublish) + txtAccount.Text += (bot.Localization.clResourceManager.getText("frmProfile.Account.Mature") + System.Environment.NewLine); + if (Properties.Transacted) + txtAccount.Text += (bot.Localization.clResourceManager.getText("frmProfile.Account.Payment") + System.Environment.NewLine); + if (Properties.AllowPublish) + txtAccount.Text += (bot.Localization.clResourceManager.getText("frmProfile.Account.Public") + System.Environment.NewLine); + if (Utilities.GetRunningRuntime() != Utilities.Runtime.Mono) + { + if (Uri.TryCreate(txtWeb.Text, UriKind.Absolute, out WebURL)) + { + webProfile.Url = WebURL; + webProfile.Visible = true; + } + else + { + webProfile.Url = null; + webProfile.Visible = false; + } + } + if (_FirstLifePhotoID != UUID.Zero) + { + if (File.Exists("textures/" + _FirstLifePhotoID.ToString().ToLower() + ".jp2")) + this.Invoke(sfp); + else + _client.Assets.RequestImage(_FirstLifePhotoID, ImageType.Normal, OnFirstLifePhotoReceived); + } + if (_SecondLifePhotoID != UUID.Zero) + { + if (File.Exists("textures/" + _SecondLifePhotoID.ToString().ToLower() + ".jp2")) + this.Invoke(ssp); + else + _client.Assets.RequestImage(_SecondLifePhotoID, ImageType.Normal, OnSecondLifePhotoReceived); + } + } + + private void OnFirstLifePhotoReceived(TextureRequestState state, AssetTexture asset) + { + if (asset.AssetID == _FirstLifePhotoID) + { + if (asset != null) + { + try + { + File.WriteAllBytes("textures/" + asset.AssetID.ToString().ToLower() + ".jp2", asset.AssetData); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, _client); + } + finally + { + this.Invoke(sfp); + } + } + } + } + + private void OnSecondLifePhotoReceived(TextureRequestState state, AssetTexture asset) + { + if (asset.AssetID == _SecondLifePhotoID) + { + if (asset != null) + { + try + { + File.WriteAllBytes("textures/" + asset.AssetID.ToString().ToLower() + ".jp2", asset.AssetData); + } + catch (Exception ex) + { + bot.Console.WriteLine(ex.Message, Helpers.LogLevel.Error, _client); + } + finally + { + this.Invoke(ssp); + } + } + } + } + + private void SetFirstPhoto() + { + ManagedImage nullImage; + byte[] jp2Data; + if (File.Exists("textures/" + _FirstLifePhotoID.ToString().ToLower() + ".jp2")) + jp2Data = File.ReadAllBytes("textures/" + _FirstLifePhotoID.ToString().ToLower() + ".jp2"); + else + return; + + if (jp2Data != null) + if (OpenJPEG.DecodeToImage(jp2Data, out nullImage, out _FirstLifePhoto)) + picPhotoF.Image = _FirstLifePhoto; + } + + private void SetSecondPhoto() + { + ManagedImage nullImage; + byte[] jp2Data; + if (File.Exists("textures/" + _SecondLifePhotoID.ToString().ToLower() + ".jp2")) + jp2Data = File.ReadAllBytes("textures/" + _SecondLifePhotoID.ToString().ToLower() + ".jp2"); + else + return; + + if (jp2Data != null) + if (OpenJPEG.DecodeToImage(jp2Data, out nullImage, out _SecondLifePhoto)) + picPhoto.Image = _SecondLifePhoto; + } + + private void btnClose_Click(object sender, EventArgs e) + { + this.Dispose(); + } + + private void frmProfile_MouseDown(object sender, MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + private void frmProfile_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + private struct DecodedInterests + { + public bool Hire; + public bool BeHired; + public bool Sell; + public bool Buy; + public bool Group; + public bool Meet; + public bool Explore; + public bool Build; + public bool CustomCharacters; + public bool Scripting; + public bool Modeling; + public bool EventPlanning; + public bool Architecture; + public bool Textures; + } + } +} diff --git a/SLBot/bot/GUI/frmProfile.resx b/SLBot/bot/GUI/frmProfile.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/SLBot/bot/GUI/frmProfile.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmResult.Designer.cs b/SLBot/bot/GUI/frmResult.Designer.cs new file mode 100644 index 0000000..d146e50 --- /dev/null +++ b/SLBot/bot/GUI/frmResult.Designer.cs @@ -0,0 +1,97 @@ +namespace bot.GUI +{ + partial class frmResult + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmResult)); + this.btnOK = new clControls.clImageButton(); + this.lblDescription = new System.Windows.Forms.Label(); + this.txtResult = new System.Windows.Forms.RichTextBox(); + this.SuspendLayout(); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(121, 230); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 0; + this.btnOK.Text = "OK"; + this.btnOK.MouseClick += new System.Windows.Forms.MouseEventHandler(btnOK_MouseClick); + this.btnOK.BackColor = System.Drawing.Color.Transparent; + // + // lblDescription + // + this.lblDescription.AutoSize = true; + this.lblDescription.BackColor = System.Drawing.Color.Transparent; + this.lblDescription.ForeColor = System.Drawing.Color.White; + this.lblDescription.Location = new System.Drawing.Point(22, 9); + this.lblDescription.Name = "lblDescription"; + this.lblDescription.Size = new System.Drawing.Size(35, 13); + this.lblDescription.TabIndex = 2; + this.lblDescription.Text = "label1"; + // + // txtResult + // + this.txtResult.BackColor = System.Drawing.Color.Black; + this.txtResult.ForeColor = System.Drawing.Color.White; + this.txtResult.Location = new System.Drawing.Point(15, 25); + this.txtResult.Name = "txtResult"; + this.txtResult.ReadOnly = true; + this.txtResult.Size = new System.Drawing.Size(293, 199); + this.txtResult.TabIndex = 4; + this.txtResult.Text = ""; + // + // frmResult + // + //this.AcceptButton = this.btnOK; + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmResult"); + this.ClientSize = new System.Drawing.Size(320, 265); + this.ControlBox = false; + this.Controls.Add(this.txtResult); + this.Controls.Add(this.lblDescription); + this.Controls.Add(this.btnOK); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmResult"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmResult"; + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmResult_MouseMove); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmResult_MouseDown); + this.TransparencyKey = System.Drawing.Color.Yellow; + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private clControls.clImageButton btnOK; + private System.Windows.Forms.Label lblDescription; + private System.Windows.Forms.RichTextBox txtResult; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmResult.cs b/SLBot/bot/GUI/frmResult.cs new file mode 100644 index 0000000..e43d08b --- /dev/null +++ b/SLBot/bot/GUI/frmResult.cs @@ -0,0 +1,77 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmResult.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace bot.GUI +{ + public partial class frmResult : Form + { + public string _output; + private Point mouse_offset; + + public frmResult(string Title, string Description, string Result) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmResult"); + this.Text = Title; + lblDescription.Text = Description; + txtResult.Text = Result; + } + + void btnOK_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e) + { + this.Close(); + } + + void frmResult_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + + void frmResult_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + } +} diff --git a/SLBot/bot/GUI/frmResult.resx b/SLBot/bot/GUI/frmResult.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/SLBot/bot/GUI/frmResult.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/GUI/frmScriptDialog.Designer.cs b/SLBot/bot/GUI/frmScriptDialog.Designer.cs new file mode 100644 index 0000000..3d48565 --- /dev/null +++ b/SLBot/bot/GUI/frmScriptDialog.Designer.cs @@ -0,0 +1,301 @@ +namespace bot.GUI +{ + partial class frmScriptDialog + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmScriptDialog)); + this.lblObject = new System.Windows.Forms.Label(); + this.btn1 = new System.Windows.Forms.Button(); + this.btn2 = new System.Windows.Forms.Button(); + this.btn3 = new System.Windows.Forms.Button(); + this.btn4 = new System.Windows.Forms.Button(); + this.btn5 = new System.Windows.Forms.Button(); + this.btn6 = new System.Windows.Forms.Button(); + this.btn7 = new System.Windows.Forms.Button(); + this.btn8 = new System.Windows.Forms.Button(); + this.btn9 = new System.Windows.Forms.Button(); + this.btn10 = new System.Windows.Forms.Button(); + this.btn11 = new System.Windows.Forms.Button(); + this.btn12 = new System.Windows.Forms.Button(); + this.lblMessage = new System.Windows.Forms.Label(); + this.txtObject = new System.Windows.Forms.TextBox(); + this.lblOwner = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lblObject + // + this.lblObject.AutoSize = true; + this.lblObject.BackColor = System.Drawing.Color.Transparent; + this.lblObject.ForeColor = System.Drawing.Color.White; + this.lblObject.Location = new System.Drawing.Point(22, 9); + this.lblObject.Name = "lblObject"; + this.lblObject.Size = new System.Drawing.Size(35, 13); + this.lblObject.TabIndex = 0; + this.lblObject.Text = "label1"; + // + // btn1 + // + this.btn1.BackColor = System.Drawing.Color.Black; + this.btn1.ForeColor = System.Drawing.Color.White; + this.btn1.Location = new System.Drawing.Point(42, 227); + this.btn1.Name = "btn1"; + this.btn1.Size = new System.Drawing.Size(75, 23); + this.btn1.TabIndex = 1; + this.btn1.Text = "button1"; + this.btn1.UseVisualStyleBackColor = false; + this.btn1.Visible = false; + this.btn1.Click += new System.EventHandler(this.btn1_Click); + // + // btn2 + // + this.btn2.BackColor = System.Drawing.Color.Black; + this.btn2.ForeColor = System.Drawing.Color.White; + this.btn2.Location = new System.Drawing.Point(123, 227); + this.btn2.Name = "btn2"; + this.btn2.Size = new System.Drawing.Size(75, 23); + this.btn2.TabIndex = 2; + this.btn2.Text = "button2"; + this.btn2.UseVisualStyleBackColor = false; + this.btn2.Visible = false; + this.btn2.Click += new System.EventHandler(this.btn2_Click); + // + // btn3 + // + this.btn3.BackColor = System.Drawing.Color.Black; + this.btn3.ForeColor = System.Drawing.Color.White; + this.btn3.Location = new System.Drawing.Point(204, 227); + this.btn3.Name = "btn3"; + this.btn3.Size = new System.Drawing.Size(75, 23); + this.btn3.TabIndex = 3; + this.btn3.Text = "button3"; + this.btn3.UseVisualStyleBackColor = false; + this.btn3.Visible = false; + this.btn3.Click += new System.EventHandler(this.btn3_Click); + // + // btn4 + // + this.btn4.BackColor = System.Drawing.Color.Black; + this.btn4.ForeColor = System.Drawing.Color.White; + this.btn4.Location = new System.Drawing.Point(42, 198); + this.btn4.Name = "btn4"; + this.btn4.Size = new System.Drawing.Size(75, 23); + this.btn4.TabIndex = 4; + this.btn4.Text = "button4"; + this.btn4.UseVisualStyleBackColor = false; + this.btn4.Visible = false; + this.btn4.Click += new System.EventHandler(this.btn4_Click); + // + // btn5 + // + this.btn5.BackColor = System.Drawing.Color.Black; + this.btn5.ForeColor = System.Drawing.Color.White; + this.btn5.Location = new System.Drawing.Point(123, 198); + this.btn5.Name = "btn5"; + this.btn5.Size = new System.Drawing.Size(75, 23); + this.btn5.TabIndex = 5; + this.btn5.Text = "button5"; + this.btn5.UseVisualStyleBackColor = false; + this.btn5.Visible = false; + this.btn5.Click += new System.EventHandler(this.btn5_Click); + // + // btn6 + // + this.btn6.BackColor = System.Drawing.Color.Black; + this.btn6.ForeColor = System.Drawing.Color.White; + this.btn6.Location = new System.Drawing.Point(204, 198); + this.btn6.Name = "btn6"; + this.btn6.Size = new System.Drawing.Size(75, 23); + this.btn6.TabIndex = 6; + this.btn6.Text = "button6"; + this.btn6.UseVisualStyleBackColor = false; + this.btn6.Visible = false; + this.btn6.Click += new System.EventHandler(this.btn6_Click); + // + // btn7 + // + this.btn7.BackColor = System.Drawing.Color.Black; + this.btn7.ForeColor = System.Drawing.Color.White; + this.btn7.Location = new System.Drawing.Point(42, 169); + this.btn7.Name = "btn7"; + this.btn7.Size = new System.Drawing.Size(75, 23); + this.btn7.TabIndex = 7; + this.btn7.Text = "button7"; + this.btn7.UseVisualStyleBackColor = false; + this.btn7.Visible = false; + this.btn7.Click += new System.EventHandler(this.btn7_Click); + // + // btn8 + // + this.btn8.BackColor = System.Drawing.Color.Black; + this.btn8.ForeColor = System.Drawing.Color.White; + this.btn8.Location = new System.Drawing.Point(123, 169); + this.btn8.Name = "btn8"; + this.btn8.Size = new System.Drawing.Size(75, 23); + this.btn8.TabIndex = 8; + this.btn8.Text = "button8"; + this.btn8.UseVisualStyleBackColor = false; + this.btn8.Visible = false; + this.btn8.Click += new System.EventHandler(this.btn8_Click); + // + // btn9 + // + this.btn9.BackColor = System.Drawing.Color.Black; + this.btn9.ForeColor = System.Drawing.Color.White; + this.btn9.Location = new System.Drawing.Point(204, 169); + this.btn9.Name = "btn9"; + this.btn9.Size = new System.Drawing.Size(75, 23); + this.btn9.TabIndex = 9; + this.btn9.Text = "button9"; + this.btn9.UseVisualStyleBackColor = false; + this.btn9.Visible = false; + this.btn9.Click += new System.EventHandler(this.btn9_Click); + // + // btn10 + // + this.btn10.BackColor = System.Drawing.Color.Black; + this.btn10.ForeColor = System.Drawing.Color.White; + this.btn10.Location = new System.Drawing.Point(42, 140); + this.btn10.Name = "btn10"; + this.btn10.Size = new System.Drawing.Size(75, 23); + this.btn10.TabIndex = 10; + this.btn10.Text = "button10"; + this.btn10.UseVisualStyleBackColor = false; + this.btn10.Visible = false; + this.btn10.Click += new System.EventHandler(this.btn10_Click); + // + // btn11 + // + this.btn11.BackColor = System.Drawing.Color.Black; + this.btn11.ForeColor = System.Drawing.Color.White; + this.btn11.Location = new System.Drawing.Point(123, 140); + this.btn11.Name = "btn11"; + this.btn11.Size = new System.Drawing.Size(75, 23); + this.btn11.TabIndex = 11; + this.btn11.Text = "button11"; + this.btn11.UseVisualStyleBackColor = false; + this.btn11.Visible = false; + this.btn11.Click += new System.EventHandler(this.btn11_Click); + // + // btn12 + // + this.btn12.BackColor = System.Drawing.Color.Black; + this.btn12.ForeColor = System.Drawing.Color.White; + this.btn12.Location = new System.Drawing.Point(204, 140); + this.btn12.Name = "btn12"; + this.btn12.Size = new System.Drawing.Size(75, 23); + this.btn12.TabIndex = 12; + this.btn12.Text = "button12"; + this.btn12.UseVisualStyleBackColor = false; + this.btn12.Visible = false; + this.btn12.Click += new System.EventHandler(this.btn12_Click); + // + // lblMessage + // + this.lblMessage.AutoSize = true; + this.lblMessage.BackColor = System.Drawing.Color.Transparent; + this.lblMessage.ForeColor = System.Drawing.Color.White; + this.lblMessage.Location = new System.Drawing.Point(22, 70); + this.lblMessage.Name = "lblMessage"; + this.lblMessage.Size = new System.Drawing.Size(35, 13); + this.lblMessage.TabIndex = 13; + this.lblMessage.Text = "label1"; + // + // txtObject + // + this.txtObject.Location = new System.Drawing.Point(25, 25); + this.txtObject.Name = "txtObject"; + this.txtObject.ReadOnly = true; + this.txtObject.Size = new System.Drawing.Size(272, 20); + this.txtObject.TabIndex = 14; + // + // lblOwner + // + this.lblOwner.AutoSize = true; + this.lblOwner.BackColor = System.Drawing.Color.Transparent; + this.lblOwner.ForeColor = System.Drawing.Color.White; + this.lblOwner.Location = new System.Drawing.Point(22, 48); + this.lblOwner.Name = "lblOwner"; + this.lblOwner.Size = new System.Drawing.Size(35, 13); + this.lblOwner.TabIndex = 15; + this.lblOwner.Text = "label1"; + // + // frmScriptDialog + // + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmScriptDialog"); + this.ClientSize = new System.Drawing.Size(320, 265); + this.ControlBox = false; + this.Controls.Add(this.lblOwner); + this.Controls.Add(this.txtObject); + this.Controls.Add(this.lblMessage); + this.Controls.Add(this.btn12); + this.Controls.Add(this.btn11); + this.Controls.Add(this.btn10); + this.Controls.Add(this.btn9); + this.Controls.Add(this.btn8); + this.Controls.Add(this.btn7); + this.Controls.Add(this.btn6); + this.Controls.Add(this.btn5); + this.Controls.Add(this.btn4); + this.Controls.Add(this.btn3); + this.Controls.Add(this.btn2); + this.Controls.Add(this.btn1); + this.Controls.Add(this.lblObject); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmScriptDialog"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "frmScriptDialog"; + this.MouseDown += new System.Windows.Forms.MouseEventHandler(frmScriptDialog_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(frmScriptDialog_MouseMove); + this.TransparencyKey = System.Drawing.Color.Yellow; + this.Load += new System.EventHandler(this.frmScriptDialog_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.Windows.Forms.Label lblObject; + private System.Windows.Forms.Button btn1; + private System.Windows.Forms.Button btn2; + private System.Windows.Forms.Button btn3; + private System.Windows.Forms.Button btn4; + private System.Windows.Forms.Button btn5; + private System.Windows.Forms.Button btn6; + private System.Windows.Forms.Button btn7; + private System.Windows.Forms.Button btn8; + private System.Windows.Forms.Button btn9; + private System.Windows.Forms.Button btn10; + private System.Windows.Forms.Button btn11; + private System.Windows.Forms.Button btn12; + private System.Windows.Forms.Label lblMessage; + private System.Windows.Forms.TextBox txtObject; + private System.Windows.Forms.Label lblOwner; + } +} \ No newline at end of file diff --git a/SLBot/bot/GUI/frmScriptDialog.cs b/SLBot/bot/GUI/frmScriptDialog.cs new file mode 100644 index 0000000..6c19abf --- /dev/null +++ b/SLBot/bot/GUI/frmScriptDialog.cs @@ -0,0 +1,242 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : frmScriptDialog.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OpenMetaverse; + +namespace bot.GUI +{ + public partial class frmScriptDialog : Form + { + private SecondLifeBot _client; + private ScriptDialogEventArgs _eventArgs; + private Point mouse_offset; + + public frmScriptDialog(SecondLifeBot client, ScriptDialogEventArgs eventArgs) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + InitializeComponent(); + + this.BackgroundImage = bot.Localization.clResourceManager.getWindow("frmScriptDialog"); + + this._client = client; + this._eventArgs = eventArgs; + } + + private void frmScriptDialog_Load(object sender, EventArgs e) + { + this.Text = String.Format(bot.Localization.clResourceManager.getText("frmScriptDialog.Text"), _eventArgs.ObjectName); + lblObject.Text = String.Format(bot.Localization.clResourceManager.getText("frmScriptDialog.lblObject"), _eventArgs.ObjectName); + txtObject.Text = _eventArgs.ObjectID.ToString(); + lblOwner.Text = String.Format(bot.Localization.clResourceManager.getText("frmScriptDialog.lblOwner"), _eventArgs.FirstName, _eventArgs.LastName); + lblMessage.Text = _eventArgs.Message; + PrepareButtons(); + this.Focus(); + } + + private void PrepareButtons() + { + for (int i = 1; i <= _eventArgs.ButtonLabels.Count; i++) + { + switch (i) + { + case 1: + { + btn1.Text = _eventArgs.ButtonLabels[i - 1]; + btn1.Visible = true; + break; + } + case 2: + { + btn2.Text = _eventArgs.ButtonLabels[i - 1]; + btn2.Visible = true; + break; + } + case 3: + { + btn3.Text = _eventArgs.ButtonLabels[i - 1]; + btn3.Visible = true; + break; + } + case 4: + { + btn4.Text = _eventArgs.ButtonLabels[i - 1]; + btn4.Visible = true; + break; + } + case 5: + { + btn5.Text = _eventArgs.ButtonLabels[i - 1]; + btn5.Visible = true; + break; + } + case 6: + { + btn6.Text = _eventArgs.ButtonLabels[i - 1]; + btn6.Visible = true; + break; + } + case 7: + { + btn7.Text = _eventArgs.ButtonLabels[i - 1]; + btn7.Visible = true; + break; + } + case 8: + { + btn8.Text = _eventArgs.ButtonLabels[i - 1]; + btn8.Visible = true; + break; + } + case 9: + { + btn9.Text = _eventArgs.ButtonLabels[i - 1]; + btn9.Visible = true; + break; + } + case 10: + { + btn10.Text = _eventArgs.ButtonLabels[i - 1]; + btn10.Visible = true; + break; + } + case 11: + { + btn11.Text = _eventArgs.ButtonLabels[i - 1]; + btn11.Visible = true; + break; + } + case 12: + { + btn12.Text = _eventArgs.ButtonLabels[i - 1]; + btn12.Visible = true; + break; + } + } + } + } + + private void btn1_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn1.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn2_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn2.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn3_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn3.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn4_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn4.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn5_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn5.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn6_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn6.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn7_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn7.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn8_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn8.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn9_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn9.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn10_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn10.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn11_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn11.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + private void btn12_Click(object sender, EventArgs e) + { + this._client.Self.Chat(btn12.Text, _eventArgs.Channel, ChatType.Normal); + this.Dispose(); + } + + void frmScriptDialog_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + Point mousePos = Control.MousePosition; + mousePos.Offset(mouse_offset.X, mouse_offset.Y); + this.Location = mousePos; //move the form to the desired location + } + } + + void frmScriptDialog_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + { + mouse_offset = new Point(-e.X, -e.Y); + } + } +} diff --git a/SLBot/bot/GUI/frmScriptDialog.resx b/SLBot/bot/GUI/frmScriptDialog.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/SLBot/bot/GUI/frmScriptDialog.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SLBot/bot/IRCSettings.cs b/SLBot/bot/IRCSettings.cs new file mode 100644 index 0000000..3a40c37 --- /dev/null +++ b/SLBot/bot/IRCSettings.cs @@ -0,0 +1,110 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : IRCSettings.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; + +namespace bot +{ + [XmlRoot("IRCSettings")] + public class IRCSettings + { + private String host; + private String channel; + private int port; + private String masterNick; + private bool useIRC; + + public bool isUsingIRC + { + get + { + return this.useIRC; + } + set + { + this.useIRC = value; + } + } + + public String ServerHost + { + get + { + return this.host; + } + set + { + this.host = value; + } + } + + public int ServerPort + { + get + { + return this.port; + } + set + { + this.port = value; + } + } + + public String MainChannel + { + get + { + return this.channel; + } + set + { + this.channel = value; + } + } + + public String Master + { + get + { + return this.masterNick; + } + set + { + this.masterNick = value; + } + } + + } +} diff --git a/SLBot/bot/InstanceHandler.cs b/SLBot/bot/InstanceHandler.cs new file mode 100644 index 0000000..af01842 --- /dev/null +++ b/SLBot/bot/InstanceHandler.cs @@ -0,0 +1,73 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : InstanceHandler.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using System; + using System.Diagnostics; + using System.Reflection; + using System.Runtime.InteropServices; + + public sealed class InstanceHandler + { + private const int WS_SHOWNORMAL = 1; + + public static void HandleRunningInstance(Process instance) + { + if (instance != null) + { + ShowWindowAsync(instance.MainWindowHandle, 1); + SetForegroundWindow(instance.MainWindowHandle); + } + } + + public static Process RunningInstance() + { + Process currentProcess = Process.GetCurrentProcess(); + foreach (Process process2 in Process.GetProcessesByName(currentProcess.ProcessName)) + { + if ((process2.Id != currentProcess.Id) && (Assembly.GetExecutingAssembly().Location.Replace("/", @"\") == process2.MainModule.FileName)) + { + return process2; + } + } + return null; + } + + [DllImport("User32.dll")] + public static extern bool SetForegroundWindow(IntPtr hWnd); + + [DllImport("User32.dll")] + public static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); + } +} + diff --git a/SLBot/bot/LanguageCodes.cs b/SLBot/bot/LanguageCodes.cs new file mode 100644 index 0000000..2d9bab2 --- /dev/null +++ b/SLBot/bot/LanguageCodes.cs @@ -0,0 +1,112 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LanguageCodes.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; + +namespace bot +{ + public class LanguageCodes + { + private Dictionary _LangCodes; + + public LanguageCodes() + { + GenerateLangCodes(); + } + + public Dictionary LangCodes + { + get + { + if (_LangCodes == null) + { + GenerateLangCodes(); + } + + return this._LangCodes; + } + set + { + } + } + + private void GenerateLangCodes() + { + _LangCodes = new Dictionary(); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ca"), "ca"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.cy"), "cy"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.da"), "da"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.de"), "de"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.el"), "el"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.en"), "en"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.es"), "es"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.et"), "et"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.fi"), "fi"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.fr"), "fr"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ga"), "ga"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.gl"), "gl"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.hi"), "hi"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.hr"), "hr"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.hu"), "hu"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.id"), "id"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.is"), "is"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.it"), "it"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.iw"), "iw"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ja"), "ja"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ko"), "ko"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.lt"), "lt"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.lv"), "lv"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.mk"), "mk"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ms"), "ms"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.mt"), "mt"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.nl"), "nl"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.no"), "no"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.pl"), "pl"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.pt"), "pt"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ro"), "ro"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.ru"), "ru"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.sk"), "sk"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.sl"), "sl"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.sr"), "sr"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.sv"), "sv"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.sw"), "sw"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.th"), "th"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.tl"), "tl"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.tr"), "tr"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.uk"), "uk"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.vi"), "vi"); + _LangCodes.Add(bot.Localization.clResourceManager.getText("LanguageCode.yi"), "yi"); + } + } +} diff --git a/SLBot/bot/Localization/clResourceManager.cs b/SLBot/bot/Localization/clResourceManager.cs new file mode 100644 index 0000000..7eb039d --- /dev/null +++ b/SLBot/bot/Localization/clResourceManager.cs @@ -0,0 +1,374 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : clResourceManager.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml; +using System.Globalization; +using System.IO; +using System.Diagnostics; +using System.Collections; +using System.Reflection; +using System.Drawing; +using Microsoft.Win32; +using Claunia.clUtils; + +namespace bot.Localization +{ + public static class clResourceManager + { + private const String RESOURCES_PREFIX = "language_"; + private const String DEFAULT_LOCALE = "en"; + private const String ELEMENT_NAME = "resource"; + private const String ATTRIBUTE_TYPE = "type"; + private const String ATTRIBUTE_ID = "id"; + + private static XmlDocument resourceFile; + + public enum ResourceType + { + Text + } + + private static string[] availableLocales = + { + "ca", + "en", + "es", + "fr" + }; + + private static string[] availableSkins = + { + "blueish", + "redish" + }; + + public static String getText(String key, String def) + { + String text = getText(key); + + if (text == "") + text = def; + + return text; + + } + + public static List getAvailableSkins() + { + List AvailableSkins = new List(); + + for (int i = 0; i < availableSkins.Length; i++) + { + AvailableSkins.Add(availableSkins[i]); + } + + return AvailableSkins; + } + + public static String[] getAvailableLanguages() + { + String[] availableLanguages = new String[availableLocales.Length]; + + for (int i = 0; i < availableLocales.Length; i++) + { + availableLanguages[i] = getText("LanguageCode." + availableLocales[i]); + } + + return availableLanguages; + } + + public static string getCurrentLanguage() + { + return getText("LanguageCode." + getLanguageCode()); + } + + public static void setCurrentLanguage(string language) + { + string languageCode = null; + + for (int i = 0; i < availableLocales.Length; i++) + { + if (getText("LanguageCode." + availableLocales[i]) == language) + { + languageCode = availableLocales[i]; + break; + } + } + + if (languageCode == null) + languageCode = DEFAULT_LOCALE; + + setLanguageCode(languageCode); + + return; + } + + public static void setLanguageCode(string languageCode) + { + bool languageIsAvailable = false; + + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + for (int i = 0; i < availableLocales.Length; i++) + { + if (availableLocales[i] == languageCode) + languageIsAvailable = true; + } + + if (!languageIsAvailable) + languageCode = DEFAULT_LOCALE; + + nbRegistry.SetValue("Language", languageCode); + + return; + } + + public static void setSkin(string skinName) + { + List _skins = getAvailableSkins(); + + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + if (!_skins.Contains(skinName)) + return; + + nbRegistry.SetValue("Skin", skinName); + + return; + } + + public static String getText(String key) + { + Hashtable textTable = getResourceValuesTable(ResourceType.Text); + + String text = ""; + try + { + text = (String)textTable[key]; + } + catch (InvalidCastException ex) + { + text = ""; + } + + if (text == null) + { + text = ""; + } + + return text; + } + + private static Hashtable getResourceValuesTable(ResourceType type) + { + // retrieve data from xml file + XmlDocument xmlDocument = loadXMLFile(); + XmlNodeList values = xmlDocument.GetElementsByTagName("resource"); + + String resourceType = ""; + if (type == ResourceType.Text) + { + resourceType = "Text"; + } + Hashtable valueTable = new Hashtable(); + foreach (XmlElement currentElement in values) + { + if (currentElement.GetAttribute(ATTRIBUTE_TYPE).Equals(resourceType)) + { + { + if (!valueTable.ContainsKey(currentElement.GetAttribute(ATTRIBUTE_ID))) + valueTable.Add(currentElement.GetAttribute(ATTRIBUTE_ID), currentElement.InnerText); + } + } + } + + return valueTable; + } + + private static XmlDocument loadXMLFile() + { + XmlDocument xmlDocument = new XmlDocument(); + + if (resourceFile != null) + { + xmlDocument = resourceFile; + } + else + { + String locale = getLanguageCode(); + + String pathToXMLFile = "OpenMetaverse.bot.Localization." + RESOURCES_PREFIX + locale + ".xml"; + Stream xmlStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToXMLFile); + + if (xmlStream == null) + { + pathToXMLFile = "OpenMetaverse.bot.Localization." + RESOURCES_PREFIX + DEFAULT_LOCALE + ".xml"; + xmlStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToXMLFile); + } + + xmlDocument.Load(new XmlTextReader(xmlStream)); + + resourceFile = xmlDocument; + } + + return xmlDocument; + } + + public static string getCurrentSkin() + { + List _avSkins = getAvailableSkins(); + bool skinIsAvailable = false; + + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + object rkSkin = nbRegistry.GetValue("Skin"); + + if (rkSkin == null) + skinIsAvailable = false; + else + { + if (_avSkins.Contains((string)rkSkin)) + skinIsAvailable = true; + else + skinIsAvailable = false; + } + + if (skinIsAvailable) + return (string)rkSkin; + else + { + string _skin = null; + if (Utilities.GetRunningRuntime() == Utilities.Runtime.Mono) + _skin = "redish"; + else + _skin = "blueish"; + + nbRegistry.SetValue("Skin", _skin); + + return _skin; + } + } + + public static String getLanguageCode() + { + string languageCode; + bool languageIsAvailable = false; + + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + object rkLanguage = nbRegistry.GetValue("Language"); + + if (rkLanguage == null) + languageCode = System.Globalization.CultureInfo.CurrentCulture.TwoLetterISOLanguageName; + else + languageCode = (string)rkLanguage; + + for (int i = 0; i < availableLocales.Length; i++) + { + if (availableLocales[i] == languageCode) + languageIsAvailable = true; + } + + if (!languageIsAvailable) + languageCode = DEFAULT_LOCALE; + + if (rkLanguage == null) + nbRegistry.SetValue("Language", languageCode); + + return languageCode; + } + + public static System.Drawing.Image getButton(string button) + { + String locale = getLanguageCode(); + + String pathToButtonImage = "OpenMetaverse.bot.GUI.skins." + getCurrentSkin() + ".buttons." + locale + "." + button + ".png"; + Stream buttonStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToButtonImage); + + if (buttonStream == null) + { + pathToButtonImage = "OpenMetaverse.bot.GUI.skins." + getCurrentSkin() + ".buttons." + DEFAULT_LOCALE + "." + button + ".png"; + buttonStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToButtonImage); + } + + Image buttonImage = Image.FromStream(buttonStream); + + return buttonImage; + } + + public static System.Drawing.Image getNoLanguageButton(string button) + { + String pathToButtonImage = "OpenMetaverse.bot.GUI.skins." + getCurrentSkin() + ".buttons." + button + ".png"; + Stream buttonStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToButtonImage); + + Image buttonImage = Image.FromStream(buttonStream); + + return buttonImage; + } + + public static System.Drawing.Image getWindow(string window) + { + String pathToWindowImage = "OpenMetaverse.bot.GUI.skins." + getCurrentSkin() + ".windows." + window + ".png"; + Stream windowStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToWindowImage); + + Image windowImage = Image.FromStream(windowStream); + + return windowImage; + } + + public static System.Drawing.Icon getIcon() + { + String pathToIcon; + + if (Utilities.GetRunningRuntime() == Utilities.Runtime.Microsoft) + { + pathToIcon = "OpenMetaverse.natibot.ico"; + } + else + { + pathToIcon = "OpenMetaverse.natibot-mono.ico"; + } + + Stream iconStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToIcon); + System.Drawing.Icon icon = new Icon(iconStream); + + return icon; + } + } +} diff --git a/SLBot/bot/Localization/language_ca.xml b/SLBot/bot/Localization/language_ca.xml new file mode 100644 index 0000000..fa1069a --- /dev/null +++ b/SLBot/bot/Localization/language_ca.xml @@ -0,0 +1,1191 @@ + + + Fallada al descodificar imatge {0}. + Fallada {1} al descodificar l'imatge {0} + Imatge {0} descarregada correctament. + Acabada la descàrrega de la imatge {0} ({1} bytes) + Acceptant teletransport. + Connectant al servidor d'inici de sessió... + Connectant a la regió... + Connectant... + Inici de sessió fallit: {0} + Desconnectat + Connectat + Llegint resposta... + Redirigint... + Eliminant... + Identificador del grup {0} obtingut, sol·licitant membres del grup... + Obtinguts {0} membres del grup. + {0} reportat. + ERROR: No es va poder obtenir la UUID de "{0}". No s'ha canviat el mestre. + "{0}" resolt a {1} + <{0} ({1=""})> {2} (no és del grup): {3} (@{4}:{5}) + <{0} ({1=""})> {2} (no és el mestre): {3} (@{4}:{5}) + El grup actiu per a {0} és {1}. + Estableix el grup actiu. + {0} va fallar al activar el grup {1}. + {0} no sembla ser membre de cap grup. + {0} no sembla ser membre del grup {1}. + Establint el grup {0} com actiu. + Ús: activategroup [grupo] + {0} avatar(es) en {1},{2} + Descarrega la localització de cada agent en la regió especificada. + Fallada a l'obtenir la localització dels agents. + Localització dels agents: + Ús: agentlocations [manejadorderegió] + Anima l'avatar amb l'animació especificada, mostra les animacions del sistema o les que s'estan reproduint actualment. + Començant animació {0} + Parant animació {0} + Ús: animate [uuid] | [list / show / stop] + Estableix l'última aparença guardada. + Aparença establerta correctament. + Iniciant fil d'aparença. + Temps d'espera esgotat establint l'aparença. + [Anex @ {0}] IDLocal: {1} UUID: {2} Desplaçament: {3} + Mostra una llista dels objectes annexats actuals. + Encontrats {0} anexos. + Llista els anexos d'un avatar especificat. + Ús: attachmentsuuid [uuid] + Sobre ell/ella: + Compte: + , perfil per a adults + Nascut el: {0} + Membre charter: + Mostra informació sobre un avatar proper. + Va ocórrer algun error al sol·licitar el perfil de l'avatar. + 1ª Vida: + Fotografia: {0} + Grups: + Identificat + Informació: {0} + Interesos: + Idiomes: {0} + No es pot trobar cap avatar proper cridat {0}. + No es van poder obtenir els grups de l'avatar especificat. + No es van poder obtenir els interessos de l'avatar especificat. + No es va poder obtenir el perfil de l'avatar especificat. + Soci: + , informació de pagament present + , públic + 2ª Vida: + Fotografia: {0} + Habilitats: (0x{0}) {1} + Teixidures: + Ús: avatarinfo [nom] [cognom] + Ell/Ella vol: (0x{0}) {1} + Perfil web: {0} + Mou el bot cap a enrere, un pas o un determinat nombre de segons. + Em vaig moure cap a enrere. + {0}: ambdues cues de transferència buides I el fil d'inventari completat. + Guarda el contingut escorcollat de l'inventari al disc dur. + {0}: La descarrega del asset {1} ({2}) va fallar amb l'error {3} + no + \r\n{0}: {1} elements en la cua, {2} elements sol·licitats al servidor. + {0} {1} està executant-se. + Comenzandas les operacions en segon pla. + Guarda les notes de l'inventari escorcollat al disc dur. + {0}: temps d'espera esgotat pel asset {1} + \r\n{0}: Transferències del servidor ( {1} executant-se ) ha transferit {2} elements amb {3} errors. + Desconegut + Ús: {0} [to <directori>] | [abort] | [status] + \r\n{0}: El recorregut de l'inventari ( {1} executant-se ) ha trobat {2} elements. + {0}: El recorregut de l'inventari ha acabat. + {0}: Escrit {1} + Ús: back (segons) + {0} té {1}L$ + Mostra el balanç de L$. + Temps d'espera esgotat al sol·licitar el balanç. + La distància actual de la càmera és de {0} metres. + Distància de la càmera canviada a {0} metres. + Mostra o canvia la distància actual de la càmera. + Ús: camerafar [distància] + La carpeta actual es {0} + Canvia la carpeta actual de l'inventari. + {0} no es una carpeta. + {0} no s'ha trobat en {1} + cd [ruta] + Fallada a l'establir el permís de còpia, els permisos queden en estat desconegut. + Canvia els permisos d'un objecte i dels elements continguts en el seu inventari. + Es van establir els permisos {0} en {1} objectes i {2} elements del seu inventari. + Trobada la primitiva {0} sol·licitada + Fallada a l'establir el permís de modificació, els permisos queden en estat desconegut. + No es va poder trobar el prim {0} + Usant màscara de permisos: {0} + No es va poder trobar el prim arrel de l'objecte especificat. + Establert el prim arrel com {0} + Ús: changeperms [uuid] (copy) (mod) (xfer) + Fallada a l'establir el permís de transferència, els permisos queden en estat desconegut. + Clona l'aparença d'un avatar proper. + {0} clonat. + No s'ha pogut trobar a {0}. + {0} establint {1} com el grup actiu. + Clona el perfil d'altre avatar tan precisament com sigui possible. ATENCIÓ: Aquest comando destruirà el perfil actual! + Sincronitzat el perfil amb el de {0} + Fallada a l'unir-se al grup {0}. + Fallada a l'obtenir un perfil complet per a aquest UUID. + Unit al grup {0} amb èxit. + Ús: cloneprofile [uuid] + L'aparença de l'avatar {0} és desconeguda. + Ús: clone [nom] + {0} creada per NatiBot el {1}. + Va fallar la creació de la nota: {0}. + Va fallar la creació de la nota. + Crea una nota a partir d'un arxiu de text. + Error descarregant la nota: {0}. + Va fallar a l'obtenir l'element {0} de l'inventari. + Arxiu {0} no trobat. + Va fallar a l'obrir el fitxer {0} amb l'error {1}. + Nota creada amb èxit amb el ItemID {0} i el AssetID {1} + Temps d'espera esgotat. + Error desconegut al pujar la nota. + Ús: createnotecard arxiu.txt + Comença o deixa d'ajupir-se. + Ajupint-se. + Deixant d'ajupir-se. + Ús: crouch [start/stop] + La carpeta {0} s'ha mogut a la Paperera. + Mou una carpeta de l'inventari a la Paperera. + No s'ha trobat la carpeta {0}. + Ús: rmdir [carpeta] + {0} (Grup: {1}, Posició: {2}, UUID: {3}) is probably a bot + Mostra els possibles bots. + Mostra la dilatació temporal del simulador actual. + La dilatació temporal és {0}. + Descarrega l'animació especificada per la seva UUID. + L'animació {0} s'ha descarregat correctament ({1} bytes). + Error {1} al descarregar l'animació {0}. + S'esperava un UUID. + Temps d'espera esgotat al preguntar per l'animació. + Ús: downloadanimation [uuid] + Descarrega l'arxiu RAW del terreny per a aquesta regió. + L'arxiu del terreny {0} ({1} bytes) s'ha descarregat satisfactòriament i escrit en {2} + Temps d'espera per les dades del terreny esgotat. + Ús: downloadterrain [tempsd'espera] + Descarrega la teixidura especificada per la seva UUID. + El simulador indica que la teixidura {0} no ha estat trobada. + Guardat {0}.jp2 ({1}x{2}) + Temps d'espera per la teixidura esgotat. + Ús: downloadtexture [uuid] [prioridad] + Ús: downloadtexture [texture] + Exporta l'objecte especificat annexat a l'avatar al disc dur. + Exportades {0} primitives a {1}{2} + L'objecte annexat en {0} va fallar a l'exportar. + El punt d'annexió especificat no és vàlid. + Atenció: No es van poder obtenir totes les propietats de: + Exporta tots els annexos d'un avatar. + Es van intentar exportar {0} annexos. + L'annex de {0} s'ha exportat amb èxit. + Ús: dumpattachments [uuid] + Ús: dumpattachment [uuid] [punt-de-anex: RightHand,LeftHand,Skull,LeftEyeball,RightEyeball,LeftFoot,RightFoot,RightEar,LeftEar,LeftHip,RightHip,LeftUpperLeg,RightUpperLeg,RightLowerLeg,LeftLowerLeg,RightForearm,LeftForearm,Nose,RightShoulder,LeftShoulder,RightPec,LeftPec,Chin,RightUpperArm,LeftUpperArm,Spine,Chest,Pelvis,Stomach,Mouth] + Guarda totes les teixidures que vesteix un avatar al disc dur. + Descarregan + No es va poder trobar l'avatar {0} + Ús: dumpoutfit [uuid] + Repeteix tot el que el mestre digui. + Repetició desactivada. + Repetició activada. + Buida el contingut de la carpeta Lost & Found. + Carpeta Lost & Found folder buidada. + Buida del contingut de la paperera. + Paperera buidada. + Exporta un objecte a un arxiu XML. + XML exportat, comença la descàrrega de {0} teixidures. + Exportades {0} primitives to {1} + No es pot trobar el UUID {0} entre els {1} objectes indexats en el simulador actual. + Atenció: No es van poder obtenir totes les propietats de: + Exporta la roba d'un avatar a un arxiu xml. + Exportada l'aparença de l'avatar {0} a {1} + No es va poder trobar l'aparença de l'avatar {0}. + Ús: exportoutfit [uuid] arxiu.xml + Genera un script LSL amb el sistema de partícules d'un objecte especificat. + Partícules de l'objecte {0} exportades. + L'objecte {0} no posseïx un sistema de partícules. + No es pot trobar l'objecte amb l'identificador {0} + No es pot trobar la primitiva {0} + Ús: exportparticles [uuid] + Ús: export [uuid] [archivo.xml] + Troba tots els objectes el nom dels quals continguin les condicions de recerca. + Recerca finalitzada. + Objecte '{0}': {1} + Atenció: No es van poder obtenir totes les propietats de: + Ús: findobjects [alcance] [condicions de recerca] + Busca un simulador i mostra informació sobre ell. + {0}: manejador={1} ({2},{3}) + Va fallar la recerca de {0}. + Ús: findsim [nom del simulador] + Comprova si una teixidura específica és visible en una cara determinada. + Recerca finalitzada. + Primitiva {0} ({1}) té la cara {2} establerta a {3} + Ús: findtexture [cara] [textura] + Comença o deixa de volar. + Començant a volar. + Deixant de volar. + Vola a la posició especificada per un màxim de segons. + Volant a {0} en {1} segons + Ús: flyto x y z [segons] + Ús: fly [start/stop] + El servidor va cancel·lar el pilot automàtic. + [Pilot automàtic] A {0} metres de l'objectiu, començant pilot automàtic a <{1},{2},{3}> + Segueix a altre avatar. + Seguint a {0}. + Seguint al UUID {0}. + No s'ha especificat un mestre. + Impossible seguir a {0}. Possiblement estigui més enllà de la càmera actual. + Impossible seguir al UUID {0}. + Mou el bot cap a endavant, un pas o un determinat nombre de segons. + Em vaig moure cap a endavant. + Ús: forward [segons] + Llista dels amics del bot. + El bot actual no té amics. + Impossible manar els diners a la consola. Aquest comando només funciona quan s'executa en missatge instantani. + Dóna tot els diners del bot al mestre. + Lliurats {0}L$ a {1}. + NatiBot lliurant tot els diners. + Dóna objectes de la carpeta actual a un avatar. + No es pot donar la carpeta {0}\n + Lliurat {0}\n + S'esperava la UUID d'un agent com primer argument. + No s'ha trobat cap element de l'inventari cridat {0}. + Ús: give [uuid del agente] [elemento1] (elemento2) (elemento3) (...) + Es teletransporta a casa. + Va fallar el teletransporte a casa. + Teletransportado a casa amb èxit. + Va a un simulador usant un teletransporte. + Teletransporte fallit: {0}. + Va a la destinació indicada per un landmark usant un teletransporte. + Teletransporte fallit: {0}. + UUID invàlida. + Teletransportado amb èxit. + Teletransportándose a{0}. + Ús: gotolm [uuid] + Teletransportado a {0} amb èxit. + Ús: goto sim/x/y/z + Descarrega totes les capes del mapa de la grid. + Capa({0}) Inferior: {1} Esquerra: {2} Superior: {3} Dreta: {4} + Llest. + Descarrega tota la informació visible del mapa de la grid. + Llest. + Mostra els grups als quals pertany el bot. + El bot no pertany a cap grup. + Mostra tots els comandos disponibles. + \n\nAYUDA\nEl bot acceptarà teletransports del mestre i de membres del seu grup.\n + Envia un missatge instantani. + Envia un missatge instantani a un grup. + Va fallar l'enviament del missatge instantani al grup. + Unit a la sala del grup {0} satisfactòriament. + Va fallar a l'unir-se a la sala del grup. + Es va enviar el missatge instantani "{1}" al grup {0}. + Temps d'espera esgotat entrant en la sala del grup. + Ús: imgroup [uuid_del_grupo] [mensaje] + No es va trobar qui és {0}. + Importació fallida, temps d'espera esgotat creant una primitiva filla. + Importació completada. + Sol·licitant recollida a l'inventari de l'objecte importat. + Importa les primivitas descrites en un arxiu XML. + Fallada {1} al de-serialitzar {0}. + Important {0} estructures. + Atenció: Fallada al vincular {0} primitives. + ATENCIÓ: Ignorant un grup sense primitiva arrel. + Importa una aparença d'un arxiu XML. + Ús: importoutfit [arxiu] + Establint les propietats de {0}. + Importació fallida, temps d'espera esgotant creant la primitiva arrel. + Ús: import [arxiu] (usegroup) + S'ha enviat el missatge instantani "{1}" a {0}. + Ús: im [nom] [cognom] [misatge] + Mostra i escorcolla l'inventari. + Nom ambigu. Es van trobar {0} grups (UUIDs en la consola) + S'uneix a un grup. + ERROR: Vaig obtenir una resposta buida. + {0} no sembla ser una UUID vàlida. + Es va unir al grup {0}. + Els grups oposats són: + No es va poder unir al grup {0} + Ús: joingroup [nom del grup] | joingroup [uuid] + No es va poder obtenir la UUID per al grup {0}. + Salta. + Començant a saltar. + Deixant de saltar. + Abandona un grup. + {0} no va poder abandonar el grup {1}. + {0} abandonó el grupo {1}. + {0} no sembla ser membre de cap grup. + {0} no sembla ser membre del grup {1}. + Ús: leavegroup [grup] + Mou el bot cap a l'esquerra, un pas o un determinat nombre de segons. + Em vaig moure cap a l'esquerra. + Ús: left [segons] + Mostra el contingut de la carpeta actual de l'inventari. + El contingut de la carpeta encara no està llest. + Ús: ls ( -l ) + Carrega comandos d'una DLL. + Carregat l'ensamblat {0}. + Ús: load [ensamblado.dll] + Mostra la localització actual. + Simulador: '{0}' Localització: {1} + Troba un amic. + Trobat l'amic {0} en {1}/{2}/{3} + Es va trobar a {0}, Però sembla estar desconnectat. + Temps d'espera esgotat esperant la resposta, Tinc permisos per a trobar a {0}? + Ús: mapfriend [uuid] + Crea una signatura MD5 d'una contrasenya donada. + Ús: md5 [contraseña] + Intentant moure'm a <{0},{1},{2}> + Ús: moveto x y z + Obté la llista de l'inventari d'un objecte. + Fallada al descarregar l'inventari de {0}. + [Carpeta] Nom: {0} + [Element] Nom: {0} Desc: {1} Tipus: {2} UUID: {3} + No es va poder trobar l'objecte {0}. + Ús: objectinventory [uuid] + Mostra detalls sobre la parcel·la especificada. + No es va poder trobar la parcel·la {0} en el diccionari. Vas executar primer ParcelInfo para emplenar el diccionari? + Ús: parceldetails [id_de_parcela] + Imprimeix informació sobre totes les parcel·les d'aquest simulador. + Descarregades {0} Parcel·les en {1} + Fallada a l'obtenir informació de totes les parcel·les del simulador. + Parcel·la[{0}]: Nom: "{1}", Descripció: "{2}" Compte de LCA: {3} Tràfic: {4} + Mostra una llista de quantes primitives té un usuari en una parcel·la. (Necessita permisos) + Amo: {0}. Objectes: {1} + No es va poder trobar la parcel·la {0} en el diccionari. Vas executar primer ParcelInfo para emplenar el diccionari? + Temps d'espera esgotat. + Ús: primowners [id_de_parcela] + Mostra una llista de les primitives en una parcel·la que pertanyen a un avatar especificat. + Encontados {0} objectes. + No es va poder trobar la parcel·la {0} en el diccionari. Vas executar primer ParcelInfo para emplenar el diccionari? + Temps d'espera esgotat. + Ús: selectobjects [id_de_parcela] [uuid] + Mostra el nombre de primitives actualment indexades. + {0} (Avatars: {1} Primitives: {2}) + Indexant un total de {0} objectes. + Teixidura per defecte: {0} + Mostra informació sobre una primitiva especificada. + Acabat. + Cara {0}: {1} + LLum: {0} + No es va poder trobar la primitiva {0}. + nul + Partícules: {0} + Entrada de teixidura: + Ús: priminfo [uuid] + Busca una primitiva usant expressions regulars. + Recerca finalitzada. + Error en la recerca. + \nNOM={0}\nID = {1}\nPROPIEDADES = {2}\nTEXT = '{3}'\nDESC='{4} + Buscant [{0}] ({1} primitives carregades en el simulador).\n + Ús: primregex [expresió regular] + Accés: + Mostra informació sobre la regió actual. + Propietats: + Manejador: {0} (X: {1} Y: {2}) + TerrainBase0: + TerrainBase1: + TerrainBase2: + TerrainBase3: + TerrainDetail0: + TerrainDetail1: + TerrainDetail2: + TerrainDetail3: + UUID: + Altura de l'aigua: + Envia un teletransport a l'avatar especificat o al mestre. + Ús: sendtp (uuid-avatar) + Vine a mi. + Teletransport enviat a {0}. + Mou el bot cap a la dreta, un pas o un determinat nombre de segons. + Em vaig moure cap a la dreta. + Ús: right [segons] + Diu una mica en el xat o en un canal opcional. + Vaig dir "{0}". + Ús: say (canal opcional) [misatge] + Executa una sèrie de comandos descrits en un arxiu de text especificat. + Va finalitzar l'execució de {0} comandos. + Ús: script [arxiu] + Busca parcel·les construibles. + Va fallar a l'obtenir la informació de totes les parcel·les del simulador. + Trobada una parcel·la construible: {0} en el simulador {1}. + Llest. + Busca esdeveniments en la llista. + ID de l'esdeveniment: {0} Nom: {1} Data: {2} + La teva recerca '{0}' coincideix amb {1} esdeveniments. + Cap resultat coincideix amb la recerca especificada. + Temps d'espera per la resposta del simulador esgotat. + Ús: searchevents [text de recerca] + Establix la posició actual com casa. + Casa establecida. + Canvia el nom del mestre. + Ara ets el meu mestre. Mana'm un missatge instantani amb "help" per a una llista de comandos. + Canvi al mestre segons el seu UUID. + Maestro establert a {0} + Ús: setmasterkey [uuid] + Maestro establert a {0} ({1}) + Ús: setmaster [nom] + No es va poder obtenir la UUID per a "{0}". No s'ha canviat el mestre. + Crida una mica en el xat o en un canal opcional. + Vaig cridar "{0}". + Ús: shout (canal opcional) [misatge] + Mostra o oculta els efectes del visor en la consola. + Efecte [Mirant]: ID d'Origen: {0} ID Objectiu: {1} Posició Objectiu: {2} Tipus: {3} Durada: {4} ID: {5} + Els efectes del visor no es mostraran. + Els efectes del visor es mostraran en la consola. + Efecte [{0}]: ID d'Origen: {1} ID Objectiu: {2} Posició Objectiu: {3} Durada: {4} ID: {5} + Efecte [Apuntant]: ID d'Origen: {0} ID Objectiu: {1} Posició Objectiu: {2} Tipus: {3} Durada: {4} ID: {5} + Ús: showeffects [on/off] + Data: {0} + Mostra els detalls sobre un esdeveniment. + Descripció: {0} + Localización: {0}/{1}/{2} + Nom: {0} ({1}) + Sol·licitud enviada. + Ús: showevent [ID de l'event] (fer servir searchevents per a obtenir la ID) + S'asseu en la primitiva més propera. + No s'ha trobat una primitiva propera per a asseure's: + S'asseu en l'objecte especificat. + No es pot trobar un objecte amb UUID {0} en el qual asseure's. + Se sol·licita asseure's en l'objecte {0} ({1}) + Ús: siton [uuid] + Em vaig asseure en {0} ({1}). Distància: {2} + Aixecar-se. + Aixecant-me. + Mostra estadístiques sobre la connexió. + [{0}] Dilatació Temporal: {1} BPS Entrada: {2} BPS Sortida: {3} Reexpedits Fora: {4} Reexpedits Dintre: {5} + FPS : {0} FPS Físics : {1} Actualitzacions d'agents : {2} Objectes : {3} Objectes amb script : {4} + Temps de fotograma : {0} Temps de xarxa : {1} Temps d'imatge : {2} Temps de física : {3} Temps de script : {4} Altre temps : {5} + Agents : {0} Agents fills : {1} Scripts actius : {2} + Paquets en la cua: + Obté o establix la propietat Executant-se en els elements de l'inventari d'un objecte. + Va fallar al descarregar l'inventari de l'objecte {0} + [Carpeta] Nom: {0} + [Objecte] Nom: {0} Desc: {1} Tipus: {2} + (no hi ha informació de script) + No es pot trobar l'objecte {0} + (no establert) + Mono: {0} Executant-se: {1} + Configuració + Ús: taskrunning [id de l'objecte] [[nom del script] true|false] + Activa o desactiva la descàrrega automàtica de totes les teixidures visibles. + Descàrrega de teixidures desactivada. + Terminada descarrega de la teixidura {0} ({1} bytes) + Descàrrega de teixidures activada. + Ús: textures [on/off] + Toca un objecte especificat. + No es pot trobar un objecte per a tocar amb UUID {0}. + Tocat l'objecte {0}. + Ús: touch [uuid] + Treu un arbre al món. + Escriu tree per a la llista d'arbres. + Vaig Intentar treure un arbre {0}. + Ús: tree + Vaig girar cap a {0}. + Imatge comprimida a JPEG2000, pujant... + {0} creada per NatiBot el {1}. + Puja un element al servidor asset. + Error creant la nota per a {0} + Error creant el script per a {0} + Fallo al comprimir a JPEG2000. + Fallada obrint l'arxiu. + L'arxiu no va poder ser pujat per l'error {0}. + {0} creada per NatiBot el {1}. + Puja una imatge al servidor asset. + Fallada al comprimir a JPEG2000. + La imatge no es va pujar per l'error: "{0}". + La imatge ha estat enviada al mestre {0} ({1}) i hauria d'arribar en breu. + Carregant imatge {0}. + RequestCreateItemFromAsset() va retornar: Éxit={0}, Estat={1}, ItemID={2}, AssetID={3} + Temps d'espera esgotat pujant la imatge. Això no significa que la imatge no s'hagi pujat amb èxit. + Imatge pujada amb la UUID {0} + Imatge comprimida a JPEG2000, pujant... + La pujada va prendre {0} segons. + Ús: uploadimage [nom_per_a_el_inventari] [arxiu] + Arxiu carregat, pujant... + Carregant arxiu {0}. + Puja un arxiu raw de terreny al simulador. + L'arxiu {0} no s'ha trobat. + Arxiu raw del terreny pujat i aplicat. + Temps d'espera esgotat en la pujada de l'arxiu de terreny. + Ús: uploadterrain [arxiu] + RequestCreateItemFromAsset() va retornar: Éxit={0}, Estat={1}, ItemID={2}, AssetID={3} + RequestUploadNotecardAsset() retornó: Éxit={0}, Estat={1}, ItemID={2}, AssetID={3} + RequestUpdateScriptAgentInventory() va retornar: Éxit={0}, Estat={1}, ItemID={2}, AssetID={3} + RequestCreateItem() va retornar: Éxit={0}, ItemID={1}, AssetID={2} + L'arxiu ha estat enviat al mestre {0} ({1}) i hauria d'arribar en breu. + Temps d'espera esgotat pujant l'arxiu. Això no significa que no s'hagi pujat amb èxit. + Error desconegut pujant la nota. + Tipus d'arxiu no suportat + Arxiu pujat amb UUID {0} + La pujada va prendre {0} segons. + Ús: upload [nom_per_a_el_inventari] [arxiu] + Mostra el temps des de l'inici de sessió. + Sóc {0}, en línia des de el {1} ({2}). + Mostra la versió del bot i la llista de revisions. + Mostra una nota de l'inventari. + S'esperava una UUID com primer argument. + Dades de la nota: \n{0} + No es va poder trobar la nota en l'inventari escorcollat. Usa el comando "i" per a escorcollar-lo primer. + Temps d'espera per les dades de la nota esgotat. + Ús: viewnote [uuid] + Obté informació sobre el compte de veu. Ús: voiceaccount + RequestProvisionAccount ha fallat. ¿No està disponible per a la grid actual? + Va fallar a l'obtenir la informació de compte de veu de {0}. + VoiceManager no s'està executant per a {0} + Compte de veu per a {0}: usuari "{1}", contrasenya "{2}" + Obté informació de veu de la parcel·la. Ús: voiceparcel + Va fallar la sol·licitud d'informació de veu de la parcel·la per a {0}. + RequestParcelVoiceInfo ha fallat. ¿No està disponible per a la grid actual? + Informació de veu de la parcel·la per a {0}: nom de la regió "{1}", ID local de la parcel·la {2}, URI del canal {3} + Vesteix una carpeta d'aparença de l'inventari. + Aparença ({0}) invàlida. + Ús: wear [aparença] (nobake) + Murmura una mica en el xat o en un canal opcional. + Ús: whisper (canal opcional) [misatge] + Vaig murmurar "{0}". + Mostra els agents visibles. + {0} (Client: {1}, Grup: {2}, Posició: {3}, UUID: {4}) + Mostra la velocitat del vent local. + La velocitat del vent local és {0}. + Operació encara no implementada. + Comprovar + Cancel·lar + El maquinari ha canviat, sol·licita nova clau d'autorització. + Clau de autorizació incorrecta. + Clau Hardware + Clau de autorizació + Comprovar llicència + Important {0} + Procedint a importar {0} elements. + Importar + Pujats {0} elements de {1}. + Objectes + Establir mestre + Enviar paquet d'actualització + Saludar al mestre + Enviar MIs/Xat a IRC + Localización + Mestre + Diners + Nom + Estat + Controls de caiguda + Element a importar. + Mostrar/Editar detalls + Comptes + Mestre + Opcions generals + Opcions de IRC + Servidor IRC + Port + Canal + Nick del mestre + Botó dret en una fila per a opcions + Connectar + Desconnectar + Objectes + Arxius de compte *.acc|*.acc|Tots els arxius|*.* + Eliminar + Configuració del bot + Consola + Eines + Guardar comptes + Afegir compte + Carregar comptes + Iniciar totes + Iniciar + Tancar totes + Tancar + Maneig del bot + Eliminar compte + Envia una salutació al mestre a l'iniciar o canviar-lo. + Afegint objectes a la llista + Preguntan al simulador pels objectes + Exportar Tots + Exportar + Refrescar + Refrescar cada 10 segons + Exportant {0} objectes + Exportant objecte {0} de {1}. + Inactiu + Distància + {0} objectes indexats. + Localització + Nom + Sol·licitant noms dels objectes + Objectes + El caracter {0} no és escapable. + Sobre + Rev + Tots els drets reservats. + Codi i proves: + Interfície i gràfics: + Traducció a + {0} {1}: {2} + Per a més informació consulti l'arxiu llegeixi'm o http://natibot.claunia.com + anglès + espanyol + català + gallec + romanès + italià + francès + alemany + Editar compte seleccionat + Editar compte + Mestre + Nick de IRC del mestre: + Nom del mestre: + Posició de començament + Posició: + Establir: + Última + Casa + Detalls d'inici de sessió + Grid / URI d'inici de sessió: + Nom: + Contrasenya: + Cognom: + Afegir + Cancel·lar + Configuració del servidor IRC + ¿Utilitza servidor IRC? + Canal: + Port (Sin SSL): + Direcció del servidor: + Afegir compte + ¡No pots editar el bot mentre està connectat! + Anglès + Espanyol + Català + Gallec + Romanès + Italià + Francès + Alemany + Configuració + Escriure consola en arxiu + Idioma: + ¡Hola! + NatiBot acaba la seva execució. + NatiBot ha estat tancat amb el botó de sortir. + Natibot comença la seva execució. + Obté el nom d'un avatar pel seu UUID. + Ús: key2name [uuid] + L'avatar {0} es diu {1}. + Temps d'espera esgotat buscant l'avatar {0}. Pertany aquesta UUID a un avatar vàlid? + Compra l'objecte especificat. + No es va poder trobar l'objecte amb UUID {0}. + Es va intentar comprar l'objecte {0}. + Ús: buy [uuid] + Recull l'objecte especificat a l'inventari. + No es va poder trobar l'objecte amb UUID {0}. + Es va intentar recollir l'objecte {0} (UUID {1}). + Ús: takeitem [uuid] + Copiar al portapapers + Noms + UUIDs + Posicions + Asseure's en + Tocar-los + El primer objecte seleccionat + Tots els seleccionats + Comprar-los + Exportar + Objectes + Partícules + Objectes i partícules + Sol·licitar recollida a l'inventari + Traduïx el text d'un idioma a un altre. + Ús: translate [idioma_origen] [idioma_destinació] [text] + Xat + Xat + murmura: + crida: + (sense connexió) + Usuari desconegut + L'objecte {0} pertanyent a {1} de la regió {2} en {3}: + L'avatar {0} envia un teletransporte a la regió {1} en {2} amb el següent missatge: + L'avatar {0} de la regió {1} en {2} envia un missatge de tipus {3} dient: + L'objecte pertany a {0} i no tenim permissos per exportar-lo. + El so {0} s'ha descarregat correctament ({1} bytes). + Error {1} al descarregar el so {0}. + Activa o desactiva la descàrrega automàtica de tots els sons audibles. + La descàrrega de sons està desactivada. + La descàrrega de sons està activada. + Ús: sounds [on / off] + Activa o desactiva la descàrrega automàtica de les animacions visibles. + La descàrrega de les animacions està desactivada. + La descàrrega de les animacions està activada. + Ús: animations [on / off] + Descarrega el so especificat pel seu UUID + Temps d'espera esgotat descarregant el so. + Ús: downloadsound [uuid] + Afrikaans + Albanès + Àrab + Bielorruso + Búlgar + Checo + Xinès Simplificat + Xinès Tradicional + Coreà + Croata + Danès + Eslovaco + Eslovè + Estonio + Finlandès + Galés + Grec + Hebreu + Hindi + Holandès + Hongarès + Indonesi + Irlandès + Islandès + Japonès + Letón + Lituà + Macedonio + Malayo + Maltès + Noruec + Polonès + Portuguès + Rus + Serbi + Suajili + Suec + Tagalo + Tailandès + Turc + Ucraniano + Vietnamita + Yiddish + Tancar NatiBot y tots els avatars conectats. + Ús: quit [yes] + Tancan aplicació. + Mostra la memòria actualment en ús. + {0} MiB actualment en ús. + Tanca l'avatar actual. + Ús: logout [yes] + Tancant avatar. + Crea una nota amb l'ajuda i l'envia al mestre. + NatiBot - v{0} - Comandos + Enviant ajuda al mestre. + Comença una recol·lecció d'escombraries. + {0} MiBen ús abans de la recol·lecció d'escombraries. + Començant la recol·lecció d'escombraries. + {0} MiB en ús després de la recol·lecció d'escombraries. + La recol·lecció d'escombraries va trigar {0} segons. + Mostra la data actual en les zones horàries local, UTC, GMT y PST. + La data i hora actual és: + Hora Local: {0} + Hora Universal Coordinada: {0} + Hora de Second Life (PST): {0} + Hora de Claunia.com: {0} + Mostra tots els noms i identificadors coneguts dels visores. + El visor {0} usa l' ID {1}. + Mostra informació dels drets d'autor. + Busca llocs. + Ús: searchplaces [text de recerca] + El text de recerca "{0}" va obtindre {1} resultats. + Temps d'espera esgotat esperant la resposta del simulador. + Busca altres avatars. + Uso: searchpeople [text de recerca] + El text de recerca "{0}" va coincidir amb {1} personas. + Temps d'espera esgotat esperant la resposta del simulador. + No es va trobar a ningú que coincideixi amb la recerca. + Busca parcel·les en venda. Per a veure l'ús, searchland + Ús : searchland [tipu] [preu máxim] [tamany mínim] + on [tipu] és un dels següents: mainland, auction, estate, all + si [preu màxim] o [grandària mínima] són 0 s'ignorarà aquest paràmetre + exemple: \"searchland mainland 0 512\" // muetra la parcel·la en mainland més barata que sigui més gran de 512m² + Temps d'espera esgotat esperant la resposta del simulador. + {0} resultats. + Busca grups. + Ús: searchgroups [text de recerca] + El text de recerca "{0}" va coincidir amb {1} grups. + Temps d'espera esgotat esperant la resposta del simulador. + El grup {1} ({0}) té {2} membres + No es va trobar cap grup que coincideixi amb la recerca. + Busca anuncis classificats. + Ús: searchclassifieds [text de recerca] + El text de recerca "{0}" va coincidir amb {1} anuncis. + Temps d'espera esgotat esperant la resposta del simulador. + El grup amb ID {0} es diu {1} + Ningun + Nom: {0} + Descripció: {0} + Desconegut + Creador: {0} ({1}) + Propietari: {0} ({1}) + Propietari anterior: {0} ({1}) + Grup: {0} ({1}) + Nom al aseures: {0} + Nom al tocar-lo: {0} + Posició: {0} + Data de creació: {0} + Text: + Expulsada a l'usuari indicat de la parcel·la actual. + Ús: ejectuser [uuid] + S'esperava un ID. + Avatar no trobat. + No es pot expulsar a un grup de la parcel·la. + Expulsant a {0} de la parcel·la actual. + Expulsada i banea a l'usuari indicat de la parcel·la actual. + Ús: banuser [uuid] + No es pot banear a un grup de la parcel·la. + Baneando a {0} de la parcel·la actual. + Obté la llista de bans de la parcel·la actual. + Temps d'espera esgotat esperant per la llista de bans. + L'avatar amb ID {0} està baneado. + El avatar {0} ({1}) está baneat. + Obté la llista d'accés permès de la parcel·la actual. + Temps d'espera esgotat esperant per la llista d'accessos permesos. + L'avatar amb ID {0} té l'accés permès. + L'avatar {0} ({1}) té l'accés permès. + Gira al bot mirant a l'instant, avatar (per ID o nom), o objecte (per ID) especificat. + Ús: turnto [x y z]/[uuid]/[avatar] + No es pot trobar a l'avatar {0}. + ¡No puc girar cap a un grup! + L'avatar {0} no es troba en el simulador actual, no em puc girar cap a ell. + L'avatar {0} està asseient en un objecte desconegut. No em puc girar cap a ell. + L'objecte {0} no es troba en el simulador actual, no em puc girar cap a ell. + Mou el bot a les coordenades, l'avatar (per ID o nom), o l'objecte (per ID) especificat. + ¡No em puc moure cap a un grup! + L'avatar {0} no es troba en el simulador actual, no em puc moure cap a ell. + L'avatar {0} està asseient en un objecte desconegut. No em puc moure cap a ell. + L'objecte {0} no es troba en el simulador actual, no em puc moure cap a ell. + Ús: follow {[nom] [cognom]|me|stop}) Usa "me" per a que et segueixi a tu, "stop" per parar. + Treu l'element especificat 3m damunt del bot. + Ús: rezitem [ID del element] + S'esperava un ID. + Se sol·licita treure l'element {0}. + No es pot treure la carpeta {0}. + L'element {0} no es troba en la carpeta actual de l'inventari. + Crea una nova skin amb les teixidures indicades. + Ús: createskin [nom] [id-cara] [id-superior] [id-inferior] + S'esperaba un ID en [id-cara]. + S'esperaba un ID en [id-superior]. + S'esperaba un ID en [id-inferior]. + Es va crear la skin amb ID de asset {0}, enviandola al mestre. + Va fallar la creació de la skin amb l'estat {0}. + Crea un nou landmark de la posició actual. + Landmark creat amb la ID de asset {0}, enviandolo al mestre. + Va fallar la creació del landmark amb l'estat {0}. + Crea uns nous ulls amb la teixidura indicada. + Ús: createeyes [nom] [uuid] + S'esperaba un ID. + Ulls creats amb la ID de asset {0}, enviandolos al mestre. + Va fallar la creació dels ulls amb estat {0}. + Crea una nova roba amb els paràmetres indicats. + Ús: createclothing help + Ús: createclothing [nom] [Gloves|Jacket|Pants|Shirt|Shoes|Skirt|Socks|Underpants|Undershirt] [uuid1] (uuid2) + Els paràmetres de grandària i color han de ser aplicats manualment encara. + Ha d'indicar-se una segona uuid per a les jaquetes (Jacket). + Tipus de roba incorrect. + S'esperaba una ID en [uuid1]. + S'esperaba una ID en (uuid2). + Roba creada amb el ID de asset {0}, enviandola al mestre. + Failed to create Clothing with status {0}. + Va fallar la caché de grups. + Es van obtenir {0} grups: + Mostra els rols del grup. + Ús: grouproles Nom Del Grup + {0} no sembla tenir cap rol en el grup {1}. + {0} va obtenir els rols del grup. + ID de la solicitut: {0} + Nom del grup: {0} + ID del grup: {0} + Rol {0} {1} | {2} + {0} rols. + Mostra els membres del grup. + Ús: groupmembers Nom Del Grup + {0} no sembla ser membre del grup {1}. + {0} va obtenir els membres del grup. + Membre: {0} ({1}) + {0} membres. + Convida a un avatar al grup actual a un rol especificat o al rol per defecte. + Ús: invite [uuid-av] (uuid-rol) + Cap grup està actiu actualment. Activa un grup amb el comando activategroup. + No es pot trobar l'avatar especificat en la grid. + No es pot convidar a un grup a un grup. + No es van poder obtenir els rols del grup. + El grup actual no conté cap rol amb l'ID {0}. + Error a l'obtenir el rol del grup. + Convidant a {0} al grup {1} en el rol {2}. + Expulsa a un membre del grup. + Ús: groupeject [id-av] (id-grup) + S'esperava l'ID del grup. + No es troba el grup. + L'ID de grup pertany a un avatar. + Cap grup està actiu actualment. Activa un grup o especifica'l per ID. + S'esperada l'ID de l'avatar. + Avatar no oposat. + L'ID de l'avatar pertany a un grup. + No es van poder obtenir els membres del grup. + L'avatar {0} no és membre del grup {1}. + L'avatar {0} ha estat expulsat del grup {1}. + Afegix a l'avatar indicat al rol especificat. + Ús: addtorole [id-av] [id-rol] (id-grup) + No pertanyo al grup {0}. + {0} no pertany al grup {1}. Convida-li primer. + S'esperava una ID de rol. + Afegint a {0} en el rol {1} del grup {2}. + Activa el rol especificat en el grup especificat. + Ús: activaterole [id-rol] (id-grup) + Activant el rol {0} en el grup {1}. + Desconegut + No identificat/Oficial + Oferix amistat a l'avatar especificat. + Ús: offerfriendship [nom] [cognom] | [uuid] + Avatar no oposat. + No es pot oferir amistat als grups. + L'avatar {0} no ha estat trobat. + Ja sóc amic de {0}. + ¿Vols ser el meu amic? + Amistat oferta a {0}. + Impossible aconseguir l'ID de l'avatar. + Activar informar quan un amic es connecta o desconnecta. + Ús: informfriend [on/off] + Actualment informo dels amics. + Actualment no informo dels amics. + Informaré dels amics a partir d'ara. + No informaré dels amics a partir d'ara. + Acaba l'amistat amb l'avatar especificat. + Ús: endfriendship [nom] [cognom] | [uuid] + No es pot acabar l'amistat amb grups. + No sóc amic de {0}. + Vaig acabar la meva amistat amb {0}. + Fa que el bot reprodueixi el so especificat. + Ús: playsound [uuid] + Intentant reproduir el so {0}. + Crea un favorit de la posició actual. + Ús: pick [description] + ¡M'encanta aquest lloc! + Afegint un favorit d'aquesta posició. + Paga la quantitat de L$ triada a l'avatar especificat. + Ús: pay [quantitat ] [id-avatar]. La quantitat pot ser "all", i si s'omet l'avatar es pagarà al mestre. + Donant-te {0}$L + Donant {0}$L a {1}. + Posa al bot en posició nadu. + Ús: nadu [on/off] + El bot està en posició nadu. + El bot no està en posició nadu. + El bot es posa en posició nadu. + El bot es lleva de la posició nadu. + Mira a l'objecte o avatar especificat. + Ús: lookat [nom] [cognom] | [uuid] + No es va poder trobar a l'avatar {0}. + ¡No puc mirar cap a un grup! + L'avatar {0} no es troba en el simulador actual, no puc mirar cap a ell. + L'objecte {0} no es troba en el simulador actual, no puc mirar cap a ell. + Mirant a l'objecte {0}. + Mirant a l'avatar {0}. + S'asseu en el sòl. El comando stand ho aixeca. + Intentant sentame en el sòl on estic. + Have que l'avatar reprodueixi la gesture especificada. + Ús: gesture [uuid] + Reproduint gesture {0}. + Establix el bot com ocupat. + Ús: busy [on/off] + El bot està ocupat. + El bot no està ocupat. + El bot passa a estar ocupat. + El bot passa a estar desocupat. + Emet particulas cap a l'objecte o avatar especificat. + Ús: beam [nom] [cognom] | [uuid] + No es va poder trobar a l'avatar {0}. + ¡No puc emetre partícules cap a un grup! + L'avatar {0} no es troba en el simulador actual, no puc emetre partícules cap a ell. + L'objecte {0} no es troba en el simulador actual, no puc emetre partícules cap a ell. + Emetent partícules a l'objecte {0}. + Emetent partícules a l'avatar {0}. + Establix el bot com absent. + Ús: away [on/off] + El bot està absent. + El bot no està absent. + El bot passa a estar absent. + El bot passa a estar present. + Annexa l'objecte especificat al seu últim punt d'annexió. + Ús: attach [id] + S'esperava una UUID. + Se sol·licita annexar l'objecte {0}. + No es pot annexar la carpeta {0}. + L'objecte {0} no es troba en la carpeta actual de l'inventari. + L'animació del sistema {0} està sent reproduïda amb la seqüència {1} + L'animació {0} està sent reproduïda amb la seqüència {1} + Avatars + Grups + Amics + Inventari + Mapa + Obtenir animacions + Obtenir teixidures + Obtenir sons + Acceptar inventari + Informar d'amics + Tocar Midnights + Asseure's en "Lucky"s + Escriure el xat en arxiu + {0} - Avatars + Simulador actual: {0} + {0} avatars encontrats. + Traduir de: + a: + {0} Asseient-se en {1}, que va dir {2} pensant que és uneixi Lucky Chair. + {0} Asseient-se en {1}, que va dir {2} pensant que és un Lucky Present. + {0} Asseient-se en {1}, que va dir {2} pensant que és un Lucky Santa. + {0} Tocant {1}, que va dir {2} pensant que és uneixi Lucky Board. + L'objecte {0} pertanyent a {1} de la regió {2} en {3} envia un inventari: + L'usuari {0} va enviar una notícia en el grup {1} + {0} va acceptar la meva amistat. + {0} va rebutjar la meva amistat. + {0} va acceptar la meva oferta d'inventari. + {0} va rebutjar la meva oferta d'inventari. + {0} va oferir el següent inventari: + (TRADUÏT) + IM + Perfil + TP + Eliminar + Amics - {0} + Nom + (carregant...) + Enviar missatge instantani + Enviarà un missatge instantani a {0} + Enviar teletransporte + Enviarà un teletransporte a {0} + Eliminar amic + ¿Estàs segur de voler eliminar a {0} d'amics? + Grups - {0} + Abandonar + Abandonar grup + ¿Estàs segur de voler abandonar el grup {0}? + Activar + Activar grup + Activant el grup {0}. + Chat + Enviar missatge al grup + Enviarà el missatge al grup {0} + Missatge enviat + Missatge correctament enviat al grup {0}. + Missatge no enviat + No es va poder obrir una sessió de xat amb el grup {0}. + Inventari - {0} + &Arxiu + Copiar ID de asset + Eliminar Objecte/Carpeta + Anexar + Retirar + Buidar paperera + Buidar lost && found + Mapa del simulador: {0} + Simulador: {0}, versió {1} + Descarregant el mapa? + Avatars: {0} + Posició seleccionada: + TP + Va ocórrer un error en el teletransporte. \n Per favor torni a intentar-lo més tard. + Afegit el nou objecte {0} a la llista. + Afegit l'objecte {0} a llista. + Obtingut el nom de l'objecte {0}. + {0} Objectes coneguts: {1} noms coneguts i {2} desconeguts. + 2ª vida + Web + Interesos + 1ª vida + Nom: + Nascut: + Foto: + Compte: + Soci: + Grups: + Sobre: + Web: + ¿Qué vols?: + Construir + Conèixer + Vendre + Treballar + Explorar + Agrupar-me + Comprar + Contractar + Habilitats: + Teixidures + Models + Scripts + Arquitectura + Esdeveniments + Caracterització + Idiomes: + Foto: + Info: + Perfil de {0} + Identificat + Madur + Informació de pagament + Públic + Diàleg de {0} + Diàleg de l'objecte {0} + pertanyent a {0} {1}. + Nom + Posició + ID + Vaig tocar l'objecte {0} cridat {1} pensant que és un Midnight Mania. + Vaig tocar l'objecte {0} cridat {1} pensant que és un Lucky Advent Countdown. + Vaig tocar l'objecte {0} cridat {1} pensant que és un Prize Pyramid. + Em vaig asseure en l'objecte {0} cridat {1} pensant que és un Lucky Dip. + Em vaig asseure en l'objecte {0} cridat {1} pensant que és un Lucky Cupcake. + Nom + Distància + Client + Posició + Copiar ID al portapapers + Mostrar perfil + Oferir teletransporte + Teletransportar a. + Caminar a + Enviar missatge + Mostrar annexos + Descarregar annexos + Descarregar vestimenta + Oferir amistat + Enviar teletransporte + S'enviarà un teletransporte a {0} + Enviar missatge + S'enviarà un missatge instantani a {0} + {0} ja és amic meu. + Ja és el meu amic. + Oferir amistat + S'oferirà amistat a {0} + ¿Vols ser el meu amic? + Llista d'annexos + Annexos de {0}: + Aquest comando pot trigar bastant a acabar. + NatiBot no respondrà fins que acabi. + ¿Estàs segur de continuar? + Annexos descarregats + Vestimenta descarregada + Grup + (buit) + Enviant notecard al mestre. + Vaig deixar de seguir. + Objecte + El meu amic {0} acaba de connectar-se. + El meu amic {0} acaba de desconnectar-se. + Mostra la versió de NatiBot i del simulador actual. + Simulador: {0} + Mostra estadístiques d'utilització de paquets i capacitats. + Estadístiques no disponibles. + Mostra la salut actual. + La salut actual és de el {0}%. + Si actualitza d'una versió més antiga de NatiBot esborri totes les contes i torni-les a crear. + El sistema d'inici de sessió ha rebut canvis que requereixen recrear manualment els comptes. + L'inici de sessió s'establix a AGNI (Second Life Production Grid). + Va ocórrer una excepció no controlada. + La informació de l'error ha estat enviada a Claunia.com + Lamentem els inconvenients causats. + NatiBot es tancarà ara. + Error fatal + \ No newline at end of file diff --git a/SLBot/bot/Localization/language_en.xml b/SLBot/bot/Localization/language_en.xml new file mode 100644 index 0000000..a7d6054 --- /dev/null +++ b/SLBot/bot/Localization/language_en.xml @@ -0,0 +1,1191 @@ + + + Failed to decode image {0}. + Failed to download image {0}: {1} + Finished downloading image {0}. + Finished downloading image {0} ({1} bytes) + Accepting teleport lure. + Connecting to login server... + Connecting to region... + Connecting... + Login Failed: {0} + Offline + Online + Reading response... + Redirecting... + Removing... + Got the group ID for {0} requesting group members... + Got {0} group members. + This is {0} reporting for duty. + ERROR: Unable to obtain UUID for "{0}". Master unchanged. + "{0}" resolved to {1} + <{0} ({1=""})> {2} (not in group): {3} (@{4}:{5}) + <{0} ({1=""})> {2} (not master): {3} (@{4}:{5}) + Active group for {0} is now {1}. + Sets the active group. + {0} failed to activate the group {1}. + {0} doesn't seem member of any group. + {0} doesn't seem to be member of the group {1}. + Setting {0} as active group. + Usage: activategroup [groupname] + {0} avatar(s) at {1},{2} + Downloads the location of every agent in a specified region. + Failed to fetch agent locations. + Agent locations: + Usage: agentlocations [regionhandle] + Animates the avatar with the specified animation, list system animations or show current animations. + Starting animation {0} + Stopping animation {0} + Usage: animate [uuid] | [list/show/stop] + Sets the last saved appearance. + Successfully set appearance. + Started appearance thread. + Timed out while setting appearance. + [Attachment @ {0}] LocalID: {1} UUID: {2} Offset: {3} + Shows a list of current attachments. + Found {0} attachments. + Shows a list of an avatar's attachments. + Usage: attachmentsuuid [uuid] + About him/her: + Account: + , adult profile + Born: {0} + Charter member: + Shows information about a nearby avatar. + Some error happened when requesting avatar's profile. + 1st Life: + Photo: {0} + Groups: + Identified + Information: {0} + Interests: + Languages: {0} + Could not found a nearby avatar called {0}. + Could not get requested avatar's groups. + Could not get requested avatar's interests. + Could not get requested avatar's profile. + Partner: + , payment information present + , public + 2nd Life: + Photo: {0} + Skills: (0x{0}) {1} + Textures: + Usage: avatarinfo [firstname] [lastname] + He/she wants: (0x{0}) {1} + Web profile: {0} + Move the bot backward, a step or a determined number of seconds. + Moved backward. + {0}: both transfer queues empty AND inventory walking thread is done + Saves contents of cached inventory to your hard disk. + {0}: Download of asset {1} ({2}) failed with status {3} + not + \r\n{0}: {1} items in Queue, {2} items requested from server. + {0} is {1} running. + Started background operations. + Saves notecards of cached inventory to your hard disk. + {0}: timeout on asset {1} + \r\n{0}: Server Transfers ( {1} running ) has transferred {2} items with {3} errors. + Unknown + Usage: {0} [to <directory>] | [abort] | [status] + \r\n{0}: Inventory walker ( {1} running ) has found {2} items. + {0}: Inventory walking thread done. + {0}: Wrote {1} + Usage: back (seconds) + {0} has {1}L$ + Shows the L$ balance. + Timeout waiting for balance reply. + Current camera distance is {0} meters. + Changed camera distance to {0} meters. + Show or change the current camera distance. + Usage: camerafar [distance] + Current folder is {0} + Changes current inventory folder. + {0} is not a folder. + {0} not found in {1} + cd [path] + Failed to set the copy bit, permissions in an unknown state. + Changes the permissions of an object and it's task inventory contents. + Set permissions to {0} on {1} objects and {2} task inventory items. + Found requested prim {0} + Failed to set the modify bit, permissions in an unknown state. + Cannot find requested prim {0} + Using PermissionMask: {0} + Cannot find root prim for requested object. + Set root prim to {0} + Usage: changeperms [prim-uuid] (copy) (mod) (xfer) + Failed to set the transfer bit, permissions in an unknown state. + Clones the appareance of a nearby avatar. + Cloned {0}. + Couldn't find avatar {0}. + {0} setting {1} as the active group. + Clones another avatars profile as closely as possible. WARNING: This command will destroy your existing profile! + Synchronized our profile to the profile of {0} + Failed to join group {0}. + Failed to retrieve a complete profile for that UUID. + Successfully joined group {0}. + Usage: cloneprofile [uuid] + Don't know the appearance of avatar {0}. + Usage: clone [name] + {0} created by NatiBot at {1}. + Notecard item creation failed: {0}. + Notecard item creation failed. + Creates a notecard from a text file. + Error downloading notecard asset: {0}. + Failed to fetch inventory item {0} + File {0} not found. + Failed to open file {0} with error {1}. + Notecard successfully created with ItemID {0} and AssetID {1} + Timeout + Unknown error uploading notecard asset. + Usage: createnotecard filename.txt + Starts or stops crouching. + Started crouching. + Stopped crouching. + Usage: crouch [start/stop] + Folder {0} moved to the Trash. + Move an inventory folder to the Trash. + Folder {0} not found. + Usage: rmdir [folder] + {0} (Grupo: {1}, Posición: {2}, UUID: {3}) is probably a bot + Shows posible bot avatars. + Shows time dilation for current sim. + Dilation is {0}. + Downloads requested animation by UUID + Animation {0} correctly downloaded ({1} bytes). + Error {1} when downloading animation {0}. + UUID expected + Timed out when asking for animation + Usage: downloadanimation [uuid] + Download the RAW terrain file for this estate. + Terrain file {0} ({1} bytes) downloaded successfully, written to {2} + Timeout while waiting for terrain data + Usage: downloadterrain [timeout] + Download specified texture by UUID. + Simulator reported texture {0} not found. + Saved {0}.jp2 ({1}x{2}) + Timed out waiting for texture download + Usage: downloadtexture [texture-uuid] [discardlevel] + Usage: downloadtexture [texture-uuid] + Exports specified avatar's attachment to the hard disk. + Exported {0} prims to {1}{2} + Attachment in {0} failed to export. + Specified attachment point is not valid. + Warning: Unable to retrieve full properties for: + Exports all the attachments of an avatar. + Tried to export {0} attachments. + Attachment in {0} exported correctly. + Usage: dumpattachments [uuid] + Usage: dumpattachment [avatar-uuid] [attachment-point: RightHand,LeftHand,Skull,LeftEyeball,RightEyeball,LeftFoot,RightFoot,RightEar,LeftEar,LeftHip,RightHip,LeftUpperLeg,RightUpperLeg,RightLowerLeg,LeftLowerLeg,RightForearm,LeftForearm,Nose,RightShoulder,LeftShoulder,RightPec,LeftPec,Chin,RightUpperArm,LeftUpperArm,Spine,Chest,Pelvis,Stomach,Mouth] + Dumps all of the textures from an avatars outfit to the hard drive. + Downloading + Couldn't find avatar {0} + Usage: dumpoutfit [avatar-uuid] + Repeat everything that the master says. + Echoing is now off. + Echoing is now on. + Empty the Lost & Found folder contents. + Lost & Found folder emptied. + Empty the trash folder contents. + Trash emptied. + Exports an object to a xml file. + XML exported, began downloading {0} textures. + Exported {0} prims to {1} + Couldn't find UUID {0} in the {1} objects indexed in the current simulator. + Warning: Unable to retrieve full properties for: + Exports an avatars outfit to an xml file. + Exported appearance for avatar {0} to {1} + Couldn't find an appearance for avatar {0}. + Usage: exportoutfit [avataruuid] outputfile.xml + Reverse engineers an object's particle system to an LSL script. + Object {0} particles exported. + Object {0} does not have a particle system. + Could not find object with ID {0} + Couldn't find prim {0} + Usage: exportparticles [uuid] + Usage: export [uuid] [outputfile.xml] + Finds all objects, which name contains search-string. + Done searching. + Object '{0}': {1} + Warning: Unable to retrieve full properties for: + Usage: findobjects [radius] [search-string] + Searches for a simulator and returns information about it. + {0}: handle={1} ({2},{3}) + Lookup of {0} failed. + Usage: findsim [Simulator Name] + Checks if a specified texture is currently visible on a specified face. + Done searching. + Primitive {0} ({1}) has face index {2} set to {3} + Usage: findtexture [face-index] [texture-uuid] + Starts or stops flying. + Started flying. + Stopped flying. + Fly the avatar toward the specified position for a maximum of seconds. + Flying to {0} in {1} seconds + Usage: flyto x y z (seconds) + Usage: fly [start/stop] + Server cancelled the autopilot. + [Autopilot] {0} meters away from the target, starting autopilot to <{1},{2},{3}> + Follows another avatar. + Following {0}. + Following UUID {0}. + No master specified. + Unable to follow {0}. Bot may not be able to see that avatar. + Unable to follow UUID {0}. + Move the bot forward, a step or a determined number of seconds. + Moved forward. + Usage: forward (seconds) + Shows bot's friends. + Current bot does not have friends. + Unable to send money to console. This command only works when IMed. + Gives master all bot's money. + Gave {0}L$ to {1}. + NatiBot giving all money. + Give items of the current folder to an avatar. + Unable to give folder {0}\n + Gave {0}\n + First argument expected agent UUID. + No inventory item named {0} found. + Usage: give [agent uuid] [item1] (item2) (item3) (...) + Teleports home. + Failed teleporting to home. + Successfully teleported to home. + Goes to a sim using a teleport. + Teleport failed: {0}. + Goes to a landmark destination using a teleport. + Teleport failed: {0}. + Invalid UUID. + Teleport successful. + Teleporting to {0}. + Usage: gotolm [uuid] + Teleported to {0} successfully. + Usage: goto sim/x/y/z + Downloads all the grid map layers. + Layer({0}) Bottom: {1} Left: {2} Top: {3} Right: {4} + Ready. + Downloads all visible information from the grid map. + Ready. + Shows groups the bot belongs to. + The bot does not belong to any group. + Shows the available commands. + \n\nHELP\nThe bot will accept teleport lures from the master and members of it's active group.\n + Sends an instant message. + Sends an instant message to a group. + Failed to instant message group. + Joined {0} Group Chat successfully. + Join Group Chat failed. + Instant Messaged group {0} with message: {1} + Timeout waiting for group session start. + Usage: imgroup [group_uuid] [message] + Name lookup for {0} failed. + Rez failed, timed out while creating child prim. + Import complete. + Requesting de-rez to inventory. + Imports prims from a XML file. + Failed to deserialize {0}: {1}. + Importing {0} structures. + Warning: Failed to link {0} prims. + WARNING: Skipping a linkset with a missing root prim. + Imports an outfit from a XML file. + Usage: importoutfit [filename] + Setting properties for {0}. + Rez failed, timed out while creating the root prim. + Usage: import [filename] (usegroup) + Instant Messaged {0} with message: {1} + Usage: im [firstname] [lastname] [message] + Shows and caches the inventory. + Ambiguous name. Found {0} groups (UUIDs on console) + Joins a group. + ERROR: Got an empty reply + {0} doesn't seem a valid UUID. + Joined the group {0}. + Matching groups are: + Unable to join the group {0} + Usage: joingroup [groupname] | joingroup [uuid] + Unable to obtain UUID for group {0}. + Jumps. + Started jumping. + Stopped jumping. + Leaves a group. + {0} failed to left the group {1}. + {0} has left the group {1}. + {0} doesn't seem member of any group. + {0} doesn't seem to be member of the group {1}. + Usage: leavegroup [groupname] + Move the bot to the left, a step or a determined number of seconds. + Moved to the left. + Usage: left (seconds) + List the contents of the current inventory folder. + Folder contents not yet ready. + Usage: ls ( -l ) + Loads commands from a DLL. + Assembly {0} loaded. + Usage: load [assembly.dll] + Shows current location. + Simulator: '{0}' Location: {1} + Finds a friend. + Found Friend {0} in {1} at {2}/{3} + Found Friend {0}, But they appear to be offline + Timeout waiting for reply, Do you have mapping rights on {0}? + Usage: mapfriend [uuid] + Creates a MD5 hash from a given password. + Usage: md5 [password] + Attempting to move to <{0},{1},{2}> + Usage: moveto x y z + Gets a list of an object task inventory. + Failed to download task inventory for {0}. + [Folder] Name: {0} + [Item] Name: {0} Desc: {1} Type: {2} UUID: {3} + Couldn't find object {0}. + Usage: objectinventory [uuid] + Show details about the specified parcel. + Unable to find parcel {0} in the parcels dictionary. Executed first parcelinfo to populate the dictionary? + Usage: parceldetails [parcel_id] + Prints out info about all the parcels in this simulator + Downloaded {0} Parcels in {1} + Failed to retrieve information on all the simulator parcels + Parcel[{0}]: Name: "{1}", Description: "{2}" ACL Count: {3} Traffic: {4} + Shows a list of how many prims does a user have in a parcel. (Needs permissions) + Owner: {0}. Objects: {1} + Unable to find parcel {0} in the parcels dictionary. Executed first parcelinfo to populate the dictionary? + Timed out + Usage: primowners [parcel_id] + Shows a list of prims in parcel that belong to a specified avatar. + Found {0} objects. + Unable to find parcel {0} in the parcels dictionary. Executed first parcelinfo to populate the dictionary? + Timed out + Usage: selectobjects [parcel_id] [avatar_uuid] + Shows the number of prims actually indexed. + {0} (Avatars: {1} Primitives: {2}) + Tracking a total of {0} objects. + Default texture: {0} + Shows info about a specified prim. + Done. + Face {0}: {1} + Light: {0} + Could not find prim {0}. + null + Particles: {0} + TextureEntry: + Usage: priminfo [prim-uuid] + Searches for a prim using regular expressions. + Done searching. + Error searching. + \nNAME={0}\nID = {1}\nFLAGS = {2}\nTEXT = '{3}'\nDESC='{4} + Searching prim for [{0}] ({1} prims loaded in simulator).\n + Usage: primregex [text predicat] + Access: + Shows information about the current region. + Flags: + Handle: {0} (X: {1} Y: {2}) + TerrainBase0: + TerrainBase1: + TerrainBase2: + TerrainBase3: + TerrainDetail0: + TerrainDetail1: + TerrainDetail2: + TerrainDetail3: + UUID: + Water Height: + Sends a teleport lure to the indicated avatar or to the master. + Usage: sendtp (avatar-uuid) + Come to me. + Teleport sent to {0}. + Move the bot to the right, a step or a determined number of seconds. + Moved to the right. + Usage: right (seconds) + Says something on general chat or option channel. + Said "{0}". + Usage: say (optional channel) [message] + Executes a series of commands from a given text file. + Finished executing {0} commands. + Usage: script [filename] + Search for buildable parcels. + Fail obtaining all parcels information from the sim. + Buildable parcel found: {0} at sim {1}. + Ready. + Search for events on the list. + Event ID: {0} Event Name: {1} Event Date: {2} + Your query '{0}' matched {1} Events. + No Results matched your search string. + Timeout waiting for simulator to respond. + Usage: searchevents [search text] + Establishes current location as home. + Home set. + Changes master by name. + You are now my master. IM me with "help" for a command list. + Changes master by key. + Master set to {0} + Usage: setmasterkey [uuid] + Master set to {0} ({1}) + Usage: setmaster [name] + Unable to obtain UUID for "{0}". Master unchanged. + Shouts something on general chat or option channel. + Shouted "{0}". + Usage: shout (optional channel) [message] + Shows the viewer effects on the console or not. + ViewerEffect [LookAt]: SourceID: {0} TargetID: {1} TargetPos: {2} Type: {3} Duration: {4} ID: {5} + Viewer effects will not be shown. + Viewer effects will be shown on the console. + ViewerEffect [{0}]: SourceID: {1} TargetID: {2} TargetPos: {3} Duration: {4} ID: {5} + ViewerEffect [PointAt]: SourceID: {0} TargetID: {1} TargetPos: {2} Type: {3} Duration: {4} ID: {5} + Usage: showeffects [on/off] + Date: {0} + Shows details about an event. + Description: {0} + Location: {0}/{1}/{2} + Name: {0} ({1}) + Query Sent + Usage: showevent [eventID] (use searchevents to get ID) + Sits on the nearest prim. + Couldn't find a nearby prim to sit on. + Sits on requested object. + Couldn't find a object to sit on with UUID {0}. + Requested to sit on object {0} ({1}) + Usage: siton [uuid] + Sat on {0} ({1}). Distance: {2} + Stands up. + Standing up. + Shows statisticals about connection. + [{0}] Dilation: {1} InBPS: {2} OutBPS: {3} ResentOut: {4} ResentIn: {5} + FPS : {0} PhysicsFPS : {1} AgentUpdates : {2} Objects : {3} Scripted Objects : {4} + Frame Time : {0} Net Time : {1} Image Time : {2} Physics Time : {3} Script Time : {4} Other Time : {5} + Agents : {0} Child Agents : {1} Active Scripts : {2} + Packets in the queue: + Retrieves or set IsRunning flag on items inside an object (task inventory). + Failed to download task inventory for {0} + [Folder] Name: {0} + [Item] Name: {0} Desc: {1} Type: {2} + (no script info) + Couldn't find objeto {0} + (was not set) + IsMono: {0} IsRunning: {1} + Setting + Usage: taskrunning [objectID] [[scriptName] true|false] + Enables or disables automatic downloading for all viewable textures + Texture downloading is off. + Finished downloading texture {0} ({1} bytes) + Texture downloading is on. + Usage: textures [on/off] + Touches a specified object. + Couldn't find a object to touch with UUID {0}. + Touched object {0}. + Usage: touch [uuid] + Rezzes a tree. + Type tree for list of trees. + Attemped to rez a {0} tree. + Usage: tree + Turned to {0}. + Image compressed to JPEG2000, uploading… + {0} created by NatiBot at {1}. + Uploads an item to the asset. + Error creating notecard for {0} + Error creating script for {0} + Failed when compressing to JPEG2000. + Failed loading file. + File cannot be uploaded because of error {0}. + {0} created by NatiBot at {1}. + Upload an image to the asset server. + Failed when compressing to JPEG2000 + Image was not upload because of error: "{0}". + Image has been sent to master {0} ({1}) and should arrive soon. + Loading image {0}. + RequestCreateItemFromAsset() returned: Success={0}, Status={1}, ItemID={2}, AssetID={3} + Timeout when uploading image. This does not mean image was not uploaded. + Image uploaded with UUID {0} + Image compressed to JPEG2000, uploading… + Upload took {0} seconds. + Usage: uploadimage [inventory_name] [filename] + File loaded, uploading… + Loading file {0}. + Upload a raw terrain file to the simulator. + File {0} not found. + Terrain raw file uploaded and applied. + Timeout waiting for terrain file upload. + Usage: uploadterrain [filename] + RequestCreateItemFromAsset() returned: Success={0}, Status={1}, ItemID={2}, AssetID={3} + RequestUploadNotecardAsset() returned: Success={0}, Status={1}, ItemID={2}, AssetID={3} + RequestUpdateScriptAgentInventory() returned: Success={0}, Status={1}, ItemID={2}, AssetID={3} + RequestCreateItem() returned: Success={0}, ItemID={1}, AssetID={2} + File has been sent to master {0} ({1}) and should arrive soon. + Timeout when upload file. This does not mean file was not uploaded. + Unknown error uploading notecard asset. + Unsupported file + File uploaded with UUID {0} + Upload took {0} seconds. + Usage: upload [inventory_name] [filename] + Shows time from login. + I am {0}, logged in since {1} ({2}). + Shows the bot version and changelog. + Shows an inventory notecard. + First argument expected notecard UUID. + Notecard data: \n{0} + Notecard not found in the cached inventory. Use "i" command to cache it first. + Timeout waiting for notecard data. + Usage: viewnote [uuid] + Obtain voice account info. Usage: voiceaccount + RequestProvisionAccount failed. Not available for the current grid? + Voice account information lookup for {0} failed. + VoiceManager not running for {0} + Voice Account for {0}: user "{1}", password "{2}" + Obtain parcel voice info. Usage: voiceparcel + Parcel Voice Info request for {0} failed. + RequestParcelVoiceInfo failed. Not available for the current grid? + Parcel Voice Info request for {0}: region name "{1}", parcel local id {2}, channel URI {3} + Wears an outfit folder from the inventory. + Invalid outfit ({0}). + Usage: wear [outfit] (nobake) + Whispers something on general chat or option channel. + Usage: whisper (optional channel) [message] + Whispered "{0}". + Lists viewable agents. + {0} (Viewer: {1}, Group: {2}, Location: {3}, UUID: {4}) + Shows the local wind speed. + Local wind speed is {0}. + Operation not yet implemented. + Check code + Cancel + Hardware changed, request new auth key + Incorrect authorization key + Hardware Key + Authorization Key + Check license + Importing {0} + Proceeding to import {0} items. + Import + Uploaded {0} elements of {1}. + Objects + Set master + Send update packet + Greet master + Send IMs/Chat to IRC + Location + Master + Money + Name + Status + Crash controls + Element to import + Show/Edit details + Accounts + Master + General options + IRC Settings + IRC Server + Port + Main channel + Master's nick + Right click on a row for options + Login + Logout + Objects + Account files *.acc|*.acc|All files|*.* + Remove + Bot configuration + Console + Tools + Save accounts + Add account + Load accounts + Login all + Login + Logout all + Logout + Bot handling + Remove account + Send a greet to the master at login or changing it + Adding objects to Data Grid + Asking SIM for objects + Export All + Export + Refresh + Refresh every 10 seconds + Exporting {0} objects + Exporting object {0} of {1}. + Idle + Distance + {0} objects indexed. + Location + Name + Requesting objects names + Objects + {0} is not an escapable character. + About + Rev + All rights reserved. + Coding and testing: + Interface and graphics: + Translation to + {0} {1}: {2} + For more information, consult readme file or http://natibot.claunia.com + English + Spanish + Catalan + Galician + Romanian + Italian + French + German + Edit selected account + Edit + Master + Master's IRC nick: + Master's name: + Starting location + Location: + Set: + Last + Home + Login details + Login Grid / URI: + Name: + Password: + Lastname: + Add + Cancel + IRC server configuration + Use IRC server? + Channel: + Port (No SSL): + Server address: + Add account + You cannot edit the bot while it is connected! + English + Spanish + Catalan + Galician + Romanian + Italian + French + German + Settings + Write console to file + Language: + Hi! + NatiBot exits. + NatiBot exits by exit button. + Natibot starts. + Returns the name of an avatar using its UUID. + Usage: key2name [uuid] + Avatar {0} is called {1}. + Timeout when searching for avatar {0}. Is it a valid avatar's UUID? + Buyes a specified object. + Couldn't find a object to buy with UUID {0}. + Tried to buy object {0}. + Usage: buy [uuid] + Takes a specified object to the inventory. + Couldn't find a object to take with UUID {0}. + Tried to take object {0} (UUID {1}). + Usage: takeitem [uuid] + Copy to clipboard + Names + UUIDs + Locations + Sit on + Touch them + First selected + All selected + Buy them + Export + Objects + Particles + Objects and particles + Request take to inventory + Translates given text from one language to another. + Usage: translate [fromlanguage] [tolanguage] [text] + Chat + Chat + whispers: + shouts: + (offline) + Unknown Owner + Object {0} owned by {1} in region {2} at {3}: + Avatar {0} sends us a teleport lure to region {1} at {2} with the following message: + Avatar {0} in region {1} at {2} sent you a message of type {3} saying: + Object is owned by {0} and we don't have permissions to export it. + Sound {0} correctly downloaded ({1} bytes). + Error {1} when downloading sound {0}. + Enables or disables automatic downloading for all hearable sounds + Sound downloading is off. + Sound downloading is on. + Usage: sounds [on/off] + Enables or disables automatic downloading for all visible animations + Animations downloading is off. + Animations downloading is on. + Usage: animations [on/off] + Downloads requested sound by UUID + Timed out when asking for sound + Usage: downloadsound [uuid] + Afrikaans + Albanian + Arabic + Belarusian + Bulgarian + Czech + Simplified Chinese + Traditional Chinese + Korean + Croatian + Danish + Slovak + Slovene + Estonian + Finnish + Welsh + Greek + Hebrew + Hindi + Dutch + Hungarian + Indonesian + Irish + Icelandic + Japanese + Latvian + Lithuanian + Macedonian + Malay + Maltese + Norwegian + Polish + Portuguese + Russian + Serbian + Swahili + Swedish + Tagalog + Thai + Turkish + Ukrainian + Vietnamese + Yiddish + Closes Natibot and logouts all connected avatars. + Usage: quit [yes] + Application exiting. + Shows currently used memory. + {0} MiB currently in use. + Logouts current avatars. + Usage: logout [yes] + Avatar login out. + Creates a notecard with the help and sends it to the master. + NatiBot - v{0} - Commands + Sending help to master. + Starts a garbage collection. + {0} MiB in use before garbage collection. + Starting garbage collection. + {0} MiB in use after garbage collection. + Garbage collection took {0} seconds. + Shows current time in local, UTC, GMT and PST zones. + Current date and time is: + Local Time: {0} + Universal Time Coordinated: {0} + Second Life" Time (PST): {0} + Claunia.com"s Time: {0} + Shows all known client tags and client names. + Client {0} uses ID {1}. + Shows copyright information. + Searches Places. + Usage: searchplaces [search text] + Your search string "{0}" returned {1} results + Timeout waiting for simulator to respond to query. + Searches for other avatars. + Usage: searchpeople [search text] + Your query "{0}" matched {1} People. + Timeout waiting for simulator to respond. + Didn"t find any people that matched your query. + Searches for land for sale, for usage information type: searchland + Usage: searchland [type] [max price] [min size] + where [type] is one of: mainland, auction, estate, all + if [max price] or [min size] are 0 that parameter will be ignored + example: "searchland mainland 0 512" // shows the lowest priced mainland that is larger than 512m² + Timeout waiting for simulator to respond. + {0} results. + Searches groups. + Usage: searchgroups [search text] + Your query "{0}" matched {1} Groups. + Timeout waiting for simulator to respond. + Group {1} ({0}) has {2} members + Didn"t find any groups that matched your query. + Searches Classified Ads. + Usage: searchclassifieds [search text] + Your search string "{0}" returned {1} classified ads + Timeout waiting for simulator to respond to query. + Group ID {0} is named {1} + None + Name: {0} + Description: {0} + Unknown + Creator: {0} ({1}) + Owner: {0} ({1}) + Last owner: {0} ({1}) + Group: {0} ({1}) + Sit name: {0} + Touch name: {0} + Position: {0} + Creation date: {0} + Text: + Ejects indicated user from current parcel. + Usage: ejectuser [uuid] + Expected avatar ID. + Avatar not found. + Cannot eject a group from the parcel. + Ejecting avatar {0} from current parcel. + Ejects and bans indicated user from current parcel. + Usage: banuser [uuid] + Cannot ban a group from the parcel. + Banning avatar {0} from current parcel. + Gets current parcel ban list. + Timeout when asking for ban list. + Banned avatar id {0} + Banned avatar {0} ({1}) + Gets current parcel allowed list. + Timeout when asking for allowed list. + Allowed avatar id {0} + Allowed avatar {0} ({1}) + Turns the bot looking to a specified point, avatar (by id or name), or object (by id). + Usage: turnto [x y z]/[uuid]/[avatar] + Could not find avatar {0}. + Cannot turn to a group! + Avatar {0} not found on current simulator, cannot turn to it. + Avatar {0} is sit in an unknown object. Cannot turn to it. + Object {0} not found on current simulator, cannot turn to it. + Moves the avatar to the specified coordinates, avatar (by id or name), or object (by id). + Cannot move to a group! + Avatar {0} not found on current simulator, cannot move to it. + Avatar {0} is sit in an unknown object. Cannot move to it. + Object {0} not found on current simulator, cannot move to it. + Usage: follow {[firstname] [lastname]|me|stop}) Use "me" to make it follow you, "stop" to stop following. + Rezzes chosen item 3m up of the bot. + Usage: rezitem [itemID] + An UUID was expected. + Requested to rez item {0}. + Cannot rez folder {0}. + Item {0} not found in current inventory folder. + Creates new skin with the indicated texture. + Usage: createskin [name] [face-uuid] [upper-uuid] [lower-uuid] + Expected an UUID on [face-uuid] + Expected an UUID on [upper-uuid] + Expected an UUID on [lower-uuid] + Skin created with asset ID {0}, sending to master. + Failed to create skin with status {0}. + Creates a new landmark with the current position. + Landmark created with asset ID {0}, sending to master. + Failed to create landmark with status {0}. + Creates new eyes with the indicated texture. + Usage: createeyes [name] [uuid] + Expected an UUID. + Eyes created with asset ID {0}, sending to master. + Failed to create eyes with status {0}. + Creates a new clothing with the indicated parameters. + Usage: createclothing help + Usage: createclothing [name] [Gloves|Jacket|Pants|Shirt|Shoes|Skirt|Socks|Underpants|Undershirt] [uuid1] (uuid2) + Size parameters and colors must be applied manually yet. + You must indicate a second uuid for Jackets. + Incorrect clothing type chosen. + Expected an UUID on [uuid1]. + Expected an UUID on [uuid2]. + Clothing created with asset ID {0}, sending to master. + Failed to create Clothing with status {0}. + Groups cache failed. + Got {0} groups: + Shows group roles. + Usage: grouproles GroupName + {0} doesn"t seem to have any roles in the group {1}. + {0} got group roles. + Request ID {0} + Group Name {0} + Group UUID {0} + Role {0} {1}|{2} + {0} roles. + Shows group members. + Usage: groupmembers GroupName + {0} doesn"t seem to be member of the group {1}. + {0} got group members. + Member: {0} ({1}) + {0} members. + Invites avatar to current group at chosen role or to the default one. + Usage: invite [av-uuid] (role-uuid) + No group currently active. Activate a group with activategroup command. + Could not found specified avatar in grid. + Could not invite a group to a group. + Could not get group roles. + Current group does not contain role with ID {0}. + Error getting group role. + Inviting {0} to group {1} in role {2}. + Ejects a member of a group. + Usage: groupeject [avatarid] (groupid) + Expected group uuid. + Group not found. + Group uuid is from an avatar. + No current active group. Activate or indicate a group. + Expected avatar uuid. + Avatar not found. + Avatar uuid is from a group. + Unable to get group members. + Avatar {0} is not member of group {1}. + Avatar {0} ejected from group {1}. + Adds indicated avatar to chosen role. + Usage: addtorole [avatar-uuid] [role-uuid] (group-uuid) + Not member of group {0} + {0} is not a member of group {1}. Invitate him first. + Expected role uuid. + Adding {0} to role {1} on group {2}. + Activates chosen role on chosen group. + Usage: activaterole [role-uuid] (group-uuid) + Activating role {0} on group {1}. + Unknown + Unidentified/Official + Offers friendship to given avatar. + Usage: offerfriendship [name] [lastname] | [uuid] + Avatar not found. + Cannot offer friendship to groups. + Avatar named {0} not found. + I am already friend with {0}. + Wanna be my friend? + Offered friendship to {0}. + Unable to get avatar ID at all. + Enables saying when a friend goes online or offline. + Usage: informfriend [on/off] + Bot currently informs about friends. + Bot currently does not inform about friends. + Bot will inform about friends. + Bot will not inform about friends. + Ends friendship with given avatar. + Usage: endfriendship [name] [lastname] | [uuid] + Cannot end friendship with groups. + I am not friend with {0}. + Terminated friendship with {0}. + Makes the bot play the specified sound. + Usage: playsound [uuid] + Trying to play sound {0}. + Creates a pick for current position. + Usage: pick [description] + I like this place! + Trying to add a pick for this place. + Pays indicated L$ amount to chosen avatar. + Usage: pay [amount] [avatar-uuid]. Amount can be "all", and if avatar is ausent will be paid to master. + Giving you {0}$L + Gave {0}$L to {1}. + Sets the bot in nadu position. + Usage: nadu [on/off] + Bot is currently in nadu position. + Bot is currently not in nadu position. + Bot is now in nadu position. + Bot is not in nadu position anymore. + Looks at specified object or avatar. + Usage: lookat [uuid]/[firstname] [lastname] + Could not found avatar {0}. + Cannot look at a group! + Avatar {0} not found on current simulator, cannot look at it. + Object {0} not found on current simulator, cannot look at it. + Looking at object {0}. + Looking at avatar {0}. + Sits on ground. Use stand command to stand up. + Trying to sit on ground in place. + Makes the bot play the specified gesture. + Usage: gesture [uuid] + Trying to play gesture {0}. + Set the bot as busy. + Usage: busy [on/off] + Bot is currently busy. + Bot is currently not busy. + Bot is now busy. + Bot is not busy anymore. + Beams at specified object or avatar. + Usage: beam [uuid]/[firstname] [lastname] + Could not find avatar {0}. + Cannot beam at a group! + Avatar {0} not found on current simulator, cannot beam at it. + Object {0} not found on current simulator, cannot beam at it. + Beaming at object {0}. + Beaming at avatar {0}. + Sets the bot away from keyboard. + Usage: away [on/off] + Bot is currently away from keyboard. + Bot is currently not away from keyboard. + Bot is now away from keyboard. + Bot is not more away from keyboard. + Attaches chosen item to last attachment point. + Usage: attach [itemID] + An UUID was expected. + Requested to attach item {0}. + Cannot attach folder {0}. + Item {0} not found in current inventory folder. + The {0} System Animation is being played, sequence is {1} + The {0} Asset Animation is being played, sequence is {0} + Avatars + Groups + Friends + Inventory + Map + Get Animations + Get Textures + Get Sounds + Accept inventory offers + Inform of friends online + Touch Midnights + Have "Lucky"s + Write chat to file + {0} - Avatars + Current simulator: {0} + {0} avatars found. + Auto-translate from: + to: + {0} Sitting on {1}, that said {2} thinking it"s a Lucky Chair. + {0} Sitting on {1}, that said {2} thinking it"s a Lucky Present. + {0} Sitting on {1}, that said {2} thinking it"s a Lucky Santa. + {0} Touching {1}, that said {2} thinking it"s a Lucky Board. + Object {0} owned by {1} in region {2} at {3} sends an inventory: + Avatar {0} sent a notice on group {1} + {0} accepted my friendship. + {0} declined my friendship. + {0} accepted my inventory offer. + {0} declined my inventory offer. + {0} offered the following inventory: + (TRANSLATED) + Message + Profile + Teleport + Remove + Friends - {0} + Name + (loading...) + Send instant message + Will send an instant message to avatar {0} + Send teleport lure + Will send a teleport lure to avatar {0} + Remove friend + Are you sure to remove {0} from your friends? + Groups - {0} + Leave + Leave group + Are you sure to leave group {0}? + Activate + Activate group + Activating group {0}. + Message + Send message to group + Will send an instant message to group {0} + Instant message sent + Correctly sent instant message to group {0}. + Error on group chat + Could not open chat session with group {0}. + Inventory - {0} + &File + Copy Asset UUID + Delete Object/Folder + Attach + Detach + Empty trash + Empty lost && found + Map for simulator: {0} + Simulator: {0}, version {1} + Map downloading… + Avatars: {0} + Selected position: + Teleport + An error occured while Teleporting. \n Please re-try later. + Added new object {0} to list. + Added object {0} to list. + Got name for object {0}. + {0} Items known: {1} kwown names {2} unknown names. + 2nd Life + Web + Interests + 1st Life + Name: + Born: + Photo: + Account: + Partner: + Groups: + About: + Web: + He/she wants: + Build + Meet + Sell + Be hired + Explore + Group + Buy + Hire + Skills: + Textures + Modeling + Scripting + Architecture + Event Planning + Custom Characters + Languages: + Photo: + Info: + {0}"s Profile + Identified + Mature + Payment info on file + Public + Dialog from {0} + Dialog from object {0} + owned by {0} {1}. + Name + Position + ID + Touched object {0} named {1} thinking it is a Midnight Mania. + Touched object {0} named {1} thinking it is a Lucky Advent Countdown. + Touched object {0} named {1} thinking it is a Prize Pyramid. + Sitting on object {0} named {1} thinking it is a Lucky Dip. + Sitting on object {0} named {1} thinking it is a Lucky Cupcake. + Name + Distance + Viewer + Position + Copy UUID to clipboard + Show profile + Offer Teleport + Teleport To + Walk To + Send message + List attachments + Dump attachments + Dump outfit + Offer friendship + Send teleport lure + Will send a teleport lure to avatar {0} + Send instant message + Will send an instant message to avatar {0} + {0} is already my friend. + Already my friend. + Offer friendship + Will offer friendship to {0}. + Wanna be my friend? + Attachments list + List of {0}"s attachments. + This command can take long to finish. + NatiBot will not respond until it is finished. + Are you sure to continue? + Dumped attachments + Dumped outfit + Group + (empty) + Sending notecard to master. + Stopped following. + Object + My friend {0} just went online. + My friend {0} just went offline. + Shows NatiBot and current simulator versions. + Current simulator: {0} + Provide packet and capabilities utilization statistics. + Statistics not available. + Shows current health. + Current health is {0}%. + If updating from an older NatiBot delete all the accounts and recreate them. + Login system had breaking changes that requires manually updating accounts. + Login is defaulting to AGNI (Second Life Production Grid). + Unhandled exception happened. + Crash information has been sent to Claunia.com + Sorry for the inconveniences. + NatiBot will now exit. + Fatal error + \ No newline at end of file diff --git a/SLBot/bot/Localization/language_es.xml b/SLBot/bot/Localization/language_es.xml new file mode 100644 index 0000000..0b9c295 --- /dev/null +++ b/SLBot/bot/Localization/language_es.xml @@ -0,0 +1,1191 @@ + + + Fallo al descodificar imagen {0}. + Fallo {1} al descodificar la imagen {0} + Imagen {0} descargada correctamente. + Terminada la descarga de la imagen {0} ({1} bytes) + Aceptando teletransporte. + Conectando al servidor de inicio de sesión... + Conectando a la región... + Conectando... + Inicio de sesión fallido: {0} + Desconectado + Conectado + Leyendo respuesta... + Redirigiendo... + Eliminando... + Identificador del grupo {0} obtenido, solicitando miembros del grupo... + Obtenidos {0} miembros del grupo. + {0} reportando. + ERROR: No se pudo obtener la UUID de "{0}". No se ha cambiado el maestro. + "{0}" resuelto a {1} + <{0} ({1=""})> {2} (no es del grupo): {3} (@{4}:{5}) + <{0} ({1=""})> {2} (no es el maestro): {3} (@{4}:{5}) + El grupo activo para {0} es {1}. + Establece el grupo activo. + {0} falló al activar el grupo {1}. + {0} no parece ser miembro de ningún grupo. + {0} no parece ser miembro del grupo {1}. + Estableciendo el grupo {0} como activo. + Uso: activategroup [grupo] + {0} avatar(es) en {1},{2} + Descarga la localización de cada agente en la región especificada. + Fallo al obtener la localización de los agentes. + Localización de los agentes: + Uso: agentlocations [manejadorderegión] + Anima el avatar con la animación especificada, muestra las animaciones del sistema o las que se están reproduciendo actualmente. + Comenzando animación {0} + Parando animación {0} + Uso: animate [uuid] | [list/show/stop] + Establece la última apariencia guardada. + Apariencia establecida correctamente. + Iniciando hilo de apariencia. + Tiempo de espera agotado estableciendo la apariencia. + [Anexo @ {0}] IDLocal: {1} UUID: {2} Desplazamiento: {3} + Muestra una lista de los objetos anexados actuales. + Encontrados {0} anexos. + Lista los anexos de un avatar especificado. + Uso: attachmentsuuid [uuid] + Acerca de él/ella: + Cuenta: + , perfil para adultos + Nacido el: {0} + Miembro charter: + Muestra información sobre un avatar cercano. + Ocurrió algún error al solicitar el perfil del avatar. + 1ª Vida: + Fotografía: {0} + Grupos: + Identificado + Información: {0} + Intereses: + Idiomas: {0} + No se puede encontrar ningún avatar cercano llamado {0}. + No se pudieron obtener los grupos del avatar especificado. + No se pudieron obtener los intereses del avatar especificado. + No se pudo obtener el perfil del avatar especificado. + Socio: + , información de pago presente + , público + 2ª Vida: + Fotografía: {0} + Habilidades: (0x{0}) {1} + Texturas: + Uso: avatarinfo [nombre] [apellido] + Él/Ella quiere: (0x{0}) {1} + Perfil web: {0} + Mueve el bot hacia atrás, un paso o un determinado número de segundos. + Me moví hacia atrás. + {0}: ambas colas de transferencia vacías Y el hilo de inventario completado. + Guarda el contenido cacheado del inventario al disco duro. + {0}: La descarga del asset {1} ({2}) falló con el error {3} + no + \r\n{0}: {1} elementos en la cola, {2} elementos solicitados al servidor. + {0} {1} está ejecutándose. + Comenzandas las operaciones en segundo plano. + Guarda las notas del inventario cacheado al disco duro. + {0}: tiempo de espera agotado por el asset {1} + \r\n{0}: Transferencias del servidor ( {1} ejecutándose ) ha transferido {2} elementos con {3} errores. + Desconocido + Uso: {0} [to <directory>] | [abort] | [status] + \r\n{0}: El recorrido del inventario ( {1} ejecutándose ) ha encontrado {2} elementos. + {0}: El recorrido del inventario ha terminado. + {0}: Escrito {1} + Uso: back (segundos) + {0} tiene {1}L$ + Muestra el balance de L$. + Tiempo de espera agotado al solicitar el balance. + La distancia actual de la cámara es de {0} metros. + Distancia de la cámara cambiada a {0} metros. + Muestra o cambia la distancia actual de la cámara. + Uso: camerafar [distancia] + La carpeta actual es {0} + Cambia la carpeta actual del inventario. + {0} no es una carpeta. + {0} no se ha encontrado en {1} + cd [ruta] + Fallo al establecer el permiso de copia, los permisos quedan en estado desconocido. + Cambia los permisos de un objeto y de los elementos contenidos en su inventario. + Se establecieron los permisos {0} en {1} objetos y {2} elementos de su inventario. + Encontrada la primitiva {0} solicitada + Fallo al establecer el permiso de modificación, los permisos quedan en estado desconocido. + No se pudo encontrar el prim {0} + Usando máscara de permisos: {0} + No se pudo encontrar el prim raíz del objeto especificado. + Establecido el prim raíz como {0} + Uso: changeperms [uuid] (copy) (mod) (xfer) + Fallo al establecer el permiso de transferencia, los permisos quedan en estado desconocido. + Clona la apariencia de un avatar cercano. + {0} clonado. + No se ha podido encontrar a {0}. + {0} estableciendo {1} como el grupo activo. + Clona el perfil de otro avatar tan precisamente como sea posible. ATENCIÓN: ¡Este comando destruirá el perfil actual! + Sincronizado el perfil con el de {0} + Fallo al unirse al grupo {0}. + Fallo al obtener un perfil completo para ese UUID. + Unido al grupo {0} con éxito. + Uso: cloneprofile [uuid] + La apariencia del avatar {0} es desconocida. + Uso: clone [nombre] + {0} creada por NatiBot el {1}. + Falló la creación de la nota: {0}. + Falló la creación de la nota. + Crea una nota a partir de un archivo de texto. + Error descargando la nota: {0}. + Falló al obtener el elemento {0} del inventario. + Archivo {0} no encontrado. + Falló al abrir el fichero {0} con el error {1}. + Nota creada con éxito con el ItemID {0} y el AssetID {1} + Tiempo de espera agotado. + Error desconocido al subir la nota. + Uso: createnotecard archivo.txt + Comienza o deja de agacharse. + Agachándose. + Dejando de agacharse. + Uso: crouch [start/stop] + La carpeta {0} se ha movido a la Papelera. + Mueve una carpeta del inventario a la Papelera. + No se ha encontrado la carpeta {0}. + Uso: rmdir [carpeta] + {0} (Grupo: {1}, Posición: {2}, UUID: {3}) es probablemente un bot. + Muestra los posibles bots. + Muestra la dilatación temporal del simulador actual. + La dilatación temporal es {0}. + Descarga la animación especificada por su UUID. + La animación {0} se ha descargado correctamente ({1} bytes). + Error {1} al descargar la animación {0}. + Se esperaba un UUID. + Tiempo de espera agotado al preguntar por la animación. + Uso: downloadanimation [uuid] + Descarga el archivo RAW del terreno para esta región. + El archivo del terreno {0} ({1} bytes) se ha descargado satisfactoriamente y escrito en {2} + Tiempo de espera por los datos del terreno agotado. + Uso: downloadterrain [tiempodeespera] + Descarga la textura especificada por su UUID. + El simulador indica que la textura {0} no ha sido encontrada. + Guardado {0}.jp2 ({1}x{2}) + Tiempo de espera por la textura agotado. + Uso: downloadtexture [uuid] [prioridad] + Uso: downloadtexture [texture] + Exporta el objeto especificado anexado al avatar al disco duro. + Exportadas {0} primitivas a {1}{2} + El objeto anexado en {0} falló al exportar. + El punto de anexión especificado no es válido. + Atención: No se pudieron obtener todas las propiedades de: + Exporta todos los anexos de un avatar. + Se intentaron exportar {0} anexos. + El anexo de {0} se ha exportado con éxito. + Uso: dumpattachments [uuid] + Uso: dumpattachment [uuid] [punto-de-anexión: RightHand,LeftHand,Skull,LeftEyeball,RightEyeball,LeftFoot,RightFoot,RightEar,LeftEar,LeftHip,RightHip,LeftUpperLeg,RightUpperLeg,RightLowerLeg,LeftLowerLeg,RightForearm,LeftForearm,Nose,RightShoulder,LeftShoulder,RightPec,LeftPec,Chin,RightUpperArm,LeftUpperArm,Spine,Chest,Pelvis,Stomach,Mouth] + Guarda todas las texturas que viste un avatar al disco duro. + Descargando + No se pudo encontrar el avatar {0} + Uso: dumpoutfit [uuid] + Repite todo lo que el maestro diga. + Repetición desactivada. + Repetición activada. + Vacía el contenido de la carpeta Lost & Found. + Carpeta Lost & Found folder vaciada. + Vacía del contenido de la papelera. + Papelera vaciada. + Exporta un objeto a un archivo XML. + XML exportado, comienza la descarga de {0} texturas. + Exportadas {0} primitivas to {1} + No se puede encontrar el UUID {0} entre los {1} objetos indexados en el simulador actual. + Atención: No se pudieron obtener todas las propiedades de: + Exporta la ropa de un avatar a un archivo xml. + Exportada la apariencia del avatar {0} a {1} + No se pudo encontrar la apariencia del avatar {0}. + Uso: exportoutfit [uuid] archivo.xml + Genera un script LSL con el sistema de partículas de un objeto especificado. + Partículas del objeto {0} exportadas. + El objeto {0} no posee un sistema de partículas. + No se puede encontrar el objeto con el identificador {0} + No se puede encontrar la primitiva {0} + Uso: exportparticles [uuid] + Uso: export [uuid] [archivo.xml] + Encuentra todos los objetos cuyo nombre contengan las condiciones de búsqueda. + Búsqueda finalizada. + Objeto '{0}': {1} + Atención: No se pudieron obtener todas las propiedades de: + Uso: findobjects [alcance] [condiciones de búsqueda] + Busca un simulador y muestra información sobre él. + {0}: manejador={1} ({2},{3}) + Falló la búsqueda de {0}. + Uso: findsim [nombre del simulador] + Comprueba si una textura específica es visible en una cara determinada. + Búsqueda finalizada. + Primitiva {0} ({1}) tiene la cara {2} establecida a {3} + Uso: findtexture [cara] [textura] + Comienza o deja de volar. + Empezando a volar. + Dejando de volar. + Vuela a la posición especificada por un máximo de segundos. + Volando a {0} en {1} segundos + Uso: flyto x y z [segundos] + Uso: fly [start/stop] + El servidor canceló el piloto automático. + [Piloto automático] A {0} metros del objetivo, comenzando piloto automático a <{1},{2},{3}> + Sigue a otro avatar. + Siguiendo a {0}. + Siguiendo al UUID {0}. + No se ha especificado un maestro. + Imposible seguir a {0}. Posiblemente esté más allá de la cámara actual. + Imposible seguir al UUID {0}. + Mueve el bot hacia adelante, un paso o un determinado número de segundos. + Me moví hacia adelante. + Uso: forward [segundos] + Lista los amigos del bot. + El bot actual no tiene amigos. + Imposible mandar el dinero a la consola. Este comando sólo funciona cuando se ejecuta en mensaje instantáneo. + Da todo el dinero del bot al maestro. + Entregados {0}L$ a {1}. + NatiBot entregando todo el dinero. + Da objetos de la carpeta actual a un avatar. + No se puede dar la carpeta {0}\n + Entregado {0}\n + Se esperaba la UUID de un agente como primer argumento. + No se ha encontrado ningún elemento del inventario llamado {0}. + Uso: give [uuid del agente] [elemento1] (elemento2) (elemento3) (...) + Se teletransporta a casa. + Falló el teletransporte a casa. + Teletransportado a casa con éxito. + Va a un simulador usando un teletransporte. + Teletransporte fallido: {0}. + Va al destino indicado por un landmark usando un teletransporte. + Teletransporte fallido: {0}. + UUID inválida. + Teletransportado con éxito. + Teletransportándose a{0}. + Uso: gotolm [uuid] + Teletransportado a {0} con éxito. + Uso: goto sim/x/y/z + Descarga todas las capas del mapa de la grid. + Capa({0}) Inferior: {1} Izquierda: {2} Superior: {3} Derecha: {4} + Listo. + Descarga toda la información visible del mapa de la grid. + Listo. + Muestra los grupos a los que pertenece el bot. + El bot no pertenece a ningún grupo. + Muestra todos los comandos disponibles. + \n\nAYUDA\nEl bot aceptará teletransportes del maestro y de miembros de su grupo.\n + Envía un mensaje instantáneo. + Envía un mensaje instantáneo a un grupo. + Falló el envío del mensaje instantáneo al grupo. + Unido a la sala del grupo {0} satisfactoriamente. + Falló al unirse a la sala del grupo. + Se envío el mensaje instantáneo "{1}" al grupo {0}. + Tiempo de espera agotado entrando en la sala del grupo. + Uso: imgroup [uuid_del_grupo] [mensaje] + No se encontró quién es {0}. + Importación fallida, tiempo de espera agotado creando una primitiva hija. + Importación completada. + Solicitando recogida al inventario del objeto importado. + Importa las primivitas descritas en un archivo XML. + Fallo {1} al de-serializar {0}. + Importando {0} estructuras. + Atención: Fallo al vincular {0} primitivas. + ATENCIÓN: Ignorando un grupo sin primitiva raíz. + Importa una apariencia de un archivo XML. + Uso: importoutfit [archivo] + Estableciendo las propiedades de {0}. + Importación fallida, tiempo de espera agotando creando la primitiva raíz. + Uso: import [archivo] (usegroup) + Se envío el mensaje instantáneo "{1}" a {0}. + Uso: im [nombre] [apellido] [mensaje] + Muestra y cachea el inventario. + Nombre ambiguo. Se encontraron {0} grupos (UUIDs en la consola) + Se une a un grupo. + ERROR: Obtuve una respuesta vacía. + {0} no parece ser una UUID válida. + Se unió al grupo {0}. + Los grupos encontrados son: + No se pudo unir al grupo {0} + Uso: joingroup [nombre del grupo] | joingroup [uuid] + No se pudo obtener la UUID para el grupo {0}. + Salta. + Comenzando a saltar. + Dejando de saltar. + Abandona un grupo. + {0} no pudo abandonar el grupo {1}. + {0} abandonó el grupo {1}. + {0} no parece ser miembro de ningún grupo. + {0} no parece ser miembro del grupo {1}. + Uso: leavegroup [grupo] + Mueve el bot hacia la izquierda, un paso o un determinado número de segundos. + Me moví hacia la izquierda. + Uso: left [segundos] + Muestra el contenido de la carpeta actual del inventario. + El contenido de la carpeta aún no está listo. + Uso: ls ( -l ) + Carga comandos de una DLL. + Cargado el ensamblado {0}. + Uso: load [ensamblado.dll] + Muestra la localización actual. + Simulador: '{0}' Localización: {1} + Encuentra un amigo. + Encontrado el amigo {0} en {1}/{2}/{3} + Se encontró a {0}, Pero parece estar desconectado. + Tiempo de espera agotado esperando la respuesta, ¿Tengo permisos para encontrar a {0}? + Uso: mapfriend [uuid] + Crea una firma MD5 de una contraseña dada. + Uso: md5 [contraseña] + Intentando moverme a <{0},{1},{2}> + Uso: moveto x y z + Obtiene la lista del inventario de un objeto. + Fallo al descargar el inventario de {0}. + [Carpeta] Nombre: {0} + [Elemento] Nombre: {0} Desc: {1} Tipo: {2} UUID: {3} + No se pudo encontrar el objeto {0}. + Uso: objectinventory [uuid] + Muestra detalles acerca de la parcela especificada. + No se pudo encontrar la parcela {0} en el diccionario. ¿Ejecutaste primero ParcelInfo para rellenar el diccionario? + Uso: parceldetails [id_de_parcela] + Imprime información acerca de todas las parcelas de este simulador. + Descargadas {0} Parcelas en {1} + Fallo al obtener información de todas las parcelas del simulador. + Parcela[{0}]: Nombre: "{1}", Descripción: "{2}" Cuenta de LCA: {3} Tráfico: {4} + Muestra una lista de cuantas primitivas tiene un usuario en una parcela. (Necesita permisos) + Dueño: {0}. Objetos: {1} + No se pudo encontrar la parcela {0} en el diccionario. ¿Ejecutaste primero ParcelInfo para rellenar el diccionario? + Tiempo de espera agotado. + Uso: primowners [id_de_parcela] + Muestra una lista de las primitivas en una parcela que pertenecen a un avatar especificado. + Encontados {0} objetos. + No se pudo encontrar la parcela {0} en el diccionario. ¿Ejecutaste primero ParcelInfo para rellenar el diccionario? + Tiempo de espera agotado. + Uso: selectobjects [id_de_parcela] [uuid] + Muestra el número de primitivas actualmente indexadas. + {0} (Avatares: {1} Primitivas: {2}) + Indexando un total de {0} objetos. + Textura por defecto: {0} + Muestra información acerca de una primitiva especificada. + Terminado. + Cara {0}: {1} + Luz: {0} + No se pudo encontrar la primitiva {0}. + nulo + Partículas: {0} + Entrada de textura: + Uso: priminfo [uuid] + Busca una primitiva usando expresiones regulares. + Búsqueda finalizada. + Error en la búsqueda. + \nNOMBRE={0}\nID = {1}\nPROPIEDADES = {2}\nTEXTO = '{3}'\nDESC='{4} + Buscando [{0}] ({1} primitivas cargadas en el simulador).\n + Uso: primregex [expresión regular] + Acceso: + Muestra información acerca de la región actual. + Propiedades: + Manejador: {0} (X: {1} Y: {2}) + TerrainBase0: + TerrainBase1: + TerrainBase2: + TerrainBase3: + TerrainDetail0: + TerrainDetail1: + TerrainDetail2: + TerrainDetail3: + UUID: + Altura del agua: + Envía un teletransporte al avatar especificado o al maestro. + Uso: sendtp (uuid-avatar) + Ven a mi. + Teletransporte enviado a {0}. + Mueve el bot hacia la derecha, un paso o un determinado número de segundos. + Me moví hacia la derecha. + Uso: right [segundos] + Dice algo en el chat o en un canal opcional. + Dije "{0}". + Uso: say (canal opcional) [mensaje] + Ejecuta una serie de comandos descritos en un archivo de texto especificado. + Finalizó la ejecución de {0} comandos. + Uso: script [archivo] + Busca parcelas construibles. + Falló al obtener la información de todas las parcelas del simulador. + Encontrada una parcela construible: {0} en el simulador {1}. + Listo. + Busca eventos en la lista. + ID del evento: {0} Nombre: {1} Fecha: {2} + Tu búsqueda '{0}' coincide con {1} eventos. + Ningún resultado coincide con la búsqueda especificada. + Tiempo de espera por la respuesta del simulador agotado. + Uso: searchevents [texto de búsqueda] + Establece la posición actual como casa. + Casa establecida. + Cambia el nombre del maestro. + Ahora eres mi maestro. Mándame un mensaje instantáneo con "help" para una lista de comandos. + Cambio al maestro según su UUID. + Maestro establecido a {0} + Uso: setmasterkey [uuid] + Maestro establecido a {0} ({1}) + Uso: setmaster [nombre] + No se pudo obtener la UUID para "{0}". No se ha cambiado el maestro. + Grita algo en el chat o en un canal opcional. + Grité "{0}". + Uso: shout (canal opcional) [mensaje] + Muestra u oculta los efectos del visor en la consola. + Efecto [Mirando]: ID de Origen: {0} ID Objetivo: {1} Posición Objetivo: {2} Tipo: {3} Duración: {4} ID: {5} + Los efectos del visor no se mostrarán. + Los efectos del visor se mostrarán en la consola. + Efecto [{0}]: ID de Origen: {1} ID Objetivo: {2} Posición Objetivo: {3} Duración: {4} ID: {5} + Efecto [Apuntando]: ID de Origen: {0} ID Objetivo: {1} Posición Objetivo: {2} Tipo: {3} Duración: {4} ID: {5} + Uso: showeffects [on/off] + Fecha: {0} + Muestra los detalles sobre un evento. + Descripción: {0} + Localización: {0}/{1}/{2} + Nombre: {0} ({1}) + Solicitud enviada. + Uso: showevent [ID del evento] (usar searchevents para obtener la ID) + Se sienta en la primitiva más cercana. + No se ha encontrado una primitiva cercana para sentarse: + Se sienta en el objeto especificado. + No se puede encontrar un objeto con UUID {0} en el que sentarse. + Se solicita sentarse en el objeto {0} ({1}) + Uso: siton [uuid] + Me senté en {0} ({1}). Distancia: {2} + Levantarse. + Levantándome. + Muestra estadísticas sobre la conexión. + [{0}] Dilatación Temporal: {1} BPS Entrada: {2} BPS Salida: {3} Reenviados Fuera: {4} Reenviados Dentro: {5} + FPS : {0} FPS Físicos : {1} Actualizaciones de agentes : {2} Objetos : {3} Objetos con script : {4} + Tiempo de fotograma : {0} Tiempo de red : {1} Tiempo de imagen : {2} Tiempo de física : {3} Tiempo de script : {4} Otro tiempo : {5} + Agentes : {0} Agentes hijos : {1} Scripts activos : {2} + Paquetes en la cola: + Obtiene o establece la propiedad Ejecutándose en los elementos del inventario de un objeto. + Falló al descargar el inventario del objeto {0} + [Carpeta] Nombre: {0} + [Objeto] Nombre: {0} Desc: {1} Tipo: {2} + (no hay información de script) + No se puede encontrar el objeto {0} + (no establecido) + Mono: {0} Ejecutándose: {1} + Configuración + Uso: taskrunning [id de objeto] [[nombre del script] true|false] + Activa o desactiva la descarga automática de todas las texturas visibles. + Descarga de texturas desactivada. + Terminada descarga de la textura {0} ({1} bytes) + Descarga de texturas activada. + Uso: textures [on/off] + Toca un objeto especificado. + No se puede encontrar un objeto para tocar con UUID {0}. + Tocado el objeto {0}. + Uso: touch [uuid] + Saca un árbol al mundo. + Escribe tree para la lista de árboles. + Intenté sacar un árbol {0}. + Uso: tree + Giré hacia {0}. + Imagen comprimida a JPEG2000, subiendo… + {0} creada por NatiBot el {1}. + Sube un elemento al servidor asset. + Error creando la nota para {0} + Error creando el script para {0} + Fallo al comprimir a JPEG2000. + Fallo abriendo el archivo. + El archivo no pudo ser subido por el error {0}. + {0} creada por NatiBot el {1}. + Sube una imagen al servidor asset. + Fallo al comprimir a JPEG2000. + La imagen no se subió por el error: "{0}". + La imagen ha sido enviada al maestro {0} ({1}) y debería llegar en breve. + Cargando imagen {0}. + RequestCreateItemFromAsset() retornó: Éxito={0}, Estado={1}, ItemID={2}, AssetID={3} + Tiempo de espera agotado subiendo la imagen. Eso no significa que la imagen no se haya subido con éxito. + Imagen subida con la UUID {0} + Imagen comprimida a JPEG2000, subiendo… + La subida tomó {0} segundos. + Uso: uploadimage [nombre_para_el_inventario] [archivo] + Archivo cargado, subiendo… + Cargando archivo {0}. + Sube un archivo raw de terreno al simulador. + El archivo {0} no se ha encontrado. + Archivo raw del terreno subido y aplicado. + Tiempo de espera agotado en la subida del archivo de terreno. + Uso: uploadterrain [archivo] + RequestCreateItemFromAsset() retornó: Éxito={0}, Estado={1}, ItemID={2}, AssetID={3} + RequestUploadNotecardAsset() retornó: Éxito={0}, Estado={1}, ItemID={2}, AssetID={3} + RequestUpdateScriptAgentInventory() retornó: Éxito={0}, Estado={1}, ItemID={2}, AssetID={3} + RequestCreateItem() retornó: Éxito={0}, ItemID={1}, AssetID={2} + El archivo ha sido enviado al maestro {0} ({1}) y debería llegar en breve. + Tiempo de espera agotado subiendo el archivo. Esto no significa que no se haya subido con éxito. + Error desconocido subiendo la nota. + Tipo de archivo no soportado + Archivo subido con UUID {0} + La subida tomó {0} segundos. + Uso: upload [nombre_para_el_inventario] [archivo] + Muestra el tiempo desde el inicio de sesión. + Soy {0}, en línea desde el {1} ({2}). + Muestra la versión del bot y la lista de revisiones. + Muestra una nota del inventario. + Se esperaba una UUID como primer argumento. + Datos de la nota: \n{0} + No se pudo encontrar la nota en el inventario cacheado. Usa el comando "i" para cachearlo primero. + Tiempo de espera por los datos de la nota agotado. + Uso: viewnote [uuid] + Obtiene información sobre la cuenta de voz. Uso: voiceaccount + RequestProvisionAccount falló. ¿No está disponible para la grid actual? + Falló al obtener la información de cuenta de voz de {0}. + VoiceManager no se está ejecutando para {0} + Cuenta de voz para {0}: usuario "{1}", contraseña "{2}" + Obtiene información de voz de la parcela. Uso: voiceparcel + Falló la solicitud de información de voz de la parcela para {0}. + RequestParcelVoiceInfo falló. ¿No está disponible para la grid actual? + Información de voz de la parcela para {0}: nombre de la región "{1}", id local de la parcela {2}, URI del canal {3} + Viste una carpeta de apariencia del inventario. + Apariencia ({0}) inválida. + Uso: wear [apariencia] (nobake) + Susurra algo en el chat o en un canal opcional. + Uso: whisper (canal opcional) [mensaje] + Susurré "{0}". + Muestra los agentes visibles. + {0} (Cliente: {1}, Grupo: {2}, Posición: {3}, UUID: {4}) + Muestra la velocidad del viento local. + La velocidad del viento local es {0}. + Operación todavía no implementada. + Comprobar + Cancelar + El hardware ha cambiado, solicita nueva llave de autorización. + Llave de autorización incorrecta. + Llave Hardware + Llave de autorización + Comprobar licencia + Importando {0} + Procediendo a importar {0} elementos. + Importar + Subidos {0} elementos de {1}. + Objetos + Establecer maestro + Enviar paquete de actualización + Saludar al maestro + Enviar MIs/Chat a IRC + Localización + Maestro + Dinero + Nombre + Estado + Controles de caída + Elemento a importar. + Mostrar/Editar detalles + Cuentas + Maestro + Opciones generales + Opciones de IRC + Servidor IRC + Puerto + Canal + Nick del maestro + Botón derecho en una fila para opciones + Conectar + Desconectar + Objetos + Archivos de cuenta *.acc|*.acc|Todos los archivos|*.* + Eliminar + Configuración del bot + Consola + Herramientas + Guardar cuentas + Añadir cuenta + Cargar cuentas + Iniciar todas + Iniciar + Cerrar todas + Cerrar + Manejo del bot + Eliminar cuenta + Envía un saludo al maestro al iniciar o cambiarlo. + Añadiendo objetos a la lista + Pregutnando al simulador por los objetos + Exportar Todos + Exportar + Refrescar + Refrescar cada 10 segundos + Exportando {0} objetos + Exportando objeto {0} de {1}. + Inactivo + Distancia + {0} objetos indexados. + Localización + Nombre + Solicitando nombres de los objetos + Objetos + El caracter {0} no es escapable. + Acerca de + Rev + Todos los derechos reservados. + Código y pruebas: + Interfaz y gráficos: + Traducción a + {0} {1}: {2} + Para más información consulte el archivo léame o http://natibot.claunia.com + inglés + español + catalán + gallego + rumano + italiano + francés + alemán + Editar cuenta seleccionada + Editar cuenta + Maestro + Nick de IRC del maestro: + Nombre del maestro: + Posición de comienzo + Posición: + Establecer: + Última + Casa + Detalles de inicio de sesión + Grid / URI de inicio de sesión: + Nombre: + Contraseña: + Apellido: + Añadir + Cancelar + Configuración del servidor IRC + ¿Usar servidor IRC? + Canal: + Puerto (Sin SSL): + Dirección del servidor: + Añadir cuenta + ¡No puedes editar el bot mientras está conectado! + Inglés + Español + Catalán + Gallego + Rumano + Italiano + Francés + Alemán + Configuración + Escribir consola en archivo + Idioma: + ¡Hola! + NatiBot termina su ejecución. + NatiBot ha sido cerrado con el botón de salir. + Natibot comienza su ejecución. + Obtiene el nombre de un avatar por su UUID. + Uso: key2name [uuid] + El avatar {0} se llama {1}. + Tiempo de espera agotado buscando el avatar {0}. ¿Pertenece esa UUID a un avatar válido? + Compra el objeto especificado. + No se pudo encontrar el objeto con UUID {0}. + Se intentó comprar el objeto {0}. + Uso: buy [uuid] + Recoge el objeto especificado al inventario. + No se pudo encontrar el objeto con UUID {0}. + Se intentó recoger el objeto {0} (UUID {1}). + Uso: takeitem [uuid] + Copiar al portapapeles + Nombres + UUIDs + Posiciones + Sentarse en + Tocarlos + El primer objeto seleccionado + Todos los seleccionados + Comprarlos + Exportar + Objetos + Partículas + Objetos y partículas + Solicitar recogida al inventario + Traduce el texto de un idioma a otro. + Uso: translate [idioma_origen] [idioma_destino] [texto] + Chat + Chat + susurra: + grita: + (sin conexión) + Usuario desconocido + El objeto {0} perteneciente a {1} de la región {2} en {3}: + El avatar {0} envía un teletransporte a la región {1} en {2} con el siguiente mensaje: + El avatar {0} de la región {1} en {2} envía un mensaje de tipo {3} diciendo: + El objeto pertenece a {0} y no tenemos permisos para exportarlo. + El sonido {0} se ha descargado correctamente ({1} bytes). + Error {1} al descargar el sonido {0}. + Activa o desactiva la descarga automática de todos los sonidos audibles. + La descarga de sonidos está desactivada. + La descarga de sonidos está activada. + Uso: sounds [on/off] + Activa o desactiva la descarga automática de las animaciones visibles. + La descarga de las animaciones está desactivada. + La descarga de las animaciones está activada. + Uso: animations [on/off] + Descarga el sonido especificado por su UUID + Tiempo de espera agotado descargando el sonido. + Uso: downloadsound [uuid] + Afrikaans + Albanés + Árabe + Bielorruso + Búlgaro + Checo + Chino Simplificado + Chino Tradicional + Coreano + Croata + Danés + Eslovaco + Esloveno + Estonio + Finlandés + Galés + Griego + Hebreo + Hindi + Holandés + Húngaro + Indonesio + Irlandés + Islandés + Japonés + Letón + Lituano + Macedonio + Malayo + Maltés + Noruego + Polaco + Portugués + Ruso + Serbio + Suajili + Sueco + Tagalo + Tailandés + Turco + Ucraniano + Vietnamita + Yiddish + Cierra NatiBot y todos los avatares conectados. + Uso: quit [yes] + Cerrando aplicación. + Muestra la memoria actualmente en uso. + {0} MiB actualmente en uso. + Cierra el avatar actual. + Uso: logout [yes] + Cerrando avatar. + Crea una nota con la ayuda y la envía al maestro. + NatiBot - v{0} - Comandos + Enviando ayuda al maestro. + Empieza una recolección de basura. + {0} MiB en uso antes de la recolección de basura. + Comenzando la recolección de basura. + {0} MiB en uso después de la recolección de basura. + La recolección de basura tardó {0} segundos. + Muestra la fecha actual en las zonas horarias local, UTC, GMT y PST. + La fecha y hora actual es: + Hora Local: {0} + Hora Universal Coordinada: {0} + Hora de Second Life (PST): {0} + Hora de Claunia.com: {0} + Muestra todos los nombres e identificadores conocidos de los visores. + El visor {0} usa la ID {1}. + Muestra información de los derechos de autor. + Busca lugares. + Uso: searchplaces [texto de búsqueda] + El texto de búsqueda "{0}" obtuvo {1} resultados. + Tiempo de espera agotado esperando la respuesta del simulador. + Busca otros avatares. + Uso: searchpeople [texto de búsqueda] + El texto de búsqueda "{0}" coincidió con {1} personas. + Tiempo de espera agotado esperando la respuesta del simulador. + No se encontró a nadie que coincida con la búsqueda. + Busca parcelas en venta. Para ver el uso, searchland + Uso: searchland [tipo] [precio máximo] [tamaño mínimo] + donde [tipo] es uno de los siguientes: mainland, auction, estate, all + si [precio máximo] o [tamaño mínimo] son 0 se ignorará ese parámetro + ejemplo: \"searchland mainland 0 512\" // muetra la parcela en mainland más barata que sea más grande de 512m² + Tiempo de espera agotado esperando la respuesta del simulador. + {0} resultados. + Busca grupos. + Uso: searchgroups [texto de búsqueda] + El texto de búsqueda "{0}" coincidió con {1} grupos. + Tiempo de espera agotado esperando la respuesta del simulador. + El grupo {1} ({0}) tiene {2} miembros + No se encontró ningún grupo que coincida con la búsqueda. + Busca anuncios clasificados. + Uso: searchclassifieds [texto de búsqueda] + El texto de búsqueda "{0}" coincidió con {1} anuncios. + Tiempo de espera agotado esperando la respuesta del simulador. + El grupo con ID {0} se llama {1} + Ninguno + Nombre: {0} + Descripción: {0} + Desconocido + Creador: {0} ({1}) + Propietario: {0} ({1}) + Propietario anterior: {0} ({1}) + Grupo: {0} ({1}) + Nombre al sentarse: {0} + Nombre al tocarlo: {0} + Posición: {0} + Fecha de creación: {0} + Texto: + Expulsa al usuario indicado de la parcela actual. + Uso: ejectuser [uuid] + Se esperaba un ID. + Avatar no encontrado. + No se puede expulsar a un grupo de la parcela. + Expulsando a {0} de la parcela actual. + Expulsa y banea al usuario indicado de la parcela actual. + Uso: banuser [uuid] + No se puede banear a un grupo de la parcela. + Baneando a {0} de la parcela actual. + Obtiene la lista de bans de la parcela actual. + Tiempo de espera agotado esperando por la lista de bans. + El avatar con id {0} está baneado. + El avatar {0} ({1}) está baneado. + Obtiene la lista de acceso permitido de la parcela actual. + Tiempo de espera agotado esperando por la lista de accesos permitidos. + El avatar con id {0} tiene el acceso permitido. + El avatar {0} ({1}) tiene el acceso permitido. + Gira al bot mirando al punto, avatar (por id o nombre), u objeto (por id) especificado. + Uso: turnto [x y z]/[uuid]/[avatar] + No se puede encontrar al avatar {0}. + ¡No puedo girar hacia un grupo! + El avatar {0} no se encuentra en el simulador actual, no me puedo girar hacia él. + El avatar {0} está sentando en un objeto desconocido. No me puedo girar hacia él. + El objeto {0} no se encuentra en el simulador actual, no me puedo girar hacia él. + Mueve el bot a las coordenadas, el avatar (por id o nombre), o el objeto (por id) especificado. + ¡No me puedo mover hacia un grupo! + El avatar {0} no se encuentra en el simulador actual, no me puedo mover hacia él. + El avatar {0} está sentando en un objeto desconocido. No me puedo mover hacia él. + El objeto {0} no se encuentra en el simulador actual, no me puedo mover hacia él. + Uso: follow {[nombre] [apellido]|me|stop}) Usa "me" para seguirte a ti, "stop" para parar. + Saca el elemento especificado 3m encima del bot. + Uso: rezitem [ID del elemento] + Se esperaba un ID. + Se solicita sacar el elemento {0}. + No se puede sacar la carpeta {0}. + El elemento {0} no se encuentra en la carpeta actual del inventario. + Crea una nueva skin con las texturas indicadas. + Uso: createskin [nombre] [id-cara] [id-superior] [id-inferior] + Se esperaba un ID en [id-cara]. + Se esperaba un ID en [id-superior]. + Se esperaba un ID en [id-inferior]. + Se creó la skin con el ID de asset {0}, enviandola al maestro. + Falló la creación de la skin con el estado {0}. + Crea un nuevo landmark de la posición actual. + Landmark creato con la ID de asset {0}, enviandolo al maestro. + Falló la creación del landmark con el estado {0}. + Crea unos nuevos ojos con la textura indicada. + Uso: createeyes [nombre] [uuid] + Se esperaba un ID. + Ojos creados con la ID de asset {0}, enviandolos al maestro. + Falló la creación de los ojos con estado {0}. + Crea una nueva ropa con los parámetros indicados. + Uso: createclothing help + Uso: createclothing [nombre] [Gloves|Jacket|Pants|Shirt|Shoes|Skirt|Socks|Underpants|Undershirt] [uuid1] (uuid2) + Los parámetros de tamaño y color deben ser aplicados manualmente aún. + Debe indicarse una segunda uuid para las chaquetas (Jacket). + Tipo de ropa incorrect. + Se esperaba una ID en [uuid1]. + Se esperaba una ID en (uuid2). + Ropa creada con el ID de asset {0}, enviandola al maestro. + Failed to create Clothing with status {0}. + Falló la caché de grupos. + Se obtuvieron {0} grupos: + Muestra los roles del grupo. + Uso: grouproles Nombre Del Grupo + {0} no parece tener ningún rol en el grupo {1}. + {0} obtuvo los roles del grupo. + ID de la solicitud: {0} + Nombre del grupo: {0} + ID del grupo: {0} + Rol {0} {1}|{2} + {0} roles. + Muestra los miembros del grupo. + Uso: groupmembers Nombre Del Grupo + {0} no parece ser miembro del grupo {1}. + {0} obtuvo los miembros del grupo. + Miembro: {0} ({1}) + {0} miembros. + Invita a un avatar al grupo actual a un rol especificado o al rol por defecto. + Uso: invite [uuid-av] (uuid-rol) + Ningún grupo está activo actualmente. Activa un grupo con el comando activategroup. + No se puede encontrar el avatar especificado en la grid. + No se puede invitar a un grupo a un grupo. + No se pudieron obtener los roles del grupo. + El grupo actual no contiene ningún rol con el ID {0}. + Error al obtener el rol del grupo. + Invitando a {0} al grupo {1} en el rol {2}. + Expulsa a un miembro del grupo. + Uso: groupeject [id-av] (id-grupo) + Se esperaba la ID del grupo. + No se encuentra el grupo. + La ID de grupo pertenece a un avatar. + Ningún grupo está activo actualmente. Activa un grupo o especifícalo por ID. + Se esperada la ID del avatar. + Avatar no encontrado. + La Id del avatar pertenece a un grupo. + No se pudieron obtener los miembros del grupo. + El avatar {0} no es miembro del grupo {1}. + El avatar {0} ha sido expulsado del grupo {1}. + Añade al avatar indicado al rol especificado. + Uso: addtorole [id-av] [id-rol] (id-grupo) + No pertenezco al grupo {0}. + {0} no pertenece al grupo {1}. Invítale primero. + Se esperaba una ID de rol. + Añadiendo a {0} en el rol {1} del grupo {2}. + Activa el rol especificado en el grupo especificado. + Uso: activaterole [id-rol] (id-grupo) + Activando el rol {0} en el grupo {1}. + Desconocido + No identificado/Oficial + Ofrece amistad al avatar especificado. + Uso: offerfriendship [nombre] [apellido] | [uuid] + Avatar no encontrado. + No se puede ofrecer amistad a los grupos. + El avatar {0} no ha sido encontrado. + Ya soy amigo de {0}. + ¿Quieres ser mi amigo? + Amistad ofrecida a {0}. + Imposible conseguir la ID del avatar. + Activar informar cuando un amigo se conecta o desconecta. + Uso: informfriend [on/off] + Actualmente informo de los amigos. + Actualmente no informo de los amigos. + Informaré de los amigos a partir de ahora. + No informaré de los amigos a partir de ahora. + Termina la amistad con el avatar especificado. + Uso: endfriendship [nombre] [apellido] | [uuid] + No se puede terminar la amistad con grupos. + No soy amigo de {0}. + Terminé mi amistad con {0}. + Hace que el bot reproduzca el sonido especificado. + Uso: playsound [uuid] + Intentando reproducir el sonido {0}. + Crea un favorito de la posición actual. + Uso: pick [description] + ¡Me encanta este sitio! + Añadiendo un favorito de esta posición. + Paga la cantidad de L$ elegida al avatar especificado. + Uso: pay [cantidad] [id-avatar]. La cantidad puede ser "all", y si se omite el avatar se pagará al maestro. + Dándote {0}$L + Dando {0}$L a {1}. + Pone al bot en posición nadu. + Uso: nadu [on/off] + El bot está en posición nadu. + El bot no está en posición nadu. + El bot se pone en posición nadu. + El bot se quita de la posición nadu. + Mira al objeto o avatar especificado. + Uso: lookat [nombre] [apellido] | [uuid] + No se pudo encontrar al avatar {0}. + ¡No puedo mirar hacia un grupo! + El avatar {0} no se encuentra en el simulador actual, no puedo mirar hacia él. + El objeto {0} no se encuentra en el simulador actual, no puedo mirar hacia él. + Mirando al objeto {0}. + Mirando al avatar {0}. + Se sienta en el suelo. El comando stand lo levanta. + Intentando sentame en el suelo donde estoy. + Have que el avatar reproduzca la gesture especificada. + Uso: gesture [uuid] + Reproduciendo gesture {0}. + Establece el bot como ocupado. + Uso: busy [on/off] + El bot está ocupado. + El bot no está ocupado. + El bot pasa a estar ocupado. + El bot pasa a estar desocupado. + Emite particulas hacia el objeto o avatar especificado. + Uso: beam [nombre] [apellido] | [uuid] + No se pudo encontrar al avatar {0}. + ¡No puedo emitir partículas hacia un grupo! + El avatar {0} no se encuentra en el simulador actual, no puedo emitir partículas hacia él. + El objeto {0} no se encuentra en el simulador actual, no puedo emitir partículas hacia él. + Emitiendo partículas al objeto {0}. + Emitiendo partículas al avatar {0}. + Establece el bot como ausente. + Uso: away [on/off] + El bot está ausente. + El bot no está ausente. + El bot pasa a estar ausente. + El bot pasa a estar presente. + Anexa el objeto especificado a su último punto de anexión. + Uso: attach [id] + Se esperaba una UUID. + Se solicita anexar el objeto {0}. + No se puede anexar la carpeta {0}. + El objeto {0} no se encuentra en la carpeta actual del inventario. + La animación del sistema {0} está siendo reproducida con la secuencia {1} + La animación {0} está siendo reproducida con la secuencia {1} + Avatares + Grupos + Amigos + Inventario + Mapa + Obtener animaciones + Obtener texturas + Obtener sonidos + Aceptar inventario + Informar de amigos + Tocar Midnights + Sentarse en "Lucky"s + Escribir el chat en archivo + {0} - Avatares + Simulador actual: {0} + {0} avatares encontrados. + Traducir de: + a: + {0} Sentándose en {1}, que dijo {2} pensando que es una Lucky Chair. + {0} Sentándose en {1}, que dijo {2} pensando que es un Lucky Present. + {0} Sentándose en {1}, que dijo {2} pensando que es un Lucky Santa. + {0} Tocando {1}, que dijo {2} pensando que es una Lucky Board. + El objeto {0} perteneciente a {1} de la región {2} en {3} envía un inventario: + El usuario {0} envió una noticia en el grupo {1} + {0} aceptó mi amistad. + {0} rechazó mi amistad. + {0} aceptó mi oferta de inventario. + {0} rechazó mi oferta de inventario. + {0} ofreció el siguiente inventario: + (TRADUCIDO) + Mensaje + Perfil + TP + Eliminar + Amigos - {0} + Nombre + (cargando...) + Enviar mensaje instantáneo + Enviará un mensaje instantáneo a {0} + Enviar teletransporte + Enviará un teletransporte a {0} + Eliminar amigo + ¿Estás seguro de querer eliminar a {0} de amigos? + Grupos - {0} + Abandonar + Abandonar grupo + ¿Estás seguro de querer abandonar el grupo {0}? + Activar + Activar grupo + Activando el grupo {0}. + Chat + Enviar mensaje al grupo + Enviará el mensaje al grupo {0} + Mensaje enviado + Mensaje correctamente enviado al grupo {0}. + Mensaje no enviado + No se pudo abrir una sesión de chat con el grupo {0}. + Inventario - {0} + &Archivo + Copiar ID de asset + Eliminar Objeto/Carpeta + Anexar + Retirar + Vaciar papelera + Vaciar lost && found + Mapa del simulador: {0} + Simulador: {0}, versión {1} + Descargando el mapa… + Avatares: {0} + Posición seleccionada: + TP + Ocurrió un error en el teletransporte. \n Por favor vuelva a intentarlo más tarde. + Añadido el nuevo objeto {0} a la lista. + Añadido el objeto {0} a lista. + Obtenido el nombre del objeto {0}. + {0} Objetos conocidos: {1} nombres conocidos y {2} desconocidos. + 2ª vida + Web + Intereses + 1ª vida + Nombre: + Nacido: + Foto: + Cuenta: + Socio: + Grupos: + Acerca: + Web: + ¿Qué quiere?: + Construir + Conocer + Vender + Trabajar + Explorar + Agruparme + Comprar + Contratar + Habilidades: + Texturas + Modelos + Scripts + Arquitectura + Eventos + Caracterización + Idiomas: + Foto: + Info: + Perfil de {0} + Identificado + Maduro + Información de pago + Público + Diálogo de {0} + Diálogo del objeto {0} + perteneciente a {0} {1}. + Nombre + Posición + ID + Toqué el objeto {0} llamado {1} pensando que es un Midnight Mania. + Toqué el objeto {0} llamado {1} pensando que es un Lucky Advent Countdown. + Toqué el objeto {0} llamado {1} pensando que es un Prize Pyramid. + Me senté en el objeto {0} llamado {1} pensando que es un Lucky Dip. + Me senté en el objeto {0} llamado {1} pensando que es un Lucky Cupcake. + Nombre + Distancia + Cliente + Posición + Copiar ID al portapapeles + Mostrar perfil + Ofrecer teletransporte + Teletransportar a + Caminar a + Enviar mensaje + Mostrar anexos + Descargar anexos + Descargar vestimenta + Ofrecer amistad + Enviar teletransporte + Se enviará un teletransporte a {0} + Enviar mensaje + Se enviará un mensaje instantáneo a {0} + {0} ya es amigo mío. + Ya es mi amigo. + Ofrecer amistad + Se ofrecerá amistad a {0} + ¿Quieres ser mi amigo? + Lista de anexos + Anexos de {0}: + Este comando puede tardar bastante en terminar. + NatiBot no responderá hasta que termine. + ¿Estás seguro de continuar? + Anexos descargados + Vestimenta descargada + Grupo + (vacío) + Enviando notecard al maestro. + Dejé de seguir. + Objeto + Mi amigo {0} acaba de conectarse. + Mi amigo {0} acaba de desconectarse. + Muestra la versión de NatiBot y del simulador actual. + Simulador: {0} + Muestra estadísticas de utilización de paquetes y capacidades. + Estadísticas no disponibles. + Muestra la salud actual. + La salud actual es del {0}%. + Si actualiza de una versión más antigua de NatiBot borre todas las cuentas y vuélvalas a crear. + El sistema de inicio de sesión ha recibido cambios que requieren recrear manualmente las cuentas. + El inicio de sesión se establece a AGNI (Second Life Production Grid). + Ocurrió una excepción no controlada. + La información del error ha sido enviada a Claunia.com + Lamentamos los inconvenientes causados. + NatiBot se cerrará ahora. + Error fatal + \ No newline at end of file diff --git a/SLBot/bot/Localization/language_fr.xml b/SLBot/bot/Localization/language_fr.xml new file mode 100644 index 0000000..3948597 --- /dev/null +++ b/SLBot/bot/Localization/language_fr.xml @@ -0,0 +1,1204 @@ + + + Pas réussi à décoder l'image {0}. + Échec de téléchargement d'images {0}: {1} + Fini le téléchargement image {0}. + Fini le téléchargement image {0} ({1} octets) + Accepter leurre téléporter. + Connexion au serveur de connexion... + Raccordement à la région... + Connexion... + La connexion a échoué: {0} + Offline + Connectés + Lecture de réponse... + Redirection... + Suppression... + Vous avez l'ID du groupe de {0} membres du groupe demandant... + Got {0} membres du groupe. + Ceci est {0} de déclaration en douane. + ERREUR: Impossible d'obtenir UUID pour «{0}". Maître inchangé. + "{0}" résolus à {1} + <{0} ((1 =""})> {2} (non dans le groupe): {3} (@ {4}: {5}) + <{0} ((1 =""})> {2} (pas le maître): {3} (@ {4}: {5}) + Groupe Active pour {0} est maintenant {1}. + Définit le groupe actif. + {0} a échoué pour activer le groupe {1}. + {0} ne semble pas membre d'un groupe. + {0} ne semble pas être membre du groupe {1}. + Configuration {0} en tant que groupe actif. + Usage: activategroup [NomDeGroupe] + {0} avatar (s) à {1}, {2} + Téléchargements de l'emplacement de chaque agent dans une région déterminée. + Impossible de récupérer endroits agent. + Agent endroits: + Usage: agentlocations [regionhandle] + A partir d'animation {0} + Arrêter l'animation {0} + Définit l'apparence du dernier enregistrement. + Réussi à mettre l'apparence. + Started apparence fil. + Timeout tout en mettant en apparence. + [Pièce jointe @ (0 LocalID]): {1} UUID: {2} Offset: {3} + Affiche une liste des pièces jointes en cours. + Found {0} pièces jointes. + Affiche une liste des pièces jointes d'un avatar. + Usage: attachmentsuuid [UUID] +      A propos de lui / d'elle: +      Compte: + , Adulte profil +      Date de Naissance: {0} +      Charte membres: + Affiche des informations sur un avatar à proximité. + Une erreur s'est produite lors de la demande profil avatar. + 1ère vie: + Photo: {0} +      Groupes: + Identifiée + Renseignements: {0} + Centres d'intérêt: +      Langues: {0} + Impossible de trouver un avatar à proximité appelée {0}. + Impossible d'obtenir demandé aux groupes avatar. + Impossible d'obtenir demandé intérêts avatar. + Impossible d'obtenir le profil demandé avatar. +      Partenaire: + , Les informations de paiement actuelle + , Public + 2nd Life: +      Photo: {0} +      Compétences: (0x {0}) {1} + Textures: + Usage: avatarinfo [Prénom] [Nom] +      Il / elle veut: (0x {0}) {1} +      Profil Web: {0} + Déplacez le bot en arrière, un pas ou un nombre déterminé de secondes. + Déplacé vers l'arrière. + {0}: les deux files d'attente de transfert de vide et de l'inventaire se fait à pied thread + Enregistre le contenu de l'inventaire en cache sur votre disque dur. + {0}: Téléchargement de l'actif {1} ({2}) a échoué avec l'état {3} + pas + \ r \ n {0}: {1} articles dans la file d'attente, {2} éléments demandés à partir du serveur. + {0} {1} est en cours d'exécution. + A commencé ses opérations d'arrière-plan. + Arrêts notecards de l'inventaire en cache sur votre disque dur. + {0}: timeout sur l'atout {1} + \ r \ n {0}: les transferts de serveur ({1} en cours d'exécution) a transféré les articles {2} {3} avec des erreurs. + Inconnu + Usage: {0} [to <dossier>] | [abort] | [status] + \ r \ n {0}: Walker Inventory ({1} course à pied) a trouvé {2} articles. + {0}: Inventaire de marche du fil fait. + {0}: {1} Wrote + Usage: back (secondes) + {0} a {1} L $ + Affiche le L $ équilibre. + Timeout attendre la réponse de l'équilibre. + Distance actuels de l'appareil est {0} mètres. + Changement de distance de la caméra à {0} mètres. + Afficher ou modifier la distance actuels de l'appareil. + Usage: camerafar [distance] + Dossier actuel est {0} + Dossier change de stocks actuels. + {0} n'est pas un dossier. + {0} not found in {1} + cd [path] + Impossible de définir le bit de copier, d'autorisations dans un état inconnu. + Modifie les autorisations d'un objet et son contenu tâche d'inventaire. + Définissez des autorisations à {0} sur {1} objets et {2} objets de l'inventaire des tâches. + Trouver demandé prim {0} + Impossible d'établir la modifier bits, les autorisations dans un état inconnu. + Vous ne trouvez pas demandé prim 0 () + Utilisation PermissionMask: {0} + Impossible de trouver la racine prim pour objet demandé. + Set root prim à {0} + Usage: changeperms [prim-uuid] (copy) (mod) (xfer) + Impossible de définir le bit de transfert, les autorisations dans un état inconnu. + Clone l'Apparence d'un avatar à proximité. + Cloné {0}. + Impossible de trouver avatar {0}. + {0} {1} paramètre que le groupe actif. + Clones un autre profil avatars aussi étroitement que possible. AVERTISSEMENT: Cette commande va détruire votre profil existant! + Synchronisées notre profil au profil de {0} + Echec de rejoindre le groupe {0}. + Impossible d'extraire un profil complet pour que UUID. + Réussi à vous joindre le groupe {0}. + Usage: cloneprofile [uuid] + Ne sait pas l'apparence de l'avatar {0}. + Usage: clone [nom] + {0} créé par NatiBot à {1}. + Notecard la création d'élément a échoué: {0}. + Notecard la création d'élément échoué. + Crée un notecard partir d'un fichier texte. + Erreur de téléchargement notecard actif: {0}. + Impossible de récupérer le point d'inventaire {0} + File {0} not found. + Impossible d'ouvrir le fichier {0} avec l'erreur {1}. + Notecard créé avec succès avec ItemID {0} et {1} réfbien + Timeout + Erreur inconnue lors de téléchargement actif notecard. + Usage: createnotecard filename.txt + Commence ou arrête accroupie. + Started accroupie. + Stopped accroupie. + Usage: croush [start/stop] + Dossier {0} déplacé vers la Corbeille. + Déplacer un dossier d'inventaire à la Corbeille. + Dossier {0} not found. + Usage: rmdir [dossier] + Montre la dilatation du temps pour SIM actuelle. + La dilatation est {0}. + Téléchargements demandé d'animation par l'UUID + Animation {0} correctement téléchargé ({1} octets). + Erreur {1} lors du téléchargement de l'animation {0}. + UUID attendus + Timed out en demandant pour l'animation + Usage: downloadanimation [uuid] + Téléchargez le fichier RAW terrain pour cette succession. + Terrain fichier {0} ({1} octets) téléchargés avec succès, écrit à {2} + Délai d'attente en attendant des données de terrain + Usage: downloadterrain [timeout] + Télécharger la texture spécifiée par UUID. + Simulateur signalé texture {0} not found. + Enregistrée {0}. JP2 ({1} x {2}) + Expiration du délai d'attente pour le téléchargement de texture + Usage: downloadtexture [texture-uuid] [discardlevel] + Usage: downloadtexture [texture-uuid] + Exportations attachement avatar SPECIFIED sur le disque dur. + Exportés prims {0} à {1} {2} + Pièce jointe dans {0} a échoué à exporter. + Point de fixation spécifié n'est pas valide. + Avertissement: Impossible de récupérer les propriétés plein pour: + Exporte toutes les pièces jointes d'un avatar. + Essayé d'exporter {0} pièces jointes. + Attachment in {0} exporté correctement. + Usage: dumpattachments [uuid] + Usage: dumpattachment [avatar uuid] [pièce jointe à un point: RightHand,LeftHand,Skull,LeftEyeball,RightEyeball,LeftFoot,RightFoot,RightEar,LeftEar,LeftHip,RightHip,LeftUpperLeg,RightUpperLeg,RightLowerLeg,LeftLowerLeg,RightForearm,LeftForearm,Nose,RightShoulder,LeftShoulder,RightPec,LeftPec,Chin,RightUpperArm,LeftUpperArm,Spine,Chest,Pelvis,Stomach,Mouth] + Dumps toutes les textures à partir d'une tenue avatars sur le disque dur. + Téléchargement + Impossible de trouver 0 (avatar) + Usage: dumpoutfit [avatar-uuid] + Répétez tout ce que le maître dit. + Se faisant l'écho est à présent éteint. + Se faisant l'écho est maintenant. + Empty the Lost + Perdu + Vider la corbeille contenu du dossier. + Corbeille vidée. + Exporte un objet dans un fichier xml. + XML exporté, a commencé le téléchargement {0} textures. + Exportés prims {0} à {1} + Impossible de trouver UUID {0} dans {1} objets répertoriés dans le simulateur actuel. + Avertissement: Impossible de récupérer les propriétés plein pour: + Exportations une tenue avatars dans un fichier xml. + Exportés à comparaître pour avatar {0} à {1} + Impossible de trouver une apparition pour avatar {0}. + Usage: exportoutfit [avataruuid] outputfile.xml + Reverse Engineers système de particules d'un objet à un script LSL. + Object {0} particules exportées. + Object {0} n'a pas de système de particules. + Impossible de trouver objet avec l'ID {0} + Impossible de trouver prim 0 () + Usage: exportparticles [UUID] + Usage: export [uuid] [outputfile.xml] + Trouve tous les objets, dont le nom contient la description des paquets. + Fait une recherche. + Objet '{0}': {1} + Avertissement: Impossible de récupérer les propriétés plein pour: + Usage: findobjects [rayon] [Recherche en chaîne] + Recherches pour un simulateur et des déclarations de renseignements à ce sujet. + {0}: handle = {1} ({2}, {3}) + Lookup de {0} a échoué. + Usage: findsim [Simulator Name] + Vérifie si une texture spécifié est actuellement visible sur un visage déterminé. + Fait une recherche. + Primitive {0} ({1}) a l'index face {2} Définir pour {3} + Usage: findtexture [face-index] [texture uuid] + Commence ou arrête de voler. + Commencé à voler. + Ont cessé de voler. + Volez l'avatar vers la position indiquée pour un maximum de secondes. + Flying to {0} en secondes {1} + Usage: flyto x y z (secondes) + Usage: fly [START / STOP] + Server annulé le pilote automatique. + [Autopilot] {0} mètres de la cible, à partir du pilote automatique à <{1}, {2}, {3}> + Suit un autre avatar. + À la suite de {0}. + À la suite de UUID {0}. + Aucun maître spécifié. + Incapable de suivre {0}. Bot mai ne pas être en mesure de voir que l'avatar. + Incapable de suivre UUID {0}. + Déplacez le robot vers l'avant, un pas ou un nombre déterminé de secondes. + Progressé. + Usage: forward (en secondes) + Spectacles amis bot. + Bot actuel ne dispose pas d'amis. + Impossible d'envoyer de l'argent à consoler. Cette commande ne fonctionne que lorsque IMed. + Donne des maître tout l'argent de bot. + A {0} L $ à {1}. + NatiBot donnant à tous l'argent. + Donner des objets du dossier en cours à un avatar. + Incapable de donner dossier {0} \ n + A {0} \ n + Premier argument agent devrait UUID. + Aucun inventaire nommé {0} trouvée. + Usage: give [uuid agent] [item1] (point 2) (item3) (...) + Téléports maison. + Échec de téléportation de leur domicile. + Succès téléporté à la maison. + Passe à une carte SIM en utilisant un téléport. + Teleport a échoué: {0}. + Va vers une destination à l'aide d'un repère se téléporter. + Teleport a échoué: {0}. + Blancs UUID. + Teleport succès. + Téléportation vers {0}. + Usage: gotolm [UUID] + Téléporté à {0} avec succès. + Usage: goto SIM/X/Y/Z + Télécharge toutes les couches de la grille de la carte. + Layer ({0}) Bas: {1} restant: {2} Haut: {3} Right: {4} + Prêt. + Télécharge toutes les informations visibles sur la carte réseau. + Prêt. + Montre des groupes le bot appartient. + Le bot ne font pas partie d'aucun groupe. + Affiche les commandes disponibles. + \ n \ nAidez \ nLa bot acceptera leurres téléport par le capitaine et les membres de celui-ci le groupe actif. \ n + Envoie un message instantané. + Envoie un message instantané à un groupe. + Échec à la catégorie message instantané. + Inscription {0} groupe de chat avec succès. + Rejoindre un groupe Chat a échoué. + Groupe par message instantané {0} avec le message: {1} + Timeout d'attente pour démarrer la session de groupe. + Usage: imgroup [group_uuid] [message] + Recherche de nom pour {0} a échoué. + Rez échoué, timed out tout en créant des enfants prim. + Importation complète. + Rez-de demander à l'inventaire. + Importations prims à partir d'un fichier XML. + Échec de la désérialiser {0}: {1}. + Importation de {0} structures. + Warning: Failed to link {0} prims. + AVERTISSEMENT: Saut d'un linkset avec une racine prim manquants. + Les importations des vêtements dans un fichier XML. + Usage: importoutfit [fichier] + Définition des propriétés de {0}. + Rez échoué, timed out tout en créant la racine prim. + Usage: import [fichier] (usegroup) + Instant messaged {0} avec le message: {1} + Usage: im [Prénom] [Nom] [message] + Des spectacles et des caches de l'inventaire. + Ambiguë nom. Found {0} Groupes UUID (sur console) + Se joint à un groupe. + ERREUR: Vous avez une réponse vide + {0} ne semble pas être un UUID valide. + A rejoint le groupe {0}. + Groupes correspondants sont les suivants: + Impossible de rejoindre le groupe {0} + Usage: joingroup [groupname] | [joingroup uuid] + Incapable d'obtenir des UUID pour le groupe {0}. + Sauts. + A commencé à sauter. + Arrêté le saut. + Quitte un groupe. + {0} n'a pas quitté le groupe {1}. + {0} a quitté le groupe {1}. + {0} ne semble pas membre d'un groupe. + {0} ne semble pas être membre du groupe {1}. + Usage: leavegroup [NomDeGroupe] + Déplacez le bot à gauche, une étape ou un nombre déterminé de secondes. + Déplacé vers la gauche. + Usage: left (secondes) + Liste le contenu du dossier de stocks actuels. + Le contenu du dossier n'est pas encore prêt. + Usage: ls (-l) + Charges commandes à partir d'une DLL. + Assemblée {0} chargé. + Usage: load [assembly.dll] + Indique l'emplacement actuel. + Simulator: '{0}' Lieu: {1} + Trouve un ami. + Trouver des amis de {0} dans {1} à {2} / {3} + Trouver des amis de {0}, mais ils semblent être hors connexion + Délai d'attente en attente de réponse, ce que vous avez les droits de cartographie sur: {0}? + Usage: mapfriend [UUID] + Crée un hachage MD5 à partir d'un mot de passe donné. + Usage: md5 [password] + Tenter d'aller à <{0}, {1}, {2}> + Usage: moveto x y z + Obtient une liste d'un inventaire des tâches objet. + Echec de l'inventaire tâche de téléchargement pour {0}. + [Dossier] Name: {0} + [Article] Name: {0} Desc: {1} Type: {2} UUID: {3} + Impossible de trouver object {0}. + Usage: objectinventory [uuid] + Afficher les détails à propos de la parcelle spécifiée. + Impossible de trouver le colis {0} dans les parcelles dictionnaire. Exécuté en premier parcelinfo pour remplir le dictionnaire? + Usage: parceldetails [parcel_id] + Affiche des informations sur toutes les parcelles de ce simulateur de + Téléchargé {0} Colis dans {1} + Impossible d'extraire des informations sur toutes les parcelles de simulateur + Terrain [{0}]: Nom: "{1}", Description: "{2}" ACL Count: {3} trafic: {4} + Affiche une liste de combien de prims fait un grand nombre d'utilisateurs ont dans un colis. (Besoins permissions) + Propriétaire: {0}. Objets: {1} + Impossible de trouver le colis {0} dans les parcelles dictionnaire. Exécuté en premier parcelinfo pour remplir le dictionnaire? + Timed out + Usage: primowners [parcel_id] + Affiche une liste de prims dans des parcelles qui appartiennent à un avatar spécifié. + Found {0} objets. + Impossible de trouver le colis {0} dans les parcelles dictionnaire. Exécuté en premier parcelinfo pour remplir le dictionnaire? + Timed out + Usage: selectobjects [parcel_id] [avatar_uuid] + Indique le nombre de prims effectivement indexés. + {0} (Avatars: {1} Primitives: {2}) + Suivi d'un total de {0} objets. + Texture par défaut: {0} + Affiche des informations sur un spécifiées prim. + Fait. + Face {0}: {1} + Lumière: {0} + Impossible de trouver prim {0}. + null + Particules: {0} + TextureEntry: + Usage: priminfo [prim-uuid] + Les recherches sur une prim en utilisant les expressions régulières. + Fait une recherche. + La recherche d'erreur. + \ nname = {0} \ nID = {1} \ nFlags = {2} \ ntext = '{3}' \ nDESC = '{4} + Prim Searching for [{0}] ({1} prims chargée en simulateur). \ N + Usage: primregex [predicat texte] + Disponibilité: + Affiche des informations sur la région courante. + Flags: + Handle: {0} (X / Y {1}: {2}) + TerrainBase0: + TerrainBase1: + TerrainBase2: + TerrainBase3: + TerrainDetail0: + TerrainDetail1: + TerrainDetail2: + TerrainDetail3: + UUID: + Hauteur d'eau: + Déplacez le bot à droite, une étape ou un nombre déterminé de secondes. + Déplacé vers la droite. + Usage: right (secondes) + Dit quelque chose sur le chat général ou par la voie d'option. + A déclaré: "{0}". + Usage: say (circuit en option) [message] + Exécute une série de commandes depuis un fichier texte donné. + Fin de l'exécution {0} commandes. + Usage: script [fichier] + Rechercher des parcelles constructibles. + Défaut d'obtenir toutes les informations parcelles de la carte SIM. + Parcelle constructible trouvés: {0} à sim {1}. + Prêt. + Rechercher des événements dans la liste. + Event ID: {0} Nom de l'événement: {1} Date de l'événement: {2} + Votre requête '{0}' {1} appariés Events. + Aucun résultat correspondant à votre chaîne de recherche. + Délai d'attente en attente pour le simulateur de répondre. + Usage: searchevents [Recherche] + Établit l'emplacement actuel de la maison. + Accueil fixés. + Maître change de nom. + Vous êtes maintenant mon maître. IM me Avec "Aide" pour une liste des commandes. + Maître change par clé. + Maître Set to {0} + Usage: setmasterkey [UUID] + Maître Set to {0} ({1}) + Usage: setmaster [nom] + Incapable d'obtenir des UUID pour «{0}". Maître inchangé. + Crie quelque chose sur le chat général ou par la voie d'option. + Cria "{0}". + Usage: shout (circuit en option) [message] + Montre les effets spectateur sur la console ou pas. + ViewerEffect [LookAt]: SourceID: {0} targetId: {1} TargetPos: {2} Type: {3} Durée: {4} id: {5} + Effets Viewer ne sera pas montré. + Effets Viewer sera affiché sur la console. + ViewerEffect [{0}]: SourceID: {1} targetId: {2} TargetPos: {3} Durée: {4} id: {5} + ViewerEffect [PointAt]: SourceID: {0} targetId: {1} TargetPos: {2} Type: {3} Durée: {4} id: {5} + Usage: showeffects [on / off] +         Date: {0} + Affiche les détails sur un événement. + Description: {0} +     Lieu: {0} / {1} / {2} +         Name: {0} ({1}) + Question envoyée + Usage: showevent [eventID] (searchevents utiliser pour obtenir ID) + Est assis sur le plus proche prim. + Impossible de trouver un voisin prim pour s'asseoir. + Repose sur l'objet demandé. + Impossible de trouver un objet de siéger avec UUID {0}. + A demandé de s'asseoir sur l'objet {0} ({1}) + Usage: siton [UUID] + Assis sur {0} ({1}). Distance: {2} + Se lève. + Debout. + Spectacles statisticals sur la connexion. + [{0}] Dilatation: {1} InBPS: {2} OutBPS: {3} ResentOut: {4} ResentIn: {5} + FPS: PhysicsFPS {0}: {1} AgentUpdates: {2} Objects: {3} objets dans le script: {4} + Calendrier: {0} Heure Net: {1} Heure Image: {2} Physique Heure: {3} Script Time: {4} Other Time: {5} + Agents: {0} Agents enfant: {1} scripts ActiveX: {2} + Paquets dans la file d'attente: + Récupère ou ensemble IsRunning drapeau sur articles à l'intérieur d'un objet (inventaire des tâches). + Echec de l'inventaire tâche de téléchargement pour {0} + [Dossier] Name: {0} + [Article] Name: {0} Desc: {1} Type: {2} +   (pas d'info script) + Impossible de trouver objeto 0 () +   (n'était pas la série) + IsMono: {0} IsRunning: {1} +   Paramètre + Usage: taskrunning [objectID] [[scriptName] true | false] + Active ou désactive le téléchargement automatique pour toutes les textures visualisable + Texture téléchargement est éteint. + Fini le téléchargement texture {0} ({1} octets) + La texture est sur le téléchargement. + Usage: textures [on / off] + Touche un objet spécifié. + Impossible de trouver un objet à toucher avec UUID {0}. + Touché object {0}. + Usage: touch [uuid] + Rezzes un arbre. + Type d'arbre pour la liste des arbres. + Tentative de rez a {0} arbre. + Usage: tree + Turned to {0}. + Image compressée sur JPEG2000, le téléchargement ... + {0} créé par NatiBot à {1}. + Mises à un élément à l'actif. + Erreur de création notecard pour {0} + Erreur de création du script pour {0} + Échec lors de la compression à JPEG2000. + Échec de chargement du fichier. + Fichier ne peut pas être téléchargé pour cause d'erreur {0}. + {0} créé par NatiBot à {1}. + Télécharger une image sur le serveur actif. + Échec lors de la compression à JPEG2000 + Image a été interdit de télécharger pour cause d'erreur: "{0}". + Image a été envoyé à maître {0} ({1}) et devrait bientôt arriver. + Chargement d'image {0}. + RequestCreateItemFromAsset () a renvoyé: Success = {0}, Status = {1}, itemid = {2}, réfbien = {3} + Délai d'attente lors du téléchargement d'image. Cela ne signifie pas l'image n'a pas été téléchargé. + Image téléchargée avec UUID {0} + Image compressée sur JPEG2000, le téléchargement ... + Upload a {0} secondes. + Usage: uploadimage [inventory_name] [fichier] + Fichier chargé, le téléchargement ... + Chargement du fichier {0}. + Charger un fichier RAW du terrain au simulateur. + File {0} not found. + Terrain premières fichier téléchargé et appliqué. + Délai d'attente en attente pour un terrain de téléchargement de fichiers. + Usage: uploadterrain [fichier] + RequestCreateItemFromAsset () a renvoyé: Success = {0}, Status = {1}, itemid = {2}, réfbien = {3} + RequestUploadNotecardAsset () a renvoyé: Success = {0}, Status = {1}, itemid = {2}, réfbien = {3} + RequestUpdateScriptAgentInventory () a renvoyé: Success = {0}, Status = {1}, itemid = {2}, réfbien = {3} + RequestCreateItem () a renvoyé: Success = {0}, itemid = {1}, réfbien = {2} + Le fichier a été envoyé à maître {0} ({1}) et devrait bientôt arriver. + Timeout quand le fichier télécharger. Cela ne signifie pas pour autant fichier n'a pas été téléchargé. + Erreur inconnue lors de téléchargement actif notecard. + Unsupported File + Fichier uploadé avec UUID {0} + Upload a {0} secondes. + Usage: upload [inventory_name] [fichier] + Montre le temps de connexion. + Je suis {0}, connecté depuis {1} ({2}). + Indique la version bot et changelog. + Montre un notecard inventaire. + Premier argument notecard devrait UUID. + Notecard données: \ n {0} + Notecard ne trouve pas dans l'inventaire mis en cache. Utilisez commande "i" pour mettre en cache en premier. + Délai d'attente en attente des données notecard. + Usage: viewnote [UUID] + Obtenir infos compte voix. Usage: voiceaccount + RequestProvisionAccount échoué. Non disponible pour le courant de grille? + Voice consultation des informations du compte pour {0} a échoué. + VoiceManager ne fonctionne pas pour {0} + Voix compte pour {0}: user "{1}", mot de passe "{2}" + Obtenir infos voix colis. Usage: voiceparcel + Colis Voice Demande d'information pour {0} a échoué. + RequestParcelVoiceInfo échoué. Non disponible pour le courant de grille? + Colis Voice Demande d'information pour {0}: nom de la région "{1}", parcelle ID local {2}, canal URI {3} + Porte une tenue de dossier de l'inventaire. + Blancs Outfit ({0}). + Usage: wear [trousseau] (nobake) + Chuchote quelque chose à chat général ou par la voie d'option. + Usage: whisper (circuit en option) [message] + Whispered "{0}". + Listes d'agents affichable. + Affiche la vitesse du vent local. + Vitesse du vent local est {0}. + Cette opération n'est pas encore implémentée. + Vérifier le code + Annuler + Hardware changé, auth nouvelle demande de clé + Autorisation clé incorrecte + Clé + Clé d'autorisation + De vérifier le permis + Importation de {0} + De procéder à l'importation {0} articles. + Import + Uploaded {0} éléments de {1}. + Objets + Set Maître + Envoyer mise à jour de paquets + Greet maître + Envoyez des messages instantanés / Chat sur IRC + Emplacement + Maître + Argent + Nom + État + Contrôles Crash + Élément à l'importation + Afficher / Modifier les détails + Comptes + Maître + Options générales + IRC Paramètres + Serveur IRC + Port + Main Channel + Nick Maître + Faites un clic droit sur une ligne pour les options + Connexion + Déconnexion + Objets + Compte fichiers *. ACC | *. ACC | Tous les fichiers | *.* + Supprimer + Bot configuration + Console + Outils + Sauvegarder les comptes + Ajouter un compte + Comptes de charge + Connectez-vous tous + Connexion + Sortir tous les + Déconnexion + Bot manutention + Supprimer un compte + Envoyer un saluons au capitaine lors de la connexion ou le changer + Ajout d'objets à la grille de données + Demander la carte SIM pour les objets + Exporter tout + Export + Refresh + Actualiser toutes les 10 secondes + Exportation {0} objets + Exportation d'objet {0} de {1}. + Paresseux + Distance + {0} objets indexés. + Emplacement + Nom + Demander les noms des objets + Objets + {0} n'est pas un caractère évitable. + À propos de + Rév + Tous droits réservés. + Codage et essais: + Interface et graphismes: + Traduction à + {0} {1}: {2} + Pour de plus amples renseignements, consultez le fichier readme ou http://natibot.claunia.com + anglais + espagnol + catalan + galicien + roumain + italien + français + allemand + Modifier le compte sélectionné + Modifier + Maître + Maître's Nick IRC: + Nom du capitaine: + Lieu de départ + Lieu: + Set: + Dernier + Accueil + Login details + Connexion Grille / URI: + Nom: + Mot de passe: + Nom: + Ajouter + Annuler + IRC serveur de configuration + Utilisez le serveur IRC? + Site: + Port (pas de SSL): + Adresse du serveur: + Ajouter un compte + Vous ne pouvez pas modifier le bot alors qu'il est connecté! + Anglais + Espagnol + Catalan + Galicien + Roumain + Italien + Français + Allemand + Paramètres + Ecrire console de déposer + Langue: + Salut! + NatiBot sorties. + NatiBot sorties par le bouton de sortie. + Natibot démarre. + Retourne le nom d'un avatar en utilisant son UUID. + Usage: key2name [uuid] + Avatar {0} est appelée {1}. + Délai d'attente lors de la recherche pour avatar {0}. UUID est-il un avatar valide? + Buyes un objet spécifié. + Impossible de trouver un objet à acheter avec UUID {0}. + Essayé d'acheter l'objet {0}. + Usage: buy [uuid] + Prend un objet spécifié à l'inventaire. + Impossible de trouver un objet à prendre avec UUID {0}. + Essayé de prendre object {0} (UUID {1}). + Usage: takeitem [uuid] + Copy to clipboard + Noms + UUID + Emplacements + Asseyez-vous sur + Touchez-les + D'abord sélectionnés + Tous sélectionnés + Achetez-les + Exporter + Objets + Particules + Les objets et les particules + Demande de prendre à l'inventaire + Traduit donnée texte d'une langue à l'autre. + Usage: translate [fromlanguage] [tolanguage] [Texte] + Chat + Chat + chuchote: + crie: + (offline) + Propriétaire Inconnu + Object {0} appartenant à {1} dans la région {2} au {3}: + Avatar {0} nous envoie un leurre téléporter à la région de {1} à {2} avec le message suivant: + Avatar {0} dans la région de {1} à {2} vous a envoyé un message de type {3} en disant: + L'objet appartient à (0) et nous n'avons pas l'autorisation d'exportation. + Encourage l&#39;avatar spécifié avec l&#39;animation montre les animations du système ou ceux qui sont en cours de lecture. + Usage: animer [uuid] | [liste / show / stop] + (0) (groupe: (1), position: (2), UUID: (3)) est probablement un bot. + Montre les bots possible. + Envoyer un avatar du téléport spécifiée ou un enseignant. + Utilisation: sendtp (uuid-avatar) + Viens à moi. + Teleport envoyé (0). + Le son (0) a été téléchargé avec succès ((1) octets). + Erreur (1) pour télécharger le son (0). + Active ou désactive le téléchargement automatique de tous les sons audibles. + Téléchargeant le son est coupé. + Téléchargeant le son est activé. + Utilisation: sons [on / off] + Active ou désactive le téléchargement automatique de l&#39;animation visibles. + Le rejet des animations sont désactivées. + Le rejet de l&#39;animation est activée. + Utilisation: animations [on / off] + Télécharger le son spécifié par son UUID + Téléchargement de son calendrier. + Utilisation: downloadsound [UUID] + (0) (client: (1), Group (2), Statut: (3), UUID: (4)) + Le son (0) a été téléchargé avec succès ((1) octets). + Erreur (1) pour télécharger le son (0). + Active ou désactive le téléchargement automatique de tous les sons audibles. + Téléchargeant le son est coupé. + Téléchargeant le son est activé. + Utilisation: sons [on / off] + Active ou désactive le téléchargement automatique de l&#39;animation visibles. + Le rejet des animations sont désactivées. + Le rejet de l&#39;animation est activée. + Utilisation: animations [on / off] + Télécharger le son spécifié par son UUID + Téléchargement de son calendrier. + Utilisation: downloadsound [UUID] + Afrikaans + Albanais + Arabe + Biélorusse + Bulgare + Tchèque + Chinois simplifié + Chinois Traditionnel + Coréen + Croate + Danois + Slovaque + Slovène + Estonien + Finnois + Gallois + Grec + Hébreu + Hindi + Dutchman + Hongrois + Indonésien + Irlandais + Islandais + Japonais + Letton + Lituanien + Macédonien + Malais + Maltais + Norvégien + Polonais + Portugais + Russe + Serbe + Kiswahili + Suédois + Tagalog + Thai + Turc + Ukrainien + Vietnamien + Yiddish + Fermez tous les avatars NatiBot et connecté. + Usage: arrêter de fumer [oui] + Fermeture d&#39;application. + Affiche la mémoire actuellement en usage. + (0) MIB actuellement en usage. + Ferme l&#39;avatar actuel. + Utilisation: logout [oui] + Clôture avatar. + Créer une note avec l&#39;aide et l&#39;envoie au maître. + NatiBot - v (0) - Commandes + Envoi d&#39;une aide à l&#39;enseignant. + Démarre une collecte des ordures. + (0) Mo en service avant la collecte des ordures. + A partir de collecte des ordures. + (0) Mo en service après la collecte des ordures. + Collecte des ordures ménagères a pris (0) secondes. + Affiche la date courante dans les zones de l&#39;heure locale, UTC, GMT et la TVP. + La date et l&#39;heure actuelle est la suivante: + Heure locale: (0) + Temps universel coordonné: (0) + Second Life Time (PST): (0) + Claunia.com Time: (0) + Affiche tous les noms et identifiants connus des téléspectateurs. + Le spectateur utilise le service (0) ID (1). + Afficher des informations sur le copyright. + Rechercher des lieux. + Utilisation: searchplaces [Recherche] + Le texte de la recherche &quot;(0)&quot; (1) les résultats obtenus. + Expiration du délai d&#39;attente de la réponse du simulateur. + Pour les autres avatars. + Utilisation: searchpeople [Recherche] + Le texte de la recherche &quot;(0)&quot; (1) a coïncidé avec les gens. + Expiration du délai d&#39;attente de la réponse du simulateur. + Personne ne trouvait qui correspond à la recherche. + Terrains à vendre. Pour afficher l&#39;utilisation, searchland + Utilisation: searchland [type] [prix plafond] [size minimum] + où [type] est l&#39;un des éléments suivants: mainland, auction, estate, all + si [le prix plafond] ou [taille minimum] est égal à 0 ce paramètre est ignoré + Par exemple: \ &quot;searchland mainland 0 512 \&quot; / / Cultural UP colis les moins chers du continent est plus grande que 512m ² + Expiration du délai d&#39;attente de la réponse du simulateur. + (0) résultats. + Pour les groupes. + Utilisation: searchgroups [Recherche] + Le texte de la recherche &quot;(0)» a coïncidé avec (1) les groupes. + Expiration du délai d&#39;attente de la réponse du simulateur. + Le groupe (1) ((0)) est (2) membres + Nous n&#39;avons trouvé aucun groupe qui correspond à votre recherche. + Pour les annonces classées. + Utilisation: searchclassifieds [Recherche] + Le texte de la recherche &quot;(0)&quot; (1) a coïncidé avec l&#39;ADS. + Expiration du délai d&#39;attente de la réponse du simulateur. + Le groupe avec ID (0) est appelé (1) + Aucun + Nom: (0) + Description: (0) + Inconnu + Créateur: (0) ((1)) + Propriétaire: (0) ((1)) + L&#39;ancien propriétaire: (0) ((1)) + Groupe: (0) ((1)) + Connectez-vous en position assise: (0) + Nom sur la touche: (0) + Position: (0) + Date de création: (0) + Texte: + Éjecte l&#39;utilisateur a fourni sur la parcelle en cours. + Utilisation: ejectuser [UUID] + On espérait un ID. + Avatar introuvable. + Vous ne pouvez pas expulser un groupe de l&#39;intrigue. + Éjection d&#39;un (0) de l&#39;intrigue en cours. + Expulsion et interdiction qui utilisateur répertorié dans l&#39;intrigue en cours. + Utilisation: Banus [UUID] + Vous ne pouvez pas interdire un groupe de l&#39;intrigue. + Baneando à (0) de l&#39;intrigue en cours. + Obtient la liste des interdictions dans le complot en cours. + Expiration du délai d&#39;attente pour la liste des interdictions. + L&#39;avatar avec id (0) est interdite. + L&#39;avatar (0) ((1)) est interdite. + Obtient la liste des autorisés à avoir accès à la parcelle en cours. + Expiration du délai d&#39;attente pour la liste des accès autorisés. + L&#39;avatar avec id (0) a permis l&#39;accès. + L&#39;avatar (0) ((1)) est autorisé à accéder. + Tourner le bot regardant le point, avatar (par id ou le nom), ou objet (id) spécifié. + Utilisation: turnto [xyz] / [UUID] / [Avatar] + Impossible de trouver l&#39;avatar (0). + Je ne peux pas se tourner vers un groupe! + L&#39;avatar (0) est introuvable dans le simulateur actuel, je ne peut pas se tourner vers lui. + L&#39;avatar (0) est assis sur un objet inconnu. Je ne peux pas se tourner vers lui. + L&#39;objet (0) ne trouve pas dans le simulateur actuel, je ne peut pas se tourner vers lui. + Déplace le bot de les coordonnées, l&#39;avatar (par id ou nom), ou l&#39;objet (par id) spécifié. + Je ne peux pas aller vers un groupe! + L&#39;avatar (0) est introuvable dans le simulateur actuel, je ne peux pas aller vers lui. + L&#39;avatar (0) est assis sur un objet inconnu. Je ne peux pas aller vers lui. + L&#39;objet (0) ne trouve pas dans le simulateur actuel, je ne peux pas aller vers lui. + Usage: suivre ([nom] [nom] | ME | stop)), utilisez «je» à vous suivre, &quot;Stop&quot; pour arrêter. + Retirer les 3 millions d&#39;élément spécifié au-dessus du bot. + Utilisation: rezitem [élément ID] + On espérait un ID. + Sont priés de faire l&#39;élément (0). + Vous ne pouvez pas prendre le dossier (0). + L&#39;élément (0) est introuvable dans le dossier en cours de l&#39;inventaire. + Créer une nouvelle peau à la texture indiqué. + Utilisation: createskin [nom] [-id face] [id-top] [id-less] + On espérait un ID [id-face]. + On espérait un ID [id-dessus]. + On espérait un ID [ID-less]. + La peau a été créé avec l&#39;actif ID (0), envoie au maître. + Impossible de créer la peau avec l&#39;Etat (0). + Crée un nouveau point de repère de la position actuelle. + Landmark actif creato avec l&#39;ID (0), l&#39;envoyer à l&#39;enseignant. + Impossible de créer le point de repère avec l&#39;Etat (0). + Créer un nouveau regard avec la texture indiqué. + Utilisation: createeyes [nom] [UUID] + On espérait un ID. + Eyes fait avec l&#39;actif ID (0), en les envoyant à l&#39;enseignant. + Impossible de créer les yeux avec de l&#39;État (0). + Créer un vêtement avec les paramètres indiqués. + Utilisation: createclothing Aide + Utilisation: createclothing [nom] [Gants | Veste | Pantalon | Shirt | Chaussures | Jupe | Chaussettes | Slips | Undershirt] [uuid1] (uuid2) + Les paramètres de taille et de couleur devrait toujours être appliqué manuellement. + Uuid doit indiquer une deuxième veste (veste). + Vêtements de type incorrect. + ID attendus dans [uuid1]. + Attendus id IN (uuid2). + Vêtements créés à l&#39;actif ID (0), envoie au maître. + Échec de la création de vêtements ayant le statut d&#39;(0). + Groupes échoué cache. + (0) ont été obtenus groupes: + Montre le rôle du groupe. + Utilisation: grouproles Nom du groupe + (0) ne semblent pas avoir de rôle dans le groupe (1). + (0) a eu le rôle du groupe. + Identifiant de la demande: (0) + Nom du groupe: (0) + ID de groupe: (0) + Rôle (0) (1) | (2) + (0) rôles. + Affiche les membres du groupe. + Utilisation: membresGroupe Nom du groupe + (0) ne semble pas être un membre de (1). + (0) a eu le membres du groupe. + Membres: (0) ((1)) + (0) membres. + Inviter un avatar courant du groupe à un rôle spécifié ou le rôle par défaut. + Usage: inviter [av-uuid] (uuid-rol) + Aucun groupe n&#39;est actuellement active. Permet à un groupe avec la commande activategroup. + Impossible de trouver l&#39;avatar spécifiée dans la grille. + Vous pouvez inviter un groupe à un groupe. + Nous ne pouvions pas obtenir les rôles du groupe. + Le groupe actuel ne contient pas de rôle à l&#39;ID (0). + Erreur obtenir le rôle du groupe. + Inviter le groupe (0) (1) dans le rôle (2). + Kicks membre. + Utilisation: groupeject [id-AV] (id-group) + On espérait que les ID de groupe. + Vous ne trouvez pas le groupe. + L&#39;identifiant de groupe fait partie d&#39;un avatar. + Aucun groupe n&#39;est actuellement active. Permet à un groupe ou spécifier par ID. + Il s&#39;attendait à l&#39;ID de l&#39;avatar. + Avatar introuvable. + L&#39;id de l&#39;avatar appartient à un groupe. + Nous n&#39;avons pas pu obtenir les membres du groupe. + L&#39;avatar (0) n&#39;est pas un membre du groupe (1). + L&#39;avatar (0) a été exclu du groupe (1). + Ajouter à l&#39;avatar a indiqué le rôle spécifié. + Utilisation: addtorole [id-AV] [-rôle id] (id-group) + Je n&#39;appartiens pas au groupe (0). + (0) n&#39;appartient pas à (1). Invitez vos amis en premier. + Rôle attendu d&#39;identité. + Ajoutant à (0) dans le rôle du groupe (1) (2). + Permet le rôle spécifié dans le groupe spécifié. + Utilisation: activaterole [id-rôle] (id-group) + Activer le rôle (0) dans le groupe (1). + Inconnu + Unidentified / Officer + Lier d&#39;amitié avec l&#39;avatar spécifié. + Utilisation: offerfriendship [nom] [nom] | [UUID] + Avatar introuvable. + Vous ne pouvez pas lier d&#39;amitié avec les groupes. + L&#39;avatar (0) n&#39;a pas été trouvée. + Je suis un ami de (0). + Veux-tu être mon ami? + L&#39;amitié offert à (0). + Impossible d&#39;obtenir l&#39;ID de l&#39;avatar. + Activer le rapport, quand un ami est connecté ou déconnecté. + Utilisation: informfriend [on / off] + Rapport actuel d&#39;amis. + Cours d&#39;un rapport non des amis. + Doit dire aux amis à partir de maintenant. + Il doit dire aux amis à partir de maintenant. + Fin de l&#39;amitié avec l&#39;avatar spécifié. + Utilisation: endfriendship [nom] [nom] | [UUID] + Vous pouvez mettre fin à des groupes d&#39;amitié. + Je ne suis pas ami de (0). + J&#39;ai terminé mon amitié avec (0). + Rend le bot jouer le son spécifié. + Utilisation: playsound [UUID] + Essayant de jouer le son (0). + Créer un signet de la position actuelle. + Utilisation: Pick [description] + I love this site! + Ajout d&#39;un signet pour ce poste. + Verser la somme de L $ choisi l&#39;avatar spécifié. + Utilisation: salaire [montant] [-id avatar]. Le montant de mai être «tout», et s&#39;il est omis l&#39;avatar sera versée à l&#39;enseignant. + Donner (0) $ L + Donner $ L (0) à (1). + Il met le bot en position Nadu. + Utilisation: Nadu [on / off] + Le robot est en position Nadu. + Le robot n&#39;est pas en position Nadu. + Le robot est positionné Nadu. + Le bot est retiré de la position des Nadu. + Cherchez à l&#39;objet spécifié ou avatar. + Utilisation: lookat [nom] [nom] | [UUID] + Impossible de trouver l&#39;avatar (0). + Je ne peux pas regarder un groupe! + L&#39;avatar (0) est introuvable dans le simulateur actuel, je ne peux pas regarder. + L&#39;objet (0) ne trouve pas dans le simulateur actuel, je ne peux pas regarder. + Regard vers l&#39;objet (0). + Looking 0 (avatar). + Il est assis sur le plancher. La commande se lever. + Essayer sentame à l&#39;étage où je suis. + Ont l&#39;avatar joue le geste spécifié. + Utilisation: geste [UUID] + Jouer geste (0). + Définit le bot comme occupé. + Utilisation: occupé [on / off] + Le bot est occupé. + Le bot n&#39;est pas occupé. + Le robot devient occupé. + Le robot devient vacant. + Émet des particules vers l&#39;objet spécifié ou avatar. + Utilisation: faisceau [nom] [nom] | [UUID] + Impossible de trouver l&#39;avatar (0). + Je ne peux pas faire de particules dans un groupe! + L&#39;avatar (0) est introuvable dans le simulateur actuel, je ne peut pas livrer des particules dans lui. + L&#39;objet (0) ne trouve pas dans le simulateur actuel, je ne peut pas livrer des particules dans lui. + Émettant des particules à l&#39;objet (0). + Avatar particules émettant à (0). + Définit le bot comme absents. + Utilisation: away [on / off] + Le bot est absent. + Le bot n&#39;est pas absent. + Ce robot est mis de côté. + Le bot va être là. + Ajoute l&#39;objet spécifié à son point final de l&#39;annexion. + Usage: joindre [id] + Attendus UUID. + Sont invités à joindre l&#39;objet (0). + Vous pouvez ajouter le dossier (0). + L&#39;objet (0) ne trouve pas dans le dossier en cours de l&#39;inventaire. + L&#39;animation du système (0) est reproduite à la suite (1) + L&#39;animation (0) est reproduite à la suite (1) + Avatars + Groupes + Amis + Inventaire + Carte + Get animations + Get textures + Obtenir des sons + OK inventaire + Informer les amis + Touching Midnights + Assis dans &quot;Lucky&quot; s + Écrivez le Chat Archive + (0) - Avatars + Current Simulator: (0) + (0) Avatars trouvé. + Traduire: + à: + Assis dans (0) (1) (2) a dit penser que c&#39;est un président Lucky. + Assis dans (0) (1) (2) a dit penser que c&#39;est un cadeau Lucky. + Assis dans (0) (1) (2) a dit penser que c&#39;est un Santa Lucky. + Appuyant sur (0) (1) (2) a dit penser que c&#39;est un conseil Lucky. + L&#39;objet (0) appartenant à (1) de la région (2) à (3) envoie un inventaire: + L&#39;utilisateur (0) a envoyé un avis dans le groupe (1) + (0) accepté mon amitié. + (0) a rejeté mon amitié. + (0) a accepté mon offre d&#39;inventaire. + (0) a rejeté mon offre d&#39;inventaire. + (0) a fourni les inventaires suivants: + (Traduit) + Message + Profil + TP + Supprimer + Amigos - {0} + Nom + (cargando. ..) + Envoyer un message instantané + Envoyer un message instantané à (0) + Envoyer téléportation + Envoyer un téléport à (0) + Enlevez l&#39;ami + Etes-vous sûr de vouloir supprimer (0) d&#39;amis? + Groupes - (0) + Quitter + En quittant le groupe + Êtes-vous sûr de vouloir quitter le groupe (0)? + Activer + Le groupe + Permettant au groupe (0). + Chat + Envoyer un message au groupe + Envoyez le message au groupe (0) + Message envoyé + Message envoyé avec succès au groupe (0). + Message non envoyé + Impossible d&#39;ouvrir une session de chat avec le groupe (0). + Inventaire - (0) + &amp; Fichier + Copiez Asset ID + Supprimer l&#39;objet / dossier + Append + Supprimer + Vider la corbeille + Vide perdu &amp; &amp; found + Carte de la formation sur simulateur: (0) + Simulator: (0), version (1) + Téléchargement de la carte ... + Avatars: (0) + Selected location: + TP + Ocurrió un error en el teletransporte. \n Por favor vuelva a intentarlo más tarde. + Ajouté le nouvel objet (0) à la liste. + Ajouté l&#39;objet (0) une liste. + Obtenu le nom de l&#39;objet (0). + Connu Objet (0): (1) (2 noms familiers inconnu). + 2nd Life + Web + Centres d&#39;intérêt + 1ère vie + Nom: + Né le: + Photo: + Compte: + Partenaire: + Groupes: + A propos de: + Web: + ¿Qué quiere?: + Construire + Rencontrer + Vendre + Travailler + Explorez + Regroupés + Acheter + Recruter + Compétences: + Textures + Modèles + Scripts + Architecture + Evénements + Caractérisation + Langues: + Photo: + Info: + Profil (0) + Découvert + Maduro + Information sur le paiement + Public + Dialogue (0) + Dialogue de l&#39;objet (0) + appartenant à (0) (1). + Nom + Position + ID + J&#39;ai touché l&#39;objet nommé (0) (1) en pensant que c&#39;est une manie de minuit. + J&#39;ai touché l&#39;objet nommé (0) (1) en pensant que c&#39;est une chance de l&#39;Avent à rebours. + J&#39;ai touché l&#39;objet nommé (0) (1) en pensant que c&#39;est un Prix Pyramide. + Je m&#39;assis sur l&#39;objet nommé (0) (1) en pensant que c&#39;est un Lucky Dip. + Je m&#39;assis sur l&#39;objet nommé (0) (1) en pensant que c&#39;est un Cupcake Lucky. + Nom + Distance + Client + Position + Copie pièce d&#39;identité pour presse-papiers + Afficher le profil + Fournir téléportation + Téléportation + Marcher + Envoyer un message + Afficher les pièces jointes + Télécharger les annexes + Télécharger robe + Offrir leur amitié + Envoyer téléportation + Téléportation sera envoyé à (0) + Envoyer un message + Il envoie un message instantané à (0) + (0) est déjà mon ami. + Il est mon ami. + Offrir leur amitié + Il offrira à l&#39;amitié (0) + Veux-tu être mon ami? + Liste des annexes + Les annexes à (0): + Cette commande mai prendre une longue finale. + NatiBot pas répondu jusqu&#39;à ce qu&#39;elle se termine. + Êtes-vous sûr de vouloir continuer? + Pièces jointes Téléchargé + Tenue téléchargés + Groupe + (vide) + Envoi notecard à l&#39;enseignant. + Je suis parti à suivre. + Objet + Mon ami (0) connectez simplement. + Mon ami (0) déconnectez juste. + Affiche la version du simulateur de NatiBot et à jour. + Simulateur: (0) + Un aperçu des statistiques d&#39;utilisation des paquets et de capacités. + Statistiques non disponibles. + Affiche l&#39;état de santé actuel. + L&#39;état de santé actuel est (0)%. + Si vous mettez à niveau depuis une version antérieure de NatiBot supprimer tous les comptes et le renvoyer à créer. + Le système de connexion a eu des changements qui nécessitent recréer manuellement les comptes. + Le système de connexion est fixée à AGNI (Second Life Production Grid). + Une exception non gérée s'est produite. + L'information d'erreur a été envoyé à Claunia.com + Nous regrettons tout inconvénient causé. + NatiBot va se fermer. + Erreur fatale + \ No newline at end of file diff --git a/SLBot/bot/LoginDetailList.cs b/SLBot/bot/LoginDetailList.cs new file mode 100644 index 0000000..f47bf52 --- /dev/null +++ b/SLBot/bot/LoginDetailList.cs @@ -0,0 +1,73 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LoginDetailList.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using System; + using System.Collections; + using System.Xml.Serialization; + + [XmlRoot("AccountList")] + public class LoginDetailList + { + private ArrayList Accounts = new ArrayList(); + + public int Add(LoginDetails details) + { + return this.Accounts.Add(details); + } + + [XmlElement("loginDetails")] + public LoginDetails[] Items + { + get + { + LoginDetails[] array = new LoginDetails[this.Accounts.Count]; + this.Accounts.CopyTo(array); + return array; + } + set + { + if (value != null) + { + LoginDetails[] detailsArray = value; + this.Accounts.Clear(); + foreach (LoginDetails details in detailsArray) + { + this.Accounts.Add(details); + } + } + } + } + } +} + diff --git a/SLBot/bot/LoginDetails.cs b/SLBot/bot/LoginDetails.cs new file mode 100644 index 0000000..e50ca69 --- /dev/null +++ b/SLBot/bot/LoginDetails.cs @@ -0,0 +1,269 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LoginDetails.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using OpenMetaverse; + using System; + using System.Xml.Serialization; + + [XmlRoot("LoginDetails")] + public class LoginDetails + { + private string author = string.Empty; + private bot.BotConfig botConfig = new bot.BotConfig(); + private string firstName = string.Empty; + private string grid; + private string gridCustomLoginUri = string.Empty; + private bool isPasswordMD5; + private string lastName = string.Empty; + private UUID masterKey = UUID.Zero; + private string masterName = string.Empty; + private string password = string.Empty; + private string startLocation = string.Empty; + private string userAgent = string.Empty; + private Boolean Greet = true; + private Boolean Aupdate = true; + private Boolean relaychat = false; + + private IRCSettings ircSet; + + [XmlIgnore] + public string Author + { + get + { + return this.author; + } + set + { + this.author = value; + } + } + + public bot.BotConfig BotConfig + { + get + { + return this.botConfig; + } + set + { + this.botConfig = value; + } + } + + public string FirstName + { + get + { + return this.firstName; + } + set + { + this.firstName = value; + } + } + + public string FullName + { + get + { + if (!string.IsNullOrEmpty(this.firstName) && !string.IsNullOrEmpty(this.lastName)) + { + return (this.firstName + " " + this.lastName); + } + return string.Empty; + } + } + + public string Grid + { + get + { + return this.grid; + } + set + { + this.grid = value; + } + } + + public string GridCustomLoginUri + { + get + { + return this.gridCustomLoginUri; + } + set + { + this.gridCustomLoginUri = value; + } + } + + public bool IsPasswordMD5 + { + get + { + return this.isPasswordMD5; + } + set + { + this.isPasswordMD5 = value; + } + } + + public string LastName + { + get + { + return this.lastName; + } + set + { + this.lastName = value; + } + } + + public UUID MasterKey + { + get + { + return this.masterKey; + } + set + { + this.masterKey = value; + } + } + + public string MasterName + { + get + { + return this.masterName; + } + set + { + this.masterName = value; + } + } + + public string Password + { + get + { + return this.password; + } + set + { + this.password = value; + } + } + + public string StartLocation + { + get + { + return this.startLocation; + } + set + { + this.startLocation = value; + } + } + + [XmlIgnore] + public string UserAgent + { + get + { + return this.userAgent; + } + set + { + this.userAgent = value; + } + } + + public IRCSettings IRC_Settings + { + get + { + return this.ircSet; + } + set + { + this.ircSet = value; + } + } + + + + public Boolean GreetMaster + { + get + { + return this.Greet; + } + set + { + this.Greet = value; + } + } + + public Boolean SendAgentUpdatePacket + { + get + { + return this.Aupdate; + } + set + { + this.Aupdate = value; + } + } + + public Boolean RelayChatToIRC + { + get + { + return this.relaychat; + } + set + { + this.relaychat = value; + } + } + } +} + diff --git a/SLBot/bot/LoginGrids.cs b/SLBot/bot/LoginGrids.cs new file mode 100644 index 0000000..637e01e --- /dev/null +++ b/SLBot/bot/LoginGrids.cs @@ -0,0 +1,113 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : LoginGrids.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; +using System.Reflection; +using System.Collections.Generic; +using OpenMetaverse; + +namespace bot +{ + public struct LoginGrid + { + public string _GridName; + public string _GridURI; + + public LoginGrid(string GridName, string GridURI) + { + _GridName = GridName; + _GridURI = GridURI; + } + } + + public static class LoginGrids + { + public readonly static LoginGrid AGNI = new LoginGrid("Second Life Production Grid (AGNI)", "https://login.agni.lindenlab.com/cgi-bin/login.cgi"); + public readonly static LoginGrid ADITI = new LoginGrid("Second Life Beta Grid (ADITI)", "https://login.aditi.lindenlab.com/cgi-bin/login.cgi"); + public readonly static LoginGrid TRDROCK = new LoginGrid("3rd Rock Grid", "http://grid.3rdrockgrid.com:8002"); + public readonly static LoginGrid AHANGOUT = new LoginGrid("Avatar Hangout", "http://login.avatarhangout.com:8002"); + public readonly static LoginGrid CUONGRID = new LoginGrid("Cuon Grid", "http://sim-linuxmain.org:8002"); + public readonly static LoginGrid CYBERLANDIA = new LoginGrid("CyberLandia", "http://grid.cyberlandia.net:8002"); + public readonly static LoginGrid DSGRID = new LoginGrid("DSGrid", "http://login.dsgrid.eu:8002"); + public readonly static LoginGrid EMNET = new LoginGrid("Emerald Network", "http://emeraldnetwork.webhop.net:8002"); + public readonly static LoginGrid GERMANGRID = new LoginGrid("German Grid", "http://germangrid.eu:8002"); + public readonly static LoginGrid GIANTGRID = new LoginGrid("Giant Grid", "http://Gianttest.no-ip.biz:8002"); + public readonly static LoginGrid GRID4US = new LoginGrid("Grid4US", "http://grid4us.net:8002"); + public readonly static LoginGrid JAMLAND = new LoginGrid("Jamland", "http://jamland.de:8002"); + public readonly static LoginGrid KGRID = new LoginGrid("K-Grid ", "http://grid.k-grid.com:8002"); + public readonly static LoginGrid LCITYONL = new LoginGrid("Legend City Online", "http://login.legendcityonline.com:9000"); + public readonly static LoginGrid LISAT = new LoginGrid("Lisat", "http://lisat.zapto.org:8002"); + public readonly static LoginGrid LOGICAMP = new LoginGrid("LogiCamp", "http://logicamp.dyndns.org:8002"); + public readonly static LoginGrid METROPOLIS = new LoginGrid("Metropolis", "http://hypergrid.org:8002"); + public readonly static LoginGrid MYOPENGRID = new LoginGrid("MyOpenGrid", "http://www.myopengrid.com:8002"); + public readonly static LoginGrid OPENKANSAI = new LoginGrid("OpenKansai", "http://os.taf-jp.com:8002"); + public readonly static LoginGrid OLGRID = new LoginGrid("Open Life Grid", "http://logingrid.net:8002"); + public readonly static LoginGrid OPENNEUL = new LoginGrid("Open-Neuland", "http://login-on.talentraspel.de:9000"); + public readonly static LoginGrid OPENVUE = new LoginGrid("Openvue", "http://virtual.aiai.ed.ac.uk:8002"); + public readonly static LoginGrid OSGRID = new LoginGrid("OS Grid", "http://osgrid.org:8002"); + public readonly static LoginGrid PSEUDOSPACE = new LoginGrid("PseudoSpace ", "http://grid.pseudospace.net:8002"); + public readonly static LoginGrid REACGRID = new LoginGrid("Reaction Grid ", "http://reactiongrid.com:8008"); + public readonly static LoginGrid SCHWEIZ = new LoginGrid("Schweiz", "http://2lifegrid.game-host.org:8002"); + public readonly static LoginGrid SEGARRA = new LoginGrid("Segarra Grid", "http://segarragrid.com:8002"); + public readonly static LoginGrid TERTIARY = new LoginGrid("Tertiary Grid", "http://tertiarygrid.com:8002"); + public readonly static LoginGrid GORGRID = new LoginGrid("The Gor Grid", "http://thegorgrid.com:8002"); + public readonly static LoginGrid NWGRID = new LoginGrid("The New World Grid", "http://grid.newworldgrid.com:8002"); + public readonly static LoginGrid TWISTEDSKY = new LoginGrid("Twisted Sky ", "http://twistedsky.net:8002"); + public readonly static LoginGrid UNICA = new LoginGrid("Unica", "http://grid.unica.it:9000"); + public readonly static LoginGrid VBUSINESS = new LoginGrid("v-Business", "http://grid.v-business.com:8002"); + public readonly static LoginGrid VIRTYOU = new LoginGrid("virtyou", "http://virtyou.com:11002"); + public readonly static LoginGrid WILDERW = new LoginGrid("WilderWesten", "http://login-ww.talentraspel.de:9000"); + public readonly static LoginGrid WSTERRA = new LoginGrid("World Sim Terra", "http://wsterra.com:8002"); + public readonly static LoginGrid YALNE = new LoginGrid("Your Alternative Life", "http://grid01.from-ne.com:8002"); + public readonly static LoginGrid YALATH = new LoginGrid("Your Alternative Life (ATH)", "http://tiog.ath.cx:8002"); + public readonly static LoginGrid LOCALHOST = new LoginGrid("Localhost", "http://127.0.0.1:9000"); + + /// + /// A dictionary containing all known client tags + /// + /// A dictionary containing the known client tags, + /// where the key is the tag ID, and the value is a string + /// containing the client name + public static Dictionary ToDictionary() + { + Dictionary dict = new Dictionary(); + Type type = typeof(LoginGrids); + foreach (FieldInfo field in type.GetFields(BindingFlags.Public | BindingFlags.Static)) + { + LoginGrid _Tag = (LoginGrid)field.GetValue(type); + + dict.Add(_Tag._GridName, _Tag._GridURI); + } + return dict; + } + } +} diff --git a/SLBot/bot/NBAttachmentPoint.cs b/SLBot/bot/NBAttachmentPoint.cs new file mode 100644 index 0000000..95f146d --- /dev/null +++ b/SLBot/bot/NBAttachmentPoint.cs @@ -0,0 +1,191 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : NBAttachmentPoint.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +using System; + +namespace bot +{ + /// + /// Attachment points for objects on avatar bodies + /// + /// + /// Both InventoryObject and InventoryAttachment types can be attached + /// + public enum NBAttachmentPoint : byte + { + /// Right hand if object was not previously attached + Default = 0, + /// Chest + Chest = 1, + /// Skull + Skull, + /// Left shoulder + LeftShoulder, + /// Right shoulder + RightShoulder, + /// Left hand + LeftHand, + /// Right hand + RightHand, + /// Left foot + LeftFoot, + /// Right foot + RightFoot, + /// Spine + Spine, + /// Pelvis + Pelvis, + /// Mouth + Mouth, + /// Chin + Chin, + /// Left ear + LeftEar, + /// Right ear + RightEar, + /// Left eyeball + LeftEyeball, + /// Right eyeball + RightEyeball, + /// Nose + Nose, + /// Right upper arm + RightUpperArm, + /// Right forearm + RightForearm, + /// Left upper arm + LeftUpperArm, + /// Left forearm + LeftForearm, + /// Right hip + RightHip, + /// Right upper leg + RightUpperLeg, + /// Right lower leg + RightLowerLeg, + /// Left hip + LeftHip, + /// Left upper leg + LeftUpperLeg, + /// Left lower leg + LeftLowerLeg, + /// Stomach + Stomach, + /// Left pectoral + LeftPec, + /// Right pectoral + RightPec, + /// HUD Center position 2 + HUDCenter2, + /// HUD Top-right + HUDTopRight, + /// HUD Top + HUDTop, + /// HUD Top-left + HUDTopLeft, + /// HUD Center + HUDCenter, + /// HUD Bottom-left + HUDBottomLeft, + /// HUD Bottom + HUDBottom, + /// HUD Bottom-right + HUDBottomRight, + // Emerald viewer extra attachment points + /// Chest 2 + Chest2 = 39, + /// Skull 2 + Skull2, + /// Left shoulder 2 + LeftShoulder2, + /// Right shoulder 2 + RightShoulder2, + /// Left hand 2 + LeftHand2, + /// Right hand 2 + RightHand2, + /// Left foot 2 + LeftFoot2, + /// Right foot 2 + RightFoot2, + /// Spine 2 + Spine2, + /// Pelvis 2 + Pelvis2, + /// Mouth 2 + Mouth2, + /// Chin 2 + Chin2, + /// Left ear 2 + LeftEar2, + /// Right ear 2 + RightEar2, + /// Left eyeball 2 + LeftEyeball2, + /// Right eyeball 2 + RightEyeball2, + /// Nose 2 + Nose2, + /// Right upper arm 2 + RightUpperArm2, + /// Right forearm 2 + RightForearm2, + /// Left upper arm 2 + LeftUpperArm2, + /// Left forearm 2 + LeftForearm2, + /// Right hip 2 + RightHip2, + /// Right upper leg 2 + RightUpperLeg2, + /// Right lower leg 2 + RightLowerLeg2, + /// Left hip 2 + LeftHip2, + /// Left upper leg 2 + LeftUpperLeg2, + /// Left lower leg 2 + LeftLowerLeg2, + /// Stomach 2 + Stomach2, + /// Left pectoral 2 + LeftPec2, + /// Right pectoral 2 + RightPec2, + /// Left Knee + LeftKnee, + /// Right Knee + RightKnee, + /// Bridge + Bridge = 128 + } +} diff --git a/SLBot/bot/NetCom/AlertMessageEventArgs.cs b/SLBot/bot/NetCom/AlertMessageEventArgs.cs new file mode 100644 index 0000000..1004f40 --- /dev/null +++ b/SLBot/bot/NetCom/AlertMessageEventArgs.cs @@ -0,0 +1,55 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : AlertMessageEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using System; + + public class AlertMessageEventArgs : EventArgs + { + private string message; + + public AlertMessageEventArgs(string message) + { + this.message = message; + } + + public string Message + { + get + { + return this.message; + } + } + } +} + diff --git a/SLBot/bot/NetCom/ChatEventArgs.cs b/SLBot/bot/NetCom/ChatEventArgs.cs new file mode 100644 index 0000000..633e3fc --- /dev/null +++ b/SLBot/bot/NetCom/ChatEventArgs.cs @@ -0,0 +1,126 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ChatEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class ChatEventArgs : EventArgs + { + private ChatAudibleLevel audible; + private string fromName; + private UUID id; + private string message; + private UUID ownerid; + private Vector3 position; + private ChatSourceType sourceType; + private ChatType type; + + public ChatEventArgs(string message, ChatAudibleLevel audible, ChatType type, ChatSourceType sourceType, string fromName, UUID id, UUID ownerid, Vector3 position) + { + this.message = message; + this.audible = audible; + this.type = type; + this.sourceType = sourceType; + this.fromName = fromName; + this.id = id; + this.ownerid = ownerid; + this.position = position; + } + + public ChatAudibleLevel Audible + { + get + { + return this.audible; + } + } + + public string FromName + { + get + { + return this.fromName; + } + } + + public UUID ID + { + get + { + return this.id; + } + } + + public string Message + { + get + { + return this.message; + } + } + + public UUID OwnerID + { + get + { + return this.ownerid; + } + } + + public Vector3 Position + { + get + { + return this.position; + } + } + + public ChatSourceType SourceType + { + get + { + return this.sourceType; + } + } + + public ChatType Type + { + get + { + return this.type; + } + } + } +} + diff --git a/SLBot/bot/NetCom/ChatSentEventArgs.cs b/SLBot/bot/NetCom/ChatSentEventArgs.cs new file mode 100644 index 0000000..1d188bb --- /dev/null +++ b/SLBot/bot/NetCom/ChatSentEventArgs.cs @@ -0,0 +1,76 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ChatSentEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class ChatSentEventArgs : EventArgs + { + private int channel; + private string message; + private ChatType type; + + public ChatSentEventArgs(string message, ChatType type, int channel) + { + this.message = message; + this.type = type; + this.channel = channel; + } + + public int Channel + { + get + { + return this.channel; + } + } + + public string Message + { + get + { + return this.message; + } + } + + public ChatType Type + { + get + { + return this.type; + } + } + } +} + diff --git a/SLBot/bot/NetCom/ClientDisconnectEventArgs.cs b/SLBot/bot/NetCom/ClientDisconnectEventArgs.cs new file mode 100644 index 0000000..53f14fa --- /dev/null +++ b/SLBot/bot/NetCom/ClientDisconnectEventArgs.cs @@ -0,0 +1,66 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ClientDisconnectEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class ClientDisconnectEventArgs : EventArgs + { + private string message; + private NetworkManager.DisconnectType type; + + public ClientDisconnectEventArgs(NetworkManager.DisconnectType type, string message) + { + this.type = type; + this.message = message; + } + + public string Message + { + get + { + return this.message; + } + } + + public NetworkManager.DisconnectType Type + { + get + { + return this.type; + } + } + } +} + diff --git a/SLBot/bot/NetCom/ClientLoginEventArgs.cs b/SLBot/bot/NetCom/ClientLoginEventArgs.cs new file mode 100644 index 0000000..6cb52a1 --- /dev/null +++ b/SLBot/bot/NetCom/ClientLoginEventArgs.cs @@ -0,0 +1,66 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ClientLoginEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class ClientLoginEventArgs : EventArgs + { + private string message; + private LoginStatus status; + + public ClientLoginEventArgs(LoginStatus status, string message) + { + this.status = status; + this.message = message; + } + + public string Message + { + get + { + return this.message; + } + } + + public LoginStatus Status + { + get + { + return this.status; + } + } + } +} + diff --git a/SLBot/bot/NetCom/InstantMessageEventArgs.cs b/SLBot/bot/NetCom/InstantMessageEventArgs.cs new file mode 100644 index 0000000..afa6399 --- /dev/null +++ b/SLBot/bot/NetCom/InstantMessageEventArgs.cs @@ -0,0 +1,66 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : InstantMEssageEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class InstantMessageEventArgs : EventArgs + { + private InstantMessage im; + private Simulator sim; + + public InstantMessageEventArgs(InstantMessage im, Simulator sim) + { + this.im = im; + this.sim = sim; + } + + public InstantMessage IM + { + get + { + return this.im; + } + } + + public Simulator Sim + { + get + { + return this.sim; + } + } + } +} + diff --git a/SLBot/bot/NetCom/InstantMessageSentEventArgs.cs b/SLBot/bot/NetCom/InstantMessageSentEventArgs.cs new file mode 100644 index 0000000..ef725c9 --- /dev/null +++ b/SLBot/bot/NetCom/InstantMessageSentEventArgs.cs @@ -0,0 +1,86 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : InstantMEssageSentEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class InstantMessageSentEventArgs : EventArgs + { + private string _message; + private UUID _sessionId; + private UUID _targetId; + private DateTime _timestamp; + + public InstantMessageSentEventArgs(string message, UUID targetId, UUID sessionId, DateTime timestamp) + { + this._message = message; + this._targetId = targetId; + this._sessionId = sessionId; + this._timestamp = timestamp; + } + + public string Message + { + get + { + return this._message; + } + } + + public UUID SessionId + { + get + { + return this._sessionId; + } + } + + public UUID TargetId + { + get + { + return this._targetId; + } + } + + public DateTime Timestamp + { + get + { + return this._timestamp; + } + } + } +} + diff --git a/SLBot/bot/NetCom/MoneyBalanceEventArgs.cs b/SLBot/bot/NetCom/MoneyBalanceEventArgs.cs new file mode 100644 index 0000000..ba390fd --- /dev/null +++ b/SLBot/bot/NetCom/MoneyBalanceEventArgs.cs @@ -0,0 +1,55 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : MoneyBalanceEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using System; + + public class MoneyBalanceEventArgs : EventArgs + { + private int newAmount; + + public MoneyBalanceEventArgs(int newAmount) + { + this.newAmount = newAmount; + } + + public int NewAmount + { + get + { + return this.newAmount; + } + } + } +} + diff --git a/SLBot/bot/NetCom/NetCommunication.cs b/SLBot/bot/NetCom/NetCommunication.cs new file mode 100644 index 0000000..3d0a98b --- /dev/null +++ b/SLBot/bot/NetCom/NetCommunication.cs @@ -0,0 +1,578 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : NetCommunication.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using bot; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.Runtime.CompilerServices; + + public class NetCommunication + { + private const string BetaGridLogin = "https://login.aditi.lindenlab.com/cgi-bin/login.cgi"; + private SecondLifeBot client; + private bool loggedIn; + private bool loggingIn; + private bot.LoginDetails loginDetails; + private const string MainGridLogin = "https://login.agni.lindenlab.com/cgi-bin/login.cgi"; + private ISynchronizeInvoke netcomSync; + private bool teleporting; + + public event EventHandler AlertMessageReceived; + + public event EventHandler ChatReceived; + + public event EventHandler ChatSent; + + public event EventHandler ClientDisconnected; + + public event EventHandler ClientLoggedOut; + + public event EventHandler ClientLoggingIn; + + public event EventHandler ClientLoggingOut; + + public event EventHandler ClientLoginStatus; + + public event EventHandler InstantMessageReceived; + + public event EventHandler InstantMessageSent; + + public event EventHandler MoneyBalanceUpdated; + + public event EventHandler Teleporting; + + public event EventHandler TeleportStatusChanged; + + public NetCommunication(SecondLifeBot client) + { + this.client = client; + this.loginDetails = client.LoginDetails; + this.AddClientEvents(); + this.AddPacketCallbacks(); + } + + private void AddClientEvents() + { + //this.client.Self.OnChat += new AgentManager.ChatCallback(this.Self_OnChat); + //this.client.Self.OnInstantMessage += new AgentManager.InstantMessageCallback(this.Self_OnInstantMessage); + //this.client.Self.OnBalanceUpdated += new AgentManager.BalanceCallback(this.Avatar_OnBalanceUpdated); + //this.client.Self.OnTeleport += new AgentManager.TeleportCallback(this.Self_OnTeleport); + this.client.Self.TeleportProgress += new EventHandler(this.Self_TeleportProgress); + this.client.Network.SimConnected += new EventHandler(this.Network_OnConnected); + //this.client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected); + //this.client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected); + this.client.Network.Disconnected += new EventHandler(this.Network_OnDisconnected); + this.client.Network.LoginProgress += new EventHandler(this.Network_OnLogin); + //this.client.Network.OnLogin += new NetworkManager.LoginCallback(this.Network_OnLogin); + this.client.Network.LoggedOut += new EventHandler(this.Network_OnLogoutReply); + //this.client.Network.OnLogoutReply += new NetworkManager.LogoutCallback(this.Network_OnLogoutReply); + } + + private void AddPacketCallbacks() + { + this.client.Network.RegisterCallback(PacketType.AlertMessage, this.AlertMessageHandler); + } + + private void AlertMessageHandler(object sender, PacketReceivedEventArgs e) + { + if (e.Packet.Type == PacketType.AlertMessage) + { + AlertMessagePacket packet2 = (AlertMessagePacket)e.Packet; + AlertMessageEventArgs f = new AlertMessageEventArgs(Utils.BytesToString(packet2.AlertData.Message)); + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnAlertMessageRaise(this.OnAlertMessageReceived), new object[] { f }); + } + else + { + this.OnAlertMessageReceived(f); + } + } + } + + private void Avatar_OnBalanceUpdated(int balance) + { + MoneyBalanceEventArgs e = new MoneyBalanceEventArgs(balance); + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnMoneyBalanceRaise(this.OnMoneyBalanceUpdated), new object[] { e }); + } + else + { + this.OnMoneyBalanceUpdated(e); + } + } + + public void ChatOut(string chat, ChatType type, int channel) + { + if (this.loggedIn) + { + this.client.Self.Chat(chat, channel, type); + this.OnChatSent(new ChatSentEventArgs(chat, type, channel)); + } + } + + public string generateMAC() + { + Random random = new Random(15); + string str = ""; + for (int i = 0; i < 0x20; i++) + { + str = str + this.sm_int_to_hex(random.Next(15)); + } + return str; + } + + public void Login() + { + this.loggingIn = true; + OverrideEventArgs e = new OverrideEventArgs(); + this.OnClientLoggingIn(e); + if (e.Cancel) + { + this.loggingIn = false; + } + else + { + string password; + if ((string.IsNullOrEmpty(this.loginDetails.FirstName) || string.IsNullOrEmpty(this.loginDetails.LastName)) || string.IsNullOrEmpty(this.loginDetails.Password)) + { + //CLAUNIA: TRANSLATE ME + this.OnClientLoginStatus(new ClientLoginEventArgs(LoginStatus.Failed, "One or more fields are blank.")); + } + string startLocation = string.Empty; + if ((this.LoginDetails.StartLocation != "home") && (this.LoginDetails.StartLocation != "last")) + { + StartLocationParser parser = new StartLocationParser(this.loginDetails.StartLocation.Trim()); + startLocation = NetworkManager.StartLocation(parser.Sim, parser.X, parser.Y, parser.Z); + } + else + { + startLocation = this.LoginDetails.StartLocation; + } + if (this.loginDetails.IsPasswordMD5) + { + password = this.loginDetails.Password; + } + else + { + password = Utils.MD5(this.loginDetails.Password); + } + LoginParams loginParams = this.client.Network.DefaultLoginParams(this.loginDetails.FirstName, this.loginDetails.LastName, password, this.loginDetails.UserAgent, this.loginDetails.Author); + loginParams.Start = startLocation; + if (this.LoginDetails.GridCustomLoginUri == "") + { + System.Windows.Forms.MessageBox.Show(bot.Localization.clResourceManager.getText("NetCom.Updating.Line1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("NetCom.Updating.Line2") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("NetCom.Updating.Line3")); + + this.client.Settings.LOGIN_SERVER = "https://login.agni.lindenlab.com/cgi-bin/login.cgi"; + } + this.client.Settings.LOGIN_SERVER = this.loginDetails.GridCustomLoginUri; + loginParams.URI = this.client.Settings.LOGIN_SERVER; + this.client.Network.BeginLogin(loginParams); + } + } + + public void Logout() + { + if (!this.loggedIn) + { + this.OnClientLoggedOut(EventArgs.Empty); + } + else + { + OverrideEventArgs e = new OverrideEventArgs(); + this.OnClientLoggingOut(e); + if (!e.Cancel) + { + this.client.Network.Logout(); + } + } + } + + private void Network_OnConnected(object sender, SimConnectedEventArgs e) + { + this.client.Self.RequestBalance(); + this.client.Appearance.SetPreviousAppearance(false); + } + + private void Network_OnDisconnected(object sender, DisconnectedEventArgs e) + { + if (this.loggedIn) + { + this.loggedIn = false; + ClientDisconnectEventArgs f = new ClientDisconnectEventArgs(e.Reason, e.Message); + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnClientDisconnectRaise(this.OnClientDisconnected), new object[] { f }); + } + else + { + this.OnClientDisconnected(f); + } + } + } + + private void Network_OnLogin(object sender, LoginProgressEventArgs e) + { + if (e.Status == LoginStatus.Success) + { + this.loggedIn = true; + } + ClientLoginEventArgs f = new ClientLoginEventArgs(e.Status, e.Message); + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnClientLoginRaise(this.OnClientLoginStatus), new object[] { f }); + } + else + { + this.OnClientLoginStatus(f); + } + } + + private void Network_OnLogoutReply(object sender, LoggedOutEventArgs e) + { + this.loggedIn = false; + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnClientLogoutRaise(this.OnClientLoggedOut), new object[] { EventArgs.Empty }); + } + else + { + this.OnClientLoggedOut(EventArgs.Empty); + } + } + + protected virtual void OnAlertMessageReceived(AlertMessageEventArgs e) + { + if (this.AlertMessageReceived != null) + { + this.AlertMessageReceived(this, e); + } + } + + protected virtual void OnChatReceived(ChatEventArgs e) + { + if (this.ChatReceived != null) + { + this.ChatReceived(this, e); + } + } + + protected virtual void OnChatSent(ChatSentEventArgs e) + { + if (this.ChatSent != null) + { + this.ChatSent(this, e); + } + } + + protected virtual void OnClientDisconnected(ClientDisconnectEventArgs e) + { + if (this.ClientDisconnected != null) + { + this.ClientDisconnected(this, e); + } + } + + protected virtual void OnClientLoggedOut(EventArgs e) + { + if (this.ClientLoggedOut != null) + { + this.ClientLoggedOut(this, e); + } + } + + protected virtual void OnClientLoggingIn(OverrideEventArgs e) + { + if (this.ClientLoggingIn != null) + { + this.ClientLoggingIn(this, e); + } + } + + protected virtual void OnClientLoggingOut(OverrideEventArgs e) + { + if (this.ClientLoggingOut != null) + { + this.ClientLoggingOut(this, e); + } + } + + protected virtual void OnClientLoginStatus(ClientLoginEventArgs e) + { + if (this.ClientLoginStatus != null) + { + this.ClientLoginStatus(this, e); + } + } + + protected virtual void OnInstantMessageReceived(InstantMessageEventArgs e) + { + if (this.InstantMessageReceived != null) + { + this.InstantMessageReceived(this, e); + } + } + + protected virtual void OnInstantMessageSent(InstantMessageSentEventArgs e) + { + if (this.InstantMessageSent != null) + { + this.InstantMessageSent(this, e); + } + } + + protected virtual void OnMoneyBalanceUpdated(MoneyBalanceEventArgs e) + { + if (this.MoneyBalanceUpdated != null) + { + this.MoneyBalanceUpdated(this, e); + } + } + + protected virtual void OnTeleporting(TeleportingEventArgs e) + { + if (this.Teleporting != null) + { + this.Teleporting(this, e); + } + } + + protected virtual void OnTeleportStatusChanged(TeleportEventArgs e) + { + if (this.TeleportStatusChanged != null) + { + TeleportStatusEventArgs f = new TeleportStatusEventArgs(e.Message, e.Status, e.Flags); + this.TeleportStatusChanged(this, f); + } + } + + private void Self_OnChat(string message, ChatAudibleLevel audible, ChatType type, ChatSourceType sourceType, string fromName, UUID id, UUID ownerid, Vector3 position) + { + ChatEventArgs e = new ChatEventArgs(message, audible, type, sourceType, fromName, id, ownerid, position); + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnChatRaise(this.OnChatReceived), new object[] { e }); + } + else + { + this.OnChatReceived(e); + } + } + + private void Self_OnInstantMessage(InstantMessage im, Simulator simulator) + { + InstantMessageEventArgs e = new InstantMessageEventArgs(im, simulator); + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnInstantMessageRaise(this.OnInstantMessageReceived), new object[] { e }); + } + else + { + this.OnInstantMessageReceived(e); + } + } + + private void Self_TeleportProgress(object sender, TeleportEventArgs e) + { + if ((e.Status == TeleportStatus.Finished) || (e.Status == TeleportStatus.Failed)) + { + this.teleporting = false; + } + + if (this.netcomSync != null) + { + this.netcomSync.BeginInvoke(new OnTeleportStatusRaise(this.OnTeleportStatusChanged), new object[] { e }); + } + else + { + this.OnTeleportStatusChanged(e); + } + } + + public void SendIMStartTyping(UUID target, UUID session) + { + if (this.loggedIn) + { + this.client.Self.InstantMessage(this.loginDetails.FullName, target, "typing", session, InstantMessageDialog.StartTyping, InstantMessageOnline.Online, this.client.Self.SimPosition, this.client.Network.CurrentSim.ID, null); + } + } + + public void SendIMStopTyping(UUID target, UUID session) + { + if (this.loggedIn) + { + this.client.Self.InstantMessage(this.loginDetails.FullName, target, "typing", session, InstantMessageDialog.StopTyping, InstantMessageOnline.Online, this.client.Self.SimPosition, this.client.Network.CurrentSim.ID, null); + } + } + + public void SendInstantMessage(string message, UUID target, UUID session) + { + if (this.loggedIn) + { + this.client.Self.InstantMessage(this.loginDetails.FullName, target, message, session, InstantMessageDialog.MessageFromAgent, InstantMessageOnline.Online, this.client.Self.SimPosition, this.client.Network.CurrentSim.ID, null); + this.OnInstantMessageSent(new InstantMessageSentEventArgs(message, target, session, DateTime.Now)); + } + } + + private string sm_int_to_hex(int inp) + { + switch (inp) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + return inp.ToString(); + + case 10: + return "A"; + + case 11: + return "B"; + + case 12: + return "C"; + + case 13: + return "D"; + + case 14: + return "E"; + + case 15: + return "F"; + } + return "0"; + } + + public void Teleport(string sim, Vector3 coordinates) + { + if (this.loggedIn && !this.teleporting) + { + TeleportingEventArgs e = new TeleportingEventArgs(sim, coordinates); + this.OnTeleporting(e); + if (!e.Cancel) + { + this.teleporting = true; + this.client.Self.Teleport(sim, coordinates); + } + } + } + + public SecondLifeBot Client + { + get + { + return this.client; + } + } + + public bool IsLoggedIn + { + get + { + return this.loggedIn; + } + } + + public bool IsLoggingIn + { + get + { + return this.loggingIn; + } + } + + public bool IsTeleporting + { + get + { + return this.teleporting; + } + } + + public bot.LoginDetails LoginDetails + { + get + { + return this.loginDetails; + } + set + { + this.loginDetails = value; + } + } + + public ISynchronizeInvoke NetcomSync + { + get + { + return this.netcomSync; + } + set + { + this.netcomSync = value; + } + } + + private delegate void OnAlertMessageRaise(AlertMessageEventArgs e); + + private delegate void OnChatRaise(ChatEventArgs e); + + private delegate void OnClientDisconnectRaise(ClientDisconnectEventArgs e); + + private delegate void OnClientLoginRaise(ClientLoginEventArgs e); + + private delegate void OnClientLogoutRaise(EventArgs e); + + private delegate void OnInstantMessageRaise(InstantMessageEventArgs e); + + private delegate void OnMoneyBalanceRaise(MoneyBalanceEventArgs e); + + private delegate void OnTeleportStatusRaise(TeleportEventArgs e); + } +} + diff --git a/SLBot/bot/NetCom/OverrideEventArgs.cs b/SLBot/bot/NetCom/OverrideEventArgs.cs new file mode 100644 index 0000000..0417d24 --- /dev/null +++ b/SLBot/bot/NetCom/OverrideEventArgs.cs @@ -0,0 +1,63 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : OverrideEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using System; + + public class OverrideEventArgs : EventArgs + { + private bool _cancel; + + public OverrideEventArgs() + { + } + + public OverrideEventArgs(bool cancel) + { + this._cancel = cancel; + } + + public bool Cancel + { + get + { + return this._cancel; + } + set + { + this._cancel = value; + } + } + } +} + diff --git a/SLBot/bot/NetCom/StartLocationParser.cs b/SLBot/bot/NetCom/StartLocationParser.cs new file mode 100644 index 0000000..277f451 --- /dev/null +++ b/SLBot/bot/NetCom/StartLocationParser.cs @@ -0,0 +1,122 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : StartLocationParser.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using System; + + public class StartLocationParser + { + private string location; + + public StartLocationParser(string location) + { + if (location == null) + { + throw new Exception("Location cannot be null."); + } + this.location = location; + } + + private string GetSim(string location) + { + if (!location.Contains("/")) + { + return location; + } + return location.Split(new char[] { '/' })[0]; + } + + private int GetX(string location) + { + int num; + if (location.Contains("/") && int.TryParse(location.Split(new char[] { '/' })[1], out num)) + { + return num; + } + return 0x80; + } + + private int GetY(string location) + { + int num; + if (location.Contains("/") && int.TryParse(location.Split(new char[] { '/' })[2], out num)) + { + return num; + } + return 0x80; + } + + private int GetZ(string location) + { + int num; + if (location.Contains("/") && int.TryParse(location.Split(new char[] { '/' })[3], out num)) + { + return num; + } + return 0; + } + + public string Sim + { + get + { + return this.GetSim(this.location); + } + } + + public int X + { + get + { + return this.GetX(this.location); + } + } + + public int Y + { + get + { + return this.GetY(this.location); + } + } + + public int Z + { + get + { + return this.GetZ(this.location); + } + } + } +} + diff --git a/SLBot/bot/NetCom/TeleportStatusEventArgs.cs b/SLBot/bot/NetCom/TeleportStatusEventArgs.cs new file mode 100644 index 0000000..585f4d5 --- /dev/null +++ b/SLBot/bot/NetCom/TeleportStatusEventArgs.cs @@ -0,0 +1,76 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TeleportStatusEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class TeleportStatusEventArgs : EventArgs + { + private TeleportFlags flags; + private string message; + private TeleportStatus status; + + public TeleportStatusEventArgs(string message, TeleportStatus status, TeleportFlags flags) + { + this.message = message; + this.status = status; + this.flags = flags; + } + + public TeleportFlags Flags + { + get + { + return this.flags; + } + } + + public string Message + { + get + { + return this.message; + } + } + + public TeleportStatus Status + { + get + { + return this.status; + } + } + } +} + diff --git a/SLBot/bot/NetCom/TeleportingEventArgs.cs b/SLBot/bot/NetCom/TeleportingEventArgs.cs new file mode 100644 index 0000000..7d52926 --- /dev/null +++ b/SLBot/bot/NetCom/TeleportingEventArgs.cs @@ -0,0 +1,66 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : TeleportingEventArgs.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.NetCom +{ + using OpenMetaverse; + using System; + + public class TeleportingEventArgs : OverrideEventArgs + { + private Vector3 _coordinates; + private string _sim; + + public TeleportingEventArgs(string sim, Vector3 coordinates) + { + this._sim = sim; + this._coordinates = coordinates; + } + + public Vector3 Coordinates + { + get + { + return this._coordinates; + } + } + + public string SimName + { + get + { + return this._sim; + } + } + } +} + diff --git a/SLBot/bot/Objects/ObjectsListItem.cs b/SLBot/bot/Objects/ObjectsListItem.cs new file mode 100644 index 0000000..6af9b8d --- /dev/null +++ b/SLBot/bot/Objects/ObjectsListItem.cs @@ -0,0 +1,128 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : ObjectsListItem.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot.Objects +{ + using OpenMetaverse; + using System; + using System.Runtime.CompilerServices; + using System.Windows.Forms; + + public class ObjectsListItem + { + private GridClient client; + private bool gettingProperties; + private bool gotProperties; + private ListBox listBox; + private Primitive prim; + + public event EventHandler PropertiesReceived; + + public ObjectsListItem(Primitive prim, GridClient client, ListBox listBox) + { + this.prim = prim; + this.client = client; + this.listBox = listBox; + } + + void Objects_OnObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e) + { + if (e.Properties.ObjectID == this.prim.ID) + { + this.gettingProperties = false; + this.gotProperties = true; + this.prim.Properties = e.Properties; + this.listBox.BeginInvoke(new OnPropReceivedRaise(this.OnPropertiesReceived), new object[] { EventArgs.Empty }); + } + } + + protected virtual void OnPropertiesReceived(EventArgs e) + { + if (this.PropertiesReceived != null) + { + this.PropertiesReceived(this, e); + } + } + + public void RequestProperties() + { + if (this.prim.Properties == null) + //if (string.IsNullOrEmpty(this.prim.Properties.Name)) + { + this.gettingProperties = true; + this.client.Objects.ObjectPropertiesFamily += new EventHandler(this.Objects_OnObjectPropertiesFamily); + this.client.Objects.RequestObjectPropertiesFamily(this.client.Network.CurrentSim, this.prim.ID); + } + else + { + this.gotProperties = true; + this.OnPropertiesReceived(EventArgs.Empty); + } + } + + public override string ToString() + { + if (!string.IsNullOrEmpty(this.prim.Properties.Name)) + { + return this.prim.Properties.Name; + } + return "..."; + } + + public bool GettingProperties + { + get + { + return this.gettingProperties; + } + } + + public bool GotProperties + { + get + { + return this.gotProperties; + } + } + + public Primitive Prim + { + get + { + return this.prim; + } + } + + private delegate void OnPropReceivedRaise(EventArgs e); + } +} + diff --git a/SLBot/bot/Parsing.cs b/SLBot/bot/Parsing.cs new file mode 100644 index 0000000..c4829df --- /dev/null +++ b/SLBot/bot/Parsing.cs @@ -0,0 +1,145 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Parsing.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Portions copyright (c) 2006-2010, openmetaverse.org +****************************************************************************/ +namespace bot +{ + using System; + using System.Collections.Generic; + + internal class Parsing + { + public static string[] ParseArguments(string str) + { + List list = new List(); + string str2 = string.Empty; + string item = null; + bool flag = false; + bool flag2 = false; + foreach (char ch in str) + { + switch (ch) + { + case '"': + if (flag2) + { + str2 = str2 + '"'; + flag2 = false; + } + else + { + str2 = str2 + '"'; + flag = !flag; + } + break; + + case ' ': + case '\t': + if (flag2 || flag) + { + str2 = str2 + ch; + flag2 = false; + } + else + { + item = str2.Trim(); + if (item.StartsWith("\"") && item.EndsWith("\"")) + { + item = item.Remove(0, 1); + item = item.Remove(item.Length - 1).Trim(); + } + if (item.Length > 0) + { + list.Add(item); + } + str2 = string.Empty; + } + break; + + default: + if (ch == '\\') + { + if (flag2) + { + str2 = str2 + '\\'; + flag2 = false; + } + else + { + flag2 = true; + } + } + else + { + if (flag2) + { + throw new FormatException(String.Format(bot.Localization.clResourceManager.getText("Parsing.NotEscapable"), ch.ToString())); + } + str2 = str2 + ch; + } + break; + } + } + item = str2.Trim(); + if (item.StartsWith("\"") && item.EndsWith("\"")) + { + item = item.Remove(0, 1); + item = item.Remove(item.Length - 1).Trim(); + } + if (item.Length > 0) + { + list.Add(item); + } + return list.ToArray(); + } + + public static Dictionary ParseWebResponse(string resp) + { + Dictionary dictionary = new Dictionary(); + string[] strArray = resp.Split(new char[] { '&' }); + for (int i = 0; i < strArray.Length; i++) + { + string[] strArray2 = strArray[i].Split(new char[] { '=' }); + if (strArray2.Length == 2) + { + dictionary[strArray2[0]] = strArray2[1]; + } + else if (strArray2.Length == 1) + { + dictionary[strArray2[0]] = string.Empty; + } + } + return dictionary; + } + } +} + diff --git a/SLBot/bot/Program.cs b/SLBot/bot/Program.cs new file mode 100644 index 0000000..46dd2b0 --- /dev/null +++ b/SLBot/bot/Program.cs @@ -0,0 +1,267 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Program.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using bot.GUI; + using System; + using System.Diagnostics; + using System.IO; + using System.Runtime.CompilerServices; + using System.Threading; + using System.Windows.Forms; + using Microsoft.Win32; + using OpenMetaverse; + using Claunia.clUtils; + + internal static class Program + { + private static bool writeConsoleToFile; + private static bool writeChatToFile; + + public static Statistics NBStats = new Statistics(); + + private static void Application_Idle(object sender, EventArgs e) + { + //NBStats.SendStatistics(); + } + + [STAThread] + private static void Main() + { +#if !DEBUG + if (Utilities.GetRunningRuntime() == Utilities.Runtime.Microsoft) + { + Mutex mutex = null; + bool createdNew = false; + try + { + mutex = new Mutex(true, "NatiBot OneInstance Mutex", out createdNew); + Process instance = InstanceHandler.RunningInstance(); + if ((instance != null) || !createdNew) + { + InstanceHandler.HandleRunningInstance(instance); + } + else + { + run(); + } + } + catch (Exception exception) + { + MessageBox.Show(string.Format("{0}{1}{1}{2}", exception.GetType().FullName, Environment.NewLine, exception.ToString()), string.Format("{0} ({1})", exception.Source, exception.GetType().Name)); + } + finally + { + if (mutex != null) + { + if (createdNew) + { + mutex.ReleaseMutex(); + } + mutex = null; + } + GC.WaitForPendingFinalizers(); + GC.Collect(); + } + } + else + { +#endif + run(); +#if !DEBUG + } +#endif + } + + private static frmCheckLicense CheckLicense; + private static frmMain MainForm; + + private static void run() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); + Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + string myDocumentsPath; + + if (Utilities.GetRunningPlatform() == Utilities.Platform.MacOSX) + myDocumentsPath = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/Documents"; + else + myDocumentsPath = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); + + if (Utilities.IsUpdateAvailable(bot.license.Version.AppUUID, bot.license.Version.AppVersion)) + { + Utilities.GetUpdate(bot.license.Version.AppUUID); + Application.Run(); + } + else + { + + if (!Directory.Exists(myDocumentsPath + "/" + "NatiBot")) + Directory.CreateDirectory(myDocumentsPath + "/" + "NatiBot"); + + System.Environment.CurrentDirectory = myDocumentsPath + "/" + "NatiBot"; + + if (!Directory.Exists("./config/")) + { + Directory.CreateDirectory("./config/"); + } + + Application.Idle += new EventHandler(Program.Application_Idle); + + CheckLicense = new frmCheckLicense(); + + if (Utilities.GetRunningRuntime() == Utilities.Runtime.Mono) + { + MainForm = new frmMain(); + CheckLicense.ShowDialog(); + } + else + { + CheckLicense.Show(); + } + +#if DEBUG + Application.Run(); +#else + try + { + Application.Run(); + } + catch (Exception ex) + { + MessageBox.Show("Unhandled exception: " + ex.ToString(), "Unhandled exception."); + } +#endif + //Application.Run(CheckLicense); + } + } + + public static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + Exception ex = (Exception)e.ExceptionObject; + NBStats.SendException(ex); + MessageBox.Show(bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line2") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line3") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line4"), + bot.Localization.clResourceManager.getText("Program.Stats.Crash"), MessageBoxButtons.OK); + System.Environment.Exit(255); + } + + static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) + { + NBStats.SendException(e.Exception); + MessageBox.Show(bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line1") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line2") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line3") + System.Environment.NewLine + + bot.Localization.clResourceManager.getText("Program.Stats.Crash.Line4"), + bot.Localization.clResourceManager.getText("Program.Stats.Crash"), MessageBoxButtons.OK); + System.Environment.Exit(255); + } + + public static void Authenticated(bool status) + { + if (status && MainForm != null) + { + if (Utilities.GetRunningRuntime() == Utilities.Runtime.Mono) + MainForm.Show(); + } + } + + public static bool getWriteConsoleToFileSetting() + { + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + object rkDumpConsole = nbRegistry.GetValue("DumpConsole"); + + if (rkDumpConsole == null) + { + nbRegistry.SetValue("DumpConsole", true); + writeConsoleToFile = true; + } + else + { + writeConsoleToFile = bool.Parse((string)rkDumpConsole); + } + + return writeConsoleToFile; + } + + public static void setWriteConsoleToFileSetting(bool value) + { + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + nbRegistry.SetValue("DumpConsole", value); + writeConsoleToFile = value; + return; + } + + public static bool getWriteChatToFileSetting() + { + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + object rkDumpChat = nbRegistry.GetValue("DumpChat"); + + if (rkDumpChat == null) + { + nbRegistry.SetValue("DumpChat", true); + writeChatToFile = true; + } + else + { + writeChatToFile = bool.Parse((string)rkDumpChat); + } + + return writeChatToFile; + } + + public static void setWriteChatToFileSetting(bool value) + { + RegistryKey hkcu = Registry.CurrentUser; + RegistryKey nbRegistry = hkcu.CreateSubKey("Software\\Claunia.com\\NatiBot"); + + nbRegistry.SetValue("DumpChat", value); + writeChatToFile = value; + return; + } + + } +} + diff --git a/SLBot/bot/SecondLifeBot.cs b/SLBot/bot/SecondLifeBot.cs new file mode 100644 index 0000000..ea0b18d --- /dev/null +++ b/SLBot/bot/SecondLifeBot.cs @@ -0,0 +1,761 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SecondLifeBot.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +Portions copyright (c) 2006-2010, openmetaverse.org +****************************************************************************/ +namespace bot +{ + using bot.Commands; + using bot.NetCom; + using OpenMetaverse; + using OpenMetaverse.Packets; + using System; + using System.Collections.Generic; + using System.Reflection; + using System.Threading; + using System.Timers; + using Meebey.SmartIrc4net; + using OpenMetaverse.Assets; + using OpenMetaverse.Utilities; + + public class SecondLifeBot : GridClient, IDisposable + { + public BotAccount Account; + public Dictionary Appearances = new Dictionary(); + public Dictionary Commands = new Dictionary(); + + private bool disposed; + public UUID GroupID = UUID.Zero; + public Dictionary GroupMembers; + private ManualResetEvent keyResolution = new ManualResetEvent(false); + private bot.LoginDetails loginDetails; + private UUID masterKey = UUID.Zero; + private string masterName = string.Empty; + public NetCommunication Netcom; + private UUID query = UUID.Zero; + private UUID resolvedMasterKey = UUID.Zero; + public StateManager State; + private System.Timers.Timer updateTimer; + // Shell-like inventory commands need to be aware of the 'current' inventory folder. + public InventoryFolder CurrentDirectory = null; + public VoiceManager VoiceManager; + //This is for gettint avatar name from avatar uuid. + private ManualResetEvent WaitforAvatarName = new ManualResetEvent(false); + private string requestedAvatarName; + private UUID requestedAvatarID; + private bool previouslyConnected; + + public IrcClient irc; + + private UUID GroupMembersRequestID; + public Dictionary GroupsCache = null; + private ManualResetEvent GroupsEvent = new ManualResetEvent(false); + + // Not storable values + public bool isAway; + public bool isBusy; + public bool isNadu; + // Storable values + public bool InformFriends; + + public delegate void OnDialogScriptReceivedCallback(SecondLifeBot bot,ScriptDialogEventArgs args); + + public event OnDialogScriptReceivedCallback OnDialogScriptReceived; + + public SecondLifeBot(BotAccount account) + { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomain_UnhandledException); + + this.Account = account; + + this.loginDetails = account.LoginDetails; + this.Netcom = new NetCommunication(this); + this.State = new StateManager(this); + this.updateTimer = new System.Timers.Timer(500.0); + this.updateTimer.Elapsed += new ElapsedEventHandler(this.updateTimer_Elapsed); + this.RegisterAllCommands(Assembly.GetExecutingAssembly()); + this.registerEvents(); + base.Settings.LOG_RESENDS = false; + base.Settings.STORE_LAND_PATCHES = true; + base.Settings.ALWAYS_DECODE_OBJECTS = true; + base.Settings.ALWAYS_REQUEST_OBJECTS = true; + base.Settings.SEND_AGENT_UPDATES = this.Account.LoginDetails.SendAgentUpdatePacket; + this.Login(); + this.updateTimer.Start(); + + this.InformFriends = Account.LoginDetails.BotConfig.InformFriends; + + VoiceManager = new VoiceManager(this); + + if (this.LoginDetails.IRC_Settings.isUsingIRC) + { + this.irc = new IrcClient(); + this.irc.AutoRejoin = true; + this.irc.Connect(Account.LoginDetails.IRC_Settings.ServerHost, Account.LoginDetails.IRC_Settings.ServerPort); + + this.irc.Login(Account.LoginDetails.FirstName.Substring(0, 1) + Account.LoginDetails.LastName, "NatiBot"); + this.irc.RfcJoin(Account.LoginDetails.IRC_Settings.MainChannel); + this.irc.OnJoin += new JoinEventHandler(IRCOnJoin); + this.irc.OnChannelMessage += new IrcEventHandler(IRCOnMessage); + } + } + + public UUID GroupName2UUID(String groupName) + { + UUID tryUUID; + if (UUID.TryParse(groupName, out tryUUID)) + return tryUUID; + if (null == GroupsCache) + { + ReloadGroupsCache(); + if (null == GroupsCache) + return UUID.Zero; + } + lock (GroupsCache) + { + if (GroupsCache.Count > 0) + { + foreach (Group currentGroup in GroupsCache.Values) + if (currentGroup.Name.ToLower() == groupName.ToLower()) + return currentGroup.ID; + } + } + return UUID.Zero; + } + + private bool MainisGroupKey; + + public bool key2Name(UUID avatarID, out string avatarName) + { + bool isGroupID = false; + return key2Name(avatarID, out avatarName, out isGroupID); + } + + private bool RequestedmoreThanOneAvFound; + + public bool FindOneAvatar(string avatarName, out UUID avatarID) + { + bool moreThanOneAvatarFound = false; + return FindOneAvatar(avatarName, out avatarID, out moreThanOneAvatarFound); + } + + public bool FindOneAvatar(string avatarName, out UUID avatarID, out bool moreThanOneAvatarFound) + { + this.Directory.DirPeopleReply += new EventHandler(Directory_DirPeopleReply); + this.WaitforAvatarName = new ManualResetEvent(false); + + requestedAvatarID = UUID.Zero; + RequestedmoreThanOneAvFound = false; + + this.Directory.StartPeopleSearch(avatarName, 0); + if (WaitforAvatarName.WaitOne(15000, false)) + { + this.Directory.DirPeopleReply -= Directory_DirPeopleReply; + + if (requestedAvatarID != UUID.Zero) + { + avatarID = requestedAvatarID; + moreThanOneAvatarFound = RequestedmoreThanOneAvFound; + return true; + } + else + { + avatarID = requestedAvatarID; + moreThanOneAvatarFound = RequestedmoreThanOneAvFound; + return false; + } + } + else + { + this.Directory.DirPeopleReply -= Directory_DirPeopleReply; + + avatarID = requestedAvatarID; + moreThanOneAvatarFound = RequestedmoreThanOneAvFound; + return false; + } + } + + void Directory_DirPeopleReply(object sender, DirPeopleReplyEventArgs e) + { + if (e.MatchedPeople.Count > 1) + RequestedmoreThanOneAvFound = true; + requestedAvatarID = e.MatchedPeople[0].AgentID; + WaitforAvatarName.Set(); + return; + } + + public bool key2Name(UUID avatarID, out string avatarName, out bool isGroupKey) + { + this.WaitforAvatarName = new ManualResetEvent(false); + requestedAvatarName = ""; + requestedAvatarID = avatarID; + MainisGroupKey = false; + isGroupKey = false; + Group groupValue = new Group(); + + if (GroupsCache == null) + this.ReloadGroupsCache(); + + if (GroupsCache.TryGetValue(avatarID, out groupValue)) + { + avatarName = groupValue.Name; + MainisGroupKey = true; + isGroupKey = MainisGroupKey; + return true; + } + else + { + this.Avatars.UUIDNameReply += this.AvatarNamesReceived; + this.Groups.GroupProfile += this.Groups_OnGroupProfile; + this.Groups.RequestGroupProfile(avatarID); + this.Avatars.RequestAvatarName(avatarID); + if (WaitforAvatarName.WaitOne(15000, false)) + { + this.Avatars.UUIDNameReply -= this.AvatarNamesReceived; + this.Groups.GroupProfile -= this.Groups_OnGroupProfile; + avatarName = requestedAvatarName; + isGroupKey = MainisGroupKey; + } + else + { + this.Avatars.UUIDNameReply -= this.AvatarNamesReceived; + this.Groups.GroupProfile -= this.Groups_OnGroupProfile; + avatarName = ""; + isGroupKey = false; + } + + if (avatarName == "(???) (???)" || avatarName == "") + { + return false; + } + else + { + return true; + } + } + } + + private void AvatarNamesReceived(object sender, UUIDNameReplyEventArgs e) + { + requestedAvatarName = e.Names[requestedAvatarID]; + MainisGroupKey = false; + this.WaitforAvatarName.Set(); + return; + } + + private void Groups_OnGroupProfile(object sender, GroupProfileEventArgs e) + { + requestedAvatarName = e.Group.Name; + MainisGroupKey = true; + this.WaitforAvatarName.Set(); + return; + } + + private void AgentDataUpdateHandler(object sender, PacketReceivedEventArgs e) + { + AgentDataUpdatePacket p = (AgentDataUpdatePacket)e.Packet; + if (p.AgentData.AgentID == e.Simulator.Client.Self.AgentID) + { + this.GroupID = p.AgentData.ActiveGroupID; + + GroupMembersRequestID = e.Simulator.Client.Groups.RequestGroupMembers(GroupID); + + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.GotGroupID"), e.Simulator.Client.ToString()); + } + } + + private void AlertMessageHandler(object sender, PacketReceivedEventArgs e) + { + Packet packet = e.Packet; + + AlertMessagePacket message = (AlertMessagePacket)packet; + + bot.Console.WriteLine(this, "[AlertMessage] " + Utils.BytesToString(message.AlertData.Message)); + } + + private void AvatarAppearanceHandler(object sender, PacketReceivedEventArgs e) + { + Packet packet = e.Packet; + + AvatarAppearancePacket appearance = (AvatarAppearancePacket)packet; + + lock (this.Appearances) + this.Appearances[appearance.Sender.ID] = appearance; + } + + public void Log(string shitcakes, Helpers.LogLevel what) + { + } + + public virtual void Dispose() + { + if (!this.disposed) + { + try + { + this.Netcom.Logout(); + } + finally + { + this.disposed = true; + GC.SuppressFinalize(this); + } + } + } + + public void DoCommand(string cmd, UUID fromAgentID, bool fromSL) + { + string _nothing = DoCommandReturn(cmd, fromAgentID, fromSL); + } + + public string DoCommandReturn(string cmd, UUID fromAgentID, bool fromSL) + { + string[] strArray; + try + { + strArray = Parsing.ParseArguments(cmd); + } + catch (FormatException exception) + { + if (fromSL) + { + bot.Console.WriteLine(exception.Message); + } + else + { + irc.SendMessage(SendType.Message, Account.LoginDetails.IRC_Settings.MainChannel, exception.Message); + } + return exception.Message; + } + if (strArray.Length != 0) + { + string key = strArray[0].ToLower(); + + key = key.Replace("!", String.Empty); + + if (this.Commands.ContainsKey(key)) + { + string[] destinationArray = new string[strArray.Length - 1]; + Array.Copy(strArray, 1, destinationArray, 0, destinationArray.Length); + string str2 = this.Commands[key].Execute(destinationArray, fromAgentID, fromSL); + if (!string.IsNullOrEmpty(str2)) + { + bot.Console.WriteLine("<{0} {1}> {2}", new object[] { this.LoginDetails.FirstName, this.LoginDetails.LastName, str2 }); + if (base.Network.Connected && (fromAgentID != UUID.Zero)) + { + str2 = str2.Replace("\r", string.Empty); + if (fromSL.Equals(true)) + { + this.SendResponseIM(this, fromAgentID, str2); + } + else + { + this.irc.SendMessage(SendType.Message, this.LoginDetails.IRC_Settings.MainChannel, str2); + } + } + } + return str2; + } + } + return ""; + } + + ~SecondLifeBot() + { + this.Dispose(); + } + + private void GotoLastSeat() + { + bot.Console.WriteLine(this, "NOT IMPLEMENTED! Going to: {0}", this.LoginDetails.BotConfig.LastSitposition); + } + + public void ReloadGroupsCache() + { + Groups.CurrentGroups += Groups_CurrentGroups; + Groups.RequestCurrentGroups(); + GroupsEvent.WaitOne(10000, false); + Groups.CurrentGroups -= Groups_CurrentGroups; + GroupsEvent.Reset(); + } + + void Groups_CurrentGroups(object sender, CurrentGroupsEventArgs e) + { + if (null == GroupsCache) + GroupsCache = e.Groups; + else + lock (GroupsCache) + { + GroupsCache = e.Groups; + } + GroupsEvent.Set(); + } + + private void GroupMembersHandler(object sender, GroupMembersReplyEventArgs e) + { + if (e.RequestID != GroupMembersRequestID) + return; + + this.GroupMembers = e.Members; + + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.GotGroupMembers"), e.Members.Count); + } + + // TODO Rev 100: Ask user for accepting inventory objects or not + private void Inventory_OnInventoryObjectReceived(object sender, InventoryObjectOfferedEventArgs e) + { + if (this.Account.LoginDetails.BotConfig.AcceptInventoryOffers) + e.Accept = true; + else + e.Accept = false; + return; + } + + private void Login() + { + if (!base.Network.Connected) + { + + this.Netcom.Login(); + this.MasterName = this.LoginDetails.MasterName; + } + } + + private void Network_OnConnected(object sender, SimConnectedEventArgs e) + { + if (!previouslyConnected) + { + this.MasterName = this.LoginDetails.MasterName; + if (irc != null) + new Thread(new ThreadStart(irc.Listen)).Start(); + + if (this.LoginDetails.BotConfig.SaveSitPosition) + { + this.GotoLastSeat(); + } + + this.Self.RetrieveInstantMessages(); + previouslyConnected = true; + } + } + + private void Network_OnDisconnected(object sender, DisconnectedEventArgs e) + { + previouslyConnected = false; + this.Account.Disconnect(false); + if (this.irc != null) + this.irc.Disconnect(); + } + + public void RegisterAllCommands(Assembly assembly) + { + foreach (Type type in assembly.GetTypes()) + { + try + { + if (type.IsSubclassOf(typeof(Command))) + { + Command command = (Command)type.GetConstructor(new Type[] { typeof(SecondLifeBot) }).Invoke(new object[] { this }); + this.RegisterCommand(command); + } + } + catch (Exception exception) + { + bot.Console.WriteLine(exception.ToString()); + } + } + } + + public void RegisterCommand(Command command) + { + command.Client = this; + if (!this.Commands.ContainsKey(command.Name.ToLower())) + { + this.Commands.Add(command.Name.ToLower(), command); + } + } + + private void registerEvents() + { + base.Self.IM += this.Self_IM; + base.Self.ChatFromSimulator += this.Self_OnChat; + base.Groups.GroupMembersReply += this.GroupMembersHandler; + base.Inventory.InventoryObjectOffered += this.Inventory_OnInventoryObjectReceived; + base.Network.RegisterCallback(PacketType.AgentDataUpdate, this.AgentDataUpdateHandler); + base.Network.RegisterCallback(PacketType.AvatarAppearance, this.AvatarAppearanceHandler); + base.Network.RegisterCallback(PacketType.AlertMessage, this.AlertMessageHandler); + base.Network.SimConnected += new EventHandler(this.Network_OnConnected); + base.Network.Disconnected += new EventHandler(this.Network_OnDisconnected); + base.Friends.FriendOnline += new EventHandler(Friends_FriendOnline); + base.Friends.FriendOffline += new EventHandler(Friends_FriendOffline); + base.Self.ScriptDialog += new EventHandler(Self_ScriptDialog); + } + + void Self_ScriptDialog(object sender, ScriptDialogEventArgs e) + { + if (OnDialogScriptReceived != null) + OnDialogScriptReceived(this, e); + } + + void Friends_FriendOffline(object sender, FriendInfoEventArgs e) + { + if (InformFriends) + { + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("Bot.Friend.Offline"), e.Friend.Name); + this.Self.InstantMessage(this.MasterKey, String.Format(bot.Localization.clResourceManager.getText("Bot.Friend.Offline"), e.Friend.Name)); + } + } + + void Friends_FriendOnline(object sender, FriendInfoEventArgs e) + { + if (InformFriends) + { + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("Bot.Friend.Online"), e.Friend.Name); + this.Self.InstantMessage(this.MasterKey, String.Format(bot.Localization.clResourceManager.getText("Bot.Friend.Online"), e.Friend.Name)); + } + } + + void Self_OnChat(object sender, OpenMetaverse.ChatEventArgs e) + { + bot.Chat.structGeneralChat preBuffer = new Chat.structGeneralChat(); + + preBuffer.audible = e.AudibleLevel; + preBuffer.client = this; + preBuffer.fromName = e.FromName; + preBuffer.id = e.SourceID; + preBuffer.message = e.Message; + preBuffer.ownerid = e.OwnerID; + preBuffer.position = e.Position; + preBuffer.sourceType = e.SourceType; + preBuffer.type = e.Type; + preBuffer.timestamp = DateTime.Now; + + bot.Chat.receivedChat(preBuffer); + } + + private void resolveMasterName(string masterName) + { + this.resolvedMasterKey = UUID.Zero; + + EventHandler peopleDirCallback = + delegate(object sender, DirPeopleReplyEventArgs e) + { + if (e.QueryID == query) + { + if (e.MatchedPeople.Count != 1) + { + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.MasterNotResolved"), this.masterName); + } + else + { + this.resolvedMasterKey = e.MatchedPeople[0].AgentID; + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.MasterResolved"), new object[] { masterName, this.resolvedMasterKey }); + } + + this.keyResolution.Set(); + } + }; + + this.Directory.DirPeopleReply += peopleDirCallback; + query = this.Directory.StartPeopleSearch(this.MasterName, 0); + this.keyResolution.WaitOne(5000, false); + + if (base.Network.Connected && this.resolvedMasterKey != UUID.Zero) + { + this.MasterKey = this.resolvedMasterKey; + if (this.Account.LoginDetails.GreetMaster) + base.Self.InstantMessage(this.MasterKey, bot.Localization.clResourceManager.getText("bot.Greeting")); + this.keyResolution.Reset(); + base.Directory.DirPeopleReply -= peopleDirCallback; + } + else + { + this.keyResolution.Reset(); + base.Directory.DirPeopleReply -= peopleDirCallback; + this.Account.SetMaster(this.MasterName + " ERROR"); + } + } + + // Rev 100 THIS IS NOT WORKING PUTTING A CHAT WINDOW IS A PRIORITY + private void Self_IM(object sender, OpenMetaverse.InstantMessageEventArgs e) + { + bot.Chat.structInstantMessage preMessage = new bot.Chat.structInstantMessage(); + + preMessage.client = this; + preMessage.message = e.IM; + preMessage.simulator = e.Simulator; + preMessage.timestamp = DateTime.Now; + preMessage.isReceived = true; + + bot.Chat.receivedIM(preMessage); + if (this.MasterKey != UUID.Zero) + { + if (e.IM.FromAgentID != this.MasterKey) + { + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.MessageNotMaster"), new object[] { e.IM.GroupIM ? "GroupIM" : "IM", e.IM.Dialog, e.IM.FromAgentName, e.IM.Message, e.IM.RegionID, e.IM.Position }); + if (e.IM.FromAgentID != UUID.Zero && e.IM.Dialog != InstantMessageDialog.StartTyping && e.IM.Dialog != InstantMessageDialog.StopTyping) + { + this.Self.InstantMessage(this.MasterKey, string.Format(bot.Localization.clResourceManager.getText("bot.MessageNotMaster"), new object[] { e.IM.GroupIM ? "GroupIM" : "IM", e.IM.Dialog, e.IM.FromAgentName, e.IM.Message, e.IM.RegionID, e.IM.Position })); + } + return; + } + } + else if ((this.GroupMembers != null) && !this.GroupMembers.ContainsKey(e.IM.FromAgentID)) + { + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.MessageNotGroup"), new object[] { e.IM.GroupIM ? "GroupIM" : "IM", e.IM.Dialog, e.IM.FromAgentName, e.IM.Message, e.IM.RegionID, e.IM.Position }); + return; + } + bot.Console.WriteLine(this, "<{0} ({1})> {2}: {3} (@{4}:{5})", new object[] { e.IM.GroupIM ? "GroupIM" : "IM", e.IM.Dialog, e.IM.FromAgentName, e.IM.Message, e.IM.RegionID, e.IM.Position }); + if (e.IM.Dialog == InstantMessageDialog.RequestTeleport) + { + bot.Console.WriteLine(this, bot.Localization.clResourceManager.getText("bot.AcceptingTeleport")); + base.Self.TeleportLureRespond(e.IM.FromAgentID, true); + } + else if ((e.IM.Dialog == InstantMessageDialog.MessageFromAgent) || (e.IM.Dialog == InstantMessageDialog.MessageFromObject)) + { + this.DoCommand(e.IM.Message, e.IM.FromAgentID, true); + } + if (this.Account.LoginDetails.RelayChatToIRC) + { + string msg = string.Format("<{0}{1} ({2})> {3}", + e.IM.GroupIM ? "[GroupIM]" : "[IM]", + e.IM.FromAgentName, + e.IM.FromAgentID.ToString(), + e.IM.Message + ); + + this.irc.SendMessage(SendType.Message, this.LoginDetails.IRC_Settings.MainChannel, msg); + } + } + + private void SendResponseIM(GridClient client, UUID fromAgentID, string data) + { + for (int i = 0; i < data.Length; i += 0x400) + { + int num2; + if ((i + 0x3ff) > data.Length) + { + num2 = data.Length - i; + } + else + { + num2 = 0x3ff; + } + string message = data.Substring(i, num2); + client.Self.InstantMessage(fromAgentID, message); + } + } + + private void updateTimer_Elapsed(object sender, ElapsedEventArgs e) + { + if (base.Network.CurrentSim != null) + { + Vector3 simPosition = base.Self.SimPosition; + if (this.Netcom.IsLoggedIn) + { + Vector3 vector = base.Self.SimPosition; + string str = string.Format("{0} {1}, {2}, {3}", new object[] { base.Network.CurrentSim.Name, (int)vector.X, (int)vector.Y, (int)vector.Z }); + this.Account.LocationChange(str); + } + } + foreach (Command command in this.Commands.Values) + { + if (command.Active) + { + command.Think(); + } + } + } + + public bot.LoginDetails LoginDetails + { + get + { + return this.loginDetails; + } + } + + public UUID MasterKey + { + get + { + return this.masterKey; + } + set + { + this.masterKey = value; + } + } + + public string MasterName + { + get + { + return this.masterName; + } + set + { + this.masterName = value; + //THREADING + this.Account.SetMaster(value); + this.LoginDetails.MasterName = value; + if (base.Network.Connected) + { + this.resolveMasterName(value); + } + } + } + + public void IRCOnJoin(Object sender, IrcEventArgs e) + { + if (this.irc.IsMe(e.Data.Nick)) + { + irc.SendMessage(SendType.Message, e.Data.Channel, String.Format(bot.Localization.clResourceManager.getText("bot.IRCGreet"), this.Account.LoginDetails.FullName)); + } + } + + public void IRCOnMessage(Object Sender, IrcEventArgs e) + { + String master = this.Account.LoginDetails.IRC_Settings.Master; + Version v = new Version(); + + if (!e.Data.Nick.Equals(master)) + return; + this.DoCommand(e.Data.Message, UUID.Zero, false); + } + + public void sendIRCMessage(string message) + { + this.irc.SendMessage(SendType.Message, this.loginDetails.IRC_Settings.MainChannel, message); + } + } +} + diff --git a/SLBot/bot/SoftwareLoginInfo.cs b/SLBot/bot/SoftwareLoginInfo.cs new file mode 100644 index 0000000..949ead5 --- /dev/null +++ b/SLBot/bot/SoftwareLoginInfo.cs @@ -0,0 +1,51 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : SoftwareLoginInfo.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using System; + using System.Xml.Serialization; + + [XmlRoot("SoftwareLogin")] + public class SoftwareLoginInfo + { + [XmlAttribute("firstname")] + public string Firstname = "Website"; + [XmlAttribute("lastname")] + public string Lastname = "Login"; + [XmlAttribute("password")] + public string Password = string.Empty; + [XmlAttribute("save")] + public bool SaveLogin; + } +} + diff --git a/SLBot/bot/StartPosition.cs b/SLBot/bot/StartPosition.cs new file mode 100644 index 0000000..bbc5fef --- /dev/null +++ b/SLBot/bot/StartPosition.cs @@ -0,0 +1,45 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : StartPosition.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using System; + + public class StartPosition + { + public string sim = null; + public int x = 0; + public int y = 0; + public int z = 0; + } +} + diff --git a/SLBot/bot/StateManager.cs b/SLBot/bot/StateManager.cs new file mode 100644 index 0000000..d522a65 --- /dev/null +++ b/SLBot/bot/StateManager.cs @@ -0,0 +1,376 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : StateManager.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +namespace bot +{ + using bot.NetCom; + using OpenMetaverse; + using System; + using System.Collections.Generic; + using System.Runtime.CompilerServices; + using System.Timers; + + public class StateManager + { + private Timer agentUpdateTicker; + private bool alwaysrun; + private bool away; + private UUID awayAnimationID = new UUID("fd037134-85d4-f241-72c6-4f42164fedee"); + private UUID beamID; + private bool busy; + private UUID busyAnimationID = new UUID("efcf670c-2d18-8128-973a-034ebc806b67"); + private SecondLifeBot client; + private bool flying; + private float followDistance = 3f; + private bool following; + private string followName = string.Empty; + private NetCommunication netcom; + private UUID pointID; + private bool pointing; + private bool sitting; + private string statusMessage; + private bool typing; + private UUID typingAnimationID = new UUID("c541c47f-e0c0-058b-ad1a-d6ae3a4584d9"); + + public event StatusMessageChangedCallback OnStatusMessageChanged; + + public StateManager(SecondLifeBot client) + { + this.client = client; + this.netcom = this.client.Netcom; + this.statusMessage = "Offline"; + this.AddNetcomEvents(); + this.AddClientEvents(); + this.InitializeAgentUpdateTimer(); + } + + private void AddClientEvents() + { + this.client.Objects.AvatarUpdate += new EventHandler(Objects_AvatarUpdate); + } + + void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + if (e.Avatar != null && this.following) + { + Avatar avatar; + this.client.Network.CurrentSim.ObjectsAvatars.TryGetValue(e.Avatar.LocalID, out avatar); + if ((avatar != null) && (avatar.Name == this.followName)) + { + Vector3 position; + if (client.Self.SittingOn == 0) + { + position = avatar.Position; + } + else + { + Primitive primitive; + this.client.Network.CurrentSim.ObjectsPrimitives.TryGetValue(client.Self.SittingOn, out primitive); + if (primitive == null) + { + position = this.client.Self.SimPosition; + } + else + { + position = primitive.Position + avatar.Position; + } + } + if (Vector3.Distance(position, this.client.Self.SimPosition) > this.followDistance) + { + int num = (int)(e.Simulator.Handle >> 0x20); + int num2 = (int)(e.Simulator.Handle & 0xffffffffL); + ulong globalX = (ulong)(position.X + num); + ulong globalY = (ulong)(position.Y + num2); + this.client.Self.AutoPilotCancel(); + this.client.Self.AutoPilot(globalX, globalY, position.Z); + } + } + } + } + + private void AddNetcomEvents() + { + this.netcom.ClientLoginStatus += new EventHandler(this.netcom_ClientLoginStatus); + this.netcom.ClientLoggedOut += new EventHandler(this.netcom_ClientLoggedOut); + } + + private void agentUpdateTicker_Elapsed(object sender, ElapsedEventArgs e) + { + this.UpdateStatus(); + } + + public void Follow(string name) + { + this.followName = name; + this.following = !string.IsNullOrEmpty(this.followName); + } + + private void InitializeAgentUpdateTimer() + { + this.agentUpdateTicker = new Timer(500.0); + this.agentUpdateTicker.Elapsed += new ElapsedEventHandler(this.agentUpdateTicker_Elapsed); + } + + private void netcom_ClientLoggedOut(object sender, EventArgs e) + { + this.agentUpdateTicker.Enabled = false; + this.typing = this.away = this.busy = false; + } + + private void netcom_ClientLoginStatus(object sender, ClientLoginEventArgs e) + { + if (e.Status == LoginStatus.Success) + { + this.agentUpdateTicker.Enabled = true; + } + } + + public void SetAlwaysRun(bool alwaysrun) + { + this.client.Self.Movement.AlwaysRun = alwaysrun; + this.alwaysrun = alwaysrun; + } + + public void SetAway(bool away) + { + Dictionary animations = new Dictionary(); + animations.Add(this.awayAnimationID, away); + this.client.Self.Animate(animations, false); + this.away = away; + } + + public void SetBusy(bool busy) + { + Dictionary animations = new Dictionary(); + animations.Add(this.busyAnimationID, busy); + this.client.Self.Animate(animations, false); + this.busy = busy; + } + + public void SetFlying(bool flying) + { + this.flying = flying; + } + + public void SetPointing(bool pointing, UUID target) + { + this.pointing = pointing; + if (pointing) + { + this.pointID = UUID.Random(); + this.beamID = UUID.Random(); + this.client.Self.PointAtEffect(this.client.Self.AgentID, target, Vector3d.Zero, PointAtType.Select, this.pointID); + this.client.Self.BeamEffect(this.client.Self.AgentID, target, Vector3d.Zero, new Color4(0xff, 0xff, 0xff, 0), 60f, this.beamID); + } + else if ((!this.pointID.Equals(0)) && (!this.beamID.Equals(0))) + { + this.client.Self.PointAtEffect(UUID.Zero, UUID.Zero, Vector3d.Zero, PointAtType.Select, this.pointID); + this.client.Self.BeamEffect(UUID.Zero, UUID.Zero, Vector3d.Zero, new Color4(0xff, 0xff, 0xff, 0), 0f, this.beamID); + this.pointID = UUID.Zero; + this.beamID = UUID.Zero; + } + } + + public void SetSitting(bool sitting, UUID target) + { + this.sitting = sitting; + if (sitting) + { + this.client.Self.RequestSit(target, Vector3.Zero); + this.client.Self.Sit(); + } + else + { + this.client.Self.Stand(); + } + } + + public void SetTyping(bool typing) + { + Dictionary animations = new Dictionary(); + animations.Add(this.typingAnimationID, typing); + this.client.Self.Animate(animations, false); + if (typing) + { + this.client.Self.Chat(string.Empty, 0, ChatType.StartTyping); + } + else + { + this.client.Self.Chat(string.Empty, 0, ChatType.StopTyping); + } + this.typing = typing; + } + + private void UpdateStatus() + { + // DISLIKE HARDCODED VALUES -.-'' by Claunia + //this.client.Self.Movement.Camera.Far = 128f; + this.client.Self.Movement.Fly = this.flying; + this.client.Self.Movement.Away = this.away; + } + + public UUID AwayAnimationID + { + get + { + return this.awayAnimationID; + } + set + { + this.awayAnimationID = value; + } + } + + public UUID BusyAnimationID + { + get + { + return this.busyAnimationID; + } + set + { + this.busyAnimationID = value; + } + } + + public float FollowDistance + { + get + { + return this.followDistance; + } + set + { + this.followDistance = value; + } + } + + public string FollowName + { + get + { + return this.followName; + } + set + { + this.followName = value; + } + } + + public bool IsAway + { + get + { + return this.away; + } + } + + public bool IsBusy + { + get + { + return this.busy; + } + } + + public bool IsFlying + { + get + { + return this.flying; + } + } + + public bool IsFollowing + { + get + { + return this.following; + } + } + + public bool IsPointing + { + get + { + return this.pointing; + } + } + + public bool IsSitting + { + get + { + return this.sitting; + } + } + + public bool IsTyping + { + get + { + return this.typing; + } + } + + public string StatusMessage + { + get + { + return this.statusMessage; + } + set + { + if (this.OnStatusMessageChanged != null) + { + this.OnStatusMessageChanged(); + } + this.statusMessage = value; + } + } + + public UUID TypingAnimationID + { + get + { + return this.typingAnimationID; + } + set + { + this.typingAnimationID = value; + } + } + + public delegate void StatusMessageChangedCallback(); + } +} + diff --git a/SLBot/bot/license/Version.cs b/SLBot/bot/license/Version.cs new file mode 100644 index 0000000..1102b0f --- /dev/null +++ b/SLBot/bot/license/Version.cs @@ -0,0 +1,367 @@ +/*************************************************************************** +The Disc Image Chef +---------------------------------------------------------------------------- + +Filename : Version.cs +Version : 1.0.326 +Author(s) : Natalia Portillo + +Component : NatiBot + +Revision : r326 +Last change by : Natalia Portillo +Date : 2010/01/01 + +--[ License ] -------------------------------------------------------------- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +---------------------------------------------------------------------------- +Copyright (C) 2008-2014 Claunia.com +****************************************************************************/ +/* + * Changelog: + * + * Rev 1: + * Added the export button to the contextual menu on the objects form, for easily exporting. + * Added the export_all button to the objects form. Still buggy! + * Added "animate" command. + * Added "sendtp" command. + * Added "version" command. + * Added OpenLife login URI. + * Partially translated to Spanish! + * Modified "objectinventory" so it shown UUID of items + * Rev 2: + * Modified "friends" so it shows UUID of friends + * Rev 3: + * Corrected a bug in "import" that did not set permissions on objects with only one prim. + * Rev 4: + * Added "attachmentsuuid" that list attachments of an avatar by UUID. + * Rev 5: + * Modified "attachments" so it shows information in IM and console, not in log. + * Upped to 0.5.5 + * Rev 6: + * Added "dumpattachments", to export all attachments. Export is in CopyXML under a folder with the user UUID and date of exporting start. + * Rev 7: + * Added "dumpattachment", to export ONLY one attachment. + * Upped to 0.6 + * Rev 8: + * Corrected a bug in folder dating system in dumpattachment and dumpattachments. + * Added list of possible attachment places when dumpattachment is sent with incorrect arguments. + * Detect that requested attachment is a valid one. + * Rev 9: + * Modified the way "dumpattachments" work. Still fails, but at least let you know what copied when this happens. + * Rev 10: + * Modified "exportparticles" so it dumps to a .lsl file all particle systems on the requested object. + * Rev 11: + * Heavily modified to work with libSL trunk revision 2218 + * This means, some commands stopped to work, others works different, new commands available, lot of changes, lots of hours and headaches!!! + * In exporting the angel sculture, 101 textures exported? Something is not working in export + * It is exporting now to bot's folder, not CopyXML or textures. + * Importing also takes default in bot's root folder. + * Command "objectinventory" always timeout :(. + * Command "exportparticles" stopped working on objects with multiple particle systems. + * Command "backuptext" still not working. + * Command "mapfriend" requires more testing, seems to not work. + * Command "appearence" does ever worked? + * Command "gridmap" does something? + * Command "wear" does ever worked? + * Command "attachmentsuuid" counts attachs, but does not list them! + * It seems LOT SLOWER!!! + * Now it is able to download a request animation, just by UUID. (No need to be playing nearby) + * Most commands lost translation :( + * Version dumped to 0.6.9 Rev 54. 0.7.0 will come when above bugs are corrected again! + * Rev 12: + * Corrected "export" command, now works as before! + * Rev 13: + * Corrected "import" command. + * Changed "CopyXML" folder to more appropiate "objects" folder. + * Rev 14: + * Command "objectinventory" never stopped working, was only lag! + * Command "exportparticles" was storing all particle systems in the same lsl file. Corrected. + * Rev 15: + * Commands "attachments" and "attachmentsuuid" now list on IM console. + * Rev 17: + * Added "avatarinfo" command that shows information about a nearby avatar. + * Rev 18: + * Added "ls" command to list contents of current inventory directory. + * Rev 19: + * Added "cd" command to change current inventory directory. + * Modified "ls" command so with '-l' option it says creation date/time and asset type of contents, and works with subfolders (previously it did not without first using "i" command to populate). + * Rev 20: + * Added "createnotecard" command to create a Notecard from a local text file. + * Rev 21: + * Added "give" command to give inventory items to an avatar. + * Rev 22: + * Now the "avatarinfo" command shows not only textures but profile text and images. Interests, groups, and statistics, are on the way. + * Rev 23: + * Now the "avatarinfo" command gets also interests and groups. Statistics are disabled by Linden Lab because they are deprecated so apparently no way to get them. + * Rev 25: + * Modified "dumpoutfit" command to work with libOMV API (RequestImage()) changes in SVN r2227. + * Rev 26: + * Added "rmdir" command to move a folder from the inventory to the trash. + * Rev 27: + * Added "viewnote" command to dump contents of an inventory's notecard to the console/IM. + * Rev 28: + * Modified "createnotecard" command to send the Notecard to the master. + * Added "uploadimage" command to upload an image/texture and send it to the master. + * Rev 29: + * Modified "createnotecard" and "uploadimage" commands as accent in "día" is not correctly handled by asset server in description of uploaded item. + * Added "upload" command to upload anything that is supported for the asset server, detecting the correct type by extension, as following: + * .animatn for Animation. (Costs 10L on AGNI) + * .bodypart for Shape, Skin, Eyes and Hair. + * .gesture for Gesture. + * .clothing for Shirt, Pants, Shoes, Socks, Jacket, Skirt, Gloves, Undershirt and Underpants. + * .jpg, .tga, .jp2 and .j2c for Textures. (Costs 10L on AGNI) + * .notecard for Notecard. + * .landmark for LandMark. + * .ogg for Sound (Vorbis). (Costs 10L on AGNI) + * .lsl for LSL2 Script (as text). + * .lso for LSL2 Script (as bytecode). + * Old versions of the items, or, some of them, will fail without solution. + * Rev 30: + * Corrected a NullException in "parcelinfo" command. + * Modified "parcelinfo" timeout from 30sec. to 60sec. + * Added "parceldetails" command, that with a given parcel ID, shows ALL information about that parcel. + * Rev 31: + * Added "primowners" command, to show prims count and their owners in a parcel. It needs permissions. + * Rev 32: + * Added "selectobjects" command, to show detailed information about the prims owned by a determined avatar, in the specified parcel. + * Rev 33: + * Added "forward", "back", "left" and "right" commands to move the bot. + * Rev 34: + * Added "downloadtexture" command to download a texture from the asset server given the UUID. Still does not convert to Targa format. + * Rev 35: + * Added "script" command to take a list of commands to execute from a given text file. + * Rev 36: + * Modified "upload" command to catch exceptions when loading the file. + * Corrected animation extension on auto-download-from-asset event from .animtn to .animatn. + * Removed "test" command, as it was, just a test. + * Added "downloadanimation" to download an animation from the asset server given its UUID. (The one that appears with Animation Info enabled on the official client) + * Version bumped to 0.7 (20 new commands). YUPIIIIIIIIIII!!!!!!!! + * Rev 40: + * Added authorization checkout before loading the bot. + * Removed the fucking "Running webserver" message! + * Updated to libomv r2382 + * Rev 42: + * Updated to libomv r2818 + * As part of this update the texture downloading system has been reworked. + * Advantages, supposedly, speed and less failures. + * Disadvantages, no progress indicator on bot console. + * Textures are downloaded to the textures folder, when using export or downloadtexture commands. + * Textures of outfits are downloaded to a outfits folder, in a subfolder containing the avatar's name. + * Textures of attachments are downloaded to a textures subfolder inside the UUID's folder where attachments were always stored. + * This should stop confusion with downloaded textures. + * This is a minor revision, major changes awaiting for NatiBot 0.8.0 rev 80. + * Rev 43: + * Corrected dumpattachment, dumpattachments, export commands, and the GUI button objects. + * The GUI button now works, but is, unreliable like always. + * Rev 50: + * Version bumped to 0.8 + * Updated to libomv r2977 + * Corrected exporting objects WITHOUT texture (yeah, I've found ONE) + * Created a new objects window from scratch with the following features: + * - List of UUID, location and name, sortable at user's wishes. + * - Automatic autoupdate for taking names and new objects every 10 seconds. + * - That option can be disabled. + * - Export button is able to export ANY object no matter what name it has (even if it is unknown). + * - You can choose what to copy, the UUID, location, or name, to the clipboard, using right click or CTRL+C. + * - You can export more than one selected object at a time. + * - You can export ALL THE OBJECTS that the bot sees in one click. + * - Indicates distance of view, and allows us to change it. + * Import command takes the object from world to inventory when it finishes. + * Import button able to import more than one item at a time. + * Added the backup command, able to backup EVERYTHING from the inventory with the following caveats:\ + * - You first must have looked up for the contents of the folder where the item you want to backup is in. + * - Objects must be rezzed to be backed up, so for now backup command ignores them. + * - Calling cards will never be backed up as they really do not exist. Backup command will ignore them. + * - Nocopy scripts and notecards cannot be read. It's a SecondLife bug, JIRA VWR-5238. Backup command will ignore them. + * - Nomod scripts are not readable at all, forget about them. Backup command will ignore them. + * - All textures, gestures, sounds, clothing and body parts, will, however, be downloaded. + * Corrected a lack of lock in backuptext command that can give us a runtime exception. + * Backup command now uses different methods for textures, notecards, scripts and the rest. + * Modified the import button so it can also upload assets (for example the ones downloaded by the backup command). + * Added a progress bar and text to the main window indicating us how the import is going out. + * Added downloadterrain command that downloads the RAW sim terrain. + * Added uploadrawterrain command. + * Changed way of how upload command does upload scripts. This removes the HTTP 500 error on script uploading. + * Heavily modified createnotecard command. + * Added emptylostandfound and emptytrash commands. + * Added taskrunning command. + * Added wind command. + * Added flyto command. + * Added textures command. + * Added camerafar command. for the same purpose. + * Added voiceaccount command. + * Added voiceparcel command. + * Now every message sent to the bot by a non-master (parcel, estate, object, group im, conference, im, so on) will be sent to the master as an IM. + * Changed how the upload command uploads notecards. Now it do uploads every notecard except ones with attachments. Surely is a question of permissions on them. + * Rev 51: + * Corrected a bug that prevented dumpoutfit command to create folders as it was supposed to do. + * Rev 54: + * Updated to libomv r3003 + * Created a thread for export all button on objects form so it does not stuck the GUI. + * Did the same on the appearance command. + * Rev 55: + * Added multilanguage support. + * As a side-feature some commands now show more information in the console. + * Rev 65: + * Removed unused and nonfunctional teleport and map tabs. + * Removed nonfunctional importoutfit command. + * Rev 82: + * Changed all windows to the new interface. Console is now a miniature until it became moved to a separate window in next revision. + * Rev 84: + * Moved the console to a new form. + * Rev 91: + * Moved all buttons to a new one with a new visual style. + * Rev 99: + * Objects form now allows to search for an object's name. + * Default folder for creating all NatiBot's folders is now the user's Documents folder. + * Now the dumpattachment command exports correctly the names. + * Did the same change on the export command. + * Updated downloadtexture command so it now decodes the texture to TGA also. + * Command avatarinfo now does not show other's information when used more than one time. + * Rev 100: + * Now you can change the language. The setting will be stored and applied on restart. + * Now the bot does offer the option to save all the console to a text file. Enabled by default. + * On some cases errors where showing message boxes, now all errors will show up in the console. + * Closing NatiBot now disconnects all bots. + * Rev 115: + * Version bumped to NatiBot 0.9.0 Rev 90. + * Bot now stablishes it's appearance continuosly + * Signed with verification key. + * Published on http://www.natibot.com/ + * Rev 169: + * Command downloadtexture now creates the textures folder if it does not exist. + * Command jump now also stops jumping. + * Added key2name command. + * Added buy command. + * Added takeitem command. + * Added translate command. + * Added contextual menu to objects window. + * Added chat window. + * Version bumped to NatiBot 0.9.1 Rev 91. + * Rev 176: + * Corrected behaviour of date/time in chat window. + * Added preliminary support for auto-sit on lucky chairs. + * Added permissions check for export commands. + * Version bumped to NatiBot 0.9.2 Rev 92. + * Rev 180: + * Removed chat and console buffers and put them async. Now the buffer cannot full out crashing the bot and the chat isn't de-synched. + * Added automatic update system. + * Improved importing speed. + * Improved chat system so it does not hang out the bot when chat or IM are received. + * Added a dependency for converting JPEG2000 to Targa on 64-bit systems. + * Version bumped to NatiBot 0.9.3 Rev 93. + * Rev 183: + * Updated to libomv r3231 + * Rev 325: + * NatiBot 1.0.0.325. + * Fully support of Mac OS X (PowerPC and Intel) and Linux (x86 and x86-64). + * Heavily optimized to use multicore or multiprocessor systems and take less memory. + * Added about, activaterole, addtorole, allowedlist, animations, attach, away, banlist, banuser, beam, busy, changelog, + * clienttags, clock, createclothing, createeyes, createlm, createskin, detectbots, downloadsound, ejectuser, endfriendship, + * gc, gesture, groupeject, groupmembers, grouproles, gsit, health, help2nc, informfriend, invitegroup, logout, lookat, + * memfree, nadu, netstats, offerfriendship, pick, playsound, quit, rezitem, searchclassifieds, searchgroups, searchland, + * searchpeople, searchplaces and sounds commands. + * Added avatars window. It works as a radar showing the avatar, genre, viewer, location and distance, along with most + * avatar-based commands. + * Added friends window. Allows to IM, remove, teleport or view profiles. + * Added groups window. Allows to chat, activate or leave. + * Added inventory window. Allows to wear, detach, copy id, delete, empty trash and lost & found. + * Added map window. Shows the map with all the avatars and allow TP to coordinates. + * All attach based commands now support unofficial attach places introduced by Emerald Viewer. + * animate command now can stop animations, show currently running ones, or list the system animations. + * avatarinfo now works with any avatar, be it in the sim or not. + * Chat window now can automatic translate incoming and outgoing chat and IMs. + * Chat window now recognizes teleports, inventory offers from objects, notices from groups, friendship and inventory. + * Chat window now supports using another channel (/ message). + * Corrected fails of license check on timezones different than Europe/Madrid. Now works globally. + * dumpattachment command now uses avatar name as output folder. + * findobjects, showeventdetails and searchevents commands now returns output to instant message. + * import command now takes lot less time to work, and imports sculpts with mirror or inside-out properties correctly. + * joingroup and key2name commands now also work with group IDs. + * moveto and turnto commands now can also work using an avatar or object instead of just coordinates. + * priminfo command is enhanced to show a lot more of information. + * Renamed giveall command to pay. + * Renamed goto_landmark command to gotolm. + * Revisions are now shown as internal development ones to give a better knowledge of how much work has been employed. + * Rewrote objects window. It can take a lot longer to first appear, but refreshes almost instantly, sees new object instantly, + * is multithreaded, changes on tp and see more objects and names. + * sendtp command now also allows sending TP to other people. + * Support for 35 new GRIDs. + * Support for Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania and Prize Pyramid. + * version command now shows also simulator server version. + * who command now shows the viewer the avatar is using and the correct location when it is sit. + * You can now answer to script dialog boxes (the blue ones). A new window will be opened when an object sends one to the avatar. + */ + +namespace bot.license +{ + using System; + using System.IO; + using System.Reflection; + + public class Version + { + // Nati Bot 0.0 started with SL-Bot 2.2.3.1 rev 36 + private static int v_major = 1; + private static int v_minor = 0; + private static int v_patch = 0; + //private static int v_build = 1; + public string v_rev = "$" + bot.Localization.clResourceManager.getText("Revision") + " 325$"; + #if DEBUG + public static Guid AppUUID = new Guid("B9692C48-6ACD-4EBC-BA06-17874B3B67B4"); + #else + public static Guid AppUUID = new Guid("B9692C48-6ACD-4EBC-BA06-17874B3B67B3"); +#endif + public static string AppVersion = string.Format("{0}.{1}.{2}", v_major, v_minor, v_patch/*, v_build*/); + + public override string ToString() + { + return string.Format("{0}.{1}.{2}", v_major, v_minor, v_patch/*, v_build*/); + } + + public string Changelog + { + get + { + string ChangeLog; + + String locale = bot.Localization.clResourceManager.getLanguageCode(); + + String pathToChangeLogFile = "OpenMetaverse.bot.license." + "changelog_" + locale + ".txt"; + Stream ChangeLogStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToChangeLogFile); + + if (ChangeLogStream == null) + { + pathToChangeLogFile = "OpenMetaverse.bot.license." + "changelog_" + "en" + ".txt"; + ChangeLogStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(pathToChangeLogFile); + } + + using (StreamReader reader = new StreamReader(ChangeLogStream)) + { + ChangeLog = reader.ReadToEnd(); + } + + return ChangeLog; + } + set + { + // + } + } + } +} + diff --git a/SLBot/bot/license/changelog_ca.txt b/SLBot/bot/license/changelog_ca.txt new file mode 100644 index 0000000..1a19ed4 --- /dev/null +++ b/SLBot/bot/license/changelog_ca.txt @@ -0,0 +1,275 @@ +/* + * Llistat de revisions: + * + * Rev 1: + * Afegit el botó exportar al menú contextual de la llista d'objectes, per a major facilitat. + * Afegit el botó "exportar tot" a la llista d'objectes. ENCARA TÉ ERRORS!!! + * Afegit el comando "animate". + * Afegit el comando "sendtp". + * Afegit el comando "version". + * Afegit OpenLife a la llista de Grids. + * ¡Parcialment traduït al castellà! + * Modificat el comando "objectinventory" perquè mostri el UUID dels ítems continguts en l'objecte. + * Rev 2: + * Modificat el comando "friends" perquè mostri el UUID dels amics. + * Rev 3: + * Corregit un error en "import" pel qual no s'estableixen permisos en objectes d'un unic prim. + * Rev 4: + * Afegit "attachmentsuuid" per a mostrar els objectes annexats a un avatar fent servir el seu UUID. + * Rev 5: + * Modificat "attachments" perquè mostri la informació al IM i la consola, no al log. + * Nova versió 0.5.5. + * Rev 6: + * Afegit "dumpattachments", per a exportar tots els attachments. Exporta a CopyXML dintre d'una carpeta amb el UUID de l'avatar i la data de començament de l'exportació. + * Rev 7: + * Afegit "dumpattachment", per a exportar SOLAMENT un attachment + * Nova versió 0.6 + * Rev 8: + * Corregit un error al posar la data a la carpeta amb els comandos dumpattachment i dumpattachments. + * Afegida una llista de punts d'annexió valguts quan dumpattachment es diu amb un nombre d'arguments invàlids. + * Detectar que el punt d'annexió sol·licitat és vàlid. + * Rev 9: + * Modificada la forma de la qual funciona "dumpattachments". Encara té errors però almenys et deixa saber que ha arribat a copiar quan falla. + * Rev 10: + * Modificat "exportparticles" per a guardar un arxiu .lsl al disc dur per cadascun de tots els sistemes de particulas d'un objecte. + * Rev 11: + * Altament modificat per a funcionar amb la revisió de capçalera 2218 de libSL + * Això significa, que algun comandos han deixat de funcionar, uns altres funcionen diferent, hi ha nous comandos disponibles, molts canvis, gran quantitat d'hores i mals de cap!!! + * A l'exportar l'escultura del angel, exporta 101 teixidures? Alguna cosa no funciona en "export" + * Actualment exporta a la carpeta del bot, no a CopyXML o textures. + * Importar també pren per defecte la carpeta del bot. + * El command "objectinventory" sempre expira :(. + * El command "exportparticles" ha deixat de funcionar en objectes amb múltiples sistemes de partícules. + * El command "backuptext" encara no funciona. + * El command "mapfriend" requereix més proves, sembla que no funciona. + * El command "appearence" va funcionar alguna vegada? + * El command "gridmap" fa alguna cosa? + * El command "wear" va funcionar alguna vegada? + * El command "attachmentsuuid" conta els annexos, però no els mostra!!! + * Sembla MOLT MÉS LENT!!! + * És capaç de descarregar l'animació que li demanis, només amb la seva UUID (No és necessari que s'estigui reproduint a prop) + * La majoria dels comandos va perdre la traducció :( + * Nova versió 0.6.9 Rev 54. 0.7.0 arribarà quan els errors de dalt siguin corregits de nou! + * Rev 12: + * Corregit el comando "export", que ara funciona com abans. + * Rev 13: + * Corregit el comando "import". + * Canviada la carpeta "CopyXML" a una altra mes apropiada: "objects". + * Rev 14: + * El comando "objectinventory" mai va deixar de funcionar, només era lag + * El comando "exportparticles" guardava totes les partícules en el mateix arxiu lsl. Corregit. + * Rev 15: + * Els comandos "attachments" i "attachmentsuuid" ara llisten en la consola de IM. + * Rev 17: + * Afegit el comando "avatarinfo" que mostra informació sobre un avatar proper. + * Rev 18: + * Afegit el comando "ls" per a mostrar el contingut de la carpeta actual de l'inventari. + * Rev 19: + * Afegit el comando "cd" per a canviar la carpeta actual de l'inventari. + * Modificat el comando "ls" perquè amb l'opció '-l' digui la data de creació i el tipus dels continguts, i funcioni amb subcarpetas (abans no ho feia si executar prèviament el comando "i" per a emplenar l'inventari). + * Rev 20: + * Afegit el comando "createnotecard" per a crear una Notecard des d'un arxiu de text local. + * Rev 21: + * Afegit el comando "give" per a donar objectes del inventari a un avatar. + * Rev 22: + * Ara el comando "avatarinfo" no només mostra les teixidures sinó també el text i imatges del perfil. Els interessos, grups i estadístiques estan en camí. + * Rev 23: + * Ara el comando "avatarinfo" obté també els interessos i grups. Les estadístiques estan desactivades per Linden Lab perquè han estat abandonades i aparentment no hi ha forma d'obtenir-les. + * Rev 25: + * Modificat el comando "dumpoutfit" per a treballar amb els canvis de API (RequestImage()) de libOMV en SVN r2227. + * Rev 26: + * Afegit el comando "rmdir" per a moure una carpeta de l'inventari a la paperera. + * Rev 27: + * Afegit el comando "viewnote" per a treure el contingut d'una NoteCard de l'inventari a la consola/IM. + * Rev 28: + * Modificat el comando "createnotecard" perquè enviï la notecard al mestre. + * Afegit el comando "uploadimage" per a carregar una imatge/teixidura i manar-se-la al mestre. + * Rev 29: + * Modificats els comandos "createnotecard" i "uploadimage" perquè l'accent en "dia" no està correctament contemplat pel servidor de Asset en la descripció de l'ítem pujat. + * Afegit el comando "upload" per a pujar qualsevol cosa que sigui suportada pel servidor de Asset, detectant el tipus correct per l'extensió, tal com segueix: + * .animatn per a una Animació. (Per 10L en AGNI) + * .bodypart per a una Forma, Pell, Ulls o Cabell. + * .gesture per a una Gesture. + * .clothing per a una Camisa, Pantalons, Sabates, Mitjons, Abric, Faldilla, Guants, Camisa i Roba Interior. + * .jpg, .tga, .jp2 and .j2c per a Teixidures. (Per 10L en AGNI) + * .notecard per a Notecard. + * .landmark per a LandMark. + * .ogg per a un So (Vorbis). (Per 10L en AGNI) + * .lsl per a un Script LSL2 (com text). + * .lso per a un Script LSL2 (compilat). + * Les versions velles dels ítems, o, alguns d'aquests, fallaran al pujar-los, sense solució. + * Rev 30: + * Corregida una NullException al comando "parcelinfo". + * Modificat el temps d'espera màxim de "parcelinfo" de 30seg. a 60seg. + * Afegit el comando "parceldetails", que donat un ID de parcel·la, mostra TOTS els detalls sobre aquesta parcel·la. + * Rev 31: + * Afegit el comando "primowners", per a mostrar els prims que hi ha en una parcel·la, i els seus amos. Necessita permisos. + * Rev 32: + * Afegit el comando "selectobjects", per a mostrar informació detallada sobre els prims de determinat avatar, en la parcel·la especificada. + * Rev 33: + * Afegits els comandos "forward", "back", "left" i "right" per a moure el bot. + * Rev 34: + * Afegit el comando "downloadtexture" per a descarregar una teixidura del servidor Asset donada el seu UUID. Encara no la converteix a format Targa. + * Rev 35: + * Afegit el comando "script" per a executar una sèrie de comandos donats en un arxiu de text. + * Rev 36: + * Modificat el comando "upload" per a captar les excepcions al carregar l'arxiu. + * Corregida l'extensió de l'animació descarregada en l'esdeveniment automàtic de descàrrega del servidor Asset, de .animtn a .animatn. + * Eliminat el comando "test", ja que era, això, una prova. + * Afegit el comando "downloadanimation" per a descarregar una animació del servidor Asset donat el seu UUID. (El qual surt amb Animation Info activat al client oficial) + * Nova versió 0.7 (20 nous comandos). YUPIIIIIIIIIII!!!!!!!! + * Rev 40: + * Afegida comprovació d'autorització abans de carregar el bot. + * Eliminat el fotut missatge "Running webserver"! + * Actualitzat a libomv r2382 . + * Rev 42: + * Actualitzat a libomv r2947. + * Com a part d'aquesta actualització s'ha reescrito el sistema de descàrrega de teixidures. + * Avantatges, suposadament, velocitat i menys errors. + * Desavantatges, no hi ha indicador de progrés de la descàrrega a la consola del bot. + * Les teixidures es guarden a la carpeta textures, quan s'usin els comandos export o downloadtexture. + * Les teixidures dels outfit es guarden en una carpeta outfits, a una subcarpeta amb el nom de l'avatar. + * Les teixidures dels attachments es descarreguen en una subcarpeta textures dintre de la carpeta amb el UUID en la qual sempre s'han guardat els attachments. + * Això hauria d'acabar amb la confusió referent a les teixidures descarregades. + * Aquesta és una revisió menor, amb grans canvis esperats per a NatiBot 0.8.0 rev 80 + * Rev 43: + * Corregits els comandos dumpattachment, dumpattachments i export , i la finestra d'objectes de la GUI. + * La finestra d'objectes ara funciona tan poc fiablement com abans. + * Rev 50: + * Nova versió 0.8 + * Actualitzat a libomv r2977 + * Corregida l'exportació d'objectes SENSE teixidura (doncs, sí, he trobat UN) + * Creada nova finestra d'objectes des de zero amb les següents característiques: + * - Llistat de UUID, posició i nom, ordenades alfabèticament al gust de l'usuari. + * - Autoactualizació automàtica per a obtenir els noms i nous objectes cada 10 segons. + * - Aquesta opció, és desactivable. + * - El botó exportar és capaç d'exportar qualsevol objecte sigui el que sigui el seu nom (fins i tot si encara no ho coneix). + * - Es pot triar que volem copiar, la UUID, localització, o nom, al portapapers, amb botó dret o CTRL+C. + * - Es poden exportar diversos elements seleccionats alhora. + * - Es poden exportar TOTS ELS OBJECTES que el bot vegi alhora. + * - Mostra la distància de la vista, i ens permet canviar-la. + * El comando import recull l'objecte del món i ho passa a l'inventari a l'acabar. + * Després ho envia al mestre (encara no provat) + * Botó importar capaç d'importar més d'un objecte alhora. + * Afegit el comando backup, capaç de copiar al disc dur TOT el contingut de l'inventari, amb els següents defectes: + * - Primer has d'haver mirat el contingut de la carpeta on estigui l'objecte de l'inventari que vulguis copiar. + * - Els objectes han de ser trets al món per a ser copiats a disc, així que ara com ara el comando backup els ignora. + * - Les calling cards mai es podran copiar perquè realment no existeixen. El comando backup les ignorarà. + * - Les notecards i els scripts nocopy no poden ser llegits. És una fallada de SecondLife bug, JIRA VWR-5238. El comando backup els ignorarà. + * - Els scripts nomod no són llegibles de cap manera, oblida't d'ells. El comando backup els ignorarà. + * - Totes les teixidures, gesturas, sons, roba i parts del cos, no obstant això, es descarregaran. + * Corregida la falta d'un bloqueig en el comando backuptext que podia dur-nos a una excepció en temps d'execució. + * Corregit el mateix en el comando backup. + * El comando backup ara fa servir diferents mètodes per a les teixidures, notecards, scripts i tot la resta. + * Modificat el botó importar de manera que també importa assets (per exemple els descarregats amb el comando backup). + * Afegida una barra de progrés i text a la finestra principal indicant com va la importació múltiple. + * Afegit el comando downloadterrain. + * Afegit el comando uploadrawterrain. + * Modificada la forma per la qual el comando upload puja els scripts. Això elimina l'error HTTP 500 que venien donant fins a ara. + * Modificat altament el comando createnotecard. + * Afegits els comandos emptylostandfound i emptytrash. + * Afegit el comando taskrunning. + * Afegit el comando wind. + * Afegit el comando flyto. + * Afegit el comando textures. + * Afegit el comando camerafar. + * Afegit el comando voiceaccount. + * Afegit el comando voiceparcel. + * Ara cada missatge enviat al bot per algú que no sigui el mestre (parcel·la, sim, objecte, grup, conferència, im, etc) serà reexpedit com un IM al mestre. + * Canviada la forma de la qual el comando upload puja les notecards. Ara hauria de pujar qualsevol notecard sense adjunts, per una qüestió de permisos segurament. + * Rev 51: + * Corregit un error que no deixava al comando dumpoutfit crear carpetes com hauria de ser. + * Rev 54: + * Actualitzat a libomv r3003 + * Creat un fil per al botó exportar tot en el formulari d'objectes de tal manera que no paralitzi la interfície. + * Fet el mateix al comando appearance. + * Rev 55: + * Afegit suport multi-idioma. + * Rev 65: + * Eliminades les pestanyes no usades i no funcionals de teletransporte i mapa. + * Eliminat el comando no funcional importoutfit. + * Rev 82: + * Canviades totes les finestres a la nova interfície. La consola és una miniatura fins que tingui la seva pròpia finestra en la següent revisió. + * Rev 84: + * Moguda la consola a la seva pròpia finestra. + * Rev 91: + * Canviats tots els botons al nou disseny. + * Rev 99: + * La finestra d'objectes ara permet buscar un objecte pel seu nom. + * La carpeta per defecte per a crear totes les carpetes del NatiBot és ara la carpeta Els meus Documents de l'usuari. + * El comando dumpattachment ara exporta correctament els noms. + * Fet el mateix canvi en el comando export. + * El comando downloadtexture ara guarda també les teixidures com TGA. + * El comando avatarinfo no mostra la informació d'un altre quan s'usa més d'una vegada. + * Rev 100: + * Ara es pot triar l'idioma. Aquesta elecció es guardarà i aplicarà al reinici. + * Ara s'oferix l'opció de salvar tota al consola en un arxiu de text. Activada per defecte. + * En alguns casos els errors mostraven finestres d'avís, ara tots els errors van a la consola. + * Tancar el NatiBot ara desconnecta tots els bots. + * Rev 115: + * Nova versió NatiBot 0.9.0 Rev 90. + * El bot establix la seva aparença contínuament. + * Signat amb una clau de verificació. + * Publicat a http://www.natibot.com/ + * Rev 169: + * El comando downloadtexture ara crea la carpeta de teixidures si no existeix. + * El comando jump ara també per a de saltar. + * Afegit el comando key2name. + * Afegit el comando buy. + * Afegit el comando takeitem. + * Afegit el comando translate. + * Afegit un menú contextual a la finestra d'objectes. + * Afegida una nova finestra de xat. + * Nova versió NatiBot 0.9.1 Rev 91. + * Rev 176: + * Corretgit el comportament de la data i l'hora en la finestra del chat. + * Afegit soport preliminar per sentar-se automàticament en les Lucky Chairs. + * Afegit comprovació de permissos per als comandos d'exploració. + * Nova versió NatiBot 0.9.2 Rev 92. + * Rev 180: + * Eliminats els buffers de xat i consola. Ara el buffer no es pot omplir i penjar el bot i el xat apareix correctament. + * Afegit sistema d'actualitzacions automàtiques. + * Millorada la importació. + * Millorat el sistema de xat de manera que no paralitza el bot quan es reben xats o missatges instantanis. + * Afegida dependència per convertir JPEG2000 a Targa en sistemes operatius de 64 bits. + * Nova versió NatiBot 0.9.3 Rev 93. + * Rev 289: + * NatiBot 1.0.0.289. + * Suport complet per a Mac OS X (PowerPC e Intel) i Linux (x86 y x86-64). + * Optimizat per al us de sistemas multiprocessador o multinúcli i consumir menys memoria. + * Afegida la finestra de amics. Permet enviar missatges, teletransport, eliminar-los o veure els seus perfils. + * Afegida la finestra d'avatars. Funciona com un radar mostrant l'avatar, sexe, client, posició i distància, contenint + * la majoria dels comandos orientats a avatars. + * Afegida la finestra de grups. Permet obrir xat, activar-los o abandonar-los. + * Afegida la finestra d'inventari. Permet vestir, desvestir, copiar l'aneu, esborrar, buidar la paperera o la carpeta lost & found. + * Afegida la finestra de mapa. Mostra el mapa amb tots els avatars i permet teletransporte a unes coordenades. + * Afegits els comandos about, activaterole, addtorole, allowedlist, animations, attach, away, banlist, banuser, beam, busy, + * changelog, clienttags, clock, createclothing, createeyes, createlm, createskin, detectbots, downloadsound, ejectuser, + * endfriendship, gc, gesture, groupeject, groupmembers, grouproles, gsit, health, help2nc, informfriend, invitegroup, + * logout, lookat, memfree, nadu, netstats, offerfriendship, pick, playsound, quit, rezitem, searchclassifieds, searchgroups, + * searchland, searchpeople, searchplaces y sounds. + * Ara pot contestar a diàlegs de script (els blaus). S'obrirà una nova finestra quan un objecte enviï un. + * Corregit la fallada en la comprovació de llicència per a usuaris de diferent zona horària a Madrid. Ara funciona globalment. + * El comando animate ara pot parar les animacions, mostrar les quals s'estan reproduint o llistar les animacions del sistema. + * El comando avatarinfo ara funciona encara que l'avatar no estigui en el mateix sim. + * El comando dumpattachment ara usa el nom de l'avatar per a la carpeta. + * El comando giveall ha estat renombrat a pay. + * El comando gotolandmark ha estat renombrat a gotolm. + * El comando import ara funciona molt més ràpid i de manera correcta en Sculpt amb les característiques de mirall o inversió. + * El comando priminfo ha estat millorat per a mostrar molta més informació. + * El comando sendtp ara també permet enviar teletransporte a altra gent. + * El comando version ara també mostra la versió del simulador. + * El comando who ara mostra que client està usant l'avatar i la seva posició és correcta si està assegut. + * La finestra de xat ara pot traduir automàticament els missatges i xats sortints i entrants. + * La finestra de xat ara reconeix teletransportes, ofertes d'inventari d'objectes, avisos de grups, d'amistat i d'inventari. + * La finestra de xat ara suporta usar altre canal (/ missatge). + * La finestra d'objectes ha estat reescrita. Pot prendre molt més a aparèixer per primera vegada, però es refresca gairebé + * instantàniament, veu els objectes nous instantàniament, és multiproceso, canvia al fer TP i veu més objectes i noms. + * Les revisions ara es mostren com les de desenvolupament per a donar un millor coneixement del treball realitzat. + * Els comandos findobjects, showeventdetails i searchevents ara mostren la seva sortida en un missatge. + * Els comandos joingroup i key2name ara també suporten IDs de grups. + * Els comandos moveto i turnto ara també funcionen indicant un avatar o un objecte en comptes de coordenades. + * Suport per a 35 noves GRIDs. + * Suport para Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania i Prize Pyramid. + * Tots els comandos basats en annexos ara suporten els annexos no oficials introduïts pel client Emerald Viewer. + */ \ No newline at end of file diff --git a/SLBot/bot/license/changelog_en.txt b/SLBot/bot/license/changelog_en.txt new file mode 100644 index 0000000..468791c --- /dev/null +++ b/SLBot/bot/license/changelog_en.txt @@ -0,0 +1,274 @@ +/* + * Changelog: + * + * Rev 1: + * Added the export button to the contextual menu on the objects form, for easily exporting. + * Added the export_all button to the objects form. Still buggy! + * Added "animate" command. + * Added "sendtp" command. + * Added "version" command. + * Added OpenLife login URI. + * Partially translated to Spanish! + * Modified "objectinventory" so it shown UUID of items + * Rev 2: + * Modified "friends" so it shows UUID of friends + * Rev 3: + * Corrected a bug in "import" that did not set permissions on objects with only one prim. + * Rev 4: + * Added "attachmentsuuid" that list attachments of an avatar by UUID. + * Rev 5: + * Modified "attachments" so it shows information in IM and console, not in log. + * Upped to 0.5.5 + * Rev 6: + * Added "dumpattachments", to export all attachments. Export is in CopyXML under a folder with the user UUID and date of exporting start. + * Rev 7: + * Added "dumpattachment", to export ONLY one attachment. + * Upped to 0.6 + * Rev 8: + * Corrected a bug in folder dating system in dumpattachment and dumpattachments. + * Added list of possible attachment places when dumpattachment is sent with incorrect arguments. + * Detect that requested attachment is a valid one. + * Rev 9: + * Modified the way "dumpattachments" work. Still fails, but at least let you know what copied when this happens. + * Rev 10: + * Modified "exportparticles" so it dumps to a .lsl file all particle systems on the requested object. + * Rev 11: + * Heavily modified to work with libSL trunk revision 2218 + * This means, some commands stopped to work, others works different, new commands available, lot of changes, lots of hours and headaches!!! + * In exporting the angel sculture, 101 textures exported? Something is not working in export + * It is exporting now to bot's folder, not CopyXML or textures. + * Importing also takes default in bot's root folder. + * Command "objectinventory" always timeout :(. + * Command "exportparticles" stopped working on objects with multiple particle systems. + * Command "backuptext" still not working. + * Command "mapfriend" requires more testing, seems to not work. + * Command "appearence" does ever worked? + * Command "gridmap" does something? + * Command "wear" does ever worked? + * Command "attachmentsuuid" counts attachs, but does not list them! + * It seems LOT SLOWER!!! + * Now it is able to download a request animation, just by UUID. (No need to be playing nearby) + * Most commands lost translation :( + * Version dumped to 0.6.9 Rev 54. 0.7.0 will come when above bugs are corrected again! + * Rev 12: + * Corrected "export" command, now works as before! + * Rev 13: + * Corrected "import" command. + * Changed "CopyXML" folder to more appropiate "objects" folder. + * Rev 14: + * Command "objectinventory" never stopped working, was only lag! + * Command "exportparticles" was storing all particle systems in the same lsl file. Corrected. + * Rev 15: + * Commands "attachments" and "attachmentsuuid" now list on IM console. + * Rev 17: + * Added "avatarinfo" command that shows information about a nearby avatar. + * Rev 18: + * Added "ls" command to list contents of current inventory directory. + * Rev 19: + * Added "cd" command to change current inventory directory. + * Modified "ls" command so with '-l' option it says creation date/time and asset type of contents, and works with subfolders (previously it did not without first using "i" command to populate). + * Rev 20: + * Added "createnotecard" command to create a Notecard from a local text file. + * Rev 21: + * Added "give" command to give inventory items to an avatar. + * Rev 22: + * Now the "avatarinfo" command shows not only textures but profile text and images. Interests, groups, and statistics, are on the way. + * Rev 23: + * Now the "avatarinfo" command gets also interests and groups. Statistics are disabled by Linden Lab because they are deprecated so apparently no way to get them. + * Rev 25: + * Modified "dumpoutfit" command to work with libOMV API (RequestImage()) changes in SVN r2227. + * Rev 26: + * Added "rmdir" command to move a folder from the inventory to the trash. + * Rev 27: + * Added "viewnote" command to dump contents of an inventory's notecard to the console/IM. + * Rev 28: + * Modified "createnotecard" command to send the Notecard to the master. + * Added "uploadimage" command to upload an image/texture and send it to the master. + * Rev 29: + * Modified "createnotecard" and "uploadimage" commands as accent in "da" is not correctly handled by asset server in description of uploaded item. + * Added "upload" command to upload anything that is supported for the asset server, detecting the correct type by extension, as following: + * .animatn for Animation. (Costs 10L on AGNI) + * .bodypart for Shape, Skin, Eyes and Hair. + * .gesture for Gesture. + * .clothing for Shirt, Pants, Shoes, Socks, Jacket, Skirt, Gloves, Undershirt and Underpants. + * .jpg, .tga, .jp2 and .j2c for Textures. (Costs 10L on AGNI) + * .notecard for Notecard. + * .landmark for LandMark. + * .ogg for Sound (Vorbis). (Costs 10L on AGNI) + * .lsl for LSL2 Script (as text). + * .lso for LSL2 Script (as bytecode). + * Old versions of the items, or, some of them, will fail without solution. + * Rev 30: + * Corrected a NullException in "parcelinfo" command. + * Modified "parcelinfo" timeout from 30sec. to 60sec. + * Added "parceldetails" command, that with a given parcel ID, shows ALL information about that parcel. + * Rev 31: + * Added "primowners" command, to show prims count and their owners in a parcel. It needs permissions. + * Rev 32: + * Added "selectobjects" command, to show detailed information about the prims owned by a determined avatar, in the specified parcel. + * Rev 33: + * Added "forward", "back", "left" and "right" commands to move the bot. + * Rev 34: + * Added "downloadtexture" command to download a texture from the asset server given the UUID. Still does not convert to Targa format. + * Rev 35: + * Added "script" command to take a list of commands to execute from a given text file. + * Rev 36: + * Modified "upload" command to catch exceptions when loading the file. + * Corrected animation extension on auto-download-from-asset event from .animtn to .animatn. + * Removed "test" command, as it was, just a test. + * Added "downloadanimation" to download an animation from the asset server given its UUID. (The one that appears with Animation Info enabled on the official client) + * Version bumped to 0.7 (20 new commands). YUPIIIIIIIIIII!!!!!!!! + * Rev 40: + * Added authorization checkout before loading the bot. + * Removed the fucking "Running webserver" message! + * Updated to libomv r2382 + * Rev 42: + * Updated to libomv r2818 + * As part of this update the texture downloading system has been reworked. + * Advantages, supposedly, speed and less failures. + * Disadvantages, no progress indicator on bot console. + * Textures are downloaded to the textures folder, when using export or downloadtexture commands. + * Textures of outfits are downloaded to a outfits folder, in a subfolder containing the avatar's name. + * Textures of attachments are downloaded to a textures subfolder inside the UUID's folder where attachments were always stored. + * This should stop confusion with downloaded textures. + * This is a minor revision, major changes awaiting for NatiBot 0.8.0 rev 80. + * Rev 43: + * Corrected dumpattachment, dumpattachments, export commands, and the GUI button objects. + * The GUI button now works, but is, unreliable like always. + * Rev 50: + * Version bumped to 0.8 + * Updated to libomv r2977 + * Corrected exporting objects WITHOUT texture (yeah, I've found ONE) + * Created a new objects window from scratch with the following features: + * - List of UUID, location and name, sortable at user's wishes. + * - Automatic autoupdate for taking names and new objects every 10 seconds. + * - That option can be disabled. + * - Export button is able to export ANY object no matter what name it has (even if it is unknown). + * - You can choose what to copy, the UUID, location, or name, to the clipboard, using right click or CTRL+C. + * - You can export more than one selected object at a time. + * - You can export ALL THE OBJECTS that the bot sees in one click. + * - Indicates distance of view, and allows us to change it. + * Import command takes the object from world to inventory when it finishes. + * Import button able to import more than one item at a time. + * Added the backup command, able to backup EVERYTHING from the inventory with the following caveats:\ + * - You first must have looked up for the contents of the folder where the item you want to backup is in. + * - Objects must be rezzed to be backed up, so for now backup command ignores them. + * - Calling cards will never be backed up as they really do not exist. Backup command will ignore them. + * - Nocopy scripts and notecards cannot be read. It's a SecondLife bug, JIRA VWR-5238. Backup command will ignore them. + * - Nomod scripts are not readable at all, forget about them. Backup command will ignore them. + * - All textures, gestures, sounds, clothing and body parts, will, however, be downloaded. + * Corrected a lack of lock in backuptext command that can give us a runtime exception. + * Backup command now uses different methods for textures, notecards, scripts and the rest. + * Modified the import button so it can also upload assets (for example the ones downloaded by the backup command). + * Added a progress bar and text to the main window indicating us how the import is going out. + * Added downloadterrain command that downloads the RAW sim terrain. + * Added uploadrawterrain command. + * Changed way of how upload command does upload scripts. This removes the HTTP 500 error on script uploading. + * Heavily modified createnotecard command. + * Added emptylostandfound and emptytrash commands. + * Added taskrunning command. + * Added wind command. + * Added flyto command. + * Added textures command. + * Added camerafar command. for the same purpose. + * Added voiceaccount command. + * Added voiceparcel command. + * Now every message sent to the bot by a non-master (parcel, estate, object, group im, conference, im, so on) will be sent to the master as an IM. + * Changed how the upload command uploads notecards. Now it do uploads every notecard except ones with attachments. Surely is a question of permissions on them. + * Rev 51: + * Corrected a bug that prevented dumpoutfit command to create folders as it was supposed to do. + * Rev 54: + * Updated to libomv r3003 + * Created a thread for export all button on objects form so it does not stuck the GUI. + * Did the same on the appearance command. + * Rev 55: + * Added multilanguage support. + * As a side-feature some commands now show more information in the console. + * Rev 65: + * Removed unused and nonfunctional teleport and map tabs. + * Removed nonfunctional importoutfit command. + * Rev 82: + * Changed all windows to the new interface. Console is now a miniature until it became moved to a separate window in next revision. + * Rev 84: + * Moved the console to a new form. + * Rev 91: + * Moved all buttons to a new one with a new visual style. + * Rev 99: + * Objects form now allows to search for an object's name. + * Default folder for creating all NatiBot's folders is now the user's Documents folder. + * Now the dumpattachment command exports correctly the names. + * Did the same change on the export command. + * Updated downloadtexture command so it now decodes the texture to TGA also. + * Command avatarinfo now does not show other's information when used more than one time. + * Rev 100: + * Now you can change the language. The setting will be stored and applied on restart. + * Now the bot does offer the option to save all the console to a text file. Enabled by default. + * On some cases errors where showing message boxes, now all errors will show up in the console. + * Closing NatiBot now disconnects all bots. + * Rev 115: + * Version bumped to NatiBot 0.9.0 Rev 90. + * Bot now stablishes it's appearance continuosly + * Signed with verification key. + * Published on http://www.natibot.com/ + * Rev 169: + * Command downloadtexture now creates the textures folder if it does not exist. + * Command jump now also stops jumping. + * Added key2name command. + * Added buy command. + * Added takeitem command. + * Added translate command. + * Added contextual menu to objects window. + * Added chat window. + * Version bumped to NatiBot 0.9.1 Rev 91. + * Rev 176: + * Corrected behaviour of date/time in chat window. + * Added preliminary support for auto-sit on lucky chairs. + * Added permissions check for export commands. + * Version bumped to NatiBot 0.9.2 Rev 92. + * Rev 180: + * Removed chat and console buffers and put them async. Now the buffer cannot full out crashing the bot and the chat isn't de-synched. + * Added automatic update system. + * Improved importing speed. + * Improved chat system so it does not hang out the bot when chat or IM are received. + * Added a dependency for converting JPEG2000 to Targa on 64-bit systems. + * Version bumped to NatiBot 0.9.3 Rev 93. + * Rev 325: + * NatiBot 1.0.0.325. + * Fully support of Mac OS X (PowerPC and Intel) and Linux (x86 and x86-64). + * Heavily optimized to use multicore or multiprocessor systems and take less memory. + * Added about, activaterole, addtorole, allowedlist, animations, attach, away, banlist, banuser, beam, busy, changelog, + * clienttags, clock, createclothing, createeyes, createlm, createskin, detectbots, downloadsound, ejectuser, endfriendship, + * gc, gesture, groupeject, groupmembers, grouproles, gsit, health, help2nc, informfriend, invitegroup, logout, lookat, + * memfree, nadu, netstats, offerfriendship, pick, playsound, quit, rezitem, searchclassifieds, searchgroups, searchland, + * searchpeople, searchplaces and sounds commands. + * Added avatars window. It works as a radar showing the avatar, genre, viewer, location and distance, along with most + * avatar-based commands. + * Added friends window. Allows to IM, remove, teleport or view profiles. + * Added groups window. Allows to chat, activate or leave. + * Added inventory window. Allows to wear, detach, copy id, delete, empty trash and lost & found. + * Added map window. Shows the map with all the avatars and allow TP to coordinates. + * All attach based commands now support unofficial attach places introduced by Emerald Viewer. + * animate command now can stop animations, show currently running ones, or list the system animations. + * avatarinfo now works with any avatar, be it in the sim or not. + * Chat window now can automatic translate incoming and outgoing chat and IMs. + * Chat window now recognizes teleports, inventory offers from objects, notices from groups, friendship and inventory. + * Chat window now supports using another channel (/ message). + * Corrected fails of license check on timezones different than Europe/Madrid. Now works globally. + * dumpattachment command now uses avatar name as output folder. + * findobjects, showeventdetails and searchevents commands now returns output to instant message. + * import command now takes lot less time to work, and imports sculpts with mirror or inside-out properties correctly. + * joingroup and key2name commands now also work with group IDs. + * moveto and turnto commands now can also work using an avatar or object instead of just coordinates. + * priminfo command is enhanced to show a lot more of information. + * Renamed giveall command to pay. + * Renamed goto_landmark command to gotolm. + * Revisions are now shown as internal development ones to give a better knowledge of how much work has been employed. + * Rewrote objects window. It can take a lot longer to first appear, but refreshes almost instantly, sees new object instantly, + * is multithreaded, changes on tp and see more objects and names. + * sendtp command now also allows sending TP to other people. + * Support for 35 new GRIDs. + * Support for Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania and Prize Pyramid. + * version command now shows also simulator server version. + * who command now shows the viewer the avatar is using and the correct location when it is sit. + * You can now answer to script dialog boxes (the blue ones). A new window will be opened when an object sends one to the avatar. + */ \ No newline at end of file diff --git a/SLBot/bot/license/changelog_es.txt b/SLBot/bot/license/changelog_es.txt new file mode 100644 index 0000000..96f9c92 --- /dev/null +++ b/SLBot/bot/license/changelog_es.txt @@ -0,0 +1,276 @@ +/* + * Listado de revisiones: + * + * Rev 1: + * Añadido el botón exportar al menú contextual de la lista de objetos, para mayor facilidad. + * Añadido el botón "exportar todo" a la lista de objetos. AUN TIENE FALLOS!!! + * Añadido el comando "animate". + * Añadido el comando "sendtp". + * Añadido el comando "version". + * Añadido OpenLife a la lista de Grids. + * ¡Parcialmente traducido al castellano! + * Modificado el comando "objectinventory" para que muestre el UUID de los items contenidos en el objeto. + * Rev 2: + * Modificado el comando "friends" para que muestre el UUID de los amigos. + * Rev 3: + * Corregido un fallo en "import" por el cual no se establecian permisos en objetos de un unico prim. + * Rev 4: + * Añadido "attachmentsuuid" para mostrar los objetos anexados a un avatar usando su UUID. + * Rev 5: + * Modificado "attachments" para que muestre la información en el IM y la consola, no en el log. + * Versión subida a 0.5.5 + * Rev 6: + * Añadido "dumpattachments", para exportar todos los attachments. Exporta en CopyXML dentro de una carpeta con el UUID del avatar y la fecha de comienzo de la exportación. + * Rev 7: + * Añadido "dumpattachment", para exportar SOLO un attachment + * Versión subida a 0.6 + * Rev 8: + * Corregido un fallo al poner la fecha en la carpeta con los comandos dumpattachment y dumpattachments. + * Añadida una lista de puntos de anexión validos cuando dumpattachment se llama con un número de argumentos inválido. + * Detectar que el punto de anexión solicitado es válido. + * Rev 9: + * Modificada la forma de la que funciona "dumpattachments". Todavia tiene fallos pero al menos te deja saber que ha llegado a copiar cuando falla. + * Rev 10: + * Modificado "exportparticles" para guardar un archivo .lsl en el disco duro por cada uno de todos los sistemas de particulas de un objeto. + * Rev 11: + * Altamente modificado para funcionar con la revisión de cabecera 2218 de libSL + * Esto significa, que alguno comandos han dejado de funcionar, otros funcionan diferente, hay nuevos comandos disponibles, muchos cambios, gran cantidad de horas y dolores de cabeza!!! + * Al exportar la escultura del angel, ¿exporta 101 texturas? Algo no funciona en "export" + * Actualmente exporta a la carpeta del bot, no a CopyXML o textures. + * Importar también toma por defecto la carpeta del bot. + * El command "objectinventory" siempre expira :(. + * El command "exportparticles" ha dejado de funcionar en objetos con múltiples sistemas de partículas. + * El command "backuptext" aún no funciona. + * El command "mapfriend" requiere más pruebas, parece que no funciona. + * ¿El command "appearence" funcionó alguna vez? + * ¿El command "gridmap" hace algo? + * ¿El command "wear" funcionó alguna vez? + * El command "attachmentsuuid" cuenta los anexos, pero no los muestra!!! + * Parece MUCHO MÁS LENTO!!! + * Es capaz de descargar la animación que le pidas, sólo con su UUID (No es necesario que se esté reproduciendo cerca) + * La mayoría de los comandos perdió la traducción :( + * Versión subida a 0.6.9 Rev 54. 0.7.0 llegará cuando los errores de arriba sean corregidos de nuevo! + * Rev 12: + * Corregido el comando "export", que ahora funciona como antes + * Rev 13: + * Corregido el comando "import". + * Cambiada la carpeta "CopyXML" a otra mas apropiada: "objects". + * Rev 14: + * El comando "objectinventory" nunca dejó de funcionar, sólo era lag + * El comando "exportparticles" guardaba todas las partículas en el mismo archivo lsl. Corregido. + * Rev 15: + * Los comandos "attachments" y "attachmentsuuid" ahora listan en la consola de IM. + * Rev 17: + * Añadido el comando "avatarinfo" que muestra información sobre un avatar cercano. + * Rev 18: + * Añadido el comando "ls" para mostrar el contenido de la carpeta actual del inventario. + * Rev 19: + * Añadido el comando "cd" para cambiar la carpeta actual del inventario. + * Modificado el comando "ls" para que con la opción '-l' diga la fecha de creación y el tipo de los contenidos, y funcione con subcarpetas (antes no lo hacía si ejecutar previamente el comando "i" para rellenar el inventario). + * Rev 20: + * Añadido el comando "createnotecard" para crear una Notecard desde un archivo de texto local. + * Rev 21: + * Añadido el comando "give" para dar objetos del inventorio a un avatar. + * Rev 22: + * Ahora el comando "avatarinfo" no sólo muestra las texturas sino también el texto e imágenes del perfil. Los intereses, grupos y estadísticas están en camino. + * Rev 23: + * Ahora el comando "avatarinfo" obtiene también los intereses y grupos. Las estadísticas están desactivadas por Linden Lab porque han sido abandonadas y aparentemente no hay forma de obtenerlas. + * Rev 25: + * Modified el comando "dumpoutfit" para trabajar con los cambios de API (RequestImage()) de libOMV en SVN r2227. + * Rev 26: + * Añadido el comando "rmdir" para mover una carpeta del inventario a la papelera. + * Rev 27: + * Añadido el comando "viewnote" para sacar el contenido de una NoteCard del inventario a la consola/IM. + * Rev 28: + * Modificado el comando "createnotecard" para que envíe la notecard al maestro. + * Añadido el comando "uploadimage" para cargar una imagen/textura y mandársela al maestro. + * Rev 29: + * Modificados los comandos "createnotecard" y "uploadimage" porque el acento en "día" no está correctamente contemplado por el servidor de Asset en la descripción del item subido. + * Añadido el comando "upload" para subir cualquier cosa que sea soportada por el servidor de Asset, detectando el tipo correct por la extensión, tal y como sigue: + * .animatn para una Animación. (Cuesta 10L en AGNI) + * .bodypart para una Forma, Piel, Ojos o Pelo. + * .gesture para una Gesture. + * .clothing para una Camisa, Pantalones, Zapatos, Calcetines, Abrigo, Falda, Guantes, Camisa y Ropa Interior. + * .jpg, .tga, .jp2 and .j2c para Texturas. (Cuesta 10L en AGNI) + * .notecard para Notecard. + * .landmark para LandMark. + * .ogg para Sonido (Vorbis). (Cuesta 10L en AGNI) + * .lsl para un Script LSL2 (como texto). + * .lso para un Script LSL2 (compilado). + * Las versiones viejas de los items, o, algunos de éstos, fallarán al subirlos, sin solución + * Rev 30: + * Corregida una NullException en el comando "parcelinfo". + * Modificado el tiempo de espera máximo de "parcelinfo" de 30seg. a 60seg. + * Añadido el comando "parceldetails", que dado un ID de parcela, muestra TODOS los detalles sobre dicha parcela. + * Rev 31: + * Añadido el comando "primowners", para mostrar los prims que hay en una parcela, y sus dueños. Necesita permisos. + * Rev 32: + * Añadido el comando "selectobjects", para mostrar información detallada acerca de los prims de determinado avatar, en la parcela especificada. + * Rev 33: + * Añadidos los comandos "forward", "back", "left" y "right" para mover el bot. + * Rev 34: + * Añadido el comando "downloadtexture" para descargar una textura del servidor Asset dada su UUID. Todavía no la convierte a formato Targa. + * Rev 35: + * Añadido el comando "script" para ejecutar una serie de comandos dados en un archivo de texto. + * Rev 36: + * Modificado el comando "upload" para captar las excepciones al cargar el archivo. + * Corregida la extensión de la animación descargada en el evento automático de descarga del servidor Asset, de .animtn a .animatn. + * Eliminado el comando "test", ya que era, eso, una prueba. + * Añadido el comando "downloadanimation" para descargar una animación del servidor Asset dado su UUID. (El que sale con Animation Info activado en el cliente oficial) + * Versión subida a la 0.7 (20 nuevos comandos). YUPIIIIIIIIIII!!!!!!!! + * Rev 40: + * Añadida comprobación de autorización antes de cargar el bot. + * Eliminado el jodido mensaje "Running webserver"! + * Actualizado a libomv r2382 + * Rev 42: + * Actualizado a libomv r2947 + * Como parte de esta actualización se ha reescrito el sistema de descarga de texturas. + * Ventajas, supuestamente, velocidad y menos fallos. + * Desventajas, no hay indicador de progreso de la descarga en la consola del bot. + * Las texturas se guardan en la carpeta textures, cuando se usen los comandos export o downloadtexture. + * Las texturas de los outfit se guardan en una carpeta outfits, en una subcarpeta con el nombre del avatar. + * Las texturas de los attachments se descargan en una subcarpeta textures dentro de la carpeta con el UUID en la que siempre se han guardado los attachments. + * Esto debería acabar con la confusión al respecto de las texturas descargadas. + * Esta es una revisión menor, con grandes cambios esperados para NatiBot 0.8.0 rev 80. + * Rev 43: + * Corregidos los comandos dumpattachment, dumpattachments y export , y la ventana de objetos de la GUI. + * La ventana de objetos ahora funciona tan poco fiablemente como antes. + * Rev 50: + * Versión subida a la 0.8 + * Actualizado a libomv r2977 + * Corregida la exportación de objetos SIN textura (pues, sí, he encontrado UNO) + * Creada nueva ventana de objetos desde cero con las siguientes características: + * - Listado de UUID, posición y nombre, ordenables alfabéticamente al gusto del usuario. + * - Autoactualización automática para obtener los nombres y nuevos objetos cada 10 segundos. + * - Dicha opción, es desactivable. + * - El botón exportar es capaz de exportar cualquier objeto sea cual sea su nombre (incluso si aún no lo conoce). + * - Se puede elegir que queremos copiar, la UUID, localización, o nombre, al portapapeles, con botón derecho o CTRL+C. + * - Se pueden exportar varios elementos seleccionados a la vez. + * - Se puede exportar TODOS LOS OBJETOS que el bot vea a la vez. + * - Muestra la distancia de la vista, y nos permite cambiarla. + * El comando import recoge el objeto del mundo y lo pasa al inventario al terminar. + * Luego lo envía al maestro (aún no probado) + * Botón importar capaz de importar más de un objeto a la vez. + * Añadido el comando backup, capaz de copiar al disco duro TODO el contenido del inventario, con los siguientes defectos: + * - Primero tienes que haber mirado el contenido de la carpeta donde esté el objeto del inventario que quieras copiar. + * - Los objetos tienen que ser sacados al mundo para ser copiados a disco, así que por ahora el comando backup los ignora. + * - Las calling cards nunca se podrán copiar porque realmente no existen. El comando backup las ignorará. + * - Las notecards y los scripts nocopy no pueden ser leídos. Es un fallo de SecondLife bug, JIRA VWR-5238. El comando backup los ignorará. + * - Los scripts nomod no son legibles de ninguna manera, olvídate de ellos. El comando backup los ignorará. + * - Todas las texturas, gesturas, sonidos, ropa y partes del cuerpo, sin embargo, se descargarán. + * Corregida la falta de un bloqueo en el comando backuptext que podía llevarnos a una excepción en tiempo de ejecución. + * Corregido lo mismo en el comando backup. + * El comando backup ahora usa diferentes métodos para las texturas, notecards, scripts y todo lo demás. + * Modificado el botón importar de forma que también importa assets (por ejemplo los descargados con el comando backup). + * Añadida una barra de progreso y texto a la ventana principal indicando como va la importación múltiple. + * Añadido el comando downloadterrain. + * Añadido el comando uploadrawterrain. + * Modificada la forma por la que el comando upload sube los scripts. Esto elimina el error HTTP 500 que venían dando hasta ahora. + * Modificado altamente el comando createnotecard. + * Añadidos los comandos emptylostandfound y emptytrash. + * Añadido el comando taskrunning. + * Añadido el comando wind. + * Añadido el comando flyto. + * Añadido el comando textures. + * Añadido el comando camerafar. + * Añadido el comando voiceaccount. + * Añadido el comando voiceparcel. + * Ahora cada mensaje enviado al bot por alguien que no sea el maestro (parcela, sim, objeto, grupo, conferencia, im, etc) será reenviado como un IM al maestro. + * Cambiada la forma de la que el comando upload sube las notecards. Ahora debería subir cualquier notecard sin adjuntos, por una cuestión de permisos seguramente. + * Rev 51: + * Corregido un fallo que impedía al comando dumpoutfit crear carpetas como debería. + * Rev 54: + * Actualizado a libomv r3003 + * Creado un hilo para el botón exportar todo en el formulario de objetos de tal manera que no paralice la interfaz. + * Hecho lo mismo en el comando appearance. + * Rev 55: + * Añadido soporte multi-idioma. + * Como efecto secundario algunos comandos ahora muestran mucha más información en la consola. + * Rev 65: + * Eliminadas las pestañas no usadas y no funcionales de teletransporte y mapa. + * Eliminado el comando no funcional importoutfit. + * Rev 82: + * Cambiadas todas las ventanas a la nueva interfaz. La consola es una miniatura hasta que tenga su propia ventana en la siguiente revisión. + * Rev 84: + * Movida la consola a su propia ventana. + * Rev 91: + * Cambiados todos los botones al nuevo diseño. + * Rev 99: + * La ventana de objetos ahora permite buscar un objeto por su nombre. + * La carpeta por defecto para crear todas las carpetas del NatiBot es ahora la carpeta Mis Documentos del usuario. + * El comando dumpattachment ahora exporta correctamente los nombres. + * Hecho el mismo cambio en el comando export. + * El comando downloadtexture ahora guarda también las texturas como TGA. + * El comando avatarinfo no muestra la información de otro cuando se usa más de una vez. + * Rev 100: + * Ahora se puede elegir el idioma. Dicha elección se guardará y aplicará en el reinicio. + * Ahora se ofrece la opción de salvar toda al consola en un archivo de texto. Activada por defecto. + * En algunos casos los errores mostraban ventanas de aviso, ahora todos los errores van a la consola. + * Cerrar el NatiBot ahora desconecta todos los bots. + * Rev 115: + * Versión subida a NatiBot 0.9.0 Rev 90. + * El bot establece su apariencia continuamente. + * Firmado con una llave de verificación. + * Publicado en http://www.natibot.com/ + * Rev 169: + * El comando downloadtexture ahora crea la carpeta de texturas si no existe. + * El comando jump ahora también para de saltar. + * Añadido el comando key2name. + * Añadido el comando buy. + * Añadido el comando takeitem. + * Añadido el comando translate. + * Añadido un menú contextual a la ventana de objetos. + * Añadida una nueva ventana de chat. + * Versión subida a NatiBot 0.9.1 Rev 91. + * Rev 176: + * Corregido el comportamiento de la fecha y hora en la ventana de chat. + * Añadido soporte preliminar para sentarse automáticamente en las Lucky Chairs. + * Añadida comprobación de permisos para los comandos de exportación. + * Versión subida a NatiBot 0.9.2 Rev 92. + * Rev 180: + * Eliminados los búferes de chat y consola. Ahora el búfer no se puede llenar y colgar el bot y el chat aparece correctamente. + * Añadido sistema de actualizaciones automáticas. + * Mejorada la importación. + * Mejorado el sistema de chat de forma que no paraliza el bot cuando se reciben chats o mensajes instantáneos. + * Añadida dependencia para convertir JPEG2000 a Targa en sistemas operativos de 64 bits + * Versión subida a NatiBot 0.9.3 Rev 93. + * Rev 325: + * NatiBot 1.0.0.325. + * Soporte completo para Mac OS X (PowerPC e Intel) y Linux (x86 y x86-64). + * Optimizado para el uso de sistemas multiprocesador o multinúcleo y consumir menos memoria. + * Añadida la ventana de amigos. Permite enviarles mensajes, teletransporte, eliminarlos o ver sus perfiles. + * Añadida la ventana de avatares. Funciona como un radar mostrando el avatar, sexo, cliente, posición y distancia, conteniendo + * la mayoría de los comandos orientados a avatares. + * Añadida la ventana de grupos. Permite abrir chat, activarlos o abandonarlos. + * Añadida la ventana de inventario. Permite vestir, desvestir, copiar la id, borrar, vaciar la papelera o la carpeta lost & found. + * Añadida la ventana de mapa. Muestra el mapa con todos los avatares y permite teletransporte a unas coordenadas. + * Añadidos los comandos about, activaterole, addtorole, allowedlist, animations, attach, away, banlist, banuser, beam, busy, + * changelog, clienttags, clock, createclothing, createeyes, createlm, createskin, detectbots, downloadsound, ejectuser, + * endfriendship, gc, gesture, groupeject, groupmembers, grouproles, gsit, health, help2nc, informfriend, invitegroup, + * logout, lookat, memfree, nadu, netstats, offerfriendship, pick, playsound, quit, rezitem, searchclassifieds, searchgroups, + * searchland, searchpeople, searchplaces y sounds. + * Ahora puede contestar a diálogos de script (los azules). Se abrirá una nueva ventana cuando un objeto envíe uno. + * Corregido el fallo en la comprobación de licencia para usuarios de distinta zona horaria a Madrid. Ahora funciona globalmente. + * El comando animate ahora puede parar las animaciones, mostrar las que se están reproduciendo o listar las animaciones del sistema. + * El comando avatarinfo ahora funciona aunque el avatar no esté en el mismo sim. + * El comando dumpattachment ahora usa el nombre del avatar para la carpeta. + * El comando giveall ha sido renombrado a pay. + * El comando goto_landmark ha sido renombrado a gotolm. + * El comando import ahora funciona mucho más rápido y de manera correcta en Sculpt con las características de espejo o inversión. + * El comando priminfo ha sido mejorado para mostrar mucha más información. + * El comando sendtp ahora también permite enviar teletransporte a otra gente. + * El comando version ahora también muestra la versión del simulador. + * El comando who ahora muestra que cliente está usando el avatar y su posición es correcta si está sentado. + * La ventana de chat ahora puede traducir automáticamente los mensajes y chats salientes y entrantes. + * La ventana de chat ahora reconoce teletransportes, ofertas de inventario de objetos, avisos de grupos, de amistad y de inventario. + * La ventana de chat ahora soporta usar otro canal (/ mensaje). + * La ventana de objetos ha sido reescrita. Puede tomar mucho más en aparecer por primera vez, pero se refresca casi + * instantáneamente, ve los objetos nuevos instantáneamente, es multiproceso, cambia al hacer TP y ve más objetos y nombres. + * Las revisiones ahora se muestran como las de desarrollo para dar un mejor conocimiento del trabajo realizado. + * Los comandos findobjects, showeventdetails y searchevents ahora muestran su salida en un mensaje. + * Los comandos joingroup y key2name ahora también soportan IDs de grupos. + * Los comandos moveto y turnto ahora también funcionan indicando un avatar o un objeto en vez de coordenadas. + * Soporte para 35 nuevas GRIDs. + * Soporte para Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania y Prize Pyramid. + * Todos los comandos basados en anexos ahora soportan los anexos no oficiales introducidos por el cliente Emerald Viewer. + */ \ No newline at end of file diff --git a/SLBot/bot/license/changelog_fr.txt b/SLBot/bot/license/changelog_fr.txt new file mode 100644 index 0000000..3ec3a5f --- /dev/null +++ b/SLBot/bot/license/changelog_fr.txt @@ -0,0 +1,276 @@ +/* + * Liste des revues: + * + * Rév 1: + * Ajout du bouton Exporter au menu contextuel de la liste d'objets pour commodité. + * Ajout du bouton "Exporter tous" à la liste d'objets. A encore des bugs! + * Ajout de la commande "animate". + * Ajout de la commande "sendtp. + * Ajout de la commande "version". + * Ajout de la liste des OpenLife Grids. + * Partiellement traduit en espagnol! + * Mise à jour de la commande "objectinventory" pour afficher l'UUID des points contenus dans l'objet. + * Rév 2: + * Mise à jour de la commande "friends" pour montrer l'UUID d'amis. + * Rév 3: + * Correction d'un bogue dans "import" à ne fixent pas d'autorisations sur les objets en un seul prim. + * Rév 4: + * Ajout de "attachmentsuuid" pour afficher les objets attachés à un avatar en utilisant leur UUID. + * Rév 5: + * Mise à jour "attachments" pour afficher les informations de la MI et de la console, pas dans le journal. + * Augmentation à la version 0.5.5 + * Rév 6: + * Ajout de "dumpattachments" pour exporter toutes les pièces jointes. CopyXML exporté dans un dossier avec l'UUID de l'avatar et la date de début de l'exportation. + * Rév 7: + * Ajout de "dumpattachment" pour que l'exportation d'une pièce jointe + * Augmentation à la version 0.6 + * Rév 8: + * Correction d'un bug de mettre la date dans le dossier avec la dumpattachment et dumpattachments commandes. + * Ajout d'une liste des points de dumpattachment annexion valables lorsqu'on l'appelle avec nombre invalide d'arguments. + * Détecter que le point demandé l'annexion est valide. + * Rév 9: + * Mise à jour la manière dont elle fonctionne "dumpattachments". Vous avez encore des bugs mais permet au moins vous savez que vous avez obtenu de copie quand elle échoue. + * Rév 10: + * Mise à jour "exportparticles" pour enregistrer un fichier .lsl en le disque dur pour chacun de tous les systèmes de particules d'un objet. + * Rév 11: + * Très modifié pour fonctionner avec la révision de 2218 du header libSL + * Cela signifie que certaines commandes ont cessé de travailler, d'autres travaux différemment, il ya de nouvelles commandes disponibles, de nombreux changements, de nombreuses heures et maux de tête! + * Lors de l'exportation ange sculpture, "101 textures à l'exportation"? Quelque chose ne fonctionne pas sur "export" + * Actuellement, elle exporte vers le répertoire du bot, pas CopyXML ou des textures. + * Import prend également par défaut le dossier du bot. + * La commande "objectinventory" expire toujours :(. + * La commande "exportparticles" a cessé de travailler sur des objets multiples avec des systèmes de particules. + * La commande "backuptext" ne fonctionne toujours pas. + * La commande "mapfriend" exige davantage de preuves, il semble qu'il ne fonctionne pas. + * Est-ce la commande "appearance" jamais travaillé? + * Est-ce la commande "gridmap" faire quelque chose? + * Est-ce la commande "wear" jamais travaillé? + * La commande "attachmentsuuid" raconte les annexes, mais n'affiche pas! + * Il semble que beaucoup plus lent! + * Vous pouvez télécharger l'animation qui vous le demande, uniquement à son UUID (n'ont pas joue close) + * La plupart des commandes perdu la traduction :( + * Augmentation à la version 0.6.9 Rév 54. 0.7.0 venez quand les erreurs sont corrigées à nouveau!! + * Rév 12: + * Correction de la commande "export", qui travaille maintenant comme avant + * Rév 13: + * Correction de la commande "import". + * Changement de la dossier CopyXML pour una plus approprié "objects". + * Rév 14: + * La commande "objectinventory" n'a jamais cessé de travailler, il était juste lag + * La commande "exportparticles" conservait avec soin toutes les particules dans le LSL même fichier. Fixe. + * Rév 15: + * Les commandes "attachments", et "attachmentsuuid" figurant désormais à l'IM console. + * Rév 17: + * Ajout de la commande "avatarinfo" qui affiche des informations sur un avatar à proximité. + * Rév 18: + * Ajout de la commande "ls" pour afficher le contenu de le dossier actuel du inventaire. + * Rév 19: + * Ajout de la commande "cd" pour changer le dossier actuel de l'inventaire. + * Mise à jour de la commande "ls" à l'option '-l' indique la date de création et le type de contenu, et de travailler avec des sous-dossiers (si pas déjà fait précédemment exécuté la commande "i" pour terminer l'inventaire) . + * Rév 20: + * Ajout de la commande "createnotecard" pour créer un notecard partir d'un fichier texte local. + * Rév 21: + * Ajout de la commande "give" de donner les objets d'inventaire à un avatar. + * Rév 22: + * Maintenant la commande "avatarinfo" montre non seulement la texture mais également le texte et les images du profil. Les groupes d'intérêt et les statistiques sont en cours. + * Rév 23: + * Maintenant la commande "avatarinfo" obtient les intérêts et les groupes. Les statistiques sont désactivées par Linden Lab, parce qu'ils ont été abandonnés et apparemment aucun moyen de les obtenir. + * Rév 25: + * Mise à jour de la commande "dumpoutfit" pour travailler avec les modifications d'API (RequestImage ()) de libOMV en SVN R2227. + * Rév 26: + * Ajout de la commande "rmdir" pour déplacer un dossier à l'inventaire des ordures. + * Rév 27: + * Ajout de la commande "viewnote" pour rendre le contenu d'un notecard dans l'inventaire pour la console / IM. + * Rév 28: + * Mise à jour de la commande "createnotecard" pour envoyer les notecard à l'enseignant. + * Ajout de la commande "uploadimage" pour charger une image / texture et l'envoyer à l'enseignant. + * Rév 29: + * Mise à jour les commandes "createnotecard" et "uploadimage" parce que l'accent mis sur "jour" ne sont pas correctement couverts par le serveur d'actifs dans la description de l'élément vers le haut. + * Ajout de la commande "import" pour télécharger tout ce est supporté par le serveur d'actifs, d'identifier le type exact de l'extension, comme suit: + * .animatn pour l'animation. (Coûts 10L AGNI) + * .bodypart à une forme, la peau, des yeux ou des cheveux. + * .gesture pour un geste. + * .clothing pour une chemise, un pantalon, des chaussures, chaussettes, manteaux, jupes, gants, chemises et sous-vêtements. + * .jpg,.tga,.jps et .j2c pour textures. (Coûts 10L AGNI) + * .notecard pour Notecard. + * .landmark pour LandMark. + * .ogg pour le son (Vorbis). (Coûts 10L AGNI) + * .lsl LSL2 pour un script (comme du texte). + * .lso LSL2 pour un script (compilation). + * Les anciennes versions des articles, ou, dont certains ne parviendront pas à télécharger, sans solutions + * Rév 30: + * Correction d'un NullException dans parcelinfo commande. + * Mise à jour le temps d'attente maximum "parcelinfo" de 30sec. à 60sec. + * Ajout de la commande "parceldetails" que, compte tenu d'une parcelle ID affiche tous les détails de ce complot. + * Rév 31: + * Ajout de la commande "primowners" montrer les prims sur une parcelle de là, et leurs propriétaires. Besoin d'autorisations. + * Rév 32: + * Ajout de la commande "selectobjects" pour afficher des informations détaillées sur un prims particulier avatar dans la parcelle spécifiée. + * Rév 33: + * Ajout de la commande "forward", "back", "left" et "right" pour déplacer le bot. + * Rév 34: + * Ajout de la commande "downloadtexture" pour télécharger une texture Asset serveur donné son UUID. Ne fait toujours pas au format Targa. + * Rév 35: + * Ajout de la commande "script" pour exécuter une série de commandes données dans un fichier texte. + * Rév 36: + * Mise à jour de la commande "import" pour obtenir des exceptions lors du chargement du fichier. + * Correction de la durée de l'animation automatiquement déversées dans le cas du serveur d'Inventaire de la décharge. Animtn à. Animatn. + * Suppression de la commande "test", tel qu'il était, que, d'un test. + * Ajout de la commande "downloadanimation" pour télécharger une animation du serveur d'actifs compte tenu de son UUID. (L'info qui vient avec Animation activée dans le client officiel) + * Augmentation de la version à 0,7 (20 nouvelles commandes). YUPIIIIIIIIIII !!!!!!!! + * Rév 40: + * Ajout d'autorisation de vérifier avant le chargement, le bot. + * Enlevée le message sanglante "Running Webserver"! + * Mise à jour de libomv r2382 + * Rév 42: + * Mise à jour de libomv r2947 + * Dans le cadre de cette mise à jour a été réécrit textures système de vidange. + * Avantages supposés de vitesse et moins d'erreurs. + * Les inconvénients, aucun indicateur de progression sur la console pour télécharger le bot. + * Les textures sont sauvegardées dans le dossier de textures, lorsque vous utilisez la commande d'exportation ou downloadtexture. + * Les textures de la tenue sont sauvegardés dans un dossier tenues, dans un sous-dossier avec le nom de l'avatar. + * Les textures des pièces jointes sont téléchargés dans une sous-dossier textures dans le dossier avec l'UUID prévu, dans lequel les pièces jointes sont enregistrées. + * Ceci devrait mettre fin à la confusion sur les textures téléchargées. + * Il s'agit d'une révision mineure, les principaux changements attendus NatiBot 0.8.0 rev 80. + * Rév 43: + * Dumpattachment commandement fixe, dumpattachments et d'exportation, et la fenêtre des objets GUI. + * L'objet window si peu fiable qui fonctionne maintenant comme avant. + * Rév 50: + * Augmentation à la version 0.8 + * Mise à jour de libomv r2977 + * Correction d'exportation des objets sans texture (parce que, oui, j'en ai trouvé un) + * Crée une nouvelle fenêtre des objets à partir de zéro présentant les caractéristiques suivantes: + * - Liste des UUID, fonction et le nom, par ordre alphabétique goût de l'utilisateur. + * - Self automatique-actualisation des noms et de nouveaux objets toutes les 10 secondes. + * - Cette option est désactivée. + * - Le bouton Exporter est capable d'exporter tout objet quel que soit son nom (même s'il n'est pas encore connu). + * - Vous pouvez choisir qui nous voulons copier l'UUID, l'emplacement ou le nom à la planchette, avec le bouton droit ou CTRL + C. + * - Vous pouvez exporter plusieurs articles en même temps. + * - Vous pouvez exporter tous les objets dans le bot voir à la fois. + * - Affiche la distance de vue, nous permettant de le modifier. + * La commande d'importation prend l'objet dans le monde et ce qui se passe à l'inventaire à la fin. + * Puis envoyez-le à l'enseignant (pas encore testé) + * Bouton permet d'importer plus d'un import d'objets à la fois. + * Ajout de commande "backup", capable de copier le disque dur de tout le contenu de l'inventaire, avec les défauts suivants: + * - Il faut d'abord se sont penchés sur le contenu du dossier dans lequel l'élément de l'inventaire que vous souhaitez copier. + * - Les objets doivent être établis dans le monde pour être copiés sur le disque, donc pour l'instant, la commande "backup" sont ignorés. + * - Les cartes d'appel ne peut jamais être copié, car il n'y a pas vraiment. La commande "backup" sera ignorer. + * - La notecards nocopy et les scripts ne peuvent pas être lus. SecondLife est un bug bug, JIRA VWR-5238. La commande "backup" ignorées. + * - Nomod scripts ne sont pas lisibles en aucune manière, de les oublier. La commande "backup"e ignorées. + * - Toutes les textures, des gestes, des sons, des vêtements et des parties du corps, toutefois, être téléchargé. + * Correction de l'absence d'un verrou sur le backuptext commande qui pourrait conduire à une exception d'exécution. + * Correction de la même sur la commande "backup". + * La commande de sauvegarde utilise maintenant des méthodes différentes pour les textures, les cartes doubles, des scripts et tout le reste. + * Mise à jour sur le bouton Importer afin qu'il les choses, les actifs (par exemple téléchargé avec la commande de sauvegarde). + * Ajout d'une barre de progression et de texte à la fenêtre principale, en indiquant comment vous importez multiples. + * Ajout downloadterrain commande. + * Ajout uploadrawterrain commande. + * Mise à jour le chemin par lequel le téléchargement de commande des scripts. Ceci élimine l'erreur donnant HTTP 500 qui l'ont précédée. + * Modifié commande très createnotecard. + * Ajout des commandes emptylostandfound et emptytrash. + * Ajout taskrunning commande. + * Ajout wind commande. + * Ajout flyto commande. + * Ajout textures commande. + * Ajout camerafar commande. + * Ajout voiceaccount commande. + * Ajout voiceparcel commande. + * A présent, chaque message envoyé au bot par quelqu'un d'autre que l'enseignant (parcelle, SIM, l'objet, le groupe, conférence, messagerie instantanée, etc) seront transmis à l'enseignant comme un message instantané. + * Changement de la manière de l'upload de commande jusqu'à la notecards. Maintenant, vous devriez obtenir une notecard sans pièce jointe, sûrement un problème de droits. + * Rév 51: + * Correction d'un bug qui empêchait la commande dumpoutfit créer des dossiers comme il le devrait. + * Rév 54: + * Mise à jour de libomv r3003 + * Création d'un fil pour le bouton pour exporter tous les objets dans le formulaire de sorte qu'il ne gèle pas l'interface. + * Fait la même chose dans l'apparition de commande. + * Rév 55: + * Ajout multi-langue support. + * Comme un effet secondaire des commandes affichent maintenant beaucoup plus d'informations sur la console. + * Rév 65: + * Enlevée onglets non utilisés et non téléportation fonctionnelle et une carte. + * Non Enlevée-commande importoutfit fonctionnelle. + * Rév 82: + * Changement de toutes les fenêtres à la nouvelle interface. La console est une vignette jusqu'à ce que vous avez votre propre fenêtre dans la prochaine révision. + * Rév 84: + * Déplacement de la console dans sa propre fenêtre. + * Rév 91: + * Changement de tous les boutons pour le nouveau design. + * Rév 99: + * L'objet window permet maintenant de rechercher un objet par son nom. + * Le dossier par défaut pour créer tous les dossiers NatiBot est désormais à l'utilisateur du dossier Mes documents. + * La commande exporte maintenant correctement les noms dumpattachment. + * Fait le même changement dans la commande à l'exportation. + * La commande maintenant recueille également des textures downloadtexture comme TGA. + * La commande affiche des informations avatarinfo pas d'autre lorsqu'il est utilisé plusieurs fois. + * Rév 100: + * Maintenant vous pouvez choisir la langue. Ce choix est enregistré et sera appliqué au redémarrage. + * Offre maintenant la possibilité d'enregistrer toutes les console dans un fichier texte. Activé par défaut. + * Dans certains cas, les fenêtres de message d'erreur s'affiche, toutes les erreurs vont maintenant à la console. + * Fermez le NatiBot déconnecter maintenant tous les bots. + * Rév 115: + * Augmentation à NatiBot 0.9.0 Rév 90. + * Le bot fournit son apparition en permanence. + * Signé une clé de vérification. + * Publié dans http://www.natibot.com/ + * Rév 169: + * La commande downloadtexture crée le dossier textures s'il n'en existe pas. + * La commande jump maintenant arrêter de sauter. + * Ajout key2name commande. + * Ajout buy commande. + * Ajout takeitem commande. + * Ajout translate commande. + * Ajout d'un menu contextuel de l'objet window. + * Ajout d'une nouvelle fenêtre de chat. + * Augmentation à NatiBot 0.9.1 Rév 91. + * Rév 176: + * Correction du comportement de la date et l'heure dans la fenêtre de chat. + * Ajout du support préliminaire pour siège de droit dans les Lucky chaires. + * Ajout de vérification des autorisations pour les commandes à l'exportation. + * Augmentation à NatiBot 0.9.2 Rév 92. + * Rév 180: + * Supprimé les tampons chat et à consoler. Maintenant le tampon ne peut pas remplir et pendez le bot et le chat s'affiche correctement. + * Ajouté le système de mise à jour automatique. + * Amélioration de l'importation. + * Amélioration de système de chat afin que le bot ne s'arrête pas lors de la réception des chats ou des messages instantanés. + * Ajouté dépendance pour convertir JPEG2000 à Targa en systèmes de 64 bits. + * Augmentation à NatiBot 0.9.3 Rév 93. + * Rev 325: + * NatiBot 1.0.0.325. + * Soporte completo para Mac OS X (PowerPC e Intel) y Linux (x86 y x86-64). + * Optimizado para el uso de sistemas multiprocesador o multinúcleo y consumir menos memoria. + * Añadida la ventana de amigos. Permite enviarles mensajes, teletransporte, eliminarlos o ver sus perfiles. + * Añadida la ventana de avatares. Funciona como un radar mostrando el avatar, sexo, cliente, posición y distancia, conteniendo + * la mayoría de los comandos orientados a avatares. + * Añadida la ventana de grupos. Permite abrir chat, activarlos o abandonarlos. + * Añadida la ventana de inventario. Permite vestir, desvestir, copiar la id, borrar, vaciar la papelera o la carpeta lost & found. + * Añadida la ventana de mapa. Muestra el mapa con todos los avatares y permite teletransporte a unas coordenadas. + * Añadidos los comandos about, activaterole, addtorole, allowedlist, animations, attach, away, banlist, banuser, beam, busy, + * changelog, clienttags, clock, createclothing, createeyes, createlm, createskin, detectbots, downloadsound, ejectuser, + * endfriendship, gc, gesture, groupeject, groupmembers, grouproles, gsit, health, help2nc, informfriend, invitegroup, + * logout, lookat, memfree, nadu, netstats, offerfriendship, pick, playsound, quit, rezitem, searchclassifieds, searchgroups, + * searchland, searchpeople, searchplaces y sounds. + * Ahora puede contestar a diálogos de script (los azules). Se abrirá una nueva ventana cuando un objeto envíe uno. + * Corregido el fallo en la comprobación de licencia para usuarios de distinta zona horaria a Madrid. Ahora funciona globalmente. + * El comando animate ahora puede parar las animaciones, mostrar las que se están reproduciendo o listar las animaciones del sistema. + * El comando avatarinfo ahora funciona aunque el avatar no esté en el mismo sim. + * El comando dumpattachment ahora usa el nombre del avatar para la carpeta. + * El comando giveall ha sido renombrado a pay. + * El comando goto_landmark ha sido renombrado a gotolm. + * El comando import ahora funciona mucho más rápido y de manera correcta en Sculpt con las características de espejo o inversión. + * El comando priminfo ha sido mejorado para mostrar mucha más información. + * El comando sendtp ahora también permite enviar teletransporte a otra gente. + * El comando version ahora también muestra la versión del simulador. + * El comando who ahora muestra que cliente está usando el avatar y su posición es correcta si está sentado. + * La ventana de chat ahora puede traducir automáticamente los mensajes y chats salientes y entrantes. + * La ventana de chat ahora reconoce teletransportes, ofertas de inventario de objetos, avisos de grupos, de amistad y de inventario. + * La ventana de chat ahora soporta usar otro canal (/ mensaje). + * La ventana de objetos ha sido reescrita. Puede tomar mucho más en aparecer por primera vez, pero se refresca casi + * instantáneamente, ve los objetos nuevos instantáneamente, es multiproceso, cambia al hacer TP y ve más objetos y nombres. + * Las revisiones ahora se muestran como las de desarrollo para dar un mejor conocimiento del trabajo realizado. + * Los comandos findobjects, showeventdetails y searchevents ahora muestran su salida en un mensaje. + * Los comandos joingroup y key2name ahora también soportan IDs de grupos. + * Los comandos moveto y turnto ahora también funcionan indicando un avatar o un objeto en vez de coordenadas. + * Soporte para 35 nuevas GRIDs. + * Soporte para Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania y Prize Pyramid. + * Todos los comandos basados en anexos ahora soportan los anexos no oficiales introducidos por el cliente Emerald Viewer. + */ \ No newline at end of file diff --git a/SLBot/natibot.desktop b/SLBot/natibot.desktop new file mode 100644 index 0000000..1eac463 --- /dev/null +++ b/SLBot/natibot.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=NatiBot +Exec=natibot +Terminal=false diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 0000000..4992ab4 --- /dev/null +++ b/TODO.txt @@ -0,0 +1,61 @@ +For MONO: +Shaped windows with transparent key is not working. Need to test with alpha PNGs. +System.Management is not available should generate hardware key in another way. +Using #if __MonoCS__ allow us to know when compiled with Mono. +System.Environment.OSVersion.Platform does return "Unix" in both Mac OS X and Linux. +Visual Studio Designer will fuck off anything put on its code so check for Mono in form initializations. + +For 1.0: +Some French translation errores will be corrected. +Possible will be translated to German. + +Bugs: +selectobjects does not work +Some alert messages may be auto-translated. Akasha Foxtrot> [AlertMessage] You are now the owner of object Comprame +[15:24] El objeto Second Life perteneciente a Tsuki Tyran de la regin 00000000-0000-0000-0000-000000000000 en <0, 0, 0>:Your object 'Object' has been returned to your inventory lost and found folder by Tsuki Tyran from parcel 'Busco name 2' at Limburg2 246, 117. +On simulator change the avatar list is not getting reset. +In main window controls are not getting enabled or disabled depending on the bot. + +commands: +MODIFICATIONS: +crouch The Bot crouches very submissive, back in stand with stand. +turnto add aliases to north, northeast, nortwest, east, west, south, southwest, southeast + +AUTOMATION: +autogc Automatically do the garbage collection every 60 seconds +autogive [object-UUID] [range] Gives the given object to any avatar the Bot meets, once in a Sim. +autoim [range] [text] IMs the given text to all avatars in range +autoinvite [group-UUID] [range] Invites any avatar to the given group, once in a Sim. +autoview The bot will automatically download and view offered notecards with notepad.exe +autodance [delay] Changes dancing animation from DANCES file. +autoshoot [range] Automatically shots avatars that enter at given range. + +COMMUNICATION: +act [text] The bot emotes the given text. This is like doing a /me in the regular client. +ml Shows the current mutelist. +mute [av-UUID|av-name] Adds an avatar to mutelist. +unmute [av-UUID] Removes an avatar from the mutelist. +massim[!] [IM-textfile] [av-list] Sends IMs to avatars in given list. Use the ! to actually start the delivery, otherwise the command is executed in demo-mode. + +GROUPS: +masseject[!] [group] [avatar-list] Sends group-ejects to given avatars. Use the ! to actually start the delivery, otherwise the command is executed in demo-mode. +massinvite[!] [group] [avatar-list] Sends group-invites to avatars in given list. Use the ! to actually start the delivery, otherwise the command is executed in demo-mode. + +AGENT: +app Enables the Editing Appearance mode of the bot, stop with stop +busytext [text] Sets the Busy-Text for the Bot. + +INVENTORY: +detach [object-UUID] Detaches the object from Bot. You can determine the object-UUID with the commands wearables or ls. +massgive[!] [object-uuid] [avatar-list] Gives the given object to all avatars in list. Use the ! to actually start the delivery, otherwise the command is executed in demo-mode. + +PARCEL: +parcelflags [flag] Searches all sim-parcels for the given flag + +SYSTEM: +die [date/time] The bot exits at the given time. +autotranslate [fromlanguage] [tolanguage] +tip Shows random Tip of the Day. + +Maybe: +Auto-sit \ No newline at end of file diff --git a/convertbuttons.sh b/convertbuttons.sh new file mode 100755 index 0000000..0a072a7 --- /dev/null +++ b/convertbuttons.sh @@ -0,0 +1,2 @@ +#!/bin/bash +for i in *.bmp; do j=`basename "$i" .bmp`; convert -quality 90 -transparent 'rgb(237,28,36)' "$i" "${j}.png"; done diff --git a/mono-projects/.DS_Store b/mono-projects/.DS_Store new file mode 100644 index 0000000..c416a9f Binary files /dev/null and b/mono-projects/.DS_Store differ diff --git a/mono-projects/NatiBot/NatiBot.pidb b/mono-projects/NatiBot/NatiBot.pidb new file mode 100644 index 0000000..ea6ec8d Binary files /dev/null and b/mono-projects/NatiBot/NatiBot.pidb differ diff --git a/mono-projects/NatiBot/NatiBot.sln b/mono-projects/NatiBot/NatiBot.sln new file mode 100644 index 0000000..99544cd --- /dev/null +++ b/mono-projects/NatiBot/NatiBot.sln @@ -0,0 +1,104 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{9344bdbb-3e7f-41fc-a0dd-8665d75ee146}") = "Packages", "Packages.mdproj", "{5D8DC211-D6DD-4FFB-A046-D7321D28BF5D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clControls", "..\clControls\clControls.csproj", "{6471B205-BF40-4B0D-8166-96E97368E38F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net-mono", "..\..\log4net\src\log4net-mono.csproj", "{F6A02431-167E-4347-BC43-65532C31CDB7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmartIrc4net-mono", "..\..\SmartIRC4Net\VisualStudio\2008\SmartIrc4net-mono.csproj", "{19607F57-B521-4477-9DE0-F0D9B1A68BC7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpServer", "..\..\libomv\HttpServer\HttpServer.csproj", "{31E011D7-70C0-4DBD-A939-2FC7B0277BCD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverseTypes", "..\..\libomv\OpenMetaverseTypes\OpenMetaverseTypes.csproj", "{D6A7318D-0825-41C8-96FE-DE18E15F6913}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse.StructuredData", "..\..\libomv\OpenMetaverse.StructuredData\OpenMetaverse.StructuredData.csproj", "{00BE5C71-F138-44D3-86DE-D0F544C555C6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse.Http", "..\..\libomv\OpenMetaverse.Http\OpenMetaverse.Http.csproj", "{071B9856-FD44-4ABC-AC8F-C6D9B85358F8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse.Utilities", "..\..\libomv\OpenMetaverse.Utilities\OpenMetaverse.Utilities.csproj", "{30D9B840-2CDA-4778-8FD5-9718EAAC1812}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenMetaverse", "..\..\libomv\OpenMetaverse\OpenMetaverse.csproj", "{4D08F132-0F89-43E5-805B-B42B6AAFEAEE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NatiBot-mono", "..\..\SLBot\NatiBot-mono.csproj", "{9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clUtils", "..\..\clUtils\clUtils.csproj", "{6C115EF9-F48B-4606-9361-B09E337C9705}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {00BE5C71-F138-44D3-86DE-D0F544C555C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00BE5C71-F138-44D3-86DE-D0F544C555C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00BE5C71-F138-44D3-86DE-D0F544C555C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00BE5C71-F138-44D3-86DE-D0F544C555C6}.Release|Any CPU.Build.0 = Release|Any CPU + {071B9856-FD44-4ABC-AC8F-C6D9B85358F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {071B9856-FD44-4ABC-AC8F-C6D9B85358F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {071B9856-FD44-4ABC-AC8F-C6D9B85358F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {071B9856-FD44-4ABC-AC8F-C6D9B85358F8}.Release|Any CPU.Build.0 = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {19607F57-B521-4477-9DE0-F0D9B1A68BC7}.Release|Any CPU.Build.0 = Release|Any CPU + {30D9B840-2CDA-4778-8FD5-9718EAAC1812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30D9B840-2CDA-4778-8FD5-9718EAAC1812}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30D9B840-2CDA-4778-8FD5-9718EAAC1812}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30D9B840-2CDA-4778-8FD5-9718EAAC1812}.Release|Any CPU.Build.0 = Release|Any CPU + {31E011D7-70C0-4DBD-A939-2FC7B0277BCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {31E011D7-70C0-4DBD-A939-2FC7B0277BCD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {31E011D7-70C0-4DBD-A939-2FC7B0277BCD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {31E011D7-70C0-4DBD-A939-2FC7B0277BCD}.Release|Any CPU.Build.0 = Release|Any CPU + {4D08F132-0F89-43E5-805B-B42B6AAFEAEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4D08F132-0F89-43E5-805B-B42B6AAFEAEE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4D08F132-0F89-43E5-805B-B42B6AAFEAEE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4D08F132-0F89-43E5-805B-B42B6AAFEAEE}.Release|Any CPU.Build.0 = Release|Any CPU + {5D8DC211-D6DD-4FFB-A046-D7321D28BF5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5D8DC211-D6DD-4FFB-A046-D7321D28BF5D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6471B205-BF40-4B0D-8166-96E97368E38F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6471B205-BF40-4B0D-8166-96E97368E38F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6471B205-BF40-4B0D-8166-96E97368E38F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6471B205-BF40-4B0D-8166-96E97368E38F}.Release|Any CPU.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|x64.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|x64.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|x86.ActiveCfg = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Debug|x86.Build.0 = Debug|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|Any CPU.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|x64.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|x64.Build.0 = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|x86.ActiveCfg = Release|Any CPU + {6C115EF9-F48B-4606-9361-B09E337C9705}.Release|x86.Build.0 = Release|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x64.ActiveCfg = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x64.Build.0 = Debug|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x86.ActiveCfg = Debug|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Debug|x86.Build.0 = Debug|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|Any CPU.Build.0 = Release|Any CPU + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x64.ActiveCfg = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x64.Build.0 = Release|x64 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x86.ActiveCfg = Release|x86 + {9041A815-E5DA-4B00-945E-ADC7BD2ED7B9}.Release|x86.Build.0 = Release|x86 + {D6A7318D-0825-41C8-96FE-DE18E15F6913}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D6A7318D-0825-41C8-96FE-DE18E15F6913}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D6A7318D-0825-41C8-96FE-DE18E15F6913}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6A7318D-0825-41C8-96FE-DE18E15F6913}.Release|Any CPU.Build.0 = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6A02431-167E-4347-BC43-65532C31CDB7}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + StartupItem = Packages.mdproj + EndGlobalSection +EndGlobal diff --git a/mono-projects/NatiBot/NatiBot.userprefs b/mono-projects/NatiBot/NatiBot.userprefs new file mode 100644 index 0000000..7a58c9e --- /dev/null +++ b/mono-projects/NatiBot/NatiBot.userprefs @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mono-projects/NatiBot/Packages.mdproj b/mono-projects/NatiBot/Packages.mdproj new file mode 100644 index 0000000..9de612e --- /dev/null +++ b/mono-projects/NatiBot/Packages.mdproj @@ -0,0 +1,45 @@ + + + + PackagingProject + 8.0.50727 + 2.0 + {5D8DC211-D6DD-4FFB-A046-D7321D28BF5D} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mono-projects/clControls/clControls.csproj b/mono-projects/clControls/clControls.csproj new file mode 100644 index 0000000..c74bbf7 --- /dev/null +++ b/mono-projects/clControls/clControls.csproj @@ -0,0 +1,56 @@ + + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {6471B205-BF40-4B0D-8166-96E97368E38F} + Library + ..\..\clControls + clControls + + + true + full + false + ..\bin + DEBUG + prompt + 4 + + + none + false + bin\Release + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mono-projects/clControls/clControls.pidb b/mono-projects/clControls/clControls.pidb new file mode 100644 index 0000000..fda0e34 Binary files /dev/null and b/mono-projects/clControls/clControls.pidb differ diff --git a/natibot.postbuild b/natibot.postbuild new file mode 100644 index 0000000..a15c3b8 Binary files /dev/null and b/natibot.postbuild differ diff --git a/nsis/InstallHeader.bmp b/nsis/InstallHeader.bmp new file mode 100644 index 0000000..d29e398 Binary files /dev/null and b/nsis/InstallHeader.bmp differ diff --git a/nsis/InstallWelcome.bmp b/nsis/InstallWelcome.bmp new file mode 100644 index 0000000..b464bbc Binary files /dev/null and b/nsis/InstallWelcome.bmp differ diff --git a/nsis/installer.nsi b/nsis/installer.nsi new file mode 100644 index 0000000..e89e279 --- /dev/null +++ b/nsis/installer.nsi @@ -0,0 +1,129 @@ +; Script generated with the Venis Install Wizard + +; Define your application name +!define APPNAME "NatiBot" +!define APPNAMEANDVERSION "NatiBot 1.0" + +; Main Install settings +Name "${APPNAMEANDVERSION}" +InstallDir "$PROGRAMFILES\NatiBot" +InstallDirRegKey HKLM "Software\${APPNAME}" "" +OutFile "NatiBot 1.0.exe" + +; Use compression +SetCompressor /SOLID LZMA +SetCompressorDictSize 16 + +; Modern interface settings +!include "MUI2.nsh" + +!define MUI_ABORTWARNING +!define MUI_FINISHPAGE_RUN "$INSTDIR\NatiBot.exe" + +; MUI Settings +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "InstallHeader.bmp" ; optional +!define MUI_WELCOMEFINISHPAGE_BITMAP "InstallWelcome.bmp" + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "..\LICENSE.TXT" +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +; Set languages (first is default language) +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "Catalan" +!insertmacro MUI_LANGUAGE "Spanish" +!insertmacro MUI_RESERVEFILE_LANGDLL + +XPStyle on + +!define PRODUCT_MAJOR 1 +!define PRODUCT_MINOR 0 +!define PRODUCT_BUILD 325 +!define PRODUCT_NAME "NatiBot" +!define PRODUCT_VERSION "$PRODUCT_MAJOR.$PRODUCT_MINOR.$PRODUCT_BUILD" +!define PRODUCT_PUBLISHER "Claunia.com" +!define PRODUCT_WEB_SITE "http://www.natibot.com/" + +VIProductVersion "1.0.0.325" +VIAddVersionKey "ProductName" "NatiBot" +VIAddVersionKey "Comments" "" +VIAddVersionKey "CompanyName" "Claunia.com" +VIAddVersionKey "LegalTrademarks" "See License.txt for licensing terms" +VIAddVersionKey "LegalCopyright" " Claunia.com" +VIAddVersionKey "FileDescription" "NatiBot Installer" +VIAddVersionKey "FileVersion" "1.0.0" + +Section "NatiBot" Section1 + + ; Set Section properties + SetOverwrite ifnewer + + ; Set Section Files and Shortcuts + SetOutPath "$INSTDIR\" + File "..\bin\NatiBot.exe" + File "..\bin\openjpeg-dotnet.dll" + File "..\bin\openjpeg-dotnet-x86_64.dll" + CreateShortCut "$DESKTOP\NatiBot.lnk" "$INSTDIR\NatiBot.exe" + CreateDirectory "$SMPROGRAMS\Claunia.com\NatiBot" + CreateShortCut "$SMPROGRAMS\Claunia.com\NatiBot\NatiBot.lnk" "$INSTDIR\NatiBot.exe" + CreateShortCut "$SMPROGRAMS\Claunia.com\NatiBot\Uninstall.lnk" "$INSTDIR\uninstall.exe" + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + CreateShortCut "$SMPROGRAMS\Claunia.com\NatiBot\NatiBot Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" +SectionEnd + +Section -FinishSection + + WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe" + WriteUninstaller "$INSTDIR\uninstall.exe" + +SectionEnd + +; Modern install component descriptions +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${Section1} "" +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +;Uninstall section +Section Uninstall + + ;Remove from registry... + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" + DeleteRegKey HKLM "SOFTWARE\${APPNAME}" + + ; Delete self + Delete "$INSTDIR\uninstall.exe" + + ; Delete Shortcuts + Delete "$DESKTOP\NatiBot.lnk" + Delete "$SMPROGRAMS\Claunia.com\NatiBot\NatiBot.lnk" + Delete "$SMPROGRAMS\Claunia.com\NatiBot\Uninstall.lnk" + Delete "$SMPROGRAMS\Claunia.com\NatiBot\NatiBot Website.lnk" + + ; Clean up NatiBot + Delete "$INSTDIR\NatiBot.exe" + Delete "$INSTDIR\openjpeg-dotnet.dll" + Delete "$INSTDIR\openjpeg-dotnet-x86_64.dll" + + ; Remove remaining directories + RMDir "$SMPROGRAMS\claunia.com\NatiBot" + RMDir "$INSTDIR\" + +SectionEnd + +; On initialization +Function .onInit + + !insertmacro MUI_LANGDLL_DISPLAY + +FunctionEnd + +BrandingText "Claunia.com" + +; eof \ No newline at end of file diff --git a/packages/Linux/natibot b/packages/Linux/natibot new file mode 100644 index 0000000..bfbc8e9 --- /dev/null +++ b/packages/Linux/natibot @@ -0,0 +1,3 @@ +#!/bin/sh + +exec mono "./bin/NatiBot.exe" "$@" diff --git a/packages/Mac OS X/NatiBot.app/Contents/Info.plist b/packages/Mac OS X/NatiBot.app/Contents/Info.plist new file mode 100755 index 0000000..91c033a --- /dev/null +++ b/packages/Mac OS X/NatiBot.app/Contents/Info.plist @@ -0,0 +1,18 @@ + + + + + CFBundleIdentifier + NatiBot + CFBundleExecutable + NatiBot + CFBundleIconFile + NatiBot.icns + CFBundleGetInfoString + 1.0.0.325, Copyright © 2009-2010 Claunia.com. All rights reserved. + LSMinimumSystemVersion + 10.4 + CFBundleVersion + 1.0.0.325 + + diff --git a/packages/Mac OS X/NatiBot.app/Contents/MacOS/NatiBot b/packages/Mac OS X/NatiBot.app/Contents/MacOS/NatiBot new file mode 100755 index 0000000..e08ad1c --- /dev/null +++ b/packages/Mac OS X/NatiBot.app/Contents/MacOS/NatiBot @@ -0,0 +1,33 @@ +#!/bin/sh +# +# This is a stub script that allows .apps to be relocatable on OSX but still +# find the managed assembly. +# +# You should never have to edit this file directly as its generated by the +# bundle maker. +# + +# Edited by claunia to be used with NatiBot + +PWD=`pwd` +# Fetch the path relative to the launch point where this shell script exists. +APP_PATH=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+3] != "") { if (patharr[idx] != "/") {printf("%s/", patharr[idx]); idx++ }} }'` + +# Fetch the app name (its our own name) +APP_NAME=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+1] != "") {idx++} printf("%s", patharr[idx]); }'` +ASSEMBLY=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+1] != "") {idx++} printf("%s.exe", patharr[idx]); }'` + +echo $PWD >> /tmp/log.txt +echo $APP_PATH >> /tmp/log.txt +echo $APP_NAME >> /tmp/log.txt +echo $ASSEMBLY >> /tmp/log.txt + +export MONO_MWF_MAC_FORCE_X11=1 +export DYLD_LIBRARY_PATH=$PWD/$APP_PATH/Contents/Resources:$DYLD_LIBRARY_PATH + +cd "$APP_PATH/Contents/Resources" + +if [ ! -d "./bin" ]; then mkdir bin ; fi +if [ -f "./bin/$APP_NAME" ]; then rm -f "./bin/$APP_NAME" ; fi +ln -s `which mono` "./bin/$APP_NAME" +"./bin/$APP_NAME" "$ASSEMBLY" diff --git a/packages/Mac OS X/NatiBot.app/Contents/version.plist b/packages/Mac OS X/NatiBot.app/Contents/version.plist new file mode 100755 index 0000000..2fd0db6 --- /dev/null +++ b/packages/Mac OS X/NatiBot.app/Contents/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 1 + CFBundleShortVersionString + 1.0.0.325 + CFBundleVersion + 325 + ProjectName + NatiBot + SourceVersion + 325 + + diff --git a/packages/Mac OS X/NatiBot.pmdoc/01natibot-contents.xml b/packages/Mac OS X/NatiBot.pmdoc/01natibot-contents.xml new file mode 100644 index 0000000..bc1e5a7 --- /dev/null +++ b/packages/Mac OS X/NatiBot.pmdoc/01natibot-contents.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/Mac OS X/NatiBot.pmdoc/01natibot.xml b/packages/Mac OS X/NatiBot.pmdoc/01natibot.xml new file mode 100644 index 0000000..6725719 --- /dev/null +++ b/packages/Mac OS X/NatiBot.pmdoc/01natibot.xml @@ -0,0 +1 @@ +Claunia.com.natibot.NatiBot.pkg1.0NatiBot.app/ApplicationsinstallFrom.isAbsoluteTypeinstallToinstallFrom.isRelativeTypeinstallTo.isRelativeTypeinstallTo.isAbsoluteTypeversionparentidentifierrelocatablerequireAuthorizationextraFilesinstallTo.path/CVS$/\.svn$/\.cvsignore$/\.cvspass$/\.DS_Store$ \ No newline at end of file diff --git a/packages/Mac OS X/NatiBot.pmdoc/index.xml b/packages/Mac OS X/NatiBot.pmdoc/index.xml new file mode 100644 index 0000000..4cd28b1 --- /dev/null +++ b/packages/Mac OS X/NatiBot.pmdoc/index.xml @@ -0,0 +1,266 @@ +NatiBot/Users/claunia/Desktop/Development/NatiBot/packages/Mac OS X/NatiBot 1.0.mpkgClaunia.com/ApplicationsInstallerBackground.png mensaje).\ +* La ventana de objetos ha sido reescrita. Puede tomar mucho m\'e1s en aparecer por primera vez, pero se refresca casi instant\'e1neamente, ve los objetos nuevos instant\'e1neamente, es multiproceso, cambia al hacer TP y ve m\'e1s objetos y nombres.\ +* Las revisiones ahora se muestran como las de desarrollo para dar un mejor conocimiento del trabajo realizado.\ +* Los comandos findobjects, showeventdetails y searchevents ahora muestran su salida en un mensaje.\ +* Los comandos joingroup y key2name ahora tambi\'e9n soportan IDs de grupos.\ +* Los comandos moveto y turnto ahora tambi\'e9n funcionan indicando un avatar o un objeto en vez de coordenadas.\ +* Soporte para 35 nuevas GRIDs.\ +* Soporte para Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania y Prize Pyramid.\ +* Todos los comandos basados en anexos ahora soportan los anexos no oficiales introducidos por el cliente Emerald Viewer.}]]> message).\ +* Corrected fails of license check on timezones different than Europe/Madrid. Now works globally.\ +* dumpattachment command now uses avatar name as output folder.\ +* findobjects, showeventdetails and searchevents commands now returns output to instant message.\ +* import command now takes lot less time to work, and imports sculpts with mirror or inside-out properties correctly.\ +* joingroup and key2name commands now also work with group IDs.\ +* moveto and turnto commands now can also work using an avatar or object instead of just coordinates.\ +* priminfo command is enhanced to show a lot more of information.\ +* Renamed giveall command to pay.\ +* Renamed goto_landmark command to gotolm.\ +* Revisions are now shown as internal development ones to give a better knowledge of how much work has been employed.\ +* Rewrote objects window. It can take a lot longer to first appear, but refreshes almost instantly, sees new object instantly, is multithreaded, changes on tp and see more objects and names.\ +* sendtp command now also allows sending TP to other people.\ +* Support for 35 new GRIDs.\ +* Support for Lucky Advent, Lucky CupCake, Lucky Dip, Lucky Present, Lucky Santa, Midnight Mania and Prize Pyramid.\ +* version command now shows also simulator server version.\ +* who command now shows the viewer the avatar is using and the correct location when it is sit.\ +* You can now answer to script dialog boxes (the blue ones). A new window will be opened when an object sends one to the avatar.}]]>Not enough fast processorThis processor is not enough fast to run NatiBot./usr/bin/monoMono is required.NatiBot requires Mono Framework to work. You can download it at http://www.go-mono.com/mono-downloads/download.htmlWarningNatiBot may not work correctly in this system. Continue at your own.FailureNatiBot will not work on this system. Install will not continue. Update Mac OS X before installing NatiBot.01natibot.xmlextraFilesproperties.titleproperties.customizeOptiondescriptionproperties.anywhereDomainproperties.systemDomain \ No newline at end of file